Test to check several add/removals of the same file in FsWatcher
Change-Id: Ia3b66873323131c936d04277635b8dd9b5160740
diff --git a/test/test-fs-watcher.cc b/test/test-fs-watcher.cc
index 10e7b95..92fb516 100644
--- a/test/test-fs-watcher.cc
+++ b/test/test-fs-watcher.cc
@@ -13,7 +13,7 @@
using namespace boost;
namespace fs = boost::filesystem;
-BOOST_AUTO_TEST_SUITE(FsWatcherTests)
+BOOST_AUTO_TEST_SUITE(TestFsWatcher)
void
onChange(set<string> &files, const fs::path &file)
@@ -173,7 +173,35 @@
BOOST_CHECK(files.find(filename) != files.end());
}
+ create_file(dir / "add-removal-check.txt", "add-removal-check");
+ usleep(1200000);
+ BOOST_CHECK (files.find("add-removal-check.txt") != files.end());
+ fs::remove (dir / "add-removal-check.txt");
+ usleep(1200000);
+ BOOST_CHECK (files.find("add-removal-check.txt") == files.end());
+
+ create_file(dir / "add-removal-check.txt", "add-removal-check");
+ usleep(1200000);
+ BOOST_CHECK (files.find("add-removal-check.txt") != files.end());
+
+ fs::remove (dir / "add-removal-check.txt");
+ usleep(1200000);
+ BOOST_CHECK (files.find("add-removal-check.txt") == files.end());
+
+ create_file(dir / "add-removal-check.txt", "add-removal-check");
+ usleep(1200000);
+ BOOST_CHECK (files.find("add-removal-check.txt") != files.end());
+
+ fs::remove (dir / "add-removal-check.txt");
+ usleep(1200000);
+ BOOST_CHECK (files.find("add-removal-check.txt") == files.end());
+
+ // cleanup
+ if (fs::exists(dir))
+ {
+ fs::remove_all(dir);
+ }
}
BOOST_AUTO_TEST_SUITE_END()