> 23 juni 2018 kl. 00:22 skrev Ekaterina Pavlova <ekaterina.pavl...@oracle.com>:
> 
> Fixed and regenerated webrev at the same location:
> http://cr.openjdk.java.net/~epavlova//8205207/webrev.01/index.html

Better, but not done yet. 

In JtregGraalUnit.gmk: line 52-53 should be on a single line. 

The SRC list for BUILD_VM_COMPILER_TESTS looks insane, but the root cause here 
is the weird layout on disk. But the .test part really surprises me, I thought 
we had a clear rule to have no test source in src?!

In lib-tests.m4: Copy paste error: AC_MSG_ERROR([You must specify the path to 
tonga jar])

The addition in RunTests.gmk and TestCommon.gmk should be guarded by:
  ifeq ($(INCLUDE_GRAAL), true)

/Magnus

> 
> Erik,
> thanks again for your detailed reviews!
> 
> -katya
> 
>> On 6/22/18 2:38 PM, Erik Joelsson wrote:
>> Hello Katya,
>> This looks much better, thanks!
>> A few suggestions still:
>> Main.gmk: instead of repeating the assignment in both if and else block:
>> ifeq ($(INCLUDE_GRAAL), true)
>>   JVM_TEST_IMAGE_TARGETS += test-image-hotspot-jtreg-graal
>> endif
>> I think it's fine to do that without the ?= because an alternative JVM 
>> implementation is unlikely to be using graal anyway.
>> In JtregGraalUnit.gmk: Some minor style nits:
>> 54: align )) with first eval line as you have done with the other eval calls
>> 118: Since 117 is a one line parameter, please move comma to 117
>> 133: Same as for 118
>> 130-132: Please indent 4 spaces for continuation
>> /Erik
>>> On 2018-06-22 14:16, Ekaterina Pavlova wrote:
>>> Erik, Doug,
>>> 
>>> thank you a lot for your reviews and advises.
>>> I fixed everything what Erik has pointed out, please see my answers inlined.
>>> As about moving more staff in 'updategraalinopenjdk' can we consider this 
>>> as next step?
>>> I am not quite familiar with 'updategraalinopenjdk' and didn't contribute 
>>> into Graal ws yet,
>>> so I will prefer to do this improvement/refactoring as part of separate JDK 
>>> issue.
>>> 
>>> New webrev is here:
>>>   webrev: http://cr.openjdk.java.net/~epavlova//8205207/webrev.01/index.html
>>>      JBS: https://bugs.openjdk.java.net/browse/JDK-8205207
>>>  testing: tested by building and running graal unit tests
>>> 
>>> 
>>>> On 6/19/18 2:00 PM, Erik Joelsson wrote:
>>>> Hello,
>>>> 
>>>> Please always include build-dev when reviewing build changes.
>>>> 
>>>> In general this looks pretty good but there are some details that need 
>>>> fixing.
>>>> 
>>>> (Aside from this particular review, I must state my reservation against 
>>>> all the special treatment graal is enjoying from a source and test layout 
>>>> and build perspective. My understanding here is that someone will have to 
>>>> regularly update the wrapper jtreg tests manually using the script. This 
>>>> in addition to having to implement this very convoluted redirection logic 
>>>> because the tests are in the wrong place. Wouldn't it make a lot more 
>>>> sense to put the complicated logic in the import procedure for graal 
>>>> source so that it would fit nicely into the OpenJDK source/build/test 
>>>> model, instead of adding more and more complicated workarounds in the 
>>>> OpenJDK build and test procedures?)
>>>> 
>>>>> On 2018-06-18 22:26, Ekaterina Pavlova wrote:
>>>>> Hi All,
>>>>> 
>>>>> please review porting of Graal unit tests under jtreg. The main idea of 
>>>>> this porting is to keep Graal unit tests as is
>>>>> (located in src/jdk.internal.vm.compiler/share/classes/*.test) and run 
>>>>> them similar way they are run in Graal project.
>>>>> To achieve this 
>>>>> test/hotspot/jtreg/compiler/graalunit/common/GraalUnitTestLauncher.java 
>>>>> helper class has been written
>>>>> which simply launches com.oracle.mxtool.junit.MxJUnitWrapper to run 
>>>>> specified set of Graal unit tests. The groups of
>>>>> Graal unit tests to run are defined in auto-generated 
>>>>> test/hotspot/jtreg/compiler/graalunit/*.java jtreg tests.
>>>>> 
>>>>> New make/test/JtregGraalUnit.gmk is used to build Graal unit tests into 
>>>>> jdk.vm.compiler.tests.jar and then install
>>>>> it in $(TEST_IMAGE_DIR)/hotspot/jtreg/graal/.
>>>>> 
>>>> GRAALUNIT_LIB is never defined (in the open). Since this is used in open 
>>>> makefiles, we need an open configure option to set it.
>>> 
>>> ok, I created open/make/autoconf/lib-tests.m4 and did put Graal related 
>>> staff there.
>>> 
>>>> To make things clearer, I would rename LIB_DIR to something like 
>>>> LIB_OUTPUTDIR to signal that this is a location to put files in, rather 
>>>> than read them from.
>>> 
>>> ok, renamed
>>> 
>>>> 
>>>> FLATTEN has no effect in the SetupCopyFiles call since all the jar files 
>>>> found by wildcard can only be in one directory anyway.
>>> 
>>> ok, removed
>>> 
>>>> BUILDTOOLS_OUTPUTDIR is meant for tools used during the build. Tests 
>>>> classes and jars should be built into $(SUPPORT_OUTPUTDIR)/test/..> Please 
>>>> create a suitable sub directory there for the output from this makefile.
>>> 
>>> ok, introduced COMPILE_OUTPUTDIR := $(SUPPORT_OUTPUTDIR)/test/graalunit to 
>>> be used to build graal unit test classes.
>>> 
>>>> The all and test-image targets are never called so no need to declare them.
>>>> 
>>>> There are some style issues too. (Please see 
>>>> http://openjdk.java.net/groups/build/doc/code-conventions.html for 
>>>> details.)
>>>> * 43 logic indent 2 spaces
>>>> * 52 we like to put the ending )) on a new line with ', \' at the end of 
>>>> the line before
>>>> * 58 continuation indent 4 spaces
>>>> * 88, 89 please break long lines
>>>> * 90 continuation indent 4 spaces
>>>> * 99 continuation indent 4 spaces
>>>> * 120 break before ))
>>> 
>>> I think I fixed everything
>>> 
>>>>> make/Main.gmk adds proper dependencies for build-test-hotspot-jtreg-graal 
>>>>> and test-image-hotspot-jtreg-graal.
>>>>> 
>>>> The target build-test-hotspot-jtreg-graal only needs to depend on 
>>>> exploded-image-optimize.
>>> 
>>> fixed
>>> 
>>>> The new graal specific targets should be guarded by INCLUDE_GRAAL in 
>>>> Main.gmk. Otherwise those targets will silently do nothing if invoked 
>>>> without graal. That means adding them to JVM_TEST_IMAGE_TARGETS needs to 
>>>> be conditional too.
>>> 
>>> fixed
>>> 
>>>>> test/TestCommon.gmk passes TEST_IMAGE_GRAAL_DIR to jtreg so jtreg knows 
>>>>> where to find Graal tests and libs.
>>>>> 
>>>> This needs to be duplicated for make/RunTest.gmk so that these tests work 
>>>> with "make run-test" as well.
>>> 
>>> added
>>> 
>>> thanks,
>>> -katya
>>> 
>>>> /Erik
>>>>> test/hotspot/jtreg/compiler/graalunit/TestPackages.txt file defines 
>>>>> "testName -> testPrefix [requiresStatement]" mapping
>>>>> which is used by test/hotspot/jtreg/compiler/graalunit/generateTests.sh 
>>>>> script to generate jtreg tests.
>>>>> 
>>>>> test/hotspot/jtreg/compiler/graalunit/com.oracle.mxtool.junit was ported 
>>>>> from mx project without any changes.
>>>>> 
>>>>> 
>>>>>     JBS: https://bugs.openjdk.java.net/browse/JDK-8205207
>>>>>  webrev: 
>>>>> http://cr.openjdk.java.net/~epavlova//8205207/webrev.00/index.html
>>>>> testing: new tests were executed as part of automatic HS testing for 
>>>>> several months.
>>>>> 
>>>>> 
>>>>> thanks,
>>>>> -katya
>>>>> 
>>>>> p.s.
>>>>>  Igor Ignatyev volunteered to sponsor this change. 
>>>> 
>>> 
> 

Reply via email to