mirror of
https://github.com/nim-lang/Nim.git
synced 2026-01-03 19:52:36 +00:00
* assertions: properly fix #11545
* tests/assert: enable excessiveStackTrace
* tests/assert: add test case for #11545
* tfailedassert_stacktrace: disable excessiveStackTrace
* assertions: weird workaround for failing tests
This fixes megatest on *nix, but have no idea why
(cherry picked from commit 2c10b246ec)
This commit is contained in:
1
tests/assert/config.nims
Normal file
1
tests/assert/config.nims
Normal file
@@ -0,0 +1 @@
|
||||
--excessiveStackTrace:on
|
||||
@@ -1,9 +1,9 @@
|
||||
from strutils import endsWith, split
|
||||
from os import isAbsolute
|
||||
|
||||
proc checkMsg*(msg, expectedEnd, name: string)=
|
||||
proc checkMsg*(msg, expectedEnd, name: string, absolute = true)=
|
||||
let filePrefix = msg.split(' ', maxSplit = 1)[0]
|
||||
if not filePrefix.isAbsolute:
|
||||
if absolute and not filePrefix.isAbsolute:
|
||||
echo name, ":not absolute: `", msg & "`"
|
||||
elif not msg.endsWith expectedEnd:
|
||||
echo name, ":expected suffix:\n`" & expectedEnd & "`\ngot:\n`" & msg & "`"
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
discard """
|
||||
cmd: "nim $target $options --excessiveStackTrace:off $file"
|
||||
output: '''true'''
|
||||
"""
|
||||
|
||||
const expected = """
|
||||
tfailedassert_stacktrace.nim(34) tfailedassert_stacktrace
|
||||
tfailedassert_stacktrace.nim(33) foo
|
||||
tfailedassert_stacktrace.nim(35) tfailedassert_stacktrace
|
||||
tfailedassert_stacktrace.nim(34) foo
|
||||
assertions.nim(*) failedAssertImpl
|
||||
assertions.nim(*) raiseAssert
|
||||
fatal.nim(*) sysFatal"""
|
||||
|
||||
11
tests/assert/trelativeassert.nim
Normal file
11
tests/assert/trelativeassert.nim
Normal file
@@ -0,0 +1,11 @@
|
||||
discard """
|
||||
cmd: "nim $target $options --excessiveStackTrace:off $file"
|
||||
output: '''
|
||||
test:ok
|
||||
'''
|
||||
"""
|
||||
import testhelper
|
||||
try:
|
||||
doAssert(false, "msg")
|
||||
except AssertionError as e:
|
||||
checkMsg(e.msg, "trelativeassert.nim(9, 11) `false` msg", "test", false)
|
||||
Reference in New Issue
Block a user