[PATCH weston v2 4/6] tests: load ivi-shell test plugins as weston module

Emre Ucan eucan at de.adit-jv.com
Thu Jan 25 13:36:13 UTC 2018


It is better to load ivi controller modules as a
generic weston module. Then, we do not need to
have a specific ivi way of loading modules.

Signed-off-by: Emre Ucan <eucan at de.adit-jv.com>
---
 tests/ivi_layout-internal-test.c | 21 ++++++++-------------
 tests/ivi_layout-test-plugin.c   | 20 +++++++-------------
 tests/weston-tests-env           |  3 +--
 3 files changed, 16 insertions(+), 28 deletions(-)

diff --git a/tests/ivi_layout-internal-test.c b/tests/ivi_layout-internal-test.c
index 4d73eff..1054d97 100644
--- a/tests/ivi_layout-internal-test.c
+++ b/tests/ivi_layout-internal-test.c
@@ -33,6 +33,7 @@
 #include <stdint.h>
 
 #include "compositor.h"
+#include "compositor/weston.h"
 #include "ivi-shell/ivi-layout-export.h"
 #include "ivi-shell/ivi-layout-private.h"
 #include "ivi-test.h"
@@ -991,24 +992,18 @@ run_internal_tests(void *data)
 	free(ctx);
 }
 
-int
-controller_module_init(struct weston_compositor *compositor,
-		       int *argc, char *argv[],
-		       const struct ivi_layout_interface *iface,
-		       size_t iface_version);
-
 WL_EXPORT int
-controller_module_init(struct weston_compositor *compositor,
-		       int *argc, char *argv[],
-		       const struct ivi_layout_interface *iface,
-		       size_t iface_version)
+wet_module_init(struct weston_compositor *compositor,
+		       int *argc, char *argv[])
 {
 	struct wl_event_loop *loop;
 	struct test_context *ctx;
+	const struct ivi_layout_interface *iface;
+
+	iface = ivi_layout_get_api(compositor);
 
-	/* strict check, since this is an internal test module */
-	if (iface_version != sizeof(*iface)) {
-		weston_log("fatal: controller interface mismatch\n");
+	if (!iface) {
+		weston_log("fatal: cannot use ivi_layout_interface.\n");
 		return -1;
 	}
 
diff --git a/tests/ivi_layout-test-plugin.c b/tests/ivi_layout-test-plugin.c
index 19eab81..1f19c55 100644
--- a/tests/ivi_layout-test-plugin.c
+++ b/tests/ivi_layout-test-plugin.c
@@ -217,25 +217,19 @@ idle_launch_client(void *data)
 	weston_watch_process(&launcher->process);
 }
 
-int
-controller_module_init(struct weston_compositor *compositor,
-		       int *argc, char *argv[],
-		       const struct ivi_layout_interface *iface,
-		       size_t iface_version);
-
 WL_EXPORT int
-controller_module_init(struct weston_compositor *compositor,
-		       int *argc, char *argv[],
-		       const struct ivi_layout_interface *iface,
-		       size_t iface_version)
+wet_module_init(struct weston_compositor *compositor,
+		       int *argc, char *argv[])
 {
 	struct wl_event_loop *loop;
 	struct test_launcher *launcher;
 	const char *path;
+	const struct ivi_layout_interface *iface;
+
+	iface = ivi_layout_get_api(compositor);
 
-	/* strict check, since this is an internal test module */
-	if (iface_version != sizeof(*iface)) {
-		weston_log("fatal: controller interface mismatch\n");
+	if (!iface) {
+		weston_log("fatal: cannot use ivi_layout_interface.\n");
 		return -1;
 	}
 
diff --git a/tests/weston-tests-env b/tests/weston-tests-env
index 6da0696..9c321a1 100755
--- a/tests/weston-tests-env
+++ b/tests/weston-tests-env
@@ -46,8 +46,7 @@ case $TEST_FILE in
 			--config=$abs_builddir/tests/weston-ivi.ini \
 			--shell=$SHELL_PLUGIN \
 			--socket=test-${TEST_NAME} \
-			--modules=$TEST_PLUGIN \
-			--ivi-module=$MODDIR/${TEST_FILE/.la/.so} \
+			--modules=$TEST_PLUGIN,$MODDIR/${TEST_FILE/.la/.so}\
 			--log="$SERVERLOG" \
 			&> "$OUTLOG"
 		;;
-- 
2.7.4



More information about the wayland-devel mailing list