test: back-port uv_loop_configure() test
Back-port the uv_loop_configure() test from commit 751ac48 from the v1.x
branch.
PR-URL: https://github.com/libuv/libuv/pull/165
Reviewed-By: Saúl Ibarra Corretgé <saghul@gmail.com>
This commit is contained in:
parent
b214fe66ef
commit
77e85b9f30
1
build.mk
1
build.mk
@ -91,6 +91,7 @@ TESTS= \
|
||||
test/test-ipc-send-recv.o \
|
||||
test/test-loop-handles.o \
|
||||
test/test-loop-stop.o \
|
||||
test/test-loop-configure.o \
|
||||
test/test-multiple-listen.o \
|
||||
test/test-mutexes.o \
|
||||
test/test-osx-select.o \
|
||||
|
||||
@ -24,6 +24,7 @@ TEST_DECLARE (callback_order)
|
||||
TEST_DECLARE (run_once)
|
||||
TEST_DECLARE (run_nowait)
|
||||
TEST_DECLARE (loop_stop)
|
||||
TEST_DECLARE (loop_configure)
|
||||
TEST_DECLARE (barrier_1)
|
||||
TEST_DECLARE (barrier_2)
|
||||
TEST_DECLARE (barrier_3)
|
||||
@ -250,6 +251,7 @@ TASK_LIST_START
|
||||
TEST_ENTRY (run_once)
|
||||
TEST_ENTRY (run_nowait)
|
||||
TEST_ENTRY (loop_stop)
|
||||
TEST_ENTRY (loop_configure)
|
||||
TEST_ENTRY (barrier_1)
|
||||
TEST_ENTRY (barrier_2)
|
||||
TEST_ENTRY (barrier_3)
|
||||
|
||||
40
test/test-loop-configure.c
Normal file
40
test/test-loop-configure.c
Normal file
@ -0,0 +1,40 @@
|
||||
/* Copyright (c) 2014, Ben Noordhuis <info@bnoordhuis.nl>
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
* copyright notice and this permission notice appear in all copies.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "uv.h"
|
||||
#include "task.h"
|
||||
|
||||
static void timer_cb(uv_timer_t* handle, int status) {
|
||||
uv_close((uv_handle_t*) handle, NULL);
|
||||
}
|
||||
|
||||
|
||||
TEST_IMPL(loop_configure) {
|
||||
uv_timer_t timer_handle;
|
||||
uv_loop_t* loop;
|
||||
|
||||
loop = uv_default_loop();
|
||||
#ifdef _WIN32
|
||||
ASSERT(UV_ENOSYS == uv_loop_configure(loop, UV_LOOP_BLOCK_SIGNAL, 0));
|
||||
#else
|
||||
ASSERT(0 == uv_loop_configure(loop, UV_LOOP_BLOCK_SIGNAL, SIGPROF));
|
||||
#endif
|
||||
ASSERT(0 == uv_timer_init(loop, &timer_handle));
|
||||
ASSERT(0 == uv_timer_start(&timer_handle, timer_cb, 10, 0));
|
||||
ASSERT(0 == uv_run(loop, UV_RUN_DEFAULT));
|
||||
|
||||
MAKE_VALGRIND_HAPPY();
|
||||
return 0;
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user