[mutter] tests: Add more monitor config policy parsing tests



commit 85a3ca3d175465f860a6d6140a9d9b41d5fec6d2
Author: Jonas Ã…dahl <jadahl gmail com>
Date:   Fri Sep 24 19:07:32 2021 +0200

    tests: Add more monitor config policy parsing tests
    
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2030>

 src/tests/monitor-configs/policy-duplicate.xml |  8 +++++
 src/tests/monitor-configs/policy-empty.xml     |  7 ++++
 src/tests/monitor-configs/policy-invalid.xml   |  8 +++++
 src/tests/monitor-configs/policy-multiple.xml  | 12 +++++++
 src/tests/monitor-store-unit-tests.c           | 44 ++++++++++++++++++++++++++
 5 files changed, 79 insertions(+)
---
diff --git a/src/tests/monitor-configs/policy-duplicate.xml b/src/tests/monitor-configs/policy-duplicate.xml
new file mode 100644
index 0000000000..d93cc81a49
--- /dev/null
+++ b/src/tests/monitor-configs/policy-duplicate.xml
@@ -0,0 +1,8 @@
+<monitors version="2">
+  <policy>
+    <stores>
+      <store>user</store>
+      <store>user</store>
+    </stores>
+  </policy>
+</monitors>
diff --git a/src/tests/monitor-configs/policy-empty.xml b/src/tests/monitor-configs/policy-empty.xml
new file mode 100644
index 0000000000..f56026b668
--- /dev/null
+++ b/src/tests/monitor-configs/policy-empty.xml
@@ -0,0 +1,7 @@
+<monitors version="2">
+  <policy>
+    <stores>
+      <store></store>
+    </stores>
+  </policy>
+</monitors>
diff --git a/src/tests/monitor-configs/policy-invalid.xml b/src/tests/monitor-configs/policy-invalid.xml
new file mode 100644
index 0000000000..fc4552fbef
--- /dev/null
+++ b/src/tests/monitor-configs/policy-invalid.xml
@@ -0,0 +1,8 @@
+<monitors version="2">
+  <policy>
+    <stores>
+      <store>user</store>
+      <store>not-a-store</store>
+    </stores>
+  </policy>
+</monitors>
diff --git a/src/tests/monitor-configs/policy-multiple.xml b/src/tests/monitor-configs/policy-multiple.xml
new file mode 100644
index 0000000000..ffeb79aafe
--- /dev/null
+++ b/src/tests/monitor-configs/policy-multiple.xml
@@ -0,0 +1,12 @@
+<monitors version="2">
+  <policy>
+    <stores>
+      <store>user</store>
+      <store>system</store>
+    </stores>
+    <stores>
+      <store>system</store>
+      <store>user</store>
+    </stores>
+  </policy>
+</monitors>
diff --git a/src/tests/monitor-store-unit-tests.c b/src/tests/monitor-store-unit-tests.c
index f7efa894b4..37b0675d0b 100644
--- a/src/tests/monitor-store-unit-tests.c
+++ b/src/tests/monitor-store-unit-tests.c
@@ -919,6 +919,42 @@ meta_test_monitor_store_policy (void)
                    META_CONFIG_STORE_SYSTEM);
 }
 
+static void
+meta_test_monitor_store_policy_empty (void)
+{
+  g_test_expect_message (G_LOG_DOMAIN, G_LOG_LEVEL_WARNING,
+                         "*Invalid store*");
+  set_custom_monitor_system_config ("policy-empty.xml");
+  g_test_assert_expected_messages ();
+}
+
+static void
+meta_test_monitor_store_policy_duplicate (void)
+{
+  g_test_expect_message (G_LOG_DOMAIN, G_LOG_LEVEL_WARNING,
+                         "*Multiple identical stores*");
+  set_custom_monitor_system_config ("policy-duplicate.xml");
+  g_test_assert_expected_messages ();
+}
+
+static void
+meta_test_monitor_store_policy_invalid (void)
+{
+  g_test_expect_message (G_LOG_DOMAIN, G_LOG_LEVEL_WARNING,
+                         "*Invalid store*");
+  set_custom_monitor_system_config ("policy-invalid.xml");
+  g_test_assert_expected_messages ();
+}
+
+static void
+meta_test_monitor_store_policy_multiple (void)
+{
+  g_test_expect_message (G_LOG_DOMAIN, G_LOG_LEVEL_WARNING,
+                         "*Multiple stores elements under policy*");
+  set_custom_monitor_system_config ("policy-multiple.xml");
+  g_test_assert_expected_messages ();
+}
+
 void
 init_monitor_store_tests (void)
 {
@@ -950,4 +986,12 @@ init_monitor_store_tests (void)
                    meta_test_monitor_store_policy_not_allowed);
   g_test_add_func ("/backends/monitor-store/policy",
                    meta_test_monitor_store_policy);
+  g_test_add_func ("/backends/monitor-store/policy-empty",
+                   meta_test_monitor_store_policy_empty);
+  g_test_add_func ("/backends/monitor-store/policy-duplicate",
+                   meta_test_monitor_store_policy_duplicate);
+  g_test_add_func ("/backends/monitor-store/policy-invalid",
+                   meta_test_monitor_store_policy_invalid);
+  g_test_add_func ("/backends/monitor-store/policy-multiple",
+                   meta_test_monitor_store_policy_multiple);
 }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]