[9] RFR JDK-8152344: JVMCI test task: Unit tests for ConstantReflectionProvider
Konstantin Shefov
konstantin.shefov at oracle.com
Thu Mar 24 21:37:09 UTC 2016
Hi, Christian
It seems my local ws has not built correctly after "hg tpull -u". I have
cloned fresh WS, patched it and built it again.
Now "mx build --no-native" works with no errors.
Unit tests passed on Linux x64
Then I have done "mx ideinit" and opened project in IntelliJ Idea and
reformatted all my files.
Please look at the new version of the webrev:
http://cr.openjdk.java.net/~kshefov/8152344/webrev.02/
Thanks
-Konstantin
On 24.03.2016 19:33, Christian Thalinger wrote:
>
>> On Mar 23, 2016, at 9:37 PM, Konstantin Shefov
>> <konstantin.shefov at oracle.com <mailto:konstantin.shefov at oracle.com>>
>> wrote:
>>
>> Hi, Christian
>>
>> I did as you suggested, also removed jdk.test.lib.Triple, but when I
>> execute
>>
>> mx build --no-native
>>
>> I have an error
>>
>> /media/kshefov/OS/Users/kshefov/workspaces/jdk9-hs-comp/hotspot/src/jdk.vm.ci/share/classes/jdk.vm.ci.hotspot.amd64/src/jdk/vm/ci/hotspot/amd64/AMD64HotSpotJVMCIBackendFactory.java:125:
>> error: cannot find symbol
>> if ((config.vmVersionFeatures & config.amd64SHA) != 0) {
>> ^
>> symbol: variable amd64SHA
>> location: variable config of type HotSpotVMConfig
>> /media/kshefov/OS/Users/kshefov/workspaces/jdk9-hs-comp/hotspot/src/jdk.vm.ci/share/classes/jdk.vm.ci.hotspot.amd64/src/jdk/vm/ci/hotspot/amd64/AMD64HotSpotJVMCIBackendFactory.java:126:
>> error: cannot find symbol
>> features.add(AMD64.CPUFeature.SHA);
>> ^
>> symbol: variable SHA
>> location: class CPUFeature
>> 2 errors
>
> What JDK are you using to build?
>
>>
>> -Konstantin
>>
>> On 23.03.2016 22:07, Christian Thalinger wrote:
>>>
>>>> On Mar 23, 2016, at 7:57 AM, Christian Thalinger
>>>> <christian.thalinger at oracle.com
>>>> <mailto:christian.thalinger at oracle.com>> wrote:
>>>>
>>>> I need to get a change into mx. Will get back to you.
>>>
>>> Alright. I created an mx pull request for TestNG support:
>>>
>>> https://github.com/graalvm/mx/pull/102
>>>
>>> In the meantime you can clone my mx repository on github. Add this
>>> patch to your changes:
>>>
>>> diff -r 1e385207d9f2 .mx.jvmci/suite.py
>>> --- a/.mx.jvmci/suite.pyFri Mar 18 15:54:47 2016 +0100
>>> +++ b/.mx.jvmci/suite.pyWed Mar 23 08:52:35 2016 -1000
>>> @@ -175,6 +175,18 @@ suite = {
>>> "workingSets" : "JVMCI",
>>> },
>>>
>>> + "jdk.vm.ci.hotspot.test" : {
>>> + "subDir" : "test/compiler/jvmci",
>>> + "sourceDirs" : ["src"],
>>> + "dependencies" : [
>>> + "mx:TESTNG",
>>> + "jdk.vm.ci.hotspot",
>>> + ],
>>> + "checkstyle" : "jdk.vm.ci.services",
>>> + "javaCompliance" : "1.8",
>>> + "workingSets" : "API,JVMCI",
>>> + },
>>> +
>>> "jdk.vm.ci.hotspotvmconfig" : {
>>> "subDir" : "src/jdk.vm.ci/share/classes",
>>> "sourceDirs" : ["src"],
>>>
>>> and run mx checkstyle. You will see a bunch of errors. Fix these.
>>> Make sure JVMCI builds through mx:
>>>
>>> $ mx build --no-native
>>>
>>> The biggest problem I see is:
>>>
>>> /Users/cthaling/ws/jdk9/hs-comp/hotspot/test/compiler/jvmci/jdk.vm.ci.hotspot.test/src/jdk/vm/ci/hotspot/test/ReadConstantArrayElementDataProvider.java:47:
>>> error: package jdk.test.lib does not exist
>>> import jdk.test.lib.Triple;
>>>
>>> Not sure if it really makes sense to have that dependency. After
>>> the build succeeds you can run all unit tests via:
>>>
>>> $ mx unittest
>>>
>>> Once that works, either open all files in your favorite IDE (after
>>> doing mx ideinit) and reformat the files or run:
>>>
>>> $ mx eclipseformat
>>>
>>>>
>>>>> On Mar 22, 2016, at 1:50 AM, Konstantin Shefov
>>>>> <konstantin.shefov at oracle.com
>>>>> <mailto:konstantin.shefov at oracle.com>> wrote:
>>>>>
>>>>> Hi, Christian
>>>>>
>>>>> Thanks for reviewing.
>>>>>
>>>>> Here is the new patch
>>>>> http://cr.openjdk.java.net/~kshefov/8152344/webrev.01/
>>>>>
>>>>> I moved tests to the folder
>>>>> hotspot/test/compiler/jvmci/jdk.vm.ci.hotspot.test and tho the
>>>>> package jdk.vm.ci.hotspot.test. Also I have done some code
>>>>> re-formatting.
>>>>>
>>>>> -Konstantin
>>>>>
>>>>> On 03/22/2016 12:20 AM, Christian Thalinger wrote:
>>>>>> Sorry but I have to bring this up again… there is so much
>>>>>> line-breaking going on it’s ridiculous. Especially in:
>>>>>>
>>>>>> http://cr.openjdk.java.net/~kshefov/8152344/webrev.00/test/compiler/jvmci/constantReflectionProviderTest/BoxPrimitiveDataProvider.java.html
>>>>>> <http://cr.openjdk.java.net/%7Ekshefov/8152344/webrev.00/test/compiler/jvmci/constantReflectionProviderTest/BoxPrimitiveDataProvider.java.html>
>>>>>>
>>>>>> Or this:
>>>>>> 118 Assert.assertEquals(CONSTANT_REFLECTION_PROVIDER.readStableFieldValue(field,
>>>>>> 119 receiver,
>>>>>> 120 isDefStab),
>>>>>> 121 expected, "Unexpected result:");
>>>>>>
>>>>>> Here is a suggestion. Move your tests into the package
>>>>>> jdk.vm.ci.hotspot.test under:
>>>>>>
>>>>>> hotspot/test/compiler/jvmci/jdk.vm.ci.hotspot.test
>>>>>>
>>>>>> Look at jdk.vm.ci.runtime.test as an example. Then we
>>>>>> add jdk.vm.ci.hotspot.test to the mx configuration file and let
>>>>>> the predefined formatting rules take care of it.
>>>>>>
>>>>>> This would be my preferred way because then the tests are
>>>>>> automatically imported into IDEs as well. Actually all JVMCI
>>>>>> tests should do it this way.
>>>>>>
>>>>>>> On Mar 21, 2016, at 11:07 AM, Konstantin Shefov
>>>>>>> <konstantin.shefov at oracle.com> wrote:
>>>>>>>
>>>>>>> Hello
>>>>>>>
>>>>>>> Please review some new unit tests for methods of JVMCI
>>>>>>> jdk.vm.ci.hotspot.HotSpotConstantReflectionProvider class.
>>>>>>>
>>>>>>> The tests cover most public methods of the class named above.
>>>>>>>
>>>>>>> Here
>>>>>>> "test/compiler/jvmci/constantReflectionProviderTest/HotSpotConstantReflectionProviderTest.java"
>>>>>>> is the JTREG-testng file, all other classes are testng data
>>>>>>> providers, except TestHelper.java and DummyClass.java that store
>>>>>>> all necessary variables.
>>>>>>>
>>>>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8152344
>>>>>>> Webrev: http://cr.openjdk.java.net/~kshefov/8152344/webrev.00/
>>>>>>>
>>>>>>> Thanks
>>>>>>> -Konstantin
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20160325/669b811f/attachment-0001.html>
More information about the hotspot-compiler-dev
mailing list