From ccad8252c3640bd90082ade2c673dce86ef58dd7 Mon Sep 17 00:00:00 2001 From: ringabout <43030857+ringabout@users.noreply.github.com> Date: Sat, 24 Sep 2022 01:37:21 +0800 Subject: [PATCH] close #15955; add a test case (#20414) --- tests/misc/m15955.nim | 4 ++++ tests/misc/m15955_main.nim | 11 +++++++++++ tests/misc/t15955.nim | 22 ++++++++++++++++++++++ 3 files changed, 37 insertions(+) create mode 100644 tests/misc/m15955.nim create mode 100644 tests/misc/m15955_main.nim create mode 100644 tests/misc/t15955.nim diff --git a/tests/misc/m15955.nim b/tests/misc/m15955.nim new file mode 100644 index 0000000000000..22da345db0702 --- /dev/null +++ b/tests/misc/m15955.nim @@ -0,0 +1,4 @@ +proc add*(a, b: int): int {.cdecl, exportc.} = + a + b +proc sub*(a, b: int): int {.cdecl, exportc.} = + a - b \ No newline at end of file diff --git a/tests/misc/m15955_main.nim b/tests/misc/m15955_main.nim new file mode 100644 index 0000000000000..a71af81219fd2 --- /dev/null +++ b/tests/misc/m15955_main.nim @@ -0,0 +1,11 @@ +import stdtest/specialpaths +import std/os + +const buildLib = buildDir / "libD20220923T19380" + +{.passL: buildLib.} +proc add*(a, b: int):int {.cdecl, importc.} +proc sub*(a, b: int):int {.cdecl, importc.} + +echo add(10, 5) +echo sub(10, 5) diff --git a/tests/misc/t15955.nim b/tests/misc/t15955.nim new file mode 100644 index 0000000000000..7441e5398270b --- /dev/null +++ b/tests/misc/t15955.nim @@ -0,0 +1,22 @@ +discard """ +joinable: false +""" + +import stdtest/specialpaths +import std/[osproc, strformat, os] + +const + nim = getCurrentCompilerExe() + buildLib = buildDir / "libD20220923T19380" + currentDir = splitFile(currentSourcePath).dir + file = currentDir / "m15955.nim" + main = currentDir / "m15955_main.nim" + + +proc runCmd(cmd: string) = + let (msg, code) = execCmdEx(cmd) + doAssert code == 0, msg + + +runCmd fmt"{nim} c -o:{buildLib} --nomain --nimMainPrefix:libA -f --app:staticlib {file}" +runCmd fmt"{nim} c -r {main}"