Ignore some tests on aarch64 to pass the run-pass test on aarch64-linux-android
This commit is contained in:
parent
c10918905f
commit
0ed265e63b
7 changed files with 39 additions and 0 deletions
|
@ -163,6 +163,9 @@ pub fn is_test_ignored(config: &Config, testfile: &Path) -> bool {
|
||||||
fn ignore_target(config: &Config) -> String {
|
fn ignore_target(config: &Config) -> String {
|
||||||
format!("ignore-{}", util::get_os(&config.target))
|
format!("ignore-{}", util::get_os(&config.target))
|
||||||
}
|
}
|
||||||
|
fn ignore_architecture(config: &Config) -> String {
|
||||||
|
format!("ignore-{}", util::get_arch(&config.target))
|
||||||
|
}
|
||||||
fn ignore_stage(config: &Config) -> String {
|
fn ignore_stage(config: &Config) -> String {
|
||||||
format!("ignore-{}",
|
format!("ignore-{}",
|
||||||
config.stage_id.split('-').next().unwrap())
|
config.stage_id.split('-').next().unwrap())
|
||||||
|
@ -226,6 +229,7 @@ pub fn is_test_ignored(config: &Config, testfile: &Path) -> bool {
|
||||||
let val = iter_header(testfile, &mut |ln| {
|
let val = iter_header(testfile, &mut |ln| {
|
||||||
!parse_name_directive(ln, "ignore-test") &&
|
!parse_name_directive(ln, "ignore-test") &&
|
||||||
!parse_name_directive(ln, &ignore_target(config)) &&
|
!parse_name_directive(ln, &ignore_target(config)) &&
|
||||||
|
!parse_name_directive(ln, &ignore_architecture(config)) &&
|
||||||
!parse_name_directive(ln, &ignore_stage(config)) &&
|
!parse_name_directive(ln, &ignore_stage(config)) &&
|
||||||
!(config.mode == common::Pretty && parse_name_directive(ln, "ignore-pretty")) &&
|
!(config.mode == common::Pretty && parse_name_directive(ln, "ignore-pretty")) &&
|
||||||
!(config.target != config.host && parse_name_directive(ln, "ignore-cross-compile")) &&
|
!(config.target != config.host && parse_name_directive(ln, "ignore-cross-compile")) &&
|
||||||
|
|
|
@ -25,6 +25,23 @@ const OS_TABLE: &'static [(&'static str, &'static str)] = &[
|
||||||
("openbsd", "openbsd"),
|
("openbsd", "openbsd"),
|
||||||
];
|
];
|
||||||
|
|
||||||
|
const ARCH_TABLE: &'static [(&'static str, &'static str)] = &[
|
||||||
|
("i386", "x86"),
|
||||||
|
("i686", "x86"),
|
||||||
|
("amd64", "x86_64"),
|
||||||
|
("x86_64", "x86_64"),
|
||||||
|
("sparc", "sparc"),
|
||||||
|
("powerpc", "powerpc"),
|
||||||
|
("arm64", "aarch64"),
|
||||||
|
("arm", "arm"),
|
||||||
|
("aarch64", "aarch64"),
|
||||||
|
("mips", "mips"),
|
||||||
|
("xcore", "xcore"),
|
||||||
|
("msp430", "msp430"),
|
||||||
|
("hexagon", "hexagon"),
|
||||||
|
("s390x", "systemz"),
|
||||||
|
];
|
||||||
|
|
||||||
pub fn get_os(triple: &str) -> &'static str {
|
pub fn get_os(triple: &str) -> &'static str {
|
||||||
for &(triple_os, os) in OS_TABLE {
|
for &(triple_os, os) in OS_TABLE {
|
||||||
if triple.contains(triple_os) {
|
if triple.contains(triple_os) {
|
||||||
|
@ -33,6 +50,14 @@ pub fn get_os(triple: &str) -> &'static str {
|
||||||
}
|
}
|
||||||
panic!("Cannot determine OS from triple");
|
panic!("Cannot determine OS from triple");
|
||||||
}
|
}
|
||||||
|
pub fn get_arch(triple: &str) -> &'static str {
|
||||||
|
for &(triple_arch, arch) in ARCH_TABLE {
|
||||||
|
if triple.contains(triple_arch) {
|
||||||
|
return arch
|
||||||
|
}
|
||||||
|
}
|
||||||
|
panic!("Cannot determine Architecture from triple");
|
||||||
|
}
|
||||||
|
|
||||||
pub fn make_new_path(path: &str) -> String {
|
pub fn make_new_path(path: &str) -> String {
|
||||||
assert!(cfg!(windows));
|
assert!(cfg!(windows));
|
||||||
|
|
|
@ -8,6 +8,8 @@
|
||||||
// option. This file may not be copied, modified, or distributed
|
// option. This file may not be copied, modified, or distributed
|
||||||
// except according to those terms.
|
// except according to those terms.
|
||||||
|
|
||||||
|
// ignore-aarch64
|
||||||
|
|
||||||
extern crate libc;
|
extern crate libc;
|
||||||
|
|
||||||
use std::mem;
|
use std::mem;
|
||||||
|
|
|
@ -8,6 +8,8 @@
|
||||||
// option. This file may not be copied, modified, or distributed
|
// option. This file may not be copied, modified, or distributed
|
||||||
// except according to those terms.
|
// except according to those terms.
|
||||||
|
|
||||||
|
// ignore-aarch64
|
||||||
|
|
||||||
use std::env;
|
use std::env;
|
||||||
use std::io::prelude::*;
|
use std::io::prelude::*;
|
||||||
use std::io;
|
use std::io;
|
||||||
|
|
|
@ -8,6 +8,8 @@
|
||||||
// option. This file may not be copied, modified, or distributed
|
// option. This file may not be copied, modified, or distributed
|
||||||
// except according to those terms.
|
// except according to those terms.
|
||||||
|
|
||||||
|
// ignore-aarch64
|
||||||
|
|
||||||
use std::process::Command;
|
use std::process::Command;
|
||||||
use std::env;
|
use std::env;
|
||||||
|
|
||||||
|
|
|
@ -8,6 +8,8 @@
|
||||||
// option. This file may not be copied, modified, or distributed
|
// option. This file may not be copied, modified, or distributed
|
||||||
// except according to those terms.
|
// except according to those terms.
|
||||||
|
|
||||||
|
// ignore-aarch64
|
||||||
|
|
||||||
#[cfg(unix)]
|
#[cfg(unix)]
|
||||||
fn main() {
|
fn main() {
|
||||||
use std::process::Command;
|
use std::process::Command;
|
||||||
|
|
|
@ -16,6 +16,8 @@
|
||||||
// non-ASCII characters. The child process ensures all the strings are
|
// non-ASCII characters. The child process ensures all the strings are
|
||||||
// intact.
|
// intact.
|
||||||
|
|
||||||
|
// ignore-aarch64
|
||||||
|
|
||||||
use std::io::prelude::*;
|
use std::io::prelude::*;
|
||||||
use std::io;
|
use std::io;
|
||||||
use std::fs;
|
use std::fs;
|
||||||
|
|
Loading…
Add table
Reference in a new issue