JAL-1314 test for common variants of -nodisplay performing the same for EPS generation
authorJim Procter <jprocter@compbio.dundee.ac.uk>
Thu, 13 Jun 2013 16:36:46 +0000 (17:36 +0100)
committerJim Procter <jprocter@compbio.dundee.ac.uk>
Thu, 13 Jun 2013 16:36:46 +0000 (17:36 +0100)
JAL-1314 test for identical termination behaviour with/without java.awt.headless=true

test/jalview/bin/CommandLineOperations.java

index 19bc165..c6c82c9 100644 (file)
@@ -44,11 +44,21 @@ private static class Worker extends Thread {
   @Test
   public void testHeadlessModeEPS() throws Exception
   {
+    String[] headlessArgs=new String[] { "nodisplay","headless","nogui"};
+    for (String _harg:headlessArgs)
+    {
+      boolean _switch=false,withAwt=false;
+      do {
+        if (_switch)
+        {
+          withAwt=true;
+        }
+        _switch=true;
     String jalview_input = "examples/uniref50.fa";
     String jalview_output = "test_uniref50_out.eps";
-    String cmd = "java -Djava.awt.headless=true -Djava.ext.dirs=./lib -classpath ./classes jalview.bin.Jalview -nodisplay -open "+ jalview_input + " -eps " + jalview_output;
-
-    System.out.println("###############Jalview CMD: " + cmd);
+    String cmd = "java "+(withAwt ? "-Djava.awt.headless=true":"")+" -Djava.ext.dirs=./lib -classpath ./classes jalview.bin.Jalview -"+_harg+" -open "+ jalview_input + " -eps " + jalview_output;
+    String harg = _harg+(withAwt ? "-Djava.awt.headless=true":" NO AWT.HEADLESS");
+    System.out.println("Testing with Headless argument: '"+harg+"'\n###############Jalview CMD: " + cmd);
     Process ls2_proc = Runtime.getRuntime().exec(cmd);
     BufferedReader outputReader = new BufferedReader(new InputStreamReader(ls2_proc.getInputStream()));
         
@@ -66,14 +76,16 @@ private static class Worker extends Thread {
     while ((ln=errorReader.readLine())!=null) {
       System.out.println(ln);
     }
-    assertTrue("Didn't create an output EPS file.", new File("test_uniref50_out.eps").exists());
-    assertTrue("Didn't create an EPS file with any content", new File("test_uniref50_out.eps").length()>4096);
+    assertTrue("Didn't create an output EPS file.["+harg+"]", new File("test_uniref50_out.eps").exists());
+    assertTrue("Didn't create an EPS file with any content["+harg+"]", new File("test_uniref50_out.eps").length()>4096);
     if (worker.exit == null){
       worker.interrupt();
       Thread.currentThread().interrupt();
       ls2_proc.destroy();
-      fail("Jalview did not exit after EPS generation (try running test again to verify - timeout at 9000ms).");
-}
+      fail("Jalview did not exit after EPS generation (try running test again to verify - timeout at 9000ms). ["+harg+"]");
+    }
+    } while (!withAwt);
+    } 
   }
 
 }