/* * Copyright (c) 2019, 2020, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions.
*/
publicclass LinuxResourceTest {
@Test publicstaticvoid testHardcodedProperties() throws IOException { new PackageTest()
.forTypes(PackageType.LINUX)
.configureHelloApp()
.addInitializer(cmd -> {
cmd
.setFakeRuntime()
.saveConsoleOutput(true)
.addArguments("--resource-dir", TKit.createTempDirectory("resources"));
})
.forTypes(PackageType.LINUX_DEB)
.addInitializer(cmd -> {
Path controlFile = Path.of(cmd.getArgumentValue("--resource-dir"), "control");
TKit.createTextFile(controlFile, List.of( "Package: dont-install-me", "Version: 1.2.3-R2", "Section: APPLICATION_SECTION", "Maintainer: APPLICATION_MAINTAINER", "Priority: optional", "Architecture: bar", "Provides: dont-install-me", "Description: APPLICATION_DESCRIPTION", "Installed-Size: APPLICATION_INSTALLED_SIZE", "Depends: PACKAGE_DEFAULT_DEPENDENCIES"
));
})
.addBundleVerifier((cmd, result) -> {
TKit.assertTextStream("Using custom package resource [DEB control file]")
.predicate(String::contains)
.apply(result.getOutput().stream());
TKit.assertTextStream(String.format( "Expected value of \"Package\" property is [%s]. Actual value in output package is [dont-install-me]",
LinuxHelper.getPackageName(cmd)))
.predicate(String::contains)
.apply(result.getOutput().stream());
TKit.assertTextStream( "Expected value of \"Version\" property is [1.0]. Actual value in output package is [1.2.3-R2]")
.predicate(String::contains)
.apply(result.getOutput().stream());
TKit.assertTextStream(String.format( "Expected value of \"Architecture\" property is [%s]. Actual value in output package is [bar]",
LinuxHelper.getDefaultPackageArch(cmd.packageType())))
.predicate(String::contains)
.apply(result.getOutput().stream());
})
.forTypes(PackageType.LINUX_RPM)
.addInitializer(cmd -> {
Path specFile = Path.of(cmd.getArgumentValue("--resource-dir"),
LinuxHelper.getPackageName(cmd) + ".spec");
TKit.createTextFile(specFile, List.of( "Name: dont-install-me", "Version: 1.2.3", "Release: R2", "Summary: APPLICATION_SUMMARY", "License: APPLICATION_LICENSE_TYPE", "Prefix: %{dirname:APPLICATION_DIRECTORY}", "Provides: dont-install-me", "%description", "APPLICATION_DESCRIPTION", "%prep", "%build", "%install", "rm -rf %{buildroot}", "install -d -m 755 %{buildroot}APPLICATION_DIRECTORY", "cp -r %{_sourcedir}APPLICATION_DIRECTORY/* %{buildroot}APPLICATION_DIRECTORY", "%files", "APPLICATION_DIRECTORY"
));
})
.addBundleVerifier((cmd, result) -> {
TKit.assertTextStream("Using custom package resource [RPM spec file]")
.predicate(String::contains)
.apply(result.getOutput().stream());
TKit.assertTextStream(String.format( "Expected value of \"Name\" property is [%s]. Actual value in output package is [dont-install-me]",
LinuxHelper.getPackageName(cmd)))
.predicate(String::contains)
.apply(result.getOutput().stream());
TKit.assertTextStream( "Expected value of \"Version\" property is [1.0]. Actual value in output package is [1.2.3]")
.predicate(String::contains)
.apply(result.getOutput().stream());
TKit.assertTextStream( "Expected value of \"Release\" property is [1]. Actual value in output package is [R2]")
.predicate(String::contains)
.apply(result.getOutput().stream());
})
.run();
}
}
Messung V0.5 in Prozent
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.9Bemerkung:
(vorverarbeitet am 2026-04-26)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.