summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorPaul Osmialowski <p.osmialowsk@samsung.com>2015-04-29 16:55:39 +0200
committerSeung-Woo Kim <sw0312.kim@samsung.com>2016-12-14 13:48:49 +0900
commit631b4ca43273a2e84134f52109a939d82aa673cf (patch)
treece45cea9fdbfbbf89c2649ce0b0e2a5574fca3e6 /tools
parent3f13d73624ec2c54a3fd16f85ea50252b20aa146 (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.c21
-rw-r--r--tools/testing/selftests/kdbus/kdbus-util.c18
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)