+ @Test(groups = { "Functional" }, dataProvider = "allInputOpearationsData")
+ public void testAllInputOperations(String expectedString,
+ String failureMsg)
+ {
+ Assert.assertTrue(successfulCMDs.contains(expectedString), failureMsg);
+ }
+
+ @Test(
+ groups = { "Functional" },
+ dataProvider = "headlessModeOutputOperationsData")
+ public void testHeadlessModeOutputOperations(String harg, String type,
+ String fileName, boolean withAWT, int expectedMinFileSize,
+ int timeout)
+ {
+ 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 + "]");
+ FileAssert.assertMinLength(new File(fileName), expectedMinFileSize);
+ if (worker != null && worker.exit == null)
+ {
+ worker.interrupt();
+ Thread.currentThread().interrupt();
+ worker.process.destroy();
+ Assert.fail("Jalview did not exit after "
+ + type
+ + " generation (try running test again to verify - timeout at "
+ + SETUP_TIMEOUT + "ms). ["
+ + harg + "]");
+ }
+ new File(fileName).delete();
+ }
+
+ @DataProvider(name = "allInputOpearationsData")
+ public Object[][] getHeadlessModeInputParams()
+ {
+ return new Object[][] {
+ // headless mode input operations
+ { "CMD [-color zappo] executed successfully!",
+ "Failed command : -color zappo" },
+ { "CMD [-props FILE] executed successfully!",
+ "Failed command : -props File" },
+ { "CMD [-sortbytree] executed successfully!",
+ "Failed command : -sortbytree" },
+ {
+ "CMD [-jabaws http://www.compbio.dundee.ac.uk/jabaws] executed successfully!",
+ "Failed command : -jabaws http://www.compbio.dundee.ac.uk/jabaws" },
+ { "CMD [-open examples/uniref50.fa] executed successfully!",
+ "Failed command : -open examples/uniref50.fa" },
+ { "CMD [-nosortbytree] executed successfully!",
+ "Failed command : -nosortbytree" },
+ {
+ "CMD [-features examples/testdata/plantfdx.features] executed successfully!",
+ "Failed command : -features examples/testdata/plantfdx.features" },
+ {
+ "CMD [-annotations examples/testdata/plantfdx.annotations] executed successfully!",
+ "Failed command : -annotations examples/testdata/plantfdx.annotations" },
+ {
+ "CMD [-tree examples/testdata/uniref50_test_tree] executed successfully!",
+ "Failed command : -tree examples/testdata/uniref50_test_tree" },
+ // non headless mode input operations
+ { "CMD [-nousagestats] executed successfully!",
+ "Failed command : -nousagestats" },
+ { "CMD [-noquestionnaire] executed successfully!",
+ "Failed command : -noquestionnaire" } };
+
+ }
+
+ @DataProvider(name = "headlessModeOutputOperationsData")
+ public static Object[][] getHeadlessModeOutputParams()
+ {
+ return new Object[][] {
+ { "nodisplay -open examples/uniref50.fa", " -eps",
+ "test_uniref50_out.eps", true, MINFILESIZE_BIG, TEST_TIMEOUT },
+ { "nodisplay -open examples/uniref50.fa", " -eps",
+ "test_uniref50_out.eps", false, MINFILESIZE_BIG, TEST_TIMEOUT },
+ { "nogui -open examples/uniref50.fa", " -eps",
+ "test_uniref50_out.eps", true, MINFILESIZE_BIG, TEST_TIMEOUT },
+ { "nogui -open examples/uniref50.fa", " -eps",
+ "test_uniref50_out.eps", false, MINFILESIZE_BIG, TEST_TIMEOUT },
+ { "headless -open examples/uniref50.fa", " -eps",
+ "test_uniref50_out.eps", true, MINFILESIZE_BIG, TEST_TIMEOUT },
+ { "headless -open examples/uniref50.fa", " -svg",
+ "test_uniref50_out.svg", false, MINFILESIZE_BIG, TEST_TIMEOUT },
+ { "headless -open examples/uniref50.fa", " -png",
+ "test_uniref50_out.png", true, MINFILESIZE_BIG, TEST_TIMEOUT },
+ { "headless -open examples/uniref50.fa", " -html",
+ "test_uniref50_out.html", true, MINFILESIZE_BIG, TEST_TIMEOUT },
+ { "headless -open examples/uniref50.fa", " -fasta",
+ "test_uniref50_out.mfa", true, MINFILESIZE_SMALL, TEST_TIMEOUT },
+ { "headless -open examples/uniref50.fa", " -clustal",
+ "test_uniref50_out.aln", true, MINFILESIZE_SMALL, TEST_TIMEOUT },
+ { "headless -open examples/uniref50.fa", " -msf",
+ "test_uniref50_out.msf", true, MINFILESIZE_SMALL, TEST_TIMEOUT },
+ { "headless -open examples/uniref50.fa", " -pileup",
+ "test_uniref50_out.aln", true, MINFILESIZE_SMALL, TEST_TIMEOUT },
+ { "headless -open examples/uniref50.fa", " -pir",
+ "test_uniref50_out.pir", true, MINFILESIZE_SMALL, TEST_TIMEOUT },
+ { "headless -open examples/uniref50.fa", " -pfam",
+ "test_uniref50_out.pfam", true, MINFILESIZE_SMALL, TEST_TIMEOUT },
+ { "headless -open examples/uniref50.fa", " -blc",
+ "test_uniref50_out.blc", true, MINFILESIZE_SMALL, TEST_TIMEOUT },
+ { "headless -open examples/uniref50.fa", " -jalview",
+ "test_uniref50_out.jvp", true, MINFILESIZE_SMALL, TEST_TIMEOUT }, };
+ }