diff options
author | Nicolas Despres <nicolas.despres@gmail.com> | 2011-05-02 14:46:31 (GMT) |
---|---|---|
committer | Nicolas Despres <nicolas.despres@gmail.com> | 2011-05-02 15:21:21 (GMT) |
commit | 9412cb05008437b2ce534871ec86772b107ce23c (patch) | |
tree | 6f4c1eac7f0d6e4608d398b5f415b60c93a780e1 /src/test.cc | |
parent | 5113d8c29f2e165dabb05c5624055020704ba5fc (diff) | |
download | Ninja-9412cb05008437b2ce534871ec86772b107ce23c.zip Ninja-9412cb05008437b2ce534871ec86772b107ce23c.tar.gz Ninja-9412cb05008437b2ce534871ec86772b107ce23c.tar.bz2 |
Return non-zero status when errors occur.
Clean all was not returning non-zero when an error occur (like when
failing to remove a directory). This patch fix the problem and add a test
for it.
Diffstat (limited to 'src/test.cc')
-rw-r--r-- | src/test.cc | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/test.cc b/src/test.cc index 4dc2f47..719cec3 100644 --- a/src/test.cc +++ b/src/test.cc @@ -59,13 +59,16 @@ string VirtualFileSystem::ReadFile(const string& path, string* err) { return ""; } -bool VirtualFileSystem::RemoveFile(const string& path) { +int VirtualFileSystem::RemoveFile(const string& path) { + if (find(directories_made_.begin(), directories_made_.end(), path) + != directories_made_.end()) + return -1; FileMap::iterator i = files_.find(path); if (i != files_.end()) { files_.erase(i); files_removed_.insert(path); - return true; + return 0; } else { - return false; + return 1; } } |