12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- 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()
|