aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorRobin Appelman <robin@icewind.nl>2019-11-06 12:05:46 +0100
committerRoeland Jago Douma <roeland@famdouma.nl>2019-11-26 12:05:30 +0100
commit74c6beb603f18d51d92730bb631bfe77d8feb400 (patch)
treed2c614c737aef1eb5daef05beb108aafa136f00b /tests
parent9e450d727a2374c218cdd62c1c97b5ad7ebf48a8 (diff)
downloadnextcloud-server-74c6beb603f18d51d92730bb631bfe77d8feb400.tar.gz
nextcloud-server-74c6beb603f18d51d92730bb631bfe77d8feb400.zip
dont set folder size to negative values during propagation
normally this shouldn't be a problem, but cache/storage desync might cause this so this adds some failsafe to ensure we dont corrupt the cache further the minimum value is set to -1 instead of 0 in order to triger a background scan on the folder and figure out the size properly Signed-off-by: Robin Appelman <robin@icewind.nl>
Diffstat (limited to 'tests')
-rw-r--r--tests/lib/Files/Cache/PropagatorTest.php11
1 files changed, 11 insertions, 0 deletions
diff --git a/tests/lib/Files/Cache/PropagatorTest.php b/tests/lib/Files/Cache/PropagatorTest.php
index 402b29c8c3e..bcd808a8402 100644
--- a/tests/lib/Files/Cache/PropagatorTest.php
+++ b/tests/lib/Files/Cache/PropagatorTest.php
@@ -81,6 +81,17 @@ class PropagatorTest extends TestCase {
}
}
+ public function testSizePropagationNoNegative() {
+ $paths = ['', 'foo', 'foo/bar'];
+ $oldInfos = $this->getFileInfos($paths);
+ $this->storage->getPropagator()->propagateChange('foo/bar/file.txt', time(), -100);
+ $newInfos = $this->getFileInfos($paths);
+
+ foreach ($oldInfos as $i => $oldInfo) {
+ $this->assertEquals(-1, $newInfos[$i]->getSize());
+ }
+ }
+
public function testBatchedPropagation() {
$this->storage->mkdir('foo/baz');
$this->storage->mkdir('asd');