[elbe-devel] [PATCH v2 1/5] Add XML schema definition for Junit test suites/cases.
Torben Hohn
torben.hohn at linutronix.de
Wed Aug 7 17:20:02 CEST 2019
On Wed, Aug 07, 2019 at 04:34:39PM +0200, dion at linutronix.de wrote:
> From: Olivier Dion <dion at linutronix.de>
>
> It's now possible to execute test suites and generate a compatible
> JUnit XML file for a project.
>
> * <unit-tests>
>
> The <unit-tests> node is an _unique_ children to the <target> node
> and accepts an unbounded sequence off <test-suite> nodes.
>
> If a <unit-tests> node is provided, then a "elbe-junit.xml" file is
> created for the project.
>
> * <test-suite>
>
> The <test-suite> nodes are children to the <unit-tests> node. They
> accept an unbounded sequence of nodes of _type_ <test-case>.
>
> Is has a mandatory attribute 'name' which is an human readable
> identifier for the suite.
>
> * <test-case>
>
> The <test-case> nodes are children of a <test-suite> node. They
> _are not identified_ by the <test-case> tag. This is because
> <test-case> is actually a group type and thus the actual tag has to
> be within the group's choices.
>
> As for now, only the <file-exists> node is a valid choice.
>
> ** <file-exists>
>
> The <file-exists> node is a choice of the <test-case> group. It
> verifies that a file exists in the target filesystem.
>
> * Example
>
> My project's XML file:
> --------------------------------------------------------------------
> ...
> <target>
> ...
> <project-finetuning>
> <unit-tests>
>
> <test-suite name="Suite A">
> <file-exists>/etc/fstab></file-exists>
> <file-exists>/bin/clang</file-exists>
> </test-suite>
>
> <test-suite name="Suite B">
> <file-exists>/home/notroot</file-exists>
> </test-suite>
>
> </unit-tests>
> </project-finetuning>
> ...
> </target>
> ...
> --------------------------------------------------------------------
>
> Signed-off-by: Olivier Dion <dion at linutronix.de>
Reviewed-by: Torben Hohn <torben.hohn at linutronix.de>
>
> squash! Add XML schema definition for Junit test suites/cases.
> ---
> schema/dbsfed.xsd | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 53 insertions(+)
>
> diff --git a/schema/dbsfed.xsd b/schema/dbsfed.xsd
> index fbed8e98..7fbd7396 100644
> --- a/schema/dbsfed.xsd
> +++ b/schema/dbsfed.xsd
> @@ -1940,6 +1940,13 @@
> </documentation>
> </annotation>
> </element>
> + <element name="unit-tests" type="rfs:unit-tests" minOccurs="0" maxOccurs="1">
> + <annotation>
> + <documentation>
> + Allows to generate test suites for the project.
> + </documentation>
> + </annotation>
> + </element>
> </choice>
> </group>
>
> @@ -2431,4 +2438,50 @@
> </simpleContent>
> </complexType>
>
> + <complexType name="unit-tests">
> + <annotation>
> + <documentation>
> + Sequence of test suites. The require attribute 'dst' is the
> + name of the file where the Junit XML file will be dump
> + relative to the project directory.
> + </documentation>
> + </annotation>
> + <sequence>
> + <element name="test-suite" type="rfs:test-suite" minOccurs="0" maxOccurs="unbounded">
> + </element>
> + </sequence>
> + </complexType>
> +
> + <complexType name="test-suite">
> + <annotation>
> + <documentation>
> + A test suite is a sequence of test cases. The required
> + attribute name is the an human readable identifier for the
> + test suite.
> + </documentation>
> + </annotation>
> + <sequence>
> + <group ref="rfs:test-case" minOccurs="0" maxOccurs="unbounded" >
> + </group>
> + </sequence>
> + <attribute name="name" type="string" use="required" />
> + </complexType>
> +
> + <group name="test-case">
> + <annotation>
> + <documentation>
> + A test-case is a choice of a test to make on the target fs.
> + </documentation>
> + </annotation>
> + <choice>
> + <element name="file-exists" type="rfs:string" minOccurs="0">
> + <annotation>
> + <documentation>
> + Verify that a file exists.
> + </documentation>
> + </annotation>
> + </element>
> + </choice>
> + </group>
> +
> </schema>
> --
> 2.11.0
>
>
> _______________________________________________
> elbe-devel mailing list
> elbe-devel at linutronix.de
> https://lists.linutronix.de/mailman/listinfo/elbe-devel
--
Torben Hohn
Linutronix GmbH | Bahnhofstrasse 3 | D-88690 Uhldingen-Mühlhofen
Phone: +49 7556 25 999 18; Fax.: +49 7556 25 999 99
Hinweise zum Datenschutz finden Sie hier (Informations on data privacy
can be found here): https://linutronix.de/kontakt/Datenschutz.php
Linutronix GmbH | Firmensitz (Registered Office): Uhldingen-Mühlhofen |
Registergericht (Registration Court): Amtsgericht Freiburg i.Br., HRB700
806 | Geschäftsführer (Managing Directors): Heinz Egger, Thomas Gleixner
More information about the elbe-devel
mailing list