diff options
author | Marius Vlad <marius.vlad@collabora.com> | 2021-04-16 23:17:49 +0300 |
---|---|---|
committer | Marius Vlad <marius.vlad@collabora.com> | 2021-04-16 23:38:33 +0300 |
commit | 6f15bb6b82a1cd7e93377bec809d346c45403ac8 (patch) | |
tree | 4d8f8c8bc245561f66181424e8125125bf79fd60 | |
parent | 96f95c76e68eda647dc6340d2e01818ff9766440 (diff) |
tests: Pass the test data directly
This makes use of commit "tests: add mechanism to change Weston's
behavior when running certain tests" which bumps libweston to 10.
Without it we can't really use the tests due to testutil.
Signed-off-by: Marius Vlad <marius.vlad@collabora.com>
Change-Id: I79d24b0dfb4569bdd39e2d409d197e6a5112e550
-rw-r--r-- | src/compositor.c | 5 | ||||
-rw-r--r-- | src/main.c | 2 | ||||
-rw-r--r-- | tests/meson.build | 1 | ||||
-rw-r--r-- | tests/testsuite-util.c | 62 | ||||
-rw-r--r-- | tests/weston-test-fixture-compositor.c | 8 | ||||
-rw-r--r-- | tests/weston-test-fixture-compositor.h | 1 |
6 files changed, 11 insertions, 68 deletions
diff --git a/src/compositor.c b/src/compositor.c index 4b5432e..55a0666 100644 --- a/src/compositor.c +++ b/src/compositor.c @@ -1544,7 +1544,7 @@ load_modules(struct ivi_compositor *ivi, const char *modules, WL_EXPORT -int wet_main(int argc, char *argv[]) +int wet_main(int argc, char *argv[], const struct weston_testsuite_data *test_data) { struct ivi_compositor ivi = { 0 }; struct wl_display *display = NULL; @@ -1654,7 +1654,7 @@ int wet_main(int argc, char *argv[]) if (!signals[i]) goto error_signals; - ivi.compositor = weston_compositor_create(display, log_ctx, &ivi); + ivi.compositor = weston_compositor_create(display, log_ctx, &ivi, test_data); if (!ivi.compositor) { weston_log("fatal: failed to create compositor.\n"); goto error_signals; @@ -1716,6 +1716,7 @@ int wet_main(int argc, char *argv[]) ivi_screenshooter_create(&ivi); ivi_agl_systemd_notify(&ivi); + weston_log("Compositor is running\n"); wl_display_run(display); ret = ivi.compositor->exit_code; @@ -28,5 +28,5 @@ int main(int argc, char *argv[]) { - return wet_main(argc, argv); + return wet_main(argc, argv, NULL); } diff --git a/tests/meson.build b/tests/meson.build index ea2f068..01c145a 100644 --- a/tests/meson.build +++ b/tests/meson.build @@ -21,7 +21,6 @@ lib_test_client = static_library( [ 'weston-test-client-helper.c', 'weston-test-fixture-compositor.c', - 'testsuite-util.c', '../shared/os-compatibility.c', '../shared/xalloc.c', weston_test_client_protocol_h, diff --git a/tests/testsuite-util.c b/tests/testsuite-util.c deleted file mode 100644 index a4cd83e..0000000 --- a/tests/testsuite-util.c +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright 2019 Collabora, Ltd. - * - * Permission is hereby granted, free of charge, to any person obtaining - * a copy of this software and associated documentation files (the - * "Software"), to deal in the Software without restriction, including - * without limitation the rights to use, copy, modify, merge, publish, - * distribute, sublicense, and/or sell copies of the Software, and to - * permit persons to whom the Software is furnished to do so, subject to - * the following conditions: - * - * The above copyright notice and this permission notice (including the - * next paragraph) shall be included in all copies or substantial - * portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, - * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF - * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS - * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN - * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -#include "config.h" - -#include <wayland-util.h> -#include <weston/weston.h> - -static struct wet_testsuite_data *wet_testsuite_data_global; - -/** Set global test suite data - * - * \param data Custom test suite data. - * - * The type struct wet_testsuite_data is free to be defined by any test suite - * in any way they want. This function stores a single pointer to that data - * in a global variable. - * - * The data is expected to be fetched from a test suite specific plugin that - * knows how to interpret it. - * - * \sa wet_testsuite_data_get - */ -WL_EXPORT void -wet_testsuite_data_set(struct wet_testsuite_data *data) -{ - wet_testsuite_data_global = data; -} - -/** Get global test suite data - * - * \return Custom test suite data. - * - * Returns the value last set with wet_testsuite_data_set(). - */ -WL_EXPORT struct wet_testsuite_data * -wet_testsuite_data_get(void) -{ - return wet_testsuite_data_global; -} diff --git a/tests/weston-test-fixture-compositor.c b/tests/weston-test-fixture-compositor.c index 57b3e2b..3751bb8 100644 --- a/tests/weston-test-fixture-compositor.c +++ b/tests/weston-test-fixture-compositor.c @@ -170,6 +170,7 @@ compositor_setup_defaults_(struct compositor_setup *setup, const char *testset_name) { *setup = (struct compositor_setup) { + .test_quirks = (struct weston_testsuite_quirks) { }, .backend = WESTON_BACKEND_HEADLESS, .renderer = RENDERER_NOOP, .shell = SHELL_DESKTOP, @@ -277,6 +278,7 @@ execute_compositor(const struct compositor_setup *setup, char *tmp; const char *ctmp, *drm_device; int ret, lock_fd = -1; + struct weston_testsuite_data test_data; if (setenv("WESTON_MODULE_MAP", WESTON_MODULE_MAP, 0) < 0 || setenv("WESTON_DATA_DIR", WESTON_DATA_DIR, 0) < 0) { @@ -415,9 +417,11 @@ execute_compositor(const struct compositor_setup *setup, if (setup->xwayland) prog_args_take(&args, strdup("--xwayland")); - wet_testsuite_data_set(data); + test_data.test_quirks = setup->test_quirks; + test_data.test_private_data = data; + prog_args_save(&args); - ret = wet_main(args.argc, args.argv); + ret = wet_main(args.argc, args.argv, &test_data); prog_args_fini(&args); diff --git a/tests/weston-test-fixture-compositor.h b/tests/weston-test-fixture-compositor.h index fd8d0e5..5598f77 100644 --- a/tests/weston-test-fixture-compositor.h +++ b/tests/weston-test-fixture-compositor.h @@ -71,6 +71,7 @@ enum shell_type { * \ingroup testharness */ struct compositor_setup { + struct weston_testsuite_quirks test_quirks; /** The backend to use. */ enum weston_compositor_backend backend; /** The renderer to use. */ |