Skip to content

support custom jtreg.jar and/or JTREG_HOME #690

Description

@judovana

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:
#688 and eempalr usage adoptium/aqa-tests#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 openjdk/jtreg#235 (comment) 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.

Activity

  1. smlambert commented on Apr 3, 2025

    @smlambert
    Contributor

    Thanks @judovana - supporting a custom JTREG is a reasonable feature request to support development work and future jtreg features and functionality. For AQAvit verification, we will of course want to pin to official releases of the tool, but for development, there can be options for custom tools.

    I have added an initial comment to the TKG PR, but will also want to consider how we verify that an official JTREG jar is being used for AQAvit verification (and not some untracked modified version).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions