
## 1.1.3

* Fix: Failing test duo upstream fix in tinytest. `tinytest::exit_if_not` now correctly exits if the condition is FALSE.


## 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
