diff options
author | Andreas Rumpf <rumpf_a@web.de> | 2015-03-09 22:58:59 +0100 |
---|---|---|
committer | Andreas Rumpf <rumpf_a@web.de> | 2015-03-09 22:58:59 +0100 |
commit | 3e82941f252015ec6ff8660e2c1c04d62984c255 (patch) | |
tree | abbaf26fc110aa9d802b0a12c439e1ce103d1068 | |
parent | 715cd4657899d5ced65402b2f5492b6008763a1f (diff) | |
parent | 2b4dcc9f33522b020e4237764f359c4798319169 (diff) | |
download | Nim-3e82941f252015ec6ff8660e2c1c04d62984c255.tar.gz |
Merge pull request #2300 from reactormonk/better-tester-messages
fixed tester back up
-rw-r--r-- | tests/testament/tester.nim | 49 |
1 files changed, 26 insertions, 23 deletions
diff --git a/tests/testament/tester.nim b/tests/testament/tester.nim index 0a0d08173..988cfa22e 100644 --- a/tests/testament/tester.nim +++ b/tests/testament/tester.nim @@ -142,28 +142,23 @@ proc generatedFile(path, name: string, target: TTarget): string = name.changeFileExt(ext) proc codegenCheck(test: TTest, check: string, given: var TSpec, r: var TResults) = - if check.len > 0: - try: - let (path, name, ext2) = test.name.splitFile - let genFile = generatedFile(path, name, test.target) - echo genFile - let contents = readFile(genFile).string - if contents.find(check.peg) < 0: - given.err = reCodegenFailure - except ValueError: - given.err = reInvalidPeg - except IOError: - given.err = reCodeNotFound - r.addResult(test, "", given.msg, given.err) + try: + let (path, name, ext2) = test.name.splitFile + let genFile = generatedFile(path, name, test.target) + echo genFile + let contents = readFile(genFile).string + if contents.find(check.peg) < 0: + given.err = reCodegenFailure + except ValueError: + given.err = reInvalidPeg + except IOError: + given.err = reCodeNotFound proc nimoutCheck(test: TTest; expectedNimout: string; given: var TSpec, r: var TResults) = - if expectedNimout.len > 0: - let exp = expectedNimout.strip.replace("\C\L", "\L") - let giv = given.nimout.strip.replace("\C\L", "\L") - if exp notin giv: - given.err = reMsgsDiffer - r.addResult(test, exp, giv, given.err) - + let exp = expectedNimout.strip.replace("\C\L", "\L") + let giv = given.nimout.strip.replace("\C\L", "\L") + if exp notin giv: + given.err = reMsgsDiffer proc makeDeterministic(s: string): string = var x = splitLines(s) @@ -171,11 +166,19 @@ proc makeDeterministic(s: string): string = result = join(x, "\n") proc compilerOutputTests(test: TTest, given: var TSpec, expected: TSpec, r: var TResults) = + var expectedmsg: string = "" + var givenmsg: string = "" if given.err == reSuccess: - codegenCheck(test, expected.ccodeCheck, given, r) - nimoutCheck(test, expected.nimout, given, r) + if expected.ccodeCheck.len > 0: + codegenCheck(test, expectedmsg, given, r) + expectedmsg = expected.ccodeCheck + givenmsg = given.msg + if expected.nimout.len > 0: + expectedmsg = expected.nimout + givenmsg = given.nimout.strip + nimoutCheck(test, expectedmsg, given, r) if given.err == reSuccess: inc(r.passed) - + r.addResult(test, expectedmsg, givenmsg, given.err) proc testSpec(r: var TResults, test: TTest) = # major entry point for a single test |