Refactor signing tests covering gaps listed in the [CR 
description](https://bugs.openjdk.org/browse/JDK-8375242).

Old test signatures:

SigningAppImageTest.test(true, true, ASCII_INDEX)
SigningAppImageTest.test(true, true, UNICODE_INDEX)
SigningAppImageTest.test(true, false, UNICODE_INDEX)
SigningAppImageTest.test(false, true, INVALID_INDEX)

SigningAppImageTwoStepsTest.test(true, true)
SigningAppImageTwoStepsTest.test(true, false)
SigningAppImageTwoStepsTest.test(false, true)

SigningPackageTest.test(true, true, true, ASCII_INDEX)
SigningPackageTest.test(true, true, true, UNICODE_INDEX)
SigningPackageTest.test(false, true, true, UNICODE_INDEX)
SigningPackageTest.test(false, true, false, UNICODE_INDEX)
SigningPackageTest.test(false, false, true, UNICODE_INDEX)

SigningPackageTwoStepTest.test(app-image={--mac-signing-key-user-name: 
CertificateRequest[name=Developer ID Application: jpackage.openjdk.java.net, 
...]}; {MAC_DMG={--mac-signing-key-user-name: CertificateRequest[name=Developer 
ID Application: jpackage.openjdk.java.net, ...]}, 
MAC_PKG={--mac-signing-key-user-name: CertificateRequest[name=Developer ID 
Installer: jpackage.openjdk.java.net, ...]}})
SigningPackageTwoStepTest.test({MAC_DMG={--mac-signing-key-user-name: 
CertificateRequest[name=Developer ID Application: jpackage.openjdk.java.net, 
...]}, MAC_PKG={--mac-signing-key-user-name: CertificateRequest[name=Developer 
ID Installer: jpackage.openjdk.java.net, ...]}})
SigningPackageTwoStepTest.test(app-image={--mac-signing-key-user-name: 
CertificateRequest[name=Developer ID Application: jpackage.openjdk.java.net, 
...]})
SigningPackageTwoStepTest.test(app-image={--mac-app-image-sign-identity: 
CertificateRequest[name=Developer ID Application: jpackage.openjdk.java.net, 
...]}; {MAC_DMG={--mac-app-image-sign-identity: 
CertificateRequest[name=Developer ID Application: jpackage.openjdk.java.net, 
...]}, MAC_PKG={--mac-installer-sign-identity: 
CertificateRequest[name=Developer ID Installer: jpackage.openjdk.java.net, 
...]}})
SigningPackageTwoStepTest.test({MAC_DMG={--mac-app-image-sign-identity: 
CertificateRequest[name=Developer ID Application: jpackage.openjdk.java.net, 
...]}, MAC_PKG={--mac-installer-sign-identity: 
CertificateRequest[name=Developer ID Installer: jpackage.openjdk.java.net, 
...]}})
SigningPackageTwoStepTest.test(app-image={--mac-app-image-sign-identity: 
CertificateRequest[name=Developer ID Application: jpackage.openjdk.java.net, 
...]})

SigningRuntimeImagePackageTest.test(true, INVALID_INDEX, INVALID_INDEX)
SigningRuntimeImagePackageTest.test(true, INVALID_INDEX, ASCII_INDEX)
SigningRuntimeImagePackageTest.test(true, UNICODE_INDEX, INVALID_INDEX)
SigningRuntimeImagePackageTest.test(true, UNICODE_INDEX, ASCII_INDEX)
SigningRuntimeImagePackageTest.test(false, INVALID_INDEX, INVALID_INDEX)
SigningRuntimeImagePackageTest.test(false, INVALID_INDEX, ASCII_INDEX)


New test signatures:

SigningAppImageTest.test({--mac-signing-key-user-name: 
CODESIGN}@jpackagerTest.keychain)
SigningAppImageTest.test({--mac-signing-key-user-name/full: 
CODESIGN}@jpackagerTest.keychain)
SigningAppImageTest.test({--mac-app-image-sign-identity: 
CODESIGN}@jpackagerTest.keychain)
SigningAppImageTest.test({--mac-signing-key-user-name: 
CODESIGN_UNICODE}@jpackagerTest.keychain)
SigningAppImageTest.test({--mac-signing-key-user-name/full: 
CODESIGN_UNICODE}@jpackagerTest.keychain)
SigningAppImageTest.test({--mac-app-image-sign-identity: 
CODESIGN_UNICODE}@jpackagerTest.keychain)

SigningAppImageTwoStepsTest.test(app-image=unsigned; 
{--mac-signing-key-user-name: CODESIGN}@jpackagerTest.keychain)
SigningAppImageTwoStepsTest.test(app-image=unsigned; 
{--mac-signing-key-user-name/full: CODESIGN}@jpackagerTest.keychain)
SigningAppImageTwoStepsTest.test(app-image=unsigned; 
{--mac-app-image-sign-identity: CODESIGN}@jpackagerTest.keychain)
SigningAppImageTwoStepsTest.test(app-image={--mac-app-image-sign-identity: 
CODESIGN_ACME_TECH_LTD}@jpackagerTest.keychain; {--mac-signing-key-user-name: 
CODESIGN}@jpackagerTest.keychain)
SigningAppImageTwoStepsTest.test(app-image={--mac-app-image-sign-identity: 
CODESIGN_ACME_TECH_LTD}@jpackagerTest.keychain; 
{--mac-signing-key-user-name/full: CODESIGN}@jpackagerTest.keychain)
SigningAppImageTwoStepsTest.test(app-image={--mac-app-image-sign-identity: 
CODESIGN_ACME_TECH_LTD}@jpackagerTest.keychain; {--mac-app-image-sign-identity: 
CODESIGN}@jpackagerTest.keychain)

SigningPackageTest.test({--mac-signing-key-user-name: CODESIGN}, MAC_DMG)
SigningPackageTest.test({--mac-signing-key-user-name: CODESIGN}, 
{--mac-signing-key-user-name: PKG}, MAC_DMG+MAC_PKG)
SigningPackageTest.test({--mac-signing-key-user-name/full: CODESIGN}, MAC_DMG)
SigningPackageTest.test({--mac-app-image-sign-identity: CODESIGN}, 
MAC_DMG+MAC_PKG)
SigningPackageTest.test({--mac-installer-sign-identity: PKG}, MAC_PKG)
SigningPackageTest.test({--mac-app-image-sign-identity: CODESIGN}, 
{--mac-installer-sign-identity: PKG}, MAC_DMG+MAC_PKG)
SigningPackageTest.test({--mac-signing-key-user-name: CODESIGN_UNICODE}, 
MAC_DMG)
SigningPackageTest.test({--mac-signing-key-user-name: CODESIGN_UNICODE}, 
{--mac-signing-key-user-name: PKG_UNICODE}, MAC_DMG+MAC_PKG)
SigningPackageTest.test({--mac-signing-key-user-name/full: CODESIGN_UNICODE}, 
MAC_DMG)
SigningPackageTest.test({--mac-app-image-sign-identity: CODESIGN_UNICODE}, 
MAC_DMG+MAC_PKG)
SigningPackageTest.test({--mac-installer-sign-identity: PKG_UNICODE}, MAC_PKG)
SigningPackageTest.test({--mac-app-image-sign-identity: CODESIGN_UNICODE}, 
{--mac-installer-sign-identity: PKG_UNICODE}, MAC_DMG+MAC_PKG)

SigningPackageTwoStepTest.testBundleSignedAppImage
SigningPackageTwoStepTest.test(app-image={--mac-signing-key-user-name: 
CODESIGN_ACME_TECH_LTD}@jpackagerTest.keychain; {--mac-signing-key-user-name: 
CODESIGN}, MAC_DMG)
SigningPackageTwoStepTest.test(app-image={--mac-signing-key-user-name: 
CODESIGN_ACME_TECH_LTD}@jpackagerTest.keychain; {--mac-signing-key-user-name: 
CODESIGN}, {--mac-signing-key-user-name: PKG}, MAC_DMG+MAC_PKG)
SigningPackageTwoStepTest.test(app-image={--mac-signing-key-user-name: 
CODESIGN_ACME_TECH_LTD}@jpackagerTest.keychain; 
{--mac-signing-key-user-name/full: CODESIGN}, MAC_DMG)
SigningPackageTwoStepTest.test(app-image={--mac-signing-key-user-name: 
CODESIGN_ACME_TECH_LTD}@jpackagerTest.keychain; {--mac-app-image-sign-identity: 
CODESIGN}, MAC_DMG+MAC_PKG)
SigningPackageTwoStepTest.test(app-image={--mac-signing-key-user-name: 
CODESIGN_ACME_TECH_LTD}@jpackagerTest.keychain; {--mac-installer-sign-identity: 
PKG}, MAC_PKG)
SigningPackageTwoStepTest.test(app-image={--mac-signing-key-user-name: 
CODESIGN_ACME_TECH_LTD}@jpackagerTest.keychain; {--mac-app-image-sign-identity: 
CODESIGN}, {--mac-installer-sign-identity: PKG}, MAC_DMG+MAC_PKG)
SigningPackageTwoStepTest.test(app-image=unsigned; 
{--mac-signing-key-user-name: CODESIGN}, MAC_DMG)
SigningPackageTwoStepTest.test(app-image=unsigned; 
{--mac-signing-key-user-name: CODESIGN}, {--mac-signing-key-user-name: PKG}, 
MAC_DMG+MAC_PKG)
SigningPackageTwoStepTest.test(app-image=unsigned; 
{--mac-signing-key-user-name/full: CODESIGN}, MAC_DMG)
SigningPackageTwoStepTest.test(app-image=unsigned; 
{--mac-app-image-sign-identity: CODESIGN}, MAC_DMG+MAC_PKG)
SigningPackageTwoStepTest.test(app-image=unsigned; 
{--mac-installer-sign-identity: PKG}, MAC_PKG)
SigningPackageTwoStepTest.test(app-image=unsigned; 
{--mac-app-image-sign-identity: CODESIGN}, {--mac-installer-sign-identity: 
PKG}, MAC_DMG+MAC_PKG)

SigningRuntimeImagePackageTest.testBundleSignedRuntime()
SigningRuntimeImagePackageTest.test(runtime={IMAGE}; 
{--mac-signing-key-user-name: CODESIGN}, MAC_DMG)
SigningRuntimeImagePackageTest.test(runtime={IMAGE}; 
{--mac-signing-key-user-name: CODESIGN}, {--mac-signing-key-user-name: PKG}, 
MAC_DMG+MAC_PKG)
SigningRuntimeImagePackageTest.test(runtime={IMAGE}; 
{--mac-signing-key-user-name/full: CODESIGN}, MAC_DMG)
SigningRuntimeImagePackageTest.test(runtime={IMAGE}; 
{--mac-app-image-sign-identity: CODESIGN}, MAC_DMG+MAC_PKG)
SigningRuntimeImagePackageTest.test(runtime={IMAGE}; 
{--mac-installer-sign-identity: PKG}, MAC_PKG)
SigningRuntimeImagePackageTest.test(runtime={IMAGE}; 
{--mac-app-image-sign-identity: CODESIGN}, {--mac-installer-sign-identity: 
PKG}, MAC_DMG+MAC_PKG)
SigningRuntimeImagePackageTest.test(runtime={BUNDLE}; 
{--mac-signing-key-user-name: CODESIGN}, MAC_DMG)
SigningRuntimeImagePackageTest.test(runtime={BUNDLE}; 
{--mac-signing-key-user-name: CODESIGN}, {--mac-signing-key-user-name: PKG}, 
MAC_DMG+MAC_PKG)
SigningRuntimeImagePackageTest.test(runtime={BUNDLE}; 
{--mac-signing-key-user-name/full: CODESIGN}, MAC_DMG)
SigningRuntimeImagePackageTest.test(runtime={BUNDLE}; 
{--mac-app-image-sign-identity: CODESIGN}, MAC_DMG+MAC_PKG)
SigningRuntimeImagePackageTest.test(runtime={BUNDLE}; 
{--mac-installer-sign-identity: PKG}, MAC_PKG)
SigningRuntimeImagePackageTest.test(runtime={BUNDLE}; 
{--mac-app-image-sign-identity: CODESIGN}, {--mac-installer-sign-identity: 
PKG}, MAC_DMG+MAC_PKG)
SigningRuntimeImagePackageTest.test(runtime={BUNDLE, 
{--mac-signing-key-user-name: CODESIGN_ACME_TECH_LTD}@jpackagerTest.keychain}; 
{--mac-signing-key-user-name: CODESIGN}, MAC_DMG)
SigningRuntimeImagePackageTest.test(runtime={BUNDLE, 
{--mac-signing-key-user-name: CODESIGN_ACME_TECH_LTD}@jpackagerTest.keychain}; 
{--mac-signing-key-user-name: CODESIGN}, {--mac-signing-key-user-name: PKG}, 
MAC_DMG+MAC_PKG)
SigningRuntimeImagePackageTest.test(runtime={BUNDLE, 
{--mac-signing-key-user-name: CODESIGN_ACME_TECH_LTD}@jpackagerTest.keychain}; 
{--mac-signing-key-user-name/full: CODESIGN}, MAC_DMG)
SigningRuntimeImagePackageTest.test(runtime={BUNDLE, 
{--mac-signing-key-user-name: CODESIGN_ACME_TECH_LTD}@jpackagerTest.keychain}; 
{--mac-app-image-sign-identity: CODESIGN}, MAC_DMG+MAC_PKG)
SigningRuntimeImagePackageTest.test(runtime={BUNDLE, 
{--mac-signing-key-user-name: CODESIGN_ACME_TECH_LTD}@jpackagerTest.keychain}; 
{--mac-installer-sign-identity: PKG}, MAC_PKG)
SigningRuntimeImagePackageTest.test(runtime={BUNDLE, 
{--mac-signing-key-user-name: CODESIGN_ACME_TECH_LTD}@jpackagerTest.keychain}; 
{--mac-app-image-sign-identity: CODESIGN}, {--mac-installer-sign-identity: 
PKG}, MAC_DMG+MAC_PKG)


MacSignTest.java and EntitlementsTest.java tests refactored without functional 
changes.

Additionally:
 - Move "SigningBase.java" to the correct location in the test source tree.

Blocked by https://github.com/openjdk/jdk/pull/29241 PR.

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

Commit messages:
 - SigningPackageTest: fix the test selector
 - SigningRuntimeImagePackageTest: remove redundant test cases and improve 
performance
 - Make JPackageCommand.createInputRuntimeImage() and 
MacHelper.createRuntimeBundle() configurable
 - Undo 8371438
 - Update copyright year
 - Add MacHelper.NamedCertificateRequestSupplier; Use 
MacHelper.SignKeyOption.Type.SIGN_KEY_USER_FULL_NAME; add SignKeyOption.Name 
enum; streamline MacSignTest and MacHelper.SignKeyOption
 - Document MacHelper.SignKeyOption.Type; rename 
MacHelper.SignKeyOption.Type.SIGN_KEY_USER_NAME into 
MacHelper.SignKeyOption.Type.SIGN_KEY_USER_SHORT_NAME
 - SigningPackageTest: simplify
 - Add MacHelper.ResolvableCertificateRequest class; add 
SignKeyOption.asCmdlineArgs()
 - Refactor signing tests to support --mac-sign without signing key option and 
improve test coverage; Move SigningBase.java to the correct location in the 
source tree.
 - ... and 3 more: https://git.openjdk.org/jdk/compare/20bd178b...f55906bc

Changes: https://git.openjdk.org/jdk/pull/29205/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=29205&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8375242
  Stats: 1943 lines in 13 files changed: 974 ins; 550 del; 419 mod
  Patch: https://git.openjdk.org/jdk/pull/29205.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/29205/head:pull/29205

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

Reply via email to