Skip to content

Commit 10196aa

Browse files
committed
test(resolver): Demonstrate existing behavior
1 parent f797978 commit 10196aa

File tree

1 file changed

+161
-1
lines changed

1 file changed

+161
-1
lines changed

tests/testsuite/rust_version.rs

Lines changed: 161 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ fn rust_version_too_high() {
152152
}
153153

154154
#[cargo_test]
155-
fn rust_version_dependency_fails() {
155+
fn dependency_rust_version_newer_than_rustc() {
156156
Package::new("bar", "0.0.1")
157157
.rust_version("1.2345.0")
158158
.file("src/lib.rs", "fn other_stuff() {}")
@@ -189,6 +189,166 @@ fn rust_version_dependency_fails() {
189189
p.cargo("check --ignore-rust-version").run();
190190
}
191191

192+
#[cargo_test]
193+
fn dependency_rust_version_newer_than_package() {
194+
Package::new("bar", "1.6.0")
195+
.rust_version("1.65.0")
196+
.file("src/lib.rs", "fn other_stuff() {}")
197+
.publish();
198+
199+
let p = project()
200+
.file(
201+
"Cargo.toml",
202+
r#"
203+
[package]
204+
name = "foo"
205+
version = "0.0.1"
206+
authors = []
207+
rust-version = "1.60.0"
208+
[dependencies]
209+
bar = "1.0.0"
210+
"#,
211+
)
212+
.file("src/main.rs", "fn main(){}")
213+
.build();
214+
215+
p.cargo("check --ignore-rust-version")
216+
.with_stderr(
217+
"\
218+
[UPDATING] `dummy-registry` index
219+
[DOWNLOADING] crates ...
220+
[DOWNLOADED] bar v1.6.0 (registry `dummy-registry`)
221+
[CHECKING] bar v1.6.0
222+
[CHECKING] [..]
223+
[FINISHED] [..]
224+
",
225+
)
226+
.run();
227+
p.cargo("check")
228+
.with_stderr(
229+
"\
230+
[FINISHED] [..]
231+
",
232+
)
233+
.run();
234+
}
235+
236+
#[cargo_test]
237+
fn dependency_rust_version_older_and_newer_than_package() {
238+
Package::new("bar", "1.5.0")
239+
.rust_version("1.55.0")
240+
.file("src/lib.rs", "fn other_stuff() {}")
241+
.publish();
242+
Package::new("bar", "1.6.0")
243+
.rust_version("1.65.0")
244+
.file("src/lib.rs", "fn other_stuff() {}")
245+
.publish();
246+
247+
let p = project()
248+
.file(
249+
"Cargo.toml",
250+
r#"
251+
[package]
252+
name = "foo"
253+
version = "0.0.1"
254+
authors = []
255+
rust-version = "1.60.0"
256+
[dependencies]
257+
bar = "1.0.0"
258+
"#,
259+
)
260+
.file("src/main.rs", "fn main(){}")
261+
.build();
262+
263+
p.cargo("check --ignore-rust-version")
264+
.with_stderr(
265+
"\
266+
[UPDATING] `dummy-registry` index
267+
[DOWNLOADING] crates ...
268+
[DOWNLOADED] bar v1.6.0 (registry `dummy-registry`)
269+
[CHECKING] bar v1.6.0
270+
[CHECKING] [..]
271+
[FINISHED] [..]
272+
",
273+
)
274+
.run();
275+
p.cargo("check")
276+
.with_stderr(
277+
"\
278+
[FINISHED] [..]
279+
",
280+
)
281+
.run();
282+
}
283+
284+
#[cargo_test]
285+
fn workspace_with_mixed_rust_version() {
286+
Package::new("bar", "1.4.0")
287+
.rust_version("1.45.0")
288+
.file("src/lib.rs", "fn other_stuff() {}")
289+
.publish();
290+
Package::new("bar", "1.5.0")
291+
.rust_version("1.55.0")
292+
.file("src/lib.rs", "fn other_stuff() {}")
293+
.publish();
294+
Package::new("bar", "1.6.0")
295+
.rust_version("1.65.0")
296+
.file("src/lib.rs", "fn other_stuff() {}")
297+
.publish();
298+
299+
let p = project()
300+
.file(
301+
"Cargo.toml",
302+
r#"
303+
[workspace]
304+
members = ["lower"]
305+
306+
[package]
307+
name = "higher"
308+
version = "0.0.1"
309+
authors = []
310+
rust-version = "1.60.0"
311+
[dependencies]
312+
bar = "1.0.0"
313+
"#,
314+
)
315+
.file("src/main.rs", "fn main() {}")
316+
.file(
317+
"lower/Cargo.toml",
318+
r#"
319+
[package]
320+
name = "lower"
321+
version = "0.0.1"
322+
authors = []
323+
rust-version = "1.50.0"
324+
[dependencies]
325+
bar = "1.0.0"
326+
"#,
327+
)
328+
.file("lower/src/main.rs", "fn main() {}")
329+
.build();
330+
331+
p.cargo("check --ignore-rust-version")
332+
.with_stderr(
333+
"\
334+
[UPDATING] `dummy-registry` index
335+
[DOWNLOADING] crates ...
336+
[DOWNLOADED] bar v1.6.0 (registry `dummy-registry`)
337+
[CHECKING] bar v1.6.0
338+
[CHECKING] [..]
339+
[FINISHED] [..]
340+
",
341+
)
342+
.run();
343+
p.cargo("check")
344+
.with_stderr(
345+
"\
346+
[FINISHED] [..]
347+
",
348+
)
349+
.run();
350+
}
351+
192352
#[cargo_test]
193353
fn rust_version_older_than_edition() {
194354
project()

0 commit comments

Comments
 (0)