Commit Graph

72 Commits

Author SHA1 Message Date
03a83721a2 Fix name and add missing test file to testcases 2022-03-27 23:55:59 +01:00
4b87b03e55 junit: Use the timestamp from the gtr.Report when creating Testsuites 2022-03-22 22:05:23 +00:00
c78e04707f gtr,parser/gotest: move Event and building a report to parser/gotest
The Parse method now directly returns a report, rather than a list of
events that then need to be converted into a report. As part of this
change, the Event struct has also been moved to the gotest package. It's
now the responsibility of the parser to construct a gtr.Report.
2022-03-22 22:05:23 +00:00
832cc97037 parser/gotest: refactor parser so Parse is no longer a top level func
Making Parse a method on a Parser struct makes it possible to later
define an common parser interface.
2022-03-22 22:05:23 +00:00
a77bfe0f1c gtr,junit: move creation of JUnit testsuites from gtr to junit
Package gtr shouldn't need to know about the existence of different
output formats like junit.
2022-03-22 22:05:23 +00:00
334044509c Remove custom properties parsed from test output
In the future it will be possible to add your own properties via
commandline flags.
2022-03-22 22:05:23 +00:00
a70d508a2e parser/gotest: support parsing test summaries when there were no tests 2022-03-20 22:35:50 +00:00
458fe89a9a Omit empty <properties> tag when there are no properties.
Go doesn't omit empty parent tags for empty values[1], so we'll work
around this for now by creating a pointer to the property slice.

[1]: https://github.com/golang/go/issues/7233.
2022-03-20 22:35:50 +00:00
2ece8eae1a gtr: Set hostname and timestamp fields when creating JUnit Testsuite
Fixes #117
2022-03-20 22:35:50 +00:00
8b3ee42692 Remove v1 parser and formatter tests from go-junit-report_test 2022-03-20 22:35:50 +00:00
d0cb4ab4a1 Remove unused toXML function from go-junit-report_test 2022-03-20 22:35:50 +00:00
0ff7cae1df Drop new properties when comparing against existing testdata 2022-03-20 22:35:50 +00:00
824b607642 gtr: Handle coverage events 2022-03-20 22:35:50 +00:00
ff9ad32c55 Modify expected report for backwards compatibility in new tests 2022-03-20 22:35:50 +00:00
cb92a4a6c8 Print events for debugging in tests 2022-03-20 22:35:50 +00:00
02fb5c657b Update new output tests 2022-03-20 22:35:50 +00:00
51ca01beb2 Fix test 08 2022-03-20 22:35:50 +00:00
77ad1709cf gtr: Add default package name to report 2022-03-20 22:35:50 +00:00
21222485a4 Test new parser and report generator with existing testdata 2022-03-20 22:35:50 +00:00
72cd8b3697 Update go-junit-report to use new parser 2022-03-20 22:35:47 +00:00
2a37e36ac6 Add test for benchmarks with MB/s 2022-03-06 23:03:55 +00:00
1b8b67371c Report testsuite failures even if all tests succeeded
Fixes #87
2019-10-03 23:53:41 +01:00
6315b3013b Parse package name output when test binary name is included
Sometimes, the text after "# " shows the name of the test binary
("<package>.test") in addition to the package
e.g.: "# package/name [package/name.test]".
This change ensures that the packages' build outputs are associated
correctly in this case.
2019-09-18 17:44:54 -07:00
9c3d9dadf6 Include test output and stdout in test failures 2018-12-21 13:39:33 -05:00
b4d81a975b Regex captures benchmarks with or without CPU suffix. 2018-06-07 22:19:32 -07:00
1c2c0a00fe Adds multi-package benchmark support, simplifies merge benchmark averaging. Addressing code review comments. 2018-06-03 12:28:48 -07:00
260b47cabe Addressing code review comments.
Mainly:
* Moving the averaging/merging of benchmarks from the parser to the formatter package
* Tightening up the regex so it only captures the numeric values (no more of trimming spaces and the ns/op)
* Deleting the writing up in xml file the benchmark memory sections of B/op and Allocs/op

Also added a test case for parseNanoseconds().
2018-05-29 21:05:13 -07:00
b2f467b67c Adds ability to parse benchmarking information, and (optional) with memory information and with -count specified. Includes a number of unit tests. Issue #70. 2018-05-22 20:18:03 -07:00
1ce4b93a20 Deprecated Time field, use a time.Duration instead.
The parser.Package.Time and parser.Test.Time fields are currently still
supported, but will be removed in the future.
2018-04-21 18:15:02 +01:00
c1eb342963 Add -match test flag to make testing specific tests easier 2018-04-21 18:15:02 +01:00
6e1ccef4d8 Add support for cached tests 2018-04-21 18:15:02 +01:00
6a7ce5ecd4 Rename tests to testdata 2018-04-21 18:10:48 +01:00
6f96942bb2 Rename and update parallel testcase 2018-03-17 19:44:04 +00:00
766f2ff9bb Merge pull request #67 from mattdelco/upstream 2018-03-17 19:42:25 +00:00
03cda22671 Move junit-formatter.go to its own package for use as a library.
This lets JUnit xml generation be integrated into larger tools
instead of having to run the `go-junit-report` binary as a subprocess.
2018-03-16 16:09:48 -07:00
0e171eb667 [rvelaz] Fix test report when the program writes to stdout 2018-01-05 17:25:13 +01:00
862454a821 Add state to ignore trailing output 2017-07-26 08:06:07 +02:00
0f1caf6c3e Revert changes to coverage regexps
Add expected test output instead
2017-07-25 09:25:47 +02:00
01656fa7f4 Capture more test output, e.g. race detection results 2017-07-25 09:07:29 +02:00
15422cf504 Add support for -coverpkg output
Fixes #59
2017-07-24 21:45:57 +01:00
cce73b4996 Change findTest to return the most recently added test
Whenever we encounter a result line in the test output, we would find
the first test with the matching name and update it. However, in some
cases it's possible for the same test name to appear multiple times in
the output. To prevent us from always updating the oldest test, the
order in which findTests searches for a matching test is reversed so
that it always returns the most recently added test.

Fixes #54.
2017-05-11 22:22:43 +01:00
2a5fd0eeb0 Include failing packages without tests in report
If a package compiles correctly, but panics before it has a chance to
run any tests it would previously be ignored. Any failing packages
without tests but with some output will now be included in the report
with a dummy test.

Fixes #52
2017-04-27 23:21:54 +01:00
4e217bedba Detect setup error as a failing test
Fixes #50
2017-04-19 15:59:40 +03:00
e02a3f88c0 Merge pull request #45 from posener/build-error
Fail package in case of build error
2017-04-01 12:38:20 +01:00
d10c0632c7 Use test level failure to indicate build failure
- Use single regex for package result line
- Add capturing of package build failure output
2017-03-30 21:46:08 +03:00
22792ea55c Add "go-version" flag
Makes it so that the value of the "go.version" property in
the output XML can be customized by the caller using the
"go-version" flag. If the flag is unspecified, falls back to
the previous behavior of using runtime.Version() as the value.

Fixes #48
2017-03-26 15:43:14 -07:00
3c05bc8cb6 Fail package in case of build error
In case of build error, the unittest fail, but the junit-report
with the set-exit-code flag on returns status code 0.
This commit will make it return the right status code.
2017-01-22 10:13:01 +02:00
faed36da23 Fix 1.7 compatbility 2016-09-12 13:54:45 -07:00
24d394d799 Add go 1.7 compatibility
* Subtests and nested subtests have spaces at the beginning of their
PASS statements. This has been added to the regexp.
2016-09-12 13:54:45 -07:00
1b60a11396 Add support for Go 1.5 test results
An alternate approach that does not involve regular expressions.

Fixes #15
2015-08-23 10:55:52 -07:00