compileTestJava.dependsOn compileJava
+
+test {
+ group = "Verification"
+ description = "Runs all testTaskN tasks)"
+
+ if (useClover) {
+ dependsOn cloverClasses
+ } else { //?
+ dependsOn testClasses
+ }
+
+ // not running tests in this task
+ exclude "**/*"
+}
/* testTask0 is the main test task */
task testTask0(type: Test) {
group = "Verification"
}
}
+/* insert more testTaskNs here -- change N to next digit or other string */
+/*
+task testTaskN(type: Test) {
+ group = "Verification"
+ description = "Tests that need to be isolated from the main test run"
+ useTestNG() {
+ includeGroups name
+ excludeGroups testng_excluded_groups.split(",")
+ preserveOrder true
+ useDefaultListeners=true
+ }
+}
+*/
+
/*
* adapted from https://medium.com/@wasyl/pretty-tests-summary-in-gradle-744804dd676c
* to summarise test results from all Test tasks
testTask.mustRunAfter "testTask0"
testTask.testLogging { logging ->
- events TestLogEvent.FAILED,
- TestLogEvent.SKIPPED,
- TestLogEvent.STANDARD_OUT,
- TestLogEvent.STANDARD_ERROR
+ events TestLogEvent.FAILED
+// TestLogEvent.SKIPPED,
+// TestLogEvent.STANDARD_OUT,
+// TestLogEvent.STANDARD_ERROR
exceptionFormat TestExceptionFormat.FULL
showExceptions true
showCauses true
showStackTraces true
+
+ info.events = [ TestLogEvent.FAILED ]
}
+
+
ignoreFailures = true // Always try to run all tests for all modules
afterSuite { desc, result ->
-
- if (desc.parent) return // Only summarize results for whole modules
+ if (desc.parent)
+ return // Only summarize results for whole modules
def resultsInfo = [testTask.project.name, testTask.name, result, TimeCategory.minus(new Date(result.endTime), new Date(result.startTime)), testTask.reports.html.entryPoint]
jvmArgs += additional_compiler_args
doFirst {
+ // this is not perfect yet -- we should only add the commandLineIncludePatterns to the
+ // testTasks that include the tests, and exclude all from the others.
+ // get --test argument
+ filter.commandLineIncludePatterns = test.filter.commandLineIncludePatterns
+ // do something with testTask.getCandidateClassFiles() to see if the test should silently finish because of the
+ // commandLineIncludePatterns not matching anything. Instead we are doing setFailOnNoMatchingTests(false) below
+
+
if (useClover) {
println("Running tests " + (useClover?"WITH":"WITHOUT") + " clover")
}
}
+
+ /* don't fail on no matching tests (so --tests will run across all testTasks) */
+ testTask.filter.setFailOnNoMatchingTests(false)
+
+ /* ensure the "test" task dependsOn all the testTasks */
+ test.dependsOn testTask
}
gradle.buildFinished {
private static String getSummaryLine(s, pn, tn, rt, rc, rs, rf, rsk, t, col) {
def colour = 'black'
+ def text = rt
def nocol = false
- switch(rt) {
- case TestResult.ResultType.SUCCESS:
- colour = 'green'
- break;
- case TestResult.ResultType.FAILURE:
- colour = 'red'
- break;
- default:
- nocol = true
- break;
+ if (rc == 0) {
+ text = "-----"
+ nocol = true
+ } else {
+ switch(rt) {
+ case TestResult.ResultType.SUCCESS:
+ colour = 'green'
+ break;
+ case TestResult.ResultType.FAILURE:
+ colour = 'red'
+ break;
+ default:
+ nocol = true
+ break;
+ }
}
StringBuilder sb = new StringBuilder()
sb.append("${pn}")
if (tn != null)
sb.append(":${tn}")
sb.append(" results: ")
- sb.append(colString(s, col && !nocol, colour, rt))
+ sb.append(colString(s, col && !nocol, colour, text))
sb.append(" (")
sb.append("${rc} tests, ")
sb.append(colString(s, col && rs > 0, 'green', rs))
}
/* END of test tasks results summary */
-test {
- // from original test task
- if (useClover) {
- dependsOn cloverClasses
- } else { //?
- dependsOn testClasses
- }
- dependsOn tasks.withType(Test).matching {t -> t.getName().startsWith("testTask")}
-
- // not running tests in this task
- exclude "**/*"
-}
-
task compileLinkCheck(type: JavaCompile) {
options.fork = true
props.put("getdown_txt_ui.instant_background_image", "${getdownImagesBuildDir}/${getdown_instant_background_image}")
props.put("getdown_txt_ui.error_background", "${getdownImagesBuildDir}/${getdown_error_background}")
props.put("getdown_txt_ui.progress_image", "${getdownImagesBuildDir}/${getdown_progress_image}")
- props.put("getdown_txt_ui.icon", "${getdownImagesBuildDir}/${getdown_icon}")
- props.put("getdown_txt_ui.mac_dock_icon", "${getdownImagesBuildDir}/${getdown_mac_dock_icon}")
+ props.put("getdown_txt_ui.icon", "${getdownImagesDir}/${getdown_icon}")
+ props.put("getdown_txt_ui.mac_dock_icon", "${getdownImagesDir}/${getdown_mac_dock_icon}")
}
props.put("getdown_txt_title", jalview_name)