< prev index next >

test/jtreg-ext/requires/VMProps.java

Print this page

        

*** 21,33 **** --- 21,35 ---- * questions. */ package requires; import java.io.BufferedInputStream; + import java.io.BufferedReader; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; + import java.io.InputStreamReader; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.nio.file.StandardOpenOption; import java.util.ArrayList;
*** 113,122 **** --- 115,125 ---- // vm.graal.enabled is true if Graal is used as JIT map.put("vm.graal.enabled", this::isGraalEnabled); map.put("vm.compiler1.enabled", this::isCompiler1Enabled); map.put("vm.compiler2.enabled", this::isCompiler2Enabled); map.put("docker.support", this::dockerSupport); + map.put("vm.musl", this::isMusl); map.put("release.implementor", this::implementor); map.put("test.vm.gc.nvdimm", this::isNvdimmTestEnabled); vmGC(map); // vm.gc.X = true/false vmOptFinalFlags(map);
*** 460,469 **** --- 463,492 ---- p.waitFor(10, TimeUnit.SECONDS); return (p.exitValue() == 0); } + /** + * Check if we run with musl libc. + * + * @return true if we run with musl libc. + */ + protected String isMusl() { + try { + ProcessBuilder pb = new ProcessBuilder("ldd", "--version"); + pb.redirectErrorStream(true); + final Process p = pb.start(); + BufferedReader br = new BufferedReader(new InputStreamReader(p.getInputStream())); + String line = br.readLine(); + if (line != null && line.contains("musl")) { + return "true"; + } + } catch (Exception e) { + } + return "false"; + } + private String implementor() { try (InputStream in = new BufferedInputStream(new FileInputStream( System.getProperty("java.home") + "/release"))) { Properties properties = new Properties(); properties.load(in);
< prev index next >