Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/owncloud/client.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlivier Goffart <ogoffart@woboq.com>2018-10-18 14:10:18 +0300
committerOlivier Goffart <ogoffart@woboq.com>2018-10-18 14:22:29 +0300
commit2e16f654ea694c9e14cb569923327d0964682c77 (patch)
tree2eec6e601c9debb3c0034fa6d239fe222afc941f /test/testsyncengine.cpp
parente42b0bce4eadb99a1ba383dae5e86ae5741cc922 (diff)
parent7daf393c1c766a1a5a5b422f738ee3d27b005dac (diff)
Merge remote-tracking branch 'owncloud/master' into new_discovery_algo
Conflicts: src/csync/csync_update.cpp test/csync/csync_tests/check_csync_update.cpp
Diffstat (limited to 'test/testsyncengine.cpp')
-rw-r--r--test/testsyncengine.cpp31
1 files changed, 29 insertions, 2 deletions
diff --git a/test/testsyncengine.cpp b/test/testsyncengine.cpp
index 1c4dd7e02..91c2e046a 100644
--- a/test/testsyncengine.cpp
+++ b/test/testsyncengine.cpp
@@ -439,13 +439,13 @@ private slots:
// Produce an error based on upload size
int remoteQuota = 1000;
int n507 = 0, nPUT = 0;
- auto parent = new QObject;
+ QObject parent;
fakeFolder.setServerOverride([&](QNetworkAccessManager::Operation op, const QNetworkRequest &request, QIODevice *) -> QNetworkReply * {
if (op == QNetworkAccessManager::PutOperation) {
nPUT++;
if (request.rawHeader("OC-Total-Length").toInt() > remoteQuota) {
n507++;
- return new FakeErrorReply(op, request, parent, 507);
+ return new FakeErrorReply(op, request, &parent, 507);
}
}
return nullptr;
@@ -649,6 +649,33 @@ private slots:
QTextCodec::setCodecForLocale(utf8Locale);
#endif
}
+
+ // Aborting has had bugs when there are parallel upload jobs
+ void testUploadV1Multiabort()
+ {
+ FakeFolder fakeFolder{ FileInfo{} };
+ SyncOptions options;
+ options._initialChunkSize = 10;
+ options._maxChunkSize = 10;
+ options._minChunkSize = 10;
+ fakeFolder.syncEngine().setSyncOptions(options);
+
+ QObject parent;
+ int nPUT = 0;
+ fakeFolder.setServerOverride([&](QNetworkAccessManager::Operation op, const QNetworkRequest &request, QIODevice *) -> QNetworkReply * {
+ if (op == QNetworkAccessManager::PutOperation) {
+ ++nPUT;
+ return new FakeHangingReply(op, request, &parent);
+ }
+ return nullptr;
+ });
+
+ fakeFolder.localModifier().insert("file", 100, 'W');
+ QTimer::singleShot(100, &fakeFolder.syncEngine(), [&]() { fakeFolder.syncEngine().abort(); });
+ QVERIFY(!fakeFolder.syncOnce());
+
+ QCOMPARE(nPUT, 3);
+ }
};
QTEST_GUILESS_MAIN(TestSyncEngine)