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
