[elbe-devel] [PATCH 07/10] tests: test_preproc: initial implementation
Torben Hohn
torben.hohn at linutronix.de
Thu Apr 1 13:15:29 CEST 2021
run "elbe preprocess" on tests/preproc-*.xml
This allows testing the schema, and also checks, whether the schema
supports base="xxx" attributes, originating from xinclude, everywhere.
Signed-off-by: Torben Hohn <torben.hohn at linutronix.de>
---
elbepack/tests/test_preproc.py | 38 ++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)
create mode 100644 elbepack/tests/test_preproc.py
diff --git a/elbepack/tests/test_preproc.py b/elbepack/tests/test_preproc.py
new file mode 100644
index 000000000..49c59d960
--- /dev/null
+++ b/elbepack/tests/test_preproc.py
@@ -0,0 +1,38 @@
+# ELBE - Debian Based Embedded Rootfilesystem Builder
+# Copyright (c) 2020 Olivier Dion <dion at linutronix.de>
+# Copyright (c) 2021 Torben Hohn <torben.hohn at linutronix.de>
+#
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+import os
+
+from elbepack.commands.test import ElbeTestCase, system, ElbeTestException
+from elbepack.shellhelper import command_out, system_out
+from elbepack.directories import pack_dir, elbe_exe, elbe_dir
+
+class TestPreproc(ElbeTestCase):
+
+ failure_set = {os.path.join(elbe_dir, path)
+ for path
+ in [
+ "tests/preproc-01.xml"
+ ]}
+
+ params = [os.path.join(elbe_dir, "tests", fname)
+ for fname
+ in os.listdir(os.path.join(elbe_dir, "tests"))
+ if fname.startswith("preproc") and fname.endswith(".xml")]
+
+ def test_preproc(self):
+
+ try:
+ system(f'{elbe_exe} "{self.param}"')
+ except ElbeTestException as e:
+ if self.param in TestPreproc.failure_set:
+ self.skipTest("Preproc test for %s is expected to fail" % (self.param))
+ self.stdout = e.out
+ else:
+ raise
+ else:
+ if self.param in TestPreproc.failure_set:
+ raise Exception(f"Preproc test for {self.param} is expected to fail, but did not !")
--
2.20.1
More information about the elbe-devel
mailing list