From: Bernd Edlinger Date: Fri, 10 Jan 2025 18:58:46 +0000 (+0100) Subject: Fix test failure in 30-test_evp_pkey_provided.t X-Git-Tag: openssl-3.4.1~39 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3cee8239b7c529492aec46b53502fb98034b8c8b;p=thirdparty%2Fopenssl.git Fix test failure in 30-test_evp_pkey_provided.t In this test there is a random test output corruption. `make test TESTS=test_evp_pkey_provided V=1` has some random output, that can with a certain probability start a line with "ok" or so: # Setting up a OSSL_ENCODER context with passphrase # Testing with no encryption jLixONcRPi/m64CGie4KKKDuGeTjtYwfima3BNYCGlgbLGeK3yYxBfZb9JjviOJ4 # nHaNsRsONTAKyg== This happens because large random data is output to bio_out but some data remains buffered, and then test_note() is used to print some comments on the bio_err file. This causes output corruption that confuses the TAP parser. Fix that by flushing any pending output with test_flush_stdout() first. Fixes #23992 Reviewed-by: Saša Nedvědický Reviewed-by: Paul Dale Reviewed-by: Tomas Mraz (Merged from https://github.com/openssl/openssl/pull/26383) (cherry picked from commit c37f564bb8e25f825ff722642aaf735e8d74abb4) --- diff --git a/test/testutil/tests.c b/test/testutil/tests.c index 42afab1ada1..c9945325a23 100644 --- a/test/testutil/tests.c +++ b/test/testutil/tests.c @@ -145,6 +145,7 @@ void test_perror(const char *s) void test_note(const char *fmt, ...) { + test_flush_stdout(); if (fmt != NULL) { va_list ap;