Did the tests ever pass on Windows for the LLVM backend?
Lots of cli tests used to pass, I think those were using the LLVM backend.
yeah cli tests passed, llvm I think mostly did but I'm not sure I got them all
Ahk, these must have regressed I think. Current main has only a handful of tests pass using LLVM backend. I've revived an older PR 5694 and updated it, and now most of the tests pass for LLVM - including 100% of the zig builtin tests. (sorry if this is not super confident... it takes an awful long time to run the test suite on Windows most tests are between 5-20 seconds to run)
Can you share the ones that work now? I'll make sure they are tested in CI.
I think we should mostly do this on a module level (e.g. make sure all of gen_num
works). Individual tests are annoying to keep track of
If someone has a look at 5694... I've just stumbled my way through to making tests compile and run on Windows but I am not confident I'm actually fixing anything.
Happy to polish that up further, and then we should be pretty close to getting whole modules working. E.g. for gen_str
there are only 5 FAIL, and gen_num
only 27 FAIL and they all look like similar form of LLVM error: Did not get return value from bitcode function "roc_builtins.str.to_int.u64"
etc... so I'm hoping an easy fix.
Also, I apologise for the unsigned commits... still figuring out how to fix that using my Mac, the Windows machine doesn't have my gpg key.
No problem, I can take look today or tomorrow if no one else wants it.
I also don't yet have commit signing set up on windows, I'll try to make a guide.
https://gitlab.com/-/snippets/1693803
Maybe this helps, this is the one I made for myself, for every time I re-install windows :sweat_smile:
The keybase part is optional, it's the one I use for storing my GPG keys, but you probably have some other mechanism
Thanks @Fábio Beirão, I'll check it out
I ran into some difficult issues with my Yubikey for the commit signing, I'm closing in on them now. My (yubikey focused) guide should be ready Friday.
Done :) PR#5789
If one of you set up commit signing for the first time or transfer a key from one machine to another, please add your steps to devtools/signing.md. That way we have an up-to-date guide to make this process as easy as possible.
I ran LLVM tests using Brendan's PR and thought I would share the results here. Still some issues, however, most of these look the the same issue - 128 bit things are now passed by reference in LLVM16.
1248 passed, nice!
Were getting much closer updated results. 1302/1308 only 6 failing. :tada:
Latest results when PR #6363 is merged
Summary [1047.715s] 1310 tests run: 1308 passed (2 slow), 2 failed, 19 skipped
FAIL [ 0.234s] test_gen::test_gen gen_erased::capture_multiple
FAIL [ 0.252s] test_gen::test_gen gen_erased::multi_branch_capturing
Both of those tests fail with not a lambda set
which is interesting
--- STDERR: test_gen::test_gen gen_erased::capture_multiple ---
An internal compiler expectation was broken.
This is definitely a compiler bug.
Please file an issue here: https://github.com/roc-lang/roc/issues/new/choose
thread 'gen_erased::capture_multiple' panicked at 'not a lambda set', crates\compiler\types\src\subs.rs:2186:22
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
--- STDERR: test_gen::test_gen gen_erased::multi_branch_capturing ---
An internal compiler expectation was broken.
This is definitely a compiler bug.
Please file an issue here: https://github.com/roc-lang/roc/issues/new/choose
thread 'gen_erased::multi_branch_capturing' panicked at 'not a lambda set', crates\compiler\types\src\subs.rs:2186:22
Last updated: Jul 06 2025 at 12:14 UTC