diff options
author | Ganesh Viswanathan <dev@genotrance.com> | 2018-09-15 14:33:47 -0500 |
---|---|---|
committer | Ganesh Viswanathan <dev@genotrance.com> | 2018-09-15 14:33:47 -0500 |
commit | 9fc0a9ad420876ba9548aa56d4120d6b9bd3a282 (patch) | |
tree | 8c31ac5d33be117876bf4577b6ca0e76be512b4d /tests/assert/tfailedassert_stacktrace.nim | |
parent | 9340885251e7791ee5a03f2b75e168f341e231e5 (diff) | |
parent | 0e33a8676e325fa4174893291ed41d59b689c577 (diff) | |
download | Nim-9fc0a9ad420876ba9548aa56d4120d6b9bd3a282.tar.gz |
Merge remote-tracking branch 'upstream/devel' into test-7010
Diffstat (limited to 'tests/assert/tfailedassert_stacktrace.nim')
-rw-r--r-- | tests/assert/tfailedassert_stacktrace.nim | 35 |
1 files changed, 27 insertions, 8 deletions
diff --git a/tests/assert/tfailedassert_stacktrace.nim b/tests/assert/tfailedassert_stacktrace.nim index 43171ef6c..6505f189c 100644 --- a/tests/assert/tfailedassert_stacktrace.nim +++ b/tests/assert/tfailedassert_stacktrace.nim @@ -1,13 +1,31 @@ discard """ - output: ''' -tfailedassert_stacktrace.nim(16) tfailedassert_stacktrace -tfailedassert_stacktrace.nim(15) foo -system.nim(3778) failedAssertImpl -system.nim(3771) raiseAssert -system.nim(2818) sysFatal -''' + output: '''true''' """ +const expected = """ +tfailedassert_stacktrace.nim(34) tfailedassert_stacktrace +tfailedassert_stacktrace.nim(33) foo +system.nim(*) failedAssertImpl +system.nim(*) raiseAssert +system.nim(*) sysFatal""" + +proc tmatch(x, p: string): bool = + var i = 0 + var k = 0 + while i < p.len: + if p[i] == '*': + let oldk = k + while k < x.len and x[k] in {'0'..'9'}: inc k + # no digit skipped? + if oldk == k: return false + inc i + elif k < x.len and p[i] == x[k]: + inc i + inc k + else: + return false + while k < x.len and x[k] in {' ', '\L', '\C'}: inc k + result = i >= p.len and k >= x.len try: @@ -16,4 +34,5 @@ try: foo() except AssertionError: let e = getCurrentException() - echo e.getStackTrace + let trace = e.getStackTrace + echo tmatch(trace, expected) |