[Testament] Extend and document message testing aids (#19996)

* [Testament] Extend and document message testing aids

* Enable inline msgs when not reject action.
Eliminates the pain of changing the line and column numbers in `nimout`
or `output` while making changes to the test.
* Enable using inline msgs and nimout together.
Allows ease of inline msgs for the test as well as testing msgs from
other modules.
* Add path separator and test filename variable interpolation in
msgs.
Eases handling path separators in the msgs.
* Add some documentation.

* Fixed lots of broken tests

* Fixed more broken tests

* Support multiple inline messages per a line

* Fix a broken test

* Revert variable substitution in `output`

* Remove uneeded params

* Update doc/testament.md

Co-authored-by: Clay Sweetser <Varriount@users.noreply.github.com>

* Update testament/specs.nim

Co-authored-by: Clay Sweetser <Varriount@users.noreply.github.com>

* Update testament/specs.nim

Co-authored-by: Clay Sweetser <Varriount@users.noreply.github.com>

* Fix indentation

Co-authored-by: quantimnot <quantimnot@users.noreply.github.com>
Co-authored-by: Clay Sweetser <Varriount@users.noreply.github.com>
This commit is contained in:
quantimnot 2022-09-01 11:52:13 -04:00 • committed by GitHub
commit 6289b002b6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
15 changed files with 247 additions and 149 deletions

View file

@ -1,15 +1,14 @@
discard """
cmd: "nim check $file"
errormsg: "number out of range: '300'u8'"
nimout: '''
tinteger_literals.nim(12, 9) Error: number out of range: '18446744073709551616'u64'
tinteger_literals.nim(13, 9) Error: number out of range: '9223372036854775808'i64'
tinteger_literals.nim(14, 9) Error: number out of range: '9223372036854775808'
tinteger_literals.nim(15, 9) Error: number out of range: '300'u8'
'''
cmd: "nim check $file"
"""
discard 18446744073709551616'u64 # high(uint64) + 1
discard 9223372036854775808'i64 # high(int64) + 1
discard 9223372036854775808 # high(int64) + 1
discard 300'u8
# high(uint64) + 1
discard 18446744073709551616'u64 #[tt.Error
^ number out of range: '18446744073709551616'u64' ]#
# high(int64) + 1
discard 9223372036854775808'i64 #[tt.Error
^ number out of range: '9223372036854775808'i64' ]#
# high(int64) + 1
discard 9223372036854775808 #[tt.Error
^ number out of range: '9223372036854775808' ]#
discard 300'u8 #[tt.Error
^ number out of range: '300'u8' ]#