summaryrefslogtreecommitdiff
path: root/testsuite/find.tests (plain)
blob: 138236c81bc90e5710ecf8050cb1844c80ec891a
1#!/bin/sh
2
3# Copyright 2014 by Denys Vlasenko <vda.linux@googlemail.com>
4# Licensed under GPLv2, see file LICENSE in this source tree.
5
6. ./testing.sh
7
8# testing "description" "command" "result" "infile" "stdin"
9
10mkdir -p find.tempdir
11touch find.tempdir/testfile
12
13optional FEATURE_FIND_TYPE
14testing "find -type f" \
15 "cd find.tempdir && find -type f 2>&1" \
16 "./testfile\n" \
17 "" ""
18SKIP=
19optional FEATURE_FIND_EXEC
20testing "find -exec exitcode 1" \
21 "cd find.tempdir && find testfile -exec true {} \; 2>&1; echo \$?" \
22 "0\n" \
23 "" ""
24SKIP=
25optional FEATURE_FIND_EXEC_PLUS
26testing "find -exec exitcode 2" \
27 "cd find.tempdir && find testfile -exec true {} + 2>&1; echo \$?" \
28 "0\n" \
29 "" ""
30SKIP=
31# Surprisingly, "-exec false ;" results in exitcode 0! "-exec false +" is different!!!
32optional FEATURE_FIND_EXEC
33testing "find -exec exitcode 3" \
34 "cd find.tempdir && find testfile -exec false {} \; 2>&1; echo \$?" \
35 "0\n" \
36 "" ""
37SKIP=
38optional FEATURE_FIND_EXEC_PLUS
39testing "find -exec exitcode 4" \
40 "cd find.tempdir && find testfile -exec false {} + 2>&1; echo \$?" \
41 "1\n" \
42 "" ""
43SKIP=
44optional FEATURE_FIND_MAXDEPTH
45testing "find / -maxdepth 0 -name /" \
46 "find / -maxdepth 0 -name /" \
47 "/\n" \
48 "" ""
49testing "find // -maxdepth 0 -name /" \
50 "find // -maxdepth 0 -name /" \
51 "//\n" \
52 "" ""
53testing "find / -maxdepth 0 -name //" \
54 "find / -maxdepth 0 -name //" \
55 "" \
56 "" ""
57testing "find // -maxdepth 0 -name //" \
58 "find // -maxdepth 0 -name //" \
59 "" \
60 "" ""
61SKIP=
62
63testing "find ./// -name ." \
64 "find ./// -name ." \
65 ".///\n" \
66 "" ""
67testing "find ./// -name .///" \
68 "find ./// -name .///" \
69 "" \
70 "" ""
71
72# testing "description" "command" "result" "infile" "stdin"
73
74rm -rf find.tempdir
75
76exit $FAILCOUNT
77