aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorKaren Arutyunov <karen@codesynthesis.com>2016-10-28 21:19:36 +0300
committerBoris Kolpackov <boris@codesynthesis.com>2016-11-04 09:26:36 +0200
commit134b6691cb57bb0089889faea2e4788bd450941e (patch)
tree4cf89997580054c9b13677689501a5f47b74e833 /tests
parentbd6ebe8c2ca359fb201b84d9004b650d943b4d51 (diff)
Add support for &dir/*** test path cleanup syntax
Diffstat (limited to 'tests')
-rw-r--r--tests/test/script/runner/cleanup.test100
1 files changed, 91 insertions, 9 deletions
diff --git a/tests/test/script/runner/cleanup.test b/tests/test/script/runner/cleanup.test
index 9a660d5..61a66b4 100644
--- a/tests/test/script/runner/cleanup.test
+++ b/tests/test/script/runner/cleanup.test
@@ -11,20 +11,102 @@ using test
EOI
b = $build.driver -q --no-column --buildfile - <"./: test{testscript}" \
- &test/ test
+ &test/*** test
c = cat >>>testscript
-$* -f a &a # file
-$* -d a &a/ # dir1
-$* -d a/b &a/ &a/b/ # dir2
-$* -d a/b -f a/b/c &a/ &a/b/ &a/b/c # file-dir
-$* -f a &a &a # file-dup
-$* -d a/b &a/ &a/b/ &a/b/../b/ # dir-dup
+# Valid cleanups.
+#
+# @@ TODO: $c <"$* -f a &a" && $b
+#
+: files
+:
+$c <"$* -f a &a";
+$b
+
+: dir1
+:
+$c <"$* -d a &a/";
+$b
+
+: dir2
+$c <"$* -d a/b &a/ &a/b/";
+$b
+
+: file-dir
+$c <"$* -d a/b -f a/b/c &a/ &a/b/ &a/b/c";
+$b
+
+: wildcard1
+$c <"$* -d a/b -f a/b/c &a/***";
+$b
+
+: wildcard2
+:
+$c <"$* &a/***";
+$b
+
+: file-dup
+$c <"$* -f a &a &a";
+$b
-# <test-id>
+: dir-dup
+$c <"$* -d a/b &a/ &a/b/ &a/b/../b/";
+$b
+
+# Invalid cleanups.
#
-# @@ TODO: $c <"$* &a/" && $b 2>>EOE
+: file-not-exists
+:
+$c <"$* &a";
+$b 2>>EOE != 0
+testscript:1: error: registered for cleanup file test/1/a does not exist
+EOE
+
+: dir-not-exists
+:
$c <"$* &a/";
$b 2>>EOE != 0
testscript:1: error: registered for cleanup directory test/1/a/ does not exist
EOE
+
+: dir-not-empty1
+:
+$c <"$* -d a/b -f a/b/c";
+$b 2>>EOE != 0
+testscript:1: error: registered for cleanup directory test/1/ is not empty
+EOE
+
+: dir-not-empty2
+:
+$c <"$* -d a/b &a/b/";
+$b 2>>EOE != 0
+testscript:1: error: registered for cleanup directory test/1/ is not empty
+EOE
+
+: dir-not-empty3
+:
+$c <"$* -d a/b &a/b/ &a/";
+$b 2>>EOE != 0
+testscript:1: error: registered for cleanup directory test/1/a/ is not empty
+EOE
+
+: dir-not-empty4
+:
+$c <"$* -f a &a/***";
+$b 2>>EOE != 0
+testscript:1: error: registered for cleanup directory test/1/ is not empty
+EOE
+
+: not-file
+:
+$c <"$* -d a &a";
+$b 2>>EOE != 0
+error: unable to remove file test/1/a: Is a directory
+EOE
+
+: not-dir1
+:
+$c <"$* -f a &a/";
+$b 2>>EOE != 0
+error: unable to remove directory test/1/a/: Not a directory
+EOE