<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<meta content="text/html; charset=US-ASCII" http-equiv="Content-Type">
<title>
GitLab
</title>



<style>img {
max-width: 100%; height: auto;
}
</style>
</head>
<body>
<div class="content">

<h3>
Tobias Boege pushed to branch gb.test.tap
at <a href="https://gitlab.com/gambas/gambas">Gambas / gambas</a>
</h3>
<h4>
Commits:
</h4>
<ul>
<li>
<strong><a href="https://gitlab.com/gambas/gambas/-/commit/3752088d37db2d6344409639b0fbc999c18ddf9f">3752088d</a></strong>
<div>
<span>by Christof Thalhofer</span>
<i>at 2020-02-24T14:08:40+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gbt3: Fix cherrypicking

[GBT3]
* BUG: Fix selection of testmodule and testmethod
</pre>
</li>
<li>
<strong><a href="https://gitlab.com/gambas/gambas/-/commit/b8923a2b93924a863bec54fe7da04bf8b785ecea">b8923a2b</a></strong>
<div>
<span>by gambas</span>
<i>at 2020-02-25T03:19:16+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Update many icons.

[GB.FORM.STOCK]
* NEW: Update many icons.
</pre>
</li>
<li>
<strong><a href="https://gitlab.com/gambas/gambas/-/commit/0a63c136765a50bb92c9c37972f05a638dfed753">0a63c136</a></strong>
<div>
<span>by gambas</span>
<i>at 2020-02-25T03:19:34+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">Merge branch 'master' of gitlab.com:gambas/gambas
</pre>
</li>
<li>
<strong><a href="https://gitlab.com/gambas/gambas/-/commit/787674f18898e365073cdad98ac891b04509dc84">787674f1</a></strong>
<div>
<span>by Tobias Boege</span>
<i>at 2020-02-27T20:38:55+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">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.
</pre>
</li>
<li>
<strong><a href="https://gitlab.com/gambas/gambas/-/commit/235169553c072889bff42604e98fec4e0a59bd21">23516955</a></strong>
<div>
<span>by Tobias Boege</span>
<i>at 2020-02-27T20:38:55+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gb.test.tap: More Assert methods

[GB.TEST.TAP]
* NEW: More Assert methods for compatibility with gb.test.
</pre>
</li>
<li>
<strong><a href="https://gitlab.com/gambas/gambas/-/commit/b583aeaeedeb64e1855c0d08d52911d3b5137cd9">b583aeae</a></strong>
<div>
<span>by Tobias Boege</span>
<i>at 2020-02-27T20:38:55+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gb.test.tap: Support multiline diagnostics

[GB.TEST.TAP]
* NEW: Support multiline diagnostics.
</pre>
</li>
<li>
<strong><a href="https://gitlab.com/gambas/gambas/-/commit/4d285e8ac5b2acfa3a9fe39bca4464d48804d088">4d285e8a</a></strong>
<div>
<span>by Tobias Boege</span>
<i>at 2020-02-27T20:38:55+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gb.test.tap: Fix "Expected" diagnostic in StringEquals

[GB.TEST.TAP]
* BUG: Fix "Expected" diagnostic in StringEquals.
</pre>
</li>
<li>
<strong><a href="https://gitlab.com/gambas/gambas/-/commit/622bd35522152ecb5ae1bf49d16dae77fd0f1631">622bd355</a></strong>
<div>
<span>by Tobias Boege</span>
<i>at 2020-02-27T20:38:55+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">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.
</pre>
</li>
<li>
<strong><a href="https://gitlab.com/gambas/gambas/-/commit/185bbf5745e0f31e85432dda590e4c820e7621d7">185bbf57</a></strong>
<div>
<span>by Tobias Boege</span>
<i>at 2020-02-27T20:38:55+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">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.
</pre>
</li>
<li>
<strong><a href="https://gitlab.com/gambas/gambas/-/commit/65da83b374e20233f04be7da294ce1772938dc99">65da83b3</a></strong>
<div>
<span>by Tobias Boege</span>
<i>at 2020-02-27T20:38:55+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gb.test.tap: Forgot Assert.BailOut

[GB.TEST.TAP]
* NEW: Add Assert.BailOut wrapper for the internal TapPrinter.
</pre>
</li>
<li>
<strong><a href="https://gitlab.com/gambas/gambas/-/commit/13dd1d252bd8675c31b2eab72c68c4fd34150b5c">13dd1d25</a></strong>
<div>
<span>by Tobias Boege</span>
<i>at 2020-02-27T20:38:55+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">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.
</pre>
</li>
<li>
<strong><a href="https://gitlab.com/gambas/gambas/-/commit/73eafee853d6107fb26169b38c4d8d885c28a35d">73eafee8</a></strong>
<div>
<span>by Tobias Boege</span>
<i>at 2020-02-27T20:38:55+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">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.
</pre>
</li>
<li>
<strong><a href="https://gitlab.com/gambas/gambas/-/commit/3fdfbe3b155db0fd895c85af9bb5ba5fed8e5192">3fdfbe3b</a></strong>
<div>
<span>by Tobias Boege</span>
<i>at 2020-02-27T20:38:55+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">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.
</pre>
</li>
<li>
<strong><a href="https://gitlab.com/gambas/gambas/-/commit/27cc0504ac7e662cfa57104d8f8347199748de00">27cc0504</a></strong>
<div>
<span>by Tobias Boege</span>
<i>at 2020-02-27T20:38:55+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gb.test.tap: Fix subtest summary

[GB.TEST.TAP]
* BUG: Correctly summarize subtest. In particular empty tests fail.
</pre>
</li>
<li>
<strong><a href="https://gitlab.com/gambas/gambas/-/commit/6c82b48abc6c16516024d690033ff1d07735b3b9">6c82b48a</a></strong>
<div>
<span>by Tobias Boege</span>
<i>at 2020-02-27T20:38:55+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">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.
</pre>
</li>
<li>
<strong><a href="https://gitlab.com/gambas/gambas/-/commit/679cb645545989faae834a61d066cac705caf668">679cb645</a></strong>
<div>
<span>by Tobias Boege</span>
<i>at 2020-02-27T20:38:55+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">gb.test.tap: Add more diagnostics

[GB.TEST.TAP]
* NEW: Add more diagnostics when Assert methods fail.
</pre>
</li>
<li>
<strong><a href="https://gitlab.com/gambas/gambas/-/commit/c9c99c00504ad76090cc7bfcf467074754c7d36d">c9c99c00</a></strong>
<div>
<span>by Tobias Boege</span>
<i>at 2020-02-27T20:38:55+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">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.
</pre>
</li>
<li>
<strong><a href="https://gitlab.com/gambas/gambas/-/commit/350d61cd8531921a869e98bf6ad324a7883e3f40">350d61cd</a></strong>
<div>
<span>by Tobias Boege</span>
<i>at 2020-02-27T20:38:55+01:00</i>
</div>
<pre class="commit-message" style="white-space: pre-wrap; margin: 0;">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.
</pre>
</li>
</ul>
<h4>30 changed files:</h4>
<ul>
<li class="file-stats">
<a href="https://gitlab.com/gambas/gambas/-/compare/f1868cdf2dce3a23cb9ace2e548be0f0667b4372...350d61cd8531921a869e98bf6ad324a7883e3f40#c7b0e02350c916b2d2ee42ca34c2747df9202ad6">
app/src/gbt3/.project
</a>
</li>
<li class="file-stats">
<a href="https://gitlab.com/gambas/gambas/-/compare/f1868cdf2dce3a23cb9ace2e548be0f0667b4372...350d61cd8531921a869e98bf6ad324a7883e3f40#1e19d6c524a69f3983ab7ad29f7604d56f55c10a">
app/src/gbt3/.src/Main.module
</a>
</li>
<li class="file-stats">
<a href="https://gitlab.com/gambas/gambas/-/compare/f1868cdf2dce3a23cb9ace2e548be0f0667b4372...350d61cd8531921a869e98bf6ad324a7883e3f40#37155cc74a55a0b6b97144b70563bcd384b21f4f">
comp/src/gb.form.stock/gambas-mono/32/bottom.png
</a>
</li>
<li class="file-stats">
<a href="https://gitlab.com/gambas/gambas/-/compare/f1868cdf2dce3a23cb9ace2e548be0f0667b4372...350d61cd8531921a869e98bf6ad324a7883e3f40#aadf5d4dbfcc0f7b3bd1459d4098167aeb27cca9">
comp/src/gb.form.stock/gambas-mono/32/first.png
</a>
</li>
<li class="file-stats">
<a href="https://gitlab.com/gambas/gambas/-/compare/f1868cdf2dce3a23cb9ace2e548be0f0667b4372...350d61cd8531921a869e98bf6ad324a7883e3f40#96970abb70257cca238b705444d2cd05bbc2acfa">
comp/src/gb.form.stock/gambas-mono/32/important.png
</a>
</li>
<li class="file-stats">
<a href="https://gitlab.com/gambas/gambas/-/compare/f1868cdf2dce3a23cb9ace2e548be0f0667b4372...350d61cd8531921a869e98bf6ad324a7883e3f40#c8bc772b6561fe15e3a3a1692115e63852e89336">
comp/src/gb.form.stock/gambas-mono/32/indent.png
</a>
</li>
<li class="file-stats">
<a href="https://gitlab.com/gambas/gambas/-/compare/f1868cdf2dce3a23cb9ace2e548be0f0667b4372...350d61cd8531921a869e98bf6ad324a7883e3f40#416ff48c17b1624138c2bf2e3593a4c7389a4509">
comp/src/gb.form.stock/gambas-mono/32/last.png
</a>
</li>
<li class="file-stats">
<a href="https://gitlab.com/gambas/gambas/-/compare/f1868cdf2dce3a23cb9ace2e548be0f0667b4372...350d61cd8531921a869e98bf6ad324a7883e3f40#2b8bb0f9ee5f7633f9543d6aad89cc40893e854f">
comp/src/gb.form.stock/gambas-mono/32/make-all.png
</a>
</li>
<li class="file-stats">
<a href="https://gitlab.com/gambas/gambas/-/compare/f1868cdf2dce3a23cb9ace2e548be0f0667b4372...350d61cd8531921a869e98bf6ad324a7883e3f40#3fe750db34698753cdd5fa6d02870344120e87e2">
comp/src/gb.form.stock/gambas-mono/32/make.png
</a>
</li>
<li class="file-stats">
<a href="https://gitlab.com/gambas/gambas/-/compare/f1868cdf2dce3a23cb9ace2e548be0f0667b4372...350d61cd8531921a869e98bf6ad324a7883e3f40#469eda874c3cdcb71e4243a5085e62f0c2f4be1b">
comp/src/gb.form.stock/gambas-mono/32/question.png
</a>
</li>
<li class="file-stats">
<a href="https://gitlab.com/gambas/gambas/-/compare/f1868cdf2dce3a23cb9ace2e548be0f0667b4372...350d61cd8531921a869e98bf6ad324a7883e3f40#8c55717e4c5753844b55745e80a61ca1175a43b2">
comp/src/gb.form.stock/gambas-mono/32/replace.png
</a>
</li>
<li class="file-stats">
<a href="https://gitlab.com/gambas/gambas/-/compare/f1868cdf2dce3a23cb9ace2e548be0f0667b4372...350d61cd8531921a869e98bf6ad324a7883e3f40#0ea1fb2a1bb13391139b83465a17e93244c79cc1">
comp/src/gb.form.stock/gambas-mono/32/save-as.png
</a>
</li>
<li class="file-stats">
<a href="https://gitlab.com/gambas/gambas/-/compare/f1868cdf2dce3a23cb9ace2e548be0f0667b4372...350d61cd8531921a869e98bf6ad324a7883e3f40#ee646775aa8b9ba45326f6363866ae5bdf28c758">
comp/src/gb.form.stock/gambas-mono/32/select-all.png
</a>
</li>
<li class="file-stats">
<a href="https://gitlab.com/gambas/gambas/-/compare/f1868cdf2dce3a23cb9ace2e548be0f0667b4372...350d61cd8531921a869e98bf6ad324a7883e3f40#63acb0ba34c458f9d38472045f5d2aff9aef1887">
comp/src/gb.form.stock/gambas-mono/32/select.png
</a>
</li>
<li class="file-stats">
<a href="https://gitlab.com/gambas/gambas/-/compare/f1868cdf2dce3a23cb9ace2e548be0f0667b4372...350d61cd8531921a869e98bf6ad324a7883e3f40#eef145bbc1c1ddfa3dc199251ba4a42e1975752a">
comp/src/gb.form.stock/gambas-mono/32/sort-ascent.png
</a>
</li>
<li class="file-stats">
<a href="https://gitlab.com/gambas/gambas/-/compare/f1868cdf2dce3a23cb9ace2e548be0f0667b4372...350d61cd8531921a869e98bf6ad324a7883e3f40#4a7179a5cff233afe7c57bfc3f3005553cec7dc4">
comp/src/gb.form.stock/gambas-mono/32/sort-descent.png
</a>
</li>
<li class="file-stats">
<a href="https://gitlab.com/gambas/gambas/-/compare/f1868cdf2dce3a23cb9ace2e548be0f0667b4372...350d61cd8531921a869e98bf6ad324a7883e3f40#3c3b06faabd3faeee85197be29620cdc837df76d">
comp/src/gb.form.stock/gambas-mono/32/text-baseline.png
</a>
</li>
<li class="file-stats">
<a href="https://gitlab.com/gambas/gambas/-/compare/f1868cdf2dce3a23cb9ace2e548be0f0667b4372...350d61cd8531921a869e98bf6ad324a7883e3f40#122b05881b5ced2f32657e40e35e32d883bccc70">
comp/src/gb.form.stock/gambas-mono/32/text-bottom.png
</a>
</li>
<li class="file-stats">
<a href="https://gitlab.com/gambas/gambas/-/compare/f1868cdf2dce3a23cb9ace2e548be0f0667b4372...350d61cd8531921a869e98bf6ad324a7883e3f40#2e532dfd553df3e4831d3ecf25089314658906fb">
comp/src/gb.form.stock/gambas-mono/32/text-center.png
</a>
</li>
<li class="file-stats">
<a href="https://gitlab.com/gambas/gambas/-/compare/f1868cdf2dce3a23cb9ace2e548be0f0667b4372...350d61cd8531921a869e98bf6ad324a7883e3f40#3b51017f6ddcb3d229b4b23d1f03084fed26963b">
comp/src/gb.form.stock/gambas-mono/32/text-fill.png
</a>
</li>
<li class="file-stats">
<a href="https://gitlab.com/gambas/gambas/-/compare/f1868cdf2dce3a23cb9ace2e548be0f0667b4372...350d61cd8531921a869e98bf6ad324a7883e3f40#7858609ac42b38def219cedada4054aae598915f">
comp/src/gb.form.stock/gambas-mono/32/text-left.png
</a>
</li>
<li class="file-stats">
<a href="https://gitlab.com/gambas/gambas/-/compare/f1868cdf2dce3a23cb9ace2e548be0f0667b4372...350d61cd8531921a869e98bf6ad324a7883e3f40#4bd019f64ddcdcaa0cada0d4ccc17d926a4ba55d">
comp/src/gb.form.stock/gambas-mono/32/text-middle.png
</a>
</li>
<li class="file-stats">
<a href="https://gitlab.com/gambas/gambas/-/compare/f1868cdf2dce3a23cb9ace2e548be0f0667b4372...350d61cd8531921a869e98bf6ad324a7883e3f40#58bef9cc75f4371415603a95655a3f1cb3006757">
comp/src/gb.form.stock/gambas-mono/32/text-right.png
</a>
</li>
<li class="file-stats">
<a href="https://gitlab.com/gambas/gambas/-/compare/f1868cdf2dce3a23cb9ace2e548be0f0667b4372...350d61cd8531921a869e98bf6ad324a7883e3f40#98764e4a609c13a41d7cd46961231babe3578435">
comp/src/gb.form.stock/gambas-mono/32/text-strike.png
</a>
</li>
<li class="file-stats">
<a href="https://gitlab.com/gambas/gambas/-/compare/f1868cdf2dce3a23cb9ace2e548be0f0667b4372...350d61cd8531921a869e98bf6ad324a7883e3f40#fb155ae4a9db27fe84d036bd18cf0a2d8f974df8">
comp/src/gb.form.stock/gambas-mono/32/text-top.png
</a>
</li>
<li class="file-stats">
<a href="https://gitlab.com/gambas/gambas/-/compare/f1868cdf2dce3a23cb9ace2e548be0f0667b4372...350d61cd8531921a869e98bf6ad324a7883e3f40#c16ca554e401db6c58c64086dddddab9945a65b6">
comp/src/gb.form.stock/gambas-mono/32/text-underline.png
</a>
</li>
<li class="file-stats">
<a href="https://gitlab.com/gambas/gambas/-/compare/f1868cdf2dce3a23cb9ace2e548be0f0667b4372...350d61cd8531921a869e98bf6ad324a7883e3f40#570a377c5bd302c3ed1eba949f1967c196f83e7b">
comp/src/gb.form.stock/gambas-mono/32/top.png
</a>
</li>
<li class="file-stats">
<a href="https://gitlab.com/gambas/gambas/-/compare/f1868cdf2dce3a23cb9ace2e548be0f0667b4372...350d61cd8531921a869e98bf6ad324a7883e3f40#4e3fe2fa7b5057aa4535c1c4c0ef271bdb110903">
comp/src/gb.form.stock/gambas-mono/32/unindent.png
</a>
</li>
<li class="file-stats">
<a href="https://gitlab.com/gambas/gambas/-/compare/f1868cdf2dce3a23cb9ace2e548be0f0667b4372...350d61cd8531921a869e98bf6ad324a7883e3f40#341db1c0cb50a1d04c2ab0f3f8b63ea22483d0a9">
comp/src/gb.form.stock/gambas-mono/32/view-detail.png
</a>
</li>
<li class="file-stats">
<a href="https://gitlab.com/gambas/gambas/-/compare/f1868cdf2dce3a23cb9ace2e548be0f0667b4372...350d61cd8531921a869e98bf6ad324a7883e3f40#142a16d6c9008d0088195888ef0e07f879f9c360">
comp/src/gb.form.stock/gambas-mono/32/view-normal.png
</a>
</li>
</ul>

</div>
<div class="footer" style="margin-top: 10px;">
<p style="font-size: small; color: #777;">

<br>
<a href="https://gitlab.com/gambas/gambas/-/compare/f1868cdf2dce3a23cb9ace2e548be0f0667b4372...350d61cd8531921a869e98bf6ad324a7883e3f40">View it on GitLab</a>.
<br>
You're receiving this email because of your account on gitlab.com.
If you'd like to receive fewer emails, you can
adjust your notification settings.



</p>
</div>
</body>
</html>