From 2c4b7353fd285d471b1124f6093b38b75b0c5b80 Mon Sep 17 00:00:00 2001 From: Ben Soares Date: Thu, 27 Apr 2023 21:16:55 +0100 Subject: [PATCH] JAL-629 Part-way to honouring --tests argument --- build.gradle | 53 ++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 38 insertions(+), 15 deletions(-) diff --git a/build.gradle b/build.gradle index 6d0eedd..995d012 100644 --- a/build.gradle +++ b/build.gradle @@ -1735,6 +1735,21 @@ run.dependsOn compileJava 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" @@ -1760,6 +1775,20 @@ task testTask1(type: Test) { } } +/* 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 @@ -1798,8 +1827,8 @@ tasks.withType(Test).matching {t -> t.getName().startsWith("testTask")}.all { te 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] @@ -1825,11 +1854,18 @@ tasks.withType(Test).matching {t -> t.getName().startsWith("testTask")}.all { te 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 + if (useClover) { println("Running tests " + (useClover?"WITH":"WITHOUT") + " clover") } } + /* ensure the "test" task dependsOn all the testTasks */ + test.dependsOn testTask } gradle.buildFinished { @@ -1943,19 +1979,6 @@ private static void printResults(allResults) { } /* 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 -- 1.7.10.2