Skip to content

Commit

Permalink
Moving AT DSL into its own module (#3)
Browse files Browse the repository at this point in the history
This allows the acceptance testing DSL to be published as part of the
Besu internal jar files - which in turn means the DSL can be reused
in other projects.

Signed-off-by: Trent Mohay <trent.mohay@consensys.net>
  • Loading branch information
rain-on authored Sep 16, 2019
1 parent 1ff1b2f commit 79bd915
Show file tree
Hide file tree
Showing 279 changed files with 102 additions and 82 deletions.
81 changes: 1 addition & 80 deletions acceptance-tests/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -11,83 +11,4 @@
* specific language governing permissions and limitations under the License.
*/

dependencies {

testSupportImplementation 'org.apache.logging.log4j:log4j-core'
testSupportImplementation 'org.apache.logging.log4j:log4j-slf4j-impl'

testSupportImplementation project(':config')
testSupportImplementation project(':consensus:clique')
testSupportImplementation project(':consensus:ibft')
testSupportImplementation project(':crypto')
testSupportImplementation project(':enclave')
testSupportImplementation project(':ethereum:blockcreation')
testSupportImplementation project(':ethereum:core')
testSupportImplementation project(path: ':ethereum:core', configuration: 'testSupportArtifacts')
testSupportImplementation project(':ethereum:eth')
testSupportImplementation project(':ethereum:api')
testSupportImplementation project(':ethereum:p2p')
testSupportImplementation project(':ethereum:permissioning')
testSupportImplementation project(':ethereum:rlp')
testSupportImplementation project(':metrics:core')
testSupportImplementation project(':besu')
testSupportImplementation project(':plugin-api')
testSupportImplementation project(':plugins:rocksdb')
testSupportImplementation project(':services:kvstore')
testSupportImplementation project(':testutil')
testSupportImplementation project(':util')

testSupportImplementation 'com.github.tomakehurst:wiremock-jre8'
testSupportImplementation 'com.google.guava:guava'
testSupportImplementation 'com.squareup.okhttp3:okhttp'
testSupportImplementation 'info.picocli:picocli'
testSupportImplementation 'io.reactivex.rxjava2:rxjava'
testSupportImplementation 'io.vertx:vertx-core'
testSupportImplementation 'junit:junit'
testSupportImplementation 'net.consensys:orion'
testSupportImplementation 'org.apache.logging.log4j:log4j-api'
testSupportImplementation 'org.assertj:assertj-core'
testSupportImplementation 'org.awaitility:awaitility'
testSupportImplementation 'org.java-websocket:Java-WebSocket'
testSupportImplementation 'org.web3j:abi'
testSupportImplementation 'org.web3j:pantheon'
testSupportImplementation 'org.web3j:crypto'
testSupportImplementation 'tech.pegasys.ethsigner.internal:core'
testSupportImplementation 'tech.pegasys.ethsigner.internal:file-based'
testSupportImplementation 'tech.pegasys.ethsigner.internal:signing-api'

testImplementation 'junit:junit'
testImplementation 'net.consensys:orion'
testImplementation 'org.assertj:assertj-core'
testImplementation 'org.web3j:abi'
testImplementation 'org.web3j:pantheon'
testImplementation project(':ethereum:api')
testImplementation project(':enclave')
testImplementation 'org.awaitility:awaitility'
testImplementation project(':consensus:clique')
testImplementation project(':ethereum:permissioning')
testImplementation project(':util')
testImplementation project(':plugin-api')
testImplementation project(':besu')
testImplementation project(':ethereum:core')
testImplementation project(path: ':ethereum:core', configuration: 'testSupportArtifacts')
testImplementation project(':testutil')
testImplementation 'tech.pegasys.ethsigner.internal:core'
testImplementation 'tech.pegasys.ethsigner.internal:file-based'
}

test.enabled = false

sourceSets {
test { resources { srcDirs "${rootDir}/besu/build/libs" } }
}

processTestResources.dependsOn(':besu:testJar')

task acceptanceTest(type: Test) {
dependsOn(rootProject.installDist)
systemProperty 'acctests.runBesuAsProcess', 'true'
mustRunAfter rootProject.subprojects*.test
description = 'Runs Besu acceptance tests.'
group = 'verification'
}
jar { enabled = false }
47 changes: 47 additions & 0 deletions acceptance-tests/dsl/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
dependencies {

implementation 'org.apache.logging.log4j:log4j-core'
implementation 'org.apache.logging.log4j:log4j-slf4j-impl'

implementation project(':config')
implementation project(':consensus:clique')
implementation project(':consensus:ibft')
implementation project(':crypto')
implementation project(':enclave')
implementation project(':ethereum:blockcreation')
implementation project(':ethereum:core')
implementation project(path: ':ethereum:core', configuration: 'testSupportArtifacts')
implementation project(':ethereum:eth')
implementation project(':ethereum:api')
implementation project(':ethereum:p2p')
implementation project(':ethereum:permissioning')
implementation project(':ethereum:rlp')
implementation project(':metrics:core')
implementation project(':besu')
implementation project(':plugin-api')
implementation project(':plugins:rocksdb')
implementation project(':services:kvstore')
implementation project(':testutil')
implementation project(':util')

implementation 'com.github.tomakehurst:wiremock-jre8'
implementation 'com.google.guava:guava'
implementation 'com.squareup.okhttp3:okhttp'
implementation 'info.picocli:picocli'
implementation 'io.reactivex.rxjava2:rxjava'
implementation 'io.vertx:vertx-core'
implementation 'junit:junit'
implementation 'net.consensys:orion'
implementation 'org.apache.logging.log4j:log4j-api'
implementation 'org.assertj:assertj-core'
implementation 'org.awaitility:awaitility'
implementation 'org.java-websocket:Java-WebSocket'
implementation 'org.web3j:abi'
implementation 'org.web3j:pantheon'
implementation 'org.web3j:crypto'
implementation 'tech.pegasys.ethsigner.internal:core'
implementation 'tech.pegasys.ethsigner.internal:file-based'
implementation 'tech.pegasys.ethsigner.internal:signing-api'


}
Original file line number Diff line number Diff line change
Expand Up @@ -234,7 +234,7 @@ public void startNode(final BesuNode node) {
LOG.info("Creating besu process with params {}", params);
final ProcessBuilder processBuilder =
new ProcessBuilder(params)
.directory(new File(System.getProperty("user.dir")).getParentFile())
.directory(new File(System.getProperty("user.dir")).getParentFile().getParentFile())
.redirectErrorStream(true)
.redirectInput(Redirect.INHERIT);
if (!node.getPlugins().isEmpty()) {
Expand Down
51 changes: 51 additions & 0 deletions acceptance-tests/tests/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
/*
* Copyright 2019 ConsenSys AG.
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
* an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
* specific language governing permissions and limitations under the License.
*/

dependencies {

testImplementation 'junit:junit'
testImplementation 'net.consensys:orion'
testImplementation 'org.assertj:assertj-core'
testImplementation 'org.web3j:abi'
testImplementation 'org.web3j:pantheon'
testImplementation project(':ethereum:api')
testImplementation project(':acceptance-tests:dsl')
testImplementation project(':enclave')
testImplementation 'org.awaitility:awaitility'
testImplementation project(':consensus:clique')
testImplementation project(':ethereum:permissioning')
testImplementation project(':util')
testImplementation project(':plugin-api')
testImplementation project(':besu')
testImplementation project(':ethereum:core')
testImplementation project(path: ':ethereum:core', configuration: 'testSupportArtifacts')
testImplementation project(':testutil')
testImplementation 'tech.pegasys.ethsigner.internal:core'
testImplementation 'tech.pegasys.ethsigner.internal:file-based'
}

test.enabled = false

sourceSets {
test { resources { srcDirs "${rootDir}/besu/build/libs" } }
}

processTestResources.dependsOn(':besu:testJar')

task acceptanceTest(type: Test) {
dependsOn(rootProject.installDist)
systemProperty 'acctests.runBesuAsProcess', 'true'
mustRunAfter rootProject.subprojects*.test
description = 'Runs Besu acceptance tests.'
group = 'verification'
}
File renamed without changes.
File renamed without changes.
File renamed without changes.
3 changes: 2 additions & 1 deletion settings.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@
*/

rootProject.name='besu'
include 'acceptance-tests'
include 'acceptance-tests:dsl'
include 'acceptance-tests:tests'
include 'config'
include 'consensus:clique'
include 'consensus:common'
Expand Down

0 comments on commit 79bd915

Please sign in to comment.