diff options
author | Nico Weber <thakis@chromium.org> | 2014-06-15 21:42:42 (GMT) |
---|---|---|
committer | Nico Weber <thakis@chromium.org> | 2014-06-15 21:42:42 (GMT) |
commit | 4eb8309251c4839de25502a5390270b53d9706eb (patch) | |
tree | 29aa26c325dd1d635482f811fa6c4895c99a1e98 /src/disk_interface_test.cc | |
parent | 726afc8226a10cd6c5ce724a845ff5cd17169091 (diff) | |
download | Ninja-4eb8309251c4839de25502a5390270b53d9706eb.zip Ninja-4eb8309251c4839de25502a5390270b53d9706eb.tar.gz Ninja-4eb8309251c4839de25502a5390270b53d9706eb.tar.bz2 |
add some statcache tests
Diffstat (limited to 'src/disk_interface_test.cc')
-rw-r--r-- | src/disk_interface_test.cc | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/disk_interface_test.cc b/src/disk_interface_test.cc index 51a1d14..69fd1ab 100644 --- a/src/disk_interface_test.cc +++ b/src/disk_interface_test.cc @@ -76,6 +76,33 @@ TEST_F(DiskInterfaceTest, StatExistingFile) { EXPECT_GT(disk_.Stat("file"), 1); } +#ifdef _WIN32 +TEST_F(DiskInterfaceTest, StatCache) { + disk_.AllowStatCache(true); + + ASSERT_TRUE(Touch("file1")); + ASSERT_TRUE(Touch("fiLE2")); + ASSERT_TRUE(disk_.MakeDir("subdir")); + ASSERT_TRUE(Touch("subdir\\subfile1")); + ASSERT_TRUE(Touch("subdir\\SUBFILE2")); + ASSERT_TRUE(Touch("subdir\\SUBFILE3")); + + EXPECT_GT(disk_.Stat("FIle1"), 1); + EXPECT_GT(disk_.Stat("file1"), 1); + + EXPECT_GT(disk_.Stat("subdir/subfile2"), 1); + EXPECT_GT(disk_.Stat("sUbdir\\suBFile1"), 1); + + // Test error cases. + disk_.quiet_ = true; + string bad_path("cc:\\foo"); + EXPECT_EQ(-1, disk_.Stat(bad_path)); + EXPECT_EQ(-1, disk_.Stat(bad_path)); + EXPECT_EQ(0, disk_.Stat("nosuchfile")); + EXPECT_EQ(0, disk_.Stat("nosuchdir/nosuchfile")); +} +#endif + TEST_F(DiskInterfaceTest, ReadFile) { string err; EXPECT_EQ("", disk_.ReadFile("foobar", &err)); |