git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 1/2] t/test-lib.sh: support Korn shell by converting GIT_EXIT_OK to GIT_EXIT_CODE

From
Jonathan Nieder <jrnieder@gmail.com>
Date
Oct 9, 2009, 19:28 UTC
Message-ID
<20091009192812.GA4122@progeny.tock>
In-Reply-To
<1eweIwf5YoFwmLPWwEFN69a2f-EUnj_kgiagVJoVQYfNQeLjlpm12U84RKxhzjh0NJv36SqO12lAX2c_x0WSgA@cipher.nrlssc.navy.mil>
Brandon Casey wrote:
Show 6 quoted lines
> So, rather than relying on the behavior of Bash in order to get the exit
> code from $? inside die(), change GIT_EXIT_OK into GIT_EXIT_CODE, and set
> it to the code that we want to exit with.  This allows the test suite to
> be run with the Korn shell.
> 
> Signed-off-by: Brandon Casey <casey@nrlssc.navy.mil>
Sounds like a good idea.  A few thoughts:
start_httpd() from lib-httpd.sh uses a similar pattern:
lib-httpd.sh:96:        trap 'code=$?; stop_httpd; (exit $code); die' EXIT

It is probably worth changing that, too, unless GIT_TEST_HTTPD would not work on these platforms for some other reason.

"GIT_EXIT_CODE=1; exit 1" sounds repetitive to my ear. It’s probably just me, but if not, it might be worth adding a function like

	expected_exit() {
		GIT_EXIT_CODE=$1
		exit "$1"
	}
I’m not sure.
> diff --git a/t/test-lib.sh b/t/test-lib.sh
> index f2ca536..64e793a 100644
> --- a/t/test-lib.sh
> +++ b/t/test-lib.sh
[...]
Show 14 quoted lines
> @@ -183,16 +183,16 @@ test_success=0
>  
>  die () {
>  	code=$?
> -	if test -n "$GIT_EXIT_OK"
> +	if test -n "$GIT_EXIT_CODE"
>  	then
> -		exit $code
> +		exit $GIT_EXIT_CODE
>  	else
>  		echo >&5 "FATAL: Unexpected exit with code $code"
>  		exit 1
>  	fi
>  }
$code can be removed now, right?
Jonathan
Previous: Brandon CaseyNext: Jonathan Nieder
Message 3 of 11 in “t/test-lib.sh: support Korn shell by converting GIT_EXIT_OK to GIT_EXIT_CODE”
  1. 1/2 t/test-lib.sh: support Korn shell by converting GIT_EXIT_OK to GIT_EXIT_CODEBrandon Casey, Oct 9, 2009
  2. 2/2 Makefile: use the native (Korn) shell on SunOS and IRIX/IRIX64Brandon Casey, Oct 9, 2009
  3. Jonathan NiederOct 9, 2009
  4. Jonathan NiederOct 9, 2009
  5. Junio C HamanoOct 9, 2009
  6. Brandon CaseyOct 9, 2009
  7. Junio C HamanoOct 10, 2009
  8. Clemens BuchacherOct 10, 2009
  9. Andreas SchwabOct 10, 2009
  10. Ben WaltonOct 10, 2009
  11. Jeff KingOct 10, 2009

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.