[Gambas-user] Coming back to gb.test

Benoît Minisini g4mba5 at gmail.com
Mon Apr 6 14:19:01 CEST 2020


Le 06/04/2020 à 14:02, Tobias Boege a écrit :
> On Mon, 06 Apr 2020, Christof Thalhofer wrote:
>> Am 06.04.20 um 09:57 schrieb Christof Thalhofer:
>>
>>> Haha, but we first have to discuss for half a year which the
>>> alternatives are, Benoît has to decide between.
>>
>> Ok, AFAICS we can boil this thing down into two alternatives:
>>
>> 1) gb.test as a monolith which tests a project, does accounting and
>> prints TAP by itself. It tests its entire functionality by itself. It
>> contains the printing and accounting functionality of current
>> gb.test.tap. In this szenario gb.test.tap does TAP parsing, but
>> independent of gb.test. TAP itself is the interface between the two.
>>
>> 2) gb.test tests a project, but depends on gb.test.tap, which provides
>> the printing functionality and does accounting. gb.test and gb.test.tap
>> share Assert as interface. gb.test's Assert inherits Assert from
>> gb.test.tap which provides Ok, Diag, Skip, Todo and BailOut. gb.test.tap
>> also does TAP parsing.
>>
> 
> Christof and I had another talk and present a third option that
> we're both content with:
> 
> 3) gb.test.tap keeps printing and parsing classes so it remains
>     a complete implementation of TAP. The printing classes are
>     *symlinked* into gb.test for integrity. The Assert class moves
>     into gb.test.
> 
> Benoît: As I recall the IDE supports symlinked source files already,
> so it seems like a solution that is endorsed by you too, right?
> 
> Regards,
> Tobias
> 

Yes.

Anyway, maybe I should point before that you don't have to make -two- 
components.

Splitting things into components is really mandatory when the components 
depend directly or indirectly on specific shared libraries, and so on 
specific binary packages.

But as soon as everything is written in Gambas and depends on no 
specific component, you can put everything in the same project, while 
keeping the separation between the 'gb.test' code and the 'gb.test.tap' 
code.

Regards,

-- 
Benoît Minisini


More information about the User mailing list