Fix TestSyncEngine::abortAfterFailedMkdir (again)
authorJocelyn Turcotte <jturcotte@woboq.com>
Wed, 8 Feb 2017 16:31:13 +0000 (17:31 +0100)
committerJocelyn Turcotte <jturcotte@woboq.com>
Thu, 23 Feb 2017 16:54:33 +0000 (17:54 +0100)
It could be possible that _firstJob is marked as finished if
aborted before its parent PropagateDirectory was marked as finished,
allowing a posted scheduleNextJob call to schedule the child job
in-between.

src/libsync/owncloudpropagator.h
test/testsyncengine.cpp

index ef5db3b1e72a1bef1139a743a99223cc2f0d68f0..5a3763d4939890683f36d5a8a8abc62e2e5c7282 100644 (file)
@@ -227,7 +227,7 @@ public:
 private slots:
     bool possiblyRunNextJob(PropagatorJob *next) {
         if (next->_state == NotYetStarted) {
-            connect(next, SIGNAL(finished(SyncFileItem::Status)), this, SLOT(slotSubJobFinished(SyncFileItem::Status)), Qt::QueuedConnection);
+            connect(next, SIGNAL(finished(SyncFileItem::Status)), this, SLOT(slotSubJobFinished(SyncFileItem::Status)));
             connect(next, SIGNAL(itemCompleted(const SyncFileItemPtr &)), this, SIGNAL(itemCompleted(const SyncFileItemPtr &)));
             connect(next, SIGNAL(progress(const SyncFileItem &,quint64)), this, SIGNAL(progress(const SyncFileItem &,quint64)));
             connect(next, SIGNAL(ready()), this, SIGNAL(ready()));
index ae5296ea1e48de55805b0d7eb75a0cfe6e9a96df..31f15df8e9629f9311e4e51b04534847a41600f7 100644 (file)
@@ -214,7 +214,6 @@ private slots:
     }
 
     void abortAfterFailedMkdir() {
-        QSKIP("Skip for 2.3");
         FakeFolder fakeFolder{FileInfo{}};
         QSignalSpy finishedSpy(&fakeFolder.syncEngine(), SIGNAL(finished(bool)));
         fakeFolder.serverErrorPaths().append("NewFolder");