On Jun 12, 2008, at 15:49 , Norbert Hartl wrote:
On Thu, 2008-06-12 at 15:28 +0200, Adrian Lienhard wrote:
I don't see what could testRootsOfTheWorld be useful for. Anyway, the
reason why this fails is because for the traits tests I use test
resources and they are set up before all tests are run and
testRootsOfTheWorld asserts that there are exactly 3 classes in the
system that do not have a superclass.
I don't think that the test does harm. And I don't really care
about the test. What I don't understand is the "side effect". The
classes are created in TraitsTestCase. The failing test is in
ClassTest. As far as I can see the created classes are removed on
tearDown time.
Well, this is how the test runner works... It first sets up all test
resources (which in this case creates the offending classes), then it
runs all tests, and then it releases the resources. That is, resource
allocation and deallocation is "global", therefore ClassTest is
affected.
Hope that explains it better.
Adrian
Norbert
There are two simple solutions for this. Either remove
testRootsOfTheWorld or change the test classes created in
TraitsRescource to inherit from Object instead of ProtoObject. I
would
do the former unless somebody has a convincing argument for keeping
that test in the image.
Adrian
NB: I'll also fix #testLocalMethodWithSameCodeInTrait when I'm at it
(this tests that there do not exist duplicated methods between a
trait
and a class using the trait)
On Jun 11, 2008, at 19:24 , Norbert Hartl wrote:
If you open a test runner and select only KernelTests-ClassTest and
TraitsTests-TraitsTestCase you may find a failure
ClassTest>>testRootsOfTheWorld
But I don't understand fully why it appears. I had once
the chance to get a debugger on the failure (which does
usually not work on this failure) and so I know that the
rootsOfTheWorld (which is usually 3) is 6 in size containing
additionally classes C3 C4 and C6. The ones which are created
by TraitsTestCase (see my last mail "Bug for harvest").
They all have a superclass of nil but they aren't included
in the SystemNavigation. (conditions for being included in
the rootsOfTheWorld)
If you press "Run selected" again the same error occurrs
while pressing "Run failures" gives you all green (ok, it
is this way in my case)
And I can't reproduce the same in a 3.10 image.
It seems that there is a timing problem involved. Selecting
only the two test cases I get the failure every time (or nearly).
Selecting all tests it appears only at random.
Any hints?
Norbert
_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project