aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2015-11-13 13:29:58 -0800
committerRob Landley <rob@landley.net>2015-11-19 10:16:19 -0600
commit0f3d8ee513d63282e72df37b97e35ff1a4e4d646 (patch)
tree0a413d497ae26824f1f8f387ef0dc8fa6cd7ee60 /tests
parent859854a1b96f9337316e3fe13dcfef0376cf5c54 (diff)
downloadtoybox-0f3d8ee513d63282e72df37b97e35ff1a4e4d646.tar.gz
Fix find -perm.
1) It read st_dev instead of st_mode. 2) It reversed the semantics of absolute vs minimal ('-' prefixed) tests. Add tests for these, and move the "unterminated -exec" test into the "Still fails" section because it's still dumping core for me.
Diffstat (limited to 'tests')
-rwxr-xr-xtests/find.test17
1 files changed, 14 insertions, 3 deletions
diff --git a/tests/find.test b/tests/find.test
index 4e856f42..2f17bf76 100755
--- a/tests/find.test
+++ b/tests/find.test
@@ -8,6 +8,11 @@ touch file
mkfifo fifo
ln -s fifo link
cd ..
+touch b
+
+mkdir perm
+touch perm/all-read-only
+chmod a=r perm/all-read-only
#testing "name" "command" "result" "infile" "stdin"
@@ -23,7 +28,7 @@ testing "find -type l -o -type d -type p" "find dir -type l -o -type d -type p"
"dir/link\n" "" ""
testing "find -type l ( -type d -o -type l )" \
"find dir -type l \( -type d -o -type l \)" "dir/link\n" "" ""
-testing "find extra parantheses" \
+testing "find extra parentheses" \
"find dir \( \( -type l \) \( -type d -o \( \( -type l \) \) \) \)" \
"dir/link\n" "" ""
testing "find ( -type p -o -type d ) -type p" \
@@ -49,11 +54,17 @@ testing "find -type f -user -exec" \
"find dir -type f -user $USER -exec ls {} \\;" "dir/file\n" "" ""
testing "find -type l -newer -exec" \
"find dir -type l -newer dir/file -exec ls {} \\;" "dir/link\n" "" ""
-testing "find unterminated -exec {}" \
- "find dir -type f -exec ls {}" "" "" ""
+testing "find -perm (exact success)" \
+ "find perm -type f -perm 0444" "perm/all-read-only\n" "" ""
+testing "find -perm (exact failure)" \
+ "find perm -type f -perm 0400" "" "" ""
+testing "find -perm (at least)" \
+ "find perm -type f -perm -0400" "perm/all-read-only\n" "" ""
# Still fails
+testing "find unterminated -exec {}" \
+ "find dir -type f -exec ls {}" "" "" ""
testing "find -exec {} +" \
"find dir -type f -exec ls {} +" "dir/file\n" "" ""