summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJörg Frings-Fürst <debian@jff.email>2024-03-06 10:24:46 +0100
committerJörg Frings-Fürst <debian@jff.email>2024-03-06 10:24:46 +0100
commit372a0e99c2f61543d9e14d9933b59d9d1f4cb26e (patch)
treebbadf39aed0610c8f8f7b41fefff47773b8ac205 /tests
parent23d41842168ac1a1580111b9c5c73500ceee3d57 (diff)
parent4538829ab86b5a1cd4e845e7eab165029c9d6d46 (diff)
Merge branch 'feature/upstream' into develop
Diffstat (limited to 'tests')
-rw-r--r--tests/build/bootstrap.build8
-rw-r--r--tests/build/root.build16
-rw-r--r--tests/buildfile4
-rw-r--r--tests/testscript26
4 files changed, 54 insertions, 0 deletions
diff --git a/tests/build/bootstrap.build b/tests/build/bootstrap.build
new file mode 100644
index 0000000..33c8d02
--- /dev/null
+++ b/tests/build/bootstrap.build
@@ -0,0 +1,8 @@
+# file : tests/build/bootstrap.build
+# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
+
+project = # Unnamed subproject.
+
+using config
+using dist
+using test
diff --git a/tests/build/root.build b/tests/build/root.build
new file mode 100644
index 0000000..dd7abe5
--- /dev/null
+++ b/tests/build/root.build
@@ -0,0 +1,16 @@
+# file : tests/build/root.build
+# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
+
+# We need to configure C++ module to obtain the target information (see
+# below).
+#
+using cxx.config
+
+# Import the XSD compiler we will be testing.
+#
+import! [metadata] xsd = xsd%exe{xsd}
+testscript{*}: test = $xsd
+
+# Specify the test target for cross-testing.
+#
+test.target = $cxx.target
diff --git a/tests/buildfile b/tests/buildfile
new file mode 100644
index 0000000..201b1d7
--- /dev/null
+++ b/tests/buildfile
@@ -0,0 +1,4 @@
+# file : tests/buildfile
+# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
+
+./: testscript $xsd
diff --git a/tests/testscript b/tests/testscript
new file mode 100644
index 0000000..7570d4d
--- /dev/null
+++ b/tests/testscript
@@ -0,0 +1,26 @@
+# file : tests/testscript
+# license : GNU GPL v2 + exceptions; see accompanying LICENSE file
+
+: version
+:
+$* --version >>~/EOO/
+/CodeSynthesis XSD XML Schema to C\+\+ compiler .+/
+/.*/*
+EOO
+
+: basics
+:
+cat <<EOI >=test.xsd;
+<?xml version="1.0"?>
+<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
+ <xsd:complexType name="hello_t">
+ <xsd:sequence>
+ <xsd:element name="greeting" type="xsd:string"/>
+ <xsd:element name="name" type="xsd:string" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+ <xsd:element name="hello" type="hello_t"/>
+</xsd:schema>
+EOI
+$* cxx-tree --generate-inline test.xsd &test.hxx &test.ixx &test.cxx;
+test -f test.hxx && test -f test.ixx && test -f test.cxx