diff options
author | ringabout <43030857+ringabout@users.noreply.github.com> | 2022-09-23 19:05:05 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-23 13:05:05 +0200 |
commit | 7739e23420c9a7a4ec7eccdddc0a39df9e905aa8 (patch) | |
tree | c2ec38a9dfa480a1bf8908ad95fa7212f7b9d78f /tests/misc | |
parent | 47b59e4d3315dbcb0b17d305f43cc35e4eb89e51 (diff) | |
download | Nim-7739e23420c9a7a4ec7eccdddc0a39df9e905aa8.tar.gz |
defaults to ORC (#19972)
* defaults to Orc * bootstrap using refc * use gc * init orc defines * unregister orc * fix gc * fix commands * add prepareMutation for orc * enable deepcopy for orc * prepareMutation * more fixes * some cases * bug #20081 * partial fixes * partial fixes * fixes command line * more fixes * build Nim with refc * use gc * more fixes * rstore * orc doesn't support threadpool * more shallowCopy * more fixes * fixes unsafeNew * workarounds * small * more fixes * fixes some megatest * tcodegenbugs1 refc * fxies megatest * build nimble with refc * workaround tensordsl tests * replace shallowCopy with move * fixes action * workaround * add todo * fixes important packages * unpublic unregisterArcOrc * fixes cpp * enable windows Co-authored-by: xflywind <43030857+xflywind@users.noreply.github.com>
Diffstat (limited to 'tests/misc')
-rw-r--r-- | tests/misc/taddr.nim | 14 | ||||
-rw-r--r-- | tests/misc/tnew.nim | 2 | ||||
-rw-r--r-- | tests/misc/trunner_special.nim | 2 | ||||
-rw-r--r-- | tests/misc/tunsignedconv.nim | 3 |
4 files changed, 18 insertions, 3 deletions
diff --git a/tests/misc/taddr.nim b/tests/misc/taddr.nim index 631c9f265..48d4928ac 100644 --- a/tests/misc/taddr.nim +++ b/tests/misc/taddr.nim @@ -32,6 +32,10 @@ doAssert objDeref.x == 42 # String tests obj.s = "lorem ipsum dolor sit amet" +when defined(gcArc) or defined(gcOrc): + prepareMutation(obj.s) + + var indexAddr = addr(obj.s[2]) doAssert indexAddr[] == 'r' @@ -232,8 +236,17 @@ block: # bug #15939 const bar = proc2(foo) doAssert bar == "foo" +template prepareMutationForOrc(x: string) = + when defined(gcArc) or defined(gcOrc): + when nimvm: + discard + else: + prepareMutation(x) + proc test15939() = # bug #15939 (v2) template fn(a) = + when typeof(a) is string: + prepareMutationForOrc(a) let pa = a[0].addr doAssert pa != nil doAssert pa[] == 'a' @@ -253,6 +266,7 @@ proc test15939() = # bug #15939 (v2) # mycstring[ind].addr template cstringTest = var a2 = "abc" + prepareMutationForOrc(a2) var b2 = a2.cstring fn(b2) when nimvm: cstringTest() diff --git a/tests/misc/tnew.nim b/tests/misc/tnew.nim index 2d9a64461..41ef3fa19 100644 --- a/tests/misc/tnew.nim +++ b/tests/misc/tnew.nim @@ -1,4 +1,5 @@ discard """ +matrix: "--mm:refc" outputsub: ''' Simple tree node allocation worked! Simple cycle allocation worked! @@ -10,6 +11,7 @@ joinable: false # and the code generation for gc walkers # (and the garbage collector): +## todo fixme it doesn't work for ORC type PNode = ref TNode TNode = object diff --git a/tests/misc/trunner_special.nim b/tests/misc/trunner_special.nim index 47ba44a29..50a2e4d5a 100644 --- a/tests/misc/trunner_special.nim +++ b/tests/misc/trunner_special.nim @@ -26,6 +26,6 @@ proc main = block: # SSL nimDisableCertificateValidation integration tests runCmd fmt"{nim} r {options} -d:nimDisableCertificateValidation -d:ssl {testsDir}/untestable/thttpclient_ssl_disabled.nim" block: # SSL certificate check integration tests - runCmd fmt"{nim} r {options} -d:ssl --threads:on {testsDir}/untestable/thttpclient_ssl_remotenetwork.nim" + runCmd fmt"{nim} r {options} -d:ssl --threads:on --mm:refc {testsDir}/untestable/thttpclient_ssl_remotenetwork.nim" main() diff --git a/tests/misc/tunsignedconv.nim b/tests/misc/tunsignedconv.nim index 0acb39106..b04ddd2bb 100644 --- a/tests/misc/tunsignedconv.nim +++ b/tests/misc/tunsignedconv.nim @@ -66,8 +66,7 @@ let limit = 1'u64 let rangeVar = 0'u64 ..< limit -doAssert repr(rangeVar) == """[a = 0, -b = 0]""" +doAssert repr(rangeVar) == """0 .. 0""", repr(rangeVar) # bug #15210 |