Commit graph

14 commits

Author SHA1 Message Date
gambas
5004f20609 Move 'gb.test' sources in '/main/lib'.
[INTERPRETER]
* NEW: Remove the now useless testing specific code.
* NEW: 'gbx3 -T' now just loads the 'gb.test' component and calls Test.Main() passing it the '-T' option argument.

[GB.TEST]
* NEW: Move 'gb.test' sources in '/main/lib'.
* NEW: 'gb.test' has now a part written in C that allows him to load project classes on demand.
2020-05-25 21:24:28 +02:00
Christof Thalhofer
ae5dff6681 gb.test now compatible with the new interpreter calls
[GB.TEST]
* OPT: Test.Main restored
* NEW: Test.Main eats testsuite string
* OPT: TestSuite runs TestCases sorted
* NEW: Summary Ran: prints normalized testsuite string
* NEW: TestCommand compatible with new testsuite string
* NEW: Tests for introspection of all tests
2020-05-23 12:09:34 +02:00
Christof Thalhofer
afd35b4517 Refactoring and further tasks to do
Rename container and testcase to the more gambassy names testmodule and
testmethod. started plan selftests.
2020-05-12 00:49:33 +02:00
Christof Thalhofer
77436fd06d gb.test Setup and Teardown methods hidden 2020-05-11 22:26:08 +02:00
Christof Thalhofer
c306e9a5fc Fix: Free Assert from non-assertions
Assert free from non-assertions. Also Assert and Test now are
modules.
2020-04-27 12:01:47 +02:00
Christof Thalhofer
ce56c1ddb4 New signature of Test.Main(), not really functional
I'm goin to bed, just to backup my work to Gitlab
2020-04-08 00:46:09 +02:00
Christof Thalhofer
728194b3da Rename Unittest to Test 2020-04-07 16:48:46 +02:00
Tobias Boege
2489001ca4 gb.test: restore failing self-tests
[GB.TEST]
* NEW: Errors in tests are caught again.
* OPT: Shorten StringEquals diagnostics.
2020-04-07 15:08:46 +02:00
Tobias Boege
548d7da1cb gb.test: Remove ITest, ITestCase leftovers
[GB.TEST]
* OPT: Remove the inheritance hierarchy of ITest and ITestCase.

They are no longer needed to identify tests.
2020-02-27 20:58:27 +01: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
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