#!/bin/bash

[ -f testing.sh ] && . testing.sh

mkdir dir
cd dir
touch file
mkfifo fifo
# fs timestamp granularity isn't always enough for -newer to tell, so wait
sleep .1
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"

# Testing operators

testing "-type l -a -type d -o -type p" \
	"find dir -type l -a -type d -o -type p" "dir/fifo\n" "" ""
testing "-type l -type d -o -type p" "find dir -type l -type d -o -type p" \
	"dir/fifo\n" "" ""
testing "-type l -o -type d -a -type p" \
	"find dir -type l -o -type d -a -type p" "dir/link\n" "" ""
testing "-type l -o -type d -type p" "find dir -type l -o -type d -type p" \
	"dir/link\n" "" ""
testing "-type l ( -type d -o -type l )" \
	"find dir -type l \( -type d -o -type l \)" "dir/link\n" "" ""
testing "extra parentheses" \
	"find dir \( \( -type l \) \( -type d -o \( \( -type l \) \) \) \)" \
	"dir/link\n" "" ""
testing "( -type p -o -type d ) -type p" \
	"find dir \( -type p -o -type d \) -type p" "dir/fifo\n" "" ""
testing "-type l -o -type d -type p -o -type f" \
	"find dir -type l -o -type d -type p -o -type f | sort" \
	"dir/file\ndir/link\n" "" ""
testing "-type l,f" \
	"find dir -type l,f | sort" "dir/file\ndir/link\n" "" ""

# Testing short-circuit evaluations

testing "-type f -a -print" \
	"find dir -type f -a -print" "dir/file\n" "" ""
testing "-print -o -print" \
	"find dir -type f -a \( -print -o -print \)" "dir/file\n" "" ""

# these were erroring or segfaulting:
# find -type f -user nobody -exec : \;
# find -type f -user nobody -exec : -exec : \;

# Testing previous failures

testing " " "cd perm; find" ".\n./all-read-only\n" "" ""
testing "-type f -user -exec" \
  "find dir -type f -user $USER -exec ls {} \\;" "dir/file\n" "" ""
testing "-type l -newer -exec" \
  "find dir -type l -newer dir/file -exec ls {} \\;" "dir/link\n" "" ""
testing "-exec true \\; -print" \
  "find dir/file -exec true \\; -print" "dir/file\n" "" ""
testing "-exec false \\; -print" \
  "find dir/file -exec false \\; -print" "" "" ""
testing "-perm (exact success)" \
  "find perm -type f -perm 0444" "perm/all-read-only\n" "" ""
testing "-perm (exact failure)" \
  "find perm -type f -perm 0400" "" "" ""
testing "-perm (min success)" \
  "find perm -type f -perm -0400" "perm/all-read-only\n" "" ""
testing "-perm (min failure)" \
  "find perm -type f -perm -0600" "" "" ""
testing "-perm (any success)" \
  "find perm -type f -perm -0444" "perm/all-read-only\n" "" ""
testing "-perm (any failure)" \
  "find perm -type f -perm -0222" "" "" ""

testing "unterminated -exec {}" \
  "find dir -type f -exec ls {} 2>/dev/null || echo bad" "bad\n" "" ""
testing "-exec {} +" \
  "find dir -type f -exec ls {} +" "dir/file\n" "" ""

# `find . -iname` was segfaulting
testing "-name file" "find dir -name file" "dir/file\n" "" ""
testing "-name FILE" "find dir -name FILE" "" "" ""

testing "-iname file" "find dir -iname FILE" "dir/file\n" "" ""
testing "-iname FILE" "find dir -iname FILE" "dir/file\n" "" ""


testing "-name (no arguments)" \
  "find dir -name 2>&1 | grep -o '[-]name'" "-name\n" "" ""
testing "-iname (no arguments)" \
  "find dir -iname 2>&1 | grep -o '[-]iname'" "-iname\n" "" ""

testing "" "find dir \( -iname file -o -iname missing \) -exec echo {} \;" \
  "dir/file\n" "" ""

testing "-path glob" "find dir -path 'dir*e'" "dir/file\n" "" ""
testing "-wholename glob" "find dir -wholename 'dir*e'" "dir/file\n" "" ""
testing "-ipath glob" "find dir -ipath 'dIr*E'" "dir/file\n" "" ""
testing "-iwholename glob" "find dir -iwholename 'dIr*E'" "dir/file\n" "" ""
testing "-printf" "find dir -name file -printf '%f %p %P %s'" \
  "file dir/file file 0" "" ""
testing "-printf .N" "find dir -name file -printf %.2f" "fi" "" ""
# findutils find supports C letter escapes and \0 octal, but not \x or \u.
testing "-printf escapes" \
  "find dir -name file -printf '\0 \007 \t \079' | xxd -p" \
  "0020072009200739\n" "" ""
# findutils find treats \c as "no more output from this -printf", not "no more
# output from find".
testing "-printf \\c escape" "find dir -name f* -printf 'x\cy'" "xx" "" ""

# No error message for a dangling link.
ln -s does-not-exist dir/dangler
testing "-L dangling symlink silent" \
  "LANG=C find -L dir -name file 2>&1" "dir/file\n" "" ""
rm -f dir/dangler

# An error for a symlink loop.
ln -s looper dir/looper
testing "-L symlink loop noisy" \
  "LANG=C find -L dir -name file 2>err ; grep -q dir/looper err || echo missing error" \
  "dir/file\n" "" ""
rm -f dir/looper err

testing "-false" "find dir -false" "" "" ""
testing "-true" "find dir/file -true" "dir/file\n" "" ""

testing "missing root error" \
  "LANG=C find -L dir/missing-root 2>err ; grep -q dir/missing-root err || echo missing error" \
  "" "" ""

testing "-path match root" "find dir/f* -path dir/file" "dir/file\n" "" ""
testing "-name match root" "find dir/f* -name file" "dir/file\n" "" ""

# https://github.com/landley/toybox/issues/69
ln -s nowhere broken
testing "-H broken" "find -H broken" "broken\n" "" ""
testing "-L broken" "find -L broken" "broken\n" "" ""

testing "one slash" 'find /etc/ -maxdepth 1 | grep /passwd\$' '/etc/passwd\n' \
  '' ''
testing 'empty arg' 'find "" dir -name file 2>/dev/null' 'dir/file\n' '' ''

rm -rf dir
