Re: RFR: JDK-8275650 Problemlist java/io/File/createTempFile/SpecialTempFile.java for Windows 11 [v5]

2021-11-04 Thread Igor Ignatyev
On Fri, 29 Oct 2021 10:38:41 GMT, Ivan Šipka  wrote:

>> cc @ctornqvi
>
> Ivan Šipka has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   removed file added by accident

I guess the proper course of actions would be not to mention any confidential 
comments/information (including their existence) in open communication at all, 
and instead provided open community with the enough publicly available 
information so they can understand the bug, patch, testing, …, in this 
particular case it would mean describing the testing w/o providing any details 
about oracle resources

-

PR: https://git.openjdk.java.net/jdk/pull/6025


Re: RFR: JDK-8275650 Problemlist java/io/File/createTempFile/SpecialTempFile.java for Windows 11 [v5]

2021-11-03 Thread Igor Ignatyev
On Fri, 29 Oct 2021 10:38:41 GMT, Ivan Šipka  wrote:

>> cc @ctornqvi
>
> Ivan Šipka has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   removed file added by accident

Thanks for the clarification, David. I guess my recollection of jtreg code 
isn’t as good as I thought, and `-` isn’t mandatory, though this means there is 
a (theoretically possible)  ambiguity, e.g. `{os=windows; version=11}` vs 
`{os=windows1; version=1}`

-

PR: https://git.openjdk.java.net/jdk/pull/6025


Re: RFR: JDK-8275650 Problemlist java/io/File/createTempFile/SpecialTempFile.java for Windows 11 [v5]

2021-11-03 Thread Igor Ignatyev
On Wed, 3 Nov 2021 23:11:36 GMT, Ivan Šipka  wrote:

>> That doesn’t seem right as jtreg expects `-` not ``
>
>> That doesn’t seem right as jtreg expects `-` not ``
> 
> It has been tested, details in ticket comment.

I’m sorry @frkator but there is nothing in the ticket.

-

PR: https://git.openjdk.java.net/jdk/pull/6025


Re: RFR: JDK-8275650 Problemlist java/io/File/createTempFile/SpecialTempFile.java for Windows 11 [v5]

2021-11-03 Thread Igor Ignatyev
On Fri, 29 Oct 2021 10:38:41 GMT, Ivan Šipka  wrote:

>> cc @ctornqvi
>
> Ivan Šipka has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   removed file added by accident

That doesn’t seem right as jtreg expects `-` not ``

-

PR: https://git.openjdk.java.net/jdk/pull/6025


Re: RFR: 8275650: Problemlist java/io/File/createTempFile/SpecialTempFile.java for Windows 11 [v2]

2021-10-26 Thread Igor Ignatyev
On Tue, 26 Oct 2021 19:48:47 GMT, Ivan Šipka  wrote:

>> cc @ctornqvi
>
> Ivan Šipka has updated the pull request with a new target base due to a merge 
> or a rebase. The incremental webrev excludes the unrelated changes brought in 
> by the merge/rebase. The pull request contains two additional commits since 
> the last revision:
> 
>  - fixed OS identifier
>  - 8274122: added to problem list

And now you use an incorrect bug id in the problem list, it should be 8274122

-

PR: https://git.openjdk.java.net/jdk/pull/6025


Re: RFR: 8275650: Problemlist java/io/File/createTempFile/SpecialTempFile.java for Windows 11

2021-10-21 Thread Igor Ignatyev
On Wed, 20 Oct 2021 00:04:08 GMT, Ivan Šipka  wrote:

> cc @ctornqvi

as it has been discussed internally, jtreg doesn’t recognize $os-$arch-$version 
pattern in problem list (but understands $os-$version) so for the test to be 
excluded only on windows 11, you should use  `windows-11`

-

Changes requested by iignatyev (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/6025


Re: RFR: 8275650: Problemlist java/io/File/createTempFile/SpecialTempFile.java for Windows 11

2021-10-20 Thread Igor Ignatyev
On Wed, 20 Oct 2021 00:04:08 GMT, Ivan Šipka  wrote:

> cc @ctornqvi

Marked as reviewed by iignatyev (Reviewer).

-

PR: https://git.openjdk.java.net/jdk/pull/6025


Re: RFR: 8275512: Upgrade required version of jtreg to 6.1

2021-10-19 Thread Igor Ignatyev
On Tue, 19 Oct 2021 13:51:45 GMT, Weijun Wang  wrote:

> As a follow up of JEP 411, we will soon disallow security manager by default. 
> jtreg 6.1 does not set its own security manager if JDK version is >= 18.

LGTM

-

Marked as reviewed by iignatyev (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/6012


Re: RFR: 8273314: Add tier4 test groups [v4]

2021-09-17 Thread Igor Ignatyev
On Fri, 17 Sep 2021 06:59:09 GMT, Aleksey Shipilev  wrote:

>> During the review of JDK-8272914 that added hotspot:tier{2,3} groups, 
>> @iignatev suggested to create tier4 groups that capture all tests not in 
>> tiers{1,2,3}. 
>> 
>> Caveats:
>>  - I excluded `applications` from `hotspot:tier4`, because they require test 
>> dependencies (e.g. jcstress).
>>  - `jdk:tier4` only runs well with `JTREG_KEYWORDS=!headful` or reduced 
>> concurrency with `TEST_JOBS=1`, because headful tests cannot run in parallel
>> 
>> Sample run with `JTREG_KEYWORDS=!headful`:
>> 
>> 
>> ==
>> Test summary
>> ==
>>TEST  TOTAL  PASS  FAIL ERROR 
>>   
 jtreg:test/hotspot/jtreg:tier4 3585  3584 0 1 
 <<
 jtreg:test/jdk:tier4   2893  2887 5 1 
 <<
>>jtreg:test/langtools:tier40 0 0 0 
>>   
>>jtreg:test/jaxp:tier4 0 0 0 0 
>>   
>> ==
>> 
>> real 699m39.462s
>> user 6626m8.448s
>> sys  1110m43.704s
>> 
>> 
>> There are interesting test failures on my machine, which I would address 
>> separately.
>
> Aleksey Shipilev has updated the pull request with a new target base due to a 
> merge or a rebase. The incremental webrev excludes the unrelated changes 
> brought in by the merge/rebase. The pull request contains five additional 
> commits since the last revision:
> 
>  - Merge branch 'master' into JDK-8273314-tier4
>  - Merge branch 'master' into JDK-8273314-tier4
>  - Drop applications and fix the comment
>  - Drop exceptions
>  - Add tier4 test groups

LGTM

-

Marked as reviewed by iignatyev (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/5357


Re: RFR: 8247980: Exclusive execution of java/util/stream tests slows down tier1

2021-09-16 Thread Igor Ignatyev
On Thu, 19 Aug 2021 15:15:31 GMT, Aleksey Shipilev  wrote:

> See the bug report for more details. I would appreciate if people with their 
> corporate testing systems would run this through their systems to avoid 
> surprises. (ping @RealCLanger, @iignatev).

Marked as reviewed by iignatyev (Reviewer).

-

PR: https://git.openjdk.java.net/jdk/pull/5189


Re: RFR: 8273314: Add tier4 test groups [v3]

2021-09-06 Thread Igor Ignatyev
On Mon, 6 Sep 2021 13:22:03 GMT, Aleksey Shipilev  wrote:

>> During the review of JDK-8272914 that added hotspot:tier{2,3} groups, 
>> @iignatev suggested to create tier4 groups that capture all tests not in 
>> tiers{1,2,3}. I have excluded `vmTestbase` and `hotspot:tier4,` because they 
>> take 10+ hours on my highly parallel machine. I have also excluded 
>> `applications` from `hotspot:tier4`, because they require test dependencies 
>> (e.g. jcstress).
>> 
>> Sample run:
>> 
>> 
>> ==
>> Test summary
>> ==
>>TEST  TOTAL  PASS  FAIL ERROR 
>>   
 jtreg:test/hotspot/jtreg:tier4  426   425 1 0 
 <<
 jtreg:test/jdk:tier4   2891  2885 4 2 
 <<
>>jtreg:test/langtools:tier40 0 0 0 
>>   
>>jtreg:test/jaxp:tier4 0 0 0 0 
>>   
>> ==
>> 
>> real 64m13.994s
>> user 1462m1.213s
>> sys  39m38.032s
>> 
>> 
>> There are interesting test failures on my machine, which I would address 
>> separately.
>
> Aleksey Shipilev has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   Drop applications and fix the comment

> _Mailing list message from [David Holmes](mailto:david.hol...@oracle.com) on 
> [hotspot-dev](mailto:hotspot-...@mail.openjdk.java.net):_
> 
> On 7/09/2021 1:17 am, Aleksey Shipilev wrote:
> 
> > @dholmes-ora: Generally speaking, all `tierX` definitions are rather 
> > arbitrary, as there seem to be nothing intrinsic about the tests to be in a 
> > particular tier. In other words, what `tierX` consists of is a matter of 
> > agreement. I'd say `hotspot:tier4` is "all assorted Hotspot tests that are 
> > not application-specific suites"
> 
> The difference is that your previous work just consolidated the existing
> subsystem tier 1-3 definitions, but here you are choosing to define "all
> the rest" as tier 4. I don't think it is actually helpful/useful to
> anyone - and it bears no resemblance whatsoever to what we call "tier
> 4", so that will just lead to unnecessary confusion IMO.

@dholmes-ora , although I fully agree that this might lead to some 
misunderstanding b/w Oracle and non-Oracle folks, I don't see how it's 
different from the previous patch, which introduced `hotspot:tier2` and 
`hotspot:tier3`. even if we reduce `tierN` to just a set of tests, the test 
groups added by 8272914 bear as much resemblance to the test sets used in 
Oracle's tier2-3 as the suggested `hotspot:tier4` groups in this patch to the 
actual `tier4` definition used in Oracle's internal system, e.g. 
`hotspot:tier2` group has 0 tests from `test/hotspot/jtreg/compiler`, but 
Oracle's `tier2` does include a number of  `test/hotspot/jtreg/compiler` tests 
(which aren't part of `:tier1`). I believe that this patch actually moves us 
closer to a convergence point, as the union of `hotspot:tier1` -- 
`hotspot:tier4` test groups is very close to the test sets used in hotspot 
parts of Oracle's `tier1`  -- `tier4` definitions. 

Thanks,
-- Igor

-

PR: https://git.openjdk.java.net/jdk/pull/5357


Re: RFR: 8273314: Add tier4 test groups

2021-09-03 Thread Igor Ignatyev
On Fri, 3 Sep 2021 18:40:14 GMT, Aleksey Shipilev  wrote:

> > > <...> I have excluded `vmTestbase` and `hotspot:tier4`<...>  I have also 
> > > excluded `applications` from `hotspot:tier4` <...>
> > 
> > 
> > assuming the goal of tier4 is to catch the rest of the tests, I don't think 
> > we should exclude `vmTestbase`, `applications` or any other tests from 
> > tier4. unless you also want to create tier5 for them.
> 
> Apart from practicality of using `tier4`, I think `vmTestbase` and 
> `applications` are separate test suites in their own right. `tier4` is 
> catching all the assorted Hotspot tests that are not part of larger suites. 
> Makes sense?

to some extent. I agree that `applications` tests can/should be seen as a 
separate test suite, yet I differ on `vmTestbase` as the end goal for 
`vmTestbase` tests is (and always was) to become just another test within 
hotspot jtreg test suite, hence I don't think we should treat them any 
different than other jtreg tests. there is also a plan (which I need to 
formalize and share w/ a broader audience) to rearrange `vmTestbase` tests so 
they will be placed within the corresponding component subdirectories, which 
would bring us closer to the end goal and at the same time make it slightly 
harder to select all `vmTestbase` tests.

-- Igor

-

PR: https://git.openjdk.java.net/jdk/pull/5357


Re: RFR: 8273314: Add tier4 test groups

2021-09-03 Thread Igor Ignatyev
On Fri, 3 Sep 2021 09:10:20 GMT, Aleksey Shipilev  wrote:

> During the review of JDK-8272914 that added hotspot:tier{2,3} groups, 
> @iignatev suggested to create tier4 groups that capture all tests not in 
> tiers{1,2,3}. I have excluded `vmTestbase` and `hotspot:tier4,` because they 
> take 10+ hours on my highly parallel machine. I have also excluded 
> `applications` from `hotspot:tier4`, because they require test dependencies 
> (e.g. jcstress).
> 
> Sample run:
> 
> 
> ==
> Test summary
> ==
>TEST  TOTAL  PASS  FAIL ERROR  
>  
>>> jtreg:test/hotspot/jtreg:tier4  426   425 1 0 <<
>>> jtreg:test/jdk:tier4   2891  2885 4 2 <<
>jtreg:test/langtools:tier40 0 0 0  
>  
>jtreg:test/jaxp:tier4 0 0 0 0  
>  
> ==
> 
> real  64m13.994s
> user  1462m1.213s
> sys   39m38.032s
> 
> 
> There are interesting test failures on my machine, which I would address 
> separately.

> <...> I have excluded `vmTestbase` and `hotspot:tier4`<...>  I have also 
> excluded `applications` from `hotspot:tier4` <...> 

assuming the goal of tier4 is to catch the rest of the tests, I don't think we 
should exclude `vmTestbase`, `applications` or any other tests from tier4. 
unless you also want to create tier5 for them.

-- Igor

-

PR: https://git.openjdk.java.net/jdk/pull/5357


Re: RFR: 8272836: Limit run time for java/lang/invoke/LFCaching tests [v2]

2021-08-25 Thread Igor Ignatyev
On Wed, 25 Aug 2021 16:31:50 GMT, Aleksey Shipilev  wrote:

>> See the RFE for discussion.
>> 
>> Current PR improves the test time like this:
>> 
>> 
>> $  make run-test TEST=java/lang/invoke/LFCaching/
>> 
>> # Before
>> real 3m51.608s
>> user 5m21.612s
>> sys  0m5.391s
>> 
>> # After
>> real 1m13.606s
>> user 2m26.827s
>> sys  0m4.761s
>
> Aleksey Shipilev has updated the pull request with a new target base due to a 
> merge or a rebase. The incremental webrev excludes the unrelated changes 
> brought in by the merge/rebase. The pull request contains three additional 
> commits since the last revision:
> 
>  - Make the timeout depend on global timeout with lower multiplier
>  - Merge branch 'master' into JDK-8272836-perf-test-lfcaching
>  - 8272836: Optimize run time for java/lang/invoke/LFCaching tests

LGTM

-

Marked as reviewed by iignatyev (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/5214


Re: RFR: 8272836: Limit run time for java/lang/invoke/LFCaching tests

2021-08-25 Thread Igor Ignatyev
On Mon, 23 Aug 2021 11:33:35 GMT, Aleksey Shipilev  wrote:

> See the RFE for discussion.
> 
> Current PR improves the test time like this:
> 
> 
> $  make run-test TEST=java/lang/invoke/LFCaching/
> 
> # Before
> real  3m51.608s
> user  5m21.612s
> sys   0m5.391s
> 
> # After
> real  1m13.606s
> user  2m26.827s
> sys   0m4.761s

the reason we tie time-budget in this test (and other similar stress tests) to 
timeout is to give a test chance to do actual testing in slow configurations 
(which will set higher timeout factor), for example, runs w/ -Xcomp on debug 
builds. if we use hardcoded value, the test might spend (almost) all its 
allocated time to just init and wouldn't perform any testing. ]

so instead of using the hardcode limit, I'd prefer to adjust the 
multiplication, `0.25` will give you the same 60s w/ current default timeout 
factor.

-- Igor

-

PR: https://git.openjdk.java.net/jdk/pull/5214


Re: RFR: 8247980: Exclusive execution of java/util/stream tests slows down tier1

2021-08-25 Thread Igor Ignatyev
On Thu, 19 Aug 2021 15:15:31 GMT, Aleksey Shipilev  wrote:

> See the bug report for more details. I would appreciate if people with their 
> corporate testing systems would run this through their systems to avoid 
> surprises. (ping @RealCLanger, @iignatev).

the testing in our infra returned green.

-

PR: https://git.openjdk.java.net/jdk/pull/5189


Re: RFR: 8247980: Exclusive execution of java/util/stream tests slows down tier1

2021-08-19 Thread Igor Ignatyev
On Thu, 19 Aug 2021 15:15:31 GMT, Aleksey Shipilev  wrote:

> See the bug report for more details. I would appreciate if people with their 
> corporate testing systems would run this through their systems to avoid 
> surprises. (ping @RealCLanger, @iignatev).

Hi @shipilev ,

I've submitted testing for this patch in our system. meanwhile, I'd like to 
hear @PaulSandoz's and/or @AlanBateman's option on this as I don't think that 
the underlying issue, that forced us to add these tests to 
`exclusiveAccess.dirs` by 
[8058204](https://bugs.openjdk.java.net/browse/JDK-8058204), was resolved.

Thanks,
-- Igor

-

PR: https://git.openjdk.java.net/jdk/pull/5189


Re: RFR: 8272398: Update DockerTestUtils.buildJdkDockerImage() [v2]

2021-08-17 Thread Igor Ignatyev
On Tue, 17 Aug 2021 14:58:48 GMT, Mikhailo Seledtsov  
wrote:

>> Please review this change that updates the buildJdkDockerImage() test 
>> library API.
>> 
>> This work originated while working on "8195809: [TESTBUG] jps and jcmd -l 
>> support for containers is not tested".
>> The initial intent was to extend the buildJdkDockerImage() API of 
>> DockerTestUtils to accept custom Dockerfile content.
>> As I analyzed the usage of buildJdkDockerImage() I realized that:
>>   - 2nd argument "dockerfile" is always the same: "Dockerfile-BasicTest"
>>   its use has been obsolete for some time, in favor of Dockerfile 
>> generated by DockerTestUtils
>>   - 3rd argument "buildDirName" is also always the same: "jdk-docker"
>> 
>> Hence I thought it would be a good idea to simplify this API and make it 
>> up-to-date.
>> 
>> Also, since the method signature is being updated, I thought it would be a 
>> good idea to also change the name to use more generic container terminology:
>> buildJdkDockerImage() --> buildJdkContainerImage()
>
> Mikhailo Seledtsov has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   Addressing review feedback

Looks good and trivial to me.

-

Marked as reviewed by iignatyev (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/5134


Re: RFR: 8272398: Update DockerTestUtils.buildJdkDockerImage()

2021-08-16 Thread Igor Ignatyev
On Mon, 16 Aug 2021 23:31:41 GMT, Mikhailo Seledtsov  
wrote:

> Please review this change that updates the buildJdkDockerImage() test library 
> API.
> 
> This work originated while working on "8195809: [TESTBUG] jps and jcmd -l 
> support for containers is not tested".
> The initial intent was to extend the buildJdkDockerImage() API of 
> DockerTestUtils to accept custom Dockerfile content.
> As I analyzed the usage of buildJdkDockerImage() I realized that:
>   - 2nd argument "dockerfile" is always the same: "Dockerfile-BasicTest"
>   its use has been obsolete for some time, in favor of Dockerfile 
> generated by DockerTestUtils
>   - 3rd argument "buildDirName" is also always the same: "jdk-docker"
> 
> Hence I thought it would be a good idea to simplify this API and make it 
> up-to-date.
> 
> Also, since the method signature is being updated, I thought it would be a 
> good idea to also change the name to use more generic container terminology:
> buildJdkDockerImage() --> buildJdkContainerImage()

Changes requested by iignatyev (Reviewer).

test/lib/jdk/test/lib/containers/docker/DockerTestUtils.java line 145:

> 143: 
> 144: // Create an image build/staging directory
> 145: Path buildDir = Paths.get(".", "image-build");

to make it more robust and possible to have more than one container within a 
test, I'd use `imagName` + "image-build" as build dir name.

test/lib/jdk/test/lib/containers/docker/DockerTestUtils.java line 179:

> 177:  * @throws Exception
> 178:  */
> 179: public static void buildImage(String imageName, Path buildDir) 
> throws Exception {

it seems there are no users of this method, do we need to keep it public?

-

PR: https://git.openjdk.java.net/jdk/pull/5134


Re: RFR: 8272398: Update DockerTestUtils.buildJdkDockerImage()

2021-08-16 Thread Igor Ignatyev
On Mon, 16 Aug 2021 23:47:04 GMT, Igor Ignatyev  wrote:

>> Please review this change that updates the buildJdkDockerImage() test 
>> library API.
>> 
>> This work originated while working on "8195809: [TESTBUG] jps and jcmd -l 
>> support for containers is not tested".
>> The initial intent was to extend the buildJdkDockerImage() API of 
>> DockerTestUtils to accept custom Dockerfile content.
>> As I analyzed the usage of buildJdkDockerImage() I realized that:
>>   - 2nd argument "dockerfile" is always the same: "Dockerfile-BasicTest"
>>   its use has been obsolete for some time, in favor of Dockerfile 
>> generated by DockerTestUtils
>>   - 3rd argument "buildDirName" is also always the same: "jdk-docker"
>> 
>> Hence I thought it would be a good idea to simplify this API and make it 
>> up-to-date.
>> 
>> Also, since the method signature is being updated, I thought it would be a 
>> good idea to also change the name to use more generic container terminology:
>> buildJdkDockerImage() --> buildJdkContainerImage()
>
> test/lib/jdk/test/lib/containers/docker/DockerTestUtils.java line 145:
> 
>> 143: 
>> 144: // Create an image build/staging directory
>> 145: Path buildDir = Paths.get(".", "image-build");
> 
> to make it more robust and possible to have more than one container within a 
> test, I'd use `imagName` + "image-build" as build dir name.

you also don't need to have `.` as a first argument, `Paths.get("x")` returns 
you a path to "x" in current directory.

-

PR: https://git.openjdk.java.net/jdk/pull/5134


[jdk17] Integrated: 8067223: [TESTBUG] Rename Whitebox API package

2021-08-02 Thread Igor Ignatyev
On Wed, 28 Jul 2021 17:13:49 GMT, Igor Ignatyev  wrote:

> Hi all,
> 
> could you please review this big tedious and trivial(-ish) patch which moves 
> `sun.hotspot.WhiteBox` and related classes to `jdk.test.whitebox` package?
> 
> the majority of the patch is the following substitutions:
>  - `s~sun/hotspot/WhiteBox~jdk/test/whitebox/WhiteBox~g`
>  - `s/sun.hotspot.parser/jdk.test.whitebox.parser/g`
>  - `s/sun.hotspot.cpuinfo/jdk.test.whitebox.cpuinfo/g`
>  - `s/sun.hotspot.code/jdk.test.whitebox.code/g`
>  - `s/sun.hotspot.gc/jdk.test.whitebox.gc/g`
>  - `s/sun.hotspot.WhiteBox/jdk.test.whitebox.WhiteBox/g`
> 
> testing: tier1-4
> 
> Thanks,
> -- Igor

This pull request has now been integrated.

Changeset: ada58d13
Author:Igor Ignatyev 
URL:   
https://git.openjdk.java.net/jdk17/commit/ada58d13f78eb8a240220c45c573335eeb47cf07
Stats: 532 lines in 36 files changed: 449 ins; 0 del; 83 mod

8067223: [TESTBUG] Rename Whitebox API package

Reviewed-by: dholmes, kvn

-

PR: https://git.openjdk.java.net/jdk17/pull/290


Re: [jdk17] RFR: 8067223: [TESTBUG] Rename Whitebox API package [v2]

2021-08-02 Thread Igor Ignatyev
On Mon, 2 Aug 2021 15:56:39 GMT, Vladimir Kozlov  wrote:

> I agree with these revised changes for JDK 17.

Thanks for your review, Vladimir. 

I'll rerun my testing before integrating (just for good luck).

-- Igor

-

PR: https://git.openjdk.java.net/jdk17/pull/290


Re: [jdk17] RFR: 8067223: [TESTBUG] Rename Whitebox API package [v2]

2021-08-02 Thread Igor Ignatyev
On Sat, 31 Jul 2021 20:42:10 GMT, Igor Ignatyev  wrote:

>> Hi all,
>> 
>> could you please review this big tedious and trivial(-ish) patch which moves 
>> `sun.hotspot.WhiteBox` and related classes to `jdk.test.whitebox` package?
>> 
>> the majority of the patch is the following substitutions:
>>  - `s~sun/hotspot/WhiteBox~jdk/test/whitebox/WhiteBox~g`
>>  - `s/sun.hotspot.parser/jdk.test.whitebox.parser/g`
>>  - `s/sun.hotspot.cpuinfo/jdk.test.whitebox.cpuinfo/g`
>>  - `s/sun.hotspot.code/jdk.test.whitebox.code/g`
>>  - `s/sun.hotspot.gc/jdk.test.whitebox.gc/g`
>>  - `s/sun.hotspot.WhiteBox/jdk.test.whitebox.WhiteBox/g`
>> 
>> testing: tier1-4
>> 
>> Thanks,
>> -- Igor
>
> Igor Ignatyev has refreshed the contents of this pull request, and previous 
> commits have been removed. The incremental views will show differences 
> compared to the previous content of the PR. The pull request contains 12 new 
> commits since the last revision:
> 
>  - fixed ctw build
>  - updated runtime/cds/appcds/JarBuilder to copy j.t.w.WhiteBox's inner class
>  - updated requires.VMProps
>  - updated TEST.ROOT
>  - adjusted hotspot source
>  - added test
>  - moved and adjusted WhiteBox tests (test/lib-test/sun/hotspot/whitebox)
>  - updated ClassFileInstaller to copy j.t.w.WhiteBox's inner class
>  - removed sun/hotspot/parser/DiagnosticCommand
>  - deprecated sun/hotspot classes
>disallowed s.h.WhiteBox w/ security manager
>  - ... and 2 more: 
> https://git.openjdk.java.net/jdk17/compare/8f12f2cf...237e8860

Hi David,

> This set of changes seems much more manageable to me.

thank you for your review, David.

> Not sure about the new deprecation warnings for the old WB classes .. might 
> that not itself trigger some failures? If not then I don't see how the 
> deprecation warnings help with transitioning to the new WB class?

the deprecation warnings (hopefully) will help people not to forget that they 
should use the new WB class in new tests. 

Thanks,
-- Igor

Hi Jie,
> Shall we also update the copyright year like 
> test/lib/sun/hotspot/cpuinfo/CPUInfo.java?

we most certainly shall, just pushed the commit that updates the copyright 
years in the touched files.

Cheers,
-- Igor

-

PR: https://git.openjdk.java.net/jdk17/pull/290


Re: [jdk17] RFR: 8067223: [TESTBUG] Rename Whitebox API package [v3]

2021-08-02 Thread Igor Ignatyev
> Hi all,
> 
> could you please review this big tedious and trivial(-ish) patch which moves 
> `sun.hotspot.WhiteBox` and related classes to `jdk.test.whitebox` package?
> 
> the majority of the patch is the following substitutions:
>  - `s~sun/hotspot/WhiteBox~jdk/test/whitebox/WhiteBox~g`
>  - `s/sun.hotspot.parser/jdk.test.whitebox.parser/g`
>  - `s/sun.hotspot.cpuinfo/jdk.test.whitebox.cpuinfo/g`
>  - `s/sun.hotspot.code/jdk.test.whitebox.code/g`
>  - `s/sun.hotspot.gc/jdk.test.whitebox.gc/g`
>  - `s/sun.hotspot.WhiteBox/jdk.test.whitebox.WhiteBox/g`
> 
> testing: tier1-4
> 
> Thanks,
> -- Igor

Igor Ignatyev has updated the pull request incrementally with two additional 
commits since the last revision:

 - copyright update
 - fixed typo in ClassFileInstaller

-

Changes:
  - all: https://git.openjdk.java.net/jdk17/pull/290/files
  - new: https://git.openjdk.java.net/jdk17/pull/290/files/237e8860..fcaf41f8

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk17=290=02
 - incr: https://webrevs.openjdk.java.net/?repo=jdk17=290=01-02

  Stats: 10 lines in 10 files changed: 0 ins; 0 del; 10 mod
  Patch: https://git.openjdk.java.net/jdk17/pull/290.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk17 pull/290/head:pull/290

PR: https://git.openjdk.java.net/jdk17/pull/290


Re: [jdk17] RFR: 8067223: [TESTBUG] Rename Whitebox API package [v2]

2021-07-31 Thread Igor Ignatyev
On Sat, 31 Jul 2021 20:42:10 GMT, Igor Ignatyev  wrote:

>> Hi all,
>> 
>> could you please review this big tedious and trivial(-ish) patch which moves 
>> `sun.hotspot.WhiteBox` and related classes to `jdk.test.whitebox` package?
>> 
>> the majority of the patch is the following substitutions:
>>  - `s~sun/hotspot/WhiteBox~jdk/test/whitebox/WhiteBox~g`
>>  - `s/sun.hotspot.parser/jdk.test.whitebox.parser/g`
>>  - `s/sun.hotspot.cpuinfo/jdk.test.whitebox.cpuinfo/g`
>>  - `s/sun.hotspot.code/jdk.test.whitebox.code/g`
>>  - `s/sun.hotspot.gc/jdk.test.whitebox.gc/g`
>>  - `s/sun.hotspot.WhiteBox/jdk.test.whitebox.WhiteBox/g`
>> 
>> testing: tier1-4
>> 
>> Thanks,
>> -- Igor
>
> Igor Ignatyev has refreshed the contents of this pull request, and previous 
> commits have been removed. The incremental views will show differences 
> compared to the previous content of the PR.

Vladimir, David,

I've (forced) pushed a smaller version of the renaming. instead of removing 
`sun.hotspot` classes, it copies them to `jdk.test.whitebox` (w/ 
`s.h.parser.DiagnosticCommand` being removed as it's used in WhiteBox signature 
and it was easier to update a few tests that use it), updates hotspot code to 
register native methods for both `sun.hotspot.WhiteBox` and 
`jdk.test.whitebox.WhiteBox` classes. To make it easier and not to introduce 
extra dependency, I've made it impossible to use `s.h.WB` w/ a security manager 
enabled, otherwise there would be a dependency b/w `s.h.WB` and 
`j.t.w.WB$WhiteBoxPermission` or there would be 2 permissions. There are no 
open JDK tests that are impacted by this limitation.

With minor tweaks in closed source, the patch successfully passes Oracle's 
tier1-4.

-- Igor

-

PR: https://git.openjdk.java.net/jdk17/pull/290


Re: [jdk17] RFR: 8067223: [TESTBUG] Rename Whitebox API package [v2]

2021-07-31 Thread Igor Ignatyev
> Hi all,
> 
> could you please review this big tedious and trivial(-ish) patch which moves 
> `sun.hotspot.WhiteBox` and related classes to `jdk.test.whitebox` package?
> 
> the majority of the patch is the following substitutions:
>  - `s~sun/hotspot/WhiteBox~jdk/test/whitebox/WhiteBox~g`
>  - `s/sun.hotspot.parser/jdk.test.whitebox.parser/g`
>  - `s/sun.hotspot.cpuinfo/jdk.test.whitebox.cpuinfo/g`
>  - `s/sun.hotspot.code/jdk.test.whitebox.code/g`
>  - `s/sun.hotspot.gc/jdk.test.whitebox.gc/g`
>  - `s/sun.hotspot.WhiteBox/jdk.test.whitebox.WhiteBox/g`
> 
> testing: tier1-4
> 
> Thanks,
> -- Igor

Igor Ignatyev has refreshed the contents of this pull request, and previous 
commits have been removed. The incremental views will show differences compared 
to the previous content of the PR. The pull request contains 12 new commits 
since the last revision:

 - fixed ctw build
 - updated runtime/cds/appcds/JarBuilder to copy j.t.w.WhiteBox's inner class
 - updated requires.VMProps
 - updated TEST.ROOT
 - adjusted hotspot source
 - added test
 - moved and adjusted WhiteBox tests (test/lib-test/sun/hotspot/whitebox)
 - updated ClassFileInstaller to copy j.t.w.WhiteBox's inner class
 - removed sun/hotspot/parser/DiagnosticCommand
 - deprecated sun/hotspot classes
   disallowed s.h.WhiteBox w/ security manager
 - ... and 2 more: 
https://git.openjdk.java.net/jdk17/compare/8f12f2cf...237e8860

-

Changes:
  - all: https://git.openjdk.java.net/jdk17/pull/290/files
  - new: https://git.openjdk.java.net/jdk17/pull/290/files/8f12f2cf..237e8860

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk17=290=01
 - incr: https://webrevs.openjdk.java.net/?repo=jdk17=290=00-01

  Stats: 3248 lines in 939 files changed: 969 ins; 0 del; 2279 mod
  Patch: https://git.openjdk.java.net/jdk17/pull/290.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk17 pull/290/head:pull/290

PR: https://git.openjdk.java.net/jdk17/pull/290


Re: [jdk17] RFR: 8067223: [TESTBUG] Rename Whitebox API package

2021-07-30 Thread Igor Ignatyev
On Thu, 29 Jul 2021 01:30:37 GMT, Vladimir Kozlov  wrote:

>> Hi all,
>> 
>> could you please review this big tedious and trivial(-ish) patch which moves 
>> `sun.hotspot.WhiteBox` and related classes to `jdk.test.whitebox` package?
>> 
>> the majority of the patch is the following substitutions:
>>  - `s~sun/hotspot/WhiteBox~jdk/test/whitebox/WhiteBox~g`
>>  - `s/sun.hotspot.parser/jdk.test.whitebox.parser/g`
>>  - `s/sun.hotspot.cpuinfo/jdk.test.whitebox.cpuinfo/g`
>>  - `s/sun.hotspot.code/jdk.test.whitebox.code/g`
>>  - `s/sun.hotspot.gc/jdk.test.whitebox.gc/g`
>>  - `s/sun.hotspot.WhiteBox/jdk.test.whitebox.WhiteBox/g`
>> 
>> testing: tier1-4
>> 
>> Thanks,
>> -- Igor
>
> I know that tests fixes could be pushed during RDP2 without approval.
> But these one is very big and it is not a fix - it is enhancement.
> 
> What is the reason you want to push it into JDK 17 just few days before first 
> Release Candidate? Instead of pushing it into JDK 18.
> 
> And I can't even review it because GutHub UI hangs on these big changes.

@vnkozlov, @dholmes-ora,

Thank you for looking at this!

I want this to be integrated into JDK 17 b/c some "external" libraries use 
(used to use) WhiteBox API, e.g. jcstress[[2]] used WhiteBox API to deoptimize 
compiled methods[[3]], and it would be easier for maintainers of such libraries 
to condition package name based on JDK major version. Also, given JDK 17 is an 
LTS, it would be beneficial for everyone not to have big differences in test 
bases b/w it and the mainline.

according to JEP 3, test RFEs are allowed until the very end and don't require 
late enhancement approval: "Enhancements to tests and documentation during RDP 
1 and RDP 2 do not require approval, as long as the relevant issues are 
identified with a noreg-self or noreg-doc label, as appropriate"[[1]]. So, 
process-wise, I don't see any issues w/ integrating this RFE, yet, I fully 
agree that due to its size, this patch can be disruptive and can cause massive 
failures, which is something we obviously don't want at the current stage of 
JDK 17. 

I like David's idea about phasing this clean-up, and, due to the reasons 
described above, I would like to integrate the first part, copying WhiteBox 
classes to the new package structure and associated changes w/o updating all 
the tests, into JDK 17 and update the tests on the mainline (w/ backporting 
into jdk17u).

WDYT?

Cheers,
-- Igor

[1]: https://openjdk.java.net/jeps/3#Late-Enhancement-Request-Process
[2]: https://github.com/openjdk/jcstress
[3]: 
https://github.com/openjdk/jcstress/blob/df83b446f187ae0b0fa31fa54decb59db9e955da/jcstress-core/src/main/java/org/openjdk/jcstress/vm/WhiteBoxSupport.java

-

PR: https://git.openjdk.java.net/jdk17/pull/290


[jdk17] RFR: 8067223: [TESTBUG] Rename Whitebox API package

2021-07-28 Thread Igor Ignatyev
Hi all,

could you please review this big tedious and trivial(-ish) patch which moves 
`sun.hotspot.WhiteBox` and related classes to `jdk.test.whitebox` package?

the majority of the patch is the following substitutions:
 - `s~sun/hotspot/WhiteBox~jdk/test/whitebox/WhiteBox~g`
 - `s/sun.hotspot.parser/jdk.test.whitebox.parser/g`
 - `s/sun.hotspot.cpuinfo/jdk.test.whitebox.cpuinfo/g`
 - `s/sun.hotspot.code/jdk.test.whitebox.code/g`
 - `s/sun.hotspot.gc/jdk.test.whitebox.gc/g`
 - `s/sun.hotspot.WhiteBox/jdk.test.whitebox.WhiteBox/g`

testing: tier1-4

Thanks,
-- Igor

-

Commit messages:
 - copyright year
 - update TEST.ROOT
 - jdk: s/sun\.hotspot\.gc/jdk.test.whitebox.gc/g
 - jdk: s/sun\.hotspot\.code/jdk.test.whitebox.code/g
 - jdk: s/sun\.hotspot\.WhiteBox/jdk.test.whitebox.WhiteBox/g
 - hotspot: 's~sun/hotspot/WhiteBox~jdk/test/whitebox/WhiteBox~g'
 - hotspot: s/sun\.hotspot\.parser/jdk.test.whitebox.parser/g
 - hotspot: s/sun\.hotspot\.cpuinfo/jdk.test.whitebox.cpuinfo/g
 - hotspot: s/sun\.hotspot\.code/jdk.test.whitebox.code/g
 - hotspot: 's/sun\.hotspot\.gc/jdk.test.whitebox.gc/g'
 - ... and 9 more: 
https://git.openjdk.java.net/jdk17/compare/c8ae7e5b...8f12f2cf

Changes: https://git.openjdk.java.net/jdk17/pull/290/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk17=290=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8067223
  Stats: 2310 lines in 949 files changed: 0 ins; 0 del; 2310 mod
  Patch: https://git.openjdk.java.net/jdk17/pull/290.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk17 pull/290/head:pull/290

PR: https://git.openjdk.java.net/jdk17/pull/290


Re: [jdk17] RFR: 8269534: Remove java/util/concurrent/locks/Lock/TimedAcquireLeak.java from ProblemList.txt

2021-06-28 Thread Igor Ignatyev
On Mon, 28 Jun 2021 17:05:49 GMT, Daniel D. Daugherty  
wrote:

> A trivial fix to remove java/util/concurrent/locks/Lock/TimedAcquireLeak.java 
> from ProblemList.txt

Marked as reviewed by iignatyev (Reviewer).

-

PR: https://git.openjdk.java.net/jdk17/pull/164


Re: RFR: 8267448: Add "ulimit -a" to environment.html

2021-06-10 Thread Igor Ignatyev
On Thu, 10 Jun 2021 06:26:53 GMT, Igor Ignatyev  wrote:

> Hi all,
> 
> could you please review this small patch that does $subj?
> 
> Thanks,
> -- Igor
> 
> attn: @plummercj

closing in favor of openjdk/jdk17#2

-

PR: https://git.openjdk.java.net/jdk/pull/4451


Withdrawn: 8267448: Add "ulimit -a" to environment.html

2021-06-10 Thread Igor Ignatyev
On Thu, 10 Jun 2021 06:26:53 GMT, Igor Ignatyev  wrote:

> Hi all,
> 
> could you please review this small patch that does $subj?
> 
> Thanks,
> -- Igor
> 
> attn: @plummercj

This pull request has been closed without being integrated.

-

PR: https://git.openjdk.java.net/jdk/pull/4451


RFR: 8267448: Add "ulimit -a" to environment.html

2021-06-10 Thread Igor Ignatyev
Hi all,

could you please review this small patch that does $subj?

Thanks,
-- Igor

attn: @plummercj

-

Commit messages:
 - 8267448

Changes: https://git.openjdk.java.net/jdk/pull/4451/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk=4451=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8267448
  Stats: 15 lines in 3 files changed: 15 ins; 0 del; 0 mod
  Patch: https://git.openjdk.java.net/jdk/pull/4451.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/4451/head:pull/4451

PR: https://git.openjdk.java.net/jdk/pull/4451


Re: RFR: 8267893: Improve jtreg test failure handler do get native/mixed stack traces for cores and live processes [v6]

2021-06-09 Thread Igor Ignatyev
On Wed, 9 Jun 2021 19:00:39 GMT, Leonid Mesnik  wrote:

>> EFH is improved to process cores and get mixed stack traces with jhsdb and 
>> native stack traces with gdb/lldb. It might be useful because hs_err doesn't 
>> contain info about all threads, sometimes it is even not generated.
>
> Leonid Mesnik has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   fxies

Marked as reviewed by iignatyev (Reviewer).

-

PR: https://git.openjdk.java.net/jdk/pull/4234


Re: RFR: 8267893: Improve jtreg test failure handler do get native/mixed stack traces for cores and live processes [v5]

2021-06-09 Thread Igor Ignatyev
On Wed, 2 Jun 2021 01:00:53 GMT, Leonid Mesnik  wrote:

>> EFH is improved to process cores and get mixed stack traces with jhsdb and 
>> native stack traces with gdb/lldb. It might be useful because hs_err doesn't 
>> contain info about all threads, sometimes it is even not generated.
>
> Leonid Mesnik has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   spaces updated.

Changes requested by iignatyev (Reviewer).

test/failure_handler/src/share/classes/jdk/test/failurehandler/GathererFactory.java
 line 32:

> 30: import java.io.FileWriter;
> 31: import java.io.PrintWriter;
> 32: import java.nio.file.Files;

I don't see why we need these 3 new imports.

test/failure_handler/src/share/classes/jdk/test/failurehandler/ToolKit.java 
line 28:

> 26: import jdk.test.failurehandler.action.ActionSet;
> 27: import jdk.test.failurehandler.action.ActionHelper;
> 28: import jdk.test.failurehandler.action.PatternAction;

redundant import

test/failure_handler/src/share/conf/linux.properties line 62:

> 60: cores=native.gdb
> 61: native.gdb.app=gdb
> 62: native.gdb.args=%java\0-c\0%p\0-batch\0-ex\0thread apply all backtrace

could you please add a comment similar to the one in `common.properties` file?

test/failure_handler/src/share/conf/mac.properties line 71:

> 69: native.lldb.app=lldb
> 70: native.lldb.delimiter=\0
> 71: native.lldb.args=--core\0%p\0%java\0-o\0thread backtrace all\0-o\0quit

could you please add a comment similar to the one in common.properties file?

test/failure_handler/src/share/conf/mac.properties line 72:

> 70: native.lldb.delimiter=\0
> 71: native.lldb.args=--core\0%p\0%java\0-o\0thread backtrace all\0-o\0quit
> 72: native.lldb.params.timeout=360

why does `lldb` require an increases timeout, but `gdb` and `jhsdb` do not?

-

PR: https://git.openjdk.java.net/jdk/pull/4234


Re: RFR: 8267893: Improve jtreg test failure handler do get native/mixed stack traces for cores and live processes

2021-05-27 Thread Igor Ignatyev
On Thu, 27 May 2021 22:05:55 GMT, Leonid Mesnik  wrote:

> EFH is improved to process cores and get mixed stack traces with jhsdb and 
> native stack traces with gdb/lldb. It might be useful because hs_err doesn't 
> contain info about all threads, sometimes it is even not generated.

@lmesnik , how has this been tested?

test/failure_handler/Makefile line 41:

> 39: CONF_DIR = src/share/conf
> 40: 
> 41: JAVA_RELEASE = 7

could you please update `DEPENDENCES` section in `test/failure_handler/README`?

test/failure_handler/src/share/classes/jdk/test/failurehandler/ToolKit.java 
line 69:

> 67: }
> 68: } catch (IOException ioe) {
> 69: // just silently skip gzipped core processing

we don't silently ignore exceptions in `failure_handler`, we tend to print them 
so we at least have some echoes of what happened.

test/failure_handler/src/share/classes/jdk/test/failurehandler/ToolKit.java 
line 71:

> 69: // just silently skip gzipped core processing
> 70: }
> 71: unpackedCore.toFile().delete();

Suggestion:

Paths.delete(unpackedCore);
``` ?

test/failure_handler/src/share/classes/jdk/test/failurehandler/Utils.java line 
73:

> 71: InputStream stream = 
> Utils.class.getResourceAsStream(resourceName);
> 72: 
> 73: // EFH_CONF_DIR might re-defined to load custom configs for 
> development purposes

this also seems to be unrelated to the subject and does require documentation 
in `test/failure_handler/README`.

test/failure_handler/src/share/classes/jdk/test/failurehandler/action/PatternAction.java
 line 63:

> 61: }
> 62: for (int i = 0, n = args.length; i < n; ++i) {
> 63: args[i] = args[i].replace("%java", 
> helper.findApp("java").getAbsolutePath());

are we sure that `java` from `PATH` (which is what `findApp` returns) is the 
right `java`?

test/failure_handler/src/share/conf/common.properties line 38:

> 36: jcmd.vm.system_properties \
> 37:   jcmd.gc.heap_info jcmd.gc.class_histogram jcmd.gc.finalizer_info \
> 38:   jcmd.vm.info \

this seems to be unrelated to the RFE you are working on.

test/failure_handler/src/share/conf/common.properties line 67:

> 65: cores=jhsdb.jstack
> 66: jhsdb.jstack.app=jhsdb
> 67: jhsdb.jstack.args=jstack --mixed --core %p --exe %java

strictly speaking, we can't guarantee that the executable is always `bin/java`, 
but it's the most common and the most interesting case, so this assumption is 
good enough for our pourposes.

could you please add a comment explaining this so the further reading won't be 
puzzled?

test/failure_handler/src/share/conf/mac.properties line 68:

> 66: native.jhsdb.app=bash
> 67: native.jhsdb.jstack.delimiter=\0
> 68: native.jhsdb.jstack.args=-c\0DevToolsSecurity --status | grep -q enabled 
> && jhsdb jstack --mixed --pid %p

AFAICS `jhsdb` does check "Developer mode" on macos before trying to attach and 
will just report 'lack of privileges' (as opposed to hanging with a modal 
window asking for permission), so you can move `jshdb.jstack` to 
`common.properties`.

-

Changes requested by iignatyev (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/4234


Re: RFR: 8267751: (test) jtreg.SkippedException has no serial VersionUID [v2]

2021-05-26 Thread Igor Ignatyev
On Wed, 26 May 2021 17:52:31 GMT, Roger Riggs  wrote:

>> The class `test/lib/jtreg/SkippedException.java` is missing a 
>> serialVersionUID causing additional noise in compiler output of tests.
>
> Roger Riggs has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Removed unintended classfile

LGTM

-

Marked as reviewed by iignatyev (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/4197


Re: RFR: 8264806: Remove the experimental JIT compiler [v2]

2021-04-27 Thread Igor Ignatyev
On Tue, 13 Apr 2021 09:30:23 GMT, Doug Simon  wrote:

> I guess this should really be named `isJVMCICompilerEnabled` now and the 
> `vm.graal.enabled` predicate renamed to `vm.jvmcicompiler.enabled` but maybe 
> that's too big a change (or can be done later).

@dougxc, I don't think that we should (or even can) rename it to 
`vm.jvmcicompiler.enabled`. although the value of the property is indeed `true` 
whenever a jvmci compiler is enabled, it is used to filter out tests that are 
incompatible with a particular compiler -- graal. so what we can do is to 
change `requires/VMProps.java` to set `vm.graal.enabled` only if the jvmci 
compiler is indeed graal, but on the other hand, we haven't heard anyone 
complaining that the test coverage for their jvmci compiler has been reduced, 
so I don't see much of the benefit here.

-- Igor

-

PR: https://git.openjdk.java.net/jdk/pull/3421


Re: RFR: 8264806: Remove the experimental JIT compiler [v2]

2021-04-10 Thread Igor Ignatyev
On Sat, 10 Apr 2021 16:36:54 GMT, Vladimir Kozlov  wrote:

>> should we remove `sun.hotspot.code.Compiler::isGraalEnabled` method and 
>> update a few of its users accordingly?
>> what about `vm.graal.enabled` `@requires` property?
>
> @iignatev  If you think that I should clean tests anyway I will file follow 
> up RFE to do that.

> > should we remove `sun.hotspot.code.Compiler::isGraalEnabled` method and 
> > update a few of its users accordingly?
> > what about `vm.graal.enabled` `@requires` property?
> 
> Thank you, @iignatev for looking on changes.
> 
> I forgot to mention that `Compiler::isGraalEnabled()` returns always false 
> now. Because 94 tests uses `@requires !vm.graal.enabled` I don't want to 
> include them in these changes which are already very big. I am not sure if I 
> should modify tests if GraalVM group wants to run all these tests.

> If you think that I should clean tests anyway I will file follow up RFE to do 
> that.

changing  `Compiler::isGraalEnabled()` to always return false effectively makes 
these tests unrunnable for GraalVM group (unless they are keep the modified 
`sun/hotspot/code/Compiler` and/or `requires/VMProps` in their forks). on top 
of that, I foresee that there will be more tests incompatible w/ Graal yet 
given it won't be run/tested in OpenJDK, these tests won't be marked and hence 
will fail when run w/ Graal. so Graal people will have to either do marking 
themselves (I guess in both upstream and their fork) or maintain a list of 
inapplicable tests in a format that works best for their setup.

that's to say, I think we should clean up the tests, yet I totally agree there 
is no need to do it as part of this PR. we can discuss how to do it better for 
both OpenJDK and GraalVM folks in the follow-up RFE.

-

PR: https://git.openjdk.java.net/jdk/pull/3421


Re: RFR: 8264806: Remove the experimental JIT compiler [v2]

2021-04-10 Thread Igor Ignatyev
On Fri, 9 Apr 2021 22:26:40 GMT, Vladimir Kozlov  wrote:

>> As part of [JEP 410](http://openjdk.java.net/jeps/410) remove code related 
>> to Java-based JIT compiler (Graal) from JDK:
>> 
>> - `jdk.internal.vm.compiler` — the Graal compiler 
>> - `jdk.internal.vm.compiler.management` — Graal's `MBean`
>> - `test/hotspot/jtreg/compiler/graalunit` — Graal's unit tests
>> 
>> Remove Graal related code in makefiles.
>> 
>> Note, next two `module-info.java` files are preserved so that the JVMCI 
>> module `jdk.internal.vm.ci` continues to build:
>> src/jdk.internal.vm.compiler/share/classes/module-info.java
>> src/jdk.internal.vm.compiler.management/share/classes/module-info.java
>> 
>> @AlanBateman suggested that we can avoid it by using Module API to export 
>> packages at runtime . It requires changes in GraalVM's JVMCI too so I will 
>> file followup RFE to implement it.
>> 
>> Tested hs-tier1-4
>
> Vladimir Kozlov has updated the pull request with a new target base due to a 
> merge or a rebase. The incremental webrev excludes the unrelated changes 
> brought in by the merge/rebase. The pull request contains three additional 
> commits since the last revision:
> 
>  - Restore Graal Builder image makefile
>  - Merge latest changes from branch 'JDK-8264805' into JDK-8264806
>  - 8264806: Remove the experimental JIT compiler

Marked as reviewed by iignatyev (Reviewer).

-

PR: https://git.openjdk.java.net/jdk/pull/3421


Re: RFR: 8264806: Remove the experimental JIT compiler [v2]

2021-04-10 Thread Igor Ignatyev
On Fri, 9 Apr 2021 22:26:40 GMT, Vladimir Kozlov  wrote:

>> As part of [JEP 410](http://openjdk.java.net/jeps/410) remove code related 
>> to Java-based JIT compiler (Graal) from JDK:
>> 
>> - `jdk.internal.vm.compiler` — the Graal compiler 
>> - `jdk.internal.vm.compiler.management` — Graal's `MBean`
>> - `test/hotspot/jtreg/compiler/graalunit` — Graal's unit tests
>> 
>> Remove Graal related code in makefiles.
>> 
>> Note, next two `module-info.java` files are preserved so that the JVMCI 
>> module `jdk.internal.vm.ci` continues to build:
>> src/jdk.internal.vm.compiler/share/classes/module-info.java
>> src/jdk.internal.vm.compiler.management/share/classes/module-info.java
>> 
>> @AlanBateman suggested that we can avoid it by using Module API to export 
>> packages at runtime . It requires changes in GraalVM's JVMCI too so I will 
>> file followup RFE to implement it.
>> 
>> Tested hs-tier1-4
>
> Vladimir Kozlov has updated the pull request with a new target base due to a 
> merge or a rebase. The incremental webrev excludes the unrelated changes 
> brought in by the merge/rebase. The pull request contains three additional 
> commits since the last revision:
> 
>  - Restore Graal Builder image makefile
>  - Merge latest changes from branch 'JDK-8264805' into JDK-8264806
>  - 8264806: Remove the experimental JIT compiler

should we remove `sun.hotspot.code.Compiler::isGraalEnabled` method and update 
a few of its users accordingly?
what about `vm.graal.enabled` `@requires` property?

-

Changes requested by iignatyev (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/3421


Re: RFR: 8264806: Remove the experimental JIT compiler

2021-04-10 Thread Igor Ignatyev
On Fri, 9 Apr 2021 22:30:32 GMT, Vladimir Kozlov  wrote:

>> As part of [JEP 410](http://openjdk.java.net/jeps/410) remove code related 
>> to Java-based JIT compiler (Graal) from JDK:
>> 
>> - `jdk.internal.vm.compiler` — the Graal compiler 
>> - `jdk.internal.vm.compiler.management` — Graal's `MBean`
>> - `test/hotspot/jtreg/compiler/graalunit` — Graal's unit tests
>> 
>> Remove Graal related code in makefiles.
>> 
>> Note, next two `module-info.java` files are preserved so that the JVMCI 
>> module `jdk.internal.vm.ci` continues to build:
>> src/jdk.internal.vm.compiler/share/classes/module-info.java
>> src/jdk.internal.vm.compiler.management/share/classes/module-info.java
>> 
>> @AlanBateman suggested that we can avoid it by using Module API to export 
>> packages at runtime . It requires changes in GraalVM's JVMCI too so I will 
>> file followup RFE to implement it.
>> 
>> Tested hs-tier1-4
>
> Thankyou, @erikj79, for review. I restored code as you asked.
> For some reasons incremental webrev shows update only in Cdiffs.

none of the full webrevs seem to render even the list of changed files? is it 
just me?

-

PR: https://git.openjdk.java.net/jdk/pull/3421


Re: RFR: 8264805: Remove the experimental Ahead-of-Time Compiler [v4]

2021-04-08 Thread Igor Ignatyev
On Thu, 8 Apr 2021 17:24:38 GMT, Vladimir Kozlov  wrote:

>> As part of [JEP 410](http://openjdk.java.net/jeps/410) remove code related 
>> to Ahead-of-Time Compiler from JDK: 
>> 
>> - `jdk.aot` module — the `jaotc` tool 
>> - `src/hotspot/share/aot` — loads AoT compiled code into VM for execution 
>> - related HotSpot code guarded by `#if INCLUDE_AOT` 
>> 
>> Additionally, remove tests as well as code in makefiles related to AoT 
>> compilation.
>> 
>> Tested hs-tier1-4
>
> Vladimir Kozlov has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   Remove exports from Graal module to jdk.aot

Test changes look good to me.

-

Marked as reviewed by iignatyev (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/3398


Integrated: 8263556: remove `@modules java.base` from tests

2021-03-15 Thread Igor Ignatyev
On Sat, 13 Mar 2021 20:26:42 GMT, Igor Ignatyev  wrote:

> Hi all,
> 
> could you please review this trivial cleanup?
> from JBS:
> 
>> jtreg `@modules X` directive does two things: 
>>  - exclude a test from execution if JDK under test doesn't have module X 
>>  - if JDK under test has module X, make sure it's resolved 
>> 
>> both these things have no sense for `java.base` module as it's always 
>> available and is always resolved.
> 
> 
> Thanks,
> -- Igor

This pull request has now been integrated.

Changeset: d825198e
Author:Igor Ignatyev 
URL:   https://git.openjdk.java.net/jdk/commit/d825198e
Stats: 21 lines in 13 files changed: 0 ins; 13 del; 8 mod

8263556: remove `@modules java.base` from tests

Reviewed-by: dcubed, naoto, iris

-

PR: https://git.openjdk.java.net/jdk/pull/2990


Re: RFR: 8263556: remove `@modules java.base` from tests

2021-03-15 Thread Igor Ignatyev
On Mon, 15 Mar 2021 16:25:48 GMT, Iris Clark  wrote:

>> Hi all,
>> 
>> could you please review this trivial cleanup?
>> from JBS:
>> 
>>> jtreg `@modules X` directive does two things: 
>>>  - exclude a test from execution if JDK under test doesn't have module X 
>>>  - if JDK under test has module X, make sure it's resolved 
>>> 
>>> both these things have no sense for `java.base` module as it's always 
>>> available and is always resolved.
>> 
>> 
>> Thanks,
>> -- Igor
>
> Marked as reviewed by iris (Reviewer).

Iris, Naoto, Dan, thank you for your reviews!

-- Igor

-

PR: https://git.openjdk.java.net/jdk/pull/2990


RFR: 8263556: remove `@modules java.base` from tests

2021-03-14 Thread Igor Ignatyev
Hi all,

could you please review this trivial cleanup?
from JBS:

> jtreg `@modules X` directive does two things: 
>  - exclude a test from execution if JDK under test doesn't have module X 
>  - if JDK under test has module X, make sure it's resolved 
> 
> both these things have no sense for `java.base` module as it's always 
> available and is always resolved.


Thanks,
-- Igor

-

Commit messages:
 - update copyright year
 - 8263556: remove `@modules java.base` from tests

Changes: https://git.openjdk.java.net/jdk/pull/2990/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk=2990=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8263556
  Stats: 21 lines in 13 files changed: 0 ins; 13 del; 8 mod
  Patch: https://git.openjdk.java.net/jdk/pull/2990.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/2990/head:pull/2990

PR: https://git.openjdk.java.net/jdk/pull/2990


Re: RFR: 8263549: 8263412 can cause jtreg testlibrary split [v3]

2021-03-13 Thread Igor Ignatyev
On Sat, 13 Mar 2021 14:20:20 GMT, Daniel D. Daugherty  
wrote:

>> Igor Ignatyev has refreshed the contents of this pull request, and previous 
>> commits have been removed. The incremental views will show differences 
>> compared to the previous content of the PR.
>
> I downloaded the patch and used Ioi's cmd pattern to scroll through
> the changes. I can't honestly say that I looked at every line since 867
> changed files would overwhelm anyone's brain...
> 
> I did notice a couple of `@run main` instead of `@run driver` calls
> to the ClassFileInstaller, but those are pre-existing.
> 
> Thumbs up.

Hi Dan,

Thanks for your review!

> I did notice a couple of @run main instead of @run driver calls to the 
> ClassFileInstaller, but those are pre-existing.

I noticed this too, planning to fix that with a separate RFE.

-- Igor

-

PR: https://git.openjdk.java.net/jdk/pull/2985


Integrated: 8263549: 8263412 can cause jtreg testlibrary split

2021-03-13 Thread Igor Ignatyev
On Sat, 13 Mar 2021 04:31:31 GMT, Igor Ignatyev  wrote:

> Hi all,
> 
> could you please review this dull patch that replaces `ClassFileInstaller` w/ 
> `jdk.test.lib.helpers.ClassFileInstaller` in all jtreg test descriptions to 
> ensure we won't get split testlibrary, and removes 
> `jdk/test/lib/ClassFileInstaller.java` (so it won't be accidentally used).
> 
> from JBS:
>> after JDK-8263412, we might (again) encounter NCDFE b/c parts of 
>> testlibraries aren't on the classpath. this happens when jtreg builds 
>> `jdk.test.lib.helpers.ClassFileInstaller` as a part of test-specific code, 
>> but `ClassFileInstaller` as part of shared testibrary directory in one test, 
>> when in the following test, jtreg sees `ClassFileInstaller` in the shared 
>> directory, hence javac won't recompile it/its dependencies, but in runtime 
>> `jdk.test.lib.helpers.ClassFileInstaller` is nowhere to be found, hence we 
>> get NCDFE. 
> 
> testing:
> - [x]  `grep ' ClassFileInstaller[^.]`
> - [ ] tier1-3
> 
> Thanks,
> -- Igor

This pull request has now been integrated.

Changeset: a7aba2b6
Author:Igor Ignatyev 
URL:   https://git.openjdk.java.net/jdk/commit/a7aba2b6
Stats: 1738 lines in 867 files changed: 2 ins; 67 del; 1669 mod

8263549: 8263412 can cause jtreg testlibrary split

Reviewed-by: iklam, dcubed

-

PR: https://git.openjdk.java.net/jdk/pull/2985


Re: RFR: 8263549: 8263412 can cause jtreg testlibrary split [v3]

2021-03-12 Thread Igor Ignatyev
On Sat, 13 Mar 2021 06:16:37 GMT, Ioi Lam  wrote:

>> Igor Ignatyev has refreshed the contents of this pull request, and previous 
>> commits have been removed. The incremental views will show differences 
>> compared to the previous content of the PR. The pull request contains one 
>> new commit since the last revision:
>> 
>>   fix compilation error in IncorrectAOTLibraryTest test
>
> I did this and scanned the differences (with the diff file from the webrev) 
> and it looks reasonable to me.
> 
> grep '^[+-]' diff.txt | grep -v Copyright | grep -v '^.[+-]' | less
> 
> It looks like most of the changes are mechanical. There were only a few cases 
> where manual changes were made. I trusted that you have tested those cases 
> individually.
> 
> But I don't understand why this error can happen. It seems like jtreg would 
> allow two test cases to interfere with each other.

Hi Ioi,

thanks for review this, I ran the whole tier1-3 jobs which should provide 
enough coverage. as oracle builds don't have AOT feature enabled, I missed a 
compilation error in `IncorrectAOTLibraryTest` test. the test failed in GitHub 
action and should be fixed by 
[3a3b7a8](https://github.com/openjdk/jdk/pull/2985/commits/3a3b7a846289181b466b3c1eb478a0a571d9468b).

-- Igor

-

PR: https://git.openjdk.java.net/jdk/pull/2985


Re: RFR: 8263549: 8263412 can cause jtreg testlibrary split [v3]

2021-03-12 Thread Igor Ignatyev
> Hi all,
> 
> could you please review this dull patch that replaces `ClassFileInstaller` w/ 
> `jdk.test.lib.helpers.ClassFileInstaller` in all jtreg test descriptions to 
> ensure we won't get split testlibrary, and removes 
> `jdk/test/lib/ClassFileInstaller.java` (so it won't be accidentally used).
> 
> from JBS:
>> after JDK-8263412, we might (again) encounter NCDFE b/c parts of 
>> testlibraries aren't on the classpath. this happens when jtreg builds 
>> `jdk.test.lib.helpers.ClassFileInstaller` as a part of test-specific code, 
>> but `ClassFileInstaller` as part of shared testibrary directory in one test, 
>> when in the following test, jtreg sees `ClassFileInstaller` in the shared 
>> directory, hence javac won't recompile it/its dependencies, but in runtime 
>> `jdk.test.lib.helpers.ClassFileInstaller` is nowhere to be found, hence we 
>> get NCDFE. 
> 
> testing:
> - [x]  `grep ' ClassFileInstaller[^.]`
> - [ ] tier1-3
> 
> Thanks,
> -- Igor

Igor Ignatyev has refreshed the contents of this pull request, and previous 
commits have been removed. The incremental views will show differences compared 
to the previous content of the PR. The pull request contains one new commit 
since the last revision:

  fix compilation error in IncorrectAOTLibraryTest test

-

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/2985/files
  - new: https://git.openjdk.java.net/jdk/pull/2985/files/ff6d4f91..3a3b7a84

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk=2985=02
 - incr: https://webrevs.openjdk.java.net/?repo=jdk=2985=01-02

  Stats: 3 lines in 1 file changed: 2 ins; 0 del; 1 mod
  Patch: https://git.openjdk.java.net/jdk/pull/2985.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/2985/head:pull/2985

PR: https://git.openjdk.java.net/jdk/pull/2985


Re: RFR: 8263549: 8263412 can cause jtreg testlibrary split [v2]

2021-03-12 Thread Igor Ignatyev
> Hi all,
> 
> could you please review this dull patch that replaces `ClassFileInstaller` w/ 
> `jdk.test.lib.helpers.ClassFileInstaller` in all jtreg test descriptions to 
> ensure we won't get split testlibrary, and removes 
> `jdk/test/lib/ClassFileInstaller.java` (so it won't be accidentally used).
> 
> from JBS:
>> after JDK-8263412, we might (again) encounter NCDFE b/c parts of 
>> testlibraries aren't on the classpath. this happens when jtreg builds 
>> `jdk.test.lib.helpers.ClassFileInstaller` as a part of test-specific code, 
>> but `ClassFileInstaller` as part of shared testibrary directory in one test, 
>> when in the following test, jtreg sees `ClassFileInstaller` in the shared 
>> directory, hence javac won't recompile it/its dependencies, but in runtime 
>> `jdk.test.lib.helpers.ClassFileInstaller` is nowhere to be found, hence we 
>> get NCDFE. 
> 
> testing:
> - [x]  `grep ' ClassFileInstaller[^.]`
> - [ ] tier1-3
> 
> Thanks,
> -- Igor

Igor Ignatyev has updated the pull request incrementally with one additional 
commit since the last revision:

  fix compilation error in IncorrectAOTLibraryTest test

-

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/2985/files
  - new: https://git.openjdk.java.net/jdk/pull/2985/files/6e53ad97..ff6d4f91

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk=2985=01
 - incr: https://webrevs.openjdk.java.net/?repo=jdk=2985=00-01

  Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
  Patch: https://git.openjdk.java.net/jdk/pull/2985.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/2985/head:pull/2985

PR: https://git.openjdk.java.net/jdk/pull/2985


Re: RFR: 8263549: 8263412 can cause jtreg testlibrary split

2021-03-12 Thread Igor Ignatyev
On Sat, 13 Mar 2021 04:31:31 GMT, Igor Ignatyev  wrote:

> Hi all,
> 
> could you please review this dull patch that replaces `ClassFileInstaller` w/ 
> `jdk.test.lib.helpers.ClassFileInstaller` in all jtreg test descriptions to 
> ensure we won't get split testlibrary, and removes 
> `jdk/test/lib/ClassFileInstaller.java` (so it won't be accidentally used).
> 
> from JBS:
>> after JDK-8263412, we might (again) encounter NCDFE b/c parts of 
>> testlibraries aren't on the classpath. this happens when jtreg builds 
>> `jdk.test.lib.helpers.ClassFileInstaller` as a part of test-specific code, 
>> but `ClassFileInstaller` as part of shared testibrary directory in one test, 
>> when in the following test, jtreg sees `ClassFileInstaller` in the shared 
>> directory, hence javac won't recompile it/its dependencies, but in runtime 
>> `jdk.test.lib.helpers.ClassFileInstaller` is nowhere to be found, hence we 
>> get NCDFE. 
> 
> testing:
> - [x]  `grep ' ClassFileInstaller[^.]`
> - [ ] tier1-3
> 
> Thanks,
> -- Igor

note for reviewers: the big part of the patch is just `sed -i  's/ 
ClassFileInstaller / jdk.test.lib.helpers.ClassFileInstaller /g'`

-

PR: https://git.openjdk.java.net/jdk/pull/2985


RFR: 8263549: 8263412 can cause jtreg testlibrary split

2021-03-12 Thread Igor Ignatyev
Hi all,

could you please review this dull patch that replaces `ClassFileInstaller` w/ 
`jdk.test.lib.helpers.ClassFileInstaller` in all jtreg test descriptions to 
ensure we won't get split testlibrary, and removes 
`jdk/test/lib/ClassFileInstaller.java` (so it won't be accidentally used).

from JBS:
> after JDK-8263412, we might (again) encounter NCDFE b/c parts of 
> testlibraries aren't on the classpath. this happens when jtreg builds 
> `jdk.test.lib.helpers.ClassFileInstaller` as a part of test-specific code, 
> but `ClassFileInstaller` as part of shared testibrary directory in one test, 
> when in the following test, jtreg sees `ClassFileInstaller` in the shared 
> directory, hence javac won't recompile it/its dependencies, but in runtime 
> `jdk.test.lib.helpers.ClassFileInstaller` is nowhere to be found, hence we 
> get NCDFE. 

testing:
- [x]  `grep ' ClassFileInstaller[^.]`
- [ ] tier1-3

Thanks,
-- Igor

-

Commit messages:
 - fixup
 - update copyright year
 - rm test/lib/ClassFileInstaller.java
 - 's/ ClassFileInstaller / jdk.test.lib.helpers.ClassFileInstaller /g'

Changes: https://git.openjdk.java.net/jdk/pull/2985/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk=2985=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8263549
  Stats: 1736 lines in 867 files changed: 0 ins; 67 del; 1669 mod
  Patch: https://git.openjdk.java.net/jdk/pull/2985.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/2985/head:pull/2985

PR: https://git.openjdk.java.net/jdk/pull/2985


Integrated: 8263412: ClassFileInstaller can't be used by classes outside of default package

2021-03-12 Thread Igor Ignatyev
On Thu, 11 Mar 2021 05:47:00 GMT, Igor Ignatyev  wrote:

> Hi all,
> 
> could you please review the patch which moves `ClassFileInstaller` class to 
> `jdk.test.lib.helpers` package? 
> to reduce changes in the tests, `ClassFileInstaller` in the default package 
> is kept w/ just `main` method that calls  `jdk.test.lib.helpers. 
> ClassFileInstaller::main`. 
> 
> from JBS:
>> ClassFileInstaller is in the default package hence it's impossible to use it 
>> directly by classes in any other package. although ClassFileInstaller is 
>> mainly used directly from jtreg test description, there are cases when one 
>> needs to use it in another "driver" class (e.g. to reduce boilerplate), yet 
>> to do. that these driver classes have to either be in a default package or 
>> use reflection, both approaches have drawbacks. 
>> 
>> to solve that, we can move ClassFileInstaller implementation to a package, 
>> and to avoid unneeded churn, keep package-less ClassFileInstaller class 
>> which will call package-full impl.
>>
>> the need for this patch has raised as part of 
>> [JDK-8254129](https://bugs.openjdk.java.net/browse/JDK-8254129).
> 
> testing:
> - [x] `:jdk_core` against `{macos,windows,linux}-x64`
> - [x] `:jdk_svc` against `{macos,windows,linux}-x64`
> - [x] `test/hotspot/jtreg` w/o `applications` and `vmTestbase` directories 
> against `{macos,windows,linux}-x64`
> 
> Thanks,
> -- Igor

This pull request has now been integrated.

Changeset: e834f99d
Author:Igor Ignatyev 
URL:   https://git.openjdk.java.net/jdk/commit/e834f99d
Stats: 472 lines in 114 files changed: 145 ins; 229 del; 98 mod

8263412: ClassFileInstaller can't be used by classes outside of default package

Reviewed-by: iklam, coleenp, mseledtsov

-

PR: https://git.openjdk.java.net/jdk/pull/2932


Re: RFR: 8263412: ClassFileInstaller can't be used by classes outside of default package

2021-03-12 Thread Igor Ignatyev
On Fri, 12 Mar 2021 02:08:09 GMT, Mikhailo Seledtsov  
wrote:

>> Hi all,
>> 
>> could you please review the patch which moves `ClassFileInstaller` class to 
>> `jdk.test.lib.helpers` package? 
>> to reduce changes in the tests, `ClassFileInstaller` in the default package 
>> is kept w/ just `main` method that calls  `jdk.test.lib.helpers. 
>> ClassFileInstaller::main`. 
>> 
>> from JBS:
>>> ClassFileInstaller is in the default package hence it's impossible to use 
>>> it directly by classes in any other package. although ClassFileInstaller is 
>>> mainly used directly from jtreg test description, there are cases when one 
>>> needs to use it in another "driver" class (e.g. to reduce boilerplate), yet 
>>> to do. that these driver classes have to either be in a default package or 
>>> use reflection, both approaches have drawbacks. 
>>> 
>>> to solve that, we can move ClassFileInstaller implementation to a package, 
>>> and to avoid unneeded churn, keep package-less ClassFileInstaller class 
>>> which will call package-full impl.
>>>
>>> the need for this patch has raised as part of 
>>> [JDK-8254129](https://bugs.openjdk.java.net/browse/JDK-8254129).
>> 
>> testing:
>> - [x] `:jdk_core` against `{macos,windows,linux}-x64`
>> - [x] `:jdk_svc` against `{macos,windows,linux}-x64`
>> - [x] `test/hotspot/jtreg` w/o `applications` and `vmTestbase` directories 
>> against `{macos,windows,linux}-x64`
>> 
>> Thanks,
>> -- Igor
>
> Marked as reviewed by mseledtsov (Committer).

Ioi, Coleen, Misha, thanks for your reviews.

-- Igor

-

PR: https://git.openjdk.java.net/jdk/pull/2932


RFR: 8263412: ClassFileInstaller can't be used by classes outside of default package

2021-03-11 Thread Igor Ignatyev
Hi all,

could you please review the patch which moves `ClassFileInstaller` class to 
`jdk.test.lib.helpers` package? 
to reduce changes in the tests, `ClassFileInstaller` in the default package is 
kept w/ just `main` method that calls  `jdk.test.lib.helpers. 
ClassFileInstaller::main`. 

from JBS:
> ClassFileInstaller is in the default package hence it's impossible to use it 
> directly by classes in any other package. although ClassFileInstaller is 
> mainly used directly from jtreg test description, there are cases when one 
> needs to use it in another "driver" class (e.g. to reduce boilerplate), yet 
> to do. that these driver classes have to either be in a default package or 
> use reflection, both approaches have drawbacks. 
> 
> to solve that, we can move ClassFileInstaller implementation to a package, 
> and to avoid unneeded churn, keep package-less ClassFileInstaller class which 
> will call package-full impl.
>
> the need for this patch has raised as part of 
> [JDK-8254129](https://bugs.openjdk.java.net/browse/JDK-8263412).

testing:
- [x] `:jdk_core` against `{macos,windows,linux}-x64`
- [x] `:jdk_svc` against `{macos,windows,linux}-x64`
- [x] `test/hotspot/jtreg` w/o `applications` and `vmTestbase` directories 
against `{macos,windows,linux}-x64`

Thanks,
-- Igor

-

Commit messages:
 - make ClassFileInstaller.Manifest::from* public
 - updated copyright years
 - import j.t.l.helpers.ClassFileInstaller
 - added jdk/test/lib/helpers/ClassFileInstaller

Changes: https://git.openjdk.java.net/jdk/pull/2932/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk=2932=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8263412
  Stats: 473 lines in 114 files changed: 145 ins; 229 del; 99 mod
  Patch: https://git.openjdk.java.net/jdk/pull/2932.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/2932/head:pull/2932

PR: https://git.openjdk.java.net/jdk/pull/2932


Re: RFR: 8259267: Refactor LoaderLeak shell test as java test. [v15]

2021-03-03 Thread Igor Ignatyev
On Wed, 3 Mar 2021 19:56:07 GMT, Ivan Šipka  wrote:

>> Refactor `test/jdk/java/lang/annotation/loaderLeak/LoaderLeak.sh` as java 
>> test.
>
> Ivan Šipka has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   8166026: Refactor java/lang shell tests to java

Marked as reviewed by iignatyev (Reviewer).

-

PR: https://git.openjdk.java.net/jdk/pull/1577


Re: RFR: 8259267: Refactor LoaderLeak shell test as java test. [v14]

2021-03-03 Thread Igor Ignatyev
On Wed, 3 Mar 2021 15:55:03 GMT, Ivan Šipka  wrote:

>> Refactor `test/jdk/java/lang/annotation/loaderLeak/LoaderLeak.sh` as java 
>> test.
>
> Ivan Šipka has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   8166026: Refactor java/lang shell tests to java

test/jdk/java/lang/annotation/LoaderLeakTest.java line 74:

> 72: catch (NullPointerException npe) {
> 73: throw new AssertionError("c.get() should never return 
> null", npe);
> 74: }

I don't think it's the right way to handle that, you don't know if this NPE is 
from `c.get`, so the exception messages might be misleading. I'd just remove 
try/catch, if NPE occurs jtreg will report the test as failed w/ NPE as a 
reason, so whoever analyzes it will be able to understand.

alternatively, you can save c.get into a local variable which you nulls later 
one, e.g.
 ```
static void doTest(boolean readAnn) throws Exception {
...
var tmp = c.get();
if (t == null) throw new AssertionError("c.get is null");
if (t.getClassLoader() != loader) throw new AssertionError("wrong classloader");
t = null;

-

PR: https://git.openjdk.java.net/jdk/pull/1577


Re: RFR: 8259267: Refactor LoaderLeak shell test as java test. [v8]

2021-02-22 Thread Igor Ignatyev
On Mon, 22 Feb 2021 15:24:19 GMT, Ivan Šipka  wrote:

>> Refactor `test/jdk/java/lang/annotation/loaderLeak/LoaderLeak.sh` as java 
>> test.
>
> Ivan Šipka has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   8166026: Refactor java/lang shell tests to java

Changes requested by iignatyev (Reviewer).

test/jdk/java/lang/annotation/LoaderLeakTest.java line 80:

> 78: System.gc();
> 79: System.gc();
> 80: if (c.get() == null) throw new AssertionError("class missing");

it would be better to use a different message here, so it would uniquely 
identify a failed check, e.g. `class missing after GC but before loader is 
unreachable`

test/jdk/java/lang/annotation/LoaderLeakTest.java line 74:

> 72: ClassLoader loader = new SimpleClassLoader();
> 73: var c = new WeakReference>(loader.loadClass("C"));
> 74: if (c.get() == null) throw new AssertionError();

please add an exception message here as well.

test/jdk/java/lang/annotation/LoaderLeakTest.java line 68:

> 66: public static void main(String[] args) throws Exception {
> 67: for (int i=0; i<100; i++)
> 68: doTest(args.length != 0);

nit: it's usually better to use `{`/`}` even for a one-line loop block.

test/jdk/java/lang/annotation/LoaderLeakTest.java line 99:

> 97: }
> 98: 
> 99: @java.lang.annotation.Retention(RUNTIME)

nit: `import java.lang.annotation.Retention;`

test/jdk/java/lang/annotation/LoaderLeakTest.java line 59:

> 57: private void runJavaProcessExpectSuccessExitCode(String ... command) 
> throws Throwable {
> 58: var processBuilder = 
> ProcessTools.createJavaProcessBuilder(command)
> 59: 
> .directory(Paths.get(Utils.TEST_CLASSES).toFile());

nit: in the case of chain calls, lines should be aligned by `.`

test/jdk/java/lang/annotation/LoaderLeakTest.java line 28:

> 26:  * @bug 5040740
> 27:  * @summary annotations cause memory leak
> 28:  * @author gafter

not sure about etiquette in core-libs testsuite, but in hotspot testsuite, we 
tend not to use `@author` tag.

-

PR: https://git.openjdk.java.net/jdk/pull/1577


Re: RFR: 8259267: Refactor LoaderLeak shell test as java test. [v8]

2021-02-22 Thread Igor Ignatyev
On Mon, 22 Feb 2021 15:33:30 GMT, Igor Ignatyev  wrote:

>> Ivan Šipka has updated the pull request incrementally with one additional 
>> commit since the last revision:
>> 
>>   8166026: Refactor java/lang shell tests to java
>
> test/jdk/java/lang/annotation/LoaderLeakTest.java line 68:
> 
>> 66: public static void main(String[] args) throws Exception {
>> 67: for (int i=0; i<100; i++)
>> 68: doTest(args.length != 0);
> 
> nit: it's usually better to use `{`/`}` even for a one-line loop block.

nit 2: `=` and `<` should be surrounded by a space.

-

PR: https://git.openjdk.java.net/jdk/pull/1577


Re: RFR: 8259267: Refactor LoaderLeak shell test as java test. [v3]

2021-02-09 Thread Igor Ignatyev
On Fri, 11 Dec 2020 13:39:04 GMT, Igor Ignatyev  wrote:

>> Ivan Šipka has updated the pull request incrementally with one additional 
>> commit since the last revision:
>> 
>>   8166026: Refactor java/lang shell tests to java
>
> test/jdk/java/lang/annotation/LoaderLeakTest.java line 64:
> 
>> 62: @Test
>> 63: public void testWithoutReadingAnnotations() throws Throwable {
>> 64: runJavaProcessExpectSuccessExitCode("Main");
> 
> indentation here looks wierd

indentation still looks weird here.

-

PR: https://git.openjdk.java.net/jdk/pull/1577


Re: RFR: 8259267: Refactor LoaderLeak shell test as java test. [v5]

2021-02-09 Thread Igor Ignatyev
On Mon, 8 Feb 2021 20:12:03 GMT, Ivan Šipka  wrote:

>> Refactor `test/jdk/java/lang/annotation/loaderLeak/LoaderLeak.sh` as java 
>> test.
>
> Ivan Šipka has updated the pull request with a new target base due to a merge 
> or a rebase. The pull request now contains four commits:
> 
>  - 8166026: Refactor java/lang shell tests to java
>  - 8166026: Refactor java/lang shell tests to java
>  - 8166026: Refactor java/lang shell tests to java
>  - 8166026: Refactor java/lang shell tests to java

Changes requested by iignatyev (Reviewer).

test/jdk/java/lang/annotation/LoaderLeakTest.java line 2:

> 1: /*
> 2:  * Copyright (c) 2004, 2020, Oracle and/or its affiliates. All rights 
> reserved.

it's 2021

test/jdk/java/lang/annotation/LoaderLeakTest.java line 78:

> 76: // URL classes = new URL("file://" + 
> System.getProperty("user.dir") + "/classes");
> 77: // URL[] path = { classes };
> 78: // URLClassLoader loader = new URLClassLoader(path);

please remove the commented out lines (L76-78)

test/jdk/java/lang/annotation/LoaderLeakTest.java line 128:

> 126: 
> 127: @Override
> 128: public synchronized Class loadClass(String className, boolean 
> resolveIt)

does it need to be `synchronized` ?

test/jdk/java/lang/annotation/LoaderLeakTest.java line 123:

> 121: return Files.readAllBytes(Paths.get(className + ".class"));
> 122: } catch (Exception e) {
> 123: throw new Error(e);

could you please use a descriptive message here (and include `className`  value 
into it), so it will be easier to analyze test failures?

test/jdk/java/lang/annotation/LoaderLeakTest.java line 119:

> 117: 
> 118: private byte[] getClassImplFromDataBase(String className) {
> 119: byte result[];

unused

test/jdk/java/lang/annotation/LoaderLeakTest.java line 80:

> 78: // URLClassLoader loader = new URLClassLoader(path);
> 79: ClassLoader loader = new SimpleClassLoader();
> 80: WeakReference> c = new 
> WeakReference>(loader.loadClass("C"));

nit: I'd use `var` here.

test/jdk/java/lang/annotation/LoaderLeakTest.java line 82:

> 80: WeakReference> c = new 
> WeakReference>(loader.loadClass("C"));
> 81: if (c.get() == null) throw new AssertionError();
> 82: if (c.get().getClassLoader() != loader) throw new 
> AssertionError();

please use the messages which explain what went wrong, so when the failure 
happens, the person who analyze it won't have to open test code every time to 
just understand which of assertions was hit.

test/jdk/java/lang/annotation/LoaderLeakTest.java line 106:

> 104: }
> 105: 
> 106: 
> @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME)

nit: I'd import these types from j.l.a

-

PR: https://git.openjdk.java.net/jdk/pull/1577


Re: RFR: 8259268: Refactor InheritIO shell test as java test [v3]

2021-02-03 Thread Igor Ignatyev
On Thu, 3 Dec 2020 19:46:14 GMT, Ivan Šipka  wrote:

>> @iignatev  could you please review? Thank you.
>> 
>> note to self:
>> jtreg test/jdk/java/lang/ProcessBuilder/InheritIO/InheritIoTest.java 
>> test/jdk/java/lang/SecurityManager/modules/CustomSecurityManagerTest.java 
>> test/jdk/java/lang/Thread/uncaughtexceptions/UncaughtExceptionsTest.java 
>> test/jdk/java/lang/annotation/loaderLeak/LoaderLeakTest.java
>
> Ivan Šipka has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   8166026: Refactor java/lang shell tests to java

you need to fix a missed comma in the copyright header to avoid tie1 failures.

test/jdk/java/lang/ProcessBuilder/InheritIOTest.java line 2:

> 1: /*
> 2:  * Copyright (c) 2020 Oracle and/or its affiliates. All rights reserved.

missed comma

-

Changes requested by iignatyev (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/1484


Re: RFR: 8259267: Refactor LoaderLeak shell test as java test. [v3]

2021-01-05 Thread Igor Ignatyev
On Tue, 5 Jan 2021 20:58:37 GMT, Ivan Šipka  wrote:

>> test/jdk/java/lang/annotation/LoaderLeakTest.java line 54:
>> 
>>> 52: List classes = List.of("A.class", "B.class", "C.class");
>>> 53: for (String fileName : classes) {
>>> 54: Files.move(
>> 
>> I don't think it's a good idea to move files created and managed by `jtreg`. 
>> I'd recommend you copying them here and, in `runJavaProcess...` constructing 
>> `ProcessBuilder` youself:
>> 
>> var args = new ArrayList(command.length + 1);
>> args.add(JDKToolFinder.getJDKTool("java"));
>> Collections.addAll(args, command);
>> var pb = new 
>> ProcessBuilder(args).directory(Paths.get(Utils.TEST_CLASSES).toFile());
>
> They are intentionally moved out of class path so that the application class 
> loader can not find them. If they are not moved they will be loaded by the 
> application class loader and they need to be 
> [loaded](https://github.com/openjdk/jdk/blob/bc56a63702b8730abc1d0aebee133a5884145fa1/test/jdk/java/lang/annotation/LoaderLeakTest.java#L96)
>  by the tests very own `SimpleClassLoader` in order to be able to test for 
> the leakage.

I understand the intention, but it can be achieved w/o messing around w/ jtreg 
managed directories, for example by changing `SimpleClassLoader` to not 
delegate the loading of `A`, `B`, `C` classes to the application CL.

-

PR: https://git.openjdk.java.net/jdk/pull/1577


Re: RFR: 8166026: Refactor java/lang shell tests to java [v3]

2020-12-11 Thread Igor Ignatyev
On Wed, 9 Dec 2020 15:19:58 GMT, Ivan Šipka  wrote:

>> Refactor `test/jdk/java/lang/annotation/loaderLeak/LoaderLeak.sh` as java 
>> test.
>
> Ivan Šipka has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   8166026: Refactor java/lang shell tests to java

Changes requested by iignatyev (Reviewer).

test/jdk/java/lang/annotation/LoaderLeakTest.java line 79:

> 77: 
> .directory(Paths.get(Utils.TEST_CLASSES).toFile()
> 78: )
> 79: ).shouldHaveExitValue(0);

indentation here looks wierd

test/jdk/java/lang/annotation/LoaderLeakTest.java line 54:

> 52: List classes = List.of("A.class", "B.class", "C.class");
> 53: for (String fileName : classes) {
> 54: Files.move(

I don't think it's a good idea to move files created and managed by `jtreg`. 
I'd recommend you copying them here and, in `runJavaProcess...` constructing 
`ProcessBuilder` youself:

var args = new ArrayList(command.length + 1);
args.add(JDKToolFinder.getJDKTool("java"));
Collections.addAll(args, command);
var pb = new 
ProcessBuilder(args).directory(Paths.get(Utils.TEST_CLASSES).toFile());

-

PR: https://git.openjdk.java.net/jdk/pull/1577


Re: RFR: 8257516: define test group for manual tests [v3]

2020-12-04 Thread Igor Ignatyev
On Thu, 3 Dec 2020 22:54:13 GMT, Ivan Šipka  wrote:

>> Defined new test groups as defined in ticket. @fguallini
>
> Ivan Šipka has refreshed the contents of this pull request, and previous 
> commits have been removed. The incremental views will show differences 
> compared to the previous content of the PR. The pull request contains one new 
> commit since the last revision:
> 
>   8257516: define test group for manual tests

LGTM

-

Marked as reviewed by iignatyev (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/1416


Re: RFR: 8256894: define test groups [v2]

2020-12-02 Thread Igor Ignatyev
On Mon, 30 Nov 2020 21:10:13 GMT, Igor Ignatyev  wrote:

>> Ivan Šipka has updated the pull request incrementally with one additional 
>> commit since the last revision:
>> 
>>   8257516: removing trailing space
>
> @frkator, you will need to open a new JBS ticket for this change.

> @iignatev as for:
> "[#1416 
> (comment)](https://github.com/openjdk/jdk/pull/1416#discussion_r532904345)"
> accidentaly resolved. Yes they are but the goal is to list all manual tests 
> under one label for counting purposes.

I understand that; my comment was rather to @AlanBateman 's request not to add 
manual tests into `:jdk_code`. they already are, and removing explicit 
inclusion of `:jdk_core_manual` to `:jdk_core` won't change that.

-- Igor

-

PR: https://git.openjdk.java.net/jdk/pull/1416


Re: RFR: 8166026: refactor shell tests to java

2020-11-30 Thread Igor Ignatyev
On Fri, 27 Nov 2020 18:50:19 GMT, Ivan Šipka  wrote:

> @iignatev  could you please review? Thank you.
> 
> note to self:
> jtreg test/jdk/java/lang/ProcessBuilder/InheritIO/InheritIoTest.java 
> test/jdk/java/lang/SecurityManager/modules/CustomSecurityManagerTest.java 
> test/jdk/java/lang/Thread/uncaughtexceptions/UncaughtExceptionsTest.java 
> test/jdk/java/lang/annotation/loaderLeak/LoaderLeakTest.java

it would be much easier to review if it was 4 separate RFEs/RFRs.

many new files miss a newline at the end.

test/jdk/java/lang/ProcessBuilder/InheritIO/InheritIoTest.java line 60:

> 58: outputAnalyzer.shouldHaveExitValue(0);
> 59: outputAnalyzer.stderrShouldMatch(EXPECTED_RESULT_STDERR);
> 60: outputAnalyzer.stdoutShouldMatch(EXPECTED_RESULT_STDOUT);

you can chain these methods.

test/jdk/java/lang/ProcessBuilder/InheritIO/InheritIoTest.java line 61:

> 59: outputAnalyzer.stderrShouldMatch(EXPECTED_RESULT_STDERR);
> 60: outputAnalyzer.stdoutShouldMatch(EXPECTED_RESULT_STDOUT);
> 61: assertEquals(outputAnalyzer.getOutput(),EXPECTED_RESULT_STDOUT + 
> EXPECTED_RESULT_STDERR);

I'd rather check stdout and stderr independently, this will also make checks at 
59 and 60 redundant.

test/jdk/java/lang/Thread/uncaughtexceptions/UncaughtExceptionsTest.java line 
70:

> 68: outputAnalyzer.shouldHaveExitValue(exitValue);
> 69: outputAnalyzer.stderrShouldMatch(stdErrMatch);
> 70: outputAnalyzer.stdoutShouldMatch(stdOutMatch);

why do you use `ShouldMatch` and not `ShouldContain` here?

test/jdk/java/lang/annotation/loaderLeak/LoaderLeakTest.java line 53:

> 51: Files.createDirectories(REPOSITORY_PATH);
> 52: List classes = List.of("A.class", "B.class", "C.class");
> 53: for (String fileName : classes) {

is this really needed for the test to operate correctly? or can we just use 
_regular_ `TEST_CLASSES` as CP?

-

Changes requested by iignatyev (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/1484


Re: RFR: JDK-8249836 java/io/IOException/LastErrorString.java should have bug-id as 1st word in @ignore

2020-11-30 Thread Igor Ignatyev
On Fri, 27 Nov 2020 16:11:54 GMT, Mahendra Chhipa 
 wrote:

> …id as 1st word in @ignore
> 
> https://bugs.openjdk.java.net/browse/JDK-8249836

LGTM

-

Marked as reviewed by iignatyev (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/1482


Re: RFR: 8256894: define test groups

2020-11-30 Thread Igor Ignatyev
On Tue, 24 Nov 2020 16:13:59 GMT, Ivan Šipka  wrote:

> Defined new test groups as defined in ticket. @fguallini

@frkator, you will need to open a new JBS ticket for this change.

test/jdk/TEST.groups line 326:

> 324: :jdk_text \
> 325: :core_tools \
> 326: :jdk_other 

it would seem you have introduced a trailing space

-

Changes requested by iignatyev (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/1416


Re: RFR: 8256894: define test groups

2020-11-30 Thread Igor Ignatyev
On Wed, 25 Nov 2020 20:31:50 GMT, Ivan Šipka  wrote:

>> test/jdk/TEST.groups line 327:
>> 
>>> 325: :core_tools \
>>> 326: :jdk_other \
>>> 327: :jdk_core_manual
>> 
>> Please don't add manual tests to jdk_core.
>
> Removed.

aren't they already a part of `jdk_core` test group? e.g. 
`java/net/HugeDataTransferTest.java` is in `:jdk_net` (as `jdk_net` includes 
`java/net` directory), and `:jdk_core` includes `:jdk_net`?

-

PR: https://git.openjdk.java.net/jdk/pull/1416


Re: RFR: 8256244: java/lang/ProcessHandle/PermissionTest.java fails with TestNG 7.1

2020-11-12 Thread Igor Ignatyev
On Thu, 12 Nov 2020 15:48:33 GMT, Roger Riggs  wrote:

> TestNG 7.1 changed/corrected the way that @BeforeGroups are selected at 
> runtime.
> The test was depending on @BeforeGroups to initialize common security policy 
> for a number of tests.
> The tests are modified to individually setup the needed security manager and 
> policy.

Marked as reviewed by iignatyev (Reviewer).

-

PR: https://git.openjdk.java.net/jdk/pull/1190


Re: RFR: 8255964: Add all details to jstack log in jtreg timeout handler [v2]

2020-11-06 Thread Igor Ignatyev
On Fri, 6 Nov 2020 20:25:13 GMT, Nils Eliasson  wrote:

>> This patch adds jcmd Thread.print to the jtreg timeout handler.
>> 
>> Please review.
>
> Nils Eliasson has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   add extended printing to jstack

Marked as reviewed by iignatyev (Reviewer).

-

PR: https://git.openjdk.java.net/jdk/pull/1080


Re: RFR: 8255964: Add jcmd Thread.print to jtreg timeout handler

2020-11-06 Thread Igor Ignatyev
On Thu, 5 Nov 2020 17:09:58 GMT, Nils Eliasson  wrote:

> This patch adds jcmd Thread.print to the jtreg timeout handler.
> 
> Please review.

Hi Nils,

It looks alright, but could you please elaborate on why we need it when there 
is already `jstack` action?

— Igor

-

PR: https://git.openjdk.java.net/jdk/pull/1080


Re: RFR: 8238263: Create at-requires mechanism for containers [v2]

2020-10-26 Thread Igor Ignatyev
On Mon, 26 Oct 2020 18:13:29 GMT, Harold Seigel  wrote:

>> Please review this change to add an @requires mechanism called 
>> "jdk.containerized" to help mark tests that are incompatible with 
>> containers.  Users would add "@requires jdk.containerized != true" to the 
>> incompatible tests and then use "make test ... 
>> OPTIONS=-Djdk.containerized=true" or "bash jib.sh mach5 -- 
>> remote-build-and-test ... --test-make-args 
>> JTREG=OPTIONS=-Djdk.containerized=true" to exclude those tests when testing 
>> with containers.
>
> Harold Seigel has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   8238263: Create at-requires mechanism for containers

LGTM, modulo my earlier comment/doubt about the name, but I don’t think it’s 
important enough

-

Marked as reviewed by iignatyev (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/844


Re: RFR: 8238263: Create at-requires mechanism for containers

2020-10-26 Thread Igor Ignatyev
On Mon, 26 Oct 2020 13:49:26 GMT, Harold Seigel  wrote:

> Defining an environment variable works when running JTReg from the command 
> line. But, mach5 does not pass environment variable settings to its JTReg 
> test runs. Some mach5 special command args would still be needed.

right, yet given you also need to explicitly say mach5 that you want to run 
testing within docker, that's not a huge problem. this is assuming we default 
env. variable to `false`, `make` propagates this env. variable to `jtreg` and 
`jtreg` propagates it to the JVM which runs `VMProps` class.

-

PR: https://git.openjdk.java.net/jdk/pull/844


Re: RFR: 8238263: Create at-requires mechanism for containers

2020-10-23 Thread Igor Ignatyev
On Fri, 23 Oct 2020 19:54:40 GMT, Igor Ignatyev  wrote:

>> Hi Igor,
>> I think it depends on whether the tests will be permanently or temporarily 
>> excluded from running with containers.  I thought this mechanism would be to 
>> permanently exclude the tests.  That's why I used @requires.
>> Thanks, Harold
>
>> I think it depends on whether the tests will be permanently or temporarily 
>> excluded from running with containers. I thought this mechanism would be to 
>> permanently exclude the tests. That's why I used `@requires`.
> 
> I see, if this is for permanent exclusion then yes I agree that `@requires` 
> is a better choice.
> 
>>> enable this option based on an environment variable so we don?t have to 
>>> remember the
> cryptic command line sequence.
>> I'll look into basing the option on an environment variable.
> 
> one will still need to pass an environment variable to jtreg, and hence will 
> need to remember some sort of "cryptic command line sequence". a solution for 
> that might be to default `jdk.containerized` to `false` in `VMProps.java` and 
> when only _containerized_ runs will have to set it up.
> 
> 
> btw, I'm not sure that `jdk.containerized` is the best name for this property 
> as _containerization_ is more of an environmental characteristic than that of 
> jdk. how about smth like `env.containerized` or `testenv.containerized`?

> > one will still need to pass an environment variable to jtreg, and hence 
> > will need to remember some sort of "cryptic command line sequence". a 
> > solution for that might be to default `jdk.containerized` to `false` in 
> > `VMProps.java` and when only _containerized_ runs will have to set it up.
> 
> Why? Environment variables are inherited. For developers running jtreg, all 
> they need to do is export the variable.
> 
> % export JAVA_CONTAINERIZED=1
> % bash
> % echo $JAVA_CONTAINERIZED
> % 1

b/c jtreg strips most of the environment variables, they might still be defined 
in the process which runs `VMProps` though (I have never checked that)

-

PR: https://git.openjdk.java.net/jdk/pull/844


Re: RFR: 8238263: Create at-requires mechanism for containers

2020-10-23 Thread Igor Ignatyev
On Fri, 23 Oct 2020 19:25:27 GMT, Harold Seigel  wrote:

> I think it depends on whether the tests will be permanently or temporarily 
> excluded from running with containers. I thought this mechanism would be to 
> permanently exclude the tests. That's why I used `@requires`.

I see, if this is for permanent exclusion then yes I agree that `@requires` is 
a better choice.

>> enable this option based on an environment variable so we don?t have to 
>> remember the
cryptic command line sequence.
> I'll look into basing the option on an environment variable.

one will still need to pass an environment variable to jtreg, and hence will 
need to remember some sort of "cryptic command line sequence". a solution for 
that might be to default `jdk.containerized` to `false` in `VMProps.java` and 
when only _containerized_ runs will have to set it up.


btw, I'm not sure that `jdk.containerized` is the best name for this property 
as _containerization_ is more of an environmental characteristic than that of 
jdk. how about smth like `env.containerized` or `testenv.containerized`?

-

PR: https://git.openjdk.java.net/jdk/pull/844


Re: RFR: 8238263: Create at-requires mechanism for containers

2020-10-23 Thread Igor Ignatyev
On Fri, 23 Oct 2020 18:44:54 GMT, Harold Seigel  wrote:

> Please review this change to add an @requires mechanism called 
> "jdk.containerized" to help mark tests that are incompatible with containers. 
>  Users would add "@requires jdk.containerized != true" to the incompatible 
> tests and then use "make test ... OPTIONS=-Djdk.containerized=true" or "bash 
> jib.sh mach5 -- remote-build-and-test ... --test-make-args 
> JTREG=OPTIONS=-Djdk.containerized=true" to exclude those tests when testing 
> with containers.

Hi Harold,

I actually still think that having a separate ProblemList (as we do for graal, 
zgc, Xcomp, aot) is a better solution. why did you choose `@requires` over it?

-- Igor

-

PR: https://git.openjdk.java.net/jdk/pull/844


Re: RFR: 8253667: ProblemList tools/jlink/JLinkReproducible{, 3}Test.java on linux-aarch64 [v2]

2020-09-28 Thread Igor Ignatyev
On Mon, 28 Sep 2020 16:32:52 GMT, Daniel D. Daugherty  
wrote:

>> 8253667: ProblemList tools/jlink/JLinkReproducible{,3}Test.java on 
>> linux-aarch64
>
> Daniel D. Daugherty has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   Update existing entry for tools/jlink/JLinkReproducibleTest.java instead of 
> creating a new one.

Marked as reviewed by iignatyev (Reviewer).

-

PR: https://git.openjdk.java.net/jdk/pull/382


Re: RFR: 8253667: ProblemList tools/jlink/JLinkReproducible{, 3}Test.java on linux-aarch64

2020-09-28 Thread Igor Ignatyev
On Mon, 28 Sep 2020 16:16:52 GMT, Igor Ignatyev  wrote:

>> 8253667: ProblemList tools/jlink/JLinkReproducible{,3}Test.java on 
>> linux-aarch64
>
> test/jdk/ProblemList.txt line 859:
> 
>> 857: tools/jlink/JLinkReproducibleTest.java  8217166 
>> windows-all
>> 858: tools/jlink/plugins/CompressorPluginTest.java   8247407 
>> generic-all
>> 859: tools/jlink/JLinkReproducibleTest.java  8217166 
>> linux-aarch64
> 
> wouldn't it be better to "join" JLinkReproducibleTest entries?
>  ```suggestion
> tools/jlink/JLinkReproducibleTest.java  8217166 
> windows-all,linux-aarch64
> tools/jlink/plugins/CompressorPluginTest.java   8247407 
> generic-all

actually, you have to join them, as only jtreg honors only the last entry for a 
test --
[CODETOOLS-7902481](https://bugs.openjdk.java.net/browse/CODETOOLS-7902481)

-

PR: https://git.openjdk.java.net/jdk/pull/382


Re: RFR: 8253667: ProblemList tools/jlink/JLinkReproducible{, 3}Test.java on linux-aarch64

2020-09-28 Thread Igor Ignatyev
On Mon, 28 Sep 2020 16:05:48 GMT, Daniel D. Daugherty  
wrote:

> 8253667: ProblemList tools/jlink/JLinkReproducible{,3}Test.java on 
> linux-aarch64

Marked as reviewed by iignatyev (Reviewer).

test/jdk/ProblemList.txt line 859:

> 857: tools/jlink/JLinkReproducibleTest.java  8217166 
> windows-all
> 858: tools/jlink/plugins/CompressorPluginTest.java   8247407 
> generic-all
> 859: tools/jlink/JLinkReproducibleTest.java  8217166 
> linux-aarch64

wouldn't it be better to "join" JLinkReproducibleTest entries?
 ```suggestion
tools/jlink/JLinkReproducibleTest.java  8217166 
windows-all,linux-aarch64
tools/jlink/plugins/CompressorPluginTest.java   8247407 
generic-all

-

PR: https://git.openjdk.java.net/jdk/pull/382


Re: [15] RFR(S) : 6501010 : test/java/io/File/GetXSpace.java fails on Windows

2020-08-11 Thread Igor Ignatyev
Hi Arno,

We haven't seen such failures in our infra, I guess we just need to add ^ to 
the beginning of the pattern. please file a bug and send a proper RFR for it 
and will be happy to run the patch in our testing infra for you.

Cheers,
-- Igor

> On Aug 11, 2020, at 6:39 AM, Zeller, Arno  wrote:
> 
> Hi Igor,
> 
> after our push I see test/java/io/File/GetXSpace.java failing on our Windows 
> test machines. The issue seems to be that the 'df' call produces several 
> lines of output on my windows machine and the pattern uses \n as line-ending. 
> 
> In a short test I changed the regex to match $ instead of  \n in the end and 
> added the MULTILINE flag. 
> 
> --
> diff -r 16625b2b71f7 test/jdk/java/io/File/GetXSpace.java
> --- a/test/jdk/java/io/File/GetXSpace.java  Tue Aug 11 07:29:45 2020 -0400
> +++ b/test/jdk/java/io/File/GetXSpace.java  Tue Aug 11 15:35:15 2020 +0200
> @@ -55,7 +55,7 @@
> private static final boolean IS_WIN = OS_NAME.startsWith("Windows");
> 
> // FileSystem Total Used Available Use% MountedOn
> -private static final Pattern DF_PATTERN = 
> Pattern.compile("([^\\s]+)\\s+(\\d+)\\s+\\d+\\s+(\\d+)\\s+\\d+%\\s+([^\\s].*)\n");
> +private static final Pattern DF_PATTERN = 
> Pattern.compile("([^\\s]+)\\s+(\\d+)\\s+\\d+\\s+(\\d+)\\s+\\d+%\\s+([^\\s].*)$",
>  Pattern.MULTILINE);
> 
> private static int fail = 0;
> private static int pass = 0;
> --
> 
> Now the test passes for me and in our infrastructure. I did not completely 
> understand why the old pattern did loose the first character in the line - 
> but this seems to fix the issue.
> 
> Before my change:
> --System.out:(24/869)--
> --- Testing df
> C:/cygwin64  998257472 664791328 333466144  67% /
> K:   262144000 129993392 132150608  50% /cygdrive/k
> O:   734003200 641218112  92785088  88% /cygdrive/o
> 
> 
> SecurityManager = null
> C:/cygwin64:
>  df   total= 1022215651328 free =0 usable = 341469331456
>  getX total= 1022215651328 free = 341469323264 usable = 341469323264
> ::
>  df   total= 268435456000 free =0 usable = 13532592
>  getX total=0 free =0 usable =0
> FAILED
> 
> 
> After my change:
> --- Testing df
> C:/cygwin64  998257472 665305100 332952372  67% /
> K:   262144000 129993392 132150608  50% /cygdrive/k
> O:   734003200 641211140  92792060  88% /cygdrive/o
> 
> 
> SecurityManager = null
> C:/cygwin64:
>  df   total= 1022215651328 free =0 usable = 340943228928
>  getX total= 1022215651328 free = 340943286272 usable = 340943286272
> K::
>  df   total= 268435456000 free =0 usable = 13532592
>  getX total= 268435456000 free = 13532592 usable = 13532592
> O::
>  df   total= 751619276800 free =0 usable =  95019069440
>  getX total= 751619276800 free =  95019069440 usable =  95019069440
> ...
> --
> 
> 
> The drives K: and O: are mapped network drives.
> Do you see something similar in your landscape? Can you perhaps try to 
> reproduce this?
> 
> Best regards,
> Arno
> 
>> -Original Message-
>> From: core-libs-dev  On Behalf Of Igor
>> Ignatyev
>> Sent: Freitag, 31. Juli 2020 04:45
>> To: Brian Burkhalter 
>> Cc: core-libs-dev 
>> Subject: Re: [15] RFR(S) : 6501010 : test/java/io/File/GetXSpace.java fails 
>> on
>> Windows
>> 
>> Hi Brian,
>> 
>> thanks for your review. I've decided to push into jdk/jdk instead of jdk15.
>> please let me know if you think this patch needs to be in jdk15, and I'll 
>> backport
>> it there.
>> 
>> Cheers,
>> -- Igor
>> 
>>> On Jul 30, 2020, at 2:39 PM, Brian Burkhalter
>>  wrote:
>>> 
>>> Hi Igor,
>>> 
>>> This test looks all right to me.
>>> 
>>> Sorry for the late review.
>>> 
>>> Thanks,
>>> 
>>> Brian
>>> 
>>>> On Jul 20, 2020, at 11:28 AM, Igor Ignatyev > <mailto:igor.ignat...@oracle.com>> wrote:
>>>> 
>>>> http://cr.openjdk.java.net/~iignatyev//6501010/webrev.00
>> <http://cr.openjdk.java.net/~iignatyev//6501010/webrev.00>
>>>>> 98 lines changed: 18 ins; 31 del; 49 mod;
>>>> 
>>>> Hi all,
>>>> 
>>>> could you please review this small fix to make java/io/File/GetXSpace.java
>> work again on windows?
>>>> 
>>>> the test has been updated to work under cygwin, which includes the
>> following changes:
>>>> - GetXSpace.sh accepts CYGWIN_* as known OS and sets windows path to
>> TMP var
>>>> - uses the same regexp to parse df on windows as on other platforms
>>>> - but uses 'FileSystem' field as Space's name, as opposed to 'MountedOn' on
>> *nix, as on cygwin, MountedOn is cygwin path, while FileSystem is
>> corresponding windows path, and the test expect Space's name to be
>> appropriate path
>>> 
> 



Re: [15] RFR(S) : 6501010 : test/java/io/File/GetXSpace.java fails on Windows

2020-07-30 Thread Igor Ignatyev
Hi Brian,

thanks for your review. I've decided to push into jdk/jdk instead of jdk15. 
please let me know if you think this patch needs to be in jdk15, and I'll 
backport it there.

Cheers,
-- Igor

> On Jul 30, 2020, at 2:39 PM, Brian Burkhalter  
> wrote:
> 
> Hi Igor,
> 
> This test looks all right to me.
> 
> Sorry for the late review.
> 
> Thanks,
> 
> Brian
> 
>> On Jul 20, 2020, at 11:28 AM, Igor Ignatyev > <mailto:igor.ignat...@oracle.com>> wrote:
>> 
>> http://cr.openjdk.java.net/~iignatyev//6501010/webrev.00 
>> <http://cr.openjdk.java.net/~iignatyev//6501010/webrev.00>
>>> 98 lines changed: 18 ins; 31 del; 49 mod;
>> 
>> Hi all,
>> 
>> could you please review this small fix to make java/io/File/GetXSpace.java 
>> work again on windows?
>> 
>> the test has been updated to work under cygwin, which includes the following 
>> changes:
>> - GetXSpace.sh accepts CYGWIN_* as known OS and sets windows path to TMP var
>> - uses the same regexp to parse df on windows as on other platforms
>> - but uses 'FileSystem' field as Space's name, as opposed to 'MountedOn' on 
>> *nix, as on cygwin, MountedOn is cygwin path, while FileSystem is 
>> corresponding windows path, and the test expect Space's name to be 
>> appropriate path
> 



Re: [15] RFR(S) : 6501010 : test/java/io/File/GetXSpace.java fails on Windows

2020-07-27 Thread Igor Ignatyev
ping?

-- Igor

> On Jul 20, 2020, at 11:28 AM, Igor Ignatyev  wrote:
> 
> http://cr.openjdk.java.net/~iignatyev//6501010/webrev.00
>> 98 lines changed: 18 ins; 31 del; 49 mod;
> 
> Hi all,
> 
> could you please review this small fix to make java/io/File/GetXSpace.java 
> work again on windows?
> 
> the test has been updated to work under cygwin, which includes the following 
> changes:
> - GetXSpace.sh accepts CYGWIN_* as known OS and sets windows path to TMP var
> - uses the same regexp to parse df on windows as on other platforms
> - but uses 'FileSystem' field as Space's name, as opposed to 'MountedOn' on 
> *nix, as on cygwin, MountedOn is cygwin path, while FileSystem is 
> corresponding windows path, and the test expect Space's name to be 
> appropriate path
> 
> the patch also includes some small faceliftings:
> - printing out a bit more information to facilitate failure analyses, e.g. df 
> output, exception stack traces
> - usage of try-w/-resources
> - remove of code duplication
> - usage of generics
> 
> webrev: http://cr.openjdk.java.net/~iignatyev//6501010/webrev.00
> testing: java/io/File/GetXSpace.java 100 times on {linux,windows}-x64
> JBS: https://bugs.openjdk.java.net/browse/JDK-6501010
> 
> Thanks,
> -- Igor



Re: RFR (trivial) 8249940: Remove unnecessary includes of jni_util.h in native tests

2020-07-22 Thread Igor Ignatyev
Hi David,

looks good to me.

-- Igor

> On Jul 22, 2020, at 4:00 PM, David Holmes  wrote:
> 
> Bug: https://bugs.openjdk.java.net/browse/JDK-8249940
> webrev: http://cr.openjdk.java.net/~dholmes/8249940/webrev/
> 
> A number of native tests in hotspot and jdk include the jni_util.h header 
> file which is part of the sources for libjava and not part of the testing 
> framework, nor an exported interface for the JDK. This seems to have occurred 
> through copy-and-paste when creating the tests as the include is not needed.
> 
> test/hotspot/jtreg/runtime/jni/FindClass/libbootLoaderTest.c
> test/hotspot/jtreg/runtime/jni/registerNativesWarning/libregisterNativesWarning.c
> test/hotspot/jtreg/runtime/jni/terminatedThread/libterminatedThread.c
> test/jdk/java/lang/ClassLoader/nativeLibrary/libnativeLibraryTest.c
> test/jdk/java/lang/ProcessBuilder/checkHandles/libCheckHandles.c
> test/jdk/jdk/internal/loader/NativeLibraries/libnativeLibrariesTest.c
> 
> There is one test that includes jni_util.h and uses the utility function 
> declared there:
> ./jdk/java/lang/String/nativeEncoding/libstringPlatformChars.c
> so that is left as-is.
> 
> Thanks,
> David
> -



Re: [15] RFR(T) : 8249697 : java/lang/invoke/RicochetTest.java should use @requires instead of @ignore

2020-07-20 Thread Igor Ignatyev
Hi Mandy,

you are right, it's better to have just one @run, and as I don't think that 
7197210 changes '-XX:-VerifyDependencies' nor '/timeout=3600' are needed 
anymore, I suggest to restore the test to its original version w/  `@run 
junit/othervm -DRicochetTest.MAX_ARITY=255 test.java.lang.invoke.RicochetTest`, 
so the patch (http://cr.openjdk.java.net/~iignatyev//8249697/webrev.03) would 
be just:

> -/* @test
> +/*
> + * @test
>   * @summary unit tests for recursive method handles
> - * @run junit/othervm/timeout=3600 -XX:+IgnoreUnrecognizedVMOptions 
> -XX:-VerifyDependencies -DRicochetTest.MAX_ARITY=10 
> test.java.lang.invoke.RicochetTest
> - */
> -/*
> - * @ignore The following test creates an unreasonable number of adapters in 
> -Xcomp mode (7049122)
>   * @run junit/othervm -DRicochetTest.MAX_ARITY=255 
> test.java.lang.invoke.RicochetTest
>   */


and then the bug's summary would be smth like 'remove temporary fixes from 
java/lang/invoke/RicochetTest.java' .

sure there is no reason for it to be pushed into 15, I've retargeted to 16.

-- Igor

> On Jul 20, 2020, at 11:57 AM, Mandy Chung  wrote:
> 
> Hi Igor,
> 
> OK.  Should this revert the change by 7049122 then? i.e. simply change 
> -DRicochetTest.MAX_ARITY=10 to 255
> 
> Your proposed patch adds a new @run instead of modifying the existing @run 
> command:
> 
>   * @run junit/othervm/timeout=3600 -XX:+IgnoreUnrecognizedVMOptions 
> -XX:-VerifyDependencies -DRicochetTest.MAX_ARITY=10 
> test.java.lang.invoke.RicochetTest
> 
> I looked at the history and this @run was modified by JDK-7197210 that adds 
> -XX:+IgnoreUnrecognizedVMOptions -XX:-VerifyDependencies options and reduce 
> MAX_ARITY from 50 to 10.
> 
> This issue is not critical to target for 15.  It may worth considering target 
> this test fix for 16.  Just a suggestion.
> 
> Mandy
> 
> On 7/20/20 10:13 AM, Igor Ignatyev wrote:
>> Hi Mandy,
>> 
>> that's actually the opposite, the 2nd subtest is run only in modes other 
>> than Xcomp, as w/ Xcomp the test creates lots of adapters and used to lead 
>> to JVM failure as described in 7049122. I tried to reproduce this failure, 
>> but in vain,..  after a bit more historical digging, I realized that the 
>> underlying problem was 7009641, which has been fixed in hs25/jdk8. so I've 
>> changed the fix for 8249697 to simply return run w/ 
>> '-DRicochetTest.MAX_ARITY=255': 
>> http://cr.openjdk.java.net/~iignatyev//8249697/webrev.02 
>> <http://cr.openjdk.java.net/~iignatyev//8249697/webrev.02>
>> 
>> I've verified that the test passes w/ Xcomp and 
>>  - -XX:+TieredCompilation (c1 + c2);
>>  - -XX:-TieredCompilation (c2-only);
>>  - -XX:+NeverActAsServerClassMachine (emulated-client, c1-only)
>> 
>> the test was run 100 times on {linux,windows,macos}-x64 w/ 0 failures.
>>  
>> Thanks,
>> -- Igor
>> 
>>> On Jul 18, 2020, at 9:32 PM, Mandy Chung >> <mailto:mandy.ch...@oracle.com>> wrote:
>>> 
>>> 
>>> 
>>> On 7/17/20 8:54 PM, Igor Ignatyev wrote:
>>>> http://cr.openjdk.java.net/~iignatyev/8249697/webrev.00/ 
>>>> <http://cr.openjdk.java.net/~iignatyev/8249697/webrev.00/>
>>>> 
>>> 
>>> I suggest to change this:
>>>   32  * @comment The following test creates an unreasonable number of 
>>> adapters in -Xcomp mode (7049122)
>>> 
>>> To:
>>> 
>>>@bug 8249697
>>>@summary verify very high number of adapters in -Xcomp mode
>>> 
>>> Otherwise, looks fine.
>>> 
>>> Mandy
>>>> Hi all,
>>>> 
>>>> could you please review this small and trivial patch for 
>>>> java/lang/invoke/RicochetTest.java test?
>>>> from JBS:
>>>>> a run of java/lang/invoke/RicochetTest.java w/ MAX_ARITY=255 was removed 
>>>>> from all configurations by JDK-7049122, yet the problem manifests itself 
>>>>> only w/ Xcomp. as now we have @requires to filter out tests from certain 
>>>>> configurations, the test can be updated to run MAX_ARITY=255 in all 
>>>>> configs but Xcomp.
>>>> the patch splits the test into two subtests, each one w/ one @run, and use 
>>>> @requires to exclude one w/ MAX_ARITY=255 from execution if Xcomp flag is 
>>>> used.
>>>> 
>>>> JBS: https://bugs.openjdk.java.net/browse/JDK-8249697 
>>>> <https://bugs.openjdk.java.net/browse/JDK-8249697>
>>>> webrev: http://cr.openjdk.java.net/~iignatyev/8249697/webrev.00/ 
>>>> <http://cr.openjdk.java.net/~iignatyev/8249697/webrev.00/>
>>>> testing: java/lang/invoke/RicochetTest.java on {linux,windows,macos}-x64 
>>>> w/ and w/o -Xcomp; Xcomp runs, as expected, had only 1 test run
>>>> 
>>>> Thanks,
>>>> -- Igor
>>>> 
>>>> JDK-7049122 : https://bugs.openjdk.java.net/browse/JDK-7049122 
>>>> <https://bugs.openjdk.java.net/browse/JDK-7049122>
>> 
> 



[15] RFR(S) : 6501010 : test/java/io/File/GetXSpace.java fails on Windows

2020-07-20 Thread Igor Ignatyev
http://cr.openjdk.java.net/~iignatyev//6501010/webrev.00
> 98 lines changed: 18 ins; 31 del; 49 mod;

Hi all,

could you please review this small fix to make java/io/File/GetXSpace.java work 
again on windows?

the test has been updated to work under cygwin, which includes the following 
changes:
 - GetXSpace.sh accepts CYGWIN_* as known OS and sets windows path to TMP var
 - uses the same regexp to parse df on windows as on other platforms
 - but uses 'FileSystem' field as Space's name, as opposed to 'MountedOn' on 
*nix, as on cygwin, MountedOn is cygwin path, while FileSystem is corresponding 
windows path, and the test expect Space's name to be appropriate path

the patch also includes some small faceliftings:
 - printing out a bit more information to facilitate failure analyses, e.g. df 
output, exception stack traces
 - usage of try-w/-resources
 - remove of code duplication
 - usage of generics

webrev: http://cr.openjdk.java.net/~iignatyev//6501010/webrev.00
testing: java/io/File/GetXSpace.java 100 times on {linux,windows}-x64
JBS: https://bugs.openjdk.java.net/browse/JDK-6501010

Thanks,
-- Igor

Re: [15] RFR(T) : 8249697 : java/lang/invoke/RicochetTest.java should use @requires instead of @ignore

2020-07-20 Thread Igor Ignatyev
Hi Mandy,

that's actually the opposite, the 2nd subtest is run only in modes other than 
Xcomp, as w/ Xcomp the test creates lots of adapters and used to lead to JVM 
failure as described in 7049122. I tried to reproduce this failure, but in 
vain,..  after a bit more historical digging, I realized that the underlying 
problem was 7009641, which has been fixed in hs25/jdk8. so I've changed the fix 
for 8249697 to simply return run w/ '-DRicochetTest.MAX_ARITY=255': 
http://cr.openjdk.java.net/~iignatyev//8249697/webrev.02

I've verified that the test passes w/ Xcomp and 
 - -XX:+TieredCompilation (c1 + c2);
 - -XX:-TieredCompilation (c2-only);
 - -XX:+NeverActAsServerClassMachine (emulated-client, c1-only)

the test was run 100 times on {linux,windows,macos}-x64 w/ 0 failures.
 
Thanks,
-- Igor

> On Jul 18, 2020, at 9:32 PM, Mandy Chung  wrote:
> 
> 
> 
> On 7/17/20 8:54 PM, Igor Ignatyev wrote:
>> http://cr.openjdk.java.net/~iignatyev/8249697/webrev.00/ 
>> <http://cr.openjdk.java.net/~iignatyev/8249697/webrev.00/>
>> 
> 
> I suggest to change this:
>   32  * @comment The following test creates an unreasonable number of 
> adapters in -Xcomp mode (7049122)
> 
> To:
> 
>@bug 8249697
>@summary verify very high number of adapters in -Xcomp mode
> 
> Otherwise, looks fine.
> 
> Mandy
>> Hi all,
>> 
>> could you please review this small and trivial patch for 
>> java/lang/invoke/RicochetTest.java test?
>> from JBS:
>>> a run of java/lang/invoke/RicochetTest.java w/ MAX_ARITY=255 was removed 
>>> from all configurations by JDK-7049122, yet the problem manifests itself 
>>> only w/ Xcomp. as now we have @requires to filter out tests from certain 
>>> configurations, the test can be updated to run MAX_ARITY=255 in all configs 
>>> but Xcomp.
>> the patch splits the test into two subtests, each one w/ one @run, and use 
>> @requires to exclude one w/ MAX_ARITY=255 from execution if Xcomp flag is 
>> used.
>> 
>> JBS: https://bugs.openjdk.java.net/browse/JDK-8249697 
>> <https://bugs.openjdk.java.net/browse/JDK-8249697>
>> webrev: http://cr.openjdk.java.net/~iignatyev/8249697/webrev.00/ 
>> <http://cr.openjdk.java.net/~iignatyev/8249697/webrev.00/>
>> testing: java/lang/invoke/RicochetTest.java on {linux,windows,macos}-x64 w/ 
>> and w/o -Xcomp; Xcomp runs, as expected, had only 1 test run
>> 
>> Thanks,
>> -- Igor
>> 
>> JDK-7049122 : https://bugs.openjdk.java.net/browse/JDK-7049122 
>> <https://bugs.openjdk.java.net/browse/JDK-7049122>



Re: [15] RFR(S) : 8249700 : java/io/File/GetXSpace.java should be added to exclude list, and not @ignore-d

2020-07-20 Thread Igor Ignatyev
Hi Alan,

thanks for the review, pushed to jdk15.

-- Igor

> On Jul 19, 2020, at 8:18 AM, Alan Bateman  wrote:
> 
> On 19/07/2020 05:28, Igor Ignatyev wrote:
>> :
>> the patch also includes minimal changes to make the test runnable on macosx, 
>> which reveled that the test might fail on macos. 8249703 has been filed for 
>> that issue and the appropriate changes are done in ProblemList.txt.
>> 
>> webrev: http://cr.openjdk.java.net/~iignatyev//8249700/webrev.01/
>> JBS: https://bugs.openjdk.java.net/browse/JDK-8249700
>> testing:  java/io/File/GetXSpace.java on linux-x64 100 times, 100% passed; 
>> macos-x64 100 times, 71% passed
>> 
>> PS the test is still failing on windows albeit due to the reason other than 
>> in 6501010; it seems that the test should be just updated to recognize 
>> cygwin's `df` output. I'm currently working on the fix and will send it out 
>> for review shortly.
>> 
> This looks okay to me.
> 
> -Alan



Re: [15] RFR(T) : 8249698 : java/lang/invoke/LFCaching/LFGarbageCollectedTest.java should be ProblemList-ed and not @ignored

2020-07-20 Thread Igor Ignatyev
Mandy, Vladimir,

thanks for your reviews, pushed to jdk15.

-- Igor

> On Jul 18, 2020, at 9:33 PM, Mandy Chung  wrote:
> 
> +1
> 
> Mandy
> 
> On 7/17/20 8:57 PM, Igor Ignatyev wrote:
>> http://cr.openjdk.java.net/~iignatyev//8249698/webrev.00 
>> <http://cr.openjdk.java.net/~iignatyev//8249698/webrev.00>
>>> 3 lines changed: 1 ins; 1 del; 1 mod;
>> 
>> Hi all,
>> 
>> could you please review this trivial patch which removes @ignore from 
>> LFGarbageCollectedTest and adds it into problem-list instead?
>> 
>> from  8249698:
>>> java/lang/invoke/LFCaching/LFGarbageCollectedTest.java is excluded from 
>>> execution due to JDK-8078602. although the test might indeed fail due to 
>>> JDK-8078602, it still can be useful and isn't harmful to run, therefore 
>>> this test should be put in ProblemList.txt and @ignore is to be removed.
>> from main issue(8249618):
>>> although ProblemList and @ignore achieve the same end result (test 
>>> exclusion), their server different goals and have slightly different 
>>> meanings, simplified @ignore should be used to exclude useless or harmful 
>>> tests, and ProblemList in all other cases (see yet-not-integrated 
>>> `ProblemListing or `@ignore`-ing a Test` section of dev guide, PR -- 
>>> https://github.com/openjdk/guide/pull/21 
>>> <https://github.com/openjdk/guide/pull/21> for more details). 
>>> 
>>> due to different reasons, this hasn't been always followed and some 
>>> currently @ignore-d tests should rather be ProblemList-ed, and some of 
>>> ProblemList-ed should be @ignore-d, this issue is to clean up the current 
>>> state in a hope that this will reduce further confusion. 
>> 
>> webrev: http://cr.openjdk.java.net/~iignatyev//8249698/webrev.00 
>> <http://cr.openjdk.java.net/~iignatyev//8249698/webrev.00>
>> JBS: https://bugs.openjdk.java.net/browse/JDK-8249698 
>> <https://bugs.openjdk.java.net/browse/JDK-8249698>
>> 
>> Thanks,
>> -- Igor
>> 
>> 8078602: https://bugs.openjdk.java.net/browse/JDK-8078602 
>> <https://bugs.openjdk.java.net/browse/JDK-8078602>
>> 8249618: https://bugs.openjdk.java.net/browse/JDK-8249618 
>> <https://bugs.openjdk.java.net/browse/JDK-8249618>



[15] RFR(S) : 8249700 : java/io/File/GetXSpace.java should be added to exclude list, and not @ignore-d

2020-07-18 Thread Igor Ignatyev
http://cr.openjdk.java.net/~iignatyev//8249700/webrev.01/
> 9 lines changed: 1 ins; 1 del; 7 mod

Hi all,

could you please review this small patch which removes @ignore from 
java/io/File/GetXSpace.java and instead adds an entry to ProblemList.txt?

from JBS:
> java/io/File/GetXSpace.java is currently @ignore due to JDK-6492634 and 
> JDK-6501010, as running this test isn't harmful and can still be useful to 
> find other bugs, the test should be added to ProblemList.txt and @ignore tag 
> should be removed.
> given JDK-6492634 is solaris-specific, and solaris port has been removed from 
> jdk15, the test will be problem-listed only due to JDK-6501010 and only on 
> windows.
from main issue(8249618):
> although ProblemList and @ignore achieve the same end result (test 
> exclusion), their server different goals and have slightly different 
> meanings, simplified @ignore should be used to exclude useless or harmful 
> tests, and ProblemList in all other cases (see yet-not-integrated 
> `ProblemListing or `@ignore`-ing a Test` section of dev guide, PR -- 
> https://github.com/openjdk/guide/pull/21 for more details). 
> 
> due to different reasons, this hasn't been always followed and some currently 
> @ignore-d tests should rather be ProblemList-ed, and some of ProblemList-ed 
> should be @ignore-d, this issue is to clean up the current state in a hope 
> that this will reduce further confusion. 

the patch also includes minimal changes to make the test runnable on macosx, 
which reveled that the test might fail on macos. 8249703 has been filed for 
that issue and the appropriate changes are done in ProblemList.txt.

webrev: http://cr.openjdk.java.net/~iignatyev//8249700/webrev.01/
JBS: https://bugs.openjdk.java.net/browse/JDK-8249700
testing:  java/io/File/GetXSpace.java on linux-x64 100 times, 100% passed; 
macos-x64 100 times, 71% passed

PS the test is still failing on windows albeit due to the reason other than in 
6501010; it seems that the test should be just updated to recognize cygwin's 
`df` output. I'm currently working on the fix and will send it out for review 
shortly. 

Thanks,
-- Igor

JDK-6492634: https://bugs.openjdk.java.net/browse/JDK-8249700
JDK-6501010: https://bugs.openjdk.java.net/browse/JDK-6501010
JDK-6492634: https://bugs.openjdk.java.net/browse/JDK-6492634
JDK-8249703: https://bugs.openjdk.java.net/browse/JDK-8249703

[15] RFR(T) : 8249698 : java/lang/invoke/LFCaching/LFGarbageCollectedTest.java should be ProblemList-ed and not @ignored

2020-07-17 Thread Igor Ignatyev
http://cr.openjdk.java.net/~iignatyev//8249698/webrev.00
> 3 lines changed: 1 ins; 1 del; 1 mod;


Hi all,

could you please review this trivial patch which removes @ignore from 
LFGarbageCollectedTest and adds it into problem-list instead?

from  8249698:
> java/lang/invoke/LFCaching/LFGarbageCollectedTest.java is excluded from 
> execution due to JDK-8078602. although the test might indeed fail due to 
> JDK-8078602, it still can be useful and isn't harmful to run, therefore this 
> test should be put in ProblemList.txt and @ignore is to be removed.
from main issue(8249618):
> although ProblemList and @ignore achieve the same end result (test 
> exclusion), their server different goals and have slightly different 
> meanings, simplified @ignore should be used to exclude useless or harmful 
> tests, and ProblemList in all other cases (see yet-not-integrated 
> `ProblemListing or `@ignore`-ing a Test` section of dev guide, PR -- 
> https://github.com/openjdk/guide/pull/21 for more details). 
> 
> due to different reasons, this hasn't been always followed and some currently 
> @ignore-d tests should rather be ProblemList-ed, and some of ProblemList-ed 
> should be @ignore-d, this issue is to clean up the current state in a hope 
> that this will reduce further confusion. 


webrev: http://cr.openjdk.java.net/~iignatyev//8249698/webrev.00
JBS: https://bugs.openjdk.java.net/browse/JDK-8249698

Thanks,
-- Igor

8078602: https://bugs.openjdk.java.net/browse/JDK-8078602
8249618: https://bugs.openjdk.java.net/browse/JDK-8249618

[15] RFR(T) : 8249697 : java/lang/invoke/RicochetTest.java should use @requires instead of @ignore

2020-07-17 Thread Igor Ignatyev
http://cr.openjdk.java.net/~iignatyev/8249697/webrev.00/
> 7 lines changed: 4 ins; 0 del; 3 mod;


Hi all,

could you please review this small and trivial patch for 
java/lang/invoke/RicochetTest.java test?
from JBS:
> a run of java/lang/invoke/RicochetTest.java w/ MAX_ARITY=255 was removed from 
> all configurations by JDK-7049122, yet the problem manifests itself only w/ 
> Xcomp. as now we have @requires to filter out tests from certain 
> configurations, the test can be updated to run MAX_ARITY=255 in all configs 
> but Xcomp.

the patch splits the test into two subtests, each one w/ one @run, and use 
@requires to exclude one w/ MAX_ARITY=255 from execution if Xcomp flag is used.

JBS: https://bugs.openjdk.java.net/browse/JDK-8249697
webrev: http://cr.openjdk.java.net/~iignatyev/8249697/webrev.00/
testing: java/lang/invoke/RicochetTest.java on {linux,windows,macos}-x64 w/ and 
w/o -Xcomp; Xcomp runs, as expected, had only 1 test run

Thanks,
-- Igor

JDK-7049122 : https://bugs.openjdk.java.net/browse/JDK-7049122

Re: RFR: 8249264: Build validate-headers task fails after JDK-8248261

2020-07-13 Thread igor . ignatyev
LGTM

— Igor

> On Jul 13, 2020, at 5:35 PM, alexander.matv...@oracle.com wrote:
> 
> Please review the jpackage fix for bug [1] at [2].
> 
> Added missing ",".
> 
> [1] https://bugs.openjdk.java.net/browse/JDK-8249264
> [2] http://cr.openjdk.java.net/~almatvee/8249264/webrev.00/
> 
> Thanks,
> Alexander



Re: RFR(T): 8249097: test/lib/jdk/test/lib/util/JarBuilder.java has a bad copyright

2020-07-08 Thread igor . ignatyev
LGTM, thanks for fixing, and sorry for introducing that. 

— Igor

> On Jul 8, 2020, at 2:22 PM, Daniel D. Daugherty  
> wrote:
> 
> Greetings,
> 
> A trivial fix to make the validate-header Tier1 task happy.
> 
> Here's the context diff:
> 
> $ hg diff -r qparent
> diff -r c5202ed40b86 test/lib/jdk/test/lib/util/JarBuilder.java
> --- a/test/lib/jdk/test/lib/util/JarBuilder.javaWed Jul 08 20:35:36 2020 
> +0100
> +++ b/test/lib/jdk/test/lib/util/JarBuilder.javaWed Jul 08 17:20:01 2020 
> -0400
> @@ -1,5 +1,5 @@
>  /*
> - * Copyright (c) 2015, 2020 Oracle and/or its affiliates. All rights 
> reserved.
> + * Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights 
> reserved.
>   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
>   *
>   * This code is free software; you can redistribute it and/or modify it
> 
> 
> Thanks, in advance, for any comments, questions, or suggestions.
> 
> Dan
> 



Re: RFR(T): 8248358: ProblemList sun/nio/ch/TestMaxCachedBufferSize.java on macOSX

2020-06-25 Thread Igor Ignatyev
Hi Dan,

LGTM

Thanks,
-- Igor


> JDK-8248358 ProblemList 
> serviceability/jvmti/ModuleAwareAgents/ThreadStart/MAAThreadStart.java on 
> Windows
> https://bugs.openjdk.java.net/browse/JDK-8248358
I guess you meant JDK-8248358 ProblemList 
sun/nio/ch/TestMaxCachedBufferSize.java on macOSX


> On Jun 25, 2020, at 2:45 PM, Daniel D. Daugherty 
>  wrote:
> 
> Greetings,
> 
> I'm doing another round of reduce-the-noise in the CI in preparation
> for the upcoming weekend... So I have another trivial review...
> 
> Here's the bug for the failures:
> 
> JDK-8212812 sun/nio/ch/TestMaxCachedBufferSize.java timeout
> https://bugs.openjdk.java.net/browse/JDK-8212812
> 
> and here's the bug for the ProblemListing:
> 
> JDK-8248358 ProblemList 
> serviceability/jvmti/ModuleAwareAgents/ThreadStart/MAAThreadStart.java on 
> Windows
> https://bugs.openjdk.java.net/browse/JDK-8248358
> 
> Here's the context diff:
> 
> $ hg diff
> diff -r cf65909b98c5 test/jdk/ProblemList.txt
> --- a/test/jdk/ProblemList.txtThu Jun 25 15:00:59 2020 -0400
> +++ b/test/jdk/ProblemList.txtThu Jun 25 17:39:01 2020 -0400
> @@ -630,6 +630,8 @@
> 
>  java/nio/channels/Selector/Wakeup.java 6963118 windows-all
> 
> +sun/nio/ch/TestMaxCachedBufferSize.java 8212812 macosx-all
> +
>  
> 
> 
> Thanks, in advance, for any comments, questions or suggestions.
> 
> Dan
> 
> 
> 
> 
> 
> 



Re: RFR(S) : 8211977 : move testlibrary tests into one place

2020-06-16 Thread Igor Ignatyev
Magnus, Erik,

thanks for your reviews, pushed w/ a newline being added at L#654 of 
make/Main.gmk.

Cheers,
-- Igor

> On Jun 16, 2020, at 7:03 AM, Magnus Ihse Bursie 
>  wrote:
> 
> On 2020-06-16 15:06, Erik Joelsson wrote:
>> 
>> On 2020-06-15 17:39, Igor Ignatyev wrote:
>>> @David, Erik, Magnus,
>>> 
>>> please find the answers to your comments at the bottom of this email.
>>> 
>>> @all,
>>> 
>>> David's and Erik's comments made me realize that some parts of the original 
>>> patch were stashed away and didn't make it to webrev.00. I'm truly sorry 
>>> for the confusion and inconvenience. I also agree w/ David that it's hard 
>>> to follow/review, and my gaffe just made it worse, therefore I'd like to 
>>> start it over again from a clean sate
>>> 
>>> http://cr.openjdk.java.net/~iignatyev//8211977/webrev.02 
>>> <http://cr.openjdk.java.net/~iignatyev//8211977/webrev.02>Build changes 
>>> look good to me now, except for a missing newline in Main.gmk. (No need for 
>>> new review.)
>> 
> 
> Ditto.
> 
> /Magnus
>> 
>> /Erik
>> 
>>>> 833 lines changed: 228 ins; 591 del; 14 mod; 
>>> 
>>> could you please review the patch which puts all tests for common 
>>> testlibrary classes (which is ones located in /test/lib) into one location 
>>> under /test/lib-test? please note this intentionally doesn't move all 
>>> "testlibrary" tests, e.g. tests for CTW, hotspot-specific testlibrary, are 
>>> left in /test/hotspot/jtreg/testlibrary_tests/ctw .
>>> 
>>> to simplify review, the patch has been split into several webrevs, with 
>>> each of them accomplishes a more-or-less distinct thing, but is not 
>>> necessary self-contained:
>>> 
>>> 0. trivial move of tests from test/jdk and test/hotspot/jtreg test suites 
>>> to test/lib-test:
>>> http://cr.openjdk.java.net/~iignatyev/8211977/webrev.02.00-move/ 
>>> <http://cr.openjdk.java.net/~iignatyev/8211977/webrev.02.00-move/>
>>> 
>>> 1. removal of hotspot's AssertsTest, OutputAnalyzerReportingTest and 
>>> "merge" of hotspot's and jdk's OutputAnalyzerTest:
>>> http://cr.openjdk.java.net/~iignatyev/8211977/webrev.02.01-merge/ 
>>> <http://cr.openjdk.java.net/~iignatyev/8211977/webrev.02.01-merge/>
>>> 
>>> 2. simplification of TestNativeProcessBuilder tests: converts Test class 
>>> used by TestNativeProcessBuilder into a static nested class:
>>> http://cr.openjdk.java.net/~iignatyev//8211977/webrev.02.02-TestNativeProcessBuilder
>>>  
>>> <http://cr.openjdk.java.net/~iignatyev//8211977/webrev.02.02-TestNativeProcessBuilder>
>>> 
>>> 3. makefiles changes to build native parts of lib-test tests. in past, 
>>> there were no tests w/ native parts in this test suite, 
>>> TestNativeProcessBuilder is the 1st such test; this part also removes now 
>>> unneeded lines from hotspot test suite makefile:
>>> http://cr.openjdk.java.net/~iignatyev//8211977/webrev.02.03-NativeLibTest 
>>> <http://cr.openjdk.java.net/~iignatyev//8211977/webrev.02.03-NativeLibTest>
>>> 
>>> 4. clean ups in hotspot test suite: adjusted location of 
>>> SimpleClassFileLoadHookTest test, which is a test for hotspot-specific test 
>>> library (located in /test/hotspot/jtreg/testlibrary/jvmti) and hence should 
>>> not be moved to /test/lib-test; removed 
>>> TestMutuallyExclusivePlatformPredicates from TEST.groups:
>>> http://cr.openjdk.java.net/~iignatyev/8211977/webrev.02.04-hotspot/ 
>>> <http://cr.openjdk.java.net/~iignatyev/8211977/webrev.02.04-hotspot/>
>>> 
>>> 5. LingeredAppTest fix (which apparently has never been run before):
>>> http://cr.openjdk.java.net/~iignatyev/8211977/webrev.02.05-LingeredAppTest/ 
>>> <http://cr.openjdk.java.net/~iignatyev/8211977/webrev.02.05-LingeredAppTest/>
>>> 
>>> 6. changes to make test/lib-test a fully supported and working test suite, 
>>> and add in into tier1,  includes adding ProblemList, TEST.groups file, and 
>>> 'randomness' k/w:
>>> http://cr.openjdk.java.net/~iignatyev//8211977/webrev.02.06-TESTROOT/ 
>>> <http://cr.openjdk.java.net/~iignatyev//8211977/webrev.02.06-TESTROOT/>
>>> 
>>> webrev: http://cr.openjdk.java.net/~iignatyev//8211977/webrev.02 
>>> <http://cr.openjdk.java.net/~iignatyev//8211977/webrev.02>
>>> JBS: https://bugs.openjdk.java.net/browse/JDK-8211977

Re: RFR(S) : 8211977 : move testlibrary tests into one place

2020-06-16 Thread Igor Ignatyev
Hi David,

thanks for your review. re: LingeredAppTest, I agree that the test doesn't look 
very useful, yet I'd remind that the goal of this (and other test in 
/test/lib-test) is to (sanity) test testlibrary in order to easily spot bugs in 
testlibrary in a clear manner so one would not have to investigate failures of 
actual "product" tests and go thru their sometimes convoluted logic just to 
find out that the problem was in LingeredApp. w/ that being said, this test can 
do a better job in testing LingeredApp, so I'll file a JBS ticket against 
hotspo/svc to evaluate/improve/discuss the fate of the test.

Thanks,
-- Igor

> On Jun 16, 2020, at 12:14 AM, David Holmes  wrote:
> 
> Hi Igor,
> 
> On 16/06/2020 10:39 am, Igor Ignatyev wrote:
>> @David, Erik, Magnus,
>> please find the answers to your comments at the bottom of this email.
>> @all,
>> David's and Erik's comments made me realize that some parts of the original 
>> patch were stashed away and didn't make it to webrev.00. I'm truly sorry for 
>> the confusion and inconvenience. I also agree w/ David that it's hard to 
>> follow/review, and my gaffe just made it worse, therefore I'd like to start 
>> it over again from a clean sate
>> http://cr.openjdk.java.net/~iignatyev//8211977/webrev.02
>>> 833 lines changed: 228 ins; 591 del; 14 mod; 
>> could you please review the patch which puts all tests for common 
>> testlibrary classes (which is ones located in /test/lib) into one location 
>> under /test/lib-test? please note this intentionally doesn't move all 
>> "testlibrary" tests, e.g. tests for CTW, hotspot-specific testlibrary, are 
>> left in /test/hotspot/jtreg/testlibrary_tests/ctw .
> 
> Ok.
> 
>> to simplify review, the patch has been split into several webrevs, with each 
>> of them accomplishes a more-or-less distinct thing, but is not necessary 
>> self-contained:
> 
> Many thanks for doing this!
> 
>> 0. trivial move of tests from test/jdk and test/hotspot/jtreg test suites to 
>> test/lib-test:
>> http://cr.openjdk.java.net/~iignatyev/8211977/webrev.02.00-move/
> 
> Looks good.
> 
>> 1. removal of hotspot's AssertsTest, OutputAnalyzerReportingTest and "merge" 
>> of hotspot's and jdk's OutputAnalyzerTest:
>> http://cr.openjdk.java.net/~iignatyev/8211977/webrev.02.01-merge/
> 
> Looks good.
> 
>> 2. simplification of TestNativeProcessBuilder tests: converts Test class 
>> used by TestNativeProcessBuilder into a static nested class:
>> http://cr.openjdk.java.net/~iignatyev//8211977/webrev.02.02-TestNativeProcessBuilder
> 
> Looks good.
> 
>> 3. makefiles changes to build native parts of lib-test tests. in past, there 
>> were no tests w/ native parts in this test suite, TestNativeProcessBuilder 
>> is the 1st such test; this part also removes now unneeded lines from hotspot 
>> test suite makefile:
>> http://cr.openjdk.java.net/~iignatyev//8211977/webrev.02.03-NativeLibTest
> 
> Hmm okay. Not sure this needed its own category of build logic but ...
> 
> Aside: Makefiles should not have the classpath exception version of the 
> license header. But they all do for some reason. I'll check if we need to do 
> a separate cleanup of that.
> 
>> 4. clean ups in hotspot test suite: adjusted location of 
>> SimpleClassFileLoadHookTest test, which is a test for hotspot-specific test 
>> library (located in /test/hotspot/jtreg/testlibrary/jvmti) and hence should 
>> not be moved to /test/lib-test; removed 
>> TestMutuallyExclusivePlatformPredicates from TEST.groups:
>> http://cr.openjdk.java.net/~iignatyev/8211977/webrev.02.04-hotspot/
> 
> Looks good. Took me a while to understand the connection to the test library 
> here.
> 
>> 5. LingeredAppTest fix (which apparently has never been run before):
>> http://cr.openjdk.java.net/~iignatyev/8211977/webrev.02.05-LingeredAppTest/
> 
> Someone from serviceability should evaluate this test. It may not be needed.
> 
>> 6. changes to make test/lib-test a fully supported and working test suite, 
>> and add in into tier1,  includes adding ProblemList, TEST.groups file, and 
>> 'randomness' k/w:
>> http://cr.openjdk.java.net/~iignatyev//8211977/webrev.02.06-TESTROOT/
> 
> Seems okay.
> 
> Thanks,
> David
> -
> 
>> webrev: http://cr.openjdk.java.net/~iignatyev//8211977/webrev.02
>> JBS: https://bugs.openjdk.java.net/browse/JDK-8211977
>> testing:
>>  - make test TEST=tier1 locally on macosx
>>  - test/lib-test on  {windows,linux,macosx}-x64
>>  - tier1 job (in progress)
>> Thanks,
>> -- Igor
>>> On Jun 14, 2020, at 11:

Re: RFR(S) : 8211977 : move testlibrary tests into one place

2020-06-15 Thread Igor Ignatyev
@David, Erik, Magnus,

please find the answers to your comments at the bottom of this email.

@all,

David's and Erik's comments made me realize that some parts of the original 
patch were stashed away and didn't make it to webrev.00. I'm truly sorry for 
the confusion and inconvenience. I also agree w/ David that it's hard to 
follow/review, and my gaffe just made it worse, therefore I'd like to start it 
over again from a clean sate

http://cr.openjdk.java.net/~iignatyev//8211977/webrev.02
> 833 lines changed: 228 ins; 591 del; 14 mod; 

could you please review the patch which puts all tests for common testlibrary 
classes (which is ones located in /test/lib) into one location under 
/test/lib-test? please note this intentionally doesn't move all "testlibrary" 
tests, e.g. tests for CTW, hotspot-specific testlibrary, are left in 
/test/hotspot/jtreg/testlibrary_tests/ctw .

to simplify review, the patch has been split into several webrevs, with each of 
them accomplishes a more-or-less distinct thing, but is not necessary 
self-contained:

0. trivial move of tests from test/jdk and test/hotspot/jtreg test suites to 
test/lib-test:
http://cr.openjdk.java.net/~iignatyev/8211977/webrev.02.00-move/

1. removal of hotspot's AssertsTest, OutputAnalyzerReportingTest and "merge" of 
hotspot's and jdk's OutputAnalyzerTest:
http://cr.openjdk.java.net/~iignatyev/8211977/webrev.02.01-merge/

2. simplification of TestNativeProcessBuilder tests: converts Test class used 
by TestNativeProcessBuilder into a static nested class:
http://cr.openjdk.java.net/~iignatyev//8211977/webrev.02.02-TestNativeProcessBuilder

3. makefiles changes to build native parts of lib-test tests. in past, there 
were no tests w/ native parts in this test suite, TestNativeProcessBuilder is 
the 1st such test; this part also removes now unneeded lines from hotspot test 
suite makefile:
http://cr.openjdk.java.net/~iignatyev//8211977/webrev.02.03-NativeLibTest

4. clean ups in hotspot test suite: adjusted location of 
SimpleClassFileLoadHookTest test, which is a test for hotspot-specific test 
library (located in /test/hotspot/jtreg/testlibrary/jvmti) and hence should not 
be moved to /test/lib-test; removed TestMutuallyExclusivePlatformPredicates 
from TEST.groups:
http://cr.openjdk.java.net/~iignatyev/8211977/webrev.02.04-hotspot/

5. LingeredAppTest fix (which apparently has never been run before):
http://cr.openjdk.java.net/~iignatyev/8211977/webrev.02.05-LingeredAppTest/

6. changes to make test/lib-test a fully supported and working test suite, and 
add in into tier1,  includes adding ProblemList, TEST.groups file, and 
'randomness' k/w:
http://cr.openjdk.java.net/~iignatyev//8211977/webrev.02.06-TESTROOT/

webrev: http://cr.openjdk.java.net/~iignatyev//8211977/webrev.02
JBS: https://bugs.openjdk.java.net/browse/JDK-8211977
testing: 
 - make test TEST=tier1 locally on macosx
 - test/lib-test on  {windows,linux,macosx}-x64
 - tier1 job (in progress)

Thanks,
-- Igor


> On Jun 14, 2020, at 11:23 PM, David Holmes  wrote:
> <...>

> This doesn't seem to move everything under 
> test/hotspot/jtreg/testlibrary_tests/ e.g. ctw directory.
this is intentionally, ctw test-library is hotspot specific, hence its tests 
are to reside in hotspot test suite (until we decide to move the library to 
/test/lib), the same is true for SimpleClassFileLoadHookTest.
> 
> You did not modify hotspot/jtreg/TEST.groups but it refers to:
> testlibrary_tests/TestMutuallyExclusivePlatformPredicates.java \
> Plus it should probably refer to the new native_sanity tests somewhere.
the actual version of the patch removed reference to 
TestMutuallyExclusivePlatformPredicates from hotspot's TEST.groups and had 
TestNativeProcessBuilder moved to /test/test-lib, so no updates w.r.t. 
native_sanity are needed

> The newly added copyright notice needs to have the correct initial copyright 
> year based on when the file was first added to the repo.

 /test/lib-test/TEST.ROOT file was created by JDK-8243010 on 2020-04-16, hence 
the added copyright has 2020 as the initial copyright year.

> You used the wrong license header - makefiles don't use the classpath 
> exception.
JtregNativeLibTest.gmk is based on make/test/JtregNativeJdk.gmk which also have 
classpath exception. quick grep showed that make directory has 794 files which 
has '"Classpath" exception', out of 850 which contain 'GNU General Public 
License version 2' string. And although I agree that makefiles shouldn't have 
the classpath exception, I'd prefer to keep JtregNativeLibTest.gmk in sync w/ 
the its siblings and would leave it up to build team to decide how it's best to 
handle.


> On Jun 15, 2020, at 8:12 AM, Magnus Ihse Bursie 
>  wrote:
> 
> A few comments:
> 
> This seems like code copied from elsewhere:
>   57 # This evaluation is expensive and should only be done if this target was
>   58 # explicitly called.
>   59 ifneq ($(filter build-test-libtest-jtreg-native, $(MAKECMDGOALS)), )
> I don't agree that 

Re: RFR 15 8247521: (test) jdk/test/lib/hexdump/HexPrinterTest.java fails on windows

2020-06-15 Thread igor . ignatyev
Hi Roger,

LGTM,

Thanks,
— Igor

> On Jun 15, 2020, at 7:10 AM, Roger Riggs  wrote:
> 
> Roger



  1   2   3   4   >