Revert "Revert "Allow execution time of the slowest tests to be printed""
This reverts commit 01c15c6af9f04011680889767c0de78f9dd4e7ab.
Fixed stray removal of dependency
Change-Id: Ic82f7456fafdcab401046e3f963f7b5d996d667a
diff --git a/build.gradle b/build.gradle
index 24233a5..d9be6a4 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1911,6 +1911,9 @@
}
}
+def testTimes = [:]
+def numberOfTestTimesToPrint = 40
+
test {
if (project.hasProperty('generate_golden_files_to')) {
systemProperty 'generate_golden_files_to', project.property('generate_golden_files_to')
@@ -1955,10 +1958,26 @@
systemProperty 'desugar_jdk_libs', project.property('desugar_jdk_libs')
}
+ if (project.hasProperty('print_times') || project.hasProperty('one_line_per_test')) {
+ afterTest { desc, result ->
+ def executionTime = (result.endTime - result.startTime) / 1000
+ testTimes["${desc.name} [${desc.className}]"] = executionTime
+ }
+ afterSuite { desc, result ->
+ // parent is null if all tests are done.
+ if (desc.parent == null) {
+ def sortedTimes = testTimes.sort({e1, e2 -> e2.value <=> e1.value})
+ sortedTimes.eachWithIndex{key, value, i ->
+ if (i < numberOfTestTimesToPrint) println "$key: $value"}
+ }
+ }
+ }
+
if (project.hasProperty('one_line_per_test')) {
beforeTest { desc ->
println "Start executing test ${desc.name} [${desc.className}]"
}
+
afterTest { desc, result ->
if (result.resultType == TestResult.ResultType.FAILURE) {
printStackTrace(result)