diff --git a/hadoop-tools/hadoop-sls/src/test/java/org/apache/hadoop/yarn/sls/BaseSLSRunnerTest.java b/hadoop-tools/hadoop-sls/src/test/java/org/apache/hadoop/yarn/sls/BaseSLSRunnerTest.java index 513dbe5a436b6..2c88e262c7686 100644 --- a/hadoop-tools/hadoop-sls/src/test/java/org/apache/hadoop/yarn/sls/BaseSLSRunnerTest.java +++ b/hadoop-tools/hadoop-sls/src/test/java/org/apache/hadoop/yarn/sls/BaseSLSRunnerTest.java @@ -24,7 +24,9 @@ import org.apache.hadoop.yarn.server.resourcemanager.monitor.invariants.MetricsInvariantChecker; import org.junit.After; import org.junit.Assert; +import org.junit.Assume; import org.junit.Before; +import org.junit.BeforeClass; import org.junit.runner.RunWith; import org.junit.runners.Parameterized; import org.junit.runners.Parameterized.Parameter; @@ -35,6 +37,8 @@ import java.util.List; import java.util.UUID; +import javax.script.ScriptEngineManager; + /** * This is a base class to ease the implementation of SLS-based tests. */ @@ -59,6 +63,12 @@ public abstract class BaseSLSRunnerTest { protected String ongoingInvariantFile; protected String exitInvariantFile; + @BeforeClass + public static void checkForJavaScript() { + Assume.assumeNotNull("JavaScript engine not available (JEP 372)", + new ScriptEngineManager().getEngineByName("JavaScript")); + } + @Before public abstract void setup(); diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/monitor/invariants/TestMetricsInvariantChecker.java b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/monitor/invariants/TestMetricsInvariantChecker.java index 903b1d842d9b9..5c78b231a1f95 100644 --- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/monitor/invariants/TestMetricsInvariantChecker.java +++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-resourcemanager/src/test/java/org/apache/hadoop/yarn/server/resourcemanager/monitor/invariants/TestMetricsInvariantChecker.java @@ -26,11 +26,15 @@ import org.apache.hadoop.yarn.server.resourcemanager.nodelabels.RMNodeLabelsManager; import org.apache.hadoop.yarn.server.resourcemanager.scheduler.QueueMetrics; import org.apache.log4j.Logger; +import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Timeout; import static org.junit.jupiter.api.Assertions.fail; +import static org.junit.jupiter.api.Assumptions.assumeFalse; + +import javax.script.ScriptEngineManager; /** * This class tests the {@code MetricsInvariantChecker} by running it multiple @@ -45,6 +49,12 @@ public class TestMetricsInvariantChecker { private MetricsInvariantChecker ic; private Configuration conf; + @BeforeAll + public static void checkForJavaScript() { + assumeFalse(new ScriptEngineManager().getEngineByName("JavaScript") == null, + "JavaScript engine not available (JEP 372)"); + } + @BeforeEach public void setup() { this.metricsSystem = DefaultMetricsSystem.instance();