From 77b01f94d9a0facefa891e3d966cb92f156b9935 Mon Sep 17 00:00:00 2001 From: pesse Date: Thu, 27 Jun 2019 23:20:12 +0200 Subject: [PATCH 1/4] Add new option `--tags` --- src/main/java/org/utplsql/cli/RunPicocliCommand.java | 8 +++++++- .../java/org/utplsql/cli/config/RunCommandConfig.java | 10 ++++++++-- .../java/org/utplsql/cli/PicocliRunCommandTest.java | 2 ++ .../java/org/utplsql/cli/RunCommandArgumentsTest.java | 1 + 4 files changed, 18 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/utplsql/cli/RunPicocliCommand.java b/src/main/java/org/utplsql/cli/RunPicocliCommand.java index 8079e73..da0d871 100644 --- a/src/main/java/org/utplsql/cli/RunPicocliCommand.java +++ b/src/main/java/org/utplsql/cli/RunPicocliCommand.java @@ -23,6 +23,11 @@ public class RunPicocliCommand implements IRunCommand { "-p=[schema|schema:[suite ...][.test]|schema[.suite ...][.test]") private List paths = new ArrayList<>(); + @Option(names = {"--tags"}, + description = "comma-separated list of tags to run", + split = ",") + private List tags = new ArrayList<>(); + @Option( names = {"-c", "--color"}, @@ -232,7 +237,8 @@ public RunCommandConfig getRunCommandConfig() { timeoutInMinutes, enableDbmsOutput, randomTestOrder, - randomTestOrderSeed); + randomTestOrderSeed, + tags.toArray(new String[0])); } private RunAction getRunAction() { diff --git a/src/main/java/org/utplsql/cli/config/RunCommandConfig.java b/src/main/java/org/utplsql/cli/config/RunCommandConfig.java index cbe2ab0..4418a45 100644 --- a/src/main/java/org/utplsql/cli/config/RunCommandConfig.java +++ b/src/main/java/org/utplsql/cli/config/RunCommandConfig.java @@ -21,9 +21,10 @@ public class RunCommandConfig extends ConnectionConfig { private boolean dbmsOutput = false; private boolean randomTestOrder = false; private final Integer randomTestOrderSeed; + private final String[] tags; - @ConstructorProperties({"connectString", "suitePaths", "reporters", "outputAnsiColor", "failureExitCode", "skipCompatibilityCheck", "includePackages", "excludePackages", "sourceMapping", "testMapping", "logConfigLevel", "timeoutInMinutes", "dbmsOutput", "randomTestOrder", "randomTestOrderSeed"}) - public RunCommandConfig(String connectString, String[] suitePaths, ReporterConfig[] reporters, boolean outputAnsiColor, Integer failureExitCode, boolean skipCompatibilityCheck, String[] includePackages, String[] excludePackages, FileMapperConfig sourceMapping, FileMapperConfig testMapping, ConfigLevel logConfigLevel, Integer timeoutInMinutes, boolean dbmsOutput, boolean randomTestOrder, Integer randomTestOrderSeed) { + @ConstructorProperties({"connectString", "suitePaths", "reporters", "outputAnsiColor", "failureExitCode", "skipCompatibilityCheck", "includePackages", "excludePackages", "sourceMapping", "testMapping", "logConfigLevel", "timeoutInMinutes", "dbmsOutput", "randomTestOrder", "randomTestOrderSeed", "tags"}) + public RunCommandConfig(String connectString, String[] suitePaths, ReporterConfig[] reporters, boolean outputAnsiColor, Integer failureExitCode, boolean skipCompatibilityCheck, String[] includePackages, String[] excludePackages, FileMapperConfig sourceMapping, FileMapperConfig testMapping, ConfigLevel logConfigLevel, Integer timeoutInMinutes, boolean dbmsOutput, boolean randomTestOrder, Integer randomTestOrderSeed, String[] tags) { super(connectString); this.suitePaths = suitePaths; this.reporters = reporters; @@ -39,12 +40,17 @@ public RunCommandConfig(String connectString, String[] suitePaths, ReporterConfi this.dbmsOutput = dbmsOutput; this.randomTestOrder = randomTestOrder; this.randomTestOrderSeed = randomTestOrderSeed; + this.tags = tags; } public String[] getSuitePaths() { return suitePaths; } + public String[] getTags() { + return tags; + } + public ReporterConfig[] getReporters() { return reporters; } diff --git a/src/test/java/org/utplsql/cli/PicocliRunCommandTest.java b/src/test/java/org/utplsql/cli/PicocliRunCommandTest.java index 3c79a4d..c29d3fd 100644 --- a/src/test/java/org/utplsql/cli/PicocliRunCommandTest.java +++ b/src/test/java/org/utplsql/cli/PicocliRunCommandTest.java @@ -20,6 +20,7 @@ void runCommandAllArguments() throws Exception { RunCommandConfig config = parseForConfig("run", TestHelper.getConnectionString(), "-p=app.betwnstr,app.basic", + "--tags=tag1,tag.2", "-d", "-c", "-q", @@ -51,6 +52,7 @@ void runCommandAllArguments() throws Exception { assertNotNull(config.getConnectString()); assertThat( config.getSuitePaths(), is(new String[]{"app.betwnstr", "app.basic"})); + assertThat( config.getTags(), is(new String[]{"tag1", "tag.2"})); assertTrue( config.isOutputAnsiColor() ); assertEquals( LoggerConfiguration.ConfigLevel.NONE, config.getLogConfigLevel()); assertEquals( 10, config.getFailureExitCode()); diff --git a/src/test/java/org/utplsql/cli/RunCommandArgumentsTest.java b/src/test/java/org/utplsql/cli/RunCommandArgumentsTest.java index ccabd3d..953c455 100644 --- a/src/test/java/org/utplsql/cli/RunCommandArgumentsTest.java +++ b/src/test/java/org/utplsql/cli/RunCommandArgumentsTest.java @@ -17,6 +17,7 @@ public void allArgumentsAreRecognized() { "-f=ut_sonar_test_reporter", "-o=sonar_result.xml", "-s", + "--tags=tag1,tag2", "-d", "-c", "--failure-exit-code=10", From 73fbaa619481d1a544499fc6b61bcadc28a10cc9 Mon Sep 17 00:00:00 2001 From: pesse Date: Thu, 27 Jun 2019 23:34:46 +0200 Subject: [PATCH 2/4] Make sure tags are passed to TestRunner --- src/main/java/org/utplsql/cli/RunAction.java | 3 ++- .../java/org/utplsql/cli/RunCommandArgumentsTest.java | 10 ++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/main/java/org/utplsql/cli/RunAction.java b/src/main/java/org/utplsql/cli/RunAction.java index de960ed..de3707a 100644 --- a/src/main/java/org/utplsql/cli/RunAction.java +++ b/src/main/java/org/utplsql/cli/RunAction.java @@ -168,7 +168,8 @@ TestRunner newTestRunner(List reporterList) { .includeObjects(Arrays.asList(config.getIncludePackages())) .excludeObjects(Arrays.asList(config.getExcludePackages())) .randomTestOrder(config.isRandomTestOrder()) - .randomTestOrderSeed(config.getRandomTestOrderSeed()); + .randomTestOrderSeed(config.getRandomTestOrderSeed()) + .addTags(Arrays.asList(config.getTags())); } private void outputMainInformation() { diff --git a/src/test/java/org/utplsql/cli/RunCommandArgumentsTest.java b/src/test/java/org/utplsql/cli/RunCommandArgumentsTest.java index 953c455..a2f0a9a 100644 --- a/src/test/java/org/utplsql/cli/RunCommandArgumentsTest.java +++ b/src/test/java/org/utplsql/cli/RunCommandArgumentsTest.java @@ -54,4 +54,14 @@ void multiplePaths() { assertThat( testRunner.getOptions().pathList, contains("app.test_betwnstr", "app.test_award_bonus") ); } + + @Test + void provideTags() { + IRunCommand runCmd = TestHelper.createRunCommand(TestHelper.getConnectionString(), + "--tags=tag1,tag.2" + ); + + TestRunner testRunner = runCmd.newTestRunner(new ArrayList<>()); + assertThat( testRunner.getOptions().tags, contains("tag1", "tag.2") ); + } } From 1b97f15b1355289a70f0510e5e0abc02b784f109 Mon Sep 17 00:00:00 2001 From: pesse Date: Thu, 27 Jun 2019 23:42:50 +0200 Subject: [PATCH 3/4] Update documentation --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 0d5b314..6eee199 100644 --- a/README.md +++ b/README.md @@ -102,6 +102,9 @@ utplsql run "my/Username"/"myP@ssword"@connectstring Both formats can be mixed in the list. If only schema is provided, then all suites owner by that schema are executed. If -p is omitted, the current schema is used. + +--tags=tags - A comma separated list of tags to run. + Format: --tags=tag1[,tag2[,tag3]] -f=format - A reporter to be used for reporting. (--format) If no -f option is provided, the default ut_documentation_reporter is used. From 8fd769aff57ec087a864912f1c43b2da6582b845 Mon Sep 17 00:00:00 2001 From: pesse Date: Mon, 8 Jul 2019 17:16:10 +0200 Subject: [PATCH 4/4] Add 3.1.7 to test matrix --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index b5895c1..5f4f093 100644 --- a/.travis.yml +++ b/.travis.yml @@ -31,6 +31,7 @@ env: - UTPLSQL_VERSION="v3.1.2" - UTPLSQL_VERSION="v3.1.3" - UTPLSQL_VERSION="v3.1.6" + - UTPLSQL_VERSION="v3.1.7" - UTPLSQL_VERSION="develop" UTPLSQL_FILE="utPLSQL"