[OpenJDK 2D-Dev] <AWT Dev> [8] Review request for CR 7145406 - [macosx] Migrate Apple tests from macosx-port to 7u

Phil Race philip.race at oracle.com
Mon Mar 11 20:22:29 UTC 2013


On 3/11/2013 1:07 PM, Konstantin Shefov wrote:
> All these tests compile and run under all OSs, not MacOS only.

I find that very difficult to believe.

\re\jdk\8\promoted\latest\binaries\windows-i586\bin\javac APIPresent.java
APIPresent.java:31: error: package com.apple.eio does not exist
import com.apple.eio.FileManager;

> There are a lot of awt and swing tests that depend on 
> test.java.awt.regtesthelpers, they are in the openjdk repo.

This is true although that is news to me, I presume this is guaranteed to
be compiled automatically when you compile the main test.

> Almost none of regression tests are ever run without JTREG.

That's not true. I've been running  and writing reg. tests for 12 years
and I use jtreg less than 0.01% of the time .. as in I can't remember
last time I needed to use it. That's the biggest plus we have here.
You don't *need* a big horrible useless harness that obscures
the real test. I object strongly to junit dependencies in any of the tests.

-phil.

>
> Konstantin
>
> 11.03.2013 23:53, Phil Race пишет:
>> Konstantin,
>>
>> First I am puzzled by the decision to send this to AWT and Swing lists.
>> There are a couple of Swing tests and  a large number of AWT tests
>> but it seems to be also a very large number of 2D/graphics tests PLUS
>> a large scattering in other areas such as
>> - hotspot/managment
>> - jndi
>> - java.io
>> - java.nio
>> - threading
>> - reflection
>> - networking.
>>
>> Next, I am surprised to see jtreg tests that depend on junit.
>>
>> I just searched our entire regression test suite (including ones that
>> are still closed for various reasons) and I didn't find *any* client 
>> area
>> tests that have this dependency.
>>
>> All I found are a few core java reflection tests.
>> Nor should these tests depend on the harness in "package test.java.awt"
>>
>> So they should all be standalone tests that can be run without any 
>> harness.
>>
>> On top of that I seriously doubt that these all even *compile* on 
>> anything
>> besides OS X, and may not pass elsewhere either
>>
>> cf : 31 import com.apple.eio.FileManager;
>> As it is none of this appears appropriate to put into the test 
>> directory.
>>
>> So this
>> 1) First needs to be rid of harness dependencies
>> 2) Needs to be made to compile on all platforms or invoked by a script
>> which builds only on OS X
>> 3) All tests that build on all platforms must pass on all platforms
>> 4) The review needs to be send to all affected lists - which is 
>> pretty much all of them!
>> awt, 2d, swing, hotspot, core-libs .. maybe more
>>
>> -phil.
>>
>>
>>
>> On 3/11/2013 2:03 AM, Konstantin Shefov wrote:
>>> Please, review the fix.
>>>
>>> On 06-Mar-13 15:14, Konstantin Shefov wrote:
>>>> http://cr.openjdk.java.net/~kshefov/7145406/webrev.02/
>>>>
>>>> Changed tags to @run junit
>>>>
>>>> On 04-Mar-13 14:44, Sergey Bylokhov wrote:
>>>>> A few options exists:
>>>>> 1 Changes tag to @run junit + jtreg 4.1
>>>>> 2 Remove usage of junit from these tests.
>>>>>
>>>>> 01.03.2013 14:26, Alexander Scherbatiy пишет:
>>>>>> On 3/1/2013 1:29 PM, Konstantin Shefov wrote:
>>>>>>>
>>>>>>> On 01-Mar-13 13:24, Sergey Bylokhov wrote:
>>>>>>>> 01.03.2013 12:24, Konstantin Shefov wrote:
>>>>>>>>> I have already ran those tests on Windows before sending this 
>>>>>>>>> request, all is OK 95% pass.
>>>>>>>>>
>>>>>>>>> I should also note that we (STT regression team) use JTREG 3.2 
>>>>>>>>> for testing with option 
>>>>>>>>> -cpa:$JEMMY_PATH/jemmy.jar,$JUNIT_PATH/junit.jar
>>>>>>>> As far as I understand, jtreg 3 doesn't contain junit.jar.
>>>>>>> There is no junit.jar in JTREG 3, but it could be taken elsewhere.
>>>>>>> But if it is standard to use @run junit tag, we will replace 
>>>>>>> jtreg we use to version 4.1.
>>>>>>
>>>>>>     The jtreg 3 does not have fix for the issue "7113599 jtreg 
>>>>>> should handle GNOME_DESKTOP_SESSION_ID" which affects some L&F 
>>>>>> Swing tests on Unix systems.
>>>>>>
>>>>>>     I would suggest to use the JTreg 4.1. The standard is to use 
>>>>>> the @run junit tag for the JTReg 4.1 (in other case the junit lib 
>>>>>> is not put to the test JDK classpath).
>>>>>>     The junit.jar has been removed from the JTReg 4.1 lib 
>>>>>> directory because of the licensing reasons: 
>>>>>> https://blogs.oracle.com/jjg/entry/jtreg_update1
>>>>>>
>>>>>>     Thanks,
>>>>>>     Alexandr.
>>>>>>
>>>>>>>>> JTREG 3.2 is more stable than 4.1. We do not use JTREG 4.1. So 
>>>>>>>>> I suggest NOT to replace @run main to @run juint, and, istead 
>>>>>>>>> of that add jtreg option -cpa:$JUNIT_PATH/junit.jar
>>>>>>>>>
>>>>>>>>> On 28-Feb-13 18:35, Sergey Bylokhov wrote:
>>>>>>>>>> Hi, Konstantin.
>>>>>>>>>> I think yes. Please try to run these tests on windows as 
>>>>>>>>>> well. At least they should be compiled.
>>>>>>>>>>
>>>>>>>>>> 28.02.2013 17:55, Konstantin Shefov wrote:
>>>>>>>>>>> I used JTREG 4.1 fcs b03, not b05. Indeed, if one uses b05, 
>>>>>>>>>>> one gets compilation errors. So should I replace @run main 
>>>>>>>>>>> to @run juint in all 150 tests?
>>>>>>>>>>>
>>>>>>>>>>> On 28-Feb-13 17:46, Konstantin Shefov wrote:
>>>>>>>>>>>> Strange, but I used JTReg 4.1 b05 also and I had no 
>>>>>>>>>>>> compilation errors. JUnit is automatically added in the 
>>>>>>>>>>>> latest JTREG 4.1.
>>>>>>>>>>>>
>>>>>>>>>>>> On 28-Feb-13 17:02, Alexander Scherbatiy wrote:
>>>>>>>>>>>>> On 2/27/2013 5:45 PM, Konstantin Shefov wrote:
>>>>>>>>>>>>>> I replaced Thread.sleep() with toolkit.realSync() and 
>>>>>>>>>>>>>> made swing mwthod to run on EDT.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> New webrev: 
>>>>>>>>>>>>>> http://cr.openjdk.java.net/~kshefov/7145406/webrev.01
>>>>>>>>>>>>>>> test/javax/swing/JComponent/DoublePaint/TestDoublePaint.java 
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>     - Is it possible to run the test with jtreg or JUnit 
>>>>>>>>>>>>>>> is necessary for the test invocation?
>>>>>>>>>>>>>
>>>>>>>>>>>>>     I run the test and got the compilation error: 
>>>>>>>>>>>>> TestDoublePaint.java:34: error: package junit.framework 
>>>>>>>>>>>>> does not exist.
>>>>>>>>>>>>>     It seems it is because the '@run main TestDoublePaint' 
>>>>>>>>>>>>> jtreg task does not put the junit jar to the test jdk 
>>>>>>>>>>>>> class path.
>>>>>>>>>>>>>     The '@run junit TestDoublePaint' task passes the test. 
>>>>>>>>>>>>> (I use the JTReg 4.1 b05 from 
>>>>>>>>>>>>> http://download.java.net/openjdk/jtreg/)
>>>>>>>>>>>>>     It is also interesting is it necessary to have the 
>>>>>>>>>>>>> main method for the junit task?
>>>>>>>>>>>>>
>>>>>>>>>>>>>    Thanks,
>>>>>>>>>>>>>    Alexandr.
>>>>>>>>>>>>>
>>>>>>>>>>>>>>>     -  line: 68 Thread.sleep(2000); // 2 seconds should 
>>>>>>>>>>>>>>> be plenty enough to catch 2 repaints
>>>>>>>>>>>>>>>       Is it possible to use the toolkit.realSync() 
>>>>>>>>>>>>>>> method here?
>>>>>>>>>>>>>>>    - Swing classes should be created and used on the EDT.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>   Thanks,
>>>>>>>>>>>>>>>   Alexandr.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>>>>> Konstantin
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>
>>
>




More information about the 2d-dev mailing list