From e0f2341da1eeb84584a04dbf3ac908b344b0dce4 Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Sat, 7 Apr 2012 17:25:33 -0700 Subject: [PATCH] test: Add another test using multiple versions of the same crate --- src/test/auxiliary/crateresolve5-1.rs | 10 ++++++++++ src/test/auxiliary/crateresolve5-2.rs | 10 ++++++++++ src/test/run-pass/crateresolve5.rs | 13 +++++++++++++ 3 files changed, 33 insertions(+) create mode 100644 src/test/auxiliary/crateresolve5-1.rs create mode 100644 src/test/auxiliary/crateresolve5-2.rs create mode 100644 src/test/run-pass/crateresolve5.rs diff --git a/src/test/auxiliary/crateresolve5-1.rs b/src/test/auxiliary/crateresolve5-1.rs new file mode 100644 index 00000000000..98c0d779b0b --- /dev/null +++ b/src/test/auxiliary/crateresolve5-1.rs @@ -0,0 +1,10 @@ +#[link(name = "crateresolve5", + vers = "0.1")]; + +#[crate_type = "lib"]; + +fn structural() -> { name: str, val: int } { + { name: "crateresolve5", val: 10 } +} + +fn f() -> int { 10 } diff --git a/src/test/auxiliary/crateresolve5-2.rs b/src/test/auxiliary/crateresolve5-2.rs new file mode 100644 index 00000000000..43f9de950fe --- /dev/null +++ b/src/test/auxiliary/crateresolve5-2.rs @@ -0,0 +1,10 @@ +#[link(name = "crateresolve5", + vers = "0.2")]; + +#[crate_type = "lib"]; + +fn structural() -> { name: str, val: int } { + { name: "crateresolve5", val: 10 } +} + +fn f() -> int { 20 } diff --git a/src/test/run-pass/crateresolve5.rs b/src/test/run-pass/crateresolve5.rs new file mode 100644 index 00000000000..99269c30c9e --- /dev/null +++ b/src/test/run-pass/crateresolve5.rs @@ -0,0 +1,13 @@ +// xfail-fast +// aux-build:crateresolve5-1.rs +// aux-build:crateresolve5-2.rs + +use cr5_1 (name = "crateresolve5", vers = "0.1"); +use cr5_2 (name = "crateresolve5", vers = "0.2"); + +fn main() { + // Structural types can be used between two versions of the same crate + assert cr5_1::structural() == cr5_2::structural(); + // Make sure these are actually two different crates + assert cr5_1::f() == 10 && cr5_2::f() == 20; +}