[9] RFR(S): 8066433: Copy Whitebox testlibrary to top level repository

Dmitry Samersoff dmitry.samersoff at oracle.com
Tue Dec 9 17:45:46 UTC 2014


Stefan,

Moving tests to separate repo solves countless number of problems,
in a range from testlibrary access/development to better jprt load.

As soon as we have all tests in jtreg format, jdk/test and hotspot/test
become too large. So we have to move these tests to separate repo sooner
or later.

Is it possible to do it now?

-Dmitry

On 2014-12-08 13:19, Stefan Särne wrote:
> 
> I think this is a good path forward.
> 
> The WhiteBox api is just the next example of test library code which we
> want to use both from the hotspot and the jdk repo. There are other
> classes which exists in both repos, which currently are copies. And just
> as expected with copies - time is spent to keep them in sync and yet
> they are not. Copy vs. share is a trade off but in this case I lean
> towards share, since this has been brought up as an issue at multiple
> times. Other examples are ProcessTools, OutputAnalyzer and friends.
> 
> If we treat the WhiteBox API as a pilot, we should create an RFE that
> follows up for the other utilities.
> This would also be a good place to discuss the structure of the test
> library.
> 
> I don't see a shared test library replacing the local ones - it would
> just a be a complement when the library code is shared.
> 
> If we do setup a shared place for this, we also should have a good way
> to handle changes to it.
> It would be easy to start here - on jdk9-dev, but if it turns out to be
> needed, we could setup a separate list.
> 
> Based on the discussion around microbenchmarks, it may make sense to
> break out the test folder to a separate repo if it starts growing.
> But again, perhaps this is something we can wait for and handle in the
> RFE. The test folder already exists in the top repo.
> 
> Cheers,
> Stefan
> 
> 
> Tobias Hartmann skrev 2014-12-08 10:06:
>> CC'ing to jdk9-dev for wider audience.
>>
>> Summary:
>> The tests for the 'Segmented Code Cache' JEP [1] and other JDK tests
>> [2] need
>> access to the Whitebox API testlibrary that is part of the hotspot
>> repository.
>>
>> We therefore propose to move the Whitebox API from the hotspot
>> repository to the
>> top level repository (test/testlibrary/) in the following steps:
>>
>> 1) Copy testlibrary to top level repository
>> 2) Adapt existing hotspot tests (> 200 tests)
>> 3) Remove testlibrary from hotspot repository
>>
>> First step: http://cr.openjdk.java.net/~thartmann/8066433/webrev.01/
>>
>> Thanks,
>> Tobias
>>
>> [1] https://bugs.openjdk.java.net/browse/JDK-8066625
>> [2] https://bugs.openjdk.java.net/browse/JDK-8064875
>>
>> On 08.12.2014 08:37, Staffan Larsen wrote:
>>> I am for this change in principle, but before we go ahead I think
>>> this warrants a larger discussion on build-dev at ojn or jdk9-dev at ojn.
>>> We need to propose and get acceptance for this from the larger group.
>>>
>>> (I was also surprised to see a Makefile here - who calls that?)
>>>
>>> /Staffan
>>>
>>>> On 8 dec 2014, at 08:24, Tobias Hartmann
>>>> <Tobias.Hartmann at oracle.com> wrote:
>>>>
>>>> Hi,
>>>>
>>>> As we discussed off-thread I copied the Whitebox API to the top
>>>> level repository
>>>> (test/testlibrary). We will then file a RFE to adopt the hotspot
>>>> tests and
>>>> eventually remove the testlibrary from the hotspot repo.
>>>>
>>>> New webrev: http://cr.openjdk.java.net/~thartmann/8066433/webrev.01/
>>>>
>>>> Can I get reviews for this?
>>>>
>>>> Thanks,
>>>> Tobias
>>>>
>>>> On 04.12.2014 11:29, Staffan Larsen wrote:
>>>>> I don’t know which tests you are planning to write that require
>>>>> this feature, but can the tests be put into the hotspot repo
>>>>> instead of the jdk repo so that we avoid the duplication? It seems
>>>>> like the decision for JDK-8057707 was to not duplicate the code.
>>>>>
>>>>> /Staffan
>>>>>
>>>>>> On 4 dec 2014, at 08:32, Tobias Hartmann
>>>>>> <Tobias.Hartmann at oracle.com> wrote:
>>>>>>
>>>>>> Mikael, Staffan, it looks like as if we don't have a nice solution
>>>>>> for sharing
>>>>>> the library at the moment. What do you think about having the
>>>>>> duplication as an
>>>>>> intermediate solution until we get the necessary support from
>>>>>> jtreg / jprt to
>>>>>> share the library?
>>>>>>
>>>>>> There are also other JDK tests that would benefit from having the
>>>>>> Whitebox API
>>>>>> available. For example, JDK-8057707 [1].
>>>>>>
>>>>>> Thanks,
>>>>>> Tobias
>>>>>>
>>>>>> [1]
>>>>>> http://mail.openjdk.java.net/pipermail/core-libs-dev/2014-September/028532.html
>>>>>>
>>>>>>
>>>>>> On 02.12.2014 20:54, Tobias Hartmann wrote:
>>>>>>> Hi Staffan,
>>>>>>>
>>>>>>> thanks for the feedback.
>>>>>>>
>>>>>>> On 02.12.2014 20:45, Staffan Larsen wrote:
>>>>>>>>> On 2 dec 2014, at 20:25, Staffan Larsen
>>>>>>>>> <staffan.larsen at oracle.com> wrote:
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>> On 2 dec 2014, at 18:37, Tobias Hartmann
>>>>>>>>>> <Tobias.Hartmann at oracle.com> wrote:
>>>>>>>>>>
>>>>>>>>>> Hi Mikael,
>>>>>>>>>>
>>>>>>>>>> On 02.12.2014 18:22, Mikael Vidstedt wrote:
>>>>>>>>>>> Tobias,
>>>>>>>>>>>
>>>>>>>>>>> Have you looked at what it would take to move the testlibrary
>>>>>>>>>>> somewhere where it
>>>>>>>>>>> can actually be shared instead? I think it would be extremely
>>>>>>>>>>> unfortunate to
>>>>>>>>>>> copy the code. I can't stress that enough.
>>>>>>>>>> I agree that having the testlibrary in a shared location is
>>>>>>>>>> definitely the best
>>>>>>>>>> solution. Unfortunately, I don't know how to do that since we
>>>>>>>>>> have to access the
>>>>>>>>>> library from different repositories and I don't think we want
>>>>>>>>>> to have path
>>>>>>>>>> dependencies between the repositories.
>>>>>>>>>>
>>>>>>>>>> Any suggestions?
>>>>>>>>> jtreg currently requires the testlibrary to be located in or
>>>>>>>>> under the directory with the TEST.ROOT file. To move it
>>>>>>>>> somewhere else we need to change jtreg first - and I think we
>>>>>>>>> should.
>>>>>>>> I’ve been told that it is actually possible to do this with the
>>>>>>>> current jtreg by using an ugly path such as:
>>>>>>>>
>>>>>>>>   @library /../../test/testlibrary
>>>>>>>>
>>>>>>>> I don’t think that is what we want to do…
>>>>>>> Yes, that's what I meant with "path dependencies between
>>>>>>> repositories". I don't
>>>>>>> think this is a very robust solution.
>>>>>>>
>>>>>>> Best,
>>>>>>> Tobias
>>>>>>>
>>>>>>>> /Staffan
>>>>>>>>
>>>>>>>>
>>>>>>>>> /Staffan
>>>>>>>>>
>>>>>>>>>> Thanks,
>>>>>>>>>> Tobias
>>>>>>>>>>
>>>>>>>>>>> Cheers,
>>>>>>>>>>> Mikael
>>>>>>>>>>>
>>>>>>>>>>> On 2014-12-02 06:40, Tobias Hartmann wrote:
>>>>>>>>>>>> Hi,
>>>>>>>>>>>>
>>>>>>>>>>>> please review the following patch that copies the Whitebox
>>>>>>>>>>>> testlibrary to
>>>>>>>>>>>> /jdk/test. This is needed to enhance and fix jdk tests (for
>>>>>>>>>>>> example, see [1]).
>>>>>>>>>>>>
>>>>>>>>>>>> The change leads to code duplication but in my opinion we
>>>>>>>>>>>> should favour stable
>>>>>>>>>>>> tests over code duplication here. Hopefully, there is a
>>>>>>>>>>>> solution to share the
>>>>>>>>>>>> library in the future.
>>>>>>>>>>>>
>>>>>>>>>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8066433
>>>>>>>>>>>> Webrev:
>>>>>>>>>>>> http://cr.openjdk.java.net/~thartmann/8066433/webrev.00/
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks,
>>>>>>>>>>>> Tobias
> 


-- 
Dmitry Samersoff
Oracle Java development team, Saint Petersburg, Russia
* I would love to change the world, but they won't give me the sources.


More information about the jdk9-dev mailing list