File tree Expand file tree Collapse file tree 6 files changed +100
-0
lines changed
src/test/run-make/many-crates-but-no-match Expand file tree Collapse file tree 6 files changed +100
-0
lines changed Original file line number Diff line number Diff line change 1+ -include ../tools.mk
2+
3+ # Modelled after compile-fail/changing-crates test, but this one puts
4+ # more than one (mismatching) candidate crate into the search path,
5+ # which did not appear directly expressible in compile-fail/aux-build
6+ # infrastructure.
7+ #
8+ # Note that we move the built libraries into target direcrtories rather than
9+ # use the `--out-dir` option because the `../tools.mk` file already bakes a
10+ # use of `--out-dir` into the definition of $(RUSTC).
11+
12+ A1 =$(TMPDIR ) /a1
13+ A2 =$(TMPDIR ) /a2
14+ A3 =$(TMPDIR ) /a3
15+
16+ # A hack to match distinct lines of output from a single run.
17+ LOG =$(TMPDIR ) /log.txt
18+
19+ all :
20+ mkdir -p $(A1 ) $(A2 ) $(A3 )
21+ $(RUSTC ) --crate-type=rlib crateA1.rs
22+ mv $(TMPDIR ) /$(call RLIB_GLOB,crateA) $(A1 )
23+ $(RUSTC ) --crate-type=rlib -L$(A1 ) crateB.rs
24+ $(RUSTC ) --crate-type=rlib crateA2.rs
25+ mv $(TMPDIR ) /$(call RLIB_GLOB,crateA) $(A2 )
26+ $(RUSTC ) --crate-type=rlib crateA3.rs
27+ mv $(TMPDIR ) /$(call RLIB_GLOB,crateA) $(A3 )
28+ # Ensure crateC fails to compile since A1 is "missing" and A2/A3 hashes do not match
29+ $(RUSTC ) -L$(A2 ) -L$(A3 ) crateC.rs > $(LOG ) 2>&1 || true
30+ grep " error: found possibly newer version of crate \` crateA\` which \` crateB\` depends on" $(LOG )
31+ grep " note: perhaps this crate needs to be recompiled?" $(LOG )
32+ grep " note: crate \` crateA\` path #1:" $(LOG )
33+ grep " note: crate \` crateA\` path #2:" $(LOG )
34+ grep " note: crate \` crateB\` path #1:" $(LOG )
Original file line number Diff line number Diff line change 1+ // Copyright 2014 The Rust Project Developers. See the COPYRIGHT
2+ // file at the top-level directory of this distribution and at
3+ // http://rust-lang.org/COPYRIGHT.
4+ //
5+ // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+ // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+ // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+ // option. This file may not be copied, modified, or distributed
9+ // except according to those terms.
10+
11+ #![ crate_id="crateA" ]
12+
13+ // Base crate
14+ pub fn func < T > ( ) { }
Original file line number Diff line number Diff line change 1+ // Copyright 2014 The Rust Project Developers. See the COPYRIGHT
2+ // file at the top-level directory of this distribution and at
3+ // http://rust-lang.org/COPYRIGHT.
4+ //
5+ // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+ // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+ // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+ // option. This file may not be copied, modified, or distributed
9+ // except according to those terms.
10+
11+ #![ crate_id="crateA" ]
12+
13+ // Base crate
14+ pub fn func < T > ( ) { println ! ( "hello" ) ; }
Original file line number Diff line number Diff line change 1+ // Copyright 2014 The Rust Project Developers. See the COPYRIGHT
2+ // file at the top-level directory of this distribution and at
3+ // http://rust-lang.org/COPYRIGHT.
4+ //
5+ // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+ // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+ // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+ // option. This file may not be copied, modified, or distributed
9+ // except according to those terms.
10+
11+ #![ crate_id="crateA" ]
12+
13+ // Base crate
14+ pub fn foo < T > ( ) { println ! ( "world!" ) ; }
Original file line number Diff line number Diff line change 1+ // Copyright 2014 The Rust Project Developers. See the COPYRIGHT
2+ // file at the top-level directory of this distribution and at
3+ // http://rust-lang.org/COPYRIGHT.
4+ //
5+ // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+ // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+ // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+ // option. This file may not be copied, modified, or distributed
9+ // except according to those terms.
10+
11+ extern crate crateA;
Original file line number Diff line number Diff line change 1+ // Copyright 2014 The Rust Project Developers. See the COPYRIGHT
2+ // file at the top-level directory of this distribution and at
3+ // http://rust-lang.org/COPYRIGHT.
4+ //
5+ // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+ // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+ // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+ // option. This file may not be copied, modified, or distributed
9+ // except according to those terms.
10+
11+ extern crate crateB;
12+
13+ fn main ( ) { }
You can’t perform that action at this time.
0 commit comments