refactored the testing system, fixed fput and removed arr_asm.sl

This commit is contained in:
igor
2026-02-16 14:32:13 +01:00
parent 02f54b8f86
commit 81ee4a8ff9
55 changed files with 683 additions and 376 deletions

1
extra_tests/args.args Normal file
View File

@@ -0,0 +1 @@
foo bar

View File

@@ -0,0 +1,3 @@
./build/args
foo
bar

10
extra_tests/args.sl Normal file
View File

@@ -0,0 +1,10 @@
import stdlib/stdlib.sl
word main
0 argc for
dup
argv@ dup strlen puts
1 +
end
0
end

View File

@@ -0,0 +1,3 @@
10
4.000000
3.141593

View File

@@ -0,0 +1,4 @@
{
"description": "C-style extern demo against libc/libm",
"libs": ["libc.so.6", "m"]
}

23
extra_tests/c_extern.sl Normal file
View File

@@ -0,0 +1,23 @@
import stdlib.sl
import float.sl
# C-style externs (auto ABI handling)
extern long labs(long n)
extern void exit(int status)
extern double atan2(double y, double x)
word main
# Test C-style extern with implicit ABI handling
-10 labs puti cr
1.5 2.5 f+ # 4.0
fputln
# External math library (libm)
10.0 10.0 atan2 # Result is pi/4
4.0 f* # Approx pi
fputln
# Test extern void
0 exit
end

View File

@@ -0,0 +1,2 @@
hello world
[info] built /home/igor/programming/IgorCielniak/l2/build/ct_test

View File

@@ -0,0 +1 @@
hello world

View File

@@ -0,0 +1,4 @@
{
"description": "compile-time hello world demo",
"requires": ["keystone"]
}

7
extra_tests/ct_test.sl Normal file
View File

@@ -0,0 +1,7 @@
import stdlib/stdlib.sl
import stdlib/io.sl
word main
"hello world" puts
end
compile-time main

View File

@@ -0,0 +1,3 @@
1
5
3

View File

@@ -0,0 +1,4 @@
{
"description": "fn DSL lowering smoke test",
"requires": ["keystone"]
}

21
extra_tests/fn_test.sl Normal file
View File

@@ -0,0 +1,21 @@
import stdlib/stdlib.sl
import stdlib/io.sl
import libs/fn.sl
fn foo(int a, int b){
1
puti cr
return a b +;
}
fn bar(int a, int b){
return a + b;
}
word main
extend-syntax
foo(3, 2)
puti cr
bar(1, 2)
puti cr
end

View File

@@ -0,0 +1,4 @@
{
"description": "shell wrapper demo; compile-only to avoid nondeterministic ls output",
"compile_only": true
}

5
extra_tests/nob_test.sl Normal file
View File

@@ -0,0 +1,5 @@
import libs/nob.sl
word main
"ls" sh
end