diff options
author | Ganesh Viswanathan <dev@genotrance.com> | 2018-09-15 14:33:33 -0500 |
---|---|---|
committer | Ganesh Viswanathan <dev@genotrance.com> | 2018-09-15 14:33:33 -0500 |
commit | ae8e907edb1ef43865c6f7d1be048dd464c51457 (patch) | |
tree | cb9bdac38f5a2e3aaf9f9211aa45c738a2775afb /tests | |
parent | 80520eef3cce0b3145dedc71a6652429adb9cc9e (diff) | |
parent | 0e33a8676e325fa4174893291ed41d59b689c577 (diff) | |
download | Nim-ae8e907edb1ef43865c6f7d1be048dd464c51457.tar.gz |
Merge remote-tracking branch 'upstream/devel' into test-6483
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/ccgbugs/t8967.nim | 10 |
3 files changed, 42 insertions, 11 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/ccgbugs/t8967.nim b/tests/ccgbugs/t8967.nim new file mode 100644 index 000000000..e342b7eae --- /dev/null +++ b/tests/ccgbugs/t8967.nim @@ -0,0 +1,10 @@ +discard """ + targets: "c cpp" +""" + +import marshal + +let orig: set[char] = {'A'..'Z'} +let m = $$orig +let old = to[set[char]](m) +doAssert orig - old == {} |