1.1.2
- Fix: Some more CRAN adjustments duo some windows issues
1.1.1
- Fix: CRAN submission adjustments
1.1.0
New Features:
- New function
testPackage
. This is a convenience that has the same interface as tinytest::test_package() but automatically convert the test results to JUnit. It also has the following advantages compared to just calling tinytest::run_test_dir() |> writeJUnit()
:
- Catches error thrown in test_files and reports them with stacktrace in the JUnit as error.
- Records duration time per file (testsuite) and other metrics (see ?testPackage)
- Optionally do not crash if an error occured. Usefull if you want to first do some other things in your CI.
- New function
runTestDir
. This is a drop-in replacement for tinytest::run_test_dir()
. It is the work horse of for the testPackage
function. It has the following features:
- Catches error thrown in test_files and reports them as a
tinytest
object in the result.
- Return new subclass object
tinytests2JUnit
containing additional metrics recorded during the test execution for use in the JUnit.
For most users testPackage
will be the convenience one-liner funciton to add in your CI. While with the runTestDir
you have full controll over which directories you want to call. This can be usefull if you have multiple test stages written in tinytest.
- argument
file
of writeJUnit
now also accepts connection
object and now has a default argument stdout()
.
- This for ease of interacive debugging to see what writeJUnit produces.
Adjustments to the JUnit report:
When using testPackage
or the output of runTestDir
the following additional information is reported in the JUnit:
- Amount of disabled tests. Here it assumed that a test file with no tests was conditionally early exited and thus viewed as a skipped test.
- Per test file (testsuite): the duration time.
- Per test file (testsuite): the hostname of the computer where the test ran. (usefull in cluster context)
- Per test file (testsuite): the timestamp when the test ran.
Note, it is still possible to use normal tinytests
results as returned by tinytest::run_test_dir()
with writeJUnit()
.
- testsuite name property is now equal to the test_file (without the .R suffix).
- testsuite now has the
id
property filled in.
- testcase name has been updated to include
info
attribute of a tinytest object.
- testcase classname is now specified this is equal to the test file name (without the .R suffix)
- failure tag message is now equal to that of the “diff”
- New error tags are now also reported:
- Message = mention uncaught error in which file + the error message.
- tag content = Full error message + stacktrace.
Fixes:
- Correctly report test duration with the “time” attribute. Previously this was wrongly done with “duration” attribute which not a formal spec of the JUnit.
- Correctly xml escape special character in the content (again).
- XML escape ALL attributes that are string. (if your file name had a special character it could have crashed the xml formatting)
- Correctly handle white space in xml tag. That is text content was also attempted to be indended. However this is wrong as each white space character. Including indendentation and newlines is revelant. This has been fixed.
Misc:
- Previously ‘tinytest’ was listed as “Suggested” in the DESCRIPTION. It now is listed as Imports. This should have no impact as ‘tinytest’ was needed anyway to run the tests in the first place.
- Adjusted documentation in the README to be up to date with the new testPackage function + fixed some wrong statements in the Jenkinsfile.
1.0.3
- Fix: Escape the characters ‘<’ and ‘&’ in xml-text.
1.0.2
- Docs: added BugReports to description file
- Docs: added NEWS file
1.0.1
- Docs: added url of github repo to description file
1.0.0
- Feature: added functionality to handle tests on side-effects
- Docs: reviewed documentation to fit CRAN’s policy
- Fix: load exported functions before running tests in CI
0.1.3
- Docs: updated LICENSE to stick to CRAN policies
0.1.2
- Docs: updated package description
0.1.1
- Docs: changed maintainer role in DESCRIPTION file
- Docs: added LICENSE file
0.1.0
- initial version
- basic functionality
- added examples files for CI/CD runners