some test cleanups & category reorganization (#22010)

* clean up some test categories

* mention exact slice issue

* magics into system

* move trangechecks into overflow

* move tmemory to system

* try fix CI

* try fix CI

* final CI fix
This commit is contained in:
metagn
2023-06-06 07:54:07 +03:00
committed by GitHub
parent 2ab948ce53
commit b97d603cd0
134 changed files with 189 additions and 374 deletions

3
tests/c/tcompile.c Normal file
View File

@@ -0,0 +1,3 @@
int foo(int a, int b) {
return a+b;
}

10
tests/c/tcompile.nim Normal file
View File

@@ -0,0 +1,10 @@
discard """
output: '''44'''
joinable: "false"
"""
{.compile: "tcompile.c".}
proc foo(a, b: cint): cint {.importc: "foo", cdecl.}
echo foo(40, 4)

15
tests/c/temit.nim Normal file
View File

@@ -0,0 +1,15 @@
discard """
output: "509"
"""
# Test the new ``emit`` pragma:
{.emit: """
static int cvariable = 420;
""".}
proc embedsC() =
var nimVar = 89
{.emit: """printf("%d\n", cvariable + (int)`nimVar`);""".}
embedsC()

View File

@@ -0,0 +1,39 @@
discard """
targets: "c cpp"
"""
import macros
macro make_test_type(idents: varargs[untyped]): untyped =
result = nnkStmtList.newTree()
var ident_defs: seq[NimNode] = @[]
for i in idents:
ident_defs.add newIdentDefs(i, ident("int"))
result.add newTree(nnkTypeSection,
newTree(nnkTypeDef,
ident("TestType"),
newEmptyNode(),
newTree(nnkObjectTy,
newEmptyNode(),
newEmptyNode(),
newTree(nnkRecList,
ident_defs
)
)
)
)
make_test_type(
auto, bool, catch, char, class, compl, const_cast, default, delete, double,
dynamic_cast, explicit, extern, false, float, friend, goto, int, long,
mutable, namespace, new, operator, private, protected, public, register,
reinterpret_cast, restrict, short, signed, sizeof, static_cast, struct, switch,
this, throw, true, typedef, typeid, typeof, typename, union, packed, unsigned,
virtual, void, volatile, wchar_t, alignas, alignof, constexpr, decltype, nullptr,
noexcept, thread_local, static_assert, char16_t, char32_t
)
# Make sure the type makes it to codegen.
var test_instance: TestType