add tests for reusing existing data in scanner
This commit is contained in:
parent
398fe8bf32
commit
2ed0e6e915
|
@ -119,7 +119,7 @@ class Scanner {
|
||||||
$reuse = ($recursive === self::SCAN_SHALLOW) ? self::REUSE_ETAG | self::REUSE_SIZE : 0;
|
$reuse = ($recursive === self::SCAN_SHALLOW) ? self::REUSE_ETAG | self::REUSE_SIZE : 0;
|
||||||
}
|
}
|
||||||
$this->scanFile($path, $reuse);
|
$this->scanFile($path, $reuse);
|
||||||
return $this->scanChildren($path, $recursive);
|
return $this->scanChildren($path, $recursive, $reuse);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -165,9 +165,7 @@ class Scanner {
|
||||||
$size += $childSize;
|
$size += $childSize;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ($size !== -1) {
|
$this->cache->put($path, array('size' => $size));
|
||||||
$this->cache->put($path, array('size' => $size));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return $size;
|
return $size;
|
||||||
}
|
}
|
||||||
|
|
|
@ -104,7 +104,7 @@ class Scanner extends \PHPUnit_Framework_TestCase {
|
||||||
$this->assertNotEquals($cachedDataFolder['size'], -1);
|
$this->assertNotEquals($cachedDataFolder['size'], -1);
|
||||||
}
|
}
|
||||||
|
|
||||||
function testBackgroundScan(){
|
function testBackgroundScan() {
|
||||||
$this->fillTestFolders();
|
$this->fillTestFolders();
|
||||||
$this->storage->mkdir('folder2');
|
$this->storage->mkdir('folder2');
|
||||||
$this->storage->file_put_contents('folder2/bar.txt', 'foobar');
|
$this->storage->file_put_contents('folder2/bar.txt', 'foobar');
|
||||||
|
@ -126,6 +126,24 @@ class Scanner extends \PHPUnit_Framework_TestCase {
|
||||||
$this->assertFalse($this->cache->getIncomplete());
|
$this->assertFalse($this->cache->getIncomplete());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testReuseExisting() {
|
||||||
|
$this->fillTestFolders();
|
||||||
|
|
||||||
|
$this->scanner->scan('');
|
||||||
|
$oldData = $this->cache->get('');
|
||||||
|
$this->storage->unlink('folder/bar.txt');
|
||||||
|
$this->scanner->scan('', \OC\Files\Cache\Scanner::SCAN_SHALLOW, \OC\Files\Cache\Scanner::REUSE_SIZE);
|
||||||
|
$newData = $this->cache->get('');
|
||||||
|
$this->assertNotEquals($oldData['etag'], $newData['etag']);
|
||||||
|
$this->assertEquals($oldData['size'], $newData['size']);
|
||||||
|
|
||||||
|
$oldData = $newData;
|
||||||
|
$this->scanner->scan('', \OC\Files\Cache\Scanner::SCAN_SHALLOW, \OC\Files\Cache\Scanner::REUSE_ETAG);
|
||||||
|
$newData = $this->cache->get('');
|
||||||
|
$this->assertEquals($oldData['etag'], $newData['etag']);
|
||||||
|
$this->assertEquals(-1, $newData['size']);
|
||||||
|
}
|
||||||
|
|
||||||
function setUp() {
|
function setUp() {
|
||||||
$this->storage = new \OC\Files\Storage\Temporary(array());
|
$this->storage = new \OC\Files\Storage\Temporary(array());
|
||||||
$this->scanner = new \OC\Files\Cache\Scanner($this->storage);
|
$this->scanner = new \OC\Files\Cache\Scanner($this->storage);
|
||||||
|
|
Loading…
Reference in New Issue