RFR: 8352176: Automate setting up environment for mac signing tests

Alexey Semenyuk asemenyuk at openjdk.org
Mon Mar 24 23:03:46 UTC 2025


Follow-up for https://github.com/openjdk/jdk/pull/24087 PR. 
Revamp signing tests:
 - Run the tests only if `jpackage.test.MacSignTests` property is set to "run". This property also can be set to "setup" and "teardown" to set up and tear down jpackage signing test environment. See https://github.com/openjdk/jdk/pull/24087 PR.
 - Moved tests from SigningOptionsTest.java to ErrorTest.java. Altered `JPackageCommand.validateOutput()` to safely handle the case of an empty list of expected strings.
 - Removed SigningCheck.java. Verification of jpackage signing test environment is performed in `SigningBase.verifySignTestEnvReady()` method using verification API from MacSign class. `SigningBase.verifySignTestEnvReady()` method is called in every signing jtreg test. It is a replacement for `SigningCheck.checkCertificates()` call.
 - Change signatures of test methods to leverage capabilities of jpackage test lib added in https://github.com/openjdk/jdk/pull/21996 PR.

Before these changes, if the signing test environment was not set, signing tests exited with "skipped" status. With this change, these tests will not be executed unless `jpackage.test.MacSignTests` property is set to "run". The tests fail if the property is set and the signing test environment is not set correctly. This is a deliberate choice to encourage running these tests only if the signing test environment is configured correctly.

-------------

Commit messages:
 - Merge branch 'master' into JDK-8352176-revamp-sign-tests
 - Delete SigningCheck.java. Not used any more
 - 8352289: [macos] Review skipped tests in tools/jpackage/macosx/SigningPackage*
 - Handle empty array parameter in JPackageCommand.validateOutput(CannedFormattedString... str).
 - Move tests from SigningOptionsTest.java to ErrorTest.java
 - Fix recursion error
 - Rename jpackage.test.SignEnv in jpackage.test.MacSignTests. Add SigningBase.verifySignTestEnvReady()
 - Added capabilities to diagnose signing environment.
 - Make UI work in restricted env.
 - Make MacSign.setUp() work with LibreSSL. Can specify path to openssl command with "jpackage.test.openssl" system property. Add MacSign.isDeployed().
 - ... and 11 more: https://git.openjdk.org/jdk/compare/2c60fc51...1f0124ef

Changes: https://git.openjdk.org/jdk/pull/24201/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=24201&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8352176
  Stats: 357 lines in 10 files changed: 59 ins; 284 del; 14 mod
  Patch: https://git.openjdk.org/jdk/pull/24201.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/24201/head:pull/24201

PR: https://git.openjdk.org/jdk/pull/24201


More information about the core-libs-dev mailing list