diff --git a/cli/src/cli.rs b/cli/src/cli.rs index a7ffe0fff4df..d63a9f903d33 100644 --- a/cli/src/cli.rs +++ b/cli/src/cli.rs @@ -40,6 +40,11 @@ pub struct ValidationWorkerCommand { #[allow(missing_docs)] #[derive(Debug, StructOpt, Clone)] +#[structopt(settings = &[ + structopt::clap::AppSettings::GlobalVersion, + structopt::clap::AppSettings::ArgsNegateSubcommands, + structopt::clap::AppSettings::SubcommandsNegateReqs, +])] pub struct Cli { #[allow(missing_docs)] #[structopt(subcommand)] diff --git a/tests/invalid_order_arguments.rs b/tests/invalid_order_arguments.rs new file mode 100644 index 000000000000..8f3247bae242 --- /dev/null +++ b/tests/invalid_order_arguments.rs @@ -0,0 +1,30 @@ +// Copyright 2020 Parity Technologies (UK) Ltd. +// This file is part of Substrate. + +// Substrate is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Substrate is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Substrate. If not, see . + +use assert_cmd::cargo::cargo_bin; +use std::process::Command; + +#[test] +#[cfg(unix)] +fn invalid_order_arguments() { + let base_path = "invalid_order_arguments"; + + let status = Command::new(cargo_bin("polkadot")) + .args(&["--dev", "invalid_order_arguments", "-d", base_path, "-y"]) + .status() + .unwrap(); + assert!(!status.success()); +} diff --git a/tests/purge_chain_works.rs b/tests/purge_chain_works.rs index 157cd10f8e0d..5bd43ceeb8f2 100644 --- a/tests/purge_chain_works.rs +++ b/tests/purge_chain_works.rs @@ -41,6 +41,7 @@ fn purge_chain_works() { kill(Pid::from_raw(cmd.id().try_into().unwrap()), SIGINT).unwrap(); assert!(common::wait_for(&mut cmd, 30).map(|x| x.success()).unwrap_or_default()); + // Purge chain let status = Command::new(cargo_bin("polkadot")) .args(&["purge-chain", "--dev", "-d", base_path, "-y"]) .status()