From 1fd14d8e44a8b336f340a0d8d69fe40a4765c78c Mon Sep 17 00:00:00 2001 From: andreatp Date: Fri, 19 Jun 2026 11:55:28 +0100 Subject: [PATCH] Update wasi-testsuite with new root syntax --- .../main/java/run/endive/maven/Specification.java | 12 ++++++------ .../main/java/run/endive/maven/WasiTestGenMojo.java | 6 +++--- .../test/java/run/endive/wasi/WasiTestRunner.java | 10 +++++----- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/wasi-test-gen-plugin/src/main/java/run/endive/maven/Specification.java b/wasi-test-gen-plugin/src/main/java/run/endive/maven/Specification.java index 1910ff8dd..9126ba6cb 100644 --- a/wasi-test-gen-plugin/src/main/java/run/endive/maven/Specification.java +++ b/wasi-test-gen-plugin/src/main/java/run/endive/maven/Specification.java @@ -12,7 +12,7 @@ public class Specification { private final List args; - private final List dirs; + private final Optional root; private final Map env; private final int exitCode; private final Optional stdout; @@ -20,12 +20,12 @@ public class Specification { @JsonCreator public Specification( @JsonProperty("args") List args, - @JsonProperty("dirs") List dirs, + @JsonProperty("root") String root, @JsonProperty("env") Map env, @JsonProperty("exit_code") int exitCode, @JsonProperty("stdout") String stdout) { this.args = requireNonNullElse(args, emptyList()); - this.dirs = requireNonNullElse(dirs, emptyList()); + this.root = Optional.ofNullable(root); this.env = requireNonNullElse(env, emptyMap()); this.exitCode = exitCode; this.stdout = Optional.ofNullable(stdout); @@ -35,8 +35,8 @@ public List args() { return args; } - public List dirs() { - return dirs; + public Optional root() { + return root; } public Map env() { @@ -52,6 +52,6 @@ public Optional stdout() { } public static Specification createDefault() { - return new Specification(emptyList(), emptyList(), emptyMap(), 0, null); + return new Specification(emptyList(), null, emptyMap(), 0, null); } } diff --git a/wasi-test-gen-plugin/src/main/java/run/endive/maven/WasiTestGenMojo.java b/wasi-test-gen-plugin/src/main/java/run/endive/maven/WasiTestGenMojo.java index fedee714e..ac06bc024 100644 --- a/wasi-test-gen-plugin/src/main/java/run/endive/maven/WasiTestGenMojo.java +++ b/wasi-test-gen-plugin/src/main/java/run/endive/maven/WasiTestGenMojo.java @@ -187,8 +187,8 @@ public void execute() throws MojoExecutionException { AssignExpr.Operator.ASSIGN)) .addStatement( new AssignExpr( - new NameExpr("List dirs"), - new NameExpr(listOf(specification.dirs())), + new NameExpr("Optional root"), + new NameExpr(optionalOf(specification.root())), AssignExpr.Operator.ASSIGN)) .addStatement( new AssignExpr( @@ -208,7 +208,7 @@ public void execute() throws MojoExecutionException { .addStatement( new NameExpr( "WasiTestRunner.execute(" - + "test, args, dirs, env, exitCode, stdout)")); + + "test, args, root, env, exitCode, stdout)")); } dest.add( diff --git a/wasi-tests/src/test/java/run/endive/wasi/WasiTestRunner.java b/wasi-tests/src/test/java/run/endive/wasi/WasiTestRunner.java index 9cf3c4148..bc08910a6 100644 --- a/wasi-tests/src/test/java/run/endive/wasi/WasiTestRunner.java +++ b/wasi-tests/src/test/java/run/endive/wasi/WasiTestRunner.java @@ -27,7 +27,7 @@ private WasiTestRunner() {} public static void execute( File test, List args, - List dirs, + Optional root, Map env, int exitCode, Optional stdout) { @@ -55,11 +55,11 @@ public static void execute( options.withEnvironment("NO_DANGLING_FILESYSTEM", "true"); } - for (String dir : dirs) { - Path source = test.getParentFile().toPath().resolve(dir); - Path target = fs.getPath(dir); + if (root.isPresent()) { + Path source = test.getParentFile().toPath().resolve(root.get()); + Path target = fs.getPath("/"); copyDirectory(source, target); - options.withDirectory(target.toString(), target); + options.withDirectory("/", target); } int actualExitCode;