diff options
Diffstat (limited to 'test/functional/fixtures')
-rw-r--r-- | test/functional/fixtures/CMakeLists.txt | 3 | ||||
-rw-r--r-- | test/functional/fixtures/streams-test.c | 33 |
2 files changed, 36 insertions, 0 deletions
diff --git a/test/functional/fixtures/CMakeLists.txt b/test/functional/fixtures/CMakeLists.txt index a7cd214b6b..dbcb157956 100644 --- a/test/functional/fixtures/CMakeLists.txt +++ b/test/functional/fixtures/CMakeLists.txt @@ -7,3 +7,6 @@ add_executable(printenv-test printenv-test.c) if(WIN32) set_target_properties(printenv-test PROPERTIES LINK_FLAGS -municode) endif() + +add_executable(streams-test streams-test.c) +target_link_libraries(streams-test ${LIBUV_LIBRARIES}) diff --git a/test/functional/fixtures/streams-test.c b/test/functional/fixtures/streams-test.c new file mode 100644 index 0000000000..56d475d7dc --- /dev/null +++ b/test/functional/fixtures/streams-test.c @@ -0,0 +1,33 @@ +/// Helper program to exit and keep stdout open (like "xclip -i -loops 1"). +#include <stdio.h> + +#include <uv.h> + +uv_loop_t *loop; +uv_process_t child_req; +uv_process_options_t options; + +int main(int argc, char **argv) +{ + loop = uv_default_loop(); + + char * args[3]; + args[0] = "sleep"; + args[1] = "10"; + args[2] = NULL; + + options.exit_cb = NULL; + options.file = "sleep"; + options.args = args; + options.flags = UV_PROCESS_DETACHED; + + int r; + if ((r = uv_spawn(loop, &child_req, &options))) { + fprintf(stderr, "%s\n", uv_strerror(r)); + return 1; + } + fprintf(stderr, "pid: %d\n", child_req.pid); + uv_unref((uv_handle_t *)&child_req); + + return uv_run(loop, UV_RUN_DEFAULT); +} |