diff options
author | quantimnot <54247259+quantimnot@users.noreply.github.com> | 2022-09-01 11:52:13 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-01 17:52:13 +0200 |
commit | 6289b002b6a1ac8dcf5a97075f4db550df080191 (patch) | |
tree | 8e6f314adca775e0fb7665ae10c2dfd8b2cd3a47 /tests/effects | |
parent | c2cdc752c80005d1bcdb166f34d5149f1263f25c (diff) | |
download | Nim-6289b002b6a1ac8dcf5a97075f4db550df080191.tar.gz |
[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>
Diffstat (limited to 'tests/effects')
-rw-r--r-- | tests/effects/teffects1.nim | 17 |
1 files changed, 7 insertions, 10 deletions
diff --git a/tests/effects/teffects1.nim b/tests/effects/teffects1.nim index 82efefe77..3978d8cc2 100644 --- a/tests/effects/teffects1.nim +++ b/tests/effects/teffects1.nim @@ -1,10 +1,8 @@ discard """ cmd: "nim check $file" - nimout: '''teffects1.nim(22, 28) template/generic instantiation from here -teffects1.nim(23, 13) Error: can raise an unlisted exception: ref IOError -teffects1.nim(22, 29) Hint: 'lier' cannot raise 'IO2Error' [XCannotRaiseY] -teffects1.nim(38, 21) Error: type mismatch: got <proc (x: int): string{.noSideEffect, gcsafe, locks: 0.}> but expected 'MyProcType = proc (x: int): string{.closure.}' -.raise effects differ''' + nimout: ''' +teffects1.nim(17, 28) template/generic instantiation from here +''' """ {.push warningAsError[Effect]: on.} type @@ -16,11 +14,10 @@ type proc forw: int {. .} -proc lier(): int {.raises: [IO2Error].} = - #[tt.Hint ^ 'lier' cannot raise 'IO2Error' [XCannotRaiseY] ]# +proc lier(): int {.raises: [IO2Error].} = #[tt.Hint + ^ 'lier' cannot raise 'IO2Error' [XCannotRaiseY] ]# writeLine stdout, "arg" #[tt.Error - ^ can raise an unlisted exception: ref IOError - ]# + ^ writeLine stdout, ["arg"] can raise an unlisted exception: ref IOError ]# proc forw: int = raise newException(IOError, "arg") @@ -38,7 +35,7 @@ proc foo(x: int): string {.raises: [ValueError].} = var p: MyProcType = foo #[tt.Error ^ type mismatch: got <proc (x: int): string{.noSideEffect, gcsafe, locks: 0.}> but expected 'MyProcType = proc (x: int): string{.closure.}' - +.raise effects differ ]# {.pop.} {.pop.} |