diff options
author | Paul Osmialowski <p.osmialowsk@samsung.com> | 2015-04-29 16:55:39 +0200 |
---|---|---|
committer | Seung-Woo Kim <sw0312.kim@samsung.com> | 2016-12-14 13:48:49 +0900 |
commit | 631b4ca43273a2e84134f52109a939d82aa673cf (patch) | |
tree | ce45cea9fdbfbbf89c2649ce0b0e2a5574fca3e6 /tools | |
parent | 3f13d73624ec2c54a3fd16f85ea50252b20aa146 (diff) |
kdbus: TEST_CREATE_CONN now does no depend on TEST_CREATE_BUS
Without this patch, it is impossible to specify test case able to
connect to a bus already created (e.g. by 'test-daemon' test case), you can
only specify:
1) TEST_CREATE_BUS which creates new bus, or
2) TEST_CREATE_CONN OR'ed with TEST_CREATE_BUS which creates new bus and
creates connection to it.
This patch adds the missing ability to specify TEST_CREATE_CONN alone.
It will be used by a new test case (will be added by separate commit) which
is supposed to connect to already started test-daemon case.
Signed-off-by: Paul Osmialowski <p.osmialowsk@samsung.com>
Diffstat (limited to 'tools')
-rw-r--r-- | tools/testing/selftests/kdbus/kdbus-test.c | 21 | ||||
-rw-r--r-- | tools/testing/selftests/kdbus/kdbus-util.c | 18 |
2 files changed, 32 insertions, 7 deletions
diff --git a/tools/testing/selftests/kdbus/kdbus-test.c b/tools/testing/selftests/kdbus/kdbus-test.c index a43674ccdeb0..bf1a69c59365 100644 --- a/tools/testing/selftests/kdbus/kdbus-test.c +++ b/tools/testing/selftests/kdbus/kdbus-test.c @@ -317,6 +317,27 @@ static int test_prepare_env(const struct kdbus_test *t, } if (t->flags & TEST_CREATE_CONN) { + if (!env->buspath) { + char *s = NULL; + char *n = NULL; + int ret; + + if (!args->busname) { + n = unique_name("test-bus"); + ASSERT_RETURN(n); + } + + ret = kdbus_create_bus(-1, + args->busname ?: n, + 0, + 0, &s); + free(n); + ASSERT_RETURN(ret == 0); + + asprintf(&env->buspath, "%s/%s/bus", args->root, s); + free(s); + } + ASSERT_RETURN(env->buspath); env->conn = kdbus_hello(env->buspath, 0, NULL, 0); ASSERT_RETURN(env->conn); } diff --git a/tools/testing/selftests/kdbus/kdbus-util.c b/tools/testing/selftests/kdbus/kdbus-util.c index 4b376ecfdbed..0849f5ef81ff 100644 --- a/tools/testing/selftests/kdbus/kdbus-util.c +++ b/tools/testing/selftests/kdbus/kdbus-util.c @@ -141,7 +141,7 @@ int kdbus_create_bus(int control_fd, const char *name, char str[64]; } name; } bus_make; - int ret; + int ret = 0; memset(&bus_make, 0, sizeof(bus_make)); bus_make.bp.size = sizeof(bus_make.bp); @@ -171,13 +171,17 @@ int kdbus_create_bus(int control_fd, const char *name, bus_make.attach[1].size + bus_make.name.size; - kdbus_printf("Creating bus with name >%s< on control fd %d ...\n", - name, control_fd); + if (control_fd != -1) { + kdbus_printf( + "Creating bus with name >%s< on control fd %d ...\n", + name, control_fd); - ret = kdbus_cmd_bus_make(control_fd, &bus_make.cmd); - if (ret < 0) { - kdbus_printf("--- error when making bus: %d (%m)\n", ret); - return ret; + ret = kdbus_cmd_bus_make(control_fd, &bus_make.cmd); + if (ret < 0) { + kdbus_printf("--- error when making bus: %d (%m)\n", + ret); + return ret; + } } if (ret == 0 && path) |