harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ivanov, Alexey A" <alexey.a.iva...@intel.com>
Subject RE: [classlib][swing][testing] Tests that depend on Garbage Collector
Date Thu, 07 Dec 2006 07:39:19 GMT
>-----Original Message-----
>From: Mikhail Loenko [mailto:mloenko@gmail.com]
>Sent: Wednesday, December 06, 2006 8:00 PM
>To: dev@harmony.apache.org
>Subject: Re: [classlib][swing][testing] Tests that depend on Garbage
>Collector
>
>Seems like they test PhantomReference and WeakReference rather than just
>swing, right? In this case I think we should rewrite them to check that
>these references are used

No, it checks swing algorithms which depend on PhantomReferences and/or WeakReferences being
cleared by GC. (Of course these classes are tested here as well.)

What can you check if these references are used? That none of these objects are removed from
the lists?

The only way I see is to somehow "emulate" that a reference is cleared: post them into ReferenceQueue?

Regards,
Alexey.

>
>Thanks,
>Mikhail
>
>06.12.06, Ivanov, Alexey A<alexey.a.ivanov@intel.com> написал(а):
>> Hi all,
>>
>> There are three tests in Swing which depend on Garbage Collector. That is
>GC is _really_ run as the result of System.gc() call.
>>
>> These tests are:
>>    * javax.swing.text.GapContent_InternalTest.testPositionGC(),
>>    * javax.swing.text.StyleContextTest.testCollectGarbageInCache(), and
>>    * javax.swing.text.StyleContextTest.testCollectGarbageInCacheFont().
>>
>> What they check is:
>> * j.s.t.Position instances are removed from the internal list of
>GapContent when an instance is not used any more. (PhantomReference and
>WeakReference are involved.)
>> * cached AttributeSets are removed from it (WeakHashMap).
>> * cached Fonts are removed from the corresponding cache (WeakReference).
>>
>>
>> These tests always pass when run on the RI. They were used to ensure
>caching works fine. None of VMs in Harmony seem to perform garbage
>collection when System.gc() is called, and mostly these tests fail. However,
>sometimes they pass.
>>
>>
>> How can we handle these tests? Just remove them?
>>
>> Thank you in advance,
>> --
>> Alexey A. Ivanov
>> Intel EnterpriseSolutions SoftwareDivision
>>

--
Alexey A. Ivanov
Intel Enterprise Solutions Software Division

Mime
View raw message