Add pending_interpreted#14386
Conversation
|
|
||
| describe "Signal" do | ||
| # interpreted code never receives signals (#12241) | ||
| pending_interpreted describe: "Signal" do |
There was a problem hiding this comment.
suggestion: Wouldn't it make more sense to skip this entire file like on wasm?
There was a problem hiding this comment.
skip_file suggests signals won't be on WebAssembly at all, but it looks like there are multiple attempts at POSIX compatibility layers, so I think skip_file is the less appropriate one here (or rather, it hasn't been updated to use pending_wasm32 after #14086)
There was a problem hiding this comment.
Could be.
My main concern is that I find pending_interpreted describe: "" over the entire contents of a file very unergonomic. It prevents grepping describe Signal, for example. And it's needles complexity.
I'd prefer to skip the file for wasm and interpreter and add comments to explain this might be enabled in the future.
There was a problem hiding this comment.
There are already two uses of pending_wasm32 describe:, so IMO this should be taken care of in a separate PR.
This is similar to #14086, and additionally it provides
pending_interpreted!, since in some cases it is easier to skip the affected specs from the spec helpers they use, rather than in the specs themselves.The remaining files are:
llvm/*_spec.cr: The shared library loader is unable to locatelibstdc++.so. On my system the only file with that exact name is/usr/lib/gcc/x86_64-linux-gnu/13/libstdc++.so, which is not a default search directory; insteadlibstdc++.so.6can be found in other directories. It looks like LibLLVM doesn't actually need@[Link("stdc++")], otherwise it would have been covered byllvm-config --system-libs? Still, this implies a discrepancy between our loader and the actualld. All the specs will pass if we remove that annotation.syscall_spec.cr: I don't know if this is ever planned for interpreted code. The only place in the standard library that usesSyscallhas an interpreter-specific patch.time/time_spec.cr,time/format_spec.cr: They have been broken for a while, but Fix requires fortime/time_spec.crandtime/format_spec.cr#14385 fixes them.