diff options
author | Paweł Szewczyk <p.szewczyk@samsung.com> | 2019-06-17 17:06:07 +0200 |
---|---|---|
committer | Paweł Szewczyk <p.szewczyk@samsung.com> | 2019-06-17 17:07:19 +0200 |
commit | 987bb9a9ab3f57f2695b7ed1423ea92ccc8a0c66 (patch) | |
tree | 814c6ba0066d7e640617d2a1a7872c310db7f33b | |
parent | 0c6c2eeb64f501bea35dff46885e5392c95a61e6 (diff) | |
download | activationd-987bb9a9ab3f57f2695b7ed1423ea92ccc8a0c66.tar.gz activationd-987bb9a9ab3f57f2695b7ed1423ea92ccc8a0c66.tar.bz2 activationd-987bb9a9ab3f57f2695b7ed1423ea92ccc8a0c66.zip |
tests: Add missing tests for API calls
Change-Id: Ib3f8dd2e9305e1b4384668447dad555b79590d7e
Signed-off-by: Paweł Szewczyk <p.szewczyk@samsung.com>
-rw-r--r-- | tests/unit_tests.c | 63 |
1 files changed, 55 insertions, 8 deletions
diff --git a/tests/unit_tests.c b/tests/unit_tests.c index 8f2799c..6af3d1d 100644 --- a/tests/unit_tests.c +++ b/tests/unit_tests.c @@ -1,12 +1,12 @@ #include "unit_control.h" #include <stdio.h> #include <assert.h> +#include <unistd.h> static const char *async_result = NULL; #define TEST_SERVICE "activationd-acceptance-test-s-p.service" - int test_unit_start() { return actd_start_unit(G_BUS_TYPE_SYSTEM, TEST_SERVICE); @@ -24,11 +24,20 @@ int test_unit_restart() void handler(GVariant *var, void *user_data, GError *err) { - g_variant_get(var, "(s)", &async_result); - g_main_loop_quit(user_data); + if (!var) { + printf("failed to handle async call: %s\n", err->message); + async_result = strdup(err->message); + g_main_loop_quit(user_data); + return; + } + + if (g_variant_check_format_string(var, "(s)", FALSE)) { + g_variant_get(var, "(s)", &async_result); + g_main_loop_quit(user_data); + } } -int test_async_action(int (*func)(GBusType bus_type, const char *unit, actd_unit_cb cb, void *user_data)) +int test_async_action(GBusType bus_type, int (*func)(GBusType bus_type, const char *unit, actd_unit_cb cb, void *user_data)) { assert(func); int ret; @@ -36,7 +45,7 @@ int test_async_action(int (*func)(GBusType bus_type, const char *unit, actd_unit loop = g_main_loop_new(NULL, FALSE); - ret = func(G_BUS_TYPE_SYSTEM, TEST_SERVICE, handler, loop); + ret = func(bus_type, TEST_SERVICE, handler, loop); if (ret < 0) return ret; @@ -54,17 +63,47 @@ int test_async_action(int (*func)(GBusType bus_type, const char *unit, actd_unit int test_unit_start_async() { - return test_async_action(actd_start_unit_async); + return test_async_action(G_BUS_TYPE_SYSTEM, actd_start_unit_async); } int test_unit_stop_async() { - return test_async_action(actd_stop_unit_async); + return test_async_action(G_BUS_TYPE_SYSTEM, actd_stop_unit_async); } int test_unit_restart_async() { - return test_async_action(actd_restart_unit_async); + return test_async_action(G_BUS_TYPE_SYSTEM, actd_restart_unit_async); +} + +int test_unit_start_session() +{ + return actd_start_unit(G_BUS_TYPE_SESSION, TEST_SERVICE); +} + +int test_unit_stop_session() +{ + return actd_stop_unit(G_BUS_TYPE_SESSION, TEST_SERVICE); +} + +int test_unit_restart_session() +{ + return actd_restart_unit(G_BUS_TYPE_SESSION, TEST_SERVICE); +} + +int test_unit_start_async_session() +{ + return test_async_action(G_BUS_TYPE_SESSION, actd_start_unit_async); +} + +int test_unit_stop_async_session() +{ + return test_async_action(G_BUS_TYPE_SESSION, actd_stop_unit_async); +} + +int test_unit_restart_async_session() +{ + return test_async_action(G_BUS_TYPE_SESSION, actd_restart_unit_async); } int main() @@ -82,6 +121,12 @@ int main() {"UnitStartAsync", test_unit_start_async}, {"UnitStopAsync", test_unit_stop_async}, {"UnitRestartAsync", test_unit_restart_async}, + {"UnitStartSession", test_unit_start_session}, + {"UnitStopSession", test_unit_stop_session}, + {"UnitRestartSession", test_unit_restart_session}, + {"UnitStartAsynSessionc", test_unit_start_async_session}, + {"UnitStopAsyncSession", test_unit_stop_async_session}, + {"UnitRestartAsynSessionc", test_unit_restart_async_session}, {NULL, NULL}, }; @@ -91,6 +136,8 @@ int main() printf("[FAILED] %s (ret = %d)\n", tests[i].id, ret); else printf("[OK] %s\n", tests[i].id); + + usleep(100000); } return 0; |