|
31 | 31 |
|
32 | 32 | import java.io.IOException;
|
33 | 33 | import java.nio.file.Files;
|
| 34 | +import java.nio.file.Path; |
| 35 | +import java.nio.file.Paths; |
34 | 36 | import java.util.regex.Matcher;
|
35 | 37 | import java.util.regex.Pattern;
|
36 | 38 |
|
37 | 39 | import static junit.framework.TestCase.assertFalse;
|
38 | 40 | import static junit.framework.TestCase.assertTrue;
|
39 | 41 | import static org.elasticsearch.packaging.util.Cleanup.cleanEverything;
|
40 | 42 | import static org.elasticsearch.packaging.util.FileUtils.assertPathsDontExist;
|
| 43 | +import static org.elasticsearch.packaging.util.FileUtils.mv; |
41 | 44 | import static org.elasticsearch.packaging.util.Packages.SYSTEMD_SERVICE;
|
42 | 45 | import static org.elasticsearch.packaging.util.Packages.assertInstalled;
|
43 | 46 | import static org.elasticsearch.packaging.util.Packages.assertRemoved;
|
44 | 47 | import static org.elasticsearch.packaging.util.Packages.install;
|
45 | 48 | import static org.elasticsearch.packaging.util.Packages.remove;
|
| 49 | +import static org.elasticsearch.packaging.util.Packages.runInstallCommand; |
46 | 50 | import static org.elasticsearch.packaging.util.Packages.startElasticsearch;
|
47 | 51 | import static org.elasticsearch.packaging.util.Packages.verifyPackageInstallation;
|
48 | 52 | import static org.elasticsearch.packaging.util.Platforms.getOsRelease;
|
@@ -77,6 +81,21 @@ public void onlyCompatibleDistributions() {
|
77 | 81 | assumeTrue("only compatible distributions", distribution().packaging.compatible);
|
78 | 82 | }
|
79 | 83 |
|
| 84 | + public void test05InstallFailsWhenJavaMissing() { |
| 85 | + final Shell sh = new Shell(); |
| 86 | + final Result java = sh.run("command -v java"); |
| 87 | + |
| 88 | + final Path originalJavaPath = Paths.get(java.stdout.trim()); |
| 89 | + final Path relocatedJavaPath = originalJavaPath.getParent().resolve("java.relocated"); |
| 90 | + try { |
| 91 | + mv(originalJavaPath, relocatedJavaPath); |
| 92 | + final Result installResult = runInstallCommand(distribution()); |
| 93 | + assertThat(installResult.exitCode, is(1)); |
| 94 | + } finally { |
| 95 | + mv(relocatedJavaPath, originalJavaPath); |
| 96 | + } |
| 97 | + } |
| 98 | + |
80 | 99 | public void test10InstallPackage() {
|
81 | 100 | assertRemoved(distribution());
|
82 | 101 | installation = install(distribution());
|
|
0 commit comments