fixes excessive newlines in testament's output (#11351)

This commit is contained in:
Andreas Rumpf 2019-05-29 15:59:11 +02:00 • committed by GitHub
commit f79b6dee33
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -146,16 +146,19 @@ proc callCompiler(cmdTemplate, filename, options: string,
var tmpl = "" var tmpl = ""
var x = newStringOfCap(120) var x = newStringOfCap(120)
result.nimout = "" result.nimout = ""
while outp.readLine(x.TaintedString) or running(p): while true:
result.nimout.add(x & "\n") if outp.readLine(x.TaintedString):
if x =~ pegOfInterest: result.nimout.add(x & "\n")
# `err` should contain the last error/warning message if x =~ pegOfInterest:
err = x # `err` should contain the last error/warning message
elif x =~ pegLineTemplate and err == "": err = x
# `tmpl` contains the last template expansion before the error elif x =~ pegLineTemplate and err == "":
tmpl = x # `tmpl` contains the last template expansion before the error
elif x =~ pegSuccess: tmpl = x
suc = x elif x =~ pegSuccess:
suc = x
elif not running(p):
break
close(p) close(p)
result.msg = "" result.msg = ""
result.file = "" result.file = ""
@ -193,8 +196,11 @@ proc callCCompiler(cmdTemplate, filename, options: string,
result.file = "" result.file = ""
result.output = "" result.output = ""
result.line = -1 result.line = -1
while outp.readLine(x.TaintedString) or running(p): while true:
result.nimout.add(x & "\n") if outp.readLine(x.TaintedString):
result.nimout.add(x & "\n")
elif not running(p):
break
close(p) close(p)
if p.peekExitCode == 0: if p.peekExitCode == 0:
result.err = reSuccess result.err = reSuccess