rust/tests/run-make
Matthias Krüger 6a20f681d5
Rollup merge of #113247 - mirkootter:test-wasm-exceptions-nostd, r=Mark-Simulacrum
Add Tests for native wasm exceptions

### Motivation
In PR #111322, I added support for native WASM exceptions. I was asked by ``@davidtwco`` to add some tests for it in a follow up PR, which seems like a very good idea.

This PR adds three tests for this feature:
* codegen: ensure the correct LLVM instructions are used
* assembly: ensure the correct WASM instructions are used
* run-make: ensure the exception handling works; the WASM code is run using a small nodejs script which demonstrates the exception handling

### Complications
There are a few changes beside adding the tests, which were necessary
* Tests for the wasm32-unknown-unknown target are (as far as I know) only run on `test-various`. Its docker image uses nodejs-15, which is very old. Experimental support for wasm-exceptions was added in nodejs16. In nodejs 18.12 (LTS), they are stable.
  - --> increase nodejs to 18.12 in `test-various`
* codegen/assembly tests are not performed for the wasm32-unknown-unknown target yet
  - --> add those to `test-various` as well

Due to the last point, some tests are run which have not run before (assembly+codegen tests for wasm32-unknown-unknown). I added `// ignore wasm32-bare` for those which failed

### Local testing
I run all tests locally using both `test-various` and `wasm32`. As far as I know, none of the other systems run any test for wasm32 targets.
2023-07-09 16:33:36 +02:00
..
a-b-a-linker-guard
alloc-no-oom-handling
alloc-no-rc
alloc-no-sync
allocator-shim-circular-deps Fix linker failures when #[global_allocator] is used in a dependency 2023-06-19 17:31:54 +00:00
allow-non-lint-warnings-cmdline
allow-warnings-cmdline-stability
archive-duplicate-names
arguments-non-c-like-enum
atomic-lock-free
bare-outfile
branch-protection-check-IBT Add GNU Property Note 2023-05-05 18:32:20 +00:00
c-dynamic-dylib
c-dynamic-rlib
c-link-to-rust-dylib
c-link-to-rust-staticlib
c-link-to-rust-va-list-fn
c-static-dylib
c-static-rlib
c-unwind-abi-catch-lib-panic Add needs-unwind annotations to tests that need stack unwinding 2023-05-02 12:07:55 +00:00
c-unwind-abi-catch-panic Add needs-unwind annotations to tests that need stack unwinding 2023-05-02 12:07:55 +00:00
cat-and-grep-sanity-check
cdylib
cdylib-dylib-linkage
cdylib-fewer-symbols
codegen-options-parsing
compile-stdin
compiler-lookup-paths
compiler-lookup-paths-2
compiler-rt-works-on-mingw
const_fn_mir Bless tests 2023-06-23 18:36:25 +01:00
const-prop-lint Do not rely on exact error code. 2023-04-21 16:14:44 +00:00
core-no-fp-fmt-parse
core-no-oom-handling tests: add test for warning-free builds of core under no_global_oom_handling 2023-04-24 01:56:37 +02:00
coverage-llvmir Remove the old coverage-reports and coverage directories 2023-06-28 11:09:19 +10:00
crate-data-smoke
crate-hash-rustc-version
crate-name-priority
cross-lang-lto
cross-lang-lto-clang
cross-lang-lto-pgo-smoketest
cross-lang-lto-upstream-rlibs
CURRENT_RUSTC_VERSION Only depend on CFG_VERSION in rustc_interface 2023-05-17 23:54:21 -05:00
debug-assertions Add needs-unwind annotations to tests that need stack unwinding 2023-05-02 12:07:55 +00:00
debugger-visualizer-dep-info Add/improve tests for debugger_visualizer change detection. 2023-05-17 11:39:11 +02:00
dep-graph
dep-info
dep-info-doesnt-run-much
dep-info-spaces
doctests-keep-binaries
dump-mono-stats
duplicate-output-flavors
dylib-chain
emit
emit-named-files
emit-path-unhashed
emit-shared-files
emit-stack-sizes
emit-to-stdout fix 2023-06-06 17:54:34 -04:00
env-dep-info
error-found-staticlib-instead-crate
error-writing-dependencies
exit-code
export-executable-symbols
extern-diff-internal-name
extern-flag-disambiguates
extern-flag-fun
extern-flag-pathless
extern-flag-rename-transitive
extern-fn-generic
extern-fn-mangle
extern-fn-reachable
extern-fn-struct-passing-abi
extern-fn-with-extern-types
extern-fn-with-packed-struct
extern-fn-with-union
extern-multiple-copies
extern-multiple-copies2
extern-overrides-distribution
extra-filename-with-temp-outputs
fmt-write-bloat
forced-unwind-terminate-pof Add test for unwinding past terminating POF 2023-05-07 12:38:47 +01:00
foreign-double-unwind Add needs-unwind annotations to tests that need stack unwinding 2023-05-02 12:07:55 +00:00
foreign-exceptions Add needs-unwind annotations to tests that need stack unwinding 2023-05-02 12:07:55 +00:00
foreign-rust-exceptions Add needs-unwind annotations to tests that need stack unwinding 2023-05-02 12:07:55 +00:00
fpic
glibc-staticlib-args
hir-tree
inaccessible-temp-dir run-make test: using single quotes to not trigger the shell 2023-04-28 16:11:45 +02:00
include_bytes_deps
incr-add-rust-src-component
incr-foreign-head-span
incr-prev-body-beyond-eof
incremental-debugger-visualizer Fix run-make/inrcemental-debugger-visualizer test for macOS. 2023-05-19 11:02:16 +02:00
incremental-session-fail
inline-always-many-cgu
interdependent-c-libraries
intrinsic-unreachable
invalid-library
invalid-so
invalid-staticlib
issue64319
issue-7349
issue-10971-temps-dir
issue-11908
issue-14500
issue-14698
issue-15460
issue-18943
issue-20626
issue-22131
issue-24445
issue-25581
issue-26006
issue-26092
issue-28595
issue-28766
issue-30063
issue-33329
issue-35164
issue-36710
issue-37839
issue-37893
issue-38237
issue-40535
issue-46239
issue-47384
issue-47551
issue-51671 Revert "Remove #[alloc_error_handler] from the compiler and library" 2023-04-25 00:08:35 +02:00
issue-53964
issue-64153
issue-68794-textrel-on-minimal-lib
issue-69368 Revert "Remove #[alloc_error_handler] from the compiler and library" 2023-04-25 00:08:35 +02:00
issue-71519
issue-83045 Fix symbol conflict diagnostic mistakenly being shown instead of missing crate diagnostic 2023-05-23 07:37:16 +00:00
issue-83112-incr-test-moved-file
issue-84395-lto-embed-bitcode
issue-85019-moved-src-dir
issue-85401-static-mir
issue-85441
issue-88756-default-output
issue-96498
issue-97463-abi-param-passing
issue-107094 Make commit-date pattern more specific in test for issue 107094 2023-04-17 18:53:52 +02:00
issue-109934-lto-debuginfo debuginfo: split method declaration and definition 2023-05-03 15:52:31 -07:00
jobserver-error Temporarily disable the jobserver-error test 2023-04-15 07:40:19 -07:00
libs-through-symlinks
libtest-json Add needs-unwind annotations to tests that need stack unwinding 2023-05-02 12:07:55 +00:00
libtest-junit Apply changes to fix python linting errors 2023-06-16 20:56:01 -04:00
libtest-thread-limit
link-arg
link-args-order
link-cfg
link-dedup
link-path-order
linkage-attr-on-static
llvm-outputs
long-linker-command-lines
long-linker-command-lines-cmd-exe
longjmp-across-rust
ls-metadata
lto-dylib-dep
lto-empty
lto-no-link-whole-rlib
lto-readonly-lib
lto-smoke
lto-smoke-c
macos-deployment-target
macos-fat-archive
manual-crate-name
manual-link
many-crates-but-no-match
metadata-flag-frobs-symbols
min-global-align
mingw-export-call-convention
mismatching-target-triples
missing-crate-dependency
mixing-deps
mixing-formats
mixing-libs
msvc-opt-minsize
multiple-emits
native-link-modifier-bundle
native-link-modifier-verbatim-linker
native-link-modifier-verbatim-rustc
native-link-modifier-whole-archive
no-alloc-shim Ignore test on MSVC for now 2023-05-11 14:47:56 +00:00
no-builtins-lto
no-duplicate-libs
no-input-file
no-intermediate-extras
obey-crate-type-flag
optimization-remarks-dir Add rustc option to output LLVM optimization remarks to YAML files 2023-07-02 13:41:36 +02:00
output-filename-conflicts-with-directory
output-filename-overwrites-input
output-type-permutations
output-with-hyphens
override-aliased-flags
overwrite-input
panic-abort-eh_frame Remove wrongly emitted .eh_frame in -Cpanic=abort 2023-06-07 21:03:51 +01:00
panic-impl-transitive
pass-linker-flags
pass-linker-flags-from-dep
pass-non-c-like-enum-to-c
pgo-branch-weights
pgo-gen
pgo-gen-lto
pgo-gen-no-imp-symbols
pgo-indirect-call-promotion
pgo-use
pointer-auth-link-with-c pointer-auth-link-with-c: Fix cross compilation. 2023-04-21 18:38:17 -07:00
prefer-dylib
prefer-rlib
pretty-print-to-file
print-calling-conventions
print-cfg
print-native-static-libs Add simple regression test for --print=native-static-libs 2023-05-17 12:07:12 +02:00
print-target-list
profile
prune-link-args
raw-dylib-alt-calling-convention Stablize raw-dylib, link_ordinal and -Cdlltool 2023-04-18 11:01:07 -07:00
raw-dylib-c Stablize raw-dylib, link_ordinal and -Cdlltool 2023-04-18 11:01:07 -07:00
raw-dylib-cross-compilation Stablize raw-dylib, link_ordinal and -Cdlltool 2023-04-18 11:01:07 -07:00
raw-dylib-custom-dlltool Stablize raw-dylib, link_ordinal and -Cdlltool 2023-04-18 11:01:07 -07:00
raw-dylib-import-name-type Stablize raw-dylib, link_ordinal and -Cdlltool 2023-04-18 11:01:07 -07:00
raw-dylib-inline-cross-dylib Stablize raw-dylib, link_ordinal and -Cdlltool 2023-04-18 11:01:07 -07:00
raw-dylib-link-ordinal Stablize raw-dylib, link_ordinal and -Cdlltool 2023-04-18 11:01:07 -07:00
raw-dylib-stdcall-ordinal Stablize raw-dylib, link_ordinal and -Cdlltool 2023-04-18 11:01:07 -07:00
redundant-libs
relocation-model
relro-levels
remap-path-prefix
remap-path-prefix-dwarf
repr128-dwarf
reproducible-build
reproducible-build-2
resolve-rename
return-non-c-like-enum
return-non-c-like-enum-from-c
rlib-chain
rlib-format-packed-bundled-libs
rlib-format-packed-bundled-libs-2
rlib-format-packed-bundled-libs-3
rust-lld add end-to-end test 2023-06-30 21:13:24 +00:00
rustc-macro-dep-files
rustdoc-determinism
rustdoc-error-lines
rustdoc-io-error
rustdoc-map-file Apply changes to fix python linting errors 2023-06-16 20:56:01 -04:00
rustdoc-output-path
rustdoc-scrape-examples-invalid-expr
rustdoc-scrape-examples-macros
rustdoc-scrape-examples-multiple
rustdoc-scrape-examples-ordering
rustdoc-scrape-examples-remap
rustdoc-scrape-examples-test
rustdoc-scrape-examples-whitespace
rustdoc-shared-flags
rustdoc-target-spec-json-path
rustdoc-themes Replace id attribute with name for <meta> tag 2023-06-27 23:22:44 +02:00
rustdoc-verify-output-files
rustdoc-with-out-dir-option
rustdoc-with-output-option
rustdoc-with-short-out-dir-option
sanitizer-cdylib-link
sanitizer-dylib-link
sanitizer-staticlib-link
separate-link
separate-link-fail
sepcomp-cci-copies
sepcomp-inlining
sepcomp-separate
share-generics-dylib
short-ice Fix #107910, Shorten backtraces in ICEs 2023-05-17 17:56:26 +08:00
simd-ffi
simple-dylib
simple-rlib
split-debuginfo
stable-symbol-names
static-dylib-by-default
static-extern-type
static-pie
static-unwinding Add needs-unwind annotations to tests that need stack unwinding 2023-05-02 12:07:55 +00:00
staticlib-blank-lib
staticlib-dylib-linkage Ignore test when cross compiling 2023-04-27 18:22:06 +00:00
std-core-cycle
stdin-non-utf8
suspicious-library
symbol-visibility
symbols-include-type-name
symlinked-extern
symlinked-libraries
symlinked-rlib
sysroot-crates-are-unstable Apply changes to fix python linting errors 2023-06-16 20:56:01 -04:00
target-cpu-native
target-specs Make sure to include default en-US ftl resources for rustc_error crate 2023-06-23 17:22:07 +00:00
target-without-atomic-cas
test-benches Add needs-unwind annotations to tests that need stack unwinding 2023-05-02 12:07:55 +00:00
test-harness
thumb-none-cortex-m
thumb-none-qemu
track-path-dep-info
track-pgo-dep-info
translation Fix tests/run-make-translation when download-rustc is enabled 2023-04-19 00:39:20 -05:00
type-mismatch-same-crate-name
unstable-flag-required
use-extern-for-plugins
use-suggestions-rust-2018
used
used-cdylib-macos
valid-print-requests Add deployment-target --print flag for Apple targets 2023-05-05 01:22:17 -05:00
version
volatile-intrinsics
wasm-abi
wasm-custom-section
wasm-custom-sections-opt
wasm-exceptions-nostd add run-make test for wasm-exceptions 2023-07-01 20:24:15 +02:00
wasm-export-all-symbols
wasm-import-module
wasm-panic-small
wasm-spurious-import
wasm-stringify-ints-small
wasm-symbols-different-module
wasm-symbols-not-exported Revert "Remove #[alloc_error_handler] from the compiler and library" 2023-04-25 00:08:35 +02:00
wasm-symbols-not-imported
weird-output-filenames
windows-binary-no-external-deps
windows-spawn
windows-subsystem
x86_64-fortanix-unknown-sgx-lvi Verify that (almost) all ret instructions have been replaced 2023-06-05 17:33:26 +02:00
git_clone_sha1.sh
tools.mk