1 #include <framework/utilities/FileSystem.h>
2 #include <framework/utilities/ScopeGuard.h>
3 #include <boost/filesystem.hpp>
5 #include <gtest/gtest.h>
13 namespace fs = boost::filesystem;
16 TEST(Utilities, TemporaryFile)
22 ASSERT_TRUE(temp.is_open());
23 ASSERT_TRUE(fs::exists(filename));
25 ASSERT_FALSE(fs::exists(filename));
33 ASSERT_TRUE(FileSystem::fileExists(filename));
34 ASSERT_FALSE(FileSystem::isDir(filename));
35 ASSERT_TRUE(FileSystem::fileDirExists(filename));
39 auto pwd = ScopeGuard::guardWorkingDirectory(
"/tmp");
40 std::string relname = fs::relative(filename,
"/tmp").string();
41 ASSERT_TRUE(FileSystem::fileExists(relname));
43 ASSERT_FALSE(FileSystem::fileExists(relname));
46 ASSERT_FALSE(FileSystem::fileExists(filename));
47 ASSERT_FALSE(FileSystem::isDir(filename));
48 ASSERT_TRUE(FileSystem::fileDirExists(filename));
50 ASSERT_TRUE(FileSystem::isDir(
"/"));
59 EXPECT_TRUE(lk.lock(0));
61 if (pid_t pid = fork()) {
65 EXPECT_TRUE(lk.lock(0));
67 waitpid(pid, &status, 0);
68 EXPECT_TRUE(WIFEXITED(status));
69 EXPECT_EQ(0, WEXITSTATUS(status));