G'day John,

> Between the two options of -walnut-summarize and -walnut-run, my
> preference would be for -walnut-run, but honestly, I don't very much like
> either of them.  I feel that we are moving in the wrong direction with
> this unit testing framework, and should reconsider its basic design.  It
> currently has a mainly command-line UI, embedded in the existing Conkeror
> command-line UI.  I think this is the fundamental flaw in its design.  The
> more complexity we are tempted to add to Conkeror core, and the more
> abstraction barriers we are tempted to break, all for the sake of a
> testing framework UI which was overcomplex to begin with, and which we
> hardly use to test anything worthwhile, the more we should ask if the
> present command-line interface is the best possible UI.

There is hardly any UI for the test suite.  For invoking tests there is
no specific UI at all; we just make use of the exisiting load function
or -l command line parameter.  For reporting of results there is simple
text output on the console.  This is not a criticism; it's simple and
useful.

The underlying walnut_run function also returns a walnut_results object
which contains a summary of the suite results, but the way the tests are
structured doesn't provide access to those results.  It might be nice to
restructure so that the invoker can capture these results.  And to
provide the individual test tags in walnut_results.  Not that I have
any use in mind for this.

I don't know what broken abstractions you're referring to.  What sort of
things would you like to be able to test which do not fit well in the
current scheme?  One thing we have previously mentioned is the
desirability of testing interactive features, such as browser
navigation.

Regardless of the UI, I think an overall summary of the results of the
battery of suites is useful.  But the command line parameter does serve
to reinforce the command line UI that you dislike.  We could avoid the
issue for now by providing the underlying function, but not offering a
UI.  One way to invoke all the tests would then be:

% conkeror -q -batch -l tests/simple -e 'walnut_summarize()'

Something similar could also be done programmatically.

Regards, David.
_______________________________________________
Conkeror mailing list
[email protected]
https://www.mozdev.org/mailman/listinfo/conkeror

Reply via email to