Commit graph

10 commits

Author SHA1 Message Date
Christof Thalhofer
728194b3da Rename Unittest to Test 2020-04-07 16:48:46 +02:00
Tobias Boege
84e9792043 gb.test: remove self-test concept
[GB.TEST]
* OPT: Remove the concept of self-tests. Since ".../.test" exists there is no need to distinguish their tests and ours anymore.
2020-04-07 15:08:54 +02:00
Tobias Boege
350d61cd85 gb.test: Restore BailOut on uncaught errors
[GB.TEST.TAP]
* NEW: Assert.SubtestLevel is a new property that returns the number of nested subtests.
* NEW: Assert.BailOut always unwinds the subtest stack and bails out of the entire TAP session.
* BUG: Tests can bail out even if Finished was called.

[GB.TEST]
* NEW: Bail out again if errors from test methods are caught.
* BUG: Don't call Finish on a subtest when it was already finished.

After the Bail out message, we Quit with non-zero exit status to signal
an abnormal termination to the harness.
2020-02-27 20:38:55 +01:00
Tobias Boege
c9c99c0050 gb.test: Use gb.test.tap
[GB.TEST]
* NEW: Use gb.test.

This removes the Assert and Track classes and uses gb.test.tap instead.
Test methods are now executed inside subtests, plan lines are auto-
matically emitted by the harness.

Differences between gb.tests's and gb.test.tap's Assert module:

  - Instead of Assert.True and Assert.False, use Assert.Ok.
  - Instead of Assert.Equals* for every type, there is a generic
    Assert.Equals for Variants and a specific Assert.StringEquals
    for strings which prints diagnostics when the test fails.
  - Assert.BailOut does not terminate the entire program, just
    the TAP stream.
  - Assert.ErrorWithCode is called Assert.ErrorCode.

All TAP printing is done through Assert now. Errors happening in the
test code are not caught and spoofed in the TAP stream anymore, they
cause a test failure. The system would be more robust if the testee
would be in a different process from the tester.
2020-02-27 20:38:55 +01:00
Christof Thalhofer
e4f06f6674 gb.test refactoring for use of test modules
[GB.TEST]
* NEW: Add support for test modules.
2020-02-23 12:38:53 +01:00
Christof Thalhofer
bae7204720 gb.test: Track errors with Error.Code 0 2020-01-22 09:13:41 +01:00
Christof Thalhofer
386f76e9fe gb.test UnitTest now scans .../.gambas for testclasses 2020-01-04 14:48:51 +01:00
Christof Thalhofer
c0fcfe0e5b gb.test: Always report Track.Plan <> Track.Counter
[GB.TEST]
*FIX: Always report Track.Plan <> Track.Counter even if no success
2019-12-31 01:51:24 +01:00
Christof Thalhofer
f9495607cf gb.test: Refactoring and improvements
[GB.TEST]
* NEW: Assert some reworking, skip, todo and body removed
* NEW: in a testcontainer in _new the count of tests can be defined by Me.Plan and differences between assertions counted and planned lead to No success
* NEW: Unittest.Bailout
2019-12-30 22:10:37 +01:00
Christof Thalhofer
6beaefbe1c new component gb.test
[GB.TEST]
* NEW: component for unittesting
2019-11-15 21:33:54 +00:00