diff options
Diffstat (limited to 'src/libstrongswan/tests')
-rw-r--r-- | src/libstrongswan/tests/suites/test_process.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/libstrongswan/tests/suites/test_process.c b/src/libstrongswan/tests/suites/test_process.c index e41b01535..7092f0650 100644 --- a/src/libstrongswan/tests/suites/test_process.c +++ b/src/libstrongswan/tests/suites/test_process.c @@ -23,7 +23,13 @@ START_TEST(test_retval_true) { process_t *process; char *argv[] = { +#ifdef WIN32 + "C:\\Windows\\system32\\cmd.exe", + "/C", + "exit 0", +#else "/bin/true", +#endif NULL }; int retval; @@ -39,7 +45,13 @@ START_TEST(test_retval_false) { process_t *process; char *argv[] = { +#ifdef WIN32 + "C:\\Windows\\system32\\cmd.exe", + "/C", + "exit 1", +#else "/bin/false", +#endif NULL }; int retval; @@ -69,7 +81,11 @@ START_TEST(test_echo) { process_t *process; char *argv[] = { +#ifdef WIN32 + "C:\\Windows\\system32\\more.com", +#else "/bin/cat", +#endif NULL }; int retval, in, out; @@ -94,9 +110,15 @@ START_TEST(test_echo_err) { process_t *process; char *argv[] = { +#ifdef WIN32 + "C:\\Windows\\system32\\cmd.exe", + "/C", + "1>&2 C:\\Windows\\system32\\more.com", +#else "/bin/sh", "-c", "1>&2 /bin/cat", +#endif NULL }; int retval, in, err; @@ -121,9 +143,15 @@ START_TEST(test_env) { process_t *process; char *argv[] = { +#ifdef WIN32 + "C:\\Windows\\system32\\cmd.exe", + "/C", + "echo %A% %B%", +#else "/bin/sh", "-c", "echo -n $A $B", +#endif NULL }; char *envp[] = { @@ -137,7 +165,11 @@ START_TEST(test_env) process = process_start(argv, envp, NULL, &out, NULL, TRUE); ck_assert(process != NULL); ck_assert(read(out, buf, sizeof(buf)) > 0); +#ifdef WIN32 + ck_assert_str_eq(buf, "atest bstring\r\n"); +#else ck_assert_str_eq(buf, "atest bstring"); +#endif ck_assert(close(out) == 0); ck_assert(process->wait(process, &retval)); ck_assert_int_eq(retval, 0); |