test: group examples into per-category folders

Move examples/*.sx and their expected/ snapshots into per-category
subfolders (examples/<category>/...). Folder = leading filename token,
with ffi-objc/ffi-jni kept whole; filenames are unchanged. The corpus
runner and LSP sweep now discover each category's expected/ dir, while
issues/ stays flat. Example 1058's repo-root-relative companion import
is made file-relative. Path strings embedded in 164 snapshots were
regenerated (path-only changes). Test-layout docs in CLAUDE.md updated.
This commit is contained in:
agra
2026-06-21 14:41:34 +03:00
parent 6d1409bc1f
commit 66bdc70bf1
3357 changed files with 456 additions and 363 deletions

View File

@@ -0,0 +1 @@
0

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1 @@
abi(.c): 42

View File

@@ -0,0 +1 @@
0

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1,2 @@
inline: pw=320, ph=321, frame=1
wrapper: pw=640, ph=641, frame=2

View File

@@ -0,0 +1 @@
0

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1 @@
0

View File

@@ -0,0 +1 @@
0

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1,2 @@
stdin extern global non-null: true
helper file linked: true

View File

@@ -0,0 +1 @@
0

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1,2 @@
swap = (2, 1)
ok = true

View File

@@ -0,0 +1 @@
0

View File

@@ -0,0 +1,3 @@
direct non-null = true
helper non-null = true
eq = true

View File

@@ -0,0 +1 @@
0

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1,2 @@
ok (passthrough works) = true
ok (passthrough via #objc_call) = true

View File

@@ -0,0 +1 @@
0

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1,13 @@
ffi_id_int(-42) = -42
ffi_id_short(-1234) = -1234
ffi_id_i64(huge) = 9000000000000000000
ffi_id_uint(0xDEADBEEF) = 3735928559
ffi_id_ushort(0xFFFF) = 65535
ffi_id_u64(0x7FEE...) = 9218551421072305134
ffi_id_schar(127) = 127
ffi_id_uchar(255) = 255
ffi_id_f32(3.5) = 3.500000
ffi_id_f64(1.5) = 1.500000
ffi_id_ptr roundtrip = true
ffi_add_int(7, 8) = 15
ffi_add_double(0.25, 0.75) = 1.000000

View File

@@ -0,0 +1 @@
0

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1,12 @@
vec2 make = (1.500000, 2.500000)
vec2 swap = (2.500000, 1.500000)
vec2 sum = 4.000000
vec4f make = (1.000000, 2.000000, 3.000000, 4.000000)
vec4f rev = (4.000000, 3.000000, 2.000000, 1.000000)
vec4f sum = 10.000000
pair64 make = (100, 200)
pair64 swap = (200, 100)
pair64 sum = 300
quad32 make = (10, 20, 30, 40)
quad32 rev = (40, 30, 20, 10)
quad32 sum = 100

View File

@@ -0,0 +1 @@
0

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1,6 @@
big24 make = (1, 2, 3)
big24 rotate = (3, 1, 2)
big24 sum = 6
big48 make = (10, 20, 30, 40, 50, 60)
big48 reverse = (60, 50, 40, 30, 20, 10)
big48 sum = 210

View File

@@ -0,0 +1 @@
0

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1,6 @@
fquad make = (1.000000, 2.000000, 3.000000, 4.000000)
fquad rev = (4.000000, 3.000000, 2.000000, 1.000000)
fquad sum = 10.000000
dquad make = (1.500000, 2.500000, 3.500000, 4.500000)
dquad rev = (4.500000, 3.500000, 2.500000, 1.500000)
dquad sum = 12.000000

View File

@@ -0,0 +1 @@
0

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1,7 @@
strlen("hello") = 5
first_byte = 104
strlen(sx string) = 14
sum_bytes([10,20,30,40]) = 100
bytes[1] after write = 99
static greeting len = 12
static greeting [0] = 104

View File

@@ -0,0 +1 @@
0

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1,7 @@
callback returned = 42
hits after first call = 1
sum after first call = 21
hits after three calls = 3
sum after three calls = 39
ctx + value = 142
hits after ctx callback = 4

View File

@@ -0,0 +1 @@
0

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1,2 @@
add(3, 4) = 7
mul(6, 7) = 42

View File

@@ -0,0 +1 @@
0

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1,5 @@
method next 1 = 10
method next 2 = 20
protocol = 60
closure(5) = 150
inline if macos = 70

View File

@@ -0,0 +1 @@
0

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1,13 @@
peek after make = 100
bump(+5) = 105
bump(+3) = 108
peek after bumps = 108
ctr label = ctr-a
ctr peek = 50
ctr after bump = 57
list[0] peek = 0
list[1] peek = 10
list[2] peek = 20
list[0] after bump= 1
list[1] after bump= 11
list[2] after bump= 21

View File

@@ -0,0 +1 @@
0

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1,2 @@
=== 15. Extern ===
extern-rename: 42

View File

@@ -0,0 +1,4 @@
pick(10,20,0) = 10
pick(10,20,1) = 20
sum(10,20) = 30
i2(4) bare = 104

View File

@@ -0,0 +1 @@
0

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1,3 @@
strerror(2) len ok
optional non-null ok
optional null ok

View File

@@ -0,0 +1 @@
0

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1,3 @@
strerror ok
?cstring ok
round trip ok

View File

@@ -0,0 +1 @@
0

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1,2 @@
abs(-7) = 7
abs(42) = 42

View File

@@ -0,0 +1 @@
0

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1 @@
c_abs(-42) = 42

View File

@@ -0,0 +1 @@
0

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1 @@
stdin extern global non-null: true

View File

@@ -0,0 +1 @@
{ "aot": true }

View File

@@ -0,0 +1 @@
0

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1,2 @@
call_sx_square(6) = 37
call_sx_square(9) = 82

View File

@@ -0,0 +1 @@
{ "aot": true }

View File

@@ -0,0 +1 @@
0

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1 @@
call_triple(7) = 22

View File

@@ -0,0 +1 @@
1

View File

@@ -0,0 +1,11 @@
error: C function 'c_abs_one' not visible; add #import for the module that declares it
--> examples/ffi/1228-ffi-extern-c-non-transitive.sx:11:19
|
11 | print("{}\n", c_abs_one(-3));
| ^^^^^^^^^
error: C function 'c_abs_two' not visible; add #import for the module that declares it
--> examples/ffi/1228-ffi-extern-c-non-transitive.sx:12:19
|
12 | print("{}\n", c_abs_two(-4));
| ^^^^^^^^^

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1 @@
0

View File

@@ -0,0 +1 @@

View File

@@ -0,0 +1,4 @@
sum_ints(3, 10, 20, 30) = 60
sum_ints(0) = 0
avg_doubles(2) = 2.000000
avg_doubles(3) = 2.000000

View File

@@ -0,0 +1 @@
0

View File

@@ -0,0 +1 @@
absval = 7

View File

@@ -0,0 +1 @@
1

View File

@@ -0,0 +1,5 @@
error: extern library 'nosuchunit' is not declared; expected a #library constant or a named '#import c' unit
--> examples/ffi/1231-ffi-extern-undeclared-lib.sx:14:1
|
14 | c_abs :: (n: i32) -> i32 extern nosuchunit "abs";
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

View File

@@ -0,0 +1 @@