Commit graph

10 commits

Author SHA1 Message Date
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
d7a478cc81 Fix: Test bails out if testmodule doesn't exist 2020-04-26 11:23:01 +02:00
Christof Thalhofer
7d55499305 Better readability of TAP output for humans
... I mean elder humans, like me
2020-04-26 10:44:59 +02:00
Christof Thalhofer
e5c9b3c1c2 gb.test and gbt3 some refactoring and future tasks 2020-04-25 21:28:51 +02:00
Tobias Boege
35cac9053f Refactor TapPrinter and Assert
This is a big refactor of the TapPrinter and Assert interaction with
the goal of enabling gb.test to print a self-summary after a TAP session
(without storing the TAP we printed and parsing it afterwards). The main
feature addition is a new class representing an assertion (together with
its subtests). Objects of this type are now produced by TapPrinter when
it prints an assertion and by TapParser alike when it parses TAP.
This allows more uniform and more detailed reporting of failures, too.

For organizational reasons, subtest support was moved into the printer.

[GB.TEST]
* NEW: Expose the TapContext class which holds the current TAP session's state.
* NEW: Represent assertions (and entire subtests) by TestAssertion objects in both TapPrinter and TapParser.
* NEW: Coalesce the four TapParser events for assertions into one.
* OPT: Move subtest support into TapPrinter, removing the need to create multiple TapPrinter objects.
* OPT: Remove the need for buffering the TAP to print a self-summary.
* BUG: Fix the buffering issue that would lose TAP when the process crashes.
2020-04-25 05:45:42 +02:00
Christof Thalhofer
294194557b gbtest.Test FIXME comment 2020-04-10 13:52:56 +02:00
Christof Thalhofer
254251b2f7 refact 2020-04-10 11:15:17 +02:00
Christof Thalhofer
815a1ddcf2 TestCommand parsing done, but system still buggy
Without "Debug oTest.Name" in TestSuite.class:39 it would silently crash anywhere
after TestNoMessage is done without printing any single character. Reason is
"Assert.BailOut" in TestSuite:51 which miraculously does nothing.

If the testsystem itself crashes, ist must print "BailOut ..."

But here also can be seen, why the system has to print every assertion immediately.
Any bufferíng is bad because if the testsystem crashes the buffered results are gone.

So we must get rid of the buffered stream thing and go back to Print scattered all over ;-)
2020-04-08 12:39:55 +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
Renamed from comp/src/gb.test/.src/TestSuite/UnitTest.class (Browse further)