-
Notifications
You must be signed in to change notification settings - Fork 324
7904061: Enable JMH integration tests to be executed against other impls #163
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
|
👋 Welcome back galder! A progress list of the required criteria for merging this PR into |
|
❗ This change is not yet ready to be integrated. |
|
@galderz This pull request has been inactive for more than 4 weeks and will be automatically closed if another 4 weeks passes without any activity. To avoid this, simply issue a |
|
/touch |
|
@galderz The pull request is being re-evaluated and the inactivity timeout has been reset. |
|
@galderz This pull request has been inactive for more than 4 weeks and will be automatically closed if another 4 weeks passes without any activity. To avoid this, simply issue a |
|
/touch |
|
@galderz The pull request is being re-evaluated and the inactivity timeout has been reset. |
|
@galderz This pull request has been inactive for more than 4 weeks and will be automatically closed if another 4 weeks passes without any activity. To avoid this, simply issue a |
|
/touch |
|
@galderz The pull request is being re-evaluated and the inactivity timeout has been reset. |
|
@galderz This pull request has been inactive for more than 4 weeks and will be automatically closed if another 4 weeks passes without any activity. To avoid this, simply issue a |
|
/touch |
|
@galderz The pull request is being re-evaluated and the inactivity timeout has been reset. |
NOTE: This PR should be marked as draft because not all tests have been migrated to this setup. I've migrated the ones in the root test package to get a feel on how things would work and get feedback on whether this approach is fine for the JMH community.
This is the last in a series of PRs extending JMH to benchmark Java code running as GraalVM native images more easily.
In this PR:
jmh-core-ittest jar to be created so that JMH extensions can consume it.RunnerFactoryinterface with a method calledcreateRunnerthat by default creates JMH'sRunnerinstance. JMH extensions that want to run the same test with a different runner would apply changes like these. Here the JMH extension extends the defaultRunnerFactoryinterface, and extends individual test classes to make them implement the extended runner factory interface.The result of both these changes enables JMH tests to be executed with the JMH extension:
Note that above we can observe that one of the JMH tests is disabled. It could happen that several JMH tests are not applicable to native image, e.g. perfasm tests. In the usage changes above we can observe how JUnit's
@Ignoreannotation can be easily used to disable particular tests as needed. In the particular case ofPrintFlags, the JMH extension could filter this flag and not pass on (there are already such cases) so with that modification the test could pass but I left it as is so that test exclusion can be demonstrated for this PR.Here is the PR list for reference:
Progress
Issue
Reviewing
Using
gitCheckout this PR locally:
$ git fetch https://git.openjdk.org/jmh.git pull/163/head:pull/163$ git checkout pull/163Update a local copy of the PR:
$ git checkout pull/163$ git pull https://git.openjdk.org/jmh.git pull/163/headUsing Skara CLI tools
Checkout this PR locally:
$ git pr checkout 163View PR using the GUI difftool:
$ git pr show -t 163Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jmh/pull/163.diff
Using Webrev
Link to Webrev Comment