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
|
||||
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' "
|
||||
run_sub_test_lib_test lazy-prereq-and-tracing \
|
||||
'lazy prereqs and -x' -v -x <<-\\EOF &&
|
||||
|
|
|
@ -423,7 +423,7 @@ write_script () {
|
|||
# - Explicitly using test_have_prereq.
|
||||
#
|
||||
# - 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
|
||||
# capital letters by convention).
|
||||
|
@ -474,15 +474,15 @@ test_lazy_prereq () {
|
|||
|
||||
test_run_lazy_prereq_ () {
|
||||
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 "$script"
|
||||
test_eval_ "$script"
|
||||
eval_ret=$?
|
||||
rm -rf "$TRASH_DIRECTORY/prereq-test-dir"
|
||||
rm -rf "$TRASH_DIRECTORY/prereq-test-dir-$1"
|
||||
if test "$eval_ret" = 0; then
|
||||
say >&3 "prerequisite $1 ok"
|
||||
else
|
||||
|
|
Loading…
Reference in New Issue