summary refs log tree commit diff stats
path: root/tests
diff options
context:
space:
mode:
authorGanesh Viswanathan <dev@genotrance.com>2018-09-15 14:33:33 -0500
committerGanesh Viswanathan <dev@genotrance.com>2018-09-15 14:33:33 -0500
commitae8e907edb1ef43865c6f7d1be048dd464c51457 (patch)
treecb9bdac38f5a2e3aaf9f9211aa45c738a2775afb /tests
parent80520eef3cce0b3145dedc71a6652429adb9cc9e (diff)
parent0e33a8676e325fa4174893291ed41d59b689c577 (diff)
downloadNim-ae8e907edb1ef43865c6f7d1be048dd464c51457.tar.gz
Merge remote-tracking branch 'upstream/devel' into test-6483
Diffstat (limited to 'tests')
-rw-r--r--tests/assert/tfailedassert_stacktrace.nim35
-rw-r--r--tests/async/tasyncfilewrite.nim8
-rw-r--r--tests/ccgbugs/t8967.nim10
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 == {}