# $NetBSD: spec,v 1.2 2018/11/11 19:07:12 rillig Exp $ tmpdir=${TMPDIR:-/tmp}/pkgsrc-show-all rm -rf "$tmpdir" mkdir -p "$tmpdir" require_file() { if diff -u "$3" "$1" > /dev/null; then : else regress_fail "Expected files to be equal." diff -u "$3" "$1" || true fi } do_test() { $TEST_MAKE show-all-regress > "$tmpdir/show-all-regress.out" } check_result() { exit_status 0 cat <<'EOF' > "$tmpdir/expected" regress: pkg REGRESS_ENV.undefined # undefined pkg REGRESS_ENV.empty= # empty pkg REGRESS_ENV.space= # empty pkg REGRESS_ENV.value= \ *=all \ VAR1=value1 \ VAR2=`command \ backticks` \ execution \ via \ # end of REGRESS_ENV.value (sorted) pkg REGRESS_ARGS.undefined # undefined pkg REGRESS_ARGS.empty= # empty pkg REGRESS_ARGS.space= # empty pkg REGRESS_ARGS.value= \ VAR1=value1 \ VAR2=`command \ execution \ via \ backticks` \ *=all \ # end of REGRESS_ARGS.value pkg REGRESS.undefined # undefined pkg REGRESS.empty= # empty pkg REGRESS.space= # ends with space pkg REGRESS.value= All * kinds of `strange' \escape $characters pkg *= show-all-regress pkg **= asterisk EOF # The "*" variable is built-in into bmake and expands to the current # make target, which in this case is "show-all-regress". # The "**" variable ensures that show-all doesn't accidentally expand # filenames. # It's a bit strange that bmake doesn't handle the backticks command # as a single word. Luckily, this is a rare case. # # On the other hand, if it did, bmake would also have to handle # variable expansion and all the other syntactic difficulties from # parsing shell commands, and that would be just too much. require_file "$tmpdir/show-all-regress.out" --equals "$tmpdir/expected" }