Refactoring Browser SUnit test files

Steve Gilbert steven.l.gilbert at lmco.com
Fri May 3 18:19:26 UTC 2002


"stephane ducasse (home)" wrote:
> 
> Hi
> 
> which version are you using?
> I would like to help to bring RB in a good state. It would be good if we
> could have a page on the squeak foundation for that.
> 
> Are you interested because RB was on college
> Squeak alpha version http://squeak.heeg.de:8080/squeak/packages/
> and the patch that was never included in the previous web page
> http://scgwiki.iam.unibe.ch:8080/SmalltalkWiki/143
> 
> Stef

Stef,

Currently, I'm working from 3.2gamma #4827.

The version that I'm using is the one that you get by accessing the SCAN
repository using URL:
http://squeak.heeg.de:8080/TFODC69UQ0MFRIHMG40DRML1CU7VYZ9

I guess that currently that's version 12 of 2001-12-01.

I just downloaded the files specified in the script on that page. 
However, the SUnit tests for that version of the RB requires some
external files to successfully complete "all" of the tests. See my
initial posting to this thread.

Also, I found that the test
BrowserEnvironmentTest>>testCategoryEnvironment is either in an infinite
loop, or just takes an unusual amount of time to complete. So I renamed
it by pre pending "skip" to it so that it wouldn't run for now.

Also there is a method called "test" that gets added to Object when the
RB cs's are loaded.  This causes one of the RB SUnit tests to fail,
because the test is expecting to see 2 testing methods and now sees
three.  Anyway, I changed the method to "flagTesting" and all of it's
callers to make the problem test work correctly again.

Finally, there was a problem with the BrowserEnvironment>>keysFor:
method failing on "obsolete" methods.  This is now fixed with the latest
cs from SqC that came in the recent update stream. See:
4855ClassBuilderFix3-2 -- Nathanael Schärli & Andreas Raab -- 23 April
2002.  Good work guys!

So after all of that, I can successfully run all the SUnit tests
associated with the standard image as well as the RB and SUnit packages.

I would love to see the modification to RBScanner class>>initialize be
put into the SCAN repository.  That way everyone would stand a chance of
having a working RB right out of the box.  Also, there should probably
be a new unit test to protect against the errors that occur if this
change has not been made. There are a whole lot of SUnit tests for RB
that call a "needsWork" method.  Those should be looked into at some
point.

As far as my interest in the RB. I've used it a good deal in VW and am
impressed by the gain that I get in productivity using it.  It is one of
the pieces that I think is "Fundamental" to moving Squeak forward. That,
and more SUnit tests.

I think that RB will be especially useful in completing the re-factoring
necessary to complete the modules work.

My biggest problem, is that I certainly don't have a firm grasp on how
the RB works, in a detailed way.  Therefore, it's difficult to make
judgments on what work is left to be done to make the tool useful enough
for daily usage.

Steve



More information about the Squeak-dev mailing list