From 18cb7dcf9e3f53b38b5b99e3b0d292791bb3cfa3 Mon Sep 17 00:00:00 2001 From: Sylvestre Ledru Date: Sat, 1 Mar 2025 15:29:11 +0100 Subject: [PATCH] Use the new function `fails_with_code` Done with ``` $ perl -0777 -i -pe 's/([ \t]+)\.fails\(\)[ \t]*\n[ \t]+\.no_stdout\(\)[ \t]*\n[ \t]+\.code_is\(([0-9]+)\);/\1.fails_with_code(\2)\n\1.no_stdout();/gs' *rs $ sed -i -e "s|.fails()(.*).code_is(|.fails_with_code(|g" *rs $ perl -0777 -i -pe 's/([ \t]+)\.fails\(\)[ \t]*\n[ \t]+\.code_is\(([0-9]+)\);/\1.fails_with_code(\2);/gs' *rs $ perl -0777 -i -pe 's/([ \t]+)\.fails\(\)(.*?)[ \t]+\.code_is\(([0-9]+)\);/\1.fails_with_code(\3)\2;/gs' *rs ... ``` --- tests/by-util/test_arch.rs | 2 +- tests/by-util/test_basename.rs | 5 +- tests/by-util/test_cat.rs | 3 +- tests/by-util/test_chgrp.rs | 2 +- tests/by-util/test_chmod.rs | 31 +++---- tests/by-util/test_chown.rs | 2 +- tests/by-util/test_chroot.rs | 23 ++--- tests/by-util/test_cksum.rs | 71 +++++++-------- tests/by-util/test_comm.rs | 17 ++-- tests/by-util/test_cp.rs | 18 ++-- tests/by-util/test_csplit.rs | 8 +- tests/by-util/test_cut.rs | 24 ++--- tests/by-util/test_date.rs | 7 +- tests/by-util/test_dd.rs | 8 +- tests/by-util/test_df.rs | 2 +- tests/by-util/test_dircolors.rs | 2 +- tests/by-util/test_dirname.rs | 2 +- tests/by-util/test_du.rs | 19 ++-- tests/by-util/test_env.rs | 89 +++++++------------ tests/by-util/test_expand.rs | 2 +- tests/by-util/test_expr.rs | 44 ++++------ tests/by-util/test_factor.rs | 2 +- tests/by-util/test_fmt.rs | 37 +++----- tests/by-util/test_fold.rs | 2 +- tests/by-util/test_groups.rs | 2 +- tests/by-util/test_hashsum.rs | 17 ++-- tests/by-util/test_head.rs | 2 +- tests/by-util/test_hostid.rs | 5 +- tests/by-util/test_hostname.rs | 2 +- tests/by-util/test_id.rs | 2 +- tests/by-util/test_install.rs | 20 ++--- tests/by-util/test_join.rs | 2 +- tests/by-util/test_kill.rs | 2 +- tests/by-util/test_link.rs | 2 +- tests/by-util/test_ln.rs | 5 +- tests/by-util/test_logname.rs | 2 +- tests/by-util/test_ls.rs | 62 +++++-------- tests/by-util/test_mkdir.rs | 5 +- tests/by-util/test_mkfifo.rs | 2 +- tests/by-util/test_mknod.rs | 8 +- tests/by-util/test_mktemp.rs | 3 +- tests/by-util/test_mv.rs | 2 +- tests/by-util/test_nice.rs | 2 +- tests/by-util/test_nl.rs | 2 +- tests/by-util/test_nohup.rs | 2 +- tests/by-util/test_nproc.rs | 2 +- tests/by-util/test_numfmt.rs | 60 +++++-------- tests/by-util/test_od.rs | 11 +-- tests/by-util/test_paste.rs | 2 +- tests/by-util/test_pathchk.rs | 2 +- tests/by-util/test_pinky.rs | 2 +- tests/by-util/test_pr.rs | 5 +- tests/by-util/test_printf.rs | 22 ++--- tests/by-util/test_ptx.rs | 2 +- tests/by-util/test_pwd.rs | 2 +- tests/by-util/test_readlink.rs | 47 ++++------ tests/by-util/test_realpath.rs | 14 ++- tests/by-util/test_rm.rs | 2 +- tests/by-util/test_rmdir.rs | 5 +- tests/by-util/test_runcon.rs | 22 ++--- tests/by-util/test_seq.rs | 5 +- tests/by-util/test_shred.rs | 6 +- tests/by-util/test_shuf.rs | 2 +- tests/by-util/test_sort.rs | 45 ++++------ tests/by-util/test_split.rs | 65 +++++--------- tests/by-util/test_stat.rs | 11 +-- tests/by-util/test_stdbuf.rs | 17 ++-- tests/by-util/test_stty.rs | 2 +- tests/by-util/test_sum.rs | 2 +- tests/by-util/test_sync.rs | 2 +- tests/by-util/test_tac.rs | 2 +- tests/by-util/test_tail.rs | 149 +++++++++++++------------------- tests/by-util/test_tee.rs | 2 +- tests/by-util/test_test.rs | 19 ++-- tests/by-util/test_timeout.rs | 14 ++- tests/by-util/test_touch.rs | 8 +- tests/by-util/test_tr.rs | 8 +- tests/by-util/test_truncate.rs | 12 +-- tests/by-util/test_tsort.rs | 8 +- tests/by-util/test_tty.rs | 8 +- tests/by-util/test_uname.rs | 2 +- tests/by-util/test_unexpand.rs | 2 +- tests/by-util/test_uniq.rs | 2 +- tests/by-util/test_unlink.rs | 2 +- tests/by-util/test_uptime.rs | 2 +- tests/by-util/test_users.rs | 2 +- tests/by-util/test_wc.rs | 2 +- tests/by-util/test_who.rs | 2 +- tests/by-util/test_whoami.rs | 2 +- tests/by-util/test_yes.rs | 2 +- 90 files changed, 448 insertions(+), 732 deletions(-) diff --git a/tests/by-util/test_arch.rs b/tests/by-util/test_arch.rs index daf4e32f5..672d223e0 100644 --- a/tests/by-util/test_arch.rs +++ b/tests/by-util/test_arch.rs @@ -19,5 +19,5 @@ fn test_arch_help() { #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } diff --git a/tests/by-util/test_basename.rs b/tests/by-util/test_basename.rs index 3292c101a..9a9626bbb 100644 --- a/tests/by-util/test_basename.rs +++ b/tests/by-util/test_basename.rs @@ -192,14 +192,13 @@ fn test_simple_format() { new_ucmd!().args(&["a-z", "-z"]).succeeds().stdout_is("a\n"); new_ucmd!() .args(&["a", "b", "c"]) - .fails() - .code_is(1) + .fails_with_code(1) .stderr_contains("extra operand 'c'"); } #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } #[test] diff --git a/tests/by-util/test_cat.rs b/tests/by-util/test_cat.rs index 3e23191e3..9cb14b9c1 100644 --- a/tests/by-util/test_cat.rs +++ b/tests/by-util/test_cat.rs @@ -615,8 +615,7 @@ fn test_write_to_self() { .arg("first_file") .arg("first_file") .arg("second_file") - .fails() - .code_is(2) + .fails_with_code(2) .stderr_only("cat: first_file: input file is output file\ncat: first_file: input file is output file\n"); assert_eq!( diff --git a/tests/by-util/test_chgrp.rs b/tests/by-util/test_chgrp.rs index cd40d80be..9a081b98d 100644 --- a/tests/by-util/test_chgrp.rs +++ b/tests/by-util/test_chgrp.rs @@ -14,7 +14,7 @@ fn test_invalid_option() { #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } static DIR: &str = "/dev"; diff --git a/tests/by-util/test_chmod.rs b/tests/by-util/test_chmod.rs index 6f508afd6..a12b10120 100644 --- a/tests/by-util/test_chmod.rs +++ b/tests/by-util/test_chmod.rs @@ -266,8 +266,7 @@ fn test_chmod_error_permissions() { ucmd.args(&["-w", "file"]) .umask(0o022) - .fails() - .code_is(1) + .fails_with_code(1) .stderr_is( // spell-checker:disable-next-line "chmod: file: new permissions are r-xrwxrwx, not r-xr-xr-x\n", @@ -442,9 +441,8 @@ fn test_chmod_non_existing_file_silent() { .arg("--quiet") .arg("-r,a+w") .arg("does-not-exist") - .fails() - .no_stderr() - .code_is(1); + .fails_with_code(1) + .no_stderr(); } #[test] @@ -454,7 +452,7 @@ fn test_chmod_preserve_root() { .arg("--preserve-root") .arg("755") .arg("/") - .fails() + .fails_with_code(1) .stderr_contains("chmod: it is dangerous to operate recursively on '/'"); } @@ -478,8 +476,7 @@ fn test_chmod_symlink_non_existing_file() { .arg("755") .arg("-v") .arg(test_symlink) - .fails() - .code_is(1) + .fails_with_code(1) .stdout_contains(expected_stdout) .stderr_contains(expected_stderr); @@ -585,14 +582,13 @@ fn test_chmod_keep_setgid() { fn test_no_operands() { new_ucmd!() .arg("777") - .fails() - .code_is(1) + .fails_with_code(1) .usage_error("missing operand"); } #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } #[test] @@ -624,9 +620,8 @@ fn test_chmod_file_after_non_existing_file() { .arg("u+x") .arg("does-not-exist") .arg(TEST_FILE) - .fails() - .stderr_contains("chmod: cannot access 'does-not-exist': No such file or directory") - .code_is(1); + .fails_with_code(1) + .stderr_contains("chmod: cannot access 'does-not-exist': No such file or directory"); assert_eq!(at.metadata(TEST_FILE).permissions().mode(), 0o100_764); @@ -636,9 +631,8 @@ fn test_chmod_file_after_non_existing_file() { .arg("--q") .arg("does-not-exist") .arg("file2") - .fails() - .no_stderr() - .code_is(1); + .fails_with_code(1) + .no_stderr(); assert_eq!(at.metadata("file2").permissions().mode(), 0o100_764); } @@ -669,8 +663,7 @@ fn test_chmod_file_symlink_after_non_existing_file() { .arg("-v") .arg(test_dangling_symlink) .arg(test_existing_symlink) - .fails() - .code_is(1) + .fails_with_code(1) .stdout_contains(expected_stdout) .stderr_contains(expected_stderr); assert_eq!( diff --git a/tests/by-util/test_chown.rs b/tests/by-util/test_chown.rs index f503ec02e..3dd472efe 100644 --- a/tests/by-util/test_chown.rs +++ b/tests/by-util/test_chown.rs @@ -81,7 +81,7 @@ fn test_invalid_option() { #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } #[test] diff --git a/tests/by-util/test_chroot.rs b/tests/by-util/test_chroot.rs index 022822c6b..b416757f8 100644 --- a/tests/by-util/test_chroot.rs +++ b/tests/by-util/test_chroot.rs @@ -10,14 +10,12 @@ use crate::common::util::{run_ucmd_as_root, TestScenario}; #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(125); + new_ucmd!().arg("--definitely-invalid").fails_with_code(125); } #[test] fn test_missing_operand() { - let result = new_ucmd!().fails(); - - result.code_is(125); + let result = new_ucmd!().fails_with_code(125); assert!(result .stderr_str() @@ -34,8 +32,7 @@ fn test_enter_chroot_fails() { at.mkdir("jail"); - let result = ucmd.arg("jail").fails(); - result.code_is(125); + let result = ucmd.arg("jail").fails_with_code(125); assert!(result .stderr_str() .starts_with("chroot: cannot chroot to 'jail': Operation not permitted (os error 1)")); @@ -48,9 +45,8 @@ fn test_no_such_directory() { at.touch(at.plus_as_string("a")); ucmd.arg("a") - .fails() - .stderr_is("chroot: cannot change root directory to 'a': no such directory\n") - .code_is(125); + .fails_with_code(125) + .stderr_is("chroot: cannot change root directory to 'a': no such directory\n"); } #[test] @@ -160,9 +156,7 @@ fn test_preference_of_userspec() { .arg("--groups") .arg("ABC,DEF") .arg(format!("--userspec={username}:{group_name}")) - .fails(); - - result.code_is(125); + .fails_with_code(125); println!("result.stdout = {}", result.stdout_str()); println!("result.stderr = {}", result.stderr_str()); @@ -216,9 +210,8 @@ fn test_chroot_skip_chdir_not_root() { ucmd.arg("--skip-chdir") .arg(dir) - .fails() - .stderr_contains("chroot: option --skip-chdir only permitted if NEWROOT is old '/'") - .code_is(125); + .fails_with_code(125) + .stderr_contains("chroot: option --skip-chdir only permitted if NEWROOT is old '/'"); } #[test] diff --git a/tests/by-util/test_cksum.rs b/tests/by-util/test_cksum.rs index 9f2869b54..820ae2f88 100644 --- a/tests/by-util/test_cksum.rs +++ b/tests/by-util/test_cksum.rs @@ -12,7 +12,7 @@ const ALGOS: [&str; 11] = [ #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } #[test] @@ -75,7 +75,7 @@ fn test_nonexisting_file() { new_ucmd!() .arg(file_name) - .fails() + .fails_with_code(1) .no_stdout() .stderr_contains(format!("cksum: {file_name}: No such file or directory")); } @@ -301,32 +301,28 @@ fn test_check_algo() { .arg("lorem_ipsum.txt") .fails() .no_stdout() - .stderr_contains("cksum: --check is not supported with --algorithm={bsd,sysv,crc,crc32b}") - .code_is(1); + .stderr_contains("cksum: --check is not supported with --algorithm={bsd,sysv,crc,crc32b}"); new_ucmd!() .arg("-a=sysv") .arg("--check") .arg("lorem_ipsum.txt") - .fails() + .fails_with_code(1) .no_stdout() - .stderr_contains("cksum: --check is not supported with --algorithm={bsd,sysv,crc,crc32b}") - .code_is(1); + .stderr_contains("cksum: --check is not supported with --algorithm={bsd,sysv,crc,crc32b}"); new_ucmd!() .arg("-a=crc") .arg("--check") .arg("lorem_ipsum.txt") - .fails() + .fails_with_code(1) .no_stdout() - .stderr_contains("cksum: --check is not supported with --algorithm={bsd,sysv,crc,crc32b}") - .code_is(1); + .stderr_contains("cksum: --check is not supported with --algorithm={bsd,sysv,crc,crc32b}"); new_ucmd!() .arg("-a=crc32b") .arg("--check") .arg("lorem_ipsum.txt") - .fails() + .fails_with_code(1) .no_stdout() - .stderr_contains("cksum: --check is not supported with --algorithm={bsd,sysv,crc,crc32b}") - .code_is(1); + .stderr_contains("cksum: --check is not supported with --algorithm={bsd,sysv,crc,crc32b}"); } #[test] @@ -335,20 +331,18 @@ fn test_length_with_wrong_algorithm() { .arg("--length=16") .arg("--algorithm=md5") .arg("lorem_ipsum.txt") - .fails() + .fails_with_code(1) .no_stdout() - .stderr_contains("cksum: --length is only supported with --algorithm=blake2b") - .code_is(1); + .stderr_contains("cksum: --length is only supported with --algorithm=blake2b"); new_ucmd!() .arg("--length=16") .arg("--algorithm=md5") .arg("-c") .arg("foo.sums") - .fails() + .fails_with_code(1) .no_stdout() - .stderr_contains("cksum: --length is only supported with --algorithm=blake2b") - .code_is(1); + .stderr_contains("cksum: --length is only supported with --algorithm=blake2b"); } #[test] @@ -356,10 +350,9 @@ fn test_length_not_supported() { new_ucmd!() .arg("--length=15") .arg("lorem_ipsum.txt") - .fails() + .fails_with_code(1) .no_stdout() - .stderr_contains("--length is only supported with --algorithm=blake2b") - .code_is(1); + .stderr_contains("--length is only supported with --algorithm=blake2b"); new_ucmd!() .arg("-l") @@ -368,10 +361,9 @@ fn test_length_not_supported() { .arg("-a") .arg("crc") .arg("/tmp/xxx") - .fails() + .fails_with_code(1) .no_stdout() - .stderr_contains("--length is only supported with --algorithm=blake2b") - .code_is(1); + .stderr_contains("--length is only supported with --algorithm=blake2b"); } #[test] @@ -394,7 +386,7 @@ fn test_length_greater_than_512() { .arg("--algorithm=blake2b") .arg("lorem_ipsum.txt") .arg("alice_in_wonderland.txt") - .fails() + .fails_with_code(1) .no_stdout() .stderr_is_fixture("length_larger_than_512.expected"); } @@ -443,10 +435,9 @@ fn test_raw_multiple_files() { .arg("--raw") .arg("lorem_ipsum.txt") .arg("alice_in_wonderland.txt") - .fails() + .fails_with_code(1) .no_stdout() - .stderr_contains("cksum: the --raw option is not supported with multiple files") - .code_is(1); + .stderr_contains("cksum: the --raw option is not supported with multiple files"); } #[test] @@ -455,7 +446,7 @@ fn test_base64_raw_conflicts() { .arg("--base64") .arg("--raw") .arg("lorem_ipsum.txt") - .fails() + .fails_with_code(1) .no_stdout() .stderr_contains("--base64") .stderr_contains("cannot be used with") @@ -749,12 +740,11 @@ fn test_conflicting_options() { .arg("--binary") .arg("--check") .arg("f") - .fails() + .fails_with_code(1) .no_stdout() .stderr_contains( "cksum: the --binary and --text options are meaningless when verifying checksums", - ) - .code_is(1); + ); scene .ucmd() @@ -762,12 +752,11 @@ fn test_conflicting_options() { .arg("-c") .arg("-a") .arg("md5") - .fails() + .fails_with_code(1) .no_stdout() .stderr_contains( "cksum: the --binary and --text options are meaningless when verifying checksums", - ) - .code_is(1); + ); } #[test] @@ -784,10 +773,9 @@ fn test_check_algo_err() { .arg("sm3") .arg("--check") .arg("f") - .fails() + .fails_with_code(1) .no_stdout() - .stderr_contains("cksum: f: no properly formatted checksum lines found") - .code_is(1); + .stderr_contains("cksum: f: no properly formatted checksum lines found"); } #[test] @@ -803,10 +791,9 @@ fn test_check_pipe() { .arg("--check") .arg("-") .pipe_in("f") - .fails() + .fails_with_code(1) .no_stdout() - .stderr_contains("cksum: 'standard input': no properly formatted checksum lines found") - .code_is(1); + .stderr_contains("cksum: 'standard input': no properly formatted checksum lines found"); } #[test] diff --git a/tests/by-util/test_comm.rs b/tests/by-util/test_comm.rs index bad00b129..aa2b36962 100644 --- a/tests/by-util/test_comm.rs +++ b/tests/by-util/test_comm.rs @@ -8,7 +8,7 @@ use crate::common::util::TestScenario; #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } #[test] @@ -459,8 +459,7 @@ fn test_sorted() { scene .ucmd() .args(&["comm1", "comm2"]) - .fails() - .code_is(1) + .fails_with_code(1) .stdout_is("1\n\t\t3\n\t2\n") .stderr_is(expected_stderr); } @@ -477,8 +476,7 @@ fn test_sorted_check_order() { .ucmd() .arg("--check-order") .args(&["comm1", "comm2"]) - .fails() - .code_is(1) + .fails_with_code(1) .stdout_is("1\n\t\t3\n") .stderr_is(expected_stderr); } @@ -493,8 +491,7 @@ fn test_both_inputs_out_of_order() { scene .ucmd() .args(&["file_a", "file_b"]) - .fails() - .code_is(1) + .fails_with_code(1) .stdout_is("\t\t3\n1\n0\n\t2\n\t0\n") .stderr_is( "comm: file 1 is not in sorted order\n\ @@ -513,8 +510,7 @@ fn test_both_inputs_out_of_order_last_pair() { scene .ucmd() .args(&["file_a", "file_b"]) - .fails() - .code_is(1) + .fails_with_code(1) .stdout_is("\t\t3\n1\n\t2\n") .stderr_is( "comm: file 1 is not in sorted order\n\ @@ -533,8 +529,7 @@ fn test_first_input_out_of_order_extended() { scene .ucmd() .args(&["file_a", "file_b"]) - .fails() - .code_is(1) + .fails_with_code(1) .stdout_is("0\n\t2\n\t\t3\n1\n") .stderr_is( "comm: file 1 is not in sorted order\n\ diff --git a/tests/by-util/test_cp.rs b/tests/by-util/test_cp.rs index 694b0153d..646d6e535 100644 --- a/tests/by-util/test_cp.rs +++ b/tests/by-util/test_cp.rs @@ -185,8 +185,7 @@ fn test_cp_same_file() { ucmd.arg(file) .arg(file) - .fails() - .code_is(1) + .fails_with_code(1) .stderr_contains(format!("'{file}' and '{file}' are the same file")); } @@ -664,8 +663,7 @@ fn test_cp_arg_interactive_update_overwrite_older() { at.touch("a"); ucmd.args(&["-i", "-u", "a", "b"]) .pipe_in("N\n") - .fails() - .code_is(1) + .fails_with_code(1) .no_stdout() .stderr_is("cp: overwrite 'b'? "); @@ -1720,8 +1718,7 @@ fn test_cp_preserve_invalid_rejected() { .arg("--preserve=invalid-value") .arg(TEST_COPY_FROM_FOLDER_FILE) .arg(TEST_HELLO_WORLD_DEST) - .fails() - .code_is(1) + .fails_with_code(1) .no_stdout(); } @@ -3465,8 +3462,7 @@ fn test_copy_dir_preserve_permissions_inaccessible_file() { // | | | | // V V V V ucmd.args(&["-p", "-R", "d1", "d2"]) - .fails() - .code_is(1) + .fails_with_code(1) .stderr_only("cp: cannot open 'd1/f' for reading: permission denied\n"); assert!(at.dir_exists("d2")); assert!(!at.file_exists("d2/f")); @@ -5979,16 +5975,14 @@ fn test_cp_with_options_backup_and_rem_when_dest_is_symlink() { fn test_cp_single_file() { let (_at, mut ucmd) = at_and_ucmd!(); ucmd.arg(TEST_HELLO_WORLD_SOURCE) - .fails() - .code_is(1) + .fails_with_code(1) .stderr_contains("missing destination file"); } #[test] fn test_cp_no_file() { let (_at, mut ucmd) = at_and_ucmd!(); - ucmd.fails() - .code_is(1) + ucmd.fails_with_code(1) .stderr_contains("error: the following required arguments were not provided:"); } diff --git a/tests/by-util/test_csplit.rs b/tests/by-util/test_csplit.rs index 7c0036ded..523ac6bba 100644 --- a/tests/by-util/test_csplit.rs +++ b/tests/by-util/test_csplit.rs @@ -13,7 +13,7 @@ fn generate(from: u32, to: u32) -> String { #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } #[test] @@ -1467,12 +1467,10 @@ fn test_directory_input_file() { #[cfg(unix)] ucmd.args(&["test_directory", "1"]) - .fails() - .code_is(1) + .fails_with_code(1) .stderr_only("csplit: read error: Is a directory\n"); #[cfg(windows)] ucmd.args(&["test_directory", "1"]) - .fails() - .code_is(1) + .fails_with_code(1) .stderr_only("csplit: cannot open 'test_directory' for reading: Permission denied\n"); } diff --git a/tests/by-util/test_cut.rs b/tests/by-util/test_cut.rs index dbd26abb2..7c74992ae 100644 --- a/tests/by-util/test_cut.rs +++ b/tests/by-util/test_cut.rs @@ -55,7 +55,7 @@ fn test_no_args() { #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } #[test] @@ -107,24 +107,21 @@ fn test_whitespace_delimited() { fn test_whitespace_with_explicit_delimiter() { new_ucmd!() .args(&["-w", "-f", COMPLEX_SEQUENCE.sequence, "-d:"]) - .fails() - .code_is(1); + .fails_with_code(1); } #[test] fn test_whitespace_with_byte() { new_ucmd!() .args(&["-w", "-b", COMPLEX_SEQUENCE.sequence]) - .fails() - .code_is(1); + .fails_with_code(1); } #[test] fn test_whitespace_with_char() { new_ucmd!() .args(&["-c", COMPLEX_SEQUENCE.sequence, "-w"]) - .fails() - .code_is(1); + .fails_with_code(1); } #[test] @@ -132,9 +129,9 @@ fn test_delimiter_with_byte_and_char() { for conflicting_arg in ["-c", "-b"] { new_ucmd!() .args(&[conflicting_arg, COMPLEX_SEQUENCE.sequence, "-d="]) - .fails() + .fails_with_code(1) .stderr_is("cut: invalid input: The '--delimiter' ('-d') option only usable if printing a sequence of fields\n") - .code_is(1); +; } } @@ -142,8 +139,7 @@ fn test_delimiter_with_byte_and_char() { fn test_too_large() { new_ucmd!() .args(&["-b1-18446744073709551615", "/dev/null"]) - .fails() - .code_is(1); + .fails_with_code(1); } #[test] @@ -240,8 +236,7 @@ fn test_is_a_directory() { ucmd.arg("-b1") .arg("some") - .fails() - .code_is(1) + .fails_with_code(1) .stderr_is("cut: some: Is a directory\n"); } @@ -250,8 +245,7 @@ fn test_no_such_file() { new_ucmd!() .arg("-b1") .arg("some") - .fails() - .code_is(1) + .fails_with_code(1) .stderr_is("cut: some: No such file or directory\n"); } diff --git a/tests/by-util/test_date.rs b/tests/by-util/test_date.rs index ac16fe831..86b2e0439 100644 --- a/tests/by-util/test_date.rs +++ b/tests/by-util/test_date.rs @@ -9,7 +9,7 @@ use uucore::process::geteuid; #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } #[test] @@ -214,9 +214,8 @@ fn test_date_format_without_plus() { // [+FORMAT] new_ucmd!() .arg("%s") - .fails() - .stderr_contains("date: invalid date '%s'") - .code_is(1); + .fails_with_code(1) + .stderr_contains("date: invalid date '%s'"); } #[test] diff --git a/tests/by-util/test_dd.rs b/tests/by-util/test_dd.rs index 465a68561..d39262195 100644 --- a/tests/by-util/test_dd.rs +++ b/tests/by-util/test_dd.rs @@ -99,7 +99,7 @@ fn build_ascii_block(n: usize) -> Vec { #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } // Sanity Tests @@ -1563,8 +1563,7 @@ fn test_nocache_stdin_error() { let detail = "Invalid seek"; new_ucmd!() .args(&["iflag=nocache", "count=0", "status=noxfer"]) - .fails() - .code_is(1) + .fails_with_code(1) .stderr_only(format!("dd: failed to discard cache for: 'standard input': {detail}\n0+0 records in\n0+0 records out\n")); } @@ -1573,8 +1572,7 @@ fn test_nocache_stdin_error() { fn test_empty_count_number() { new_ucmd!() .args(&["count=B"]) - .fails() - .code_is(1) + .fails_with_code(1) .stderr_only("dd: invalid number: ‘B’\n"); } diff --git a/tests/by-util/test_df.rs b/tests/by-util/test_df.rs index f629944c3..bd6947450 100644 --- a/tests/by-util/test_df.rs +++ b/tests/by-util/test_df.rs @@ -16,7 +16,7 @@ use crate::common::util::TestScenario; #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } #[test] diff --git a/tests/by-util/test_dircolors.rs b/tests/by-util/test_dircolors.rs index ffabe2923..6f7625a4d 100644 --- a/tests/by-util/test_dircolors.rs +++ b/tests/by-util/test_dircolors.rs @@ -9,7 +9,7 @@ use dircolors::{guess_syntax, OutputFmt, StrUtils}; #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } #[test] diff --git a/tests/by-util/test_dirname.rs b/tests/by-util/test_dirname.rs index 8c465393c..03cf7fdb4 100644 --- a/tests/by-util/test_dirname.rs +++ b/tests/by-util/test_dirname.rs @@ -6,7 +6,7 @@ use crate::common::util::TestScenario; #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } #[test] diff --git a/tests/by-util/test_du.rs b/tests/by-util/test_du.rs index 04185bce2..468f2d81d 100644 --- a/tests/by-util/test_du.rs +++ b/tests/by-util/test_du.rs @@ -77,7 +77,7 @@ fn du_basics(s: &str) { #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } #[test] @@ -132,20 +132,17 @@ fn test_du_invalid_size() { ts.ucmd() .arg(format!("--{s}=1fb4t")) .arg("/tmp") - .fails() - .code_is(1) + .fails_with_code(1) .stderr_only(format!("du: invalid suffix in --{s} argument '1fb4t'\n")); ts.ucmd() .arg(format!("--{s}=x")) .arg("/tmp") - .fails() - .code_is(1) + .fails_with_code(1) .stderr_only(format!("du: invalid --{s} argument 'x'\n")); ts.ucmd() .arg(format!("--{s}=1Y")) .arg("/tmp") - .fails() - .code_is(1) + .fails_with_code(1) .stderr_only(format!("du: --{s} argument '1Y' too large\n")); } } @@ -1019,7 +1016,7 @@ fn test_du_symlink_fail() { at.symlink_file("non-existing.txt", "target.txt"); - ts.ucmd().arg("-L").arg("target.txt").fails().code_is(1); + ts.ucmd().arg("-L").arg("target.txt").fails_with_code(1); } #[cfg(not(windows))] @@ -1086,8 +1083,7 @@ fn test_du_files0_from_with_invalid_zero_length_file_names() { ts.ucmd() .arg("--files0-from=filelist") - .fails() - .code_is(1) + .fails_with_code(1) .stdout_contains("testfile") .stderr_contains("filelist:1: invalid zero-length file name") .stderr_contains("filelist:3: invalid zero-length file name"); @@ -1133,8 +1129,7 @@ fn test_du_files0_from_stdin_with_invalid_zero_length_file_names() { new_ucmd!() .arg("--files0-from=-") .pipe_in("\0\0") - .fails() - .code_is(1) + .fails_with_code(1) .stderr_contains("-:1: invalid zero-length file name") .stderr_contains("-:2: invalid zero-length file name"); } diff --git a/tests/by-util/test_env.rs b/tests/by-util/test_env.rs index 2d1e9feaf..dfc6632ed 100644 --- a/tests/by-util/test_env.rs +++ b/tests/by-util/test_env.rs @@ -59,7 +59,7 @@ impl Drop for Target { #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(125); + new_ucmd!().arg("--definitely-invalid").fails_with_code(125); } #[test] @@ -84,8 +84,7 @@ fn test_env_version() { fn test_env_permissions() { new_ucmd!() .arg(".") - .fails() - .code_is(126) + .fails_with_code(126) .stderr_is("env: '.': Permission denied\n"); } @@ -537,106 +536,91 @@ fn test_env_parsing_errors() { ts.ucmd() .arg("-S\\|echo hallo") // no quotes, invalid escape sequence | - .fails() - .code_is(125) + .fails_with_code(125) .no_stdout() .stderr_is("env: invalid sequence '\\|' in -S\n"); ts.ucmd() .arg("-S\\a") // no quotes, invalid escape sequence a - .fails() - .code_is(125) + .fails_with_code(125) .no_stdout() .stderr_is("env: invalid sequence '\\a' in -S\n"); ts.ucmd() .arg("-S\"\\a\"") // double quotes, invalid escape sequence a - .fails() - .code_is(125) + .fails_with_code(125) .no_stdout() .stderr_is("env: invalid sequence '\\a' in -S\n"); ts.ucmd() .arg(r#"-S"\a""#) // same as before, just using r#""# - .fails() - .code_is(125) + .fails_with_code(125) .no_stdout() .stderr_is("env: invalid sequence '\\a' in -S\n"); ts.ucmd() .arg("-S'\\a'") // single quotes, invalid escape sequence a - .fails() - .code_is(125) + .fails_with_code(125) .no_stdout() .stderr_is("env: invalid sequence '\\a' in -S\n"); ts.ucmd() .arg(r"-S\|\&\;") // no quotes, invalid escape sequence | - .fails() - .code_is(125) + .fails_with_code(125) .no_stdout() .stderr_is("env: invalid sequence '\\|' in -S\n"); ts.ucmd() .arg(r"-S\<\&\;") // no quotes, invalid escape sequence < - .fails() - .code_is(125) + .fails_with_code(125) .no_stdout() .stderr_is("env: invalid sequence '\\<' in -S\n"); ts.ucmd() .arg(r"-S\>\&\;") // no quotes, invalid escape sequence > - .fails() - .code_is(125) + .fails_with_code(125) .no_stdout() .stderr_is("env: invalid sequence '\\>' in -S\n"); ts.ucmd() .arg(r"-S\`\&\;") // no quotes, invalid escape sequence ` - .fails() - .code_is(125) + .fails_with_code(125) .no_stdout() .stderr_is("env: invalid sequence '\\`' in -S\n"); ts.ucmd() .arg(r#"-S"\`\&\;""#) // double quotes, invalid escape sequence ` - .fails() - .code_is(125) + .fails_with_code(125) .no_stdout() .stderr_is("env: invalid sequence '\\`' in -S\n"); ts.ucmd() .arg(r"-S'\`\&\;'") // single quotes, invalid escape sequence ` - .fails() - .code_is(125) + .fails_with_code(125) .no_stdout() .stderr_is("env: invalid sequence '\\`' in -S\n"); ts.ucmd() .arg(r"-S\`") // ` escaped without quotes - .fails() - .code_is(125) + .fails_with_code(125) .no_stdout() .stderr_is("env: invalid sequence '\\`' in -S\n"); ts.ucmd() .arg(r#"-S"\`""#) // ` escaped in double quotes - .fails() - .code_is(125) + .fails_with_code(125) .no_stdout() .stderr_is("env: invalid sequence '\\`' in -S\n"); ts.ucmd() .arg(r"-S'\`'") // ` escaped in single quotes - .fails() - .code_is(125) + .fails_with_code(125) .no_stdout() .stderr_is("env: invalid sequence '\\`' in -S\n"); ts.ucmd() .args(&[r"-S\🦉"]) // ` escaped in single quotes - .fails() - .code_is(125) + .fails_with_code(125) .no_stdout() .stderr_is("env: invalid sequence '\\\u{FFFD}' in -S\n"); // gnu doesn't show the owl. Instead a invalid unicode ? } @@ -647,8 +631,7 @@ fn test_env_with_empty_executable_single_quotes() { ts.ucmd() .args(&["-S''"]) // empty single quotes, considered as program name - .fails() - .code_is(127) + .fails_with_code(127) .no_stdout() .stderr_is("env: '': No such file or directory\n"); // gnu version again adds escaping here } @@ -659,8 +642,7 @@ fn test_env_with_empty_executable_double_quotes() { ts.ucmd() .args(&["-S\"\""]) // empty double quotes, considered as program name - .fails() - .code_is(127) + .fails_with_code(127) .no_stdout() .stderr_is("env: '': No such file or directory\n"); } @@ -801,23 +783,19 @@ fn test_env_arg_ignore_signal_invalid_signals() { let ts = TestScenario::new(util_name!()); ts.ucmd() .args(&["--ignore-signal=banana"]) - .fails() - .code_is(125) + .fails_with_code(125) .stderr_contains("env: 'banana': invalid signal"); ts.ucmd() .args(&["--ignore-signal=SIGbanana"]) - .fails() - .code_is(125) + .fails_with_code(125) .stderr_contains("env: 'SIGbanana': invalid signal"); ts.ucmd() .args(&["--ignore-signal=exit"]) - .fails() - .code_is(125) + .fails_with_code(125) .stderr_contains("env: 'exit': invalid signal"); ts.ucmd() .args(&["--ignore-signal=SIGexit"]) - .fails() - .code_is(125) + .fails_with_code(125) .stderr_contains("env: 'SIGexit': invalid signal"); } @@ -829,32 +807,28 @@ fn test_env_arg_ignore_signal_special_signals() { let signal_kill = nix::sys::signal::SIGKILL; ts.ucmd() .args(&["--ignore-signal=stop", "echo", "hello"]) - .fails() - .code_is(125) + .fails_with_code(125) .stderr_contains(format!( "env: failed to set signal action for signal {}: Invalid argument", signal_stop as i32 )); ts.ucmd() .args(&["--ignore-signal=kill", "echo", "hello"]) - .fails() - .code_is(125) + .fails_with_code(125) .stderr_contains(format!( "env: failed to set signal action for signal {}: Invalid argument", signal_kill as i32 )); ts.ucmd() .args(&["--ignore-signal=SToP", "echo", "hello"]) - .fails() - .code_is(125) + .fails_with_code(125) .stderr_contains(format!( "env: failed to set signal action for signal {}: Invalid argument", signal_stop as i32 )); ts.ucmd() .args(&["--ignore-signal=SIGKILL", "echo", "hello"]) - .fails() - .code_is(125) + .fails_with_code(125) .stderr_contains(format!( "env: failed to set signal action for signal {}: Invalid argument", signal_kill as i32 @@ -898,19 +872,16 @@ fn disallow_equals_sign_on_short_unset_option() { ts.ucmd() .arg("-u=") - .fails() - .code_is(125) + .fails_with_code(125) .stderr_contains("env: cannot unset '=': Invalid argument"); ts.ucmd() .arg("-u=A1B2C3") - .fails() - .code_is(125) + .fails_with_code(125) .stderr_contains("env: cannot unset '=A1B2C3': Invalid argument"); ts.ucmd().arg("--split-string=A1B=2C3=").succeeds(); ts.ucmd() .arg("--unset=") - .fails() - .code_is(125) + .fails_with_code(125) .stderr_contains("env: cannot unset '': Invalid argument"); } diff --git a/tests/by-util/test_expand.rs b/tests/by-util/test_expand.rs index ce105e78c..9841b6422 100644 --- a/tests/by-util/test_expand.rs +++ b/tests/by-util/test_expand.rs @@ -8,7 +8,7 @@ use uucore::display::Quotable; #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } #[test] diff --git a/tests/by-util/test_expr.rs b/tests/by-util/test_expr.rs index 3e35887c4..a7f4b0cd9 100644 --- a/tests/by-util/test_expr.rs +++ b/tests/by-util/test_expr.rs @@ -9,29 +9,25 @@ use crate::common::util::TestScenario; #[test] fn test_no_arguments() { new_ucmd!() - .fails() - .code_is(2) + .fails_with_code(2) .usage_error("missing operand"); } #[test] fn test_simple_values() { // null or 0 => EXIT_VALUE == 1 - new_ucmd!().args(&[""]).fails().code_is(1).stdout_only("\n"); + new_ucmd!().args(&[""]).fails_with_code(1).stdout_only("\n"); new_ucmd!() .args(&["0"]) - .fails() - .code_is(1) + .fails_with_code(1) .stdout_only("0\n"); new_ucmd!() .args(&["00"]) - .fails() - .code_is(1) + .fails_with_code(1) .stdout_only("00\n"); new_ucmd!() .args(&["-0"]) - .fails() - .code_is(1) + .fails_with_code(1) .stdout_only("-0\n"); // non-null and non-0 => EXIT_VALUE = 0 @@ -47,8 +43,7 @@ fn test_simple_arithmetic() { new_ucmd!() .args(&["1", "-", "1"]) - .fails() - .code_is(1) + .fails_with_code(1) .stdout_only("0\n"); new_ucmd!() @@ -111,8 +106,7 @@ fn test_parenthesis() { new_ucmd!() .args(&["1", "(", ")"]) - .fails() - .code_is(2) + .fails_with_code(2) .stderr_only("expr: syntax error: unexpected argument '('\n"); } @@ -208,8 +202,7 @@ fn test_and() { fn test_index() { new_ucmd!() .args(&["index", "αbcdef", "x"]) - .fails() - .code_is(1) + .fails_with_code(1) .stdout_only("0\n"); new_ucmd!() .args(&["index", "αbcdef", "α"]) @@ -238,8 +231,7 @@ fn test_index() { new_ucmd!() .args(&["αbcdef", "index", "α"]) - .fails() - .code_is(2) + .fails_with_code(2) .stderr_only("expr: syntax error: unexpected argument 'index'\n"); } @@ -257,8 +249,7 @@ fn test_length() { new_ucmd!() .args(&["abcdef", "length"]) - .fails() - .code_is(2) + .fails_with_code(2) .stderr_only("expr: syntax error: unexpected argument 'length'\n"); } @@ -304,8 +295,7 @@ fn test_substr() { new_ucmd!() .args(&["abc", "substr", "1", "1"]) - .fails() - .code_is(2) + .fails_with_code(2) .stderr_only("expr: syntax error: unexpected argument 'substr'\n"); } @@ -313,20 +303,17 @@ fn test_substr() { fn test_invalid_substr() { new_ucmd!() .args(&["substr", "abc", "0", "1"]) - .fails() - .code_is(1) + .fails_with_code(1) .stdout_only("\n"); new_ucmd!() .args(&["substr", "abc", &(usize::MAX.to_string() + "0"), "1"]) - .fails() - .code_is(1) + .fails_with_code(1) .stdout_only("\n"); new_ucmd!() .args(&["substr", "abc", "0", &(usize::MAX.to_string() + "0")]) - .fails() - .code_is(1) + .fails_with_code(1) .stdout_only("\n"); } @@ -357,8 +344,7 @@ fn test_invalid_syntax() { for invalid_syntax in invalid_syntaxes { new_ucmd!() .args(&invalid_syntax) - .fails() - .code_is(2) + .fails_with_code(2) .stderr_contains("syntax error"); } } diff --git a/tests/by-util/test_factor.rs b/tests/by-util/test_factor.rs index a98c362ef..b31ba42e2 100644 --- a/tests/by-util/test_factor.rs +++ b/tests/by-util/test_factor.rs @@ -22,7 +22,7 @@ const NUM_TESTS: usize = 100; #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } #[test] diff --git a/tests/by-util/test_fmt.rs b/tests/by-util/test_fmt.rs index fb6416430..c97e795f8 100644 --- a/tests/by-util/test_fmt.rs +++ b/tests/by-util/test_fmt.rs @@ -6,12 +6,12 @@ use crate::common::util::TestScenario; #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } #[test] fn test_invalid_input() { - new_ucmd!().arg(".").fails().code_is(1); + new_ucmd!().arg(".").fails_with_code(1); } #[test] @@ -50,8 +50,7 @@ fn test_fmt_width() { fn test_fmt_width_invalid() { new_ucmd!() .args(&["one-word-per-line.txt", "-w", "apple"]) - .fails() - .code_is(1) + .fails_with_code(1) .no_stdout() .stderr_is("fmt: invalid width: 'apple'\n"); // an invalid width can be successfully overwritten later: @@ -86,8 +85,7 @@ fn test_fmt_width_too_big() { for param in ["-w", "--width"] { new_ucmd!() .args(&["one-word-per-line.txt", param, "2501"]) - .fails() - .code_is(1) + .fails_with_code(1) .stderr_is("fmt: invalid width: '2501': Numerical result out of range\n"); } // However, as a temporary value it is okay: @@ -102,8 +100,7 @@ fn test_fmt_invalid_width() { for param in ["-w", "--width"] { new_ucmd!() .args(&["one-word-per-line.txt", param, "invalid"]) - .fails() - .code_is(1) + .fails_with_code(1) .stderr_contains("invalid width: 'invalid'"); } } @@ -112,8 +109,7 @@ fn test_fmt_invalid_width() { fn test_fmt_positional_width_not_first() { new_ucmd!() .args(&["one-word-per-line.txt", "-10"]) - .fails() - .code_is(1) + .fails_with_code(1) .stderr_contains("fmt: invalid option -- 1; -WIDTH is recognized only when it is the first\noption; use -w N instead"); } @@ -121,8 +117,7 @@ fn test_fmt_positional_width_not_first() { fn test_fmt_width_not_valid_number() { new_ucmd!() .args(&["-25x", "one-word-per-line.txt"]) - .fails() - .code_is(1) + .fails_with_code(1) .stderr_contains("fmt: invalid width: '25x'"); } @@ -146,8 +141,7 @@ fn test_fmt_goal_too_big() { for param in ["-g", "--goal"] { new_ucmd!() .args(&["one-word-per-line.txt", "--width=75", param, "76"]) - .fails() - .code_is(1) + .fails_with_code(1) .stderr_is("fmt: GOAL cannot be greater than WIDTH.\n"); } } @@ -157,8 +151,7 @@ fn test_fmt_goal_bigger_than_default_width_of_75() { for param in ["-g", "--goal"] { new_ucmd!() .args(&["one-word-per-line.txt", param, "76"]) - .fails() - .code_is(1) + .fails_with_code(1) .stderr_is("fmt: GOAL cannot be greater than WIDTH.\n"); } } @@ -190,8 +183,7 @@ fn test_fmt_goal_too_small_to_check_negative_minlength() { fn test_fmt_non_existent_file() { new_ucmd!() .args(&["non-existing"]) - .fails() - .code_is(1) + .fails_with_code(1) .stderr_is("fmt: cannot open 'non-existing' for reading: No such file or directory\n"); } @@ -200,8 +192,7 @@ fn test_fmt_invalid_goal() { for param in ["-g", "--goal"] { new_ucmd!() .args(&["one-word-per-line.txt", param, "invalid"]) - .fails() - .code_is(1) + .fails_with_code(1) // GNU complains about "invalid width", which is confusing. // We intentionally deviate from GNU, and show a more helpful message: .stderr_contains("invalid goal: 'invalid'"); @@ -220,14 +211,12 @@ fn test_fmt_invalid_goal_override() { fn test_fmt_invalid_goal_width_priority() { new_ucmd!() .args(&["one-word-per-line.txt", "-g", "apple", "-w", "banana"]) - .fails() - .code_is(1) + .fails_with_code(1) .no_stdout() .stderr_is("fmt: invalid width: 'banana'\n"); new_ucmd!() .args(&["one-word-per-line.txt", "-w", "banana", "-g", "apple"]) - .fails() - .code_is(1) + .fails_with_code(1) .no_stdout() .stderr_is("fmt: invalid width: 'banana'\n"); } diff --git a/tests/by-util/test_fold.rs b/tests/by-util/test_fold.rs index 6895f51b6..5f7851951 100644 --- a/tests/by-util/test_fold.rs +++ b/tests/by-util/test_fold.rs @@ -6,7 +6,7 @@ use crate::common::util::TestScenario; #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } #[test] diff --git a/tests/by-util/test_groups.rs b/tests/by-util/test_groups.rs index 47cb89249..c3ca34364 100644 --- a/tests/by-util/test_groups.rs +++ b/tests/by-util/test_groups.rs @@ -12,7 +12,7 @@ const VERSION_MIN_MULTIPLE_USERS: &str = "8.31"; // this feature was introduced #[test] #[cfg(unix)] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } #[test] diff --git a/tests/by-util/test_hashsum.rs b/tests/by-util/test_hashsum.rs index 5965a86ea..2e6b3f45f 100644 --- a/tests/by-util/test_hashsum.rs +++ b/tests/by-util/test_hashsum.rs @@ -228,8 +228,7 @@ fn test_invalid_b2sum_length_option_not_multiple_of_8() { .ccmd("b2sum") .arg("--length=9") .arg(at.subdir.join("testf")) - .fails() - .code_is(1); + .fails_with_code(1); } #[test] @@ -243,8 +242,7 @@ fn test_invalid_b2sum_length_option_too_large() { .ccmd("b2sum") .arg("--length=513") .arg(at.subdir.join("testf")) - .fails() - .code_is(1); + .fails_with_code(1); } #[test] @@ -473,13 +471,12 @@ fn test_check_md5sum_mixed_format() { .arg("--strict") .arg("-c") .arg("check.md5sum") - .fails() - .code_is(1); + .fails_with_code(1); } #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } #[test] @@ -488,14 +485,12 @@ fn test_conflicting_arg() { .arg("--tag") .arg("--check") .arg("--md5") - .fails() - .code_is(1); + .fails_with_code(1); new_ucmd!() .arg("--tag") .arg("--text") .arg("--md5") - .fails() - .code_is(1); + .fails_with_code(1); } #[test] diff --git a/tests/by-util/test_head.rs b/tests/by-util/test_head.rs index d747f9271..465cda4a3 100644 --- a/tests/by-util/test_head.rs +++ b/tests/by-util/test_head.rs @@ -20,7 +20,7 @@ static INPUT: &str = "lorem_ipsum.txt"; #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } #[test] diff --git a/tests/by-util/test_hostid.rs b/tests/by-util/test_hostid.rs index 7525f5e08..e18deb893 100644 --- a/tests/by-util/test_hostid.rs +++ b/tests/by-util/test_hostid.rs @@ -15,7 +15,6 @@ fn test_normal() { fn test_invalid_flag() { new_ucmd!() .arg("--invalid-argument") - .fails() - .no_stdout() - .code_is(1); + .fails_with_code(1) + .no_stdout(); } diff --git a/tests/by-util/test_hostname.rs b/tests/by-util/test_hostname.rs index f70790cde..dc522a4d4 100644 --- a/tests/by-util/test_hostname.rs +++ b/tests/by-util/test_hostname.rs @@ -35,5 +35,5 @@ fn test_hostname_full() { #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } diff --git a/tests/by-util/test_id.rs b/tests/by-util/test_id.rs index c4f60e82d..e3a7c379f 100644 --- a/tests/by-util/test_id.rs +++ b/tests/by-util/test_id.rs @@ -11,7 +11,7 @@ const VERSION_MIN_MULTIPLE_USERS: &str = "8.31"; // this feature was introduced #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } #[test] diff --git a/tests/by-util/test_install.rs b/tests/by-util/test_install.rs index 77be3a5ab..cbeeaa942 100644 --- a/tests/by-util/test_install.rs +++ b/tests/by-util/test_install.rs @@ -17,7 +17,7 @@ use uucore::process::{getegid, geteuid}; #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } #[test] @@ -490,8 +490,7 @@ fn test_install_failing_omitting_directory() { .arg(file1) .arg(dir1) .arg(dir3) - .fails() - .code_is(1) + .fails_with_code(1) .stderr_contains("omitting directory"); assert!(at.file_exists(format!("{dir3}/{file1}"))); @@ -500,8 +499,7 @@ fn test_install_failing_omitting_directory() { .ucmd() .arg(dir1) .arg(dir3) - .fails() - .code_is(1) + .fails_with_code(1) .stderr_contains("omitting directory"); } @@ -518,8 +516,7 @@ fn test_install_failing_no_such_file() { ucmd.arg(file1) .arg(file2) .arg(dir1) - .fails() - .code_is(1) + .fails_with_code(1) .stderr_contains("No such file or directory"); } @@ -1391,8 +1388,7 @@ fn test_install_missing_arguments() { scene .ucmd() - .fails() - .code_is(1) + .fails_with_code(1) .usage_error("missing file operand"); scene @@ -1630,14 +1626,12 @@ fn test_install_compare_option() { scene .ucmd() .args(&["-C", "--preserve-timestamps", first, second]) - .fails() - .code_is(1) + .fails_with_code(1) .stderr_contains("Options --compare and --preserve-timestamps are mutually exclusive"); scene .ucmd() .args(&["-C", "--strip", "--strip-program=echo", first, second]) - .fails() - .code_is(1) + .fails_with_code(1) .stderr_contains("Options --compare and --strip are mutually exclusive"); } diff --git a/tests/by-util/test_join.rs b/tests/by-util/test_join.rs index 6516f386a..7337064e0 100644 --- a/tests/by-util/test_join.rs +++ b/tests/by-util/test_join.rs @@ -14,7 +14,7 @@ use std::{ffi::OsString, os::windows::ffi::OsStringExt}; #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } #[test] diff --git a/tests/by-util/test_kill.rs b/tests/by-util/test_kill.rs index 0cdfd9aae..6fb4322a9 100644 --- a/tests/by-util/test_kill.rs +++ b/tests/by-util/test_kill.rs @@ -51,7 +51,7 @@ impl Drop for Target { #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } #[test] diff --git a/tests/by-util/test_link.rs b/tests/by-util/test_link.rs index 8d48931c4..9cc059666 100644 --- a/tests/by-util/test_link.rs +++ b/tests/by-util/test_link.rs @@ -6,7 +6,7 @@ use crate::common::util::TestScenario; #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } #[cfg(not(target_os = "android"))] diff --git a/tests/by-util/test_ln.rs b/tests/by-util/test_ln.rs index f869fcc03..5303c8173 100644 --- a/tests/by-util/test_ln.rs +++ b/tests/by-util/test_ln.rs @@ -9,7 +9,7 @@ use std::path::PathBuf; #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } #[test] @@ -776,8 +776,7 @@ fn test_symlink_remove_existing_same_src_and_dest() { at.touch("a"); at.write("a", "sample"); ucmd.args(&["-sf", "a", "a"]) - .fails() - .code_is(1) + .fails_with_code(1) .stderr_contains("'a' and 'a' are the same file"); assert!(at.file_exists("a") && !at.symlink_exists("a")); assert_eq!(at.read("a"), "sample"); diff --git a/tests/by-util/test_logname.rs b/tests/by-util/test_logname.rs index 883397555..4fafd243b 100644 --- a/tests/by-util/test_logname.rs +++ b/tests/by-util/test_logname.rs @@ -7,7 +7,7 @@ use std::env; #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } #[test] diff --git a/tests/by-util/test_ls.rs b/tests/by-util/test_ls.rs index 715f18a1e..09589a2b0 100644 --- a/tests/by-util/test_ls.rs +++ b/tests/by-util/test_ls.rs @@ -57,9 +57,8 @@ const COLUMN_ARGS: &[&str] = &["-C", "--format=columns", "--for=columns"]; fn test_invalid_flag() { new_ucmd!() .arg("--invalid-argument") - .fails() - .no_stdout() - .code_is(2); + .fails_with_code(2) + .no_stdout(); } #[test] @@ -77,9 +76,8 @@ fn test_invalid_value_returns_1() { ] { new_ucmd!() .arg(format!("{flag}=definitely_invalid_value")) - .fails() - .no_stdout() - .code_is(1); + .fails_with_code(1) + .no_stdout(); } } @@ -89,9 +87,8 @@ fn test_invalid_value_returns_2() { for flag in ["--block-size", "--width", "--tab-size"] { new_ucmd!() .arg(format!("{flag}=definitely_invalid_value")) - .fails() - .no_stdout() - .code_is(2); + .fails_with_code(2) + .no_stdout(); } } @@ -107,9 +104,8 @@ fn test_invalid_value_time_style() { new_ucmd!() .arg("-g") .arg("--time-style=definitely_invalid_value") - .fails() - .no_stdout() - .code_is(2); + .fails_with_code(2) + .no_stdout(); // If it only looks temporarily like it might be used, no error: new_ucmd!() .arg("-l") @@ -505,8 +501,7 @@ fn test_ls_io_errors() { .ucmd() .arg("-1") .arg("some-dir1") - .fails() - .code_is(2) + .fails_with_code(2) .stderr_contains("cannot open directory") .stderr_contains("Permission denied"); @@ -514,8 +509,7 @@ fn test_ls_io_errors() { .ucmd() .arg("-Li") .arg("some-dir2") - .fails() - .code_is(1) + .fails_with_code(1) .stderr_contains("cannot access") .stderr_contains("No such file or directory") .stdout_contains(if cfg!(windows) { "dangle" } else { "? dangle" }); @@ -530,8 +524,7 @@ fn test_ls_io_errors() { .ucmd() .arg("-laR") .arg("some-dir3") - .fails() - .code_is(1) + .fails_with_code(1) .stderr_contains("some-dir4") .stderr_contains("cannot open directory") .stderr_contains("Permission denied") @@ -1980,8 +1973,7 @@ fn test_ls_styles() { .ucmd() .arg("-l") .arg("--time-style=invalid") - .fails() - .code_is(2); + .fails_with_code(2); //Overwrite options tests scene @@ -4075,14 +4067,12 @@ fn test_ls_dangling_symlinks() { .ucmd() .arg("-L") .arg("temp_dir/dangle") - .fails() - .code_is(2); + .fails_with_code(2); scene .ucmd() .arg("-H") .arg("temp_dir/dangle") - .fails() - .code_is(2); + .fails_with_code(2); scene .ucmd() @@ -4094,8 +4084,7 @@ fn test_ls_dangling_symlinks() { .ucmd() .arg("-Li") .arg("temp_dir") - .fails() - .code_is(1) + .fails_with_code(1) .stderr_contains("cannot access") .stderr_contains("No such file or directory") .stdout_contains(if cfg!(windows) { "dangle" } else { "? dangle" }); @@ -4104,8 +4093,7 @@ fn test_ls_dangling_symlinks() { .ucmd() .arg("-LZ") .arg("temp_dir") - .fails() - .code_is(1) + .fails_with_code(1) .stderr_contains("cannot access") .stderr_contains("No such file or directory") .stdout_contains(if cfg!(windows) { "dangle" } else { "? dangle" }); @@ -4114,8 +4102,7 @@ fn test_ls_dangling_symlinks() { .ucmd() .arg("-Ll") .arg("temp_dir") - .fails() - .code_is(1) + .fails_with_code(1) .stdout_contains("l?????????"); #[cfg(unix)] @@ -4308,8 +4295,7 @@ fn test_ls_dereference_looped_symlinks_recursive() { at.relative_symlink_dir("../loop", "loop/sub"); ucmd.args(&["-RL", "loop"]) - .fails() - .code_is(2) + .fails_with_code(2) .stderr_contains("not listing already-listed directory"); } @@ -4322,8 +4308,7 @@ fn test_dereference_dangling_color() { let (at, mut ucmd) = at_and_ucmd!(); at.relative_symlink_file("wat", "nonexistent"); ucmd.args(&["-L", "--color"]) - .fails() - .code_is(1) + .fails_with_code(1) .stderr_contains("No such file or directory") .stdout_is(out_exp); } @@ -4458,8 +4443,7 @@ fn test_ls_perm_io_errors() { .ucmd() .arg("-l") .arg("d") - .fails() - .code_is(1) + .fails_with_code(1) .stderr_contains("Permission denied"); } @@ -4537,8 +4521,7 @@ fn test_ls_dired_and_zero_are_incompatible() { .arg("--dired") .arg("-l") .arg("--zero") - .fails() - .code_is(2) + .fails_with_code(2) .stderr_contains("--dired and --zero are incompatible"); } @@ -4917,8 +4900,7 @@ fn test_posixly_correct_and_block_size_env_vars_with_k() { fn test_ls_invalid_block_size() { new_ucmd!() .arg("--block-size=invalid") - .fails() - .code_is(2) + .fails_with_code(2) .no_stdout() .stderr_is("ls: invalid --block-size argument 'invalid'\n"); } diff --git a/tests/by-util/test_mkdir.rs b/tests/by-util/test_mkdir.rs index a0b926689..0650e793b 100644 --- a/tests/by-util/test_mkdir.rs +++ b/tests/by-util/test_mkdir.rs @@ -15,14 +15,13 @@ use std::os::unix::fs::PermissionsExt; #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } #[test] fn test_no_arg() { new_ucmd!() - .fails() - .code_is(1) + .fails_with_code(1) .stderr_contains("error: the following required arguments were not provided:"); } diff --git a/tests/by-util/test_mkfifo.rs b/tests/by-util/test_mkfifo.rs index e25bbfc44..b4c3c7f2b 100644 --- a/tests/by-util/test_mkfifo.rs +++ b/tests/by-util/test_mkfifo.rs @@ -6,7 +6,7 @@ use crate::common::util::TestScenario; #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } #[test] diff --git a/tests/by-util/test_mknod.rs b/tests/by-util/test_mknod.rs index 2d83d250d..ffd97a5fc 100644 --- a/tests/by-util/test_mknod.rs +++ b/tests/by-util/test_mknod.rs @@ -7,7 +7,7 @@ use crate::common::util::TestScenario; #[test] #[cfg(not(windows))] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } #[cfg(not(windows))] @@ -80,15 +80,13 @@ fn test_mknod_character_device_requires_major_and_minor() { new_ucmd!() .arg("test_file") .arg("c") - .fails() - .code_is(1) + .fails_with_code(1) .stderr_contains("Special files require major and minor device numbers."); new_ucmd!() .arg("test_file") .arg("c") .arg("1") - .fails() - .code_is(1) + .fails_with_code(1) .stderr_contains("Special files require major and minor device numbers."); new_ucmd!() .arg("test_file") diff --git a/tests/by-util/test_mktemp.rs b/tests/by-util/test_mktemp.rs index 272769ad9..033499c79 100644 --- a/tests/by-util/test_mktemp.rs +++ b/tests/by-util/test_mktemp.rs @@ -644,8 +644,7 @@ fn test_too_few_xs_suffix_directory() { fn test_too_many_arguments() { new_ucmd!() .args(&["-q", "a", "b"]) - .fails() - .code_is(1) + .fails_with_code(1) .usage_error("too many templates"); } diff --git a/tests/by-util/test_mv.rs b/tests/by-util/test_mv.rs index 2454a0a03..60942bacc 100644 --- a/tests/by-util/test_mv.rs +++ b/tests/by-util/test_mv.rs @@ -11,7 +11,7 @@ use std::io::Write; #[test] fn test_mv_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } #[test] diff --git a/tests/by-util/test_nice.rs b/tests/by-util/test_nice.rs index 994b0e856..6015e420b 100644 --- a/tests/by-util/test_nice.rs +++ b/tests/by-util/test_nice.rs @@ -68,7 +68,7 @@ fn test_command_where_command_takes_n_flag() { #[test] fn test_invalid_argument() { - new_ucmd!().arg("--invalid").fails().code_is(125); + new_ucmd!().arg("--invalid").fails_with_code(125); } #[test] diff --git a/tests/by-util/test_nl.rs b/tests/by-util/test_nl.rs index 78d18bcb4..c64df0132 100644 --- a/tests/by-util/test_nl.rs +++ b/tests/by-util/test_nl.rs @@ -8,7 +8,7 @@ use crate::common::util::TestScenario; #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } #[test] diff --git a/tests/by-util/test_nohup.rs b/tests/by-util/test_nohup.rs index 028e29166..187950100 100644 --- a/tests/by-util/test_nohup.rs +++ b/tests/by-util/test_nohup.rs @@ -13,7 +13,7 @@ use std::thread::sleep; #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(125); + new_ucmd!().arg("--definitely-invalid").fails_with_code(125); } #[test] diff --git a/tests/by-util/test_nproc.rs b/tests/by-util/test_nproc.rs index 22523352b..2dd32a79b 100644 --- a/tests/by-util/test_nproc.rs +++ b/tests/by-util/test_nproc.rs @@ -7,7 +7,7 @@ use crate::common::util::TestScenario; #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } #[test] diff --git a/tests/by-util/test_numfmt.rs b/tests/by-util/test_numfmt.rs index a9bd97448..57af46598 100644 --- a/tests/by-util/test_numfmt.rs +++ b/tests/by-util/test_numfmt.rs @@ -8,7 +8,7 @@ use crate::common::util::TestScenario; #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } #[test] @@ -58,8 +58,7 @@ fn test_from_iec_i() { fn test_from_iec_i_requires_suffix() { new_ucmd!() .args(&["--from=iec-i", "10M"]) - .fails() - .code_is(2) + .fails_with_code(2) .stderr_is("numfmt: missing 'i' suffix in input: '10M' (e.g Ki/Mi/Gi)\n"); } @@ -257,8 +256,7 @@ fn test_suffixes() { } else { new_ucmd!() .args(&args) - .fails() - .code_is(2) + .fails_with_code(2) .stderr_only(format!("numfmt: invalid suffix in input: '1{c}'\n")); } } @@ -683,7 +681,7 @@ fn test_suffix_with_padding() { #[test] fn test_invalid_stdin_number_returns_status_2() { - new_ucmd!().pipe_in("hello").fails().code_is(2); + new_ucmd!().pipe_in("hello").fails_with_code(2); } #[test] @@ -691,9 +689,8 @@ fn test_invalid_stdin_number_in_middle_of_input() { new_ucmd!() .pipe_in("100\nhello\n200") .ignore_stdin_write_error() - .fails() - .stdout_is("100\n") - .code_is(2); + .fails_with_code(2) + .stdout_is("100\n"); } #[test] @@ -720,8 +717,7 @@ fn test_invalid_stdin_number_with_abort_returns_status_2() { new_ucmd!() .args(&["--invalid=abort"]) .pipe_in("4Q") - .fails() - .code_is(2) + .fails_with_code(2) .stderr_only("numfmt: invalid suffix in input: '4Q'\n"); } @@ -730,8 +726,7 @@ fn test_invalid_stdin_number_with_fail_returns_status_2() { new_ucmd!() .args(&["--invalid=fail"]) .pipe_in("4Q") - .fails() - .code_is(2) + .fails_with_code(2) .stdout_is("4Q\n") .stderr_is("numfmt: invalid suffix in input: '4Q'\n"); } @@ -757,8 +752,7 @@ fn test_invalid_arg_number_with_ignore_returns_status_0() { fn test_invalid_arg_number_with_abort_returns_status_2() { new_ucmd!() .args(&["--invalid=abort", "4Q"]) - .fails() - .code_is(2) + .fails_with_code(2) .stderr_only("numfmt: invalid suffix in input: '4Q'\n"); } @@ -766,8 +760,7 @@ fn test_invalid_arg_number_with_abort_returns_status_2() { fn test_invalid_arg_number_with_fail_returns_status_2() { new_ucmd!() .args(&["--invalid=fail", "4Q"]) - .fails() - .code_is(2) + .fails_with_code(2) .stdout_is("4Q\n") .stderr_is("numfmt: invalid suffix in input: '4Q'\n"); } @@ -778,8 +771,7 @@ fn test_invalid_argument_returns_status_1() { .args(&["--header=hello"]) .pipe_in("53478") .ignore_stdin_write_error() - .fails() - .code_is(1); + .fails_with_code(1); } #[test] @@ -790,8 +782,7 @@ fn test_invalid_padding_value() { new_ucmd!() .arg(format!("--padding={padding_value}")) .arg("5") - .fails() - .code_is(1) + .fails_with_code(1) .stderr_contains(format!("invalid padding value '{padding_value}'")); } } @@ -821,8 +812,7 @@ fn test_invalid_unit_size() { for invalid_size in &invalid_sizes { new_ucmd!() .arg(format!("--{command}-unit={invalid_size}")) - .fails() - .code_is(1) + .fails_with_code(1) .stderr_contains(format!("invalid unit size: '{invalid_size}'")); } } @@ -835,8 +825,7 @@ fn test_valid_but_forbidden_suffix() { for number in numbers { new_ucmd!() .arg(number) - .fails() - .code_is(2) + .fails_with_code(2) .stderr_contains(format!( "rejecting suffix in input: '{number}' (consider using --from)" )); @@ -1011,8 +1000,7 @@ fn test_format_without_percentage_directive() { for invalid_format in invalid_formats { new_ucmd!() .arg(format!("--format={invalid_format}")) - .fails() - .code_is(1) + .fails_with_code(1) .stderr_contains(format!("format '{invalid_format}' has no % directive")); } } @@ -1023,8 +1011,7 @@ fn test_format_with_percentage_directive_at_end() { new_ucmd!() .arg(format!("--format={invalid_format}")) - .fails() - .code_is(1) + .fails_with_code(1) .stderr_contains(format!("format '{invalid_format}' ends in %")); } @@ -1034,8 +1021,7 @@ fn test_format_with_too_many_percentage_directives() { new_ucmd!() .arg(format!("--format={invalid_format}")) - .fails() - .code_is(1) + .fails_with_code(1) .stderr_contains(format!( "format '{invalid_format}' has too many % directives" )); @@ -1048,8 +1034,7 @@ fn test_format_with_invalid_format() { for invalid_format in invalid_formats { new_ucmd!() .arg(format!("--format={invalid_format}")) - .fails() - .code_is(1) + .fails_with_code(1) .stderr_contains(format!( "invalid format '{invalid_format}', directive must be %[0]['][-][N][.][N]f" )); @@ -1061,8 +1046,7 @@ fn test_format_with_width_overflow() { let invalid_format = "%18446744073709551616f"; new_ucmd!() .arg(format!("--format={invalid_format}")) - .fails() - .code_is(1) + .fails_with_code(1) .stderr_contains(format!( "invalid format '{invalid_format}' (width overflow)" )); @@ -1075,8 +1059,7 @@ fn test_format_with_invalid_precision() { for invalid_format in invalid_formats { new_ucmd!() .arg(format!("--format={invalid_format}")) - .fails() - .code_is(1) + .fails_with_code(1) .stderr_contains(format!("invalid precision in format '{invalid_format}'")); } } @@ -1085,7 +1068,6 @@ fn test_format_with_invalid_precision() { fn test_format_grouping_conflicts_with_to_option() { new_ucmd!() .args(&["--format=%'f", "--to=si"]) - .fails() - .code_is(1) + .fails_with_code(1) .stderr_contains("grouping cannot be combined with --to"); } diff --git a/tests/by-util/test_od.rs b/tests/by-util/test_od.rs index 4e7153456..bb95ccf72 100644 --- a/tests/by-util/test_od.rs +++ b/tests/by-util/test_od.rs @@ -17,7 +17,7 @@ static ALPHA_OUT: &str = " #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } // Test that od can read one file and dump with default format @@ -868,15 +868,13 @@ fn test_od_invalid_bytes() { new_ucmd!() .arg(format!("{option}={INVALID_SIZE}")) .arg("file") - .fails() - .code_is(1) + .fails_with_code(1) .stderr_only(format!("od: invalid {option} argument '{INVALID_SIZE}'\n")); new_ucmd!() .arg(format!("{option}={INVALID_SUFFIX}")) .arg("file") - .fails() - .code_is(1) + .fails_with_code(1) .stderr_only(format!( "od: invalid suffix in {option} argument '{INVALID_SUFFIX}'\n" )); @@ -884,8 +882,7 @@ fn test_od_invalid_bytes() { new_ucmd!() .arg(format!("{option}={BIG_SIZE}")) .arg("file") - .fails() - .code_is(1) + .fails_with_code(1) .stderr_only(format!("od: {option} argument '{BIG_SIZE}' too large\n")); } } diff --git a/tests/by-util/test_paste.rs b/tests/by-util/test_paste.rs index 75fc93895..733513fb7 100644 --- a/tests/by-util/test_paste.rs +++ b/tests/by-util/test_paste.rs @@ -137,7 +137,7 @@ const EXAMPLE_DATA: &[TestData] = &[ #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } #[test] diff --git a/tests/by-util/test_pathchk.rs b/tests/by-util/test_pathchk.rs index d09c8a2e1..599a23084 100644 --- a/tests/by-util/test_pathchk.rs +++ b/tests/by-util/test_pathchk.rs @@ -14,7 +14,7 @@ fn test_no_args() { #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } #[test] diff --git a/tests/by-util/test_pinky.rs b/tests/by-util/test_pinky.rs index f061d55df..be04e8a68 100644 --- a/tests/by-util/test_pinky.rs +++ b/tests/by-util/test_pinky.rs @@ -13,7 +13,7 @@ use uucore::entries::{Locate, Passwd}; #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } #[test] diff --git a/tests/by-util/test_pr.rs b/tests/by-util/test_pr.rs index c886b6452..933d5e0e5 100644 --- a/tests/by-util/test_pr.rs +++ b/tests/by-util/test_pr.rs @@ -47,9 +47,8 @@ fn valid_last_modified_template_vars(from: DateTime) -> Vec file1 <==\n\n==> file2 <==\n") - .code_is(1); + .stdout_is("==> file1 <==\n\n==> file2 <==\n"); } #[test] @@ -284,10 +282,9 @@ fn test_follow_redirect_stdin_name_retry() { ts.ucmd() .set_stdin(File::open(at.plus("f")).unwrap()) .args(&args) - .fails() + .fails_with_code(1) .no_stdout() - .stderr_is("tail: cannot follow '-' by name\n") - .code_is(1); + .stderr_is("tail: cannot follow '-' by name\n"); args.pop(); } } @@ -311,17 +308,15 @@ fn test_stdin_redirect_dir() { ts.ucmd() .set_stdin(File::open(at.plus("dir")).unwrap()) - .fails() + .fails_with_code(1) .no_stdout() - .stderr_is("tail: error reading 'standard input': Is a directory\n") - .code_is(1); + .stderr_is("tail: error reading 'standard input': Is a directory\n"); ts.ucmd() .set_stdin(File::open(at.plus("dir")).unwrap()) .arg("-") - .fails() + .fails_with_code(1) .no_stdout() - .stderr_is("tail: error reading 'standard input': Is a directory\n") - .code_is(1); + .stderr_is("tail: error reading 'standard input': Is a directory\n"); } // On macOS path.is_dir() can be false for directories if it was a redirect, @@ -344,17 +339,15 @@ fn test_stdin_redirect_dir_when_target_os_is_macos() { ts.ucmd() .set_stdin(File::open(at.plus("dir")).unwrap()) - .fails() + .fails_with_code(1) .no_stdout() - .stderr_is("tail: cannot open 'standard input' for reading: No such file or directory\n") - .code_is(1); + .stderr_is("tail: cannot open 'standard input' for reading: No such file or directory\n"); ts.ucmd() .set_stdin(File::open(at.plus("dir")).unwrap()) .arg("-") - .fails() + .fails_with_code(1) .no_stdout() - .stderr_is("tail: cannot open 'standard input' for reading: No such file or directory\n") - .code_is(1); + .stderr_is("tail: cannot open 'standard input' for reading: No such file or directory\n"); } #[test] @@ -604,10 +597,9 @@ fn test_follow_multiple_untailable() { ucmd.arg("-f") .arg("DIR1") .arg("DIR2") - .fails() + .fails_with_code(1) .stderr_is(expected_stderr) - .stdout_is(expected_stdout) - .code_is(1); + .stdout_is(expected_stdout); } #[test] @@ -625,7 +617,7 @@ fn test_follow_stdin_pipe() { fn test_follow_invalid_pid() { new_ucmd!() .args(&["-f", "--pid=-1234"]) - .fails() + .fails_with_code(1) .no_stdout() .stderr_is("tail: invalid PID: '-1234'\n"); new_ucmd!() @@ -848,8 +840,7 @@ fn test_multiple_input_files_missing() { .stderr_is( "tail: cannot open 'missing1' for reading: No such file or directory\n\ tail: cannot open 'missing2' for reading: No such file or directory\n", - ) - .code_is(1); + ); } #[test] @@ -987,9 +978,8 @@ fn test_sleep_interval() { .arg("-s") .arg("1..1") .arg(FOOBAR_TXT) - .fails() - .stderr_contains("invalid number of seconds: '1..1'") - .code_is(1); + .fails_with_code(1) + .stderr_contains("invalid number of seconds: '1..1'"); } /// Test for reading all but the first NUM bytes: `tail -c +3`. @@ -2556,10 +2546,9 @@ fn test_follow_inotify_only_regular() { fn test_no_such_file() { new_ucmd!() .arg("missing") - .fails() + .fails_with_code(1) .stderr_is("tail: cannot open 'missing' for reading: No such file or directory\n") - .no_stdout() - .code_is(1); + .no_stdout(); } #[test] @@ -3471,9 +3460,8 @@ fn test_when_follow_retry_given_redirected_stdin_from_directory_then_correct_err ts.ucmd() .set_stdin(File::open(at.plus("dir")).unwrap()) .args(&["-f", "--retry"]) - .fails() - .stderr_only(expected) - .code_is(1); + .fails_with_code(1) + .stderr_only(expected); } #[test] @@ -3485,9 +3473,8 @@ fn test_when_argument_file_is_a_directory() { let expected = "tail: error reading 'dir': Is a directory\n"; ts.ucmd() .arg("dir") - .fails() - .stderr_only(expected) - .code_is(1); + .fails_with_code(1) + .stderr_only(expected); } // TODO: make this work on windows @@ -3523,9 +3510,8 @@ fn test_when_argument_file_is_a_symlink() { let expected = "tail: error reading 'dir_link': Is a directory\n"; ts.ucmd() .arg("dir_link") - .fails() - .stderr_only(expected) - .code_is(1); + .fails_with_code(1) + .stderr_only(expected); } // TODO: make this work on windows @@ -3541,9 +3527,8 @@ fn test_when_argument_file_is_a_symlink_to_directory_then_error() { let expected = "tail: error reading 'dir_link': Is a directory\n"; ts.ucmd() .arg("dir_link") - .fails() - .stderr_only(expected) - .code_is(1); + .fails_with_code(1) + .stderr_only(expected); } // TODO: make this work on windows @@ -3565,18 +3550,16 @@ fn test_when_argument_file_is_a_faulty_symlink_then_error() { ts.ucmd() .arg("self") - .fails() - .stderr_only(expected) - .code_is(1); + .fails_with_code(1) + .stderr_only(expected); at.symlink_file("missing", "broken"); let expected = "tail: cannot open 'broken' for reading: No such file or directory"; ts.ucmd() .arg("broken") - .fails() - .stderr_only(expected) - .code_is(1); + .fails_with_code(1) + .stderr_only(expected); } #[test] @@ -3610,9 +3593,8 @@ fn test_when_argument_file_is_non_existent_unix_socket_address_then_error() { ts.ucmd() .arg(socket) - .fails() - .stderr_only(&expected_stderr) - .code_is(1); + .fails_with_code(1) + .stderr_only(&expected_stderr); let path = "file"; let mut file = at.make_file(path); @@ -3624,7 +3606,7 @@ fn test_when_argument_file_is_non_existent_unix_socket_address_then_error() { let expected_stdout = [format!("==> {path} <=="), random_string].join("\n"); ts.ucmd() .args(&["-c", "+0", path, socket]) - .fails() + .fails_with_code(1) .stdout_is(&expected_stdout) .stderr_is(&expected_stderr); @@ -4691,73 +4673,64 @@ fn test_gnu_args_err() { scene .ucmd() .arg("+cl") - .fails() + .fails_with_code(1) .no_stdout() - .stderr_is("tail: cannot open '+cl' for reading: No such file or directory\n") - .code_is(1); + .stderr_is("tail: cannot open '+cl' for reading: No such file or directory\n"); // err-2 scene .ucmd() .arg("-cl") - .fails() + .fails_with_code(1) .no_stdout() - .stderr_is("tail: invalid number of bytes: 'l'\n") - .code_is(1); + .stderr_is("tail: invalid number of bytes: 'l'\n"); // err-3 scene .ucmd() .arg("+2cz") - .fails() + .fails_with_code(1) .no_stdout() - .stderr_is("tail: cannot open '+2cz' for reading: No such file or directory\n") - .code_is(1); + .stderr_is("tail: cannot open '+2cz' for reading: No such file or directory\n"); // err-4 scene .ucmd() .arg("-2cX") - .fails() + .fails_with_code(1) .no_stdout() - .stderr_is("tail: option used in invalid context -- 2\n") - .code_is(1); + .stderr_is("tail: option used in invalid context -- 2\n"); // err-5 scene .ucmd() .arg("-c99999999999999999999") - .fails() + .fails_with_code(1) .no_stdout() - .stderr_is("tail: invalid number of bytes: '99999999999999999999'\n") - .code_is(1); + .stderr_is("tail: invalid number of bytes: '99999999999999999999'\n"); // err-6 scene .ucmd() .arg("-c --") - .fails() + .fails_with_code(1) .no_stdout() - .stderr_is("tail: invalid number of bytes: '-'\n") - .code_is(1); + .stderr_is("tail: invalid number of bytes: '-'\n"); scene .ucmd() .arg("-5cz") - .fails() + .fails_with_code(1) .no_stdout() - .stderr_is("tail: option used in invalid context -- 5\n") - .code_is(1); + .stderr_is("tail: option used in invalid context -- 5\n"); scene .ucmd() .arg("-9999999999999999999b") - .fails() + .fails_with_code(1) .no_stdout() - .stderr_is("tail: invalid number: '-9999999999999999999b'\n") - .code_is(1); + .stderr_is("tail: invalid number: '-9999999999999999999b'\n"); scene .ucmd() .arg("-999999999999999999999b") - .fails() + .fails_with_code(1) .no_stdout() .stderr_is( "tail: invalid number: '-999999999999999999999b': Numerical result out of range\n", - ) - .code_is(1); + ); } #[test] @@ -4800,10 +4773,9 @@ fn test_obsolete_encoding_unix() { scene .ucmd() .arg(invalid_utf8_arg) - .fails() + .fails_with_code(1) .no_stdout() - .stderr_is("tail: bad argument encoding: '-�b'\n") - .code_is(1); + .stderr_is("tail: bad argument encoding: '-�b'\n"); } #[test] @@ -4818,10 +4790,9 @@ fn test_obsolete_encoding_windows() { scene .ucmd() .arg(&invalid_utf16_arg) - .fails() + .fails_with_code(1) .no_stdout() - .stderr_is("tail: bad argument encoding: '-�b'\n") - .code_is(1); + .stderr_is("tail: bad argument encoding: '-�b'\n"); } #[test] diff --git a/tests/by-util/test_tee.rs b/tests/by-util/test_tee.rs index edc3c9bf2..bfd9bacac 100644 --- a/tests/by-util/test_tee.rs +++ b/tests/by-util/test_tee.rs @@ -17,7 +17,7 @@ use std::fmt::Write; #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } #[test] diff --git a/tests/by-util/test_test.rs b/tests/by-util/test_test.rs index cbd38b604..466503b78 100644 --- a/tests/by-util/test_test.rs +++ b/tests/by-util/test_test.rs @@ -89,7 +89,7 @@ fn test_simple_or() { fn test_errors_miss_and_or() { new_ucmd!() .args(&["-o", "arg"]) - .fails() + .fails_with_code(2) .stderr_contains("'-o': unary operator expected"); new_ucmd!() .args(&["-a", "arg"]) @@ -101,8 +101,7 @@ fn test_errors_miss_and_or() { fn test_negated_or() { new_ucmd!() .args(&["!", "foo", "-o", "bar"]) - .run() - .code_is(1); + .fails_with_code(1); new_ucmd!().args(&["foo", "-o", "!", "bar"]).succeeds(); new_ucmd!() .args(&["!", "foo", "-o", "!", "bar"]) @@ -348,7 +347,7 @@ fn test_non_existing_files() { let result = scenario .ucmd() .args(&["newer_file", "-nt", "regular_file"]) - .fails(); + .fails_with_code(1); assert!(result.stderr().is_empty()); } @@ -1006,25 +1005,21 @@ fn test_string_lt_gt_operator() { new_ucmd!().args(&[left, "<", right]).succeeds().no_output(); new_ucmd!() .args(&[right, "<", left]) - .fails() - .code_is(1) + .fails_with_code(1) .no_output(); new_ucmd!().args(&[right, ">", left]).succeeds().no_output(); new_ucmd!() .args(&[left, ">", right]) - .fails() - .code_is(1) + .fails_with_code(1) .no_output(); } new_ucmd!() .args(&["", "<", ""]) - .fails() - .code_is(1) + .fails_with_code(1) .no_output(); new_ucmd!() .args(&["", ">", ""]) - .fails() - .code_is(1) + .fails_with_code(1) .no_output(); } diff --git a/tests/by-util/test_timeout.rs b/tests/by-util/test_timeout.rs index cc7c04565..a154216db 100644 --- a/tests/by-util/test_timeout.rs +++ b/tests/by-util/test_timeout.rs @@ -7,7 +7,7 @@ use crate::common::util::TestScenario; #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(125); + new_ucmd!().arg("--definitely-invalid").fails_with_code(125); } // FIXME: this depends on the system having true and false in PATH @@ -24,8 +24,7 @@ fn test_subcommand_return_code() { fn test_invalid_time_interval() { new_ucmd!() .args(&["xyz", "sleep", "0"]) - .fails() - .code_is(125) + .fails_with_code(125) .usage_error("invalid time interval 'xyz'"); } @@ -33,8 +32,7 @@ fn test_invalid_time_interval() { fn test_invalid_kill_after() { new_ucmd!() .args(&["-k", "xyz", "1", "sleep", "0"]) - .fails() - .code_is(125) + .fails_with_code(125) .usage_error("invalid time interval 'xyz'"); } @@ -85,8 +83,7 @@ fn test_foreground() { for arg in ["-f", "--foreground"] { new_ucmd!() .args(&[arg, ".1", "sleep", "10"]) - .fails() - .code_is(124) + .fails_with_code(124) .no_output(); } } @@ -173,8 +170,7 @@ fn test_kill_subprocess() { "-c", "trap 'echo inside_trap' TERM; sleep 30", ]) - .fails() - .code_is(124) + .fails_with_code(124) .stdout_contains("inside_trap") .stderr_contains("Terminated"); } diff --git a/tests/by-util/test_touch.rs b/tests/by-util/test_touch.rs index ec32aa7b6..91298ff9e 100644 --- a/tests/by-util/test_touch.rs +++ b/tests/by-util/test_touch.rs @@ -42,7 +42,7 @@ fn str_to_filetime(format: &str, s: &str) -> FileTime { #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } #[test] @@ -806,7 +806,7 @@ fn test_touch_leap_second() { fn test_touch_trailing_slash_no_create() { let (at, mut ucmd) = at_and_ucmd!(); at.touch("file"); - ucmd.args(&["-c", "file/"]).fails().code_is(1); + ucmd.args(&["-c", "file/"]).fails_with_code(1); let (at, mut ucmd) = at_and_ucmd!(); ucmd.args(&["-c", "no-file/"]).succeeds(); @@ -822,7 +822,7 @@ fn test_touch_trailing_slash_no_create() { let (at, mut ucmd) = at_and_ucmd!(); at.relative_symlink_file("loop", "loop"); - ucmd.args(&["-c", "loop/"]).fails().code_is(1); + ucmd.args(&["-c", "loop/"]).fails_with_code(1); assert!(!at.file_exists("loop")); #[cfg(not(target_os = "macos"))] @@ -831,7 +831,7 @@ fn test_touch_trailing_slash_no_create() { let (at, mut ucmd) = at_and_ucmd!(); at.touch("file2"); at.relative_symlink_file("file2", "link1"); - ucmd.args(&["-c", "link1/"]).fails().code_is(1); + ucmd.args(&["-c", "link1/"]).fails_with_code(1); assert!(at.file_exists("file2")); assert!(at.symlink_exists("link1")); } diff --git a/tests/by-util/test_tr.rs b/tests/by-util/test_tr.rs index 52ffc481c..daaf8f1bb 100644 --- a/tests/by-util/test_tr.rs +++ b/tests/by-util/test_tr.rs @@ -10,23 +10,21 @@ use std::{ffi::OsStr, os::unix::ffi::OsStrExt}; #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } #[test] fn test_invalid_input() { new_ucmd!() .args(&["1", "1", "<", "."]) - .fails() - .code_is(1) + .fails_with_code(1) .stderr_contains("tr: extra operand '<'"); #[cfg(unix)] new_ucmd!() .args(&["1", "1"]) // will test "tr 1 1 < ." .set_stdin(std::process::Stdio::from(std::fs::File::open(".").unwrap())) - .fails() - .code_is(1) + .fails_with_code(1) .stderr_contains("tr: read error: Is a directory"); } diff --git a/tests/by-util/test_truncate.rs b/tests/by-util/test_truncate.rs index 4d639c0f3..f8e4dbe1a 100644 --- a/tests/by-util/test_truncate.rs +++ b/tests/by-util/test_truncate.rs @@ -189,8 +189,7 @@ fn test_error_filename_only() { // truncate: you must specify either '--size' or '--reference' new_ucmd!() .args(&["file"]) - .fails() - .code_is(1) + .fails_with_code(1) .stderr_contains("error: the following required arguments were not provided:"); } @@ -199,8 +198,7 @@ fn test_invalid_option() { // truncate: cli parsing error returns 1 new_ucmd!() .args(&["--this-arg-does-not-exist"]) - .fails() - .code_is(1); + .fails_with_code(1); } #[test] @@ -242,13 +240,11 @@ fn test_truncate_bytes_size() { .succeeds(); new_ucmd!() .args(&["--size", "1024R", "file"]) - .fails() - .code_is(1) + .fails_with_code(1) .stderr_only("truncate: Invalid number: '1024R': Value too large for defined data type\n"); new_ucmd!() .args(&["--size", "1Y", "file"]) - .fails() - .code_is(1) + .fails_with_code(1) .stderr_only("truncate: Invalid number: '1Y': Value too large for defined data type\n"); } diff --git a/tests/by-util/test_tsort.rs b/tests/by-util/test_tsort.rs index 299a8f0bb..4501c9e77 100644 --- a/tests/by-util/test_tsort.rs +++ b/tests/by-util/test_tsort.rs @@ -8,7 +8,7 @@ use crate::common::util::TestScenario; #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } #[test] fn test_sort_call_graph() { @@ -89,8 +89,7 @@ fn test_cycle() { // The graph looks like: a --> b <==> c --> d new_ucmd!() .pipe_in("a b b c c d c b") - .fails() - .code_is(1) + .fails_with_code(1) .stdout_is("a\nc\nd\nb\n") .stderr_is("tsort: -: input contains a loop:\ntsort: b\ntsort: c\n"); } @@ -106,8 +105,7 @@ fn test_two_cycles() { // new_ucmd!() .pipe_in("a b b c c b b d d b") - .fails() - .code_is(1) + .fails_with_code(1) .stdout_is("a\nc\nd\nb\n") .stderr_is("tsort: -: input contains a loop:\ntsort: b\ntsort: c\ntsort: -: input contains a loop:\ntsort: b\ntsort: d\n"); } diff --git a/tests/by-util/test_tty.rs b/tests/by-util/test_tty.rs index 0f2c58806..c1a6dc501 100644 --- a/tests/by-util/test_tty.rs +++ b/tests/by-util/test_tty.rs @@ -11,8 +11,7 @@ use crate::common::util::TestScenario; fn test_dev_null() { new_ucmd!() .set_stdin(File::open("/dev/null").unwrap()) - .fails() - .code_is(1) + .fails_with_code(1) .stdout_is("not a tty\n"); } @@ -22,8 +21,7 @@ fn test_dev_null_silent() { new_ucmd!() .args(&["-s"]) .set_stdin(File::open("/dev/null").unwrap()) - .fails() - .code_is(1) + .fails_with_code(1) .stdout_is(""); } @@ -57,7 +55,7 @@ fn test_close_stdin_silent_alias() { #[test] fn test_wrong_argument() { - new_ucmd!().args(&["a"]).fails().code_is(2); + new_ucmd!().args(&["a"]).fails_with_code(2); } #[test] diff --git a/tests/by-util/test_uname.rs b/tests/by-util/test_uname.rs index 3676eefba..d41bd3cd6 100644 --- a/tests/by-util/test_uname.rs +++ b/tests/by-util/test_uname.rs @@ -6,7 +6,7 @@ use crate::common::util::TestScenario; #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } #[test] diff --git a/tests/by-util/test_unexpand.rs b/tests/by-util/test_unexpand.rs index 6bbd94999..b40e4e618 100644 --- a/tests/by-util/test_unexpand.rs +++ b/tests/by-util/test_unexpand.rs @@ -7,7 +7,7 @@ use crate::common::util::TestScenario; #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } #[test] diff --git a/tests/by-util/test_uniq.rs b/tests/by-util/test_uniq.rs index 18f226f07..1154d0304 100644 --- a/tests/by-util/test_uniq.rs +++ b/tests/by-util/test_uniq.rs @@ -15,7 +15,7 @@ static SORTED_ZERO_TERMINATED: &str = "sorted-zero-terminated.txt"; #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } #[test] diff --git a/tests/by-util/test_unlink.rs b/tests/by-util/test_unlink.rs index 055f47f10..187ac922e 100644 --- a/tests/by-util/test_unlink.rs +++ b/tests/by-util/test_unlink.rs @@ -6,7 +6,7 @@ use crate::common::util::TestScenario; #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } #[test] diff --git a/tests/by-util/test_uptime.rs b/tests/by-util/test_uptime.rs index da5857893..37482796b 100644 --- a/tests/by-util/test_uptime.rs +++ b/tests/by-util/test_uptime.rs @@ -22,7 +22,7 @@ use std::{io::Write, path::PathBuf}; #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } #[test] diff --git a/tests/by-util/test_users.rs b/tests/by-util/test_users.rs index 9ca548fb9..e85b4b5c1 100644 --- a/tests/by-util/test_users.rs +++ b/tests/by-util/test_users.rs @@ -6,7 +6,7 @@ use crate::common::util::TestScenario; #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } #[test] diff --git a/tests/by-util/test_wc.rs b/tests/by-util/test_wc.rs index e2af757b3..04b29c6ff 100644 --- a/tests/by-util/test_wc.rs +++ b/tests/by-util/test_wc.rs @@ -8,7 +8,7 @@ use crate::common::util::{vec_of_size, TestScenario}; // spell-checker:ignore (flags) lwmcL clmwL ; (path) bogusfile emptyfile manyemptylines moby notrailingnewline onelongemptyline onelongword weirdchars #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } #[test] diff --git a/tests/by-util/test_who.rs b/tests/by-util/test_who.rs index 2d438902e..21d51f93d 100644 --- a/tests/by-util/test_who.rs +++ b/tests/by-util/test_who.rs @@ -9,7 +9,7 @@ use crate::common::util::{expected_result, TestScenario}; #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } #[cfg(unix)] diff --git a/tests/by-util/test_whoami.rs b/tests/by-util/test_whoami.rs index d32c4ec24..04b3ecbe0 100644 --- a/tests/by-util/test_whoami.rs +++ b/tests/by-util/test_whoami.rs @@ -9,7 +9,7 @@ use crate::common::util::{is_ci, whoami, TestScenario}; #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } #[test] diff --git a/tests/by-util/test_yes.rs b/tests/by-util/test_yes.rs index 3b781ea11..26a7b14ac 100644 --- a/tests/by-util/test_yes.rs +++ b/tests/by-util/test_yes.rs @@ -35,7 +35,7 @@ fn run(args: &[impl AsRef], expected: &[u8]) { #[test] fn test_invalid_arg() { - new_ucmd!().arg("--definitely-invalid").fails().code_is(1); + new_ucmd!().arg("--definitely-invalid").fails_with_code(1); } #[test]