about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
Diffstat (limited to 'src/test')
-rw-r--r--src/test/run-make-fulldeps/extern-fn-reachable/Makefile20
-rw-r--r--src/test/run-make-fulldeps/extern-fn-reachable/main.rs18
2 files changed, 18 insertions, 20 deletions
diff --git a/src/test/run-make-fulldeps/extern-fn-reachable/Makefile b/src/test/run-make-fulldeps/extern-fn-reachable/Makefile
index 79a9a3c640f..9231a2b3574 100644
--- a/src/test/run-make-fulldeps/extern-fn-reachable/Makefile
+++ b/src/test/run-make-fulldeps/extern-fn-reachable/Makefile
@@ -1,9 +1,25 @@
 -include ../tools.mk
 
+# ignore-windows-msvc
+
+NM=nm -D
+
+ifeq ($(UNAME),Darwin)
+NM=nm -gU
+endif
+
+ifdef IS_WINDOWS
+NM=nm -g
+endif
+
 # This overrides the LD_LIBRARY_PATH for RUN
 TARGET_RPATH_DIR:=$(TARGET_RPATH_DIR):$(TMPDIR)
 
 all:
 	$(RUSTC) dylib.rs -o $(TMPDIR)/libdylib.so -C prefer-dynamic
-	$(RUSTC) main.rs -C prefer-dynamic
-	$(call RUN,main)
+
+	[ "$$($(NM) $(TMPDIR)/libdylib.so | grep -v __imp_ | grep -c fun1)" -eq "1" ]
+	[ "$$($(NM) $(TMPDIR)/libdylib.so | grep -v __imp_ | grep -c fun2)" -eq "1" ]
+	[ "$$($(NM) $(TMPDIR)/libdylib.so | grep -v __imp_ | grep -c fun3)" -eq "1" ]
+	[ "$$($(NM) $(TMPDIR)/libdylib.so | grep -v __imp_ | grep -c fun4)" -eq "1" ]
+	[ "$$($(NM) $(TMPDIR)/libdylib.so | grep -v __imp_ | grep -c fun5)" -eq "1" ]
diff --git a/src/test/run-make-fulldeps/extern-fn-reachable/main.rs b/src/test/run-make-fulldeps/extern-fn-reachable/main.rs
deleted file mode 100644
index c1de6477585..00000000000
--- a/src/test/run-make-fulldeps/extern-fn-reachable/main.rs
+++ /dev/null
@@ -1,18 +0,0 @@
-#![feature(rustc_private)]
-
-extern crate rustc_metadata;
-
-use rustc_metadata::dynamic_lib::DynamicLibrary;
-use std::path::Path;
-
-pub fn main() {
-    unsafe {
-        let path = Path::new("libdylib.so");
-        let a = DynamicLibrary::open(&path).unwrap();
-        assert!(a.symbol::<isize>("fun1").is_ok());
-        assert!(a.symbol::<isize>("fun2").is_ok());
-        assert!(a.symbol::<isize>("fun3").is_ok());
-        assert!(a.symbol::<isize>("fun4").is_ok());
-        assert!(a.symbol::<isize>("fun5").is_ok());
-    }
-}