summaryrefslogtreecommitdiffstats
path: root/src/ninja_test.cc
diff options
context:
space:
mode:
authorThiago Farina <tfarina@chromium.org>2011-09-07 17:40:41 (GMT)
committerThiago Farina <tfarina@chromium.org>2011-09-07 17:40:41 (GMT)
commitcf519344cacdbda68550d455b9adc94b6b371924 (patch)
treecdbfe77e1978ef81844811c56f71b72108beda13 /src/ninja_test.cc
parente292718907a60c464dbe471ccdc7014731a4b6a2 (diff)
downloadNinja-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.cc102
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"));
-}