X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=test%2Fjalview%2Fbin%2FCommandLineOperations.java;h=3ac86567ec24e6329b0ac3bc10bc11c34239b82c;hb=adacddef3ae3a80a57e48e6332aff954cf9f3306;hp=9b94be9246aaac25655c17f9ab517783f558c3ea;hpb=d5e758fa924437e30dc65b80a46cafcf4691da2f;p=jalview.git diff --git a/test/jalview/bin/CommandLineOperations.java b/test/jalview/bin/CommandLineOperations.java index 9b94be9..3ac8656 100644 --- a/test/jalview/bin/CommandLineOperations.java +++ b/test/jalview/bin/CommandLineOperations.java @@ -35,6 +35,9 @@ import org.testng.annotations.BeforeTest; import org.testng.annotations.DataProvider; import org.testng.annotations.Test; +import io.github.classgraph.ClassGraph; +import io.github.classgraph.ScanResult; + public class CommandLineOperations { @@ -45,7 +48,7 @@ public class CommandLineOperations JvOptionPane.setMockResponse(JvOptionPane.CANCEL_OPTION); } - private static final int TEST_TIMEOUT = 4500; // Note longer timeout needed on + private static final int TEST_TIMEOUT = 9000; // Note longer timeout needed on // full test run than on // individual tests @@ -113,19 +116,39 @@ public class CommandLineOperations } } - private Worker jalviewDesktopRunner(boolean withAwt, String cmd, - int timeout) + private static ClassGraph scanner = null; + + private static String classpath = null; + + public synchronized static String getClassPath() { - String cp_sep = ":"; - if (System.getProperty("os.name").indexOf("Windows") >= 0) + if (scanner == null) + { + scanner = new ClassGraph(); + ScanResult scan = scanner.scan(); + classpath = scan.getClasspath(); + } + while (classpath == null) { - cp_sep = ";"; + try + { + Thread.sleep(10); + } catch (InterruptedException x) + { + + } } + return classpath; + } + private Worker jalviewDesktopRunner(boolean withAwt, String cmd, + int timeout) + { + // Note: JAL-3065 - don't include quotes for lib/* because the arguments are + // not expanded by the shell + String classpath = getClassPath(); String _cmd = "java " + (withAwt ? "-Djava.awt.headless=true" : "") - + " -classpath \"./lib/*" + cp_sep - + "./classes\" jalview.bin.Jalview "; - System.out.println("CMD [" + cmd + "]"); + + " -classpath " + classpath + " jalview.bin.Jalview "; Process ls2_proc = null; Worker worker = null; try