Commit graph

2591 commits

Author SHA1 Message Date
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
Tobias Boege
679cb64554 gb.test.tap: Add more diagnostics
[GB.TEST.TAP]
* NEW: Add more diagnostics when Assert methods fail.
2020-02-27 20:38:55 +01:00
Tobias Boege
6c82b48abc gb.test.tap: Add SkipAll and don't lose stderr
[GB.TEST.TAP]
* NEW: Support skipping all tests.
* BUG: DO intercept a test process' stderr but forward it verbatim to the TAP stream.
2020-02-27 20:38:55 +01:00
Tobias Boege
27cc0504ac gb.test.tap: Fix subtest summary
[GB.TEST.TAP]
* BUG: Correctly summarize subtest. In particular empty tests fail.
2020-02-27 20:38:55 +01:00
Tobias Boege
3fdfbe3b15 gb.test.tap: Allow Assert to be reset
[GB.TEST.TAP]
* NEW: Add Reset() method to Assert. Useful if you use the same (automatic) instance for multiple TAP streams.
* BUG: Fix state handling in TapPrinter.Finished.
2020-02-27 20:38:55 +01:00
Tobias Boege
73eafee853 gb.test.tap: Don't set ExitCode when reading from a Stream
[GB.TEST.TAP]
* BUG: TestHarness cannot set ExitCode when there is no Process involved.
2020-02-27 20:38:55 +01:00
Tobias Boege
13dd1d252b gb.test.tap: Fix output stream handling
[GB.TEST.TAP]
* NEW: Allow to set the output stream of Assert.
* BUG: Subtests inherit their parent's output stream.
2020-02-27 20:38:55 +01:00
Tobias Boege
65da83b374 gb.test.tap: Forgot Assert.BailOut
[GB.TEST.TAP]
* NEW: Add Assert.BailOut wrapper for the internal TapPrinter.
2020-02-27 20:38:55 +01:00
Tobias Boege
185bbf5745 gb.test.tap: TestStats class and don't capture stderr
[GB.TEST.TAP]
* NEW: Turn TestStats into a class.
* NEW: Store TestStats.Failures as an Integer[].
* BUG: Do NOT intercept test's stderr and convert it to diagnostics.
2020-02-27 20:38:55 +01:00
Tobias Boege
622bd35522 gb.test.tap: Support Stream input in TestHarness
[GB.TEST.TAP]
* NEW: Allow TestHarness to read from just a Stream. Unlike reading from a Process, this is eager instead of event-driven.
2020-02-27 20:38:55 +01:00
Tobias Boege
4d285e8ac5 gb.test.tap: Fix "Expected" diagnostic in StringEquals
[GB.TEST.TAP]
* BUG: Fix "Expected" diagnostic in StringEquals.
2020-02-27 20:38:55 +01:00
Tobias Boege
b583aeaeed gb.test.tap: Support multiline diagnostics
[GB.TEST.TAP]
* NEW: Support multiline diagnostics.
2020-02-27 20:38:55 +01:00
Tobias Boege
235169553c gb.test.tap: More Assert methods
[GB.TEST.TAP]
* NEW: More Assert methods for compatibility with gb.test.
2020-02-27 20:38:55 +01:00
Tobias Boege
787674f188 gb.test.tap: New component for reading and writing TAP
[GB.TEST.TAP]
* NEW: Add new component based on an old fork of gb.test.
2020-02-27 20:38:55 +01:00
gambas
0a63c13676 Merge branch 'master' of gitlab.com:gambas/gambas 2020-02-25 03:19:34 +01:00
gambas
b8923a2b93 Update many icons.
[GB.FORM.STOCK]
* NEW: Update many icons.
2020-02-25 03:19:16 +01:00
Christof Thalhofer
3752088d37 gbt3: Fix cherrypicking
[GBT3]
* BUG: Fix selection of testmodule and testmethod
2020-02-24 14:08:40 +01:00
Christof Thalhofer
06b405f22d gb.test: BailOut if a testmodule is empty
[GB.TEST]
* NEW: BailOut if a testmodule is empty
2020-02-23 22:31:28 +01:00
Christof Thalhofer
f3413f1533 gb.test: example unittesthelloworld with test module 2020-02-23 12:52:57 +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
gambas
26b4327f52 DataView: Add SelectAll() and UnselectAll() methods.
[GB.DB.FORM]
* NEW: DataView: Add SelectAll() and UnselectAll() methods.
2020-02-21 02:52:31 +01:00
gambas
ba39f8ff72 TextEditor: Correctly handle the drawing of the difference before the first line.
[GB.FORM.EDITOR]
* BUG: TextEditor: Correctly handle the drawing of the difference before the first line.
* BUG: TextEditor: Correctly relayout differences when the Wrap property changes.
2020-02-20 16:28:47 +01:00
gambas
8a91545f11 CsvFile: Support for creating CSV files, not just reading them.
[GB.UTIL]
* NEW: CsvFile: Open() is a new method for opening a CSV file for reading.
* NEW: CsvFile: Create() is a new method for opening a CSV file for writing.
2020-02-19 03:00:45 +01:00
gambas
6793fbeadb Fix a typo in the icon map file.
[GB.FORM]
* BUG: Fix a typo in the icon map file.
2020-02-14 01:24:19 +01:00
gambas
4cbe937d04 Add 'view-tree' stock icon.
[GB.FORM]
* NEW: Add 'view-tree' stock icon.

[GB.FORM.STOCK]
* NEW: Add 'view-tree' stock icon.
* NEW: Redraw 'terminal' icon.
2020-02-14 00:46:54 +01:00
gambas
166231e89f Process: The answer to an expected prompt is correctly sent now.
[GB.UTIL]
* BUG: Process: The answer to an expected prompt is correctly sent now.
2020-02-12 17:28:57 +01:00
gambas
311d05d473 The Terminal class has been removed, and replace by an extension of the Process class.
[GB.UTIL]
* NEW: The Terminal class has been removed, and replace by an extension of the Process class. In other word the Expect() method is now directly a method of the Process class.
2020-02-12 02:26:10 +01:00
gambas
ee6b43ca21 Merge branch 'master' of gitlab.com:gambas/gambas 2020-02-11 01:53:47 +01:00
gambas
37b29a2191 Terminal: A new class that allows to answer the prompts of interactive commands running in a virtual terminal easily (think about ssh, scp...).
[GB.UTIL]
* NEW: Terminal: A new class that allows to answer the prompts of interactive commands running in a virtual terminal easily (think about ssh, scp...).
2020-02-11 01:53:07 +01:00
gambas
bade7e53dd Converting a collection into JSON is a now a bit faster.
[GB.UTIL.WEB]
* OPT: Converting a collection into JSON is a now a bit faster.
2020-02-11 01:50:18 +01:00
gambas
fc463e5f18 FontChooser: Initializing the font tree is now a lot faster.
[GB.FORM]
* OPT: FontChooser: Initializing the font tree is now a lot faster.
2020-02-11 01:48:45 +01:00
Christof Thalhofer
2fbfa495fc gb.test: Minimal change to test gitlab notification 2020-02-10 13:58:51 +01:00
Christof Thalhofer
d9fff7c380 gb.test Assert.Error clears error 2020-02-10 11:18:29 +01:00
gambas
7475109afe Fix component metadata so that it is usable from the outside.
[GB.WEB.FORM2]
* BUG: Fix component metadata.
* BUG: Don't make test forms exported. They can conflict with other forms with the same name.
* NEW: The Window Close event can be cancelled.
2020-02-05 22:47:23 +01:00
Christof Thalhofer
313ef71b0f gb.test Assert.Note complains about Null value
[GB.TEST]
    * NEW: Assert.Note complains about Null value
2020-02-01 23:54:01 +01:00
Christof Thalhofer
466aec07bb gb.test Assert returns result as boolean
[GB.TEST]
    * NEW: Assertions return test results as boolean. This can be used
    to print out an Assert.Note on failure.
2020-01-28 15:58:13 +01:00
Christof Thalhofer
550c56b596 gb.test: Fix plan if just one testmethod called
[GB.TEST]
    * BUG: Fix plan that counted all testmethods in a container even if just one was called
2020-01-24 10:10:39 +01:00
gambas
0fa6323186 Add Toolbar properties and methods needed to implement global save/restore of toolbar layouts.
[GB.FORM.MDI]
* NEW: Toolbar: Settings is a new property that allows to return or set the toolbar layout as a string.
* NEW: Toolbar: GetLayout() is a new static method that returns the saved layout of a toolbar from its key.
* NEW: Toolbar: SetLayout() is a new static method that defines the saved layout of a toolbar from its key.
2020-01-24 08:25:06 +01:00
gambas
6798771a6e IconPanel: Scale the panel icons so that each panel title has the same height.
[GB.FORM]
* NEW: IconPanel: Scale the panel icons so that each panel title has the same height.
2020-01-24 08:23:44 +01:00
gambas
95ee02ef3f IconView: Do not use rounded rectangles anymore for selection frames.
[GB.GUI.BASE]
* NEW: IconView: Do not use rounded rectangles anymore for selection frames.
2020-01-24 08:22:33 +01:00
gambas
f1780045e8 Use the KDE SVG version of Tux that is a lot smaller.
[GB.FORM]
* OPT: Use the KDE SVG version of Tux that is a lot smaller.
2020-01-24 08:13:05 +01:00
gambas
ccf1491037 Fix Drag() that was returning the drag frame instead of the target control.
[GB.GTK]
* BUG: Fix Drag() that was returning the drag frame instead of the target control.

[GB.GTK3]
* BUG: Fix Drag() that was returning the drag frame instead of the target control.

[GB.GUI.BASE]
* BUG: Fix Drag() that was returning the drag frame instead of the target control.

[GB.QT4]
* BUG: Fix Drag() that was returning the drag frame instead of the target control.

[GB.QT5]
* BUG: Fix Drag() that was returning the drag frame instead of the target control.
2020-01-24 08:12:01 +01:00
Christof Thalhofer
bae7204720 gb.test: Track errors with Error.Code 0 2020-01-22 09:13:41 +01:00
GianluigiOr
269a87ade6 Contains new Italian translations and a new author
[DEVELOPMENT ENVIRONMENT]
* NEW: The IDE Italian translations are now complete.

[GB.WEB.FORM2]
* NEW: The Italian translation.

[AUTHORS]
* NEW: Added a new italian translator
2020-01-21 14:27:36 +01:00
gambas
44256b0c65 TextEditor: Add support for integrated diff mode.
[GB.FORM.EDITOR]
* NEW: TextEditor: Add support for integrated diff mode.
2020-01-20 13:01:05 +01:00
gambas
436039635b IconView: Fix grid height computation.
[GB.GUI.BASE]
* BUG: IconView: Fix grid height computation.
2020-01-20 12:58:58 +01:00
gambas
2deeab7410 Fix how Picture[] interprets relative paths.
[GB.GUI.BASE]
* BUG: Fix how Picture[] interprets relative paths.
2020-01-14 14:19:41 +01:00
gambas
0e46715855 TabPanel: TabBarSize is a new property that returns the height of the tab bar.
[GB.FORM]
* NEW: TabPanel: TabBarSize is a new property that returns the height of the tab bar.
* NEW: TabPanel: The "close all" button is now drawn after the right padding.
* NEW: ButtonBox: Custom buttons added with _AddButton() are now always between the clear button, and the standard button.
2020-01-09 18:33:36 +01:00