testament: error instead of silently overwrite a spec (#16166)

This commit is contained in:
Timothee Cour 2020-11-29 10:42:50 -08:00 • committed by GitHub
commit 6114df3c24
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 51 additions and 27 deletions

View file

@ -1,17 +1,23 @@
discard """
errormsg: "type mismatch: got <string> but expected 'int'"
line: 33
file: "tcaseexpr1.nim"
errormsg: "not all cases are covered; missing: {C}"
line: 27
file: "tcaseexpr1.nim"
cmd: "nim check $options $file"
action: "reject"
nimout: '''
tcaseexpr1.nim(33, 10) Error: not all cases are covered; missing: {C}
'''
"""
# NOTE: This spec is wrong. Spec doesn't support multiple error
# messages. The first one is simply overridden by the second one.
# This just has never been noticed.
#[
# xxx make nimout comparison use nimoutCheck instead of:
elif expected.nimout.len > 0 and expected.nimout.normalizeMsg notin given.nimout.normalizeMsg:
and then use nimout: '''
tcaseexpr1.nim(33, 10) Error: not all cases are covered2; missing: {C}
tcaseexpr1.nim(39, 12) Error: type mismatch: got <string> but expected 'int literal(10)'
'''
]#
# line 20
type
E = enum A, B, C