diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/assert/tfailedassert_stacktrace.nim | 35 | ||||
-rw-r--r-- | tests/async/tasyncfilewrite.nim | 8 | ||||
-rw-r--r-- | tests/misc/tnoforward.nim | 3 | ||||
-rw-r--r-- | tests/modules/treorder.nim | 3 | ||||
-rw-r--r-- | tests/pragmas/treorder.nim | 5 |
5 files changed, 38 insertions, 16 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) diff --git a/tests/async/tasyncfilewrite.nim b/tests/async/tasyncfilewrite.nim index cda612bae..8439778ca 100644 --- a/tests/async/tasyncfilewrite.nim +++ b/tests/async/tasyncfilewrite.nim @@ -6,12 +6,14 @@ string 3''' # bug #5532 import os, asyncfile, asyncdispatch -removeFile("test.txt") -let f = openAsync("test.txt", fmWrite) +const F = "test_async.txt" + +removeFile(F) +let f = openAsync(F, fmWrite) var futs = newSeq[Future[void]]() for i in 1..3: futs.add(f.write("string " & $i & "\n")) waitFor(all(futs)) f.close() -echo readFile("test.txt") +echo readFile(F) diff --git a/tests/misc/tnoforward.nim b/tests/misc/tnoforward.nim index 342e757b8..3e96e3489 100644 --- a/tests/misc/tnoforward.nim +++ b/tests/misc/tnoforward.nim @@ -2,7 +2,8 @@ discard """ disabled: true """ -{. noforward: on .} +# {. noforward: on .} +{.experimental: "codeReordering".} proc foo(x: int) = bar x diff --git a/tests/modules/treorder.nim b/tests/modules/treorder.nim index 8715e4548..c81715cd8 100644 --- a/tests/modules/treorder.nim +++ b/tests/modules/treorder.nim @@ -6,8 +6,7 @@ defined 3''' """ -{.reorder: on.} -{.experimental.} +{.experimental: "codeReordering".} proc bar(x: T) diff --git a/tests/pragmas/treorder.nim b/tests/pragmas/treorder.nim index 1006af527..659a6f644 100644 --- a/tests/pragmas/treorder.nim +++ b/tests/pragmas/treorder.nim @@ -6,7 +6,8 @@ output:'''0 """ import macros -{.reorder: on .} +# {.reorder: on .} +{.experimental: "codeReordering".} echo foo(-1) echo callWithFoo(0) @@ -71,4 +72,4 @@ macro make(arg: untyped): untyped = proc first(i: int): void = make(second) -var ss {.compileTime.}: string = "" \ No newline at end of file +var ss {.compileTime.}: string = "" |