aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Mathewson <nickm@torproject.org>2014-04-30 13:00:54 -0400
committerNick Mathewson <nickm@torproject.org>2014-06-14 11:40:28 -0400
commita5c092b34b1505051071e05a54353225dd6cba5e (patch)
tree064e2470203453d21b803955fc0d73e956e49e49
parente3833193af11dc4252e90565c3919889cc4130b3 (diff)
downloadtor-a5c092b34b1505051071e05a54353225dd6cba5e.tar
tor-a5c092b34b1505051071e05a54353225dd6cba5e.tar.gz
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.
-rw-r--r--src/test/test_util.c58
1 files 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()
*/