Skip to content

Commit a12213f

Browse files
committed
Build: Fix test output colourization for intellij 2020.1
1 parent a202e33 commit a12213f

File tree

1 file changed

+14
-21
lines changed

1 file changed

+14
-21
lines changed

gradle/testColorOutput.gradle

Lines changed: 14 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -16,19 +16,21 @@
1616

1717
configure(subprojects.findAll { it.name != 'util' && it.name != 'mongo-java-driver' }) {
1818
tasks.withType(Test) {
19-
2019
boolean IS_LIFECYCLE = logger.isEnabled(LogLevel.LIFECYCLE)
21-
boolean IS_TRAVIS = project.hasProperty('travistest') ? project.travistest : false && IS_LIFECYCLE
22-
String ANSI_BOLD_WHITE = "\u001B[0;1m"
23-
String ANSI_RESET = "\u001B[0m"
24-
String ANSI_BLACK = "\u001B[30m"
25-
String ANSI_RED = "\u001B[31m"
26-
String ANSI_GREEN = "\u001B[32m"
27-
String ANSI_YELLOW = "\u001B[33m"
28-
String ANSI_WHITE = "\u001B[37m"
29-
String PASSED = "\u2713"
30-
String SKIPPED = "\u005F"
31-
String FAILED = "\u2717" + ' [TEST FAILURE]'
20+
boolean IS_TRAVIS = project.hasProperty('travistest') ? project.travistest : false
21+
boolean INTELLIJ_ACTIVE = System.properties.get("idea.active", false)
22+
boolean CONSOLE_PLAIN = System.properties.get("org.gradle.console", "rich") == "plain"
23+
boolean COLOURIZE = !INTELLIJ_ACTIVE && !CONSOLE_PLAIN
24+
String ANSI_BOLD_WHITE = COLOURIZE ? "\u001B[0;1m" : ""
25+
String ANSI_RESET = COLOURIZE ? "\u001B[0m" : ""
26+
String ANSI_BLACK = COLOURIZE ? "\u001B[30m" : ""
27+
String ANSI_RED = COLOURIZE ? "\u001B[31m" : ""
28+
String ANSI_GREEN = COLOURIZE ? "\u001B[32m" : ""
29+
String ANSI_YELLOW = COLOURIZE ? "\u001B[33m" : ""
30+
String ANSI_WHITE = COLOURIZE ? "\u001B[37m" : ""
31+
String PASSED = COLOURIZE ? "\u2713" : ""
32+
String SKIPPED = COLOURIZE ? "\u005F" : "_"
33+
String FAILED = COLOURIZE ? "\u2717" + ' [TEST FAILURE]' : "✗ [TEST FAILURE]"
3234

3335

3436
beforeSuite { suite ->
@@ -43,12 +45,6 @@ configure(subprojects.findAll { it.name != 'util' && it.name != 'mongo-java-driv
4345

4446
}
4547

46-
beforeTest { descr ->
47-
if (IS_LIFECYCLE) {
48-
System.out.print(" Starting ${descr.name}")
49-
}
50-
}
51-
5248
afterTest { descr, result ->
5349
if (!IS_LIFECYCLE) return
5450
def indicator = ANSI_WHITE
@@ -57,9 +53,6 @@ configure(subprojects.findAll { it.name != 'util' && it.name != 'mongo-java-driv
5753
else if (result.skippedTestCount > 0) indicator = ANSI_YELLOW + SKIPPED + ANSI_RESET
5854
else indicator = ANSI_GREEN + PASSED + ANSI_RESET
5955

60-
System.out.print("\033[1A") // Move up
61-
System.out.print("\033[2K") // Erase line content
62-
6356
logger.lifecycle(" ${indicator} ${descr.name} (${result.getEndTime() - result.getStartTime()} ms)")
6457
if (result.failedTestCount > 0) {
6558
logger.lifecycle(' ')

0 commit comments

Comments
 (0)