Skip to content

Commit

Permalink
Merge pull request #779 from cassaundra/merge-rm-package
Browse files Browse the repository at this point in the history
Add tests for `--package`
  • Loading branch information
epage authored Sep 1, 2022
2 parents c826c1e + eb051c7 commit 73d57be
Show file tree
Hide file tree
Showing 47 changed files with 441 additions and 7 deletions.
6 changes: 3 additions & 3 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,10 @@ jobs:
run: cargo build --verbose
continue-on-error: ${{ matrix.toolchain != 'stable' }}
- name: Run tests
run: cargo test --verbose
run: cargo test --all --verbose
continue-on-error: ${{ matrix.toolchain != 'stable' }}
- name: Run tests (vendored-openssl)
run: cargo test --features vendored-openssl --verbose
run: cargo test --all --features vendored-openssl --verbose
continue-on-error: ${{ matrix.toolchain != 'stable' }}

clippy:
Expand All @@ -42,7 +42,7 @@ jobs:
uses: actions/checkout@v2
- uses: Swatinem/rust-cache@v1
- name: Cargo Clippy
run: cargo clippy -- -D warnings -A deprecated
run: cargo clippy --all -- -D warnings -A deprecated

fmt:
name: fmt (ubuntu-latest, stable)
Expand Down
4 changes: 2 additions & 2 deletions crates/cargo-remove/src/bin/cargo/commands/remove.rs
Original file line number Diff line number Diff line change
Expand Up @@ -52,15 +52,15 @@ pub fn exec(config: &mut Config, args: &ArgMatches) -> CliResult {
let spec = match packages.len() {
0 => {
return Err(CliError::new(
anyhow::format_err!("no packages selected. Please specify one with `-p <PKGID>`"),
anyhow::format_err!("no packages selected. Please specify one with `-p <PKG_ID>`"),
101,
));
}
1 => packages[0],
len => {
return Err(CliError::new(
anyhow::format_err!(
"{len} packages selected. Please specify one with `-p <PKGID>`",
"{len} packages selected. Please specify one with `-p <PKG_ID>`",
),
101,
));
Expand Down
4 changes: 4 additions & 0 deletions crates/cargo-remove/src/cargo/ops/cargo_remove/dependency.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
#![allow(clippy::all)]
#![allow(missing_docs)]
#![allow(warnings)]

use std::collections::BTreeMap;
use std::fmt::{Display, Formatter};
use std::path::{Path, PathBuf};
Expand Down
4 changes: 4 additions & 0 deletions crates/cargo-remove/src/cargo/ops/cargo_remove/manifest.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
#![allow(clippy::all)]
#![allow(missing_docs)]
#![allow(warnings)]

use std::ops::{Deref, DerefMut};
use std::path::{Path, PathBuf};
use std::str;
Expand Down
4 changes: 4 additions & 0 deletions crates/cargo-remove/src/cargo/ops/cargo_remove/metadata.rs
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
#![allow(clippy::all)]
#![allow(missing_docs)]
#![allow(warnings)]

use std::convert::TryInto;
use std::path::Path;

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
[workspace]
members = [
"dep-a",
"dep-b"
]
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
[package]
name = "dep-a"
version = "0.1.0"

[[bin]]
name = "main"
path = "src/main.rs"

[build-dependencies]
semver = "0.1.0"

[dependencies]
docopt = "0.6"
pad = "0.1"
rustc-serialize = "0.3"
semver = "0.1"
toml = "0.1"
clippy = {git = "https:/Manishearth/rust-clippy.git", optional = true}

[dev-dependencies]
regex = "0.1.41"
serde = "1.0.90"

[features]
std = ["serde/std", "semver/std"]
annoy = ["clippy"]
Empty file.
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
[package]
name = "dep-b"
version = "0.1.0"

[[bin]]
name = "main"
path = "src/main.rs"

[build-dependencies]
semver = "0.1.0"

[dependencies]
docopt = "0.6"
pad = "0.1"
rustc-serialize = "0.3"
semver = "0.1"
toml = "0.1"
clippy = {git = "https:/Manishearth/rust-clippy.git", optional = true}

[dev-dependencies]
regex = "0.1.41"
serde = "1.0.90"

[features]
std = ["serde/std", "semver/std"]
annoy = ["clippy"]
Empty file.
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
use cargo_test_support::compare::assert_ui;
use cargo_test_support::Project;

use crate::cargo_remove::init_registry;
use crate::cargo_remove::CargoCommand;
use crate::curr_dir;

#[cargo_test]
fn case() {
init_registry();
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;

snapbox::cmd::Command::cargo_ui()
.arg("remove")
.args(["docopt", "--package", "dep-c"])
.current_dir(cwd)
.assert()
.code(101)
.stdout_matches_path(curr_dir!().join("stdout.log"))
.stderr_matches_path(curr_dir!().join("stderr.log"));

assert_ui().subset_matches(curr_dir!().join("out"), &project_root);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
[workspace]
members = [
"dep-a",
"dep-b"
]
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
[package]
name = "dep-a"
version = "0.1.0"

[[bin]]
name = "main"
path = "src/main.rs"

[build-dependencies]
semver = "0.1.0"

[dependencies]
docopt = "0.6"
pad = "0.1"
rustc-serialize = "0.3"
semver = "0.1"
toml = "0.1"
clippy = {git = "https:/Manishearth/rust-clippy.git", optional = true}

[dev-dependencies]
regex = "0.1.41"
serde = "1.0.90"

[features]
std = ["serde/std", "semver/std"]
annoy = ["clippy"]
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
[package]
name = "dep-b"
version = "0.1.0"

[[bin]]
name = "main"
path = "src/main.rs"

[build-dependencies]
semver = "0.1.0"

[dependencies]
docopt = "0.6"
pad = "0.1"
rustc-serialize = "0.3"
semver = "0.1"
toml = "0.1"
clippy = {git = "https:/Manishearth/rust-clippy.git", optional = true}

[dev-dependencies]
regex = "0.1.41"
serde = "1.0.90"

[features]
std = ["serde/std", "semver/std"]
annoy = ["clippy"]
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
error: package(s) `dep-c` not found in workspace `[ROOT]/case`
Empty file.
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
[workspace]
members = [
"dep-a",
"dep-b"
]
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
[package]
name = "dep-a"
version = "0.1.0"

[[bin]]
name = "main"
path = "src/main.rs"

[build-dependencies]
semver = "0.1.0"

[dependencies]
docopt = "0.6"
pad = "0.1"
rustc-serialize = "0.3"
semver = "0.1"
toml = "0.1"
clippy = {git = "https:/Manishearth/rust-clippy.git", optional = true}

[dev-dependencies]
regex = "0.1.41"
serde = "1.0.90"

[features]
std = ["serde/std", "semver/std"]
annoy = ["clippy"]
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
[package]
name = "dep-b"
version = "0.1.0"

[[bin]]
name = "main"
path = "src/main.rs"

[build-dependencies]
semver = "0.1.0"

[dependencies]
docopt = "0.6"
pad = "0.1"
rustc-serialize = "0.3"
semver = "0.1"
toml = "0.1"
clippy = {git = "https:/Manishearth/rust-clippy.git", optional = true}

[dev-dependencies]
regex = "0.1.41"
serde = "1.0.90"

[features]
std = ["serde/std", "semver/std"]
annoy = ["clippy"]
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
use cargo_test_support::compare::assert_ui;
use cargo_test_support::Project;

use crate::cargo_remove::init_registry;
use crate::cargo_remove::CargoCommand;
use crate::curr_dir;

#[cargo_test]
fn case() {
init_registry();
let project = Project::from_template(curr_dir!().join("in"));
let project_root = project.root();
let cwd = &project_root;

snapbox::cmd::Command::cargo_ui()
.arg("remove")
.args(["docopt"])
.current_dir(cwd)
.assert()
.code(101)
.stdout_matches_path(curr_dir!().join("stdout.log"))
.stderr_matches_path(curr_dir!().join("stderr.log"));

assert_ui().subset_matches(curr_dir!().join("out"), &project_root);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
[workspace]
members = [
"dep-a",
"dep-b"
]
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
[package]
name = "dep-a"
version = "0.1.0"

[[bin]]
name = "main"
path = "src/main.rs"

[build-dependencies]
semver = "0.1.0"

[dependencies]
docopt = "0.6"
pad = "0.1"
rustc-serialize = "0.3"
semver = "0.1"
toml = "0.1"
clippy = {git = "https:/Manishearth/rust-clippy.git", optional = true}

[dev-dependencies]
regex = "0.1.41"
serde = "1.0.90"

[features]
std = ["serde/std", "semver/std"]
annoy = ["clippy"]
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
[package]
name = "dep-b"
version = "0.1.0"

[[bin]]
name = "main"
path = "src/main.rs"

[build-dependencies]
semver = "0.1.0"

[dependencies]
docopt = "0.6"
pad = "0.1"
rustc-serialize = "0.3"
semver = "0.1"
toml = "0.1"
clippy = {git = "https:/Manishearth/rust-clippy.git", optional = true}

[dev-dependencies]
regex = "0.1.41"
serde = "1.0.90"

[features]
std = ["serde/std", "semver/std"]
annoy = ["clippy"]
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
error: 2 packages selected. Please specify one with `-p <PKG_ID>`
Empty file.
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
Removing dbus from dependencies for target `powerpc-unknown-linux-gnu`
error: The table `powerpc-unknown-linux-gnu` could not be found.
error: The dependency `dbus` could not be found in `target.powerpc-unknown-linux-gnu.dependencies`.
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
Removing semver from build-dependencies
error: The table `build-dependencies` could not be found.
error: The dependency `semver` could not be found in `build-dependencies`.
3 changes: 3 additions & 0 deletions crates/cargo-remove/tests/testsuite/cargo_remove/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
mod dry_run;
mod invalid_arg;
mod invalid_dep;
mod invalid_remove_package;
mod invalid_remove_package_multiple;
mod invalid_remove_target;
mod invalid_remove_target_dep;
mod invalid_section;
Expand All @@ -18,6 +20,7 @@ mod remove_multiple_deps;
mod remove_multiple_dev;
mod remove_optional_dep_feature;
mod remove_optional_feature;
mod remove_package;
mod remove_target;
mod remove_target_build;
mod remove_target_dev;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
[workspace]
members = [
"dep-a",
"dep-b"
]
Loading

0 comments on commit 73d57be

Please sign in to comment.