X-Git-Url: http://source.jalview.org/gitweb/?p=jalview.git;a=blobdiff_plain;f=test%2Fjalview%2Fbin%2FCommandLineOperations.java;fp=test%2Fjalview%2Fbin%2FCommandLineOperations.java;h=3ac86567ec24e6329b0ac3bc10bc11c34239b82c;hp=69a3ef7d6b31309ea64f6040162e5d71a894c9cb;hb=fab0afc9e1e7a5ca460f0cbd48545536f989a435;hpb=b7e521af667bdc18f9071075d1face56367eab69 diff --git a/test/jalview/bin/CommandLineOperations.java b/test/jalview/bin/CommandLineOperations.java index 69a3ef7..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 @@ -55,7 +58,7 @@ public class CommandLineOperations private static final int MINFILESIZE_BIG = 4096; - private ArrayList successfulCMDs = new ArrayList(); + private ArrayList successfulCMDs = new ArrayList<>(); /*** * from @@ -113,13 +116,39 @@ public class CommandLineOperations } } + private static ClassGraph scanner = null; + + private static String classpath = null; + + public synchronized static String getClassPath() + { + if (scanner == null) + { + scanner = new ClassGraph(); + ScanResult scan = scanner.scan(); + classpath = scan.getClasspath(); + } + while (classpath == null) + { + 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" : "") - + " -Djava.ext.dirs=./lib -classpath ./classes jalview.bin.Jalview "; - System.out.println("CMD [" + cmd + "]"); + + " -classpath " + classpath + " jalview.bin.Jalview "; Process ls2_proc = null; Worker worker = null; try