[mutter] cogl/pipeline-state: Move out working unit test to separate file



commit 16a7f77701fb9e622ba4dfd9057b6d601f5e802c
Author: Jonas Ã…dahl <jadahl gmail com>
Date:   Fri Aug 5 11:11:29 2022 +0200

    cogl/pipeline-state: Move out working unit test to separate file
    
    Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2555>

 cogl/cogl/cogl-pipeline-state.c           | 38 -------------------------
 src/tests/cogl/unit/meson.build           |  1 +
 src/tests/cogl/unit/test-pipeline-state.c | 47 +++++++++++++++++++++++++++++++
 3 files changed, 48 insertions(+), 38 deletions(-)
---
diff --git a/cogl/cogl/cogl-pipeline-state.c b/cogl/cogl/cogl-pipeline-state.c
index 8408a4af9e..5434d70218 100644
--- a/cogl/cogl/cogl-pipeline-state.c
+++ b/cogl/cogl/cogl-pipeline-state.c
@@ -41,8 +41,6 @@
 #include "cogl-pipeline-state-private.h"
 #include "cogl-snippet-private.h"
 
-#include <test-fixtures/test-unit.h>
-
 #include "string.h"
 
 #ifndef GL_FUNC_ADD
@@ -1588,39 +1586,3 @@ _cogl_pipeline_hash_fragment_snippets_state (CoglPipeline *authority,
   _cogl_pipeline_snippet_list_hash (&authority->big_state->fragment_snippets,
                                     &state->hash);
 }
-
-UNIT_TEST (check_blend_constant_ancestry,
-           0 /* no requirements */,
-           0 /* no known failures */)
-{
-  CoglPipeline *pipeline = cogl_pipeline_new (test_ctx);
-  CoglNode *node;
-  int pipeline_length = 0;
-  int i;
-
-  /* Repeatedly making a copy of a pipeline and changing the same
-   * state (in this case the blend constant) shouldn't cause a long
-   * chain of pipelines to be created because the redundant ancestry
-   * should be pruned. */
-
-  for (i = 0; i < 20; i++)
-    {
-      CoglColor color;
-      CoglPipeline *tmp_pipeline;
-
-      cogl_color_init_from_4f (&color, i / 20.0f, 0.0f, 0.0f, 1.0f);
-
-      tmp_pipeline = cogl_pipeline_copy (pipeline);
-      cogl_object_unref (pipeline);
-      pipeline = tmp_pipeline;
-
-      cogl_pipeline_set_blend_constant (pipeline, &color);
-    }
-
-  for (node = (CoglNode *) pipeline; node; node = node->parent)
-    pipeline_length++;
-
-  g_assert_cmpint (pipeline_length, <=, 2);
-
-  cogl_object_unref (pipeline);
-}
diff --git a/src/tests/cogl/unit/meson.build b/src/tests/cogl/unit/meson.build
index 1158c33497..4ee20bcc71 100644
--- a/src/tests/cogl/unit/meson.build
+++ b/src/tests/cogl/unit/meson.build
@@ -2,6 +2,7 @@ cogl_unit_tests = [
   ['test-bitmask', true],
   ['test-pipeline-cache', true],
   ['test-pipeline-state-known-failure', false],
+  ['test-pipeline-state', true],
 ]
 
 test_env = environment()
diff --git a/src/tests/cogl/unit/test-pipeline-state.c b/src/tests/cogl/unit/test-pipeline-state.c
new file mode 100644
index 0000000000..bf29164146
--- /dev/null
+++ b/src/tests/cogl/unit/test-pipeline-state.c
@@ -0,0 +1,47 @@
+#include "cogl-config.h"
+
+#include "cogl/cogl.h"
+#include "cogl/cogl-pipeline-state.h"
+#include "tests/cogl-test-utils.h"
+
+static void
+test_pipeline_state_blend_constant_ancestry (void)
+{
+  CoglPipeline *pipeline;
+  CoglNode *node;
+  int pipeline_length = 0;
+  int i;
+
+  /* Repeatedly making a copy of a pipeline and changing the same
+   * state (in this case the blend constant) shouldn't cause a long
+   * chain of pipelines to be created because the redundant ancestry
+   * should be pruned. */
+
+  pipeline = cogl_pipeline_new (test_ctx);
+
+  for (i = 0; i < 20; i++)
+    {
+      CoglColor color;
+      CoglPipeline *tmp_pipeline;
+
+      cogl_color_init_from_4f (&color, i / 20.0f, 0.0f, 0.0f, 1.0f);
+
+      tmp_pipeline = cogl_pipeline_copy (pipeline);
+      cogl_object_unref (pipeline);
+      pipeline = tmp_pipeline;
+
+      cogl_pipeline_set_blend_constant (pipeline, &color);
+    }
+
+  for (node = (CoglNode *) pipeline; node; node = node->parent)
+    pipeline_length++;
+
+  g_assert_cmpint (pipeline_length, <=, 2);
+
+  cogl_object_unref (pipeline);
+}
+
+COGL_TEST_SUITE (
+  g_test_add_func ("/pipeline-state/blend-constant-ancestry",
+                   test_pipeline_state_blend_constant_ancestry);
+)


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