workaround for nim 1.2 backward compatibility: exception in terminal.nim

This commit is contained in:
jangko 2023-02-14 10:44:13 +07:00
parent bed1d50a45
commit 828310e512
No known key found for this signature in database
GPG Key ID: 31702AE10541E6B9
1 changed files with 19 additions and 8 deletions

View File

@ -132,7 +132,7 @@
import std/[locks, macros, sets, strutils, streams, times, monotimes]
{.warning[LockLevel]:off.}
when declared(stdout):
import std/os
@ -366,9 +366,14 @@ method suiteStarted*(formatter: ConsoleOutputFormatter, suiteName: string) =
template rawPrint() = echo("\n[Suite] ", suiteName)
when useTerminal:
if formatter.colorOutput:
try:
styledEcho styleBright, fgBlue, "\n[Suite] ", resetStyle, suiteName
except CatchableError: rawPrint() # Work around exceptions in `terminal.nim`
when (NimMajor, NimMinor) < (1, 4) and defined(windows):
try:
styledEcho styleBright, fgBlue, "\n[Suite] ", resetStyle, suiteName
except Exception: rawPrint() # Work around exceptions in `terminal.nim`
else:
try:
styledEcho styleBright, fgBlue, "\n[Suite] ", resetStyle, suiteName
except CatchableError: rawPrint() # Work around exceptions in `terminal.nim`
else: rawPrint()
else: rawPrint()
formatter.isInSuite = true
@ -411,10 +416,16 @@ method testEnded*(formatter: ConsoleOutputFormatter, testResult: TestResult) =
of TestStatus.OK: fgGreen
of TestStatus.FAILED: fgRed
of TestStatus.SKIPPED: fgYellow
try:
styledEcho styleBright, color, testHeader,
resetStyle, testResult.testName
except CatchableError: rawPrint() # Work around exceptions in `terminal.nim`
when (NimMajor, NimMinor) < (1, 4) and defined(windows):
try:
styledEcho styleBright, color, testHeader,
resetStyle, testResult.testName
except Exception: rawPrint() # Work around exceptions in `terminal.nim`
else:
try:
styledEcho styleBright, color, testHeader,
resetStyle, testResult.testName
except CatchableError: rawPrint() # Work around exceptions in `terminal.nim`
else:
rawPrint()
else: