Re: TAP output format in pg_regress

Andres Freund <andres@anarazel.de>

From: Andres Freund <andres@anarazel.de>
To: Daniel Gustafsson <daniel@yesql.se>
Cc: PostgreSQL Developers <pgsql-hackers@lists.postgresql.org>
Date: 2022-07-04T20:13:52Z
Lists: pgsql-hackers
Hi,

On 2022-06-29 21:50:45 +0200, Daniel Gustafsson wrote:
> @@ -279,8 +648,7 @@ stop_postmaster(void)
>  		r = system(buf);
>  		if (r != 0)
>  		{
> -			fprintf(stderr, _("\n%s: could not stop postmaster: exit code was %d\n"),
> -					progname, r);
> +			pg_log_error("could not stop postmaster: exit code was %d", r);
>  			_exit(2);			/* not exit(), that could be recursive */
>  		}

There's a lot of stuff like this. Perhaps worth doing separately? I'm not sure
I unerstand where you used bail and where not. I assume it's mostly arund use
uf _exit() vs exit()?


> +				test_status_ok(tests[i]);
>  
>  			if (statuses[i] != 0)
>  				log_child_failure(statuses[i]);
>  
>  			INSTR_TIME_SUBTRACT(stoptimes[i], starttimes[i]);
> -			status(_(" %8.0f ms"), INSTR_TIME_GET_MILLISEC(stoptimes[i]));
> +			runtime(tests[i], INSTR_TIME_GET_MILLISEC(stoptimes[i]));

Based on the discussion downthread, let's just always compute this and display
it even in the tap format?


Greetings,

Andres Freund



Commits

  1. pg_regress: Emit TAP compliant output

  2. Consider a failed process as a failed test in pg_regress

  3. Avoid reference to nonexistent array element in ExecInitAgg().