test/jdk/tools/jpackage/share/LicenseTest.java
author herrick
Tue, 24 Sep 2019 13:41:16 -0400
branchJDK-8200758-branch
changeset 58301 e0efb29609bd
parent 58113 885b0543f6e4
child 58303 88453b906981
permissions -rw-r--r--
8225249 : LinuxDebBundler and LinuxRpmBundler should share more code Submitted-by: asemenyuk Reviewed-by: herrick, almatvee
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
58113
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
     1
/*
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
     2
 * Copyright (c) 2018, 2019, Oracle and/or its affiliates. All rights reserved.
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
     3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
     4
 *
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
     5
 * This code is free software; you can redistribute it and/or modify it
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
     6
 * under the terms of the GNU General Public License version 2 only, as
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
     7
 * published by the Free Software Foundation.
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
     8
 *
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
     9
 * This code is distributed in the hope that it will be useful, but WITHOUT
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    10
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    11
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    12
 * version 2 for more details (a copy is included in the LICENSE file that
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    13
 * accompanied this code).
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    14
 *
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    15
 * You should have received a copy of the GNU General Public License version
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    16
 * 2 along with this work; if not, write to the Free Software Foundation,
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    17
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    18
 *
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    19
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    20
 * or visit www.oracle.com if you need additional information or have any
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    21
 * questions.
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    22
 */
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    23
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    24
import java.io.IOException;
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    25
import java.nio.file.Files;
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    26
import java.nio.file.Path;
58301
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
    27
import java.util.List;
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
    28
import java.util.Arrays;
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
    29
import java.util.function.Function;
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
    30
import java.util.stream.Collectors;
58113
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    31
import jdk.jpackage.test.JPackageCommand;
58301
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
    32
import jdk.jpackage.test.PackageType;
58113
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    33
import jdk.jpackage.test.PackageTest;
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    34
import jdk.jpackage.test.LinuxHelper;
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    35
import jdk.jpackage.test.Executor;
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    36
import jdk.jpackage.test.Test;
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    37
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    38
/**
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    39
 * Test --license-file parameter. Output of the test should be licensetest*.*
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    40
 * package bundle. The output package should provide the same functionality as
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    41
 * the default package and also incorporate license information from
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    42
 * test/jdk/tools/jpackage/resources/license.txt file from OpenJDK repo.
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    43
 *
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    44
 * deb:
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    45
 *
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    46
 * Package should install license file /usr/share/doc/licensetest/copyright
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    47
 * file.
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    48
 *
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    49
 * rpm:
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    50
 *
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    51
 * Package should install license file in
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    52
 * %{_defaultlicensedir}/licensetest-1.0/license.txt file.
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    53
 *
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    54
 * Mac:
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    55
 *
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    56
 * Windows
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    57
 *
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    58
 * Installer should display license text matching contents of the license file
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    59
 * during installation.
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    60
 */
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    61
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    62
/*
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    63
 * @test
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    64
 * @summary jpackage with --license-file
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    65
 * @library ../helpers
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    66
 * @modules jdk.jpackage/jdk.jpackage.internal
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    67
 * @run main/othervm/timeout=360 -Xmx512m LicenseTest
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    68
 */
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    69
public class LicenseTest {
58301
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
    70
    public static void main(String[] args) {
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
    71
        Test.run(args, () -> {
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
    72
            new PackageTest().configureHelloApp()
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
    73
            .addInitializer(cmd -> {
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
    74
                cmd.addArguments("--license-file", LICENSE_FILE);
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
    75
            })
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
    76
            .forTypes(PackageType.LINUX_DEB)
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
    77
            .addBundleVerifier(cmd -> {
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
    78
                verifyLicenseFileInLinuxPackage(cmd, debLicenseFile(cmd));
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
    79
            })
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
    80
            .addInstallVerifier(cmd -> {
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
    81
                verifyLicenseFileInstalledDebian(debLicenseFile(cmd));
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
    82
            })
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
    83
            .addUninstallVerifier(cmd -> {
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
    84
                verifyLicenseFileNotInstalledLinux(debLicenseFile(cmd));
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
    85
            })
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
    86
            .forTypes(PackageType.LINUX_RPM)
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
    87
            .addBundleVerifier(cmd -> {
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
    88
                verifyLicenseFileInLinuxPackage(cmd,rpmLicenseFile(cmd));
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
    89
            })
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
    90
            .addInstallVerifier(cmd -> {
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
    91
                verifyLicenseFileInstalledRpm(rpmLicenseFile(cmd));
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
    92
            })
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
    93
            .addUninstallVerifier(cmd -> {
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
    94
                verifyLicenseFileNotInstalledLinux(rpmLicenseFile(cmd));
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
    95
            })
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
    96
            .run();
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
    97
        });
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
    98
     }
58113
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
    99
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
   100
    private static Path rpmLicenseFile(JPackageCommand cmd) {
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
   101
        final Path licenseRoot = Path.of(
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
   102
                new Executor()
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
   103
                .setExecutable("rpm")
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
   104
                .addArguments("--eval", "%{_defaultlicensedir}")
58301
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
   105
                .executeAndGetFirstLineOfOutput());
58113
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
   106
        final Path licensePath = licenseRoot.resolve(String.format("%s-%s",
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
   107
                LinuxHelper.getPackageName(cmd), cmd.version())).resolve(
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
   108
                LICENSE_FILE.getFileName());
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
   109
        return licensePath;
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
   110
    }
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
   111
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
   112
    private static Path debLicenseFile(JPackageCommand cmd) {
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
   113
        final Path licensePath = Path.of("/usr", "share", "doc",
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
   114
                LinuxHelper.getPackageName(cmd), "copyright");
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
   115
        return licensePath;
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
   116
    }
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
   117
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
   118
    private static void verifyLicenseFileInLinuxPackage(JPackageCommand cmd,
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
   119
            Path expectedLicensePath) {
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
   120
        Test.assertTrue(LinuxHelper.getPackageFiles(cmd).filter(path -> path.equals(
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
   121
                expectedLicensePath)).findFirst().orElse(null) != null,
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
   122
                String.format("Check license file [%s] is in %s package",
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
   123
                        expectedLicensePath, LinuxHelper.getPackageName(cmd)));
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
   124
    }
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
   125
58301
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
   126
    private static void verifyLicenseFileInstalledRpm(Path licenseFile) {
58113
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
   127
        Test.assertTrue(Files.isReadable(licenseFile), String.format(
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
   128
                "Check license file [%s] is readable", licenseFile));
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
   129
        try {
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
   130
            Test.assertTrue(Files.readAllLines(licenseFile).equals(
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
   131
                    Files.readAllLines(LICENSE_FILE)), String.format(
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
   132
                    "Check contents of package license file [%s] are the same as contents of source license file [%s]",
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
   133
                    licenseFile, LICENSE_FILE));
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
   134
        } catch (IOException ex) {
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
   135
            throw new RuntimeException(ex);
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
   136
        }
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
   137
    }
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
   138
58301
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
   139
    private static void verifyLicenseFileInstalledDebian(Path licenseFile) {
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
   140
        Test.assertTrue(Files.isReadable(licenseFile), String.format(
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
   141
                "Check license file [%s] is readable", licenseFile));
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
   142
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
   143
        Function<List<String>, List<String>> stripper = (lines) -> Arrays.asList(
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
   144
                String.join("\n", lines).stripTrailing().split("\n"));
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
   145
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
   146
        try {
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
   147
            List<String> actualLines = Files.readAllLines(licenseFile).stream().dropWhile(
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
   148
                    line -> !line.startsWith("License:")).collect(
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
   149
                            Collectors.toList());
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
   150
            // Remove leading `License:` followed by the whitespace from the first text line.
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
   151
            actualLines.set(0, actualLines.get(0).split("\\s+", 2)[1]);
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
   152
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
   153
            actualLines = stripper.apply(actualLines);
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
   154
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
   155
            Test.assertNotEquals(0, String.join("\n", actualLines).length(),
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
   156
                    "Check stripped license text is not empty");
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
   157
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
   158
            Test.assertTrue(actualLines.equals(
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
   159
                    stripper.apply(Files.readAllLines(LICENSE_FILE))),
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
   160
                    String.format(
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
   161
                            "Check subset of package license file [%s] is a match of the source license file [%s]",
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
   162
                            licenseFile, LICENSE_FILE));
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
   163
        } catch (IOException ex) {
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
   164
            throw new RuntimeException(ex);
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
   165
        }
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
   166
    }
e0efb29609bd 8225249 : LinuxDebBundler and LinuxRpmBundler should share more code
herrick
parents: 58113
diff changeset
   167
58113
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
   168
    private static void verifyLicenseFileNotInstalledLinux(Path licenseFile) {
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
   169
        Test.assertDirectoryExists(licenseFile.getParent(), false);
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
   170
    }
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
   171
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
   172
    private static final Path LICENSE_FILE = Test.TEST_SRC_ROOT.resolve(
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
   173
            Path.of("resources", "license.txt"));
885b0543f6e4 8230726: Improve jpackage jtreg tests
herrick
parents:
diff changeset
   174
}