summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaweł Szewczyk <p.szewczyk@samsung.com>2019-06-17 17:06:07 +0200
committerPaweł Szewczyk <p.szewczyk@samsung.com>2019-06-17 17:07:19 +0200
commit987bb9a9ab3f57f2695b7ed1423ea92ccc8a0c66 (patch)
tree814c6ba0066d7e640617d2a1a7872c310db7f33b
parent0c6c2eeb64f501bea35dff46885e5392c95a61e6 (diff)
downloadactivationd-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.c63
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;