Skip to content

Commit

Permalink
ignore musl target in tests to avoid issues with output differences
Browse files Browse the repository at this point in the history
  • Loading branch information
estebank committed Sep 22, 2019
1 parent b214085 commit f81734b
Show file tree
Hide file tree
Showing 23 changed files with 52 additions and 28 deletions.
2 changes: 2 additions & 0 deletions src/etc/generate-deriving-span-tests.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@
os.path.join(os.path.dirname(__file__), '../test/ui/derives/'))

TEMPLATE = """\
// ignore-musl
// ^ due to stderr output differences

This comment has been minimized.

Copy link
@RalfJung

RalfJung Nov 2, 2019

Member

This PR added these lines to the template but not to all tests generated by the script... so now re-running the script (like I just did for a new PR) ends up with a diff. That seems wrong?

This comment has been minimized.

Copy link
@estebank

estebank Nov 3, 2019

Author Contributor

What is the diff? IIRC I might have manually added the ignores to the test files. Is it adding lines to existing tests?

This comment has been minimized.

Copy link
@RalfJung

RalfJung Nov 3, 2019

Member

Not all files have

// ignore-musl
// ^ due to stderr output differences

The diff is that all files get that prefix.

This comment has been minimized.

Copy link
@RalfJung

RalfJung Nov 3, 2019

Member

Also see #66049

// This file was auto-generated using 'src/etc/generate-deriving-span-tests.py'
{error_deriving}
Expand Down
2 changes: 2 additions & 0 deletions src/test/ui/async-await/issues/issue-62009-1.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
// edition:2018
// ignore-musl
// ^ due to stderr output differences

async fn print_dur() {}

Expand Down
12 changes: 6 additions & 6 deletions src/test/ui/async-await/issues/issue-62009-1.stderr
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
error[E0728]: `await` is only allowed inside `async` functions and blocks
--> $DIR/issue-62009-1.rs:6:5
--> $DIR/issue-62009-1.rs:8:5
|
LL | fn main() {
| ---- this is not `async`
LL | async { let (); }.await;
| ^^^^^^^^^^^^^^^^^^^^^^^ only allowed inside `async` functions and blocks

error[E0728]: `await` is only allowed inside `async` functions and blocks
--> $DIR/issue-62009-1.rs:8:5
--> $DIR/issue-62009-1.rs:10:5
|
LL | fn main() {
| ---- this is not `async`
Expand All @@ -19,19 +19,19 @@ LL | | }.await;
| |___________^ only allowed inside `async` functions and blocks

error[E0728]: `await` is only allowed inside `async` functions and blocks
--> $DIR/issue-62009-1.rs:12:5
--> $DIR/issue-62009-1.rs:14:5
|
LL | fn main() {
| ---- this is not `async`
...
LL | (|_| 2333).await;
| ^^^^^^^^^^^^^^^^ only allowed inside `async` functions and blocks

error[E0277]: the trait bound `[closure@$DIR/issue-62009-1.rs:12:5: 12:15]: std::future::Future` is not satisfied
--> $DIR/issue-62009-1.rs:12:5
error[E0277]: the trait bound `[closure@$DIR/issue-62009-1.rs:14:5: 14:15]: std::future::Future` is not satisfied
--> $DIR/issue-62009-1.rs:14:5
|
LL | (|_| 2333).await;
| ^^^^^^^^^^^^^^^^ the trait `std::future::Future` is not implemented for `[closure@$DIR/issue-62009-1.rs:12:5: 12:15]`
| ^^^^^^^^^^^^^^^^ the trait `std::future::Future` is not implemented for `[closure@$DIR/issue-62009-1.rs:14:5: 14:15]`
|
::: $SRC_DIR/libstd/future.rs:LL:COL
|
Expand Down
2 changes: 2 additions & 0 deletions src/test/ui/closures/closure-move-sync.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
// ignore-musl
// ^ due to stderr output differences
use std::thread;
use std::sync::mpsc::channel;

Expand Down
8 changes: 4 additions & 4 deletions src/test/ui/closures/closure-move-sync.stderr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
error[E0277]: `std::sync::mpsc::Receiver<()>` cannot be shared between threads safely
--> $DIR/closure-move-sync.rs:6:13
--> $DIR/closure-move-sync.rs:8:13
|
LL | let t = thread::spawn(|| {
| ^^^^^^^^^^^^^ `std::sync::mpsc::Receiver<()>` cannot be shared between threads safely
Expand All @@ -11,10 +11,10 @@ LL | F: FnOnce() -> T, F: Send + 'static, T: Send + 'static
|
= help: the trait `std::marker::Sync` is not implemented for `std::sync::mpsc::Receiver<()>`
= note: required because of the requirements on the impl of `std::marker::Send` for `&std::sync::mpsc::Receiver<()>`
= note: required because it appears within the type `[closure@$DIR/closure-move-sync.rs:6:27: 9:6 recv:&std::sync::mpsc::Receiver<()>]`
= note: required because it appears within the type `[closure@$DIR/closure-move-sync.rs:8:27: 11:6 recv:&std::sync::mpsc::Receiver<()>]`

error[E0277]: `std::sync::mpsc::Sender<()>` cannot be shared between threads safely
--> $DIR/closure-move-sync.rs:18:5
--> $DIR/closure-move-sync.rs:20:5
|
LL | thread::spawn(|| tx.send(()).unwrap());
| ^^^^^^^^^^^^^ `std::sync::mpsc::Sender<()>` cannot be shared between threads safely
Expand All @@ -26,7 +26,7 @@ LL | F: FnOnce() -> T, F: Send + 'static, T: Send + 'static
|
= help: the trait `std::marker::Sync` is not implemented for `std::sync::mpsc::Sender<()>`
= note: required because of the requirements on the impl of `std::marker::Send` for `&std::sync::mpsc::Sender<()>`
= note: required because it appears within the type `[closure@$DIR/closure-move-sync.rs:18:19: 18:42 tx:&std::sync::mpsc::Sender<()>]`
= note: required because it appears within the type `[closure@$DIR/closure-move-sync.rs:20:19: 20:42 tx:&std::sync::mpsc::Sender<()>]`

error: aborting due to 2 previous errors

Expand Down
2 changes: 2 additions & 0 deletions src/test/ui/derives/derives-span-Hash-enum-struct-variant.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
// ignore-musl
// ^ due to stderr output differences
// This file was auto-generated using 'src/etc/generate-deriving-span-tests.py'


Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
error[E0277]: the trait bound `Error: std::hash::Hash` is not satisfied
--> $DIR/derives-span-Hash-enum-struct-variant.rs:9:6
--> $DIR/derives-span-Hash-enum-struct-variant.rs:11:6
|
LL | x: Error
| ^^^^^^^^ the trait `std::hash::Hash` is not implemented for `Error`
Expand Down
2 changes: 2 additions & 0 deletions src/test/ui/derives/derives-span-Hash-enum.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
// ignore-musl
// ^ due to stderr output differences
// This file was auto-generated using 'src/etc/generate-deriving-span-tests.py'


Expand Down
2 changes: 1 addition & 1 deletion src/test/ui/derives/derives-span-Hash-enum.stderr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
error[E0277]: the trait bound `Error: std::hash::Hash` is not satisfied
--> $DIR/derives-span-Hash-enum.rs:9:6
--> $DIR/derives-span-Hash-enum.rs:11:6
|
LL | Error
| ^^^^^ the trait `std::hash::Hash` is not implemented for `Error`
Expand Down
2 changes: 2 additions & 0 deletions src/test/ui/derives/derives-span-Hash-struct.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
// ignore-musl
// ^ due to stderr output differences
// This file was auto-generated using 'src/etc/generate-deriving-span-tests.py'


Expand Down
2 changes: 1 addition & 1 deletion src/test/ui/derives/derives-span-Hash-struct.stderr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
error[E0277]: the trait bound `Error: std::hash::Hash` is not satisfied
--> $DIR/derives-span-Hash-struct.rs:8:5
--> $DIR/derives-span-Hash-struct.rs:10:5
|
LL | x: Error
| ^^^^^^^^ the trait `std::hash::Hash` is not implemented for `Error`
Expand Down
2 changes: 2 additions & 0 deletions src/test/ui/derives/derives-span-Hash-tuple-struct.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
// ignore-musl
// ^ due to stderr output differences
// This file was auto-generated using 'src/etc/generate-deriving-span-tests.py'


Expand Down
2 changes: 1 addition & 1 deletion src/test/ui/derives/derives-span-Hash-tuple-struct.stderr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
error[E0277]: the trait bound `Error: std::hash::Hash` is not satisfied
--> $DIR/derives-span-Hash-tuple-struct.rs:8:5
--> $DIR/derives-span-Hash-tuple-struct.rs:10:5
|
LL | Error
| ^^^^^ the trait `std::hash::Hash` is not implemented for `Error`
Expand Down
2 changes: 2 additions & 0 deletions src/test/ui/interior-mutability/interior-mutability.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
// ignore-musl
// ^ due to stderr output differences
use std::cell::Cell;
use std::panic::catch_unwind;
fn main() {
Expand Down
4 changes: 2 additions & 2 deletions src/test/ui/interior-mutability/interior-mutability.stderr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
error[E0277]: the type `std::cell::UnsafeCell<i32>` may contain interior mutability and a reference may not be safely transferrable across a catch_unwind boundary
--> $DIR/interior-mutability.rs:5:5
--> $DIR/interior-mutability.rs:7:5
|
LL | catch_unwind(|| { x.set(23); });
| ^^^^^^^^^^^^ `std::cell::UnsafeCell<i32>` may contain interior mutability and a reference may not be safely transferrable across a catch_unwind boundary
Expand All @@ -12,7 +12,7 @@ LL | pub fn catch_unwind<F: FnOnce() -> R + UnwindSafe, R>(f: F) -> Result<R> {
= help: within `std::cell::Cell<i32>`, the trait `std::panic::RefUnwindSafe` is not implemented for `std::cell::UnsafeCell<i32>`
= note: required because it appears within the type `std::cell::Cell<i32>`
= note: required because of the requirements on the impl of `std::panic::UnwindSafe` for `&std::cell::Cell<i32>`
= note: required because it appears within the type `[closure@$DIR/interior-mutability.rs:5:18: 5:35 x:&std::cell::Cell<i32>]`
= note: required because it appears within the type `[closure@$DIR/interior-mutability.rs:7:18: 7:35 x:&std::cell::Cell<i32>]`

error: aborting due to previous error

Expand Down
2 changes: 2 additions & 0 deletions src/test/ui/issues/issue-21160.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
// ignore-musl
// ^ due to stderr output differences
struct Bar;

impl Bar {
Expand Down
2 changes: 1 addition & 1 deletion src/test/ui/issues/issue-21160.stderr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
error[E0277]: the trait bound `Bar: std::hash::Hash` is not satisfied
--> $DIR/issue-21160.rs:8:12
--> $DIR/issue-21160.rs:10:12
|
LL | struct Foo(Bar);
| ^^^ the trait `std::hash::Hash` is not implemented for `Bar`
Expand Down
2 changes: 2 additions & 0 deletions src/test/ui/no-send-res-ports.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
// ignore-musl
// ^ due to stderr output differences
use std::thread;
use std::rc::Rc;

Expand Down
6 changes: 3 additions & 3 deletions src/test/ui/no-send-res-ports.stderr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
error[E0277]: `std::rc::Rc<()>` cannot be sent between threads safely
--> $DIR/no-send-res-ports.rs:25:5
--> $DIR/no-send-res-ports.rs:27:5
|
LL | thread::spawn(move|| {
| ^^^^^^^^^^^^^ `std::rc::Rc<()>` cannot be sent between threads safely
Expand All @@ -9,10 +9,10 @@ LL | thread::spawn(move|| {
LL | F: FnOnce() -> T, F: Send + 'static, T: Send + 'static
| ---- required by this bound in `std::thread::spawn`
|
= help: within `[closure@$DIR/no-send-res-ports.rs:25:19: 29:6 x:main::Foo]`, the trait `std::marker::Send` is not implemented for `std::rc::Rc<()>`
= help: within `[closure@$DIR/no-send-res-ports.rs:27:19: 31:6 x:main::Foo]`, the trait `std::marker::Send` is not implemented for `std::rc::Rc<()>`
= note: required because it appears within the type `Port<()>`
= note: required because it appears within the type `main::Foo`
= note: required because it appears within the type `[closure@$DIR/no-send-res-ports.rs:25:19: 29:6 x:main::Foo]`
= note: required because it appears within the type `[closure@$DIR/no-send-res-ports.rs:27:19: 31:6 x:main::Foo]`

error: aborting due to previous error

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
// compile-flags: --test
// ignore-musl
// ^ due to stderr output differences

use std::num::ParseFloatError;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
error[E0277]: `main` has invalid return type `std::result::Result<f32, std::num::ParseFloatError>`
--> $DIR/termination-trait-test-wrong-type.rs:6:1
--> $DIR/termination-trait-test-wrong-type.rs:8:1
|
LL | / fn can_parse_zero_as_f32() -> Result<f32, ParseFloatError> {
LL | | "0".parse()
Expand Down
2 changes: 2 additions & 0 deletions src/test/ui/traits/trait-suggest-where-clause.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
// ignore-musl
// ^ due to stderr output differences
use std::mem;

struct Misc<T:?Sized>(T);
Expand Down
14 changes: 7 additions & 7 deletions src/test/ui/traits/trait-suggest-where-clause.stderr
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
error[E0277]: the size for values of type `U` cannot be known at compilation time
--> $DIR/trait-suggest-where-clause.rs:7:5
--> $DIR/trait-suggest-where-clause.rs:9:5
|
LL | mem::size_of::<U>();
| ^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
Expand All @@ -14,7 +14,7 @@ LL | pub const fn size_of<T>() -> usize {
= help: consider adding a `where U: std::marker::Sized` bound

error[E0277]: the size for values of type `U` cannot be known at compilation time
--> $DIR/trait-suggest-where-clause.rs:10:5
--> $DIR/trait-suggest-where-clause.rs:12:5
|
LL | mem::size_of::<Misc<U>>();
| ^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
Expand All @@ -30,7 +30,7 @@ LL | pub const fn size_of<T>() -> usize {
= note: required because it appears within the type `Misc<U>`

error[E0277]: the trait bound `u64: std::convert::From<T>` is not satisfied
--> $DIR/trait-suggest-where-clause.rs:15:5
--> $DIR/trait-suggest-where-clause.rs:17:5
|
LL | <u64 as From<T>>::from;
| ^^^^^^^^^^^^^^^^^^^^^^ the trait `std::convert::From<T>` is not implemented for `u64`
Expand All @@ -39,7 +39,7 @@ LL | <u64 as From<T>>::from;
= note: required by `std::convert::From::from`

error[E0277]: the trait bound `u64: std::convert::From<<T as std::iter::Iterator>::Item>` is not satisfied
--> $DIR/trait-suggest-where-clause.rs:18:5
--> $DIR/trait-suggest-where-clause.rs:20:5
|
LL | <u64 as From<<T as Iterator>::Item>>::from;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::convert::From<<T as std::iter::Iterator>::Item>` is not implemented for `u64`
Expand All @@ -48,15 +48,15 @@ LL | <u64 as From<<T as Iterator>::Item>>::from;
= note: required by `std::convert::From::from`

error[E0277]: the trait bound `Misc<_>: std::convert::From<T>` is not satisfied
--> $DIR/trait-suggest-where-clause.rs:23:5
--> $DIR/trait-suggest-where-clause.rs:25:5
|
LL | <Misc<_> as From<T>>::from;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::convert::From<T>` is not implemented for `Misc<_>`
|
= note: required by `std::convert::From::from`

error[E0277]: the size for values of type `[T]` cannot be known at compilation time
--> $DIR/trait-suggest-where-clause.rs:28:5
--> $DIR/trait-suggest-where-clause.rs:30:5
|
LL | mem::size_of::<[T]>();
| ^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
Expand All @@ -70,7 +70,7 @@ LL | pub const fn size_of<T>() -> usize {
= note: to learn more, visit <https://doc.rust-lang.org/book/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>

error[E0277]: the size for values of type `[&U]` cannot be known at compilation time
--> $DIR/trait-suggest-where-clause.rs:31:5
--> $DIR/trait-suggest-where-clause.rs:33:5
|
LL | mem::size_of::<[&U]>();
| ^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
Expand Down

0 comments on commit f81734b

Please sign in to comment.