summaryrefslogtreecommitdiffstats
path: root/src/test.cc
diff options
context:
space:
mode:
authorNicolas Despres <nicolas.despres@gmail.com>2011-05-02 14:46:31 (GMT)
committerNicolas Despres <nicolas.despres@gmail.com>2011-05-02 15:21:21 (GMT)
commit9412cb05008437b2ce534871ec86772b107ce23c (patch)
tree6f4c1eac7f0d6e4608d398b5f415b60c93a780e1 /src/test.cc
parent5113d8c29f2e165dabb05c5624055020704ba5fc (diff)
downloadNinja-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.cc9
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;
}
}