@@ -85,6 +85,7 @@ public void test20PluginsListWithNoPlugins() throws Exception {
85
85
public void test30MissingBundledJdk () throws Exception {
86
86
final Installation .Executables bin = installation .executables ();
87
87
sh .getEnv ().remove ("JAVA_HOME" );
88
+ sh .getEnv ().remove ("OPENSEARCH_JAVA_HOME" );
88
89
89
90
final Path relocatedJdk = installation .bundledJdk .getParent ().resolve ("jdk.relocated" );
90
91
@@ -105,6 +106,7 @@ public void test30MissingBundledJdk() throws Exception {
105
106
106
107
public void test31BadJavaHome () throws Exception {
107
108
final Installation .Executables bin = installation .executables ();
109
+ sh .getEnv ().remove ("OPENSEARCH_JAVA_HOME" );
108
110
sh .getEnv ().put ("JAVA_HOME" , "doesnotexist" );
109
111
110
112
// ask for opensearch version to quickly exit if java is actually found (ie test failure)
@@ -114,11 +116,23 @@ public void test31BadJavaHome() throws Exception {
114
116
115
117
}
116
118
119
+ public void test31BadOpensearchJavaHome () throws Exception {
120
+ final Installation .Executables bin = installation .executables ();
121
+ sh .getEnv ().put ("OPENSEARCH_JAVA_HOME" , "doesnotexist" );
122
+
123
+ // ask for opensearch version to quickly exit if java is actually found (ie test failure)
124
+ final Result runResult = sh .runIgnoreExitCode (bin .opensearch .toString () + " -V" );
125
+ assertThat (runResult .exitCode , is (1 ));
126
+ assertThat (runResult .stderr , containsString ("could not find java in OPENSEARCH_JAVA_HOME" ));
127
+
128
+ }
129
+
117
130
public void test32SpecialCharactersInJdkPath () throws Exception {
118
131
final Installation .Executables bin = installation .executables ();
119
132
assumeTrue ("Only run this test when we know where the JDK is." , distribution ().hasJdk );
120
133
121
134
final Path relocatedJdk = installation .bundledJdk .getParent ().resolve ("a (special) path" );
135
+ sh .getEnv ().remove ("OPENSEARCH_JAVA_HOME" );
122
136
sh .getEnv ().put ("JAVA_HOME" , relocatedJdk .toString ());
123
137
124
138
try {
@@ -154,6 +168,8 @@ public void test50StartAndStop() throws Exception {
154
168
}
155
169
156
170
public void test51JavaHomeOverride () throws Exception {
171
+ sh .getEnv ().remove ("OPENSEARCH_JAVA_HOME" );
172
+
157
173
Platforms .onLinux (() -> {
158
174
String systemJavaHome1 = sh .run ("echo $SYSTEM_JAVA_HOME" ).stdout .trim ();
159
175
sh .getEnv ().put ("JAVA_HOME" , systemJavaHome1 );
@@ -171,8 +187,29 @@ public void test51JavaHomeOverride() throws Exception {
171
187
assertThat (FileUtils .slurpAllLogs (installation .logs , "opensearch.log" , "*.log.gz" ), containsString (systemJavaHome1 ));
172
188
}
173
189
174
- public void test52BundledJdkRemoved () throws Exception {
190
+ public void test51OpensearchJavaHomeOverride () throws Exception {
191
+ Platforms .onLinux (() -> {
192
+ String systemJavaHome1 = sh .run ("echo $SYSTEM_JAVA_HOME" ).stdout .trim ();
193
+ sh .getEnv ().put ("OPENSEARCH_JAVA_HOME" , systemJavaHome1 );
194
+ sh .getEnv ().put ("JAVA_HOME" , "doesnotexist" );
195
+ });
196
+ Platforms .onWindows (() -> {
197
+ final String systemJavaHome1 = sh .run ("$Env:SYSTEM_JAVA_HOME" ).stdout .trim ();
198
+ sh .getEnv ().put ("OPENSEARCH_JAVA_HOME" , systemJavaHome1 );
199
+ sh .getEnv ().put ("JAVA_HOME" , "doesnotexist" );
200
+ });
201
+
202
+ startOpenSearch ();
203
+ ServerUtils .runOpenSearchTests ();
204
+ stopOpenSearch ();
205
+
206
+ String systemJavaHome1 = sh .getEnv ().get ("OPENSEARCH_JAVA_HOME" );
207
+ assertThat (FileUtils .slurpAllLogs (installation .logs , "opensearch.log" , "*.log.gz" ), containsString (systemJavaHome1 ));
208
+ }
209
+
210
+ public void test52JavaHomeBundledJdkRemoved () throws Exception {
175
211
assumeThat (distribution ().hasJdk , is (true ));
212
+ sh .getEnv ().remove ("OPENSEARCH_JAVA_HOME" );
176
213
177
214
Path relocatedJdk = installation .bundledJdk .getParent ().resolve ("jdk.relocated" );
178
215
try {
@@ -197,7 +234,37 @@ public void test52BundledJdkRemoved() throws Exception {
197
234
}
198
235
}
199
236
237
+ public void test52OpensearchJavaHomeBundledJdkRemoved () throws Exception {
238
+ assumeThat (distribution ().hasJdk , is (true ));
239
+
240
+ Path relocatedJdk = installation .bundledJdk .getParent ().resolve ("jdk.relocated" );
241
+ try {
242
+ mv (installation .bundledJdk , relocatedJdk );
243
+ Platforms .onLinux (() -> {
244
+ String systemJavaHome1 = sh .run ("echo $SYSTEM_JAVA_HOME" ).stdout .trim ();
245
+ sh .getEnv ().put ("OPENSEARCH_JAVA_HOME" , systemJavaHome1 );
246
+ sh .getEnv ().put ("JAVA_HOME" , "doesnotexist" );
247
+ });
248
+ Platforms .onWindows (() -> {
249
+ final String systemJavaHome1 = sh .run ("$Env:SYSTEM_JAVA_HOME" ).stdout .trim ();
250
+ sh .getEnv ().put ("OPENSEARCH_JAVA_HOME" , systemJavaHome1 );
251
+ sh .getEnv ().put ("JAVA_HOME" , "doesnotexist" );
252
+ });
253
+
254
+ startOpenSearch ();
255
+ ServerUtils .runOpenSearchTests ();
256
+ stopOpenSearch ();
257
+
258
+ String systemJavaHome1 = sh .getEnv ().get ("OPENSEARCH_JAVA_HOME" );
259
+ assertThat (FileUtils .slurpAllLogs (installation .logs , "opensearch.log" , "*.log.gz" ), containsString (systemJavaHome1 ));
260
+ } finally {
261
+ mv (relocatedJdk , installation .bundledJdk );
262
+ }
263
+ }
264
+
200
265
public void test53JavaHomeWithSpecialCharacters () throws Exception {
266
+ sh .getEnv ().remove ("OPENSEARCH_JAVA_HOME" );
267
+
201
268
Platforms .onWindows (() -> {
202
269
String javaPath = "C:\\ Program Files (x86)\\ java" ;
203
270
try {
@@ -250,6 +317,7 @@ public void test54ForceBundledJdkEmptyJavaHome() throws Exception {
250
317
// cleanup from previous test
251
318
rm (installation .config ("opensearch.keystore" ));
252
319
320
+ sh .getEnv ().put ("OPENSEARCH_JAVA_HOME" , "" );
253
321
sh .getEnv ().put ("JAVA_HOME" , "" );
254
322
255
323
startOpenSearch ();
0 commit comments