diff options
author | Thiago Farina <tfarina@chromium.org> | 2011-09-07 17:40:41 (GMT) |
---|---|---|
committer | Thiago Farina <tfarina@chromium.org> | 2011-09-07 17:40:41 (GMT) |
commit | cf519344cacdbda68550d455b9adc94b6b371924 (patch) | |
tree | cdbfe77e1978ef81844811c56f71b72108beda13 /src/ninja_test.cc | |
parent | e292718907a60c464dbe471ccdc7014731a4b6a2 (diff) | |
download | Ninja-cf519344cacdbda68550d455b9adc94b6b371924.zip Ninja-cf519344cacdbda68550d455b9adc94b6b371924.tar.gz Ninja-cf519344cacdbda68550d455b9adc94b6b371924.tar.bz2 |
Move DiskInterfaceTest into its own source file.
TEST=ninja_test --gtest_filter=DiskInterface*
Signed-off-by: Thiago Farina <tfarina@chromium.org>
Diffstat (limited to 'src/ninja_test.cc')
-rw-r--r-- | src/ninja_test.cc | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/src/ninja_test.cc b/src/ninja_test.cc index 2bdd08f..2ccc151 100644 --- a/src/ninja_test.cc +++ b/src/ninja_test.cc @@ -240,105 +240,3 @@ char* mkdtemp(char* name_template) { } #endif -class DiskInterfaceTest : public testing::Test { -public: - virtual void SetUp() { - // Because we do real disk accesses, we create a temp dir within - // the system temporary directory. - - // First change into the system temp dir and save it for cleanup. - start_dir_ = GetSystemTempDir(); - ASSERT_EQ(0, chdir(start_dir_.c_str())); - - // Then create and change into a temporary subdirectory of that. - temp_dir_name_ = MakeTempDir(); - ASSERT_FALSE(temp_dir_name_.empty()); - ASSERT_EQ(0, chdir(temp_dir_name_.c_str())); - } - - virtual void TearDown() { - // Move out of the directory we're about to clobber. - ASSERT_EQ(0, chdir(start_dir_.c_str())); -#ifdef _WIN32 - ASSERT_EQ(0, system(("rmdir /s /q " + temp_dir_name_).c_str())); -#else - ASSERT_EQ(0, system(("rm -rf " + temp_dir_name_).c_str())); -#endif - } - - string GetSystemTempDir() { -#ifdef _WIN32 - char buf[1024]; - if (!GetTempPath(sizeof(buf), buf)) - return ""; - return buf; -#else - const char* tempdir = getenv("TMPDIR"); - if (tempdir) - return tempdir; - return "/tmp"; -#endif - } - - string MakeTempDir() { - char name_template[] = "DiskInterfaceTest-XXXXXX"; - char* name = mkdtemp(name_template); - return name ? name : ""; - } - - string start_dir_; - string temp_dir_name_; - RealDiskInterface disk_; -}; - -TEST_F(DiskInterfaceTest, Stat) { - EXPECT_EQ(0, disk_.Stat("nosuchfile")); - -#ifdef _WIN32 - // TODO: find something that stat fails on for Windows. -#else - string too_long_name(512, 'x'); - EXPECT_EQ(-1, disk_.Stat(too_long_name)); -#endif - -#ifdef _WIN32 - ASSERT_EQ(0, system("cmd.exe /c echo hi > file")); -#else - ASSERT_EQ(0, system("touch file")); -#endif - EXPECT_GT(disk_.Stat("file"), 1); -} - -TEST_F(DiskInterfaceTest, ReadFile) { - string err; - EXPECT_EQ("", disk_.ReadFile("foobar", &err)); - EXPECT_EQ("", err); - - const char* kTestFile = "testfile"; - FILE* f = fopen(kTestFile, "wb"); - ASSERT_TRUE(f); - const char* kTestContent = "test content\nok"; - fprintf(f, "%s", kTestContent); - ASSERT_EQ(0, fclose(f)); - - EXPECT_EQ(kTestContent, disk_.ReadFile(kTestFile, &err)); - EXPECT_EQ("", err); -} - -TEST_F(DiskInterfaceTest, MakeDirs) { - EXPECT_TRUE(disk_.MakeDirs("path/with/double//slash/")); -} - -TEST_F(DiskInterfaceTest, RemoveFile) { - const char* kFileName = "file-to-remove"; -#ifdef _WIN32 - string cmd = "cmd /c echo hi > "; -#else - string cmd = "touch "; -#endif - cmd += kFileName; - ASSERT_EQ(0, system(cmd.c_str())); - EXPECT_EQ(0, disk_.RemoveFile(kFileName)); - EXPECT_EQ(1, disk_.RemoveFile(kFileName)); - EXPECT_EQ(1, disk_.RemoveFile("does not exist")); -} |