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