support custom jtreg.jar and/or JTREG_HOME
- Dominant language
- Java
- Stars
- 22
- Forks
- 114
- Avg merge
- 4d 2h
- Merged PRs (30d)
- 8
Description
Currently, jtregs are used like ` $(TEST_RESROOT)$(D)jtreg$(D)lib$(D)jtreg.jar` or `$(TEST_RESROOT)$(D)jtreg` , where correct jtreg is decideded by the whole aqavit.
Where I absolutely agree, that the jtreg binary must remain strictly in aqavit rule, it would be nice to allow users to set up custom jtregs without hacking (aka sedding the playlists or replacing it silently in TEST_RESROOT.
I was thinking to declare `JTREG_HOME` as` $(TEST_RESROOT)$(D)jtreg` and `JTREG_JAR` as ` $(JTREG_HOME)$(D)lib$(D)jtreg.jar`, however checking, that the JTREG_HOME and/or JTREG_JAR are not passed by user from outside. If so use passed values instead.
PoC PRs are:
https://github.com/adoptium/TKG/pull/688 and eempalr usage https://github.com/adoptium/aqa-tests/pull/6125
In similar implementation user can set custom jar, and remove duplicate usage of `$(TEST_RESROOT)$(D)jtreg$(D)lib...` and friends.
The motivations for custom jtregs are many. As a top one and most recent, I would like to highlight fast/slow debug testing, where you care only about failures which crashed JVM. We implemented it via https://github.com/openjdk/jtreg/pull/235#issuecomment-2713065800 however the effort was recently closed, and will need to start from fresh. Until then, we have to live from fork. And as we would like to continue with using aqavit, we woudld liek to set up custom jtregs without hacking.
Contributor guide
Research direction
Start by reviewing the proposed implementation in TKG pull request 688 and the related usage in aqa-tests pull request 6125, then search for the existing TEST_RESROOT-based jtreg.jar and jtreg references. Done means custom JTREG_HOME and/or JTREG_JAR values can be supplied without playlist edits while preserving the current defaults.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- build-system, testing
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100