#!/bin/sh

# Copyright 2014 by Denys Vlasenko <vda.linux@googlemail.com>
# Licensed under GPLv2, see file LICENSE in this source tree.

. ./testing.sh

# testing "description" "command" "result" "infile" "stdin"

mkdir -p find.tempdir
touch find.tempdir/testfile

optional FEATURE_FIND_TYPE
testing "find -type f" \
	"cd find.tempdir && find -type f 2>&1" \
	"./testfile\n" \
	"" ""
SKIP=
optional FEATURE_FIND_EXEC
testing "find -exec exitcode 1" \
	"cd find.tempdir && find testfile -exec true {} \; 2>&1; echo \$?" \
	"0\n" \
	"" ""
SKIP=
optional FEATURE_FIND_EXEC_PLUS
testing "find -exec exitcode 2" \
	"cd find.tempdir && find testfile -exec true {} + 2>&1; echo \$?" \
	"0\n" \
	"" ""
SKIP=
# Surprisingly, "-exec false ;" results in exitcode 0! "-exec false +" is different!!!
optional FEATURE_FIND_EXEC
testing "find -exec exitcode 3" \
	"cd find.tempdir && find testfile -exec false {} \; 2>&1; echo \$?" \
	"0\n" \
	"" ""
SKIP=
optional FEATURE_FIND_EXEC_PLUS
testing "find -exec exitcode 4" \
	"cd find.tempdir && find testfile -exec false {} + 2>&1; echo \$?" \
	"1\n" \
	"" ""
SKIP=

# testing "description" "command" "result" "infile" "stdin"

rm -rf find.tempdir

exit $FAILCOUNT
