From: kibak.yoon Date: Thu, 10 Aug 2017 11:21:03 +0000 (+0900) Subject: sensorctl: clean up testcases X-Git-Tag: accepted/tizen/4.0/unified/20170829.020123^2~2 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fsystem%2Fsensord.git;a=commitdiff_plain;h=096cf070533dd0de883b73df21a27ae82e7bbc7d sensorctl: clean up testcases Change-Id: I853f84296e788da1646483b3eb2197bd47e0229e Signed-off-by: kibak.yoon --- diff --git a/src/sensorctl/testcase/accelerometer.cpp b/src/sensorctl/testcase/sensor_accelerometer.cpp similarity index 60% rename from src/sensorctl/testcase/accelerometer.cpp rename to src/sensorctl/testcase/sensor_accelerometer.cpp index ed526c3..6f83619 100644 --- a/src/sensorctl/testcase/accelerometer.cpp +++ b/src/sensorctl/testcase/sensor_accelerometer.cpp @@ -24,7 +24,7 @@ #include "test_bench.h" #include "sensor_adapter.h" -static void basic_cb(sensor_t sensor, unsigned int event_type, sensor_data_t *data, void *user_data) +static void test_cb(sensor_t sensor, unsigned int event_type, sensor_data_t *data, void *user_data) { EXPECT_GT(data->timestamp, 0); EXPECT_NEAR(data->values[0], 0, 19.6); @@ -34,13 +34,16 @@ static void basic_cb(sensor_t sensor, unsigned int event_type, sensor_data_t *da mainloop::stop(); } -TESTCASE(accelerometer_basic, start_stop_p) +TESTCASE(accelerometer_test, start_stop_p) { bool ret; int handle; + if (!sensor_adapter::is_supported(ACCELEROMETER_SENSOR)) + return true; /* Not Supported */ + sensor_info info(ACCELEROMETER_SENSOR, 0, - 100, 1000, SENSOR_OPTION_ALWAYS_ON, basic_cb, NULL); + 100, 1000, SENSOR_OPTION_ALWAYS_ON, test_cb, NULL); ret = sensor_adapter::start(info, handle); ASSERT_TRUE(ret); @@ -58,12 +61,15 @@ static void get_data_cb(sensor_t sensor, unsigned int event_type, sensor_data_t mainloop::stop(); } -TESTCASE(accelerometer_basic, get_data_p) +TESTCASE(accelerometer_test, get_data_p) { bool ret; int handle; sensor_data_t data; + if (!sensor_adapter::is_supported(ACCELEROMETER_SENSOR)) + return true; /* Not Supported */ + sensor_info info(ACCELEROMETER_SENSOR, 0, 100, 1000, SENSOR_OPTION_ALWAYS_ON, get_data_cb, NULL); @@ -81,80 +87,40 @@ TESTCASE(accelerometer_basic, get_data_p) return true; } -static unsigned long long prev_prev_ts; -static unsigned long long prev_ts; +static unsigned long long time_first; +static unsigned long long time_last; static int event_count; -static void accel_regular_interval_cb(sensor_t sensor, unsigned int event_type, sensor_data_t *data, void *user_data) +static void accel_interval_100ms_cb(sensor_t sensor, unsigned int event_type, sensor_data_t *data, void *user_data) { - int prev_gap; - int current_gap; - if (prev_prev_ts == 0) { - prev_prev_ts = data->timestamp; + if (event_count == 0) { + time_first = data->timestamp; + event_count++; return; } - if (prev_ts == 0) { - prev_ts = data->timestamp; - return; - } - - prev_gap = prev_ts - prev_prev_ts; - current_gap = data->timestamp - prev_ts; - - EXPECT_NEAR(current_gap, prev_gap, 10000); - prev_prev_ts = prev_ts; - prev_ts = data->timestamp; - - if (event_count++ > 3) + if (event_count == 10) { + /* 100ms + 20ms(error) */ + EXPECT_LE((data->timestamp - time_first) / 10, 120000); mainloop::stop(); -} - -TESTCASE(accelerometer_interval, regular_interval_p) -{ - bool ret; - int handle; - prev_prev_ts = 0; - prev_ts = 0; - event_count = 0; - - sensor_info info(ACCELEROMETER_SENSOR, 0, - 100, 1000, SENSOR_OPTION_ALWAYS_ON, accel_regular_interval_cb, NULL); - - ret = sensor_adapter::start(info, handle); - ASSERT_TRUE(ret); - - mainloop::run(); - - ret = sensor_adapter::stop(info, handle); - ASSERT_TRUE(ret); - - return true; -} - -static void accel_interval_100ms_cb(sensor_t sensor, unsigned int event_type, sensor_data_t *data, void *user_data) -{ - if (prev_ts == 0) { - prev_ts = data->timestamp; return; } - /* 100ms + 20ms(error) */ - EXPECT_LE(data->timestamp - prev_ts, 120000); - prev_ts = data->timestamp; - - if (event_count++ > 3) - mainloop::stop(); + event_count++; } -TESTCASE(accelerometer_interval, 100ms_interval_p) +TESTCASE(accelscope_test, 100ms_interval_p) { bool ret; int handle; - prev_ts = 0; + time_first = 0; + time_last = 0; event_count = 0; + if (!sensor_adapter::is_supported(ACCELEROMETER_SENSOR)) + return true; /* Not Supported */ + sensor_info info(ACCELEROMETER_SENSOR, 0, 100, 1000, SENSOR_OPTION_ALWAYS_ON, accel_interval_100ms_cb, NULL); diff --git a/src/sensorctl/testcase/sensor_basic.cpp b/src/sensorctl/testcase/sensor_basic.cpp index cc56dec..ef6b139 100644 --- a/src/sensorctl/testcase/sensor_basic.cpp +++ b/src/sensorctl/testcase/sensor_basic.cpp @@ -18,6 +18,7 @@ */ #include +#include #include #include "log.h" @@ -25,19 +26,30 @@ #include "test_bench.h" #include "sensor_adapter.h" +/* exception list */ +#define SAMSUNG_PEDOMETER "http://samsung.com/sensor/healthinfo/pedometer/samsung_pedometer" + static void basic_cb(sensor_t sensor, unsigned int event_type, sensor_data_t *data, void *user_data) { EXPECT_GT(data->timestamp, 0); - //_N("[ DATA ] %f\n", data->values[0]); + _N(_WHT "[ DATA ] %f\n" _RST, data->values[0]); mainloop::stop(); } -TESTCASE(all_sensor_test, scenario_basic_p) +static bool skip_sensor(sensor_t sensor) +{ + const char *uri = sensord_get_uri(sensor); + + if (strncmp(uri, SAMSUNG_PEDOMETER, sizeof(SAMSUNG_PEDOMETER)) == 0) + return true; + + return false; +} + +TESTCASE(sensor_basic, all_sensor_p) { - int err; + int err, count, handle; bool ret; - int count; - int handle; sensor_t *sensors; sensor_type_t type; @@ -45,10 +57,12 @@ TESTCASE(all_sensor_test, scenario_basic_p) ASSERT_EQ(err, 0); for (int i = 0; i < count; ++i) { - sensord_get_type(sensors[i], &type); - /* TODO */ - _N("[ TYPE ] %s\n", "UNKNOWN_SENSOR"); + if (skip_sensor(sensors[i])) + continue; + + _W("[ SENSOR %d ] %s\n", i, sensord_get_uri(sensors[i])); + sensord_get_type(sensors[i], &type); sensor_info info(type, 0, 100, 1000, SENSOR_OPTION_ALWAYS_ON, basic_cb, NULL); ret = sensor_adapter::start(info, handle); @@ -64,101 +78,3 @@ TESTCASE(all_sensor_test, scenario_basic_p) return true; } - -typedef bool (*process_func_t)(const char *msg, int size, int count); - -static pid_t run_process(process_func_t func, const char *msg, int size, int count) -{ - pid_t pid = fork(); - if (pid < 0) - return -1; - - if (pid == 0) { - if (!func(msg, size, count)) - _E("Failed to run process\n"); - exit(0); - } - - return pid; -} - -static bool run_echo_command_test(const char *str, int size, int cout) -{ - bool ret = true; - int handle; - char buf[4096] = {'1', '1', '1', }; - - sensor_info info(ACCELEROMETER_SENSOR, 0, - 100, 1000, SENSOR_OPTION_ALWAYS_ON, basic_cb, NULL); - sensor_adapter::get_handle(info, handle); - - for (int i = 0; i < 1024; ++i) - ret &= sensor_adapter::set_attribute(handle, SENSOR_ATTR_ACCELEROMETER_INJECTION, buf, 4096); - ASSERT_TRUE(ret); - - return true; -} - -TESTCASE(echo_command_test, echo_command_p) -{ - pid_t pid; - - for (int i = 0; i < 100; ++i) { - pid = run_process(run_echo_command_test, NULL, 0, 0); - EXPECT_GE(pid, 0); - } - - pid = run_process(run_echo_command_test, NULL, 0, 0); - EXPECT_GE(pid, 0); - - ASSERT_TRUE(true); - - return true; -} - -#if 0 -TESTCASE(gyroscope_value_p) -{ - scenario_basic_p(GYROSCOPE_SENSOR); -} - -TESTCASE(gravitye_value_p) -{ - scenario_basic_p(GRAVITY_SENSOR); -} - -TESTCASE(linear_accel_value_p) -{ - scenario_basic_p(LINEAR_ACCEL_SENSOR); -} - -TESTCASE(proximity_value_p) -{ - scenario_basic_p(PROXIMITY_SENSOR); -} - -TESTCASE(pressure_value_p) -{ - scenario_basic_p(PRESSURE_SENSOR); -} - -TESTCASE(hrm_value_p) -{ - scenario_basic_p(HRM_SENSOR); -} - -TESTCASE(hrm_raw_value_p) -{ - scenario_basic_p(HRM_RAW_SENSOR); -} - -TESTCASE(hrm_led_green_value_p) -{ - scenario_basic_p(HRM_LED_GREEN_SENSOR); -} - -TESTCASE(wrist_up_value_p) -{ - scenario_basic_p(GESTURE_WRIST_UP_SENSOR); -} -#endif diff --git a/src/sensorctl/testcase/sensor_interval.cpp b/src/sensorctl/testcase/sensor_interval.cpp index 8318fd5..7a1e254 100644 --- a/src/sensorctl/testcase/sensor_interval.cpp +++ b/src/sensorctl/testcase/sensor_interval.cpp @@ -17,10 +17,100 @@ * */ +#include +#include + +#include "log.h" +#include "mainloop.h" #include "test_bench.h" +#include "sensor_adapter.h" -TESTCASE(sensor_interval, all_sensor_interval_10ms_p) +static void basic_cb(sensor_t sensor, unsigned int event_type, sensor_data_t *data, void *user_data) { - /* TODO: test 10ms interval */ + EXPECT_GT(data->timestamp, 0); + mainloop::stop(); +} + +TESTCASE(interval_test, 20ms_p) +{ + int err, count, handle; + bool ret; + sensor_t *sensors; + sensor_type_t type; + + err = sensord_get_sensors(ACCELEROMETER_SENSOR, &sensors, &count); + ASSERT_EQ(err, 0); + + for (int i = 0; i < count; ++i) { + sensord_get_type(sensors[i], &type); + sensor_info info(type, 0, 20, 1000, SENSOR_OPTION_ALWAYS_ON, basic_cb, NULL); + + ret = sensor_adapter::start(info, handle); + EXPECT_TRUE(ret); + + mainloop::run(); + + ret = sensor_adapter::stop(info, handle); + EXPECT_TRUE(ret); + } + + free(sensors); + + return true; +} + +TESTCASE(interval_test, 100ms_p) +{ + int err, count, handle; + bool ret; + sensor_t *sensors; + sensor_type_t type; + + err = sensord_get_sensors(ACCELEROMETER_SENSOR, &sensors, &count); + ASSERT_EQ(err, 0); + + for (int i = 0; i < count; ++i) { + sensord_get_type(sensors[i], &type); + sensor_info info(type, 0, 100, 1000, SENSOR_OPTION_ALWAYS_ON, basic_cb, NULL); + + ret = sensor_adapter::start(info, handle); + EXPECT_TRUE(ret); + + mainloop::run(); + + ret = sensor_adapter::stop(info, handle); + EXPECT_TRUE(ret); + } + + free(sensors); + + return true; +} + +TESTCASE(interval_test, 200ms_p) +{ + int err, count, handle; + bool ret; + sensor_t *sensors; + sensor_type_t type; + + err = sensord_get_sensors(ACCELEROMETER_SENSOR, &sensors, &count); + ASSERT_EQ(err, 0); + + for (int i = 0; i < count; ++i) { + sensord_get_type(sensors[i], &type); + sensor_info info(type, 0, 200, 1000, SENSOR_OPTION_ALWAYS_ON, basic_cb, NULL); + + ret = sensor_adapter::start(info, handle); + EXPECT_TRUE(ret); + + mainloop::run(); + + ret = sensor_adapter::stop(info, handle); + EXPECT_TRUE(ret); + } + + free(sensors); + return true; } diff --git a/src/sensorctl/testcase/unit_client.cpp b/src/sensorctl/testcase/sensor_listener.cpp similarity index 54% rename from src/sensorctl/testcase/unit_client.cpp rename to src/sensorctl/testcase/sensor_listener.cpp index 16c5f1d..f92d33a 100644 --- a/src/sensorctl/testcase/unit_client.cpp +++ b/src/sensorctl/testcase/sensor_listener.cpp @@ -30,13 +30,17 @@ #include "test_bench.h" static bool called = false; +static int count = 0; static void event_cb(sensor_t sensor, unsigned int event_type, sensor_data_t *data, void *user_data) { _I("[%llu] %f %f %f\n", data->timestamp, data->values[0], data->values[1], data->values[2]); + + if (count++ > 3) + mainloop::stop(); } -TESTCASE(sensor_api_get_default_sensor, get_sensor_p_1) +TESTCASE(sensor_listener, get_default_sensor_p_1) { int err; sensor_t sensor; @@ -47,7 +51,7 @@ TESTCASE(sensor_api_get_default_sensor, get_sensor_p_1) return true; } -TESTCASE(sensor_api_get_sensors, get_sensor_p_2) +TESTCASE(sensor_listener, get_sensors_p_1) { int err; int count; @@ -62,7 +66,7 @@ TESTCASE(sensor_api_get_sensors, get_sensor_p_2) return true; } -TESTCASE(sensor_api_connect, connect_p_1) +TESTCASE(sensor_listener, connect_p_1) { int err; int handle; @@ -80,7 +84,7 @@ TESTCASE(sensor_api_connect, connect_p_1) return true; } -TESTCASE(sensor_api_all, all_p_1) +TESTCASE(sensor_listener, all_api_p_1) { int err; bool ret; @@ -127,3 +131,95 @@ TESTCASE(sensor_api_all, all_p_1) return true; } + +TESTCASE(sensor_listener, bad_unregister_stop_order_p_1) +{ + int err; + bool ret; + int handle; + sensor_t sensor; + + called = false; + + err = sensord_get_default_sensor(ACCELEROMETER_SENSOR, &sensor); + ASSERT_EQ(err, 0); + + handle = sensord_connect(sensor); + ret = sensord_register_event(handle, 1, 100, 100, event_cb, NULL); + ret = sensord_start(handle, 0); + ret = sensord_change_event_interval(handle, 0, 100); + + mainloop::run(); + + /* [TEST] Unregister event before stop */ + ret = sensord_unregister_event(handle, 1); + ASSERT_TRUE(ret); + + ret = sensord_stop(handle); + ASSERT_TRUE(ret); + + ret = sensord_disconnect(handle); + ASSERT_TRUE(ret); + + return true; +} + +TESTCASE(sensor_listener, bad_disconnect_p_1) +{ + int err; + bool ret; + int handle; + sensor_t sensor; + + called = false; + + err = sensord_get_default_sensor(ACCELEROMETER_SENSOR, &sensor); + ASSERT_EQ(err, 0); + + handle = sensord_connect(sensor); + ret = sensord_register_event(handle, 1, 100, 100, event_cb, NULL); + ret = sensord_start(handle, 0); + ret = sensord_change_event_interval(handle, 0, 100); + + mainloop::run(); + + /* [TEST] Unregistering event is not called */ + + ret = sensord_stop(handle); + ASSERT_TRUE(ret); + + ret = sensord_disconnect(handle); + ASSERT_TRUE(ret); + + return true; +} + +TESTCASE(sensor_listener, bad_disconnect_p_2) +{ + int err; + bool ret; + int handle; + sensor_t sensor; + + called = false; + + err = sensord_get_default_sensor(ACCELEROMETER_SENSOR, &sensor); + ASSERT_EQ(err, 0); + + handle = sensord_connect(sensor); + ret = sensord_register_event(handle, 1, 100, 100, event_cb, NULL); + ret = sensord_start(handle, 0); + ret = sensord_change_event_interval(handle, 0, 100); + + mainloop::run(); + + ret = sensord_unregister_event(handle, 1); + ASSERT_TRUE(ret); + + /* [TEST] stopping sensor is not called */ + + ret = sensord_disconnect(handle); + ASSERT_TRUE(ret); + + return true; +} diff --git a/src/sensorctl/testcase/unit_provider.cpp b/src/sensorctl/testcase/sensor_provider.cpp similarity index 94% rename from src/sensorctl/testcase/unit_provider.cpp rename to src/sensorctl/testcase/sensor_provider.cpp index 0c61862..9c76c21 100644 --- a/src/sensorctl/testcase/unit_provider.cpp +++ b/src/sensorctl/testcase/sensor_provider.cpp @@ -36,9 +36,6 @@ static bool called = false; static void event_cb(sensor_t sensor, unsigned int event_type, sensor_data_t *data, void *user_data) { - if (test_option::full_log == false) { - while (true) {} - } _I("[%llu] %f %f %f\n", data->timestamp, data->values[0], data->values[1], data->values[2]); } @@ -107,7 +104,7 @@ static void removed_cb(const char *uri, void *user_data) mainloop::stop(); } -TESTCASE(sensor_api_provider_uri, provider_check_uri) +TESTCASE(sensor_provider, check_uri) { int err; sensord_provider_h provider; @@ -139,7 +136,27 @@ TESTCASE(sensor_api_provider_uri, provider_check_uri) } /* TODO: change it from manual test to auto-test */ -TESTCASE(sensor_api_provider_mysensor, provider_p_1) +TESTCASE(skip_sensor_provider, mysensor_added_removed_cb_p_1) +{ + int ret = sensord_add_sensor_added_cb(added_cb, NULL); + ASSERT_EQ(ret, 0); + ret = sensord_add_sensor_removed_cb(removed_cb, NULL); + ASSERT_EQ(ret, 0); + + add_mysensor(); + + mainloop::run(); + + ret = sensord_remove_sensor_added_cb(added_cb); + ASSERT_EQ(ret, 0); + ret = sensord_remove_sensor_removed_cb(removed_cb); + ASSERT_EQ(ret, 0); + + return true; +} + +/* TODO: change it from manual test to auto-test */ +TESTCASE(skip_sensor_provider, mysensor_p) { int err = 0; sensor_t sensor; @@ -181,7 +198,8 @@ TESTCASE(sensor_api_provider_mysensor, provider_p_1) return true; } -TESTCASE(sensor_api_listener_mysensor, listener_p_1) +/* TODO: change it from manual test to auto-test */ +TESTCASE(skip_sensor_provider, mysensor_with_listener_p_1) { int err; bool ret; @@ -219,23 +237,3 @@ TESTCASE(sensor_api_listener_mysensor, listener_p_1) return true; } -TESTCASE(sensor_api_provider_cb, mysensor_cb_p_1) -{ - int ret; - - ret = sensord_add_sensor_added_cb(added_cb, NULL); - ASSERT_EQ(ret, 0); - ret = sensord_add_sensor_removed_cb(removed_cb, NULL); - ASSERT_EQ(ret, 0); - - add_mysensor(); - - mainloop::run(); - - ret = sensord_remove_sensor_added_cb(added_cb); - ASSERT_EQ(ret, 0); - ret = sensord_remove_sensor_removed_cb(removed_cb); - ASSERT_EQ(ret, 0); - - return true; -} diff --git a/src/sensorctl/testcase/unit_ipc.cpp b/src/sensorctl/testcase/unit_ipc.cpp index d820707..799924a 100644 --- a/src/sensorctl/testcase/unit_ipc.cpp +++ b/src/sensorctl/testcase/unit_ipc.cpp @@ -102,7 +102,7 @@ public: }; /* IPC Client Sleep Test(4096Kb * 1024) */ -static bool run_ipc_client_sleep_10s(const char *str, int size, int count) +static bool run_ipc_client_sleep_1s(const char *str, int size, int count) { ipc_client client(TEST_PATH); test_client_handler_30_1M client_handler; @@ -355,9 +355,9 @@ static bool run_ipc_client(const char *str, int size, int count) } /** - * @brief Test 3 client + 1 client which sleeps 10 seconds + * @brief Test 3 client + 1 client which sleeps 1 seconds */ -TESTCASE(sensor_ipc_client_sleep_1s, sleep_1s_p) +TESTCASE(sensor_ipc, 3_client_with_1s_sleep_client_p) { pid_t pid = run_process(run_ipc_server_echo, NULL, 0, 0); EXPECT_GE(pid, 0); @@ -369,7 +369,7 @@ TESTCASE(sensor_ipc_client_sleep_1s, sleep_1s_p) EXPECT_GE(pid, 0); } - bool ret = run_ipc_client_sleep_10s(NULL, 0, 0); + bool ret = run_ipc_client_sleep_1s(NULL, 0, 0); ASSERT_TRUE(ret); SLEEP_1S; @@ -378,9 +378,9 @@ TESTCASE(sensor_ipc_client_sleep_1s, sleep_1s_p) } /** - * @brief Test 3 client + 1 client which has small recv buffer + * @brief Test 3 client + 1 client which has small recv buffer(2240) */ -TESTCASE(sensor_ipc_client_small_2240, ipc_client_small_2240_p) +TESTCASE(sensor_ipc, 3_client_with_small_buffer_client_p) { pid_t pid = run_process(run_ipc_server_echo, NULL, 0, 0); EXPECT_GE(pid, 0); @@ -403,7 +403,7 @@ TESTCASE(sensor_ipc_client_small_2240, ipc_client_small_2240_p) /** * @brief Test 30 ipc_client with 1M message */ -TESTCASE(sensor_ipc_30_client_1M, ipc_client_p_30_1M) +TESTCASE(sensor_ipc, 30_client_with_1M_message_p) { pid_t pid = run_process(run_ipc_server_echo, NULL, 0, 0); EXPECT_GE(pid, 0); @@ -426,7 +426,7 @@ TESTCASE(sensor_ipc_30_client_1M, ipc_client_p_30_1M) /** * @brief Test 2 channel of 1 client with message */ -TESTCASE(sensor_ipc_client_2_channel_message, 2_channel_message_p) +TESTCASE(sensor_ipc, 1_client_with_2_channel_message_p) { pid_t pid = run_process(run_ipc_server, NULL, 0, 0); EXPECT_GE(pid, 0); @@ -444,7 +444,7 @@ TESTCASE(sensor_ipc_client_2_channel_message, 2_channel_message_p) /** * @brief Test 2 channel of 1 client */ -TESTCASE(sensor_ipc_client_2_channel, 2_channel_p) +TESTCASE(sensor_ipc, 1_client_2_channel_simple_p) { pid_t pid = run_process(run_ipc_server, NULL, 0, 0); EXPECT_GE(pid, 0); @@ -462,7 +462,7 @@ TESTCASE(sensor_ipc_client_2_channel, 2_channel_p) /** * @brief Test 100 ipc_client */ -TESTCASE(sensor_ipc_100_client, ipc_client_p_100) +TESTCASE(sensor_ipc, 100_client_p) { pid_t pid = run_process(run_ipc_server, NULL, 0, 0); EXPECT_GE(pid, 0); @@ -485,7 +485,7 @@ TESTCASE(sensor_ipc_100_client, ipc_client_p_100) /** * @brief Test 2 ipc_client */ -TESTCASE(sensor_ipc_2_client, ipc_client_p_2) +TESTCASE(sensor_ipc, 2_client_p) { pid_t pid = run_process(run_ipc_server, NULL, 0, 0); EXPECT_GE(pid, 0); @@ -509,7 +509,7 @@ TESTCASE(sensor_ipc_2_client, ipc_client_p_2) * 2. send "TEST" message from client to server * 3. check that message in server handler */ -TESTCASE(sensor_ipc_client_0, ipc_client_p_0) +TESTCASE(sensor_ipc, server_client_basic_p) { pid_t pid = run_process(run_ipc_server, NULL, 0, 0); EXPECT_GE(pid, 0); diff --git a/src/sensorctl/testcase/unit_socket.cpp b/src/sensorctl/testcase/unit_socket.cpp index 261976f..1407cfc 100644 --- a/src/sensorctl/testcase/unit_socket.cpp +++ b/src/sensorctl/testcase/unit_socket.cpp @@ -27,11 +27,11 @@ #include "log.h" #include "test_bench.h" -using namespace ipc; - #define MAX_BUF_SIZE 4096 #define TEST_PATH "/run/.sensord_test.socket" +using namespace ipc; + typedef bool (*process_func_t)(const char *msg, int size, int count); static pid_t run_process(process_func_t func, const char *msg, int size, int count) @@ -67,7 +67,9 @@ static bool run_socket_echo_server(const char *msg, int size, int count) accept_sock.set_blocking_mode(true); accept_sock.bind(); accept_sock.listen(10); - accept_sock.accept(client_sock); + + while (!ret) + ret = accept_sock.accept(client_sock); /* receive message */ while (recv_count++ < count) { @@ -129,7 +131,6 @@ static bool run_socket_client(const char *msg, int size, int count) ASSERT_EQ(ret, 0); sock.close(); - return true; } @@ -140,7 +141,7 @@ static bool run_socket_client(const char *msg, int size, int count) * 3. check "TEST" message * @remarks we can test only regular socket, not systemd-based socket. */ -TESTCASE(sensor_ipc_socket, socket_p_0) +TESTCASE(ipc_socket, socket_simple_message_p) { const char *msg = "TEST"; int size = 4; @@ -162,7 +163,7 @@ TESTCASE(sensor_ipc_socket, socket_p_0) * 3. check total size * @remarks we can test only regular socket, not systemd-based socket. */ -TESTCASE(sensor_ipc_socket, socket_p_10) +TESTCASE(ipc_socket, socket_40K_message_p) { const char msg[MAX_BUF_SIZE] = {1, }; int size = MAX_BUF_SIZE; @@ -184,7 +185,7 @@ TESTCASE(sensor_ipc_socket, socket_p_10) * 3. check total size * @remarks we can test only regular socket, not systemd-based socket. */ -TESTCASE(sensor_ipc_socket, socket_p_1000) +TESTCASE(ipc_socket, socket_4M_message_p) { const char msg[MAX_BUF_SIZE] = {1, }; int size = MAX_BUF_SIZE;