fixing some tests and temporarily disabling others to get Bitrig build working 100%

This commit is contained in:
Dave Huseby 2015-03-23 12:48:42 -07:00
parent b3315881f5
commit 5387189d5b
17 changed files with 42 additions and 13 deletions

View File

@ -382,7 +382,8 @@ fn run_debuginfo_gdb_test(config: &Config, props: &TestProps, testfile: &Path) {
// write debugger script
let mut script_str = String::with_capacity(2048);
script_str.push_str("set charset UTF-8\n");
let charset = if cfg!(target_os = "bitrig") { "auto" } else { "UTF-8" };
script_str.push_str(&format!("set charset {}\n", charset));
script_str.push_str(&format!("file {}\n", exe_file.to_str().unwrap()));
script_str.push_str("target remote :5039\n");
script_str.push_str(&format!("set solib-search-path \
@ -516,8 +517,8 @@ fn run_debuginfo_gdb_test(config: &Config, props: &TestProps, testfile: &Path) {
.to_string();
// write debugger script
let mut script_str = String::with_capacity(2048);
script_str.push_str("set charset UTF-8\n");
let charset = if cfg!(target_os = "bitrig") { "auto" } else { "UTF-8" };
script_str.push_str(&format!("set charset {}\n", charset));
script_str.push_str("show version\n");
match config.gdb_version {

View File

@ -381,7 +381,8 @@ mod tests {
use prelude::v1::*;
#[cfg_attr(any(target_os = "freebsd",
target_os = "openbsd"),
target_os = "openbsd",
target_os = "bitrig"),
ignore)]
// under some system, pipe(2) will return a bidrectionnal pipe
#[test]

View File

@ -12,6 +12,7 @@
// older versions of GDB too. A more extensive test can be found in
// gdb-pretty-struct-and-enums.rs
// ignore-bitrig
// ignore-windows failing on win32 bot
// ignore-freebsd: gdb package too new
// ignore-tidy-linelength

View File

@ -11,6 +11,7 @@
// ignore-windows
// ignore-freebsd
// ignore-openbsd
// ignore-bitrig
#[path = "../compile-fail"]
mod foo; //~ ERROR: a directory

View File

@ -8,7 +8,7 @@ endif
ifneq ($(shell uname),FreeBSD)
all:
$(RUSTC) foo.rs
$(CC) bar.c -lfoo -o $(call RUN_BINFILE,bar) $(EXTRAFLAGS) -lstdc++
$(CC) bar.c -lfoo -o $(call RUN_BINFILE,bar) $(EXTRAFLAGS) $(EXTRACXXFLAGS)
$(call RUN,bar)
rm $(call STATICLIB,foo*)
$(call RUN,bar)

View File

@ -6,6 +6,10 @@
# is compiled with LTO, it shouldn't strip the symbol from `foo`, and that's the
# only way that `foo.c` will successfully compile.
ifeq ($(UNAME),Bitrig)
EXTRACFLAGS := -lc $(EXTRACFLAGS) $(EXTRACXXFLAGS)
endif
all:
$(RUSTC) foo.rs --crate-type=rlib
$(RUSTC) bar.rs --crate-type=staticlib -C lto -L. -o $(TMPDIR)/libbar.a

View File

@ -5,5 +5,5 @@ CC := $(CC:-g=)
all:
$(RUSTC) foo.rs -C lto
$(CC) bar.c -lfoo -o $(call RUN_BINFILE,bar) $(EXTRACFLAGS) -lstdc++
$(CC) bar.c -lfoo -o $(call RUN_BINFILE,bar) $(EXTRACFLAGS) $(EXTRACXXFLAGS)
$(call RUN,bar)

View File

@ -1,7 +1,11 @@
-include ../tools.mk
ifndef IS_WINDOWS
ifneq ($(UNAME),OpenBSD)
SKIP_OS := 'OpenBSD Bitrig'
ifneq ($(UNAME),$(findstring $(UNAME),$(SKIP_OS)))
all:
$(RUSTC) -O --emit asm attr.rs
! grep -q morestack $(TMPDIR)/attr.s
@ -10,9 +14,10 @@ all:
$(RUSTC) -O --emit asm -C no-stack-check flag.rs
! grep -q morestack $(TMPDIR)/flag.s
else
# On OpenBSD, morestack isn't used as the segmented stacks are disabled
# On Bitrig/OpenBSD, morestack isn't used as the segmented stacks are disabled
all:
endif
else
# On Windows we use __chkstk and it only appears in functions with large allocations,
# so this test wouldn't be reliable.

View File

@ -55,15 +55,21 @@ endif
ifdef IS_WINDOWS
EXTRACFLAGS := -lws2_32 -luserenv
else
ifeq ($(shell uname),Darwin)
ifeq ($(UNAME),Darwin)
else
ifeq ($(shell uname),FreeBSD)
ifeq ($(UNAME),FreeBSD)
EXTRACFLAGS := -lm -lpthread -lgcc_s
else
ifeq ($(shell uname),OpenBSD)
ifeq ($(UNAME),Bitrig)
EXTRACFLAGS := -lm -lpthread
EXTRACXXFLAGS := -lc++ -lc++abi
else
ifeq ($(UNAME),OpenBSD)
EXTRACFLAGS := -lm -lpthread
else
EXTRACFLAGS := -lm -lrt -ldl -lpthread
EXTRACXXFLAGS := -lstdc++
endif
endif
endif
endif

View File

@ -1,6 +1,9 @@
-include ../tools.mk
ifneq ($(findstring BSD,$(UNAME)),BSD)
SKIP_OS := 'FreeBSD OpenBSD Bitrig'
ifneq ($(UNAME),$(findstring $(UNAME),$(SKIP_OS)))
HOST := $(shell $(RUSTC) -vV | grep 'host:' | sed 's/host: //')
ifeq ($(findstring i686,$(HOST)),i686)
TARGET := $(subst i686,x86_64,$(HOST))
@ -13,6 +16,6 @@ all:
$(RUSTC) bar.rs -C extra-filename=-targ --target $(TARGET)
$(RUSTC) baz.rs --extern a=$(TMPDIR)/liba-targ.rlib --target $(TARGET)
else
# FreeBSD & OpenBSD support only x86_64 architecture for now
# FreeBSD, OpenBSD, and Bitrig support only x86_64 architecture for now
all:
endif

View File

@ -8,6 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// ignore-bitrig
// compile-flags: -C codegen-units=3
// aux-build:sepcomp_cci_lib.rs

View File

@ -8,6 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// ignore-bitrig
// compile-flags: -C codegen-units=3
// aux-build:sepcomp-extern-lib.rs

View File

@ -8,6 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// ignore-bitrig
// compile-flags: -C codegen-units=3
// Test references to items that haven't been translated yet.

View File

@ -8,6 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// ignore-bitrig
// compile-flags: -C codegen-units=3
// Test basic separate compilation functionality. The functions should be able

View File

@ -8,6 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// ignore-bitrig
// compile-flags: -C codegen-units=3
// Test references to static items across compilation units.

View File

@ -8,6 +8,7 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// ignore-bitrig
// compile-flags: -C codegen-units=3
// Test unwinding through multiple compilation units.

View File

@ -11,6 +11,7 @@
// ignore-linux see joyent/libuv#1189
// ignore-android needs extra network permissions
// ignore-openbsd system ulimit (Too many open files)
// ignore-bitrig system ulimit (Too many open files)
// exec-env:RUST_LOG=debug
#![feature(rustc_private, libc, old_io, io, std_misc)]