t/t0000-basic: make sure subtests also use TEST_SHELL_PATH
diff mbox series

Message ID 20200507010746.83418-1-carenas@gmail.com
State New
Headers show
Series
  • t/t0000-basic: make sure subtests also use TEST_SHELL_PATH
Related show

Commit Message

Carlo Marcelo Arenas Belón May 7, 2020, 1:07 a.m. UTC
3f824e91c8 (t/Makefile: introduce TEST_SHELL_PATH, 2017-12-08) allows for
setting a shell for running the tests, but the generated subtests weren't
updated.

Correct that and while at it update it to use write_script.

Signed-off-by: Carlo Marcelo Arenas Belón <carenas@gmail.com>
---
 t/t0000-basic.sh | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

Comments

Jeff King May 7, 2020, 11:39 a.m. UTC | #1
On Wed, May 06, 2020 at 06:07:46PM -0700, Carlo Marcelo Arenas Belón wrote:

> 3f824e91c8 (t/Makefile: introduce TEST_SHELL_PATH, 2017-12-08) allows for
> setting a shell for running the tests, but the generated subtests weren't
> updated.

Yeah, this makes sense. The primary benefit of $TEST_SHELL_PATH was to
get better support for special testing options (like using bash's
trace_fd with "-x"). But based on recent patches I guess you were
wanting to test the behavior of an unusual shell. And if we're testing
how the test framework runs, certainly using TEST_SHELL_PATH is the most
sensible thing.

-Peff

Patch
diff mbox series

diff --git a/t/t0000-basic.sh b/t/t0000-basic.sh
index 3e440c078d..272f75ce63 100755
--- a/t/t0000-basic.sh
+++ b/t/t0000-basic.sh
@@ -77,9 +77,7 @@  _run_sub_test_lib_test_common () {
 		# the sub-test.
 		sane_unset HARNESS_ACTIVE &&
 		cd "$name" &&
-		cat >"$name.sh" <<-EOF &&
-		#!$SHELL_PATH
-
+		write_script "$name.sh" "$TEST_SHELL_PATH" <<-EOF &&
 		test_description='$descr (run in sub test-lib)
 
 		This is run in a sub test-lib so that we do not get incorrect
@@ -94,7 +92,6 @@  _run_sub_test_lib_test_common () {
 		. "\$TEST_DIRECTORY"/test-lib.sh
 		EOF
 		cat >>"$name.sh" &&
-		chmod +x "$name.sh" &&
 		export TEST_DIRECTORY &&
 		TEST_OUTPUT_DIRECTORY=$(pwd) &&
 		export TEST_OUTPUT_DIRECTORY &&
@@ -102,7 +99,7 @@  _run_sub_test_lib_test_common () {
 		then
 			./"$name.sh" "$@" >out 2>err
 		else
-			!  ./"$name.sh" "$@" >out 2>err
+			! ./"$name.sh" "$@" >out 2>err
 		fi
 	)
 }