diff --git a/src/uu/chmod/src/chmod.rs b/src/uu/chmod/src/chmod.rs index d7a49a261b4..f86749199ed 100644 --- a/src/uu/chmod/src/chmod.rs +++ b/src/uu/chmod/src/chmod.rs @@ -973,6 +973,6 @@ mod tests { let (c, a, i) = extract_negative_modes(["--", "-r", "file"].iter().map(OsString::from)); assert_eq!(c, None); assert_eq!(a, ["--", "-r", "file"]); - assert!(i.is_empty()); + assert_eq!(i, [] as [_; 0]); } } diff --git a/src/uu/cut/src/matcher.rs b/src/uu/cut/src/matcher.rs index 036daa6c027..a006204eaa6 100644 --- a/src/uu/cut/src/matcher.rs +++ b/src/uu/cut/src/matcher.rs @@ -21,7 +21,7 @@ pub struct ExactMatcher<'a> { impl<'a> ExactMatcher<'a> { pub fn new(needle: &'a [u8]) -> Self { - assert!(!needle.is_empty()); + assert_ne!(needle, []); Self { needle } } } @@ -51,7 +51,7 @@ pub struct MbExactMatcher<'a> { impl<'a> MbExactMatcher<'a> { pub fn new(needle: &'a [u8]) -> Self { - assert!(!needle.is_empty()); + assert_ne!(needle, []); Self { needle } } } diff --git a/src/uu/cut/src/searcher.rs b/src/uu/cut/src/searcher.rs index a25fa7909a1..53663406efe 100644 --- a/src/uu/cut/src/searcher.rs +++ b/src/uu/cut/src/searcher.rs @@ -58,7 +58,7 @@ mod exact_searcher_tests { let matcher = ExactMatcher::new("a".as_bytes()); let iter = Searcher::new(&matcher, "".as_bytes()); let items: Vec<(usize, usize)> = iter.collect(); - assert!(items.is_empty()); + assert_eq!(items, [] as [_; 0]); } fn test_multibyte(line: &[u8], expected: &[(usize, usize)]) { @@ -137,7 +137,7 @@ mod whitespace_searcher_tests { let matcher = WhitespaceMatcher {}; let iter = Searcher::new(&matcher, "".as_bytes()); let items: Vec<(usize, usize)> = iter.collect(); - assert!(items.is_empty()); + assert_eq!(items, [] as [_; 0]); } fn test_multispace(line: &[u8], expected: &[(usize, usize)]) { diff --git a/src/uu/dd/src/dd.rs b/src/uu/dd/src/dd.rs index b9e759bf901..56a166724f6 100644 --- a/src/uu/dd/src/dd.rs +++ b/src/uu/dd/src/dd.rs @@ -1805,6 +1805,6 @@ mod tests { use crate::AlignedBuf; let buf = AlignedBuf::new(0).unwrap(); - assert!(buf.as_bytes().is_empty()); + assert_eq!(buf.as_bytes(), []); } } diff --git a/src/uu/ls/src/colors.rs b/src/uu/ls/src/colors.rs index cd0b7cccd24..11f4b8675c9 100644 --- a/src/uu/ls/src/colors.rs +++ b/src/uu/ls/src/colors.rs @@ -148,7 +148,7 @@ impl<'a> StyleManager<'a> { style_code: &mut String, ) { if let Some(raw) = self.indicator_codes.get(&indicator).cloned() { - debug_assert!(!raw.is_empty()); + debug_assert_ne!(raw, ""); style_code.push_str(self.reset(!self.initial_reset_is_done)); style_code.push_str(ANSI_CSI); style_code.push_str(&raw); diff --git a/src/uu/ls/src/output.rs b/src/uu/ls/src/output.rs index a4ead6c111c..3f449cbdf19 100644 --- a/src/uu/ls/src/output.rs +++ b/src/uu/ls/src/output.rs @@ -332,8 +332,8 @@ mod tests { fn test_streaming_output_new() { let collector = StreamingOutput::new(); assert!(collector.entries().is_empty()); - assert!(collector.directories().is_empty()); - assert!(collector.totals().is_empty()); + assert_eq!(collector.directories(), [] as [PathBuf; 0]); + assert_eq!(collector.totals(), []); } #[test] @@ -369,8 +369,8 @@ mod tests { collector.clear(); assert!(collector.entries().is_empty()); - assert!(collector.directories().is_empty()); - assert!(collector.totals().is_empty()); + assert_eq!(collector.directories(), [] as [PathBuf; 0]); + assert_eq!(collector.totals(), []); } #[test] diff --git a/src/uu/ptx/src/ptx.rs b/src/uu/ptx/src/ptx.rs index e0f6a9da228..cbf61aadce6 100644 --- a/src/uu/ptx/src/ptx.rs +++ b/src/uu/ptx/src/ptx.rs @@ -1184,8 +1184,8 @@ mod tests { assert_eq!(chunks.keyword, "nut"); assert_eq!(chunks.after, " cake tart pie"); // Nothing wrapped around the ends of the line. - assert!(chunks.head.is_empty()); - assert!(chunks.tail.is_empty()); + assert_eq!(chunks.head, ""); + assert_eq!(chunks.tail, ""); } #[test] @@ -1204,8 +1204,8 @@ mod tests { assert_eq!(chunks.before, "/plum"); // No word at all fit to the right of the keyword. assert_eq!(chunks.after, "/"); - assert!(chunks.head.is_empty()); - assert!(chunks.tail.is_empty()); + assert_eq!(chunks.head, ""); + assert_eq!(chunks.tail, ""); } #[test] @@ -1222,6 +1222,6 @@ mod tests { &chars(" cake tart pie"), ); assert_eq!(chunks.before, "plum"); - assert!(chunks.after.is_empty()); + assert_eq!(chunks.after, ""); } } diff --git a/src/uu/shuf/src/shuf.rs b/src/uu/shuf/src/shuf.rs index 6689f09c902..c7b89943d50 100644 --- a/src/uu/shuf/src/shuf.rs +++ b/src/uu/shuf/src/shuf.rs @@ -502,7 +502,7 @@ mod test_split_seps { #[test] fn test_empty_input() { - assert!(split_seps(b"", b'\n').is_empty()); + assert_eq!(split_seps(b"", b'\n'), [] as [&[_]; 0]); } #[test] diff --git a/src/uu/sort/src/chunks.rs b/src/uu/sort/src/chunks.rs index ee8261dd856..93ba20a5389 100644 --- a/src/uu/sort/src/chunks.rs +++ b/src/uu/sort/src/chunks.rs @@ -274,12 +274,12 @@ fn parse_lines<'a>( let read = read.strip_suffix(&[separator]).unwrap_or(read); assert!(lines.is_empty()); - assert!(line_data.selections.is_empty()); - assert!(line_data.num_infos.is_empty()); - assert!(line_data.parsed_floats.is_empty()); - assert!(line_data.line_num_floats.is_empty()); - assert!(line_data.collation_key_buffer.is_empty()); - assert!(line_data.collation_key_ends.is_empty()); + assert_eq!(line_data.selections, [] as [&[_]; 0]); + assert_eq!(line_data.num_infos, [] as [_; 0]); + assert_eq!(line_data.parsed_floats, [] as [_; 0]); + assert_eq!(line_data.line_num_floats, [] as [_; 0]); + assert_eq!(line_data.collation_key_buffer, [] as [_; 0]); + assert_eq!(line_data.collation_key_ends, [] as [_; 0]); token_buffer.clear(); let mut estimated = (*line_count_hint).max(1); let mut exact_line_count = None; diff --git a/src/uu/sort/src/sort.rs b/src/uu/sort/src/sort.rs index 3159a1020ce..060c908c941 100644 --- a/src/uu/sort/src/sort.rs +++ b/src/uu/sort/src/sort.rs @@ -907,7 +907,7 @@ fn tokenize( token_buffer: &mut Vec, precomputed: &Precomputed, ) { - assert!(token_buffer.is_empty()); + assert_eq!(token_buffer, &[] as &[Field; 0]); if let Some(separator) = separator { tokenize_with_separator(line, separator, token_buffer); } else { diff --git a/src/uucore/src/lib/features/encoding.rs b/src/uucore/src/lib/features/encoding.rs index 4a6e3394835..f441e2e6def 100644 --- a/src/uucore/src/lib/features/encoding.rs +++ b/src/uucore/src/lib/features/encoding.rs @@ -44,7 +44,7 @@ impl Base64SimdWrapper { ) -> Self { assert!(valid_decoding_multiple > 0); assert!(unpadded_multiple > 0); - assert!(!alphabet.is_empty()); + assert_ne!(alphabet, []); Self { alphabet, @@ -195,7 +195,7 @@ impl EncodingWrapper { assert!(unpadded_multiple > 0); - assert!(!alphabet.is_empty()); + assert_ne!(alphabet, []); Self { alphabet, diff --git a/src/uucore/src/lib/features/i18n/charmap.rs b/src/uucore/src/lib/features/i18n/charmap.rs index e20d2d4c67e..44a23fa31a4 100644 --- a/src/uucore/src/lib/features/i18n/charmap.rs +++ b/src/uucore/src/lib/features/i18n/charmap.rs @@ -69,7 +69,7 @@ impl Encoding { /// `bytes.len()`, and never `0` for a non-empty slice. #[inline] pub fn char_len(self, bytes: &[u8]) -> usize { - debug_assert!(!bytes.is_empty()); + debug_assert_ne!(bytes, []); let b0 = bytes[0]; if b0 <= 0x7F { return 1; diff --git a/src/uucore/src/lib/mods/locale.rs b/src/uucore/src/lib/mods/locale.rs index 3c09978ab82..7ab6dc468a3 100644 --- a/src/uucore/src/lib/mods/locale.rs +++ b/src/uucore/src/lib/mods/locale.rs @@ -1748,7 +1748,7 @@ invalid-syntax = This is { $missing // Test that we can get messages (should use embedded English for "test" utility) let message = get_message("test-about"); // Since we're using embedded resources, we should get the expected message - assert!(!message.is_empty()); + assert_ne!(message, ""); // Restore original LANG value if let Some(val) = original_lang { @@ -1779,7 +1779,7 @@ invalid-syntax = This is { $missing // Should fall back to English embedded resources let message = get_message("test-about"); - assert!(!message.is_empty()); // Should get something, not just the key + assert_ne!(message, ""); // Should get something, not just the key // Restore original LANG value if let Some(val) = original_lang { @@ -1858,18 +1858,18 @@ invalid-syntax = This is { $missing // Test that common strings are available after initialization let error_after_init = get_message("common-error"); // Should either be translated or return the key (but not panic) - assert!(!error_after_init.is_empty()); + assert_ne!(error_after_init, ""); let tip_after_init = get_message("common-tip"); - assert!(!tip_after_init.is_empty()); + assert_ne!(tip_after_init, ""); // Test that clap error keys work with fallbacks let unknown_arg_key = get_message("clap-error-unexpected-argument"); - assert!(!unknown_arg_key.is_empty()); + assert_ne!(unknown_arg_key, ""); // Test usage key fallback let usage_key = get_message("common-usage"); - assert!(!usage_key.is_empty()); + assert_ne!(usage_key, ""); }) .join() .unwrap(); diff --git a/tests/by-util/test_basename.rs b/tests/by-util/test_basename.rs index 2b85116e064..f31b6d8736c 100644 --- a/tests/by-util/test_basename.rs +++ b/tests/by-util/test_basename.rs @@ -123,14 +123,7 @@ fn test_zero_param() { } fn expect_error(input: &[&str]) { - assert!( - !new_ucmd!() - .args(input) - .fails() - .no_stdout() - .stderr_str() - .is_empty() - ); + assert_ne!(new_ucmd!().args(input).fails().no_stdout().stderr_str(), ""); } #[test] diff --git a/tests/by-util/test_chown.rs b/tests/by-util/test_chown.rs index 34b37e69e60..a7b8d1dbbd0 100644 --- a/tests/by-util/test_chown.rs +++ b/tests/by-util/test_chown.rs @@ -95,7 +95,7 @@ fn test_chown_only_owner() { return; } let user_name = String::from(result.stdout_str().trim()); - assert!(!user_name.is_empty()); + assert_ne!(user_name, ""); let file1 = "test_chown_file1"; at.touch(file1); @@ -132,7 +132,7 @@ fn test_chown_only_owner_colon() { return; } let user_name = String::from(result.stdout_str().trim()); - assert!(!user_name.is_empty()); + assert_ne!(user_name, ""); let file1 = "test_chown_file1"; at.touch(file1); @@ -176,7 +176,7 @@ fn test_chown_dot_separator_warning() { return; } let user_name = String::from(result.stdout_str().trim()); - assert!(!user_name.is_empty()); + assert_ne!(user_name, ""); let file1 = "test_chown_dot_warn"; at.touch(file1); @@ -186,7 +186,7 @@ fn test_chown_dot_separator_warning() { return; } let group_name = String::from(result.stdout_str().trim()); - assert!(!group_name.is_empty()); + assert_ne!(group_name, ""); // chown user. file should warn about '.' separator scene @@ -294,7 +294,7 @@ fn test_chown_owner_group() { } let user_name = String::from(result.stdout_str().trim()); - assert!(!user_name.is_empty()); + assert_ne!(user_name, ""); let file1 = "test_chown_file1"; at.touch(file1); @@ -304,7 +304,7 @@ fn test_chown_owner_group() { return; } let group_name = String::from(result.stdout_str().trim()); - assert!(!group_name.is_empty()); + assert_ne!(group_name, ""); let result = scene .ucmd() @@ -356,7 +356,7 @@ fn test_chown_various_input() { } let user_name = String::from(result.stdout_str().trim()); - assert!(!user_name.is_empty()); + assert_ne!(user_name, ""); let file1 = "test_chown_file1"; at.touch(file1); @@ -366,7 +366,7 @@ fn test_chown_various_input() { return; } let group_name = String::from(result.stdout_str().trim()); - assert!(!group_name.is_empty()); + assert_ne!(group_name, ""); let result = scene .ucmd() @@ -415,7 +415,7 @@ fn test_chown_only_group() { return; } let group_name = String::from(result.stdout_str().trim()); - assert!(!group_name.is_empty()); + assert_ne!(group_name, ""); let file1 = "test_chown_file1"; at.touch(file1); @@ -453,7 +453,7 @@ fn test_chown_only_user_id() { return; } let user_id = String::from(result.stdout_str().trim()); - assert!(!user_id.is_empty()); + assert_ne!(user_id, ""); let file1 = "test_chown_file1"; at.touch(file1); @@ -487,7 +487,7 @@ fn test_chown_fail_id() { return; } let user_id = String::from(result.stdout_str().trim()); - assert!(!user_id.is_empty()); + assert_ne!(user_id, ""); let file1 = "test_chown_file1"; at.touch(file1); @@ -543,7 +543,7 @@ fn test_chown_only_group_id() { return; } let group_id = String::from(result.stdout_str().trim()); - assert!(!group_id.is_empty()); + assert_ne!(group_id, ""); let file1 = "test_chown_file1"; at.touch(file1); @@ -611,14 +611,14 @@ fn test_chown_owner_group_id() { return; } let user_id = String::from(result.stdout_str().trim()); - assert!(!user_id.is_empty()); + assert_ne!(user_id, ""); let result = scene.cmd("id").arg("-g").run(); if skipping_test_is_okay(&result, "id: cannot find name for group ID") { return; } let group_id = String::from(result.stdout_str().trim()); - assert!(!group_id.is_empty()); + assert_ne!(group_id, ""); let file1 = "test_chown_file1"; at.touch(file1); @@ -671,14 +671,14 @@ fn test_chown_owner_group_mix() { return; } let user_id = String::from(result.stdout_str().trim()); - assert!(!user_id.is_empty()); + assert_ne!(user_id, ""); let result = scene.cmd("id").arg("-gn").run(); if skipping_test_is_okay(&result, "id: cannot find name for group ID") { return; } let group_name = String::from(result.stdout_str().trim()); - assert!(!group_name.is_empty()); + assert_ne!(group_name, ""); let file1 = "test_chown_file1"; at.touch(file1); @@ -710,7 +710,7 @@ fn test_chown_recursive() { return; } let user_name = String::from(result.stdout_str().trim()); - assert!(!user_name.is_empty()); + assert_ne!(user_name, ""); at.mkdir_all("a/b/c"); at.mkdir("z"); @@ -740,7 +740,7 @@ fn test_root_preserve() { return; } let user_name = String::from(result.stdout_str().trim()); - assert!(!user_name.is_empty()); + assert_ne!(user_name, ""); let result = scene .ucmd() @@ -782,7 +782,7 @@ fn test_chown_file_notexisting() { return; } let user_name = String::from(result.stdout_str().trim()); - assert!(!user_name.is_empty()); + assert_ne!(user_name, ""); scene .ucmd() @@ -807,7 +807,7 @@ fn test_chown_no_change_to_user() { return; } let user_name = String::from(result.stdout_str().trim()); - assert!(!user_name.is_empty()); + assert_ne!(user_name, ""); for (i, from) in ["42", ":42", "42:42"].iter().enumerate() { let file = i.to_string(); @@ -834,13 +834,13 @@ fn test_chown_no_change_to_group() { return; } let user_name = String::from(result.stdout_str().trim()); - assert!(!user_name.is_empty()); + assert_ne!(user_name, ""); let result = scene.cmd("id").arg("-ng").run(); if skipping_test_is_okay(&result, "id: cannot find name for group ID") { return; } let group_name = String::from(result.stdout_str().trim()); - assert!(!group_name.is_empty()); + assert_ne!(group_name, ""); for (i, from) in ["42", ":42", "42:42"].iter().enumerate() { let file = i.to_string(); @@ -867,13 +867,13 @@ fn test_chown_no_change_to_user_group() { return; } let user_name = String::from(result.stdout_str().trim()); - assert!(!user_name.is_empty()); + assert_ne!(user_name, ""); let result = scene.cmd("id").arg("-ng").run(); if skipping_test_is_okay(&result, "id: cannot find name for group ID") { return; } let group_name = String::from(result.stdout_str().trim()); - assert!(!group_name.is_empty()); + assert_ne!(group_name, ""); for (i, from) in ["42", ":42", "42:42"].iter().enumerate() { let file = i.to_string(); @@ -936,7 +936,7 @@ fn test_chown_no_dereference_symlink_to_dir() { return; } let user_name = String::from(result.stdout_str().trim()); - assert!(!user_name.is_empty()); + assert_ne!(user_name, ""); at.mkdir("dir"); at.symlink_dir("dir", "link_to_dir"); @@ -980,7 +980,7 @@ fn test_chown_symlink_cycles() { return; } let user_name = String::from(result.stdout_str().trim()); - assert!(!user_name.is_empty()); + assert_ne!(user_name, ""); at.mkdir_all("a/b/c"); at.symlink_dir("a", "a/b/c/d"); @@ -1028,7 +1028,7 @@ fn test_chown_symlink_two_links_same_dir() { return; } let user_name = String::from(result.stdout_str().trim()); - assert!(!user_name.is_empty()); + assert_ne!(user_name, ""); // spell-checker:disable at.mkdir_all("base/realdir"); diff --git a/tests/by-util/test_dd.rs b/tests/by-util/test_dd.rs index ea529fb121b..6cc68ece715 100644 --- a/tests/by-util/test_dd.rs +++ b/tests/by-util/test_dd.rs @@ -2267,7 +2267,7 @@ fn test_locale_aware_case_conversion() { } else { println!("Turkish locale not available, using fallback behavior"); // Test that it at least doesn't crash and produces some output - assert!(!result.stdout().is_empty()); + assert_ne!(result.stdout(), []); } } @@ -2292,7 +2292,7 @@ fn test_french_locale_case_conversion() { } else { println!("French locale not available, using fallback behavior"); // Test that it at least doesn't crash and produces some output - assert!(!result.stdout().is_empty()); + assert_ne!(result.stdout(), []); } // Test reverse conversion: à (0xE0) should convert to À (0xC0) with ucase @@ -2308,7 +2308,7 @@ fn test_french_locale_case_conversion() { println!("French locale case conversion working correctly for à -> À"); } else { println!("French locale not available for reverse conversion, using fallback behavior"); - assert!(!result.stdout().is_empty()); + assert_ne!(result.stdout(), []); } // Test another French character: Ç (0xC7) should convert to ç (0xE7) with lcase @@ -2324,7 +2324,7 @@ fn test_french_locale_case_conversion() { println!("French locale case conversion working correctly for Ç -> ç"); } else { println!("French locale not available for Ç conversion, using fallback behavior"); - assert!(!result.stdout().is_empty()); + assert_ne!(result.stdout(), []); } } diff --git a/tests/by-util/test_dirname.rs b/tests/by-util/test_dirname.rs index 3ed660877ef..09b7fad696d 100644 --- a/tests/by-util/test_dirname.rs +++ b/tests/by-util/test_dirname.rs @@ -84,7 +84,7 @@ fn test_dirname_non_utf8_paths() { let result = new_ucmd!().arg(non_utf8_name).succeeds(); let output = result.stdout_str_lossy(); - assert!(!output.is_empty()); + assert_ne!(output, ""); assert!(output.contains("test_")); } @@ -190,7 +190,7 @@ fn test_trailing_dot_non_utf8() { let result = new_ucmd!().arg(non_utf8_path).succeeds(); let output = result.stdout_str_lossy(); - assert!(!output.is_empty()); + assert_ne!(output, ""); assert!(output.contains("test_")); assert!(!output.trim().ends_with('.')); } diff --git a/tests/by-util/test_du.rs b/tests/by-util/test_du.rs index 39cc4626997..d8ac3b00677 100644 --- a/tests/by-util/test_du.rs +++ b/tests/by-util/test_du.rs @@ -2227,10 +2227,10 @@ fn test_du_safe_traversal_with_symlinks() { at.symlink_file(&format!("{deep_path}/target.txt"), "shallow_link.txt"); let result = ts.ucmd().arg("-L").arg("shallow_link.txt").succeeds(); - assert!(!result.stdout_str().is_empty()); + assert_ne!(result.stdout_str(), ""); let result = ts.ucmd().arg("shallow_link.txt").succeeds(); - assert!(!result.stdout_str().is_empty()); + assert_ne!(result.stdout_str(), ""); } #[test] #[cfg(unix)] diff --git a/tests/by-util/test_echo.rs b/tests/by-util/test_echo.rs index 827005ba278..1a1a229fec3 100644 --- a/tests/by-util/test_echo.rs +++ b/tests/by-util/test_echo.rs @@ -855,17 +855,17 @@ fn test_uchild_when_run_no_wait_with_a_non_blocking_util() { // check the current output is correct std::assert_eq!(child.stdout(), "hello world\n"); - assert!(child.stderr().is_empty()); + assert_eq!(child.stderr(), ""); // check the current output of echo is empty. We already called `child.stdout()` and `echo` // exited so there's no additional output after the first call of `child.stdout()` - assert!(child.stdout().is_empty()); - assert!(child.stderr().is_empty()); + assert_eq!(child.stdout(), ""); + assert_eq!(child.stderr(), ""); // check that we're still able to access all output of the child process, even after exit // and call to `child.stdout()` std::assert_eq!(child.stdout_all(), "hello world\n"); - assert!(child.stderr_all().is_empty()); + assert_eq!(child.stderr_all(), ""); // we should be able to call kill without panics, even if the process already exited child.make_assertion().is_not_alive(); diff --git a/tests/by-util/test_hostname.rs b/tests/by-util/test_hostname.rs index dc0b7510192..04b0d1423f7 100644 --- a/tests/by-util/test_hostname.rs +++ b/tests/by-util/test_hostname.rs @@ -18,13 +18,13 @@ fn test_hostname() { #[test] fn test_hostname_ip() { let result = new_ucmd!().arg("-i").succeeds(); - assert!(!result.stdout_str().trim().is_empty()); + assert_ne!(result.stdout_str().trim(), ""); } #[test] fn test_hostname_full() { let ls_short_res = new_ucmd!().arg("-s").succeeds(); - assert!(!ls_short_res.stdout_str().trim().is_empty()); + assert_ne!(ls_short_res.stdout_str().trim(), ""); new_ucmd!() .arg("-f") @@ -45,7 +45,7 @@ fn test_hostname_domain_empty() { let domain_short = new_ucmd!().arg("-sd").succeeds(); if fqdn.stdout() == short.stdout() { - assert!(domain.stdout().is_empty()); - assert!(domain_short.stdout().is_empty()); + assert_eq!(domain.stdout(), []); + assert_eq!(domain_short.stdout(), []); } } diff --git a/tests/by-util/test_id.rs b/tests/by-util/test_id.rs index 30e4c1ac9a0..71b6d89f3ec 100644 --- a/tests/by-util/test_id.rs +++ b/tests/by-util/test_id.rs @@ -161,7 +161,7 @@ fn test_id_groups_ordering() { let groups = ts.ucmd().arg("-G").succeeds().stdout_move_str(); let mut from_flag: Vec<&str> = groups.split_whitespace().collect(); - assert!(!from_flag.is_empty()); + assert_ne!(from_flag, [] as [&str; 0]); // `-G` heads with the real gid let rgid = ts.ucmd().args(&["-g", "-r"]).succeeds().stdout_move_str(); diff --git a/tests/by-util/test_ln.rs b/tests/by-util/test_ln.rs index ddd5e70463b..2d17c030e15 100644 --- a/tests/by-util/test_ln.rs +++ b/tests/by-util/test_ln.rs @@ -546,12 +546,11 @@ fn test_symlink_overwrite_dir_fail() { at.touch(path_a); at.mkdir(path_b); - assert!( - !ucmd - .args(&["-s", "-T", path_a, path_b]) + assert_ne!( + ucmd.args(&["-s", "-T", path_a, path_b]) .fails() - .stderr_str() - .is_empty() + .stderr_str(), + "" ); } @@ -602,13 +601,7 @@ fn test_symlink_target_only() { at.mkdir(dir); - assert!( - !ucmd - .args(&["-s", "-t", dir]) - .fails() - .stderr_str() - .is_empty() - ); + assert_ne!(ucmd.args(&["-s", "-t", dir]).fails().stderr_str(), ""); } #[test] diff --git a/tests/by-util/test_logname.rs b/tests/by-util/test_logname.rs index c3ff0458670..43fa4a1d5d1 100644 --- a/tests/by-util/test_logname.rs +++ b/tests/by-util/test_logname.rs @@ -29,7 +29,7 @@ fn test_normal() { } result.success(); - assert!(!result.stdout_str().trim().is_empty()); + assert_ne!(result.stdout_str().trim(), ""); } #[test] diff --git a/tests/by-util/test_mv.rs b/tests/by-util/test_mv.rs index e2c3f534685..333cf0040f8 100644 --- a/tests/by-util/test_mv.rs +++ b/tests/by-util/test_mv.rs @@ -1718,16 +1718,16 @@ fn test_mv_interactive_error() { // $ at.mkdir dir && at.touch file // $ mv -i dir file // err == mv: cannot overwrite non-directory 'file' with directory 'dir' - assert!( - !scene + assert_ne!( + scene .ucmd() .arg("-i") .arg(dir) .arg(file_a) .pipe_in("y") .fails() - .stderr_str() - .is_empty() + .stderr_str(), + "" ); } diff --git a/tests/by-util/test_pwd.rs b/tests/by-util/test_pwd.rs index e0448179f75..fd0cc15a4de 100644 --- a/tests/by-util/test_pwd.rs +++ b/tests/by-util/test_pwd.rs @@ -52,7 +52,7 @@ fn test_deleted_dir() { .output() .unwrap(); assert!(!output.status.success()); - assert!(output.stdout.is_empty()); + assert_eq!(output.stdout, [] as [_; 0]); assert_eq!( String::from_utf8_lossy(&output.stderr), "pwd: failed to get current directory: No such file or directory\n" diff --git a/tests/by-util/test_stat.rs b/tests/by-util/test_stat.rs index ae27fa53294..2206dc5b2d7 100644 --- a/tests/by-util/test_stat.rs +++ b/tests/by-util/test_stat.rs @@ -113,7 +113,7 @@ fn test_terse_normal_format() { println!("expect: {expect:?}"); let v_actual: Vec<&str> = actual.trim().split(' ').collect(); let mut v_expect: Vec<&str> = expect.trim().split(' ').collect(); - assert!(!v_expect.is_empty()); + assert_ne!(v_expect, [] as [&str; 0]); // uu_stat does not support selinux if v_actual.len() == v_expect.len() - 1 && v_expect[v_expect.len() - 1].contains(':') { @@ -145,7 +145,7 @@ fn test_format_created_time() { let re = regex::Regex::new(r"\s").unwrap(); let v_actual: Vec<&str> = re.split(&actual).collect(); let v_expect: Vec<&str> = re.split(&expect).collect(); - assert!(!v_expect.is_empty()); + assert_ne!(v_expect, [] as [&str; 0]); // * allow for inequality if `stat` (aka, expect) returns "-" (unknown value) assert!( expect == "-" @@ -170,7 +170,7 @@ fn test_format_created_seconds() { let re = regex::Regex::new(r"\s").unwrap(); let v_actual: Vec<&str> = re.split(&actual).collect(); let v_expect: Vec<&str> = re.split(&expect).collect(); - assert!(!v_expect.is_empty()); + assert_ne!(v_expect, [] as [&str; 0]); // * allow for inequality if `stat` (aka, expect) returns "0" (unknown value) assert!( expect == "0" diff --git a/tests/by-util/test_tee.rs b/tests/by-util/test_tee.rs index f8bad5aa834..0cb033d6fca 100644 --- a/tests/by-util/test_tee.rs +++ b/tests/by-util/test_tee.rs @@ -777,5 +777,5 @@ fn test_write_failure_reports_error_and_nonzero_exit() { let result = ucmd.arg("out_dir").pipe_in("data").fails(); - assert!(!result.stderr_str().is_empty()); + assert_ne!(result.stderr_str(), ""); } diff --git a/tests/by-util/test_truncate.rs b/tests/by-util/test_truncate.rs index 841fd53a9fe..99a3d3ba978 100644 --- a/tests/by-util/test_truncate.rs +++ b/tests/by-util/test_truncate.rs @@ -494,7 +494,7 @@ fn test_underflow_relative_size() { let (at, mut ucmd) = at_and_ucmd!(); ucmd.args(&["-s-1", FILE1]).succeeds().no_output(); assert!(at.file_exists(FILE1)); - assert!(at.read_bytes(FILE1).is_empty()); + assert_eq!(at.read_bytes(FILE1), [] as [_; 0]); } #[test] @@ -502,7 +502,7 @@ fn test_negative_size_with_space() { let (at, mut ucmd) = at_and_ucmd!(); ucmd.args(&["-s", "-1", FILE1]).succeeds().no_output(); assert!(at.file_exists(FILE1)); - assert!(at.read_bytes(FILE1).is_empty()); + assert_eq!(at.read_bytes(FILE1), [] as [_; 0]); } #[test] diff --git a/tests/uutests/src/lib/util.rs b/tests/uutests/src/lib/util.rs index 7bee2cb49f6..7cd1c0043d6 100644 --- a/tests/uutests/src/lib/util.rs +++ b/tests/uutests/src/lib/util.rs @@ -3297,6 +3297,7 @@ pub fn run_ucmd_as_root_with_stdin_stdout( mod tests { // spell-checker:ignore (tests) asdfsadfa use super::*; + use pretty_assertions::assert_eq; // Create a init for the test with a fake value (not needed) #[cfg(test)] @@ -3330,8 +3331,8 @@ mod tests { assert!(!result.succeeded()); result.failure(); result.fails_silently(); - assert!(result.stderr.is_empty()); - assert!(result.stdout.is_empty()); + assert_eq!(result.stderr, [] as [_; 0]); + assert_eq!(result.stdout, [] as [_; 0]); result.no_output(); result.no_stderr(); result.no_stdout(); @@ -3352,8 +3353,8 @@ mod tests { result.code_is(0); assert!(result.succeeded()); result.success(); - assert!(result.stderr.is_empty()); - assert!(result.stdout.is_empty()); + assert_eq!(result.stderr, [] as [_; 0]); + assert_eq!(result.stdout, [] as [_; 0]); result.no_output(); result.no_stderr(); result.no_stdout(); @@ -3391,7 +3392,7 @@ mod tests { result.code_is(0); assert!(result.succeeded()); result.success(); - assert!(result.stderr.is_empty()); + assert_eq!(result.stderr, [] as [_; 0]); std::assert_eq!(result.stdout, vector); result.no_stderr(); result.stdout_is(string); @@ -3420,7 +3421,7 @@ mod tests { result.code_is(0); assert!(result.succeeded()); result.success(); - assert!(result.stdout.is_empty()); + assert_eq!(result.stdout, [] as [_; 0]); result.no_stdout(); std::assert_eq!(result.stderr, vector); result.stderr_is(string);