From a5c092b34b1505051071e05a54353225dd6cba5e Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Wed, 30 Apr 2014 13:00:54 -0400 Subject: refactor win/nix handling for test_spawn_background*() Instead of having a #if ... for every function, just define TEST_CHILD to the right patch and EOL to the expected line terminator. --- src/test/test_util.c | 58 ++++++++++++++++++++++------------------------------ 1 file changed, 24 insertions(+), 34 deletions(-) diff --git a/src/test/test_util.c b/src/test/test_util.c index 029e88eb6..656b77b1a 100644 --- a/src/test/test_util.c +++ b/src/test/test_util.c @@ -2530,8 +2530,17 @@ test_util_fgets_eagain(void *ptr) } #endif +#ifndef BUILDDIR +#define BUILDDIR "." +#endif + #ifdef _WIN32 #define notify_pending_waitpid_callbacks() STMT_NIL +#define TEST_CHILD "test-child.exe" +#define EOL "\r\n" +#else +#define TEST_CHILD (BUILDDIR "/src/test/test-child") +#define EOL "\n" #endif /** Helper function for testing tor_spawn_background */ @@ -2617,15 +2626,9 @@ run_util_spawn_background(const char *argv[], const char *expected_out, static void test_util_spawn_background_ok(void *ptr) { -#ifdef _WIN32 - const char *argv[] = {"test-child.exe", "--test", NULL}; - const char *expected_out = "OUT\r\n--test\r\nSLEEPING\r\nDONE\r\n"; - const char *expected_err = "ERR\r\n"; -#else - const char *argv[] = {BUILDDIR "/src/test/test-child", "--test", NULL}; - const char *expected_out = "OUT\n--test\nSLEEPING\nDONE\n"; - const char *expected_err = "ERR\n"; -#endif + const char *argv[] = {TEST_CHILD, "--test", NULL}; + const char *expected_out = "OUT"EOL "--test"EOL "SLEEPING"EOL "DONE" EOL; + const char *expected_err = "ERR"EOL; (void)ptr; @@ -2637,9 +2640,6 @@ test_util_spawn_background_ok(void *ptr) static void test_util_spawn_background_fail(void *ptr) { -#ifndef BUILDDIR -#define BUILDDIR "." -#endif const char *argv[] = {BUILDDIR "/src/test/no-such-file", "--test", NULL}; const char *expected_err = ""; char expected_out[1024]; @@ -2676,30 +2676,21 @@ test_util_spawn_background_partial_read_impl(int exit_early) process_handle_t *process_handle=NULL; int status; char stdout_buf[100], stderr_buf[100]; -#ifdef _WIN32 - const char *argv[] = {"test-child.exe", "--test", NULL}; - const char *expected_out[] = { "OUT\r\n--test\r\nSLEEPING\r\n", - "DONE\r\n", - NULL }; - const char *expected_err = "ERR\r\n"; -#else - const char *argv[] = {BUILDDIR "/src/test/test-child", "--test", NULL}; - const char *expected_out[] = { "OUT\n--test\nSLEEPING\n", - "DONE\n", + + const char *argv[] = {TEST_CHILD, "--test", NULL}; + const char *expected_out[] = { "OUT" EOL "--test" EOL "SLEEPING" EOL, + "DONE" EOL, NULL }; - const char *expected_err = "ERR\n"; + const char *expected_err = "ERR" EOL; + +#ifndef _WIN32 int eof = 0; #endif int expected_out_ctr; - if (exit_early) { argv[1] = "--hang"; -#ifdef _WIN32 - expected_out[0] = "OUT\r\n--hang\r\nSLEEPING\r\n"; -#else - expected_out[0] = "OUT\n--hang\nSLEEPING\n"; -#endif + expected_out[0] = "OUT"EOL "--hang"EOL "SLEEPING" EOL; } /* Start the program */ @@ -2801,11 +2792,7 @@ test_util_spawn_background_waitpid_notify(void *arg) int status; int ms_timer; -#ifdef _WIN32 - const char *argv[] = {"test-child.exe", "--fast", NULL}; -#else - const char *argv[] = {BUILDDIR "/src/test/test-child", "--fast", NULL}; -#endif + const char *argv[] = {TEST_CHILD, "--fast", NULL}; (void) arg; @@ -2849,6 +2836,9 @@ test_util_spawn_background_waitpid_notify(void *arg) tor_process_handle_destroy(process_handle, 1); } +#undef TEST_CHILD +#undef EOL + /** * Test for format_hex_number_sigsafe() */ -- cgit v1.2.3