Skip to content

Commit

Permalink
Add needs-unwind to tests that depend on panicking
Browse files Browse the repository at this point in the history
This directive isn't automatically set by compiletest or x.py, but can
be turned on manually for targets that require it.
  • Loading branch information
djkoloski committed Dec 9, 2021
1 parent 0b42dea commit ea68758
Show file tree
Hide file tree
Showing 62 changed files with 63 additions and 2 deletions.
1 change: 1 addition & 0 deletions src/test/ui/array-slice-vec/box-of-array-of-drop-1.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// run-pass
// needs-unwind
#![allow(overflowing_literals)]

// Test that we cleanup a fixed size Box<[D; k]> properly when D has a
Expand Down
1 change: 1 addition & 0 deletions src/test/ui/array-slice-vec/box-of-array-of-drop-2.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// run-pass
// needs-unwind
#![allow(overflowing_literals)]

// Test that we cleanup dynamic sized Box<[D]> properly when D has a
Expand Down
1 change: 1 addition & 0 deletions src/test/ui/array-slice-vec/nested-vec-3.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// run-pass
// needs-unwind
#![allow(overflowing_literals)]

// ignore-emscripten no threads support
Expand Down
1 change: 1 addition & 0 deletions src/test/ui/array-slice-vec/slice-panic-1.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// run-pass
// needs-unwind

// ignore-emscripten no threads support

Expand Down
1 change: 1 addition & 0 deletions src/test/ui/array-slice-vec/slice-panic-2.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// run-pass
// needs-unwind

// ignore-emscripten no threads support

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
// be talking about `async fn`s instead. Should also test what happens when it panics.

// run-fail
// needs-unwind
// error-pattern: thread 'main' panicked at '`async fn` resumed after panicking'
// edition:2018
// ignore-wasm no panic or subprocess support
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// run-pass
// needs-unwind
// Check that partially moved from function parameters are dropped after the
// named bindings that move from them.

Expand Down
1 change: 1 addition & 0 deletions src/test/ui/builtin-clone-unwind.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// run-pass
// needs-unwind

#![allow(unused_variables)]
#![allow(unused_imports)]
Expand Down
1 change: 1 addition & 0 deletions src/test/ui/catch-unwind-bang.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// run-pass
// needs-unwind
// ignore-wasm32-bare compiled with panic=abort by default

fn worker() -> ! {
Expand Down
1 change: 1 addition & 0 deletions src/test/ui/cleanup-rvalue-temp-during-incomplete-alloc.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// run-pass
// needs-unwind

#![allow(unused_must_use)]
#![allow(dead_code)]
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// run-rustfix
// needs-unwind

#![deny(rust_2021_incompatible_closure_captures)]
//~^ NOTE: the lint level is defined here
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// run-rustfix
// needs-unwind

#![deny(rust_2021_incompatible_closure_captures)]
//~^ NOTE: the lint level is defined here
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
error: changes to closure capture in Rust 2021 will affect which traits the closure implements
--> $DIR/mir_calls_to_shims.rs:20:38
--> $DIR/mir_calls_to_shims.rs:21:38
|
LL | let result = panic::catch_unwind(move || {
| ^^^^^^^
Expand All @@ -11,7 +11,7 @@ LL | f.0()
| --- in Rust 2018, this closure captures all of `f`, but in Rust 2021, it will only capture `f.0`
|
note: the lint level is defined here
--> $DIR/mir_calls_to_shims.rs:3:9
--> $DIR/mir_calls_to_shims.rs:4:9
|
LL | #![deny(rust_2021_incompatible_closure_captures)]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Expand Down
1 change: 1 addition & 0 deletions src/test/ui/drop/drop-trait-enum.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
#![allow(unused_assignments)]
#![allow(unused_variables)]
// ignore-emscripten no threads support
// needs-unwind

use std::thread;
use std::sync::mpsc::{channel, Sender};
Expand Down
1 change: 1 addition & 0 deletions src/test/ui/drop/dynamic-drop-async.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
// * Dropping one of the values panics while dropping the future.

// run-pass
// needs-unwind
// edition:2018
// ignore-wasm32-bare compiled with panic=abort by default

Expand Down
1 change: 1 addition & 0 deletions src/test/ui/drop/dynamic-drop.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// run-pass
// needs-unwind
// ignore-wasm32-bare compiled with panic=abort by default

#![feature(generators, generator_trait)]
Expand Down
1 change: 1 addition & 0 deletions src/test/ui/drop/terminate-in-initializer.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// run-pass
// needs-unwind
// ignore-emscripten no threads support

// Issue #787
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// run-pass
// needs-unwind
// ignore-wasm32-bare compiled with panic=abort by default
// ignore-emscripten no threads support

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// run-pass
// needs-unwind
// ignore-wasm32-bare compiled with panic=abort by default
// ignore-emscripten no threads support

Expand Down
1 change: 1 addition & 0 deletions src/test/ui/generator/generator-resume-after-panic.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// run-fail
// needs-unwind
// error-pattern:generator resumed after panicking
// ignore-emscripten no processes

Expand Down
1 change: 1 addition & 0 deletions src/test/ui/generator/panic-drops-resume.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
//! Tests that panics inside a generator will correctly drop the initial resume argument.

// run-pass
// needs-unwind
// ignore-wasm no unwind support
// ignore-emscripten no unwind support

Expand Down
1 change: 1 addition & 0 deletions src/test/ui/generator/panic-drops.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// run-pass
// needs-unwind

// ignore-wasm32-bare compiled with panic=abort by default

Expand Down
1 change: 1 addition & 0 deletions src/test/ui/generator/panic-safe.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// run-pass
// needs-unwind

// ignore-wasm32-bare compiled with panic=abort by default

Expand Down
1 change: 1 addition & 0 deletions src/test/ui/generator/resume-after-return.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// run-pass
// needs-unwind

// ignore-wasm32-bare compiled with panic=abort by default

Expand Down
1 change: 1 addition & 0 deletions src/test/ui/intrinsics/panic-uninitialized-zeroed.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// run-pass
// needs-unwind
// ignore-wasm32-bare compiled with panic=abort by default
// revisions: mir thir
// [thir]compile-flags: -Zthir-unsafeck
Expand Down
1 change: 1 addition & 0 deletions src/test/ui/issues/issue-14875.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// run-pass
// needs-unwind
// ignore-wasm32-bare compiled with panic=abort by default

// Check that values are not leaked when a dtor panics (#14875)
Expand Down
1 change: 1 addition & 0 deletions src/test/ui/issues/issue-25089.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// run-pass
// needs-unwind
// ignore-emscripten no threads support

use std::thread;
Expand Down
1 change: 1 addition & 0 deletions src/test/ui/issues/issue-26655.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// run-pass
// needs-unwind
// ignore-emscripten no threads support

// Check that the destructors of simple enums are run on unwinding
Expand Down
1 change: 1 addition & 0 deletions src/test/ui/issues/issue-29485.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
// run-pass
#![allow(unused_attributes)]
// aux-build:issue-29485.rs
// needs-unwind
// ignore-emscripten no threads

#[feature(recover)]
Expand Down
1 change: 1 addition & 0 deletions src/test/ui/issues/issue-29948.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// run-pass
// needs-unwind
// ignore-wasm32-bare compiled with panic=abort by default

use std::panic;
Expand Down
1 change: 1 addition & 0 deletions src/test/ui/issues/issue-30018-panic.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
// spawned thread to isolate the expected error result from the
// SIGTRAP injected by the drop-flag consistency checking.

// needs-unwind
// ignore-emscripten no threads support

struct Foo;
Expand Down
1 change: 1 addition & 0 deletions src/test/ui/issues/issue-43853.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// run-pass
// needs-unwind
// ignore-wasm32-bare compiled with panic=abort by default

use std::panic;
Expand Down
1 change: 1 addition & 0 deletions src/test/ui/issues/issue-46519.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
// run-pass
// compile-flags:--test -O

// needs-unwind
// ignore-wasm32-bare compiled with panic=abort by default

#[test]
Expand Down
1 change: 1 addition & 0 deletions src/test/ui/iterators/iter-count-overflow-debug.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
// run-pass
// only-32bit too impatient for 2⁶⁴ items
// needs-unwind
// ignore-wasm32-bare compiled with panic=abort by default
// compile-flags: -C debug_assertions=yes -C opt-level=3

Expand Down
1 change: 1 addition & 0 deletions src/test/ui/iterators/iter-position-overflow-debug.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
// run-pass
// only-32bit too impatient for 2⁶⁴ items
// needs-unwind
// ignore-wasm32-bare compiled with panic=abort by default
// compile-flags: -C debug_assertions=yes -C opt-level=3

Expand Down
1 change: 1 addition & 0 deletions src/test/ui/iterators/iter-step-overflow-debug.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// run-pass
// needs-unwind
// ignore-wasm32-bare compiled with panic=abort by default
// compile-flags: -C debug_assertions=yes

Expand Down
1 change: 1 addition & 0 deletions src/test/ui/iterators/iter-sum-overflow-debug.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// run-pass
// needs-unwind
// ignore-wasm32-bare compiled with panic=abort by default
// compile-flags: -C debug_assertions=yes

Expand Down
1 change: 1 addition & 0 deletions src/test/ui/iterators/iter-sum-overflow-overflow-checks.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// run-pass
// needs-unwind
// ignore-wasm32-bare compiled with panic=abort by default
// compile-flags: -C overflow-checks

Expand Down
1 change: 1 addition & 0 deletions src/test/ui/macros/macro-comma-behavior-rpass.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// run-pass
// needs-unwind
#![allow(unused_imports)]
// Ideally, any macro call with a trailing comma should behave
// identically to a call without the comma.
Expand Down
1 change: 1 addition & 0 deletions src/test/ui/mir/mir_calls_to_shims.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// run-pass
// needs-unwind
// ignore-wasm32-bare compiled with panic=abort by default

#![feature(fn_traits)]
Expand Down
1 change: 1 addition & 0 deletions src/test/ui/mir/mir_drop_order.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// run-pass
// needs-unwind
// ignore-wasm32-bare compiled with panic=abort by default

use std::cell::RefCell;
Expand Down
1 change: 1 addition & 0 deletions src/test/ui/mir/mir_drop_panics.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// run-fail
// needs-unwind
// error-pattern:panic 1
// error-pattern:drop 2
// ignore-emscripten no processes
Expand Down
1 change: 1 addition & 0 deletions src/test/ui/mir/mir_dynamic_drops_3.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// run-fail
// needs-unwind
// error-pattern:unwind happens
// error-pattern:drop 3
// error-pattern:drop 2
Expand Down
1 change: 1 addition & 0 deletions src/test/ui/numbers-arithmetic/int-abs-overflow.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
// run-pass
// compile-flags: -C overflow-checks=on
// ignore-emscripten no threads support
// needs-unwind

use std::thread;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
// run-pass
// compile-flags: -C debug_assertions=yes
// needs-unwind
// ignore-wasm32-bare compiled with panic=abort by default
// ignore-emscripten dies with an LLVM error

Expand Down
1 change: 1 addition & 0 deletions src/test/ui/panics/panic-handler-chain.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// run-pass
// needs-unwind
#![allow(stable_features)]

// ignore-emscripten no threads support
Expand Down
1 change: 1 addition & 0 deletions src/test/ui/panics/panic-handler-flail-wildly.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// run-pass
// needs-unwind

#![allow(stable_features)]
#![allow(unused_must_use)]
Expand Down
1 change: 1 addition & 0 deletions src/test/ui/panics/panic-handler-set-twice.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// run-pass
// needs-unwind
#![allow(unused_variables)]
#![allow(stable_features)]

Expand Down
1 change: 1 addition & 0 deletions src/test/ui/panics/panic-in-dtor-drops-fields.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// run-pass
// needs-unwind
#![allow(dead_code)]
#![allow(non_upper_case_globals)]

Expand Down
1 change: 1 addition & 0 deletions src/test/ui/panics/panic-recover-propagate.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// run-pass
// needs-unwind
// ignore-emscripten no threads support

use std::sync::atomic::{AtomicUsize, Ordering};
Expand Down
1 change: 1 addition & 0 deletions src/test/ui/privacy/reachable-unnameable-items.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
// run-pass
// ignore-wasm32-bare compiled with panic=abort by default
// needs-unwind
// aux-build:reachable-unnameable-items.rs

extern crate reachable_unnameable_items;
Expand Down
1 change: 1 addition & 0 deletions src/test/ui/proc-macro/expand-with-a-macro.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// run-pass
// needs-unwind
// aux-build:expand-with-a-macro.rs

// ignore-wasm32-bare compiled with panic=abort by default
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
// compile-flags: --test
// run-pass
// needs-unwind

// ignore-wasm32-bare compiled with panic=abort by default

Expand Down
1 change: 1 addition & 0 deletions src/test/ui/rfc-2091-track-caller/std-panic-locations.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// run-pass
// needs-unwind
// ignore-wasm32-bare compiled with panic=abort by default
// revisions: default mir-opt
//[mir-opt] compile-flags: -Zmir-opt-level=4
Expand Down
1 change: 1 addition & 0 deletions src/test/ui/rfcs/rfc1857-drop-order.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// run-pass
// needs-unwind
// ignore-wasm32-bare compiled with panic=abort by default

#![allow(dead_code, unreachable_code)]
Expand Down
1 change: 1 addition & 0 deletions src/test/ui/runtime/rt-explody-panic-payloads.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// run-pass
// needs-unwind
// ignore-emscripten no processes
// ignore-sgx no processes
// ignore-wasm32-bare no unwinding panic
Expand Down
1 change: 1 addition & 0 deletions src/test/ui/sepcomp/sepcomp-unwind.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// run-pass
// needs-unwind
#![allow(dead_code)]
// compile-flags: -C codegen-units=3
// ignore-emscripten no threads support
Expand Down
1 change: 1 addition & 0 deletions src/test/ui/structs-enums/unit-like-struct-drop-run.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// run-pass
// needs-unwind
// ignore-emscripten no threads support

// Make sure the destructor is run for unit-like structs.
Expand Down
1 change: 1 addition & 0 deletions src/test/ui/test-attrs/test-should-fail-good-message.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// run-pass
// needs-unwind
// ignore-wasm32-bare compiled with panic=abort by default
// compile-flags: --test
#[test]
Expand Down
1 change: 1 addition & 0 deletions src/test/ui/threads-sendsync/task-stderr.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
// run-pass
// ignore-emscripten no threads support
// needs-unwind

#![feature(internal_output_capture)]

Expand Down
1 change: 1 addition & 0 deletions src/test/ui/threads-sendsync/unwind-resource.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// run-pass
// needs-unwind

#![allow(non_camel_case_types)]
// ignore-emscripten no threads support
Expand Down
Loading

0 comments on commit ea68758

Please sign in to comment.