summaryrefslogtreecommitdiffstats
path: root/tests/run-make/missing-crate-dependency
diff options
context:
space:
mode:
Diffstat (limited to 'tests/run-make/missing-crate-dependency')
-rw-r--r--tests/run-make/missing-crate-dependency/Makefile9
-rw-r--r--tests/run-make/missing-crate-dependency/crateA.rs2
-rw-r--r--tests/run-make/missing-crate-dependency/crateB.rs1
-rw-r--r--tests/run-make/missing-crate-dependency/crateC.rs3
4 files changed, 15 insertions, 0 deletions
diff --git a/tests/run-make/missing-crate-dependency/Makefile b/tests/run-make/missing-crate-dependency/Makefile
new file mode 100644
index 000000000..7c271ab8a
--- /dev/null
+++ b/tests/run-make/missing-crate-dependency/Makefile
@@ -0,0 +1,9 @@
+include ../tools.mk
+
+all:
+ $(RUSTC) --crate-type=rlib crateA.rs
+ $(RUSTC) --crate-type=rlib crateB.rs
+ $(call REMOVE_RLIBS,crateA)
+ # Ensure crateC fails to compile since dependency crateA is missing
+ $(RUSTC) crateC.rs 2>&1 | \
+ $(CGREP) 'can'"'"'t find crate for `crateA` which `crateB` depends on'
diff --git a/tests/run-make/missing-crate-dependency/crateA.rs b/tests/run-make/missing-crate-dependency/crateA.rs
new file mode 100644
index 000000000..31433cb60
--- /dev/null
+++ b/tests/run-make/missing-crate-dependency/crateA.rs
@@ -0,0 +1,2 @@
+// Base crate
+pub fn func() {}
diff --git a/tests/run-make/missing-crate-dependency/crateB.rs b/tests/run-make/missing-crate-dependency/crateB.rs
new file mode 100644
index 000000000..4ccd65d65
--- /dev/null
+++ b/tests/run-make/missing-crate-dependency/crateB.rs
@@ -0,0 +1 @@
+extern crate crateA;
diff --git a/tests/run-make/missing-crate-dependency/crateC.rs b/tests/run-make/missing-crate-dependency/crateC.rs
new file mode 100644
index 000000000..a8b817ec6
--- /dev/null
+++ b/tests/run-make/missing-crate-dependency/crateC.rs
@@ -0,0 +1,3 @@
+extern crate crateB;
+
+fn main() {}