fix(test): expect_eq and expect_near compare floats as floats
On a float or double they emitted an i32 compare and clang refused the IR; they compare as the wider float kind now and a failure prints the numbers with %g. Reseed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
f5e7fe4245
commit
31d842fca4
8 changed files with 21598 additions and 20759 deletions
|
|
@ -1782,7 +1782,8 @@ ludicc app.ludic --emit-llvm -o app.ll # stop at LLVM IR
|
|||
```
|
||||
|
||||
A test program is a file of `test "name" { ... }` blocks with `expect(cond)`, `expect_eq(a, b)` and
|
||||
`expect_near(a, b, tol)` in them; a test block is type-checked like `entry`, so a generic function
|
||||
`expect_near(a, b, tol)` in them (on ints and fixeds, or on floats and doubles, which compare - and
|
||||
print - as floats); a test block is type-checked like `entry`, so a generic function
|
||||
called from one works as it does anywhere. `ludic test` finds `tests/*.ludic` and `src/**/*_test.ludic`;
|
||||
given a directory, it runs every `*_test.ludic` under it and every file straight inside a `tests/`
|
||||
directory under it. **Each test block runs in a process of its own**, so a global one test changes
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue