Commit graph

8038 commits

Author SHA1 Message Date
gambas
b865fa737f Reserve one pixel less between characters for bold text.
[GB.FORM.TERMINAL]
* BUG: Reserve one pixel less between characters for bold text.
2020-02-29 20:05:16 +01:00
gambas
a703c7f2ea Add String.PadLeft() and String.PadRight() methods.
[GB.UTIL]
* NEW: String.PadLeft() is a new method that pad a string to the left up to a specified length using a string pattern.
* NEW: String.PadRight() is a new method that pad a string to the right up to a specified length using a string pattern.
2020-02-29 19:39:40 +01:00
Christof Thalhofer
583a0c872d gb.test: Flowchart
[GB.TEST]
* NEW: Flowchart made by libre office draw and exported as svg

This is a first try to show the interplay between gbt3, gb.test and
gb.test.tap.
2020-02-29 13:15:55 +01:00
gambas
9e33023518 FileProperties: Add Click event and Index property so that tab changes can be handled.
[GB.FORM]
* NEW: FileProperties: Add() now returns the index of the added tab.
* NEW: FileProperties: Index is a new property that returns or sets the current tab index.
* NEW: FileProperties: Click is a new event that is raised when a tab is selected.
2020-02-28 18:38:16 +01:00
gambas
cc70ae4f83 Redraw many icons.
[GB.FORM.STOCK]
* NEW: Redraw many icons.
2020-02-28 18:37:31 +01:00
gambas
e57c7616f0 File properties dialog: Display file history if version control is enabled.
[DEVELOPMENT ENVIRONMENT]
* NEW: File properties dialog: Display file history if version control is enabled.
* NEW: Use bold text instead of shadows to display project titles.
2020-02-28 18:33:32 +01: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
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
a10a5db270 gbt3: refactoring, more stability, TAP stream
[GBT3]
* NEW: gbt3 finds compiler and executor on the computer, TAP output as stream
2020-02-24 11:15:09 +01:00
Christof Thalhofer
ea260ee017 gbt3: fix bug: missing wait
[GBT3]
* BUG: gbt3: Fix missing Wait. Now reliable testing.
2020-02-23 22:50:38 +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
Brian G
11eaba36bc [Scripter]
* NEW removed Lib directive
* NEW Added support for -w warnings
* NEW Added to only check last reply from compiler for ok
* NEW Added support for libraries using new Lib directive
2020-02-23 12:16:23 -08:00
Christof Thalhofer
f6acfff787 gbt3 a Gambas program to test a project from commandline
*[NEW] gbt3.gambas: runs tests from commandline
2020-02-23 17:53:01 +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
fd778d20c8 Fix an uninitialized local variable.
[COMPILER]
* BUG: Fix an uninitialized local variable.
2020-02-22 22:43:11 +01:00
gambas
0387d9459b Do not put explicit copyright holder name in the COPYING file.
[GB.DB.POSTGRESQL]
* BUG: Do not put explicit copyright holder name in the COPYING file.
2020-02-22 22:18:39 +01:00
gambas
cf7027c431 Add licence exception for OpenSSL.
[GB.DB.POSTGRESQL]
* NEW: Add licence exception for OpenSSL.
2020-02-22 22:08:57 +01:00
gambas
3adee3a411 Add support for test modules.
[DEVELOPMENT ENVIRONMENT]
* NEW: Add support for test modules.
2020-02-22 15:58:32 +01:00
gambas
e584ba6713 Add support for test modules.
[COMPILER]
* NEW: Support for test modules.

[ARCHIVER]
* NEW: Support for test modules.
2020-02-22 15:57:46 +01:00
gambas
b7c6d4cca6 Packager: Add distribution suffix in rpm support package dependencies.
[DEVELOPMENT ENVIRONMENT]
* BUG: Packager: Add distribution suffix in rpm support package dependencies.
2020-02-22 00:51:49 +01:00
Brian G
522c562a3d [Scripter]
* NEW Added support for -w warnings
* NEW Added to only check last reply from compiler for ok
* NEW Added support for libraries using new Lib directive
2020-02-21 15:49:54 -08:00
Brian G
bec702cbd8 [Scripter]
* NEW Added support for -w warnings
* NEW Added to only check last reply from compiler for ok
2020-02-21 13:43:02 -08: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
0f3277cbb7 Database editor: The record count is correctly updated now, when records are removed or added.
[DEVELOPMENT ENVIRONMENT]
* BUG: Database editor: The record count is correctly updated now, when records are removed or added.
2020-02-21 02:51:53 +01:00
gambas
a5819d2511 The "remove trailing spaces" formatting option has no effect on '*.md' or '*.MD' files.
[DEVELOPMENT ENVIRONMENT]
* NEW: Update Gambas fonts.
* NEW: The "remove trailing spaces" formatting option has no effect on '*.md' or '*.MD' files.
2020-02-21 02:36:02 +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
c24a82a53d Merge branch 'master' of gitlab.com:gambas/gambas 2020-02-19 03:01:10 +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
Benoît Minisini
1dd18b392f Update .gitlab-ci.yml 2020-02-18 23:10:55 +00:00
gambas
131653ab1f Converting a string to a pointer returns a pointer pointing at the beginning of the string.
[INTERPRETER]
* NEW: Converting a string to a pointer returns a pointer pointing at the beginning of the string.
2020-02-18 23:03:24 +01:00
gambas
7bedc9af65 Fix VarPtr() behaviour.
[INTERPRETER]
* BUG: VarPtr() on local strings are forbidden again.
* BUG: VarPtr() on variants now returns a pointer to the variant contents.
2020-02-18 20:36:45 +01:00
gambas
b8952bd393 Packager: Take package release number into account in 'rpm' & 'deb' dummy package dependencies.
[DEVELOPMENT ENVIRONMENT]
* BUG: Packager: Take package release number into account in 'rpm' & 'deb' dummy package dependencies.
2020-02-14 23:59:02 +01:00