Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
KYUA-REPORT-JUNIT(1)	  BSD General Commands Manual	  KYUA-REPORT-JUNIT(1)

     kyua report-junit -- Generates a JUnit report with	the results of a test
     suite run

     kyua report-junit [--output path] [--results-file file]

     The kyua report-junit command provides a simple mechanism to generate JU-
     nit reports of the	execution of a test suite.  The	command	processes a
     results file and then generates a single XML file that complies with the
     JUnit XSchema.

     The JUnit output is static	and self-contained, so it can easily be
     plugged into any continuous integration system, like Jenkins.

     The following subcommand options are recognized:

     --output directory
	 Specifies the file into which to store	the JUnit report.

     --results-file path, -s path
	 Specifies the results file to operate on.  Defaults to	`LATEST',
	 which causes kyua report-junit	to automatically load the latest re-
	 sults file from the current test suite.

	 The following values are accepted:

	     Requests the load of the latest results file available for	the
	     test suite	rooted at the current directory.

	     Requests the load of the latest results file available for	the
	     test suite	rooted at the given directory.

	 Test suite name
	     Requests the load of the latest results file available for	the
	     given test	suite.

	 Results identifier
	     Requests the load of a specific results file.

	 Explicit file name (aka everything else)
	     Load the specified	results	file.

	 See Results files for more details.

     Because of	limitations in the JUnit XML schema, not all the data col-
     lected by Kyua can	be properly represented	in JUnit reports.  However,
     because test data are extremely useful for	debugging purposes, the	kyua
     report-junit command shovels these	data into the JUnit output.  In	par-

     o	 The test case metadata	values are prepended to	the test case's	stan-
	 dard error output.

     o	 Test cases that report	expected failures as their results are
	 recorded as passed.  The fact that they failed	as expected is
	 recorded in the test case's standard error output along with the cor-
	 responding reason.

   Results files
     Results files contain, as their name implies, the results of the execu-
     tion of a test suite.  Each test suite executed by	kyua-test(1) generates
     a new results file, and such results files	can be loaded later on by in-
     spection commands such as kyua-report(1) to analyze their contents.

     Results files support identifier-based lookups and	also path name
     lookups.  The differences between the two are described below.

     The default naming	scheme for the results files provides simple support
     for identifier-based lookups and historical recording of test suite runs.
     Each results file is given	an identifier derived from the test suite that
     generated it and the time the test	suite was run.	Kyua can later look up
     results files by these fields.

     The identifier follows this pattern:


     where `test_suite'	is the path to the root	of the test suite that was run
     with all slashes replaced by underscores and `YYYYMMDD-HHMMSS-uuuuuu' is
     a timestamp with microsecond resolution.

     When using	the default naming scheme, results files are stored in the
     ~/.kyua/store/ subdirectory and each file holds a name of the form:


     Results files are simple SQLite databases with the	schema described in
     the /usr/share/kyua/store/schema_v?.sql files.  For details on the
     schema, please refer to the heavily commented SQL file.

     The kyua report-junit command always returns 0.

     Additional	exit codes may be returned as described	in kyua(1).

   Workflow with results files
     If	one runs the following command twice in	a row:

	   kyua	test -k	/usr/tests/Kyuafile

     the two executions	will generate two different files with names like:


     Taking advantage of the default naming scheme, the	following commands
     would all generate	a report for the results of the	latest execution of
     the test suite:

	   cd /usr/tests && kyua report-junit
	   cd /usr/tests && kyua report-junit --results-file=LATEST
	   kyua	report-junit --results-file=/usr/tests
	   kyua	report-junit --results-file=usr_tests
	   kyua	report-junit --results-file=usr_tests.20140731-151730-997451

     But it is also possible to	explicitly load	data for older runs or from
     explicitly-named files:

	   kyua	report-junit \
	   kyua	report-junit \

     kyua(1), kyua-report(1), kyua-report-html(1)

BSD			       October 13, 2014				   BSD


Want to link to this manual page? Use this URL:

home | help