test: Update Emscripten failures/passing

All tests should now have annotation for *why* they're ignored on emscripten. A
few tests no longer need such an annotation as well!

Closes #41299
This commit is contained in:
Alex Crichton 2017-10-17 18:45:42 -07:00
parent 0be6863a15
commit d9ecdfe3a7
55 changed files with 60 additions and 61 deletions

View File

@ -16,6 +16,9 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
COPY scripts/emscripten.sh /scripts/
RUN bash /scripts/emscripten.sh
COPY scripts/sccache.sh /scripts/
RUN sh /scripts/sccache.sh
ENV PATH=$PATH:/emsdk-portable
ENV PATH=$PATH:/emsdk-portable/clang/e1.37.13_64bit/
ENV PATH=$PATH:/emsdk-portable/emscripten/1.37.13/
@ -28,7 +31,4 @@ ENV TARGETS=asmjs-unknown-emscripten
ENV RUST_CONFIGURE_ARGS --target=$TARGETS
ENV SCRIPT python2.7 ../x.py test --target $TARGETS
COPY scripts/sccache.sh /scripts/
RUN sh /scripts/sccache.sh
ENV SCRIPT python2.7 ../x.py test --target $TARGETS src/test/run-pass

View File

@ -8,7 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// ignore-emscripten
// ignore-emscripten no asm! support
#![feature(asm, rustc_attrs)]
#![allow(unused)]

View File

@ -9,7 +9,7 @@
// except according to those terms.
// pretty-expanded FIXME #23616
// ignore-emscripten
// ignore-emscripten no asm
#![feature(asm)]

View File

@ -9,7 +9,7 @@
// except according to those terms.
// ignore-windows - this is a unix-specific test
// ignore-emscripten
// ignore-emscripten no processes
#![feature(process_exec, libc)]

View File

@ -10,7 +10,8 @@
// ignore-windows - this is a unix-specific test
// ignore-pretty issue #37199
// ignore-emscripten
// ignore-emscripten no processes
#![feature(process_exec)]
use std::env;

View File

@ -9,7 +9,7 @@
// except according to those terms.
// compile-flags:--test
// ignore-emscripten
// ignore-emscripten no processes
// NB: These tests kill child processes. Valgrind sees these children as leaking
// memory, which makes for some *confusing* logs. That's why these are here

View File

@ -8,7 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// ignore-emscripten
// ignore-emscripten no processes
use std::env::args;
use std::process::Command;

View File

@ -12,7 +12,7 @@
// ignore-android
// ignore-windows
// ignore-emscripten
// ignore-emscripten no execve
// no-prefer-dynamic
#![feature(libc)]

View File

@ -8,7 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// ignore-emscripten
// ignore-emscripten env vars don't work?
#![feature(path)]

View File

@ -12,7 +12,7 @@
// pretty-expanded FIXME #23616
// ignore-msvc
// ignore-emscripten
// ignore-emscripten emcc asserts on an empty struct as an argument
#[repr(C)]
struct TwoU8s {

View File

@ -10,7 +10,7 @@
// ignore-windows
// ignore-android
// ignore-emscripten
// ignore-emscripten no processes
// ignore-haiku
#![feature(libc)]

View File

@ -8,7 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// ignore-emscripten missing rust_begin_unwind
// ignore-emscripten no no_std executables
#![feature(lang_items, start, alloc)]
#![no_std]

View File

@ -8,7 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// ignore-emscripten
// ignore-emscripten no threads support
// compile-flags: --test
#![feature(generators, generator_trait)]

View File

@ -8,7 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// ignore-emscripten
// ignore-emscripten i128 doesn't work
#![feature(i128_type, test)]

View File

@ -8,7 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// ignore-emscripten
// ignore-emscripten no processes
// Make sure that if a process doesn't have its stdio/stderr descriptors set up
// that we don't die in a large ball of fire

View File

@ -8,7 +8,8 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// ignore-emscripten
// ignore-emscripten no processes
#![feature(io, process_capture)]
use std::env;

View File

@ -8,7 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// ignore-emscripten
// ignore-emscripten no processes
#![feature(io, process_capture)]

View File

@ -8,7 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// ignore-emscripten
// ignore-emscripten no processes
use std::env;
use std::process::Command;

View File

@ -8,7 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// ignore-emscripten
// ignore-emscripten no processes
use std::process::Command;
use std::env;

View File

@ -8,7 +8,8 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// ignore-emscripten
// ignore-emscripten no processes
#![feature(std_misc, os)]
#[cfg(unix)]

View File

@ -9,7 +9,7 @@
// except according to those terms.
// pretty-expanded FIXME #23616
// ignore-emscripten
// ignore-emscripten no threads
use std::thread::Builder;

View File

@ -8,7 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// ignore-emscripten
// ignore-emscripten no threads
use std::thread;
use std::env;

View File

@ -8,7 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// ignore-emscripten
// ignore-emscripten no threads
// compile-flags: -O
// Tests that the `vec!` macro does not overflow the stack when it is

View File

@ -9,7 +9,7 @@
// except according to those terms.
// aux-build:issue-29485.rs
// ignore-emscripten
// ignore-emscripten no threads
#[feature(recover)]

View File

@ -10,8 +10,6 @@
// write_volatile causes an LLVM assert with composite types
// ignore-emscripten See #41299: probably a bad optimization
#![feature(volatile)]
use std::ptr::{read_volatile, write_volatile};

View File

@ -8,7 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// ignore-emscripten
// ignore-emscripten no processes
// Previously libstd would set stdio descriptors of a child process
// by `dup`ing the requested descriptors to inherit directly into the

View File

@ -8,7 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// ignore-emscripten
// ignore-emscripten no processes
use std::process::{Command, Stdio};
use std::env;

View File

@ -10,7 +10,7 @@
// ignore-windows
// ignore-macos
// ignore-emscripten
// ignore-emscripten doesn't support this linkage
// aux-build:linkage1.rs
#![feature(linkage)]

View File

@ -8,7 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// ignore-emscripten
// ignore-emscripten no processes
fn check_for_no_backtrace(test: std::process::Output) {
assert!(!test.status.success());

View File

@ -8,7 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// ignore-emscripten
// ignore-emscripten no processes
// ignore-android
#![feature(libc)]

View File

@ -10,7 +10,7 @@
// ignore-android: FIXME (#20004)
// ignore-musl
// ignore-emscripten
// ignore-emscripten no processes
#![feature(asm)]
#![feature(libc)]

View File

@ -7,8 +7,6 @@
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// ignore-emscripten Not sure what's happening here.
use std::mem;

View File

@ -7,8 +7,6 @@
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// ignore-emscripten
use std::mem;

View File

@ -11,7 +11,7 @@
// compile-flags:-C panic=abort
// aux-build:exit-success-if-unwind.rs
// no-prefer-dynamic
// ignore-emscripten Function not implemented
// ignore-emscripten no processes
extern crate exit_success_if_unwind;

View File

@ -10,7 +10,7 @@
// compile-flags:-C panic=abort
// no-prefer-dynamic
// ignore-emscripten Function not implemented.
// ignore-emscripten no processes
use std::process::Command;
use std::env;

View File

@ -10,7 +10,7 @@
// compile-flags:-C lto -C panic=abort
// no-prefer-dynamic
// ignore-emscripten Function not implemented.
// ignore-emscripten no processes
use std::process::Command;
use std::env;

View File

@ -10,7 +10,7 @@
// compile-flags:-C lto -C panic=unwind
// no-prefer-dynamic
// ignore-emscripten Function not implemented.
// ignore-emscripten no processes
use std::process::Command;
use std::env;

View File

@ -8,7 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// ignore-emscripten
// ignore-emscripten no processes
use std::process::Command;
use std::env;

View File

@ -8,7 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// ignore-emscripten
// ignore-emscripten no processes
use std::env;
use std::process::{self, Command, Stdio};

View File

@ -8,7 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// ignore-emscripten
// ignore-emscripten no processes
use std::process::Command;
use std::env;

View File

@ -16,7 +16,7 @@
// non-ASCII characters. The child process ensures all the strings are
// intact.
// ignore-emscripten
// ignore-emscripten no processes
use std::io::prelude::*;
use std::io;

View File

@ -7,7 +7,8 @@
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// ignore-emscripten Function not implemented.
// ignore-emscripten no processes
use std::env;
use std::io;

View File

@ -8,7 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// ignore-emscripten
// ignore-emscripten spawning processes is not supported
#![feature(start)]

View File

@ -9,7 +9,7 @@
// except according to those terms.
// ignore-windows
// ignore-emscripten
// ignore-emscripten no processes
use std::env;
use std::process::Command;

View File

@ -11,7 +11,7 @@
// Be sure that when a SIGPIPE would have been received that the entire process
// doesn't die in a ball of fire, but rather it's gracefully handled.
// ignore-emscripten
// ignore-emscripten no processes
use std::env;
use std::io::prelude::*;

View File

@ -7,7 +7,8 @@
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// ignore-emscripten linking with emcc failed
// ignore-emscripten FIXME(#45351) hits an LLVM assert
#![feature(repr_simd, platform_intrinsics, concat_idents, test)]
#![allow(non_camel_case_types)]

View File

@ -11,7 +11,7 @@
// ignore-arm
// ignore-aarch64
// ignore-wasm
// ignore-emscripten
// ignore-emscripten no processes
// ignore-musl FIXME #31506
// ignore-pretty
// no-system-llvm

View File

@ -11,7 +11,7 @@
// ignore-arm
// ignore-aarch64
// ignore-wasm
// ignore-emscripten
// ignore-emscripten no processes
// ignore-musl FIXME #31506
// no-system-llvm

View File

@ -8,7 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// ignore-emscripten
// ignore-emscripten no processes
use std::env;
use std::io::prelude::*;

View File

@ -10,7 +10,7 @@
// compile-flags: -Z thinlto -C codegen-units=8 -O
// min-llvm-version 4.0
// ignore-emscripten
// ignore-emscripten can't inspect instructions on emscripten
// We want to assert here that ThinLTO will inline across codegen units. There's
// not really a great way to do that in general so we sort of hack around it by

View File

@ -12,7 +12,7 @@
// aux-build:thin-lto-inlines-aux.rs
// min-llvm-version 4.0
// no-prefer-dynamic
// ignore-emscripten
// ignore-emscripten can't inspect instructions on emscripten
// We want to assert here that ThinLTO will inline across codegen units. There's
// not really a great way to do that in general so we sort of hack around it by

View File

@ -8,7 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// ignore-emscripten
// ignore-emscripten no processes
#![feature(process_try_wait)]

View File

@ -8,7 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// ignore-emscripten
// ignore-emscripten u128 not supported
#![feature(i128_type, test)]

View File

@ -8,7 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// ignore-emscripten missing rust_begin_unwind
// ignore-emscripten no no_std executables
#![feature(lang_items, start, libc, alloc)]
#![no_std]

View File

@ -8,7 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// ignore-emscripten
// ignore-emscripten no processes
#![feature(libc)]