diff options
author | c-blake <c-blake@users.noreply.github.com> | 2024-07-07 10:51:42 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-07 12:51:42 +0200 |
commit | 4faa15f3ad6504c3ba808e63ecd729d3fc3cb78a (patch) | |
tree | f60e8f2524195c8605d6f3e8e6c478a5534f0ab9 /tests/stdlib/thashes.nim | |
parent | 1dcc364cd2e284f831735e0fe9b988b08c82ac4f (diff) | |
download | Nim-4faa15f3ad6504c3ba808e63ecd729d3fc3cb78a.tar.gz |
Replacement PR for https://github.com/nim-lang/Nim/pull/23779 that (#23793)
makes new hash the default, with an opt-out (& js-no-big-int) define. Also update changelog (& fix one typo). Only really expect the chronos hash-order sensitive test to fail until they merge that PR and tag a new release.
Diffstat (limited to 'tests/stdlib/thashes.nim')
-rw-r--r-- | tests/stdlib/thashes.nim | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/tests/stdlib/thashes.nim b/tests/stdlib/thashes.nim index f7a1db232..4555fbcb3 100644 --- a/tests/stdlib/thashes.nim +++ b/tests/stdlib/thashes.nim @@ -1,5 +1,5 @@ discard """ - matrix: "--mm:refc; --mm:orc; --backend:cpp; --backend:js --jsbigint64:on; --backend:js --jsbigint64:off; --backend:c -d:nimPreviewHashFarm; --backend:cpp -d:nimPreviewHashFarm; --backend:js -d:nimPreviewHashFarm" + matrix: "--mm:refc; --mm:orc; --backend:cpp; --backend:js --jsbigint64:on; --backend:c -d:nimStringHash2; --backend:cpp -d:nimStringHash2; --backend:js -d:nimStringHash2" """ import std/hashes @@ -46,10 +46,18 @@ block hashes: else: doAssert hashWangYi1(456) == -6421749900419628582 +template jsNoInt64: untyped = + when defined js: + when compiles(compileOption("jsbigint64")): + when not compileOption("jsbigint64"): true + else: false + else: false + else: false +const sHash2 = (when defined(nimStringHash2) or jsNoInt64(): true else: false) + block empty: const emptyStrHash = # Hash=int=4B on js even w/--jsbigint64:on => cast[Hash] - when defined nimPreviewHashFarm: cast[Hash](-7286425919675154353i64) - else: 0 + when sHash2: 0 else: cast[Hash](-7286425919675154353i64) var a = "" b = newSeq[char]() @@ -96,8 +104,7 @@ block largeSize: # longer than 4 characters proc main() = doAssert hash(0.0) == hash(0) # bug #16061 - when defined nimPreviewHashFarm: # Default switched -> `not nimStringHash2` - # Hash=int=4B on js even w/--jsbigint64:on => cast[Hash] + when not sHash2: # Hash=int=4B on js even w/--jsbigint64:on => cast[Hash] doAssert hash(cstring"abracadabra") == cast[Hash](-1119910118870047694i64) else: doAssert hash(cstring"abracadabra") == 97309975 |