unit separator (#17730)
* use the ASCII Unit Separator so that error messages can be handled precisely by the tooling * updated testament
This commit is contained in:
parent
c776498170
commit
0b116310bf
8 changed files with 55 additions and 39 deletions
|
|
@ -74,7 +74,7 @@ pkg "gnuplot", "nim c gnuplot.nim"
|
|||
pkg "hts", "nim c -o:htss src/hts.nim"
|
||||
pkg "httpauth"
|
||||
pkg "illwill", "nimble examples"
|
||||
pkg "inim"
|
||||
pkg "inim", allowFailure=true
|
||||
pkg "itertools", "nim doc src/itertools.nim"
|
||||
pkg "iterutils"
|
||||
pkg "karax", "nim c -r tests/tester.nim"
|
||||
|
|
|
|||
|
|
@ -202,7 +202,7 @@ proc extractSpec(filename: string; spec: var TSpec): string =
|
|||
|
||||
# look for """ only in the first section
|
||||
if a >= 0 and b > a and a < 40:
|
||||
result = s.substr(a+3, b-1).replace("'''", tripleQuote)
|
||||
result = s.substr(a+3, b-1).multiReplace({"'''": tripleQuote, "\\31": "\31"})
|
||||
else:
|
||||
#echo "warning: file does not contain spec: " & filename
|
||||
result = ""
|
||||
|
|
|
|||
|
|
@ -18,6 +18,11 @@ import compiler/nodejs
|
|||
import lib/stdtest/testutils
|
||||
from lib/stdtest/specialpaths import splitTestFile
|
||||
|
||||
proc trimUnitSep(x: var string) =
|
||||
let L = x.len
|
||||
if L > 0 and x[^1] == '\31':
|
||||
setLen x, L-1
|
||||
|
||||
var useColors = true
|
||||
var backendLogging = true
|
||||
var simulate = false
|
||||
|
|
@ -172,6 +177,7 @@ proc callNimCompiler(cmdTemplate, filename, options, nimcache: string,
|
|||
result.nimout = ""
|
||||
while true:
|
||||
if outp.readLine(x):
|
||||
trimUnitSep x
|
||||
result.nimout.add(x & '\n')
|
||||
if x =~ pegOfInterest:
|
||||
# `err` should contain the last error/warning message
|
||||
|
|
@ -196,6 +202,7 @@ proc callNimCompiler(cmdTemplate, filename, options, nimcache: string,
|
|||
result.msg = matches[0]
|
||||
elif suc.isSuccess:
|
||||
result.err = reSuccess
|
||||
trimUnitSep result.msg
|
||||
|
||||
proc callCCompiler(cmdTemplate, filename, options: string,
|
||||
target: TTarget): TSpec =
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue