Merge branch 'sg/tests-prereq'
A lazily defined test prerequisite can now be defined in terms of another lazily defined test prerequisite. * sg/tests-prereq: tests: fix description of 'test_set_prereq' tests: make sure nested lazy prereqs work reliablymaint
commit
7bd645e21d
|
@ -840,6 +840,27 @@ then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
test_lazy_prereq NESTED_INNER '
|
||||||
|
>inner &&
|
||||||
|
rm -f outer
|
||||||
|
'
|
||||||
|
test_lazy_prereq NESTED_PREREQ '
|
||||||
|
>outer &&
|
||||||
|
test_have_prereq NESTED_INNER &&
|
||||||
|
echo "can create new file in cwd" >file &&
|
||||||
|
test -f outer &&
|
||||||
|
test ! -f inner
|
||||||
|
'
|
||||||
|
test_expect_success NESTED_PREREQ 'evaluating nested lazy prereqs dont interfere with each other' '
|
||||||
|
nestedworks=yes
|
||||||
|
'
|
||||||
|
|
||||||
|
if test -z "$GIT_TEST_FAIL_PREREQS_INTERNAL" && test "$nestedworks" != yes
|
||||||
|
then
|
||||||
|
say 'bug in test framework: nested lazy prerequisites do not work'
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
test_expect_success 'lazy prereqs do not turn off tracing' "
|
test_expect_success 'lazy prereqs do not turn off tracing' "
|
||||||
run_sub_test_lib_test lazy-prereq-and-tracing \
|
run_sub_test_lib_test lazy-prereq-and-tracing \
|
||||||
'lazy prereqs and -x' -v -x <<-\\EOF &&
|
'lazy prereqs and -x' -v -x <<-\\EOF &&
|
||||||
|
|
|
@ -423,7 +423,7 @@ write_script () {
|
||||||
# - Explicitly using test_have_prereq.
|
# - Explicitly using test_have_prereq.
|
||||||
#
|
#
|
||||||
# - Implicitly by specifying the prerequisite tag in the calls to
|
# - Implicitly by specifying the prerequisite tag in the calls to
|
||||||
# test_expect_{success,failure,code}.
|
# test_expect_{success,failure} and test_external{,_without_stderr}.
|
||||||
#
|
#
|
||||||
# The single parameter is the prerequisite tag (a simple word, in all
|
# The single parameter is the prerequisite tag (a simple word, in all
|
||||||
# capital letters by convention).
|
# capital letters by convention).
|
||||||
|
@ -474,15 +474,15 @@ test_lazy_prereq () {
|
||||||
|
|
||||||
test_run_lazy_prereq_ () {
|
test_run_lazy_prereq_ () {
|
||||||
script='
|
script='
|
||||||
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir" &&
|
mkdir -p "$TRASH_DIRECTORY/prereq-test-dir-'"$1"'" &&
|
||||||
(
|
(
|
||||||
cd "$TRASH_DIRECTORY/prereq-test-dir" &&'"$2"'
|
cd "$TRASH_DIRECTORY/prereq-test-dir-'"$1"'" &&'"$2"'
|
||||||
)'
|
)'
|
||||||
say >&3 "checking prerequisite: $1"
|
say >&3 "checking prerequisite: $1"
|
||||||
say >&3 "$script"
|
say >&3 "$script"
|
||||||
test_eval_ "$script"
|
test_eval_ "$script"
|
||||||
eval_ret=$?
|
eval_ret=$?
|
||||||
rm -rf "$TRASH_DIRECTORY/prereq-test-dir"
|
rm -rf "$TRASH_DIRECTORY/prereq-test-dir-$1"
|
||||||
if test "$eval_ret" = 0; then
|
if test "$eval_ret" = 0; then
|
||||||
say >&3 "prerequisite $1 ok"
|
say >&3 "prerequisite $1 ok"
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in New Issue