From 6ea02d1569fe17b76db209870b2d33cef19572dd Mon Sep 17 00:00:00 2001 From: Sean Gilligan Date: Mon, 11 Apr 2022 17:18:28 -0700 Subject: [PATCH] Add integration tests subproject: integration-test * JUnit 5 (API & Engine) * Tests compile/run as JDK 11+ * Tests require Gradle 4.6+ --- integration-test/build.gradle | 22 ++++++++++++++++++++++ settings.gradle | 9 +++++++++ 2 files changed, 31 insertions(+) create mode 100644 integration-test/build.gradle diff --git a/integration-test/build.gradle b/integration-test/build.gradle new file mode 100644 index 000000000..e14eac2b7 --- /dev/null +++ b/integration-test/build.gradle @@ -0,0 +1,22 @@ +plugins { + id 'java' + id 'java-library' + id 'eclipse' +} + +dependencies { + implementation project(':bitcoinj-core') + + testImplementation 'org.slf4j:slf4j-jdk14:1.7.36' + testImplementation "org.junit.jupiter:junit-jupiter-api:5.8.2" + testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:5.8.2" +} + +sourceCompatibility = 11 +compileJava.options.encoding = 'UTF-8' +compileTestJava.options.encoding = 'UTF-8' +javadoc.options.encoding = 'UTF-8' + +test { + useJUnitPlatform() +} diff --git a/settings.gradle b/settings.gradle index 3e88da2aa..a61417e36 100644 --- a/settings.gradle +++ b/settings.gradle @@ -3,6 +3,8 @@ import org.gradle.api.GradleScriptException // Minimum Gradle version for build def minGradleVersion = GradleVersion.version("4.4") +// Minimum Gradle version for JUnit5 +def minJunit5GradleVersion = GradleVersion.version("4.6") // Minimum Gradle version for builds of JavaFX 11 module def minFxGradleVersion = GradleVersion.version("4.10") @@ -34,3 +36,10 @@ if (GradleVersion.current().compareTo(minFxGradleVersion) > 0) { project(':wallettemplate').name = 'bitcoinj-wallettemplate' } +if (GradleVersion.current().compareTo(minJunit5GradleVersion) >= 0) { + System.err.println "Including integration-test because ${GradleVersion.current()}" + include 'integration-test' + project(':integration-test').name = 'bitcoinj-integration-test' +} else { + System.err.println "Skipping integration-test, requires Gradle ${minJunit5GradleVersion}+, currently running: ${GradleVersion.current()}" +}