@@ -526,6 +526,9 @@ void setTestProperties(Task task, TestTypeEnum type, TestModuleEnum module) {
526526 */
527527task(testTestTypeEnum) { task ->
528528 setTestProperties(task, TestTypeEnum . GRADLE , TestModuleEnum . TOOL )
529+ doFirst {
530+ ReportTestStarted (task)
531+ }
529532 doLast {
530533 def expectedTestTypeEnumCompleteSet =
531534 new HashSet ([
@@ -570,6 +573,9 @@ task(testTestTypeEnum) { task ->
570573 */
571574task(testTestModuleEnum) { task ->
572575 setTestProperties(task, TestTypeEnum . GRADLE , TestModuleEnum . TOOL )
576+ doFirst {
577+ ReportTestStarted (task)
578+ }
573579 doLast {
574580 def expectedTestModuleEnumCompleteSet =
575581 new HashSet ([
@@ -1480,6 +1486,9 @@ Task createUnityTestTask(String taskName, String description,
14801486 doLast {
14811487 EvaluateTestResult (task)
14821488 }
1489+ doFirst {
1490+ ReportTestStarted (task)
1491+ }
14831492 setTestProperties(task, testType, testModule)
14841493 }
14851494
@@ -1713,54 +1722,62 @@ task testDownloadArtifacts(type: GradleBuild) { task ->
17131722 doLast {
17141723 EvaluateTestResult (task)
17151724 }
1725+ doFirst {
1726+ ReportTestStarted (task)
1727+ }
17161728 finalizedBy " reportAllTestsResult"
17171729}
17181730
1731+
1732+ /*
1733+ * Report when a test starts to run
1734+ *
1735+ * @param testTask Task for test to start.
1736+ */
1737+ void ReportTestStarted (Task testTask ) {
1738+ println sprintf (" Test %s STARTED" , testTask. name)
1739+ }
1740+
17191741/*
17201742 * Evaluate previously-ran test result
17211743 *
17221744 * @param testTask Task for previously-ran test
17231745 */
17241746void EvaluateTestResult (Task testTask ) {
1747+ Boolean succeeded = false
17251748 if (testTask. class. simpleName. startsWith(" Exec" )) {
1726- if (testTask. execResult. exitValue != 0 ) {
1727- String errorMsg = sprintf (" Test %s FAILED" , testTask. name)
1728- println sprintf (" ::error::%s" , errorMsg)
1729- project. ext. testSessions. add(new TestSession (
1730- name : testTask. name,
1731- type : testTask. ext. testType,
1732- module : testTask. ext. testModule,
1733- isPassed : false ))
1734- if (! project. ext. continueOnFailForTestsEnabled) {
1735- throw new GradleException (errorMsg)
1736- }
1737- } else {
1738- println sprintf (" ::debug::Test %s PASSED" , testTask. name, testTask. execResult. exitValue)
1739- project. ext. testSessions. add(new TestSession (
1740- name : testTask. name,
1741- type : testTask. ext. testType,
1742- module : testTask. ext. testModule,
1743- isPassed : true ))
1749+ if (testTask. execResult. exitValue == 0 ) {
1750+ succeeded = true
17441751 }
17451752 } else if (testTask. class. simpleName. startsWith(" DefaultTask" ) ||
17461753 testTask. class. simpleName. startsWith(" GradleBuild" )) {
17471754 if (testTask. state. didWork && testTask. state. failure == null ) {
1748- project. ext. testSessions. add(new TestSession (
1749- name : testTask. name,
1750- type : testTask. ext. testType,
1751- module : testTask. ext. testModule,
1752- isPassed : true ))
1753- } else {
1754- project. ext. testSessions. add(new TestSession (
1755- name : testTask. name,
1756- type : testTask. ext. testType,
1757- module : testTask. ext. testModule,
1758- isPassed : false ))
1755+ succeeded = true
17591756 }
17601757 } else {
17611758 throw new GradleException (
17621759 sprintf (" Unsupported test class %s" , testTask. class. simpleName))
17631760 }
1761+
1762+ if (succeeded) {
1763+ println sprintf (" Test %s PASSED" , testTask. name)
1764+ project. ext. testSessions. add(new TestSession (
1765+ name : testTask. name,
1766+ type : testTask. ext. testType,
1767+ module : testTask. ext. testModule,
1768+ isPassed : true ))
1769+ } else {
1770+ String errorMsg = sprintf (" Test %s FAILED" , testTask. name)
1771+ println sprintf (" ::error::%s" , errorMsg)
1772+ project. ext. testSessions. add(new TestSession (
1773+ name : testTask. name,
1774+ type : testTask. ext. testType,
1775+ module : testTask. ext. testModule,
1776+ isPassed : false ))
1777+ if (! project. ext. continueOnFailForTestsEnabled) {
1778+ throw new GradleException (errorMsg)
1779+ }
1780+ }
17641781}
17651782
17661783Task reportAllTestsResult = tasks. create (
@@ -1769,26 +1786,36 @@ Task reportAllTestsResult = tasks.create (
17691786 type : Task
17701787). with {
17711788 doLast {
1789+ if (project. ext. testSessions. isEmpty()) {
1790+ return
1791+ }
1792+
1793+ println " \n\n [Test Summary]"
17721794 int failedCount = 0
17731795 int totalCount = 0
17741796 project. ext. testSessions. each { session ->
17751797 String resultStr
17761798 ++ totalCount
1799+ String logType = " "
17771800 if (session. isPassed) {
17781801 resultStr = " PASSED"
17791802 } else {
17801803 resultStr = " FAILED"
1804+ logType = " ::error::"
17811805 ++ failedCount
17821806 }
1783- println sprintf (" Test %s %s [%s/%s]" ,
1807+ println sprintf (" %sTest %s %s [%s/%s]" ,
1808+ logType,
17841809 session. name,
17851810 resultStr,
17861811 session. type,
17871812 session. module)
17881813 }
1814+ println " --------------------------------------"
1815+ println sprintf (" ::notice::%s out of %d test(s) passed" , totalCount - failedCount, totalCount)
17891816 if (failedCount > 0 ) {
17901817 throw new GradleException (
1791- sprintf (" %d out of %d tests failed" , failedCount, totalCount))
1818+ sprintf (" %d out of %d test(s) failed" , failedCount, totalCount))
17921819 }
17931820 }
17941821}
@@ -1805,6 +1832,9 @@ Task testPackageUploader = createPythonTask(
18051832 doLast {
18061833 EvaluateTestResult (task)
18071834 }
1835+ doFirst {
1836+ ReportTestStarted (task)
1837+ }
18081838 setTestProperties(task, TestTypeEnum . PYTHON , TestModuleEnum . TOOL )
18091839 }
18101840
@@ -1821,7 +1851,10 @@ createPythonTask(
18211851 doLast {
18221852 EvaluateTestResult (task)
18231853 }
1824- }
1854+ doFirst {
1855+ ReportTestStarted (task)
1856+ }
1857+ }
18251858
18261859createPythonTask(
18271860 " testGenGuids" ,
@@ -1836,6 +1869,9 @@ createPythonTask(
18361869 doLast {
18371870 EvaluateTestResult (task)
18381871 }
1872+ doFirst {
1873+ ReportTestStarted (task)
1874+ }
18391875 }
18401876
18411877createPythonTask(
@@ -1851,6 +1887,9 @@ createPythonTask(
18511887 doLast {
18521888 EvaluateTestResult (task)
18531889 }
1890+ doFirst {
1891+ ReportTestStarted (task)
1892+ }
18541893 }
18551894
18561895task updateEmbeddedGradleWrapper (type : Zip ) {
0 commit comments