Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Re-enable tests on i568 #792

Closed
vgvassilev opened this issue Mar 2, 2024 · 4 comments · Fixed by #838
Closed

Re-enable tests on i568 #792

vgvassilev opened this issue Mar 2, 2024 · 4 comments · Fixed by #838
Milestone

Comments

@vgvassilev
Copy link
Owner

In PR #782 we have enabled support of 32 bit platforms and we have disabled many failing tests. Most of the failures are due to the fact that sizeof returns unsigned int on 32 bit and the test reference files require adjustment of that type:
// CHECK-NEXT: unsigned {{(int|long)}} _t2 = sizeof(double);

@MihailMihov
Copy link
Collaborator

Could I work on this issue? And also is there any way to run the 32-bit tests locally?

@vgvassilev
Copy link
Owner Author

Go ahead. You can use a virtualization system like virtualbox or you can operate at the bot: https://clad.readthedocs.io/en/latest/user/DevelopersDocumentation.html#debugging-github-runners

@MihailMihov
Copy link
Collaborator

I got most of the tests running at https://github.com/MihailMihov/clad/tree/fix-32bit-tests, but I'm not sure if that's the correct way to solve the issue. Aren't the tests becoming somewhat weaker and maybe they'll fail to catch some regressions?
Looking at LLVM's FileCheck documentation there is an option --check-prefixes to check multiple prefixes and maybe it would be possible to split the 32- and 64-bit checks, so that lit tests for the correct output on each architecture?
Also there are 3 tests which I haven't yet gotten to work (FirstDerivative/Overloads, Misc/ClangConsumers and Gradient/Pointers). Could the segfault in the last one come from the CI environment not having kokkos?

@vgvassilev
Copy link
Owner Author

I got most of the tests running at https://github.com/MihailMihov/clad/tree/fix-32bit-tests, but I'm not sure if that's the correct way to solve the issue. Aren't the tests becoming somewhat weaker and maybe they'll fail to catch some regressions?

If you mean that out of a sudden clang starts thinking that the size of a size_t is an int on 64 bit platforms, that's highly unlikely. If that happens many more things around the world will break first. The tests that are expected to test clad won't get weaker, however, if the tests intended to test clang that'd be correct.

Looking at LLVM's FileCheck documentation there is an option --check-prefixes to check multiple prefixes and maybe it would be possible to split the 32- and 64-bit checks, so that lit tests for the correct output on each architecture?

We could but that's much more handwork work when we need to change them. I'd not do that.

Also there are 3 tests which I haven't yet gotten to work (FirstDerivative/Overloads, Misc/ClangConsumers and Gradient/Pointers). Could the segfault in the last one come from the CI environment not having kokkos?

What are the related stack traces?

MihailMihov added a commit to MihailMihov/clad that referenced this issue Mar 23, 2024
@vgvassilev vgvassilev added this to the v1.5 milestone Mar 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants