Skip to content

Commit 0013bda

Browse files
committed
Add support for tags
They are always passed as comma-separated string
1 parent 3d1b747 commit 0013bda

File tree

5 files changed

+39
-3
lines changed

5 files changed

+39
-3
lines changed

src/main/java/org/utplsql/api/TestRunner.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import java.sql.Connection;
1717
import java.sql.SQLException;
1818
import java.util.ArrayList;
19+
import java.util.Collection;
1920
import java.util.List;
2021
import java.util.concurrent.*;
2122

@@ -129,6 +130,16 @@ public TestRunner randomTestOrderSeed( Integer seed ) {
129130
return this;
130131
}
131132

133+
public TestRunner addTag( String tag ) {
134+
this.options.tags.add(tag);
135+
return this;
136+
}
137+
138+
public TestRunner addTags(Collection<String> tags) {
139+
this.options.tags.addAll(tags);
140+
return this;
141+
}
142+
132143
public TestRunnerOptions getOptions() { return options; }
133144

134145
private void delayedAddReporters() {

src/main/java/org/utplsql/api/TestRunnerOptions.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
package org.utplsql.api;
22

3+
import com.sun.deploy.util.OrderedHashSet;
34
import org.utplsql.api.reporter.Reporter;
45

56
import java.nio.charset.Charset;
6-
import java.util.ArrayList;
7-
import java.util.List;
7+
import java.util.*;
88

99
/**
1010
* Holds the various possible options of TestRunner
@@ -27,4 +27,9 @@ public class TestRunnerOptions {
2727
public String clientCharacterSet = Charset.defaultCharset().toString();
2828
public boolean randomTestOrder = false;
2929
public Integer randomTestOrderSeed;
30+
public final Set<String> tags = new LinkedHashSet<>();
31+
32+
public String getTagsAsString() {
33+
return String.join(",", tags);
34+
}
3035
}

src/main/java/org/utplsql/api/testRunner/ActualTestRunnerStatement.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,8 @@ protected String getSql() {
3939
"a_fail_on_errors => " + failOnErrors + ", " +
4040
"a_client_character_set => ?, " +
4141
"a_random_test_order => " + randomExecutionOrder + ", " +
42-
"a_random_test_order_seed => ?"+
42+
"a_random_test_order_seed => ?, "+
43+
"a_tags => ?"+
4344
"); " +
4445
"END;";
4546
}
@@ -55,6 +56,12 @@ protected int createStatement() throws SQLException {
5556
callableStatement.setInt(++curParamIdx, options.randomTestOrderSeed);
5657
}
5758

59+
if ( options.tags.size() == 0 ) {
60+
callableStatement.setNull(++curParamIdx, Types.VARCHAR);
61+
} else {
62+
callableStatement.setString(++curParamIdx, options.getTagsAsString());
63+
}
64+
5865
return curParamIdx;
5966
}
6067
}

src/test/java/org/utplsql/api/TestRunnerIT.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,4 +88,11 @@ void runWithRandomExecutionOrder() throws SQLException {
8888
.run(getConnection());
8989
}
9090

91+
@Test
92+
void runWithTags() throws SQLException {
93+
new TestRunner()
94+
.addTag("none")
95+
.run(getConnection());
96+
}
97+
9198
}

src/test/java/org/utplsql/api/testRunner/TestRunnerStatementProviderIT.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ void testGettingPre303Version() throws SQLException {
2727
assertThat(stmt.getSql(), not(containsString("a_client_character_set")));
2828
assertThat(stmt.getSql(), not(containsString("a_random_test_order")));
2929
assertThat(stmt.getSql(), not(containsString("a_random_test_order_seed")));
30+
assertThat(stmt.getSql(), not(containsString("a_tags")));
3031
}
3132

3233

@@ -38,6 +39,7 @@ void testGettingPre312Version_from_303() throws SQLException {
3839
assertThat(stmt.getSql(), not(containsString("a_client_character_set")));
3940
assertThat(stmt.getSql(), not(containsString("a_random_test_order")));
4041
assertThat(stmt.getSql(), not(containsString("a_random_test_order_seed")));
42+
assertThat(stmt.getSql(), not(containsString("a_tags")));
4143
}
4244

4345
@Test
@@ -48,6 +50,7 @@ void testGettingPre312Version_from_311() throws SQLException {
4850
assertThat(stmt.getSql(), not(containsString("a_client_character_set")));
4951
assertThat(stmt.getSql(), not(containsString("a_random_test_order")));
5052
assertThat(stmt.getSql(), not(containsString("a_random_test_order_seed")));
53+
assertThat(stmt.getSql(), not(containsString("a_tags")));
5154
}
5255

5356
@Test
@@ -58,6 +61,7 @@ void testGettingPre317Version_from_312() throws SQLException {
5861
assertThat(stmt.getSql(), containsString("a_client_character_set"));
5962
assertThat(stmt.getSql(), not(containsString("a_random_test_order")));
6063
assertThat(stmt.getSql(), not(containsString("a_random_test_order_seed")));
64+
assertThat(stmt.getSql(), not(containsString("a_tags")));
6165
}
6266

6367
@Test
@@ -68,6 +72,7 @@ void testGettingPre317Version_from_316() throws SQLException {
6872
assertThat(stmt.getSql(), containsString("a_client_character_set"));
6973
assertThat(stmt.getSql(), not(containsString("a_random_test_order")));
7074
assertThat(stmt.getSql(), not(containsString("a_random_test_order_seed")));
75+
assertThat(stmt.getSql(), not(containsString("a_tags")));
7176
}
7277

7378
@Test
@@ -78,5 +83,6 @@ void testGettingActualVersion_from_latest() throws SQLException {
7883
assertThat(stmt.getSql(), containsString("a_client_character_set"));
7984
assertThat(stmt.getSql(), containsString("a_random_test_order"));
8085
assertThat(stmt.getSql(), containsString("a_random_test_order_seed"));
86+
assertThat(stmt.getSql(), containsString("a_tags"));
8187
}
8288
}

0 commit comments

Comments
 (0)