diff options
author | Florian Weimer <fweimer@redhat.com> | 2018-06-26 12:05:21 +0200 |
---|---|---|
committer | Florian Weimer <fweimer@redhat.com> | 2018-06-26 12:30:50 +0200 |
commit | 5c0202af4b3d588c04bcec7baf05706b21cd7416 (patch) | |
tree | b716158811f494de86285576f5708192045d79b8 | |
parent | c402355dfa7807b8e0adb27c009135a7e2b9f1b0 (diff) | |
download | glibc-5c0202af4b3d588c04bcec7baf05706b21cd7416.zip glibc-5c0202af4b3d588c04bcec7baf05706b21cd7416.tar.gz glibc-5c0202af4b3d588c04bcec7baf05706b21cd7416.tar.bz2 |
support: Add TEST_NO_SETVBUF
This is sometimes needed for testing stdio streams, where the
setvbuf call in the test driver could interfere with the test.
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | support/support_test_main.c | 3 | ||||
-rw-r--r-- | support/test-driver.c | 4 | ||||
-rw-r--r-- | support/test-driver.h | 1 |
4 files changed, 14 insertions, 1 deletions
@@ -1,5 +1,12 @@ 2018-06-26 Florian Weimer <fweimer@redhat.com> + * support/support_test_main.c (support_test_main): Only call + setvbuf if not disables. + * support/test-driver.c (main): Check TEST_NO_SETVBUF. + * support/test-driver.h (struct test_config): Add no_setvbuf member. + +2018-06-26 Florian Weimer <fweimer@redhat.com> + [BZ #23313] * libio/vtables.c (check_stdfiles_vtables): New ELF constructor. diff --git a/support/support_test_main.c b/support/support_test_main.c index 3963857..2342977 100644 --- a/support/support_test_main.c +++ b/support/support_test_main.c @@ -270,7 +270,8 @@ support_test_main (int argc, char **argv, const struct test_config *config) timeout = DEFAULT_TIMEOUT; /* Make sure we see all message, even those on stdout. */ - setvbuf (stdout, NULL, _IONBF, 0); + if (!config->no_setvbuf) + setvbuf (stdout, NULL, _IONBF, 0); /* Make sure temporary files are deleted. */ if (support_delete_temp_files != NULL) diff --git a/support/test-driver.c b/support/test-driver.c index 09c8783..9798f16 100644 --- a/support/test-driver.c +++ b/support/test-driver.c @@ -140,6 +140,10 @@ main (int argc, char **argv) test_config.no_mallopt = 1; #endif +#ifdef TEST_NO_SETVBUF + test_config.no_setvbuf = 1; +#endif + #ifdef TIMEOUT test_config.timeout = TIMEOUT; #endif diff --git a/support/test-driver.h b/support/test-driver.h index 1708d68..549179b 100644 --- a/support/test-driver.h +++ b/support/test-driver.h @@ -35,6 +35,7 @@ struct test_config int expected_status; /* Expected exit status. */ int expected_signal; /* If non-zero, expect termination by signal. */ char no_mallopt; /* Boolean flag to disable mallopt. */ + char no_setvbuf; /* Boolean flag to disable setvbuf. */ const char *optstring; /* Short command line options. */ }; |