Get tests for mips passing
diff --git a/libc-test/build.rs b/libc-test/build.rs
index 60e8927..04a34b1 100644
--- a/libc-test/build.rs
+++ b/libc-test/build.rs
@@ -54,7 +54,7 @@
}
// android also doesn't have stdalign.h so get alignof ourselves
- if self.target.contains("android") {
+ if self.target.contains("android") || self.target.contains("mips") {
ret.push("alignof __alignof__");
}
@@ -134,7 +134,9 @@
} else {
base.push("glob.h");
base.push("ifaddrs.h");
- base.push("stdalign.h");
+ if !self.target.contains("mips") {
+ base.push("stdalign.h");
+ }
base.push("sys/sysctl.h");
}
}
@@ -209,6 +211,8 @@
("x86", "32")
} else if self.target.starts_with("arm") {
("arm", "32")
+ } else if self.target.starts_with("mips") {
+ ("mips", "32")
} else {
panic!("unknown arch/pointer width: {}", self.target)
};
diff --git a/libc-test/tests/all.rs b/libc-test/tests/all.rs
index c0f9eca..a2f4daf 100644
--- a/libc-test/tests/all.rs
+++ b/libc-test/tests/all.rs
@@ -27,9 +27,12 @@
}
p! { i8 i16 i32 i64 u8 u16 u32 u64 usize isize }
+static mut FAILED: bool = false;
+
fn same<T: Eq + Pretty>(rust: T, c: T, attr: &str) {
if rust != c {
- panic!("bad {}: rust: {} != c {}", attr, rust.pretty(), c.pretty());
+ println!("bad {}: rust: {} != c {}", attr, rust.pretty(), c.pretty());
+ unsafe { FAILED = true; }
}
}
@@ -60,5 +63,11 @@
fn main() {
println!("RUNNING ALL TESTS");
run_all();
- println!("PASSED");
+ unsafe {
+ if FAILED {
+ panic!("some tests failed");
+ } else {
+ println!("PASSED");
+ }
+ }
}