TestRunner in 3.8 -- ARGH!!!

Andreas Raab andreas.raab at gmx.de
Tue Nov 2 05:39:21 UTC 2004


Hi Guys,

I don't know how many people out there use 3.8 (or 3.7 for that matter) but 
given the behavior of TestRunner I cannot imagine that many people use it 
for daily work. In moving some code from 3.6 to 3.8 I immediately noticed 
that some important things have been broken, others removed, as if it were 
the goal to make it harder to run tests. How odd.

More specifically:

#1: As has been pointed out in the thread starting at 
http://lists.squeakfoundation.org/pipermail/squeak-dev/2004-March/074876.html 
TestRunner is STILL broken if you run any UI tests with it. It's six months 
now during which the people who have argued this broken behavior to be a 
"feature" have done absolutely nothing to improve the situation. ARGH!

#2: For some odd reason, someone must have decided that a nicer look of 
TestRunner is more important than the work it does. So what we got in this 
process is a beautifully anti-aliased progress bar ... and what we lost is 
the ability to easily run multiple tests at once (yeah, who'd need that eh?! 
;-)

In case this hasn't been clear to everyone, abstract test cases run all of 
their "sub-tests" if executed. In other words, in the 3.6 TestRunner you can 
have a test structure that looks like:

    AllMyTests
        MyTestNrOne
        MyTestNrTwo
        MyTestNrThree

and with AllMyTests being an abstract superclass you only need to select it 
and run all of my three tests at once. In the 3.8 TestRunner you don't get 
to see abstract test cases in the list - but rather, you need to select EACH 
AND EVERY single test manually in this list. Which, besides, is broken if 
you try to do a selection by dragging through with the mouse but anyway. 
ARGH!

So if we were interested in BOTH good look and good usability we really 
ought to do a number of things, including:
a) get rid of the single multi-selection list and replace it with a tree 
widget that shows the structure of trees, after this has been done
b) get rid of all of the "run one" and "run all" button and have only a 
single "run" button (which automatically runs the hierarchy of the tests 
selected)
c) get rid of the "select all", "deselect all", "toggle selection", and 
"filter" stuff
At which point we have a very nice, simple, good looking and actually usable 
UI with a clean structure of tests that may actually be of help to someone 
who is trying to get work done.

Any comments? I am in particular interested if any of the "feature" 
proponents of #1 can be bothered to fix what they broke. I'd be happy to 
help with the latter too (since I have already posted code which fixes the 
former).

Cheers,
  - Andreas




More information about the Squeak-dev mailing list