Skip to content

Commit 029ff49

Browse files
committed
Fix more packaging test
1 parent b77e36b commit 029ff49

File tree

1 file changed

+38
-8
lines changed

1 file changed

+38
-8
lines changed

qa/vagrant/src/main/java/org/elasticsearch/packaging/test/ArchiveTestCase.java

Lines changed: 38 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,12 @@
3030
import org.elasticsearch.packaging.util.Shell.Result;
3131

3232
import java.io.IOException;
33+
import java.nio.file.FileVisitResult;
3334
import java.nio.file.Files;
3435
import java.nio.file.Path;
36+
import java.nio.file.SimpleFileVisitor;
37+
import java.nio.file.attribute.BasicFileAttributes;
3538
import java.util.Arrays;
36-
import java.util.stream.Stream;
3739

3840
import static java.util.stream.Collectors.joining;
3941
import static org.elasticsearch.packaging.util.Archives.ARCHIVE_OWNER;
@@ -194,8 +196,25 @@ public void test70CustomPathConfAndJvmOptions() throws IOException {
194196

195197
try {
196198
mkdir(tempConf);
197-
cp(installation.config("elasticsearch.yml"), tempConf.resolve("elasticsearch.yml"));
198-
cp(installation.config("log4j2.properties"), tempConf.resolve("log4j2.properties"));
199+
200+
// copy all config files except for jvm.options
201+
Files.walkFileTree(installation.config, new SimpleFileVisitor<Path>() {
202+
203+
@Override
204+
public FileVisitResult preVisitDirectory(final Path dir, final BasicFileAttributes attrs) throws IOException {
205+
Files.createDirectories(tempConf.resolve(installation.config.relativize(dir)));
206+
return FileVisitResult.CONTINUE;
207+
}
208+
209+
@Override
210+
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
211+
if (file.getFileName().endsWith("jvm.options") == false) {
212+
cp(file, tempConf.resolve(installation.config.relativize(file)));
213+
}
214+
return FileVisitResult.CONTINUE;
215+
}
216+
217+
});
199218

200219
// we have to disable Log4j from using JMX lest it will hit a security
201220
// manager exception before we have configured logging; this will fail
@@ -244,11 +263,22 @@ public void test80RelativePathConf() throws IOException {
244263

245264
try {
246265
mkdir(tempConf);
247-
Stream.of(
248-
"elasticsearch.yml",
249-
"log4j2.properties",
250-
"jvm.options"
251-
).forEach(file -> cp(installation.config(file), tempConf.resolve(file)));
266+
// copy all config files
267+
Files.walkFileTree(installation.config, new SimpleFileVisitor<Path>() {
268+
269+
@Override
270+
public FileVisitResult preVisitDirectory(final Path dir, final BasicFileAttributes attrs) throws IOException {
271+
Files.createDirectories(tempConf.resolve(installation.config.relativize(dir)));
272+
return FileVisitResult.CONTINUE;
273+
}
274+
275+
@Override
276+
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
277+
cp(file, tempConf.resolve(installation.config.relativize(file)));
278+
return FileVisitResult.CONTINUE;
279+
}
280+
281+
});
252282

253283
append(tempConf.resolve("elasticsearch.yml"), "node.name: relative");
254284

0 commit comments

Comments
 (0)