aboutsummaryrefslogtreecommitdiffstats
path: root/find_test.cc
diff options
context:
space:
mode:
Diffstat (limited to 'find_test.cc')
-rw-r--r--find_test.cc17
1 files changed, 17 insertions, 0 deletions
diff --git a/find_test.cc b/find_test.cc
index 10f865c..d7d44bd 100644
--- a/find_test.cc
+++ b/find_test.cc
@@ -107,6 +107,17 @@ void CompareFind(const string& cmd) {
}
}
+void ExpectParseFailure(const string& cmd) {
+ Run(cmd);
+
+ FindCommand fc;
+ if (fc.Parse(cmd)) {
+ fprintf(stderr, "Expected parse failure for `%s`\n", cmd.c_str());
+ fprintf(stderr, "------------------------------------------\n");
+ unit_test_failed = true;
+ }
+}
+
int FindUnitTests() {
Run("rm -rf out/find");
Run("mkdir -p out/find");
@@ -149,5 +160,11 @@ int FindUnitTests() {
CompareFind("find .//top");
+ CompareFind("find top -type f -name 'a*' -o -name \\*b");
+ CompareFind("find top \\! -name 'a*'");
+ CompareFind("find top \\( -name 'a*' \\)");
+
+ ExpectParseFailure("find top -name a\\*");
+
return unit_test_failed ? 1 : 0;
}