mirror of
https://github.com/rust-lang/cargo.git
synced 2025-09-28 11:20:36 +00:00
Correct the situation with git repository test cases
This commit is contained in:
parent
2c503f89c4
commit
4577c0ec61
@ -4,7 +4,7 @@ use cargo_test_support::paths::CargoPathExt;
|
|||||||
use cargo_test_support::publish::validate_crate_contents;
|
use cargo_test_support::publish::validate_crate_contents;
|
||||||
use cargo_test_support::registry::{self, Package};
|
use cargo_test_support::registry::{self, Package};
|
||||||
use cargo_test_support::{
|
use cargo_test_support::{
|
||||||
basic_manifest, cargo_process, git, path2url, paths, project, symlink_supported, t,
|
basic_manifest, cargo_process, git, path2url, paths, project, project_in, symlink_supported, t,
|
||||||
ProjectBuilder,
|
ProjectBuilder,
|
||||||
};
|
};
|
||||||
use flate2::read::GzDecoder;
|
use flate2::read::GzDecoder;
|
||||||
@ -3138,8 +3138,9 @@ See https://doc.rust-lang.org/cargo/reference/manifest.html#package-metadata for
|
|||||||
fn include_files_called_target_project() {
|
fn include_files_called_target_project() {
|
||||||
// https://github.com/rust-lang/cargo/issues/12790
|
// https://github.com/rust-lang/cargo/issues/12790
|
||||||
// files and folders called "target" should be included, unless they're the actual target directory
|
// files and folders called "target" should be included, unless they're the actual target directory
|
||||||
|
let p = init_and_add_inner_target(project())
|
||||||
let p = init_project_files_called_target(project()).build();
|
.file("target/foo.txt", "")
|
||||||
|
.build();
|
||||||
|
|
||||||
p.cargo("package -l")
|
p.cargo("package -l")
|
||||||
.with_stdout(
|
.with_stdout(
|
||||||
@ -3161,9 +3162,9 @@ src/main.rs
|
|||||||
fn include_files_called_target_git() {
|
fn include_files_called_target_git() {
|
||||||
// https://github.com/rust-lang/cargo/issues/12790
|
// https://github.com/rust-lang/cargo/issues/12790
|
||||||
// files and folders called "target" should be included, unless they're the actual target directory
|
// files and folders called "target" should be included, unless they're the actual target directory
|
||||||
|
let (p, repo) = git::new_repo("all", |p| init_and_add_inner_target(p));
|
||||||
let p = git::new("all", |p| init_project_files_called_target(p));
|
// add target folder but not committed.
|
||||||
|
let _ = project_in(&repo.path().display().to_string()).file("target/foo.txt", "");
|
||||||
p.cargo("package -l")
|
p.cargo("package -l")
|
||||||
.with_stdout(
|
.with_stdout(
|
||||||
"\
|
"\
|
||||||
@ -3176,12 +3177,33 @@ data/target
|
|||||||
derp/not_target/foo.txt
|
derp/not_target/foo.txt
|
||||||
derp/target/foo.txt
|
derp/target/foo.txt
|
||||||
src/main.rs
|
src/main.rs
|
||||||
|
",
|
||||||
|
)
|
||||||
|
.run();
|
||||||
|
|
||||||
|
// if target is committed, it should be include.
|
||||||
|
let p = git::new("all", |p| {
|
||||||
|
init_and_add_inner_target(p).file("target/foo.txt", "")
|
||||||
|
});
|
||||||
|
p.cargo("package -l")
|
||||||
|
.with_stdout(
|
||||||
|
"\
|
||||||
|
.cargo_vcs_info.json
|
||||||
|
Cargo.lock
|
||||||
|
Cargo.toml
|
||||||
|
Cargo.toml.orig
|
||||||
|
data/not_target
|
||||||
|
data/target
|
||||||
|
derp/not_target/foo.txt
|
||||||
|
derp/target/foo.txt
|
||||||
|
src/main.rs
|
||||||
|
target/foo.txt
|
||||||
",
|
",
|
||||||
)
|
)
|
||||||
.run();
|
.run();
|
||||||
}
|
}
|
||||||
|
|
||||||
fn init_project_files_called_target(p: ProjectBuilder) -> ProjectBuilder {
|
fn init_and_add_inner_target(p: ProjectBuilder) -> ProjectBuilder {
|
||||||
p.file(
|
p.file(
|
||||||
"Cargo.toml",
|
"Cargo.toml",
|
||||||
r#"
|
r#"
|
||||||
@ -3194,8 +3216,6 @@ fn init_project_files_called_target(p: ProjectBuilder) -> ProjectBuilder {
|
|||||||
"#,
|
"#,
|
||||||
)
|
)
|
||||||
.file("src/main.rs", r#"fn main() { println!("hello"); }"#)
|
.file("src/main.rs", r#"fn main() { println!("hello"); }"#)
|
||||||
// actual target dir, should be excluded
|
|
||||||
.file("target/foo.txt", "")
|
|
||||||
// file called target, should be included
|
// file called target, should be included
|
||||||
.file("data/target", "")
|
.file("data/target", "")
|
||||||
.file("data/not_target", "")
|
.file("data/not_target", "")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user