Enable selective runs

This commit is contained in:
Tommy Lillehagen 2018-02-12 10:43:54 +00:00
parent 74e65f392f
commit 407885c93b
7 changed files with 29 additions and 4 deletions

View File

@ -45,3 +45,14 @@ To get started, please follow the instructions below:
This script will download necessary database drivers and set up This script will download necessary database drivers and set up
the dependencies directory with copies of the Corda fat-JAR and the dependencies directory with copies of the Corda fat-JAR and
the network bootstrapping tool. the network bootstrapping tool.
# Selective Runs
If you only want to run tests of a specific tag, you can append
the following parameter to the Gradle command:
```bash
$ ../../gradlew scenario -Ptags="@cash"
# or
$ ../../gradlew scenario -Ptags="@cash,@logging"
```

View File

@ -108,6 +108,11 @@ task scenarios(type: Test) {
setTestClassesDirs sourceSets.scenario.output.getClassesDirs() setTestClassesDirs sourceSets.scenario.output.getClassesDirs()
classpath = sourceSets.scenario.runtimeClasspath classpath = sourceSets.scenario.runtimeClasspath
outputs.upToDateWhen { false } outputs.upToDateWhen { false }
if (project.hasProperty("tags")) {
systemProperty "cucumber.options", "--tags $tags"
logger.warn("Only running tests tagged with: $tags ...")
}
} }
//scenarios.mustRunAfter test //scenarios.mustRunAfter test

View File

@ -4,7 +4,6 @@ import org.junit.runner.RunWith
@RunWith(Cucumber::class) @RunWith(Cucumber::class)
@CucumberOptions( @CucumberOptions(
features = arrayOf("src/scenario/resources/features"),
glue = arrayOf("net.corda.behave.scenarios"), glue = arrayOf("net.corda.behave.scenarios"),
plugin = arrayOf("pretty") plugin = arrayOf("pretty")
) )

View File

@ -1,3 +1,4 @@
@cash @issuance
Feature: Cash - Issuable Currencies Feature: Cash - Issuable Currencies
To have cash on ledger, certain nodes must have the ability to issue cash of various currencies. To have cash on ledger, certain nodes must have the ability to issue cash of various currencies.

View File

@ -1,3 +1,4 @@
@database @connectivity
Feature: Database - Connection Feature: Database - Connection
For Corda to work, a database must be running and appropriately configured. For Corda to work, a database must be running and appropriately configured.

View File

@ -1,3 +1,4 @@
@logging @startup
Feature: Startup Information - Logging Feature: Startup Information - Logging
A Corda node should inform the user of important parameters during startup so that he/she can confirm the setup and A Corda node should inform the user of important parameters during startup so that he/she can confirm the setup and
configure / connect relevant software to said node. configure / connect relevant software to said node.
@ -7,7 +8,14 @@ Feature: Startup Information - Logging
And node A uses database of type H2 And node A uses database of type H2
And node A is located in London, GB And node A is located in London, GB
When the network is ready When the network is ready
Then user can retrieve logging information for node A
Scenario: Node shows database details on startup
Given a node A of version MASTER
When the network is ready
Then user can retrieve database details for node A
Scenario: Node shows version information on startup
Given a node A of version MASTER
Then node A is on platform version 2 Then node A is on platform version 2
And node A is on version 3.0-SNAPSHOT And node A is on version 3.0-SNAPSHOT
And user can retrieve logging information for node A
And user can retrieve database details for node A

View File

@ -14,7 +14,7 @@ class CommandTests {
@Test @Test
fun `failed command returns non-zero`() { fun `failed command returns non-zero`() {
val exitCode = Command(listOf("some-random-command-that-does-not-exist")).run() val exitCode = Command(listOf("ls", "some-weird-path-that-does-not-exist")).run()
assertThat(exitCode).isNotEqualTo(0) assertThat(exitCode).isNotEqualTo(0)
} }