From 388d35b74d8919b251faae9e24af50476f12b1a2 Mon Sep 17 00:00:00 2001
From: Jiri Suchan <yed@vanyli.net>
Date: Thu, 30 Jun 2022 11:14:07 +0900
Subject: ci: add basic test pipeline for shader builders

---
 tests/python_build/test_gles3_builder.py | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)
 create mode 100644 tests/python_build/test_gles3_builder.py

(limited to 'tests/python_build/test_gles3_builder.py')

diff --git a/tests/python_build/test_gles3_builder.py b/tests/python_build/test_gles3_builder.py
new file mode 100644
index 0000000000..861e0b84c4
--- /dev/null
+++ b/tests/python_build/test_gles3_builder.py
@@ -0,0 +1,31 @@
+import json
+
+import pytest
+
+from gles3_builders import build_gles3_header, GLES3HeaderStruct
+
+
+@pytest.mark.parametrize(
+    ["shader_files", "builder", "header_struct"],
+    [
+        ("gles3/vertex_fragment", build_gles3_header, GLES3HeaderStruct),
+    ],
+    indirect=["shader_files"],
+)
+def test_gles3_builder(shader_files, builder, header_struct):
+    header = header_struct()
+
+    builder(shader_files["path_input"], "drivers/gles3/shader_gles3.h", "GLES3", header_data=header)
+
+    with open(shader_files["path_expected_parts"], "r") as f:
+        expected_parts = json.load(f)
+        assert expected_parts == header.__dict__
+
+    with open(shader_files["path_output"], "r") as f:
+        actual_output = f.read()
+        assert actual_output
+
+    with open(shader_files["path_expected_full"], "r") as f:
+        expected_output = f.read()
+
+    assert actual_output == expected_output
-- 
cgit v1.2.3