From c0027f55d8b45c9d8777335fb04c2443f242885a Mon Sep 17 00:00:00 2001 From: Antti Haapaniemi Date: Fri, 6 Oct 2017 12:07:12 +0300 Subject: [PATCH 1/2] runTests works without scripts on linux --- tmc-langs-r/getAvailablePoints.sh | 4 --- tmc-langs-r/runTests.sh | 3 -- .../fi/helsinki/cs/tmc/langs/r/RPlugin.java | 21 +++----------- .../helsinki/cs/tmc/langs/r/RPluginTest.java | 29 +++++++------------ 4 files changed, 15 insertions(+), 42 deletions(-) delete mode 100644 tmc-langs-r/getAvailablePoints.sh delete mode 100755 tmc-langs-r/runTests.sh diff --git a/tmc-langs-r/getAvailablePoints.sh b/tmc-langs-r/getAvailablePoints.sh deleted file mode 100644 index d3b12b5f7..000000000 --- a/tmc-langs-r/getAvailablePoints.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/sh -#Currently this script needs to be run at project root! - -Rscript -e "library(tmcRtestrunner);get_available_points(\"$PWD\")" diff --git a/tmc-langs-r/runTests.sh b/tmc-langs-r/runTests.sh deleted file mode 100755 index 039eb79fd..000000000 --- a/tmc-langs-r/runTests.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -#Currently this script needs to be run at project root! -/usr/bin/Rscript -e "library(tmcRtestrunner);run_tests()" diff --git a/tmc-langs-r/src/main/java/fi/helsinki/cs/tmc/langs/r/RPlugin.java b/tmc-langs-r/src/main/java/fi/helsinki/cs/tmc/langs/r/RPlugin.java index f34d5ac88..866f99220 100644 --- a/tmc-langs-r/src/main/java/fi/helsinki/cs/tmc/langs/r/RPlugin.java +++ b/tmc-langs-r/src/main/java/fi/helsinki/cs/tmc/langs/r/RPlugin.java @@ -144,32 +144,19 @@ public ValidationResult checkCodeStyle(Path path, Locale messageLocale) { } public String[] getTestCommand() { - - String[] rscr; - String[] command; if (SystemUtils.IS_OS_WINDOWS) { - rscr = new String[] {"Rscript", "-e"}; - command = new String[] {"\"library('tmcRtestrunner');run_tests_with_default(TRUE)\""}; + return new String[] {"Rscript", "-e", "\"library('tmcRtestrunner');run_tests()\""}; } else { - rscr = new String[] {"bash"}; - command = new String[] {Paths.get("").toAbsolutePath().toString() + "/runTests.sh"}; + return new String[] {"Rscript", "-e", "library(tmcRtestrunner);run_tests()"}; } - return ArrayUtils.addAll(rscr, command); } public String[] getAvailablePointsCommand() { - String[] rscr; - String[] command; if (SystemUtils.IS_OS_WINDOWS) { - rscr = new String[] {"Rscript", "-e"}; - command = new String[] {"\"library(tmcRtestrunner);" - + "run_available_points(\"$PWD\")\""}; + return new String[] {"Rscript", "-e", "\"library('tmcRtestrunner');run_available_points()\""}; } else { - rscr = new String[] {"bash"}; - command = new String[] {Paths.get("").toAbsolutePath().toString() - + "/getAvailablePoints.sh"}; + return new String[] {"Rscript", "-e", "library('tmcRtestrunner');run_available_points()"}; } - return ArrayUtils.addAll(rscr, command); } @Override diff --git a/tmc-langs-r/src/test/java/fi/helsinki/cs/tmc/langs/r/RPluginTest.java b/tmc-langs-r/src/test/java/fi/helsinki/cs/tmc/langs/r/RPluginTest.java index 71d91d84f..fe3f54fbc 100644 --- a/tmc-langs-r/src/test/java/fi/helsinki/cs/tmc/langs/r/RPluginTest.java +++ b/tmc-langs-r/src/test/java/fi/helsinki/cs/tmc/langs/r/RPluginTest.java @@ -38,32 +38,25 @@ public void tearDown() { @Test public void testGetTestCommand() { + + String[] expectedCommand; if (SystemUtils.IS_OS_WINDOWS) { - String[] expectedCommand = new String[]{"Rscript", "-e", - "\"library('tmcRtestrunner');run_tests_with_default(TRUE)\""}; - - Assert.assertArrayEquals(expectedCommand,plugin.getTestCommand()); - } else if (SystemUtils.IS_OS_LINUX) { - String[] expectedCommand = new String[]{"bash", - Paths.get("").toAbsolutePath().toString() + "/runTests.sh"}; - - Assert.assertArrayEquals(expectedCommand,plugin.getTestCommand()); + expectedCommand = new String[] {"Rscript", "-e", "\"library('tmcRtestrunner');run_tests()\""}; + } else { + expectedCommand = new String[] {"Rscript", "-e", "library(tmcRtestrunner);run_tests()"}; } + Assert.assertArrayEquals(expectedCommand,plugin.getTestCommand()); } @Test public void testGetAvailablePointsCommand() { + String[] expectedCommand; if (SystemUtils.IS_OS_WINDOWS) { - String[] expectedCommand = new String[]{"Rscript", "-e","\"library('tmcRtestrunner');" - + "get_available_points(\"$PWD\")\""}; - - Assert.assertArrayEquals(expectedCommand,plugin.getAvailablePointsCommand()); - } else if (SystemUtils.IS_OS_LINUX) { - String[] expectedCommand = new String[]{"bash", - Paths.get("").toAbsolutePath().toString() + "/getAvailablePoints.sh"}; - - Assert.assertArrayEquals(expectedCommand,plugin.getAvailablePointsCommand()); + expectedCommand = new String[] {"Rscript", "-e", "\"library('tmcRtestrunner');run_available_points()\""}; + } else { + expectedCommand = new String[] {"Rscript", "-e", "library('tmcRtestrunner');run_available_points()"}; } + Assert.assertArrayEquals(expectedCommand, plugin.getAvailablePointsCommand()); } @Test From d4ed66ab2aa896cbb873a91a6ff6084ac301d31c Mon Sep 17 00:00:00 2001 From: Antti Haapaniemi Date: Fri, 6 Oct 2017 13:22:07 +0300 Subject: [PATCH 2/2] Fixed styling. --- .../fi/helsinki/cs/tmc/langs/r/RPlugin.java | 14 ++++++++++---- .../fi/helsinki/cs/tmc/langs/r/RPluginTest.java | 17 +++++++++++------ 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/tmc-langs-r/src/main/java/fi/helsinki/cs/tmc/langs/r/RPlugin.java b/tmc-langs-r/src/main/java/fi/helsinki/cs/tmc/langs/r/RPlugin.java index 866f99220..22a01bdc5 100644 --- a/tmc-langs-r/src/main/java/fi/helsinki/cs/tmc/langs/r/RPlugin.java +++ b/tmc-langs-r/src/main/java/fi/helsinki/cs/tmc/langs/r/RPlugin.java @@ -144,19 +144,25 @@ public ValidationResult checkCodeStyle(Path path, Locale messageLocale) { } public String[] getTestCommand() { + String[] command = new String[] {"Rscript"}; + String[] args; if (SystemUtils.IS_OS_WINDOWS) { - return new String[] {"Rscript", "-e", "\"library('tmcRtestrunner');run_tests()\""}; + args = new String[] {"-e", "\"library('tmcRtestrunner');run_tests()\""}; } else { - return new String[] {"Rscript", "-e", "library(tmcRtestrunner);run_tests()"}; + args = new String[] {"-e", "library(tmcRtestrunner);run_tests()"}; } + return ArrayUtils.addAll(command, args); } public String[] getAvailablePointsCommand() { + String[] command = new String[] {"Rscript"}; + String[] args; if (SystemUtils.IS_OS_WINDOWS) { - return new String[] {"Rscript", "-e", "\"library('tmcRtestrunner');run_available_points()\""}; + args = new String[] {"-e", "\"library('tmcRtestrunner');run_available_points()\""}; } else { - return new String[] {"Rscript", "-e", "library('tmcRtestrunner');run_available_points()"}; + args = new String[] {"-e", "library(tmcRtestrunner);run_available_points()"}; } + return ArrayUtils.addAll(command, args); } @Override diff --git a/tmc-langs-r/src/test/java/fi/helsinki/cs/tmc/langs/r/RPluginTest.java b/tmc-langs-r/src/test/java/fi/helsinki/cs/tmc/langs/r/RPluginTest.java index fe3f54fbc..52bad761b 100644 --- a/tmc-langs-r/src/test/java/fi/helsinki/cs/tmc/langs/r/RPluginTest.java +++ b/tmc-langs-r/src/test/java/fi/helsinki/cs/tmc/langs/r/RPluginTest.java @@ -7,6 +7,7 @@ import fi.helsinki.cs.tmc.langs.io.StudentFilePolicy; import fi.helsinki.cs.tmc.langs.utils.TestUtils; +import org.apache.commons.lang3.ArrayUtils; import org.apache.commons.lang3.SystemUtils; import org.junit.After; import org.junit.Assert; @@ -38,24 +39,28 @@ public void tearDown() { @Test public void testGetTestCommand() { + String[] command = new String[] {"Rscript"}; + String[] args; - String[] expectedCommand; if (SystemUtils.IS_OS_WINDOWS) { - expectedCommand = new String[] {"Rscript", "-e", "\"library('tmcRtestrunner');run_tests()\""}; + args = new String[] {"-e", "\"library('tmcRtestrunner');run_tests()\""}; } else { - expectedCommand = new String[] {"Rscript", "-e", "library(tmcRtestrunner);run_tests()"}; + args = new String[] {"-e", "library(tmcRtestrunner);run_tests()"}; } + String[] expectedCommand = ArrayUtils.addAll(command, args); Assert.assertArrayEquals(expectedCommand,plugin.getTestCommand()); } @Test public void testGetAvailablePointsCommand() { - String[] expectedCommand; + String[] command = new String[] {"Rscript"}; + String[] args; if (SystemUtils.IS_OS_WINDOWS) { - expectedCommand = new String[] {"Rscript", "-e", "\"library('tmcRtestrunner');run_available_points()\""}; + args = new String[] {"-e", "\"library('tmcRtestrunner');run_available_points()\""}; } else { - expectedCommand = new String[] {"Rscript", "-e", "library('tmcRtestrunner');run_available_points()"}; + args = new String[] {"-e", "library(tmcRtestrunner);run_available_points()"}; } + String[] expectedCommand = ArrayUtils.addAll(command, args); Assert.assertArrayEquals(expectedCommand, plugin.getAvailablePointsCommand()); }