diff options
author | Evan Martin <martine@danga.com> | 2011-10-06 00:51:06 (GMT) |
---|---|---|
committer | Evan Martin <martine@danga.com> | 2011-10-06 00:51:06 (GMT) |
commit | e54d2b6c8bbb78b238160c7f31ae8515c15183d9 (patch) | |
tree | 2566a133dfda2675b55c896dbf22f95a7bbfced5 /src/util_test.cc | |
parent | 06ab305be33ff4899016c746ee8a3557291ebe09 (diff) | |
download | Ninja-e54d2b6c8bbb78b238160c7f31ae8515c15183d9.zip Ninja-e54d2b6c8bbb78b238160c7f31ae8515c15183d9.tar.gz Ninja-e54d2b6c8bbb78b238160c7f31ae8515c15183d9.tar.bz2 |
make CanonicalizePath report an error on empty path
Fixes part of issue 121, but the fix exposed a further issue.
Diffstat (limited to 'src/util_test.cc')
-rw-r--r-- | src/util_test.cc | 31 |
1 files changed, 19 insertions, 12 deletions
diff --git a/src/util_test.cc b/src/util_test.cc index 97a236f..8c3d023 100644 --- a/src/util_test.cc +++ b/src/util_test.cc @@ -17,52 +17,59 @@ #include "test.h" TEST(CanonicalizePath, PathSamples) { - std::string path = "foo.h"; - CanonicalizePath(&path); + string path; + string err; + + EXPECT_FALSE(CanonicalizePath(&path, &err)); + EXPECT_EQ("empty path", err); + + path = "foo.h"; err = ""; + EXPECT_TRUE(CanonicalizePath(&path, &err)); EXPECT_EQ("foo.h", path); path = "./foo.h"; - CanonicalizePath(&path); + EXPECT_TRUE(CanonicalizePath(&path, &err)); EXPECT_EQ("foo.h", path); path = "./foo/./bar.h"; - CanonicalizePath(&path); + EXPECT_TRUE(CanonicalizePath(&path, &err)); EXPECT_EQ("foo/bar.h", path); path = "./x/foo/../bar.h"; - CanonicalizePath(&path); + EXPECT_TRUE(CanonicalizePath(&path, &err)); EXPECT_EQ("x/bar.h", path); path = "./x/foo/../../bar.h"; - CanonicalizePath(&path); + EXPECT_TRUE(CanonicalizePath(&path, &err)); EXPECT_EQ("bar.h", path); path = "foo//bar"; - CanonicalizePath(&path); + EXPECT_TRUE(CanonicalizePath(&path, &err)); EXPECT_EQ("foo/bar", path); path = "foo//.//..///bar"; - CanonicalizePath(&path); + EXPECT_TRUE(CanonicalizePath(&path, &err)); EXPECT_EQ("bar", path); path = "./x/../foo/../../bar.h"; - CanonicalizePath(&path); + EXPECT_TRUE(CanonicalizePath(&path, &err)); EXPECT_EQ("../bar.h", path); } TEST(CanonicalizePath, UpDir) { std::string path, err; path = "../../foo/bar.h"; - CanonicalizePath(&path); + EXPECT_TRUE(CanonicalizePath(&path, &err)); EXPECT_EQ("../../foo/bar.h", path); path = "test/../../foo/bar.h"; - CanonicalizePath(&path); + EXPECT_TRUE(CanonicalizePath(&path, &err)); EXPECT_EQ("../foo/bar.h", path); } TEST(CanonicalizePath, AbsolutePath) { string path = "/usr/include/stdio.h"; - CanonicalizePath(&path); + string err; + EXPECT_TRUE(CanonicalizePath(&path, &err)); EXPECT_EQ("/usr/include/stdio.h", path); } |