JAL-1889 more diagnostics for CommandLineOperations
authorgmungoc <g.m.carstairs@dundee.ac.uk>
Thu, 21 Mar 2019 13:26:14 +0000 (13:26 +0000)
committergmungoc <g.m.carstairs@dundee.ac.uk>
Thu, 21 Mar 2019 13:26:14 +0000 (13:26 +0000)
test/jalview/bin/CommandLineOperations.java

index 0424acc..cbc2391 100644 (file)
@@ -20,6 +20,9 @@
  */
 package jalview.bin;
 
+import static org.testng.Assert.assertNotNull;
+import static org.testng.Assert.assertTrue;
+
 import jalview.gui.JvOptionPane;
 
 import java.io.BufferedReader;
@@ -140,7 +143,8 @@ public class CommandLineOperations
     }
     return classpath;
   }
-  private Worker jalviewDesktopRunner(boolean withAwt, String cmd,
+
+  private Worker getJalviewDesktopRunner(boolean withAwt, String cmd,
           int timeout)
   {
     // Note: JAL-3065 - don't include quotes for lib/* because the arguments are
@@ -154,7 +158,7 @@ public class CommandLineOperations
     try
     {
       ls2_proc = Runtime.getRuntime().exec(_cmd + cmd);
-    } catch (IOException e1)
+    } catch (Throwable e1)
     {
       e1.printStackTrace();
     }
@@ -171,7 +175,8 @@ public class CommandLineOperations
         worker.join(timeout);
       } catch (InterruptedException e)
       {
-        // e.printStackTrace();
+        System.err.println("Thread interrupted");
+        e.printStackTrace();
       }
       worker.setOutputReader(outputReader);
       worker.setErrorReader(errorReader);
@@ -192,7 +197,7 @@ public class CommandLineOperations
     String cmds = "nodisplay -open examples/uniref50.fa -sortbytree -props FILE -colour zappo "
             + "-jabaws http://www.compbio.dundee.ac.uk/jabaws -nosortbytree -dasserver nickname=www.test.com "
             + "-features examples/testdata/plantfdx.features -annotations examples/testdata/plantfdx.annotations -tree examples/testdata/uniref50_test_tree";
-    Worker worker = jalviewDesktopRunner(true, cmds, SETUP_TIMEOUT);
+    Worker worker = getJalviewDesktopRunner(true, cmds, SETUP_TIMEOUT);
     String ln = null;
     while ((ln = worker.getOutputReader().readLine()) != null)
     {
@@ -205,7 +210,7 @@ public class CommandLineOperations
   public void setUpForCommandLineInputOperations() throws IOException
   {
     String cmds = "-open examples/uniref50.fa -noquestionnaire -nousagestats";
-    Worker worker = jalviewDesktopRunner(false, cmds, SETUP_TIMEOUT);
+    Worker worker = getJalviewDesktopRunner(false, cmds, SETUP_TIMEOUT);
     String ln = null;
     int count = 0;
     while ((ln = worker.getErrorReader().readLine()) != null)
@@ -225,7 +230,7 @@ public class CommandLineOperations
     }
   }
 
-  @Test(groups = { "Functional" }, dataProvider = "allInputOpearationsData")
+  @Test(groups = { "Functional" }, dataProvider = "allInputOperationsData")
   public void testAllInputOperations(String expectedString,
           String failureMsg)
   {
@@ -242,10 +247,11 @@ public class CommandLineOperations
     String cmd = harg + type + " " + fileName;
     // System.out.println(">>>>>>>>>>>>>>>> Command : " + cmd);
     File file = new File(fileName);
-    Worker worker = jalviewDesktopRunner(withAWT, cmd, timeout);
-
-    FileAssert.assertFile(file, "Didn't create an output" + type
-            + " file.[" + harg + "]");
+    Worker worker = getJalviewDesktopRunner(withAWT, cmd, timeout);
+    assertNotNull(worker);
+    String msg = "Didn't create an output" + type + " file.[" + harg + "]";
+    assertTrue(file.exists());
+    FileAssert.assertFile(file, msg);
     FileAssert.assertMinLength(new File(fileName), expectedMinFileSize);
     if (worker != null && worker.exit == null)
     {
@@ -261,7 +267,7 @@ public class CommandLineOperations
     new File(fileName).delete();
   }
 
-  @DataProvider(name = "allInputOpearationsData")
+  @DataProvider(name = "allInputOperationsData")
   public Object[][] getHeadlessModeInputParams()
   {
     return new Object[][] {