Andres Freund <and...@anarazel.de> writes: > But either way, it seems nicer to output the # inside a helper function?
Note that the helper function should inject '# ' at the start of every line in the message, not just the first line. It might also be worth having two separate functions: one that prints to stdout, so is only shown by the harness is in verbose mode, and another which prints to stderr, so is always shown. Perl's Test::More calls these note() and diag(), respectively. >> + /* >> + * In order for this information (or any error information) to be shown >> + * when running pg_regress test suites under prove it needs to be >> emitted >> + * stderr instead of stdout. >> + */ >> if (file_size(difffilename) > 0) >> { >> - printf(_("The differences that caused some tests to fail can be >> viewed in the\n" >> - "file \"%s\". A copy of the test summary that >> you see\n" >> - "above is saved in the file \"%s\".\n\n"), >> + status(_("\n# The differences that caused some tests to fail >> can be viewed in the\n" >> + "# file \"%s\". A copy of the test summary >> that you see\n" >> + "# above is saved in the file \"%s\".\n\n"), >> difffilename, logfilename); > > The comment about needing to print to stderr is correct - but the patch > doesn't do so (anymore)? > > The count of failed tests also should go to stderr (but not the report of all > tests having passed). > > bail() probably also ought to print the error to stderr, so the most important > detail is immediately visible when looking at the failed test result. Agreed on all three points. > Greetings, > > Andres Freund - ilmari