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

github.com/nextcloud/desktop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthieu Gallien <matthieu.gallien@nextcloud.com>2022-10-27 19:00:10 +0300
committerMatthieu Gallien <matthieu_gallien@yahoo.fr>2022-11-07 20:33:13 +0300
commit783cefe3f1efee67a99fc5048d5ce5bc3d284509 (patch)
tree3d59e1f7464523e33543d9a064a153c5da3a741f
parentf8fc720fbb6aadce5e457567621d37eee26ab72b (diff)
new autotest to ensure that we delete folders despite blacklist errors
Signed-off-by: Matthieu Gallien <matthieu.gallien@nextcloud.com>
-rw-r--r--test/testsyncmove.cpp23
1 files changed, 23 insertions, 0 deletions
diff --git a/test/testsyncmove.cpp b/test/testsyncmove.cpp
index f1488c818..c8f5ac2d6 100644
--- a/test/testsyncmove.cpp
+++ b/test/testsyncmove.cpp
@@ -890,6 +890,29 @@ private slots:
QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState());
}
+ void testRenameParallelismWithBlacklist()
+ {
+ constexpr auto testFileName = "blackListFile";
+ FakeFolder fakeFolder{ FileInfo{} };
+ fakeFolder.remoteModifier().mkdir("A");
+ fakeFolder.remoteModifier().insert("A/file");
+
+ QVERIFY(fakeFolder.syncOnce());
+ QCOMPARE(fakeFolder.currentLocalState(), fakeFolder.currentRemoteState());
+
+ fakeFolder.remoteModifier().insert(testFileName);
+ fakeFolder.serverErrorPaths().append(testFileName, 500); // will be blacklisted
+ QVERIFY(!fakeFolder.syncOnce());
+
+ fakeFolder.remoteModifier().mkdir("B");
+ fakeFolder.remoteModifier().rename("A/file", "B/file");
+ fakeFolder.remoteModifier().remove("A");
+
+ QVERIFY(!fakeFolder.syncOnce());
+ auto folderA = fakeFolder.currentLocalState().find("A");
+ QCOMPARE(folderA, nullptr);
+ }
+
void testMovedWithError_data()
{
QTest::addColumn<Vfs::Mode>("vfsMode");