(root)/
findutils-4.9.0/
find/
testsuite/
find.gnu/
execdir-multiple.exp
# tests for -execdir ... \+

# Create 4 empty files in each of 6 directories.
# Also create a shell script in each of those 6 directories.
# Run a find command which runs the shell script for each empty file.
# Check to make sure that each file is mentioned exactly once, and that
# the command was run with the correct working directory.
#
# The output is a sequence of lines of this form:
#
# cwd ./basename
#
# cmd is the basename of the current directory at the time the command
# is run by -execidr.   ./basename is the name of the file that was matched
# (that is, it's the value passed in {}).

# $body is the body of a shell script we use for testing.
# It prints a series of lines of the form described above.
# One line is printed for each command-line argument.
set body {#! /bin/sh
set -e
here=`pwd`
d=`basename $here`

for arg;
do
  echo "$d" "$arg"
done | LC_ALL=C sort
}


if { [ safe_path ] } {
    global SKIP_OLD

    exec rm -rf tmp
    mkdir tmp

    # Put a copy of our shell script in each
    # directory, plus some files.
    foreach dir { a b c d e f } {
	mkdir "tmp/$dir"
	set script_name "tmp/$dir/runme"
	set f [open "$script_name" "w" 0700 ]
	puts $f "$body"
	close $f
	foreach item { one two three four } {
	    touch "tmp/$dir/$item"
	}
    }

    set SKIP_OLD 1
    find_start p {tmp -type f -empty -execdir sh ./runme  \{\} + } ""
    # We also repeat this test (with the same expected output) for the
    # non-multiple case (this detects Savannah bug #29949).
    find_start p {tmp -type f -empty -execdir sh ./runme  \{\} \; } ""
    set SKIP_OLD 0
    exec rm -rf tmp
}