summaryrefslogtreecommitdiff
path: root/tests/ivi_layout-test.c
diff options
context:
space:
mode:
authorNobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp>2015-06-22 15:34:42 +0900
committerPekka Paalanen <pekka.paalanen@collabora.co.uk>2015-06-25 11:38:48 +0300
commit0671b4d930bd2388009bcc4332c928fe34e6d2ff (patch)
treea67cd4d902bf2848f27f492e43fd1d112ff1ac9e /tests/ivi_layout-test.c
parent9e992d9aff597aa5a0487d4eb8c68227cfdd2c1f (diff)
downloadweston-0671b4d930bd2388009bcc4332c928fe34e6d2ff.tar.gz
tests: test set for ivi-layer bad condition with helper-client
These tests are implemented on test suite framework, which provides helper client. Following features are tested, - bad render order of ivi-surface on ivi-layer - call commitchanges after a ivi_surface in render order is destoryed Signed-off-by: Nobuhiko Tanibata <NOBUHIKO_TANIBATA@xddp.denso.co.jp> Reviewed-by: Pekka Paalanen <pekka.paalanen@collabora.co.uk> Reviewed-by: Jon A. Cruz <jonc@osg.samsung.com>
Diffstat (limited to 'tests/ivi_layout-test.c')
-rw-r--r--tests/ivi_layout-test.c50
1 files changed, 50 insertions, 0 deletions
diff --git a/tests/ivi_layout-test.c b/tests/ivi_layout-test.c
index 051ded44..2ac67a45 100644
--- a/tests/ivi_layout-test.c
+++ b/tests/ivi_layout-test.c
@@ -210,6 +210,7 @@ const char * const surface_property_commit_changes_test_names[] = {
const char * const render_order_test_names[] = {
"layer_render_order",
+ "layer_bad_render_order",
};
TEST_P(ivi_layout_runner, basic_test_names)
@@ -337,3 +338,52 @@ TEST_P(ivi_layout_layer_render_order_runner, render_order_test_names)
ivi_window_destroy(winds[2]);
runner_destroy(runner);
}
+
+TEST(destroy_surface_after_layer_render_order)
+{
+ struct client *client;
+ struct runner *runner;
+ struct ivi_window *winds[3];
+
+ client = create_client();
+ runner = client_create_runner(client);
+
+ winds[0] = client_create_ivi_window(client, IVI_TEST_SURFACE_ID(0));
+ winds[1] = client_create_ivi_window(client, IVI_TEST_SURFACE_ID(1));
+ winds[2] = client_create_ivi_window(client, IVI_TEST_SURFACE_ID(2));
+
+ runner_run(runner, "test_layer_render_order_destroy_one_surface_p1");
+
+ ivi_window_destroy(winds[1]);
+
+ runner_run(runner, "test_layer_render_order_destroy_one_surface_p2");
+
+ ivi_window_destroy(winds[0]);
+ ivi_window_destroy(winds[2]);
+ runner_destroy(runner);
+}
+
+TEST(commit_changes_after_render_order_set_surface_destroy)
+{
+ struct client *client;
+ struct runner *runner;
+ struct ivi_window *winds[3];
+
+ client = create_client();
+ runner = client_create_runner(client);
+
+ winds[0] = client_create_ivi_window(client, IVI_TEST_SURFACE_ID(0));
+ winds[1] = client_create_ivi_window(client, IVI_TEST_SURFACE_ID(1));
+ winds[2] = client_create_ivi_window(client, IVI_TEST_SURFACE_ID(2));
+
+ runner_run(runner, "commit_changes_after_render_order_set_surface_destroy");
+
+ ivi_window_destroy(winds[1]);
+
+ runner_run(runner, "ivi_layout_commit_changes");
+ runner_run(runner, "cleanup_layer");
+
+ ivi_window_destroy(winds[0]);
+ ivi_window_destroy(winds[2]);
+ runner_destroy(runner);
+}