mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-31 10:22:15 +00:00
* fixes #21704; remove `nfIsRef` for genLit * remove nfIsRef from the output of macros * make the logic better * try again * act together * excl nfIsRef
70 lines
1.8 KiB
Nim
70 lines
1.8 KiB
Nim
discard """
|
|
matrix: "--hints:off"
|
|
nimout: '''
|
|
Found 2 tests to run.
|
|
Found 3 benches to compile.
|
|
|
|
--passC:-Wno-stringop-overflow --passL:-Wno-stringop-overflow
|
|
|
|
--passC:-Wno-stringop-overflow --passL:-Wno-stringop-overflow
|
|
|
|
--passC:-Wno-stringop-overflow --passL:-Wno-stringop-overflow
|
|
'''
|
|
"""
|
|
# bug #21704
|
|
import std/strformat
|
|
|
|
const testDesc: seq[string] = @[
|
|
"tests/t_hash_sha256_vs_openssl.nim",
|
|
"tests/t_cipher_chacha20.nim"
|
|
]
|
|
const benchDesc = [
|
|
"bench_sha256",
|
|
"bench_hash_to_curve",
|
|
"bench_ethereum_bls_signatures"
|
|
]
|
|
|
|
proc setupTestCommand(flags, path: string): string =
|
|
return "nim c -r " &
|
|
flags &
|
|
&" --nimcache:nimcache/{path} " & # Commenting this out also solves the issue
|
|
path
|
|
|
|
proc testBatch(commands: var string, flags, path: string) =
|
|
commands &= setupTestCommand(flags, path) & '\n'
|
|
|
|
proc setupBench(benchName: string): string =
|
|
var runFlags = if false: " -r "
|
|
else: " " # taking this branch is needed to trigger the bug
|
|
|
|
echo runFlags # Somehow runflags isn't reset in corner cases
|
|
runFlags &= " --passC:-Wno-stringop-overflow --passL:-Wno-stringop-overflow "
|
|
echo runFlags
|
|
|
|
return "nim c " &
|
|
runFlags &
|
|
&" benchmarks/{benchName}.nim"
|
|
|
|
proc buildBenchBatch(commands: var string, benchName: string) =
|
|
let command = setupBench(benchName)
|
|
commands &= command & '\n'
|
|
|
|
proc addTestSet(cmdFile: var string) =
|
|
echo "Found " & $testDesc.len & " tests to run."
|
|
|
|
for path in testDesc:
|
|
var flags = "" # This is important
|
|
cmdFile.testBatch(flags, path)
|
|
|
|
proc addBenchSet(cmdFile: var string) =
|
|
echo "Found " & $benchDesc.len & " benches to compile."
|
|
for bd in benchDesc:
|
|
cmdFile.buildBenchBatch(bd)
|
|
|
|
proc task_bug() =
|
|
var cmdFile: string
|
|
cmdFile.addTestSet() # Comment this out and there is no bug
|
|
cmdFile.addBenchSet()
|
|
|
|
static: task_bug()
|