1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
<?php
/* Copyright 2012-present Facebook, Inc.
* Licensed under the Apache License, Version 2.0 */
class rmrootTestCase extends WatchmanTestCase {
function testRemoveRoot() {
if (PHP_OS == 'Linux' && getenv('TRAVIS')) {
$this->assertSkipped('openvz and inotify unlinks == bad time');
}
$dir = new WatchmanDirectoryFixture();
$top = $dir->getPath();
$root = $top.DIRECTORY_SEPARATOR."root";
mkdir($root);
touch("$root/hello");
$this->watch($root);
$this->assertFileList($root, array('hello'));
w_rmdir_recursive($root);
$this->assertFileList($root, array());
$watches = $this->waitForWatchman(
array('watch-list'),
function ($list) use ($root) {
return !in_array($root, $list['roots']);
}
);
$this->assertEqual(
false,
in_array($root, $watches['roots']),
"watch deleted"
);
// Really need to ensure that we mkdir, otherwise the $dir fixture
// will throw when the scope unwinds
$this->waitFor(
function () use ($root) {
return @mkdir($root);
},
10,
"mkdir($root) to succeed"
);
touch("$root/hello");
$this->assertFileList($root, array());
}
}
|