From 6988eb7ec64eff10d2ebf001c7fef845c04336d5 Mon Sep 17 00:00:00 2001 From: Daniel Hofstetter Date: Mon, 20 Mar 2023 14:51:19 +0100 Subject: [PATCH] tests: expand wildcard imports --- tests/by-util/test_arch.rs | 2 +- tests/by-util/test_base32.rs | 2 +- tests/by-util/test_base64.rs | 2 +- tests/by-util/test_basename.rs | 2 +- tests/by-util/test_basenc.rs | 2 +- tests/by-util/test_cat.rs | 2 +- tests/by-util/test_chgrp.rs | 4 ++-- tests/by-util/test_chmod.rs | 2 +- tests/by-util/test_chown.rs | 2 +- tests/by-util/test_chroot.rs | 2 +- tests/by-util/test_cksum.rs | 2 +- tests/by-util/test_comm.rs | 2 +- tests/by-util/test_cp.rs | 2 +- tests/by-util/test_csplit.rs | 2 +- tests/by-util/test_cut.rs | 2 +- tests/by-util/test_date.rs | 4 ++-- tests/by-util/test_dd.rs | 2 +- tests/by-util/test_df.rs | 2 +- tests/by-util/test_dir.rs | 2 +- tests/by-util/test_dircolors.rs | 2 +- tests/by-util/test_dirname.rs | 2 +- tests/by-util/test_du.rs | 2 +- tests/by-util/test_echo.rs | 2 +- tests/by-util/test_env.rs | 2 +- tests/by-util/test_expand.rs | 2 +- tests/by-util/test_expr.rs | 2 +- tests/by-util/test_factor.rs | 2 +- tests/by-util/test_false.rs | 2 +- tests/by-util/test_fmt.rs | 2 +- tests/by-util/test_fold.rs | 2 +- tests/by-util/test_groups.rs | 2 +- tests/by-util/test_hashsum.rs | 2 +- tests/by-util/test_head.rs | 2 +- tests/by-util/test_hostname.rs | 2 +- tests/by-util/test_id.rs | 2 +- tests/by-util/test_install.rs | 4 ++-- 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 | 2 +- tests/by-util/test_logname.rs | 2 +- tests/by-util/test_ls.rs | 2 +- tests/by-util/test_mkdir.rs | 2 +- tests/by-util/test_mkfifo.rs | 2 +- tests/by-util/test_mknod.rs | 2 +- tests/by-util/test_mktemp.rs | 2 +- tests/by-util/test_more.rs | 2 +- tests/by-util/test_mv.rs | 4 ++-- 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 | 2 +- tests/by-util/test_od.rs | 4 ++-- 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 | 2 +- tests/by-util/test_printenv.rs | 2 +- tests/by-util/test_printf.rs | 2 +- tests/by-util/test_ptx.rs | 2 +- tests/by-util/test_pwd.rs | 2 +- tests/by-util/test_readlink.rs | 2 +- tests/by-util/test_realpath.rs | 2 +- tests/by-util/test_relpath.rs | 2 +- tests/by-util/test_rm.rs | 2 +- tests/by-util/test_rmdir.rs | 2 +- tests/by-util/test_seq.rs | 2 +- tests/by-util/test_shred.rs | 2 +- tests/by-util/test_shuf.rs | 2 +- tests/by-util/test_sleep.rs | 2 +- tests/by-util/test_sort.rs | 2 +- tests/by-util/test_split.rs | 2 +- tests/by-util/test_stat.rs | 2 +- tests/by-util/test_stdbuf.rs | 2 +- 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 | 4 ++-- tests/by-util/test_tee.rs | 4 ++-- tests/by-util/test_test.rs | 2 +- tests/by-util/test_timeout.rs | 2 +- tests/by-util/test_touch.rs | 2 +- tests/by-util/test_tr.rs | 2 +- tests/by-util/test_true.rs | 2 +- tests/by-util/test_truncate.rs | 2 +- tests/by-util/test_tsort.rs | 2 +- tests/by-util/test_tty.rs | 2 +- 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_vdir.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 +- 100 files changed, 107 insertions(+), 107 deletions(-) diff --git a/tests/by-util/test_arch.rs b/tests/by-util/test_arch.rs index 2945a0937..603e1bc49 100644 --- a/tests/by-util/test_arch.rs +++ b/tests/by-util/test_arch.rs @@ -1,4 +1,4 @@ -use crate::common::util::*; +use crate::common::util::TestScenario; #[test] fn test_arch() { diff --git a/tests/by-util/test_base32.rs b/tests/by-util/test_base32.rs index 19f7515d2..395c96c2c 100644 --- a/tests/by-util/test_base32.rs +++ b/tests/by-util/test_base32.rs @@ -6,7 +6,7 @@ // that was distributed with this source code. // -use crate::common::util::*; +use crate::common::util::TestScenario; #[test] fn test_encode() { diff --git a/tests/by-util/test_base64.rs b/tests/by-util/test_base64.rs index 9d551b321..7cd44eefd 100644 --- a/tests/by-util/test_base64.rs +++ b/tests/by-util/test_base64.rs @@ -1,4 +1,4 @@ -use crate::common::util::*; +use crate::common::util::TestScenario; #[test] fn test_encode() { diff --git a/tests/by-util/test_basename.rs b/tests/by-util/test_basename.rs index 83b598cd4..88b0c71c8 100644 --- a/tests/by-util/test_basename.rs +++ b/tests/by-util/test_basename.rs @@ -1,6 +1,6 @@ // spell-checker:ignore (words) reallylongexecutable -use crate::common::util::*; +use crate::common::util::TestScenario; #[cfg(any(unix, target_os = "redox"))] use std::ffi::OsStr; diff --git a/tests/by-util/test_basenc.rs b/tests/by-util/test_basenc.rs index d2c58b785..401c23d45 100644 --- a/tests/by-util/test_basenc.rs +++ b/tests/by-util/test_basenc.rs @@ -1,4 +1,4 @@ -use crate::common::util::*; +use crate::common::util::TestScenario; #[test] fn test_z85_not_padded() { diff --git a/tests/by-util/test_cat.rs b/tests/by-util/test_cat.rs index 8b6022c93..ea4ea55d9 100644 --- a/tests/by-util/test_cat.rs +++ b/tests/by-util/test_cat.rs @@ -1,6 +1,6 @@ // spell-checker:ignore NOFILE -use crate::common::util::*; +use crate::common::util::{vec_of_size, TestScenario}; #[cfg(any(target_os = "linux", target_os = "android"))] use rlimit::Resource; use std::fs::OpenOptions; diff --git a/tests/by-util/test_chgrp.rs b/tests/by-util/test_chgrp.rs index f7b298c79..69224b0bd 100644 --- a/tests/by-util/test_chgrp.rs +++ b/tests/by-util/test_chgrp.rs @@ -1,7 +1,7 @@ // spell-checker:ignore (words) nosuchgroup groupname -use crate::common::util::*; -use rust_users::*; +use crate::common::util::TestScenario; +use rust_users::get_effective_gid; #[test] fn test_invalid_option() { diff --git a/tests/by-util/test_chmod.rs b/tests/by-util/test_chmod.rs index 639e955fd..379df4944 100644 --- a/tests/by-util/test_chmod.rs +++ b/tests/by-util/test_chmod.rs @@ -1,4 +1,4 @@ -use crate::common::util::*; +use crate::common::util::{AtPath, TestScenario, UCommand}; use once_cell::sync::Lazy; use std::fs::{metadata, set_permissions, OpenOptions, Permissions}; use std::os::unix::fs::{OpenOptionsExt, PermissionsExt}; diff --git a/tests/by-util/test_chown.rs b/tests/by-util/test_chown.rs index 63d30eae9..bf2fbe89a 100644 --- a/tests/by-util/test_chown.rs +++ b/tests/by-util/test_chown.rs @@ -1,6 +1,6 @@ // spell-checker:ignore (words) agroupthatdoesntexist auserthatdoesntexist cuuser groupname notexisting passgrp -use crate::common::util::*; +use crate::common::util::{is_ci, run_ucmd_as_root, CmdResult, TestScenario}; #[cfg(any(target_os = "linux", target_os = "android"))] use rust_users::get_effective_uid; diff --git a/tests/by-util/test_chroot.rs b/tests/by-util/test_chroot.rs index b1e270577..6429042c8 100644 --- a/tests/by-util/test_chroot.rs +++ b/tests/by-util/test_chroot.rs @@ -1,6 +1,6 @@ // spell-checker:ignore (words) araba newroot userspec chdir pwd's isroot -use crate::common::util::*; +use crate::common::util::{is_ci, run_ucmd_as_root, TestScenario}; #[test] fn test_invalid_arg() { diff --git a/tests/by-util/test_cksum.rs b/tests/by-util/test_cksum.rs index 361a9c472..814d4c03a 100644 --- a/tests/by-util/test_cksum.rs +++ b/tests/by-util/test_cksum.rs @@ -1,6 +1,6 @@ // spell-checker:ignore (words) asdf -use crate::common::util::*; +use crate::common::util::TestScenario; #[test] fn test_invalid_arg() { diff --git a/tests/by-util/test_comm.rs b/tests/by-util/test_comm.rs index 0ee5c44c2..42c8358bb 100644 --- a/tests/by-util/test_comm.rs +++ b/tests/by-util/test_comm.rs @@ -1,6 +1,6 @@ // spell-checker:ignore (words) defaultcheck nocheck -use crate::common::util::*; +use crate::common::util::TestScenario; #[test] fn test_invalid_arg() { diff --git a/tests/by-util/test_cp.rs b/tests/by-util/test_cp.rs index 188d5db63..4fa2e9fd1 100644 --- a/tests/by-util/test_cp.rs +++ b/tests/by-util/test_cp.rs @@ -1,6 +1,6 @@ // spell-checker:ignore (flags) reflink (fs) tmpfs (linux) rlimit Rlim NOFILE clob btrfs ROOTDIR USERDIR procfs outfile -use crate::common::util::*; +use crate::common::util::TestScenario; #[cfg(not(windows))] use std::fs::set_permissions; diff --git a/tests/by-util/test_csplit.rs b/tests/by-util/test_csplit.rs index 771cd5f81..eecaccfaf 100644 --- a/tests/by-util/test_csplit.rs +++ b/tests/by-util/test_csplit.rs @@ -1,4 +1,4 @@ -use crate::common::util::*; +use crate::common::util::TestScenario; use glob::glob; /// Returns a string of numbers with the given range, each on a new line. diff --git a/tests/by-util/test_cut.rs b/tests/by-util/test_cut.rs index bad609758..a82950beb 100644 --- a/tests/by-util/test_cut.rs +++ b/tests/by-util/test_cut.rs @@ -1,4 +1,4 @@ -use crate::common::util::*; +use crate::common::util::TestScenario; static INPUT: &str = "lists.txt"; diff --git a/tests/by-util/test_date.rs b/tests/by-util/test_date.rs index 1727f4006..7e9c52af5 100644 --- a/tests/by-util/test_date.rs +++ b/tests/by-util/test_date.rs @@ -1,9 +1,9 @@ extern crate regex; use self::regex::Regex; -use crate::common::util::*; +use crate::common::util::TestScenario; #[cfg(all(unix, not(target_os = "macos")))] -use rust_users::*; +use rust_users::get_effective_uid; #[test] fn test_invalid_arg() { diff --git a/tests/by-util/test_dd.rs b/tests/by-util/test_dd.rs index 75f4db0e5..6532c5325 100644 --- a/tests/by-util/test_dd.rs +++ b/tests/by-util/test_dd.rs @@ -1,6 +1,6 @@ // spell-checker:ignore fname, tname, fpath, specfile, testfile, unspec, ifile, ofile, outfile, fullblock, urand, fileio, atoe, atoibm, availible, behaviour, bmax, bremain, btotal, cflags, creat, ctable, ctty, datastructures, doesnt, etoa, fileout, fname, gnudd, iconvflags, iseek, nocache, noctty, noerror, nofollow, nolinks, nonblock, oconvflags, oseek, outfile, parseargs, rlen, rmax, rposition, rremain, rsofar, rstat, sigusr, sigval, wlen, wstat abcdefghijklm abcdefghi nabcde nabcdefg abcdefg -use crate::common::util::*; +use crate::common::util::{TestScenario, UCommand, TESTS_BINARY}; use regex::Regex; diff --git a/tests/by-util/test_df.rs b/tests/by-util/test_df.rs index 0cf27c205..a5100e471 100644 --- a/tests/by-util/test_df.rs +++ b/tests/by-util/test_df.rs @@ -1,7 +1,7 @@ // spell-checker:ignore udev pcent iuse itotal iused ipcent use std::collections::HashSet; -use crate::common::util::*; +use crate::common::util::TestScenario; #[test] fn test_invalid_arg() { diff --git a/tests/by-util/test_dir.rs b/tests/by-util/test_dir.rs index 068ffbbcc..5905edff1 100644 --- a/tests/by-util/test_dir.rs +++ b/tests/by-util/test_dir.rs @@ -5,7 +5,7 @@ extern crate regex; extern crate tempfile; use self::regex::Regex; -use crate::common::util::*; +use crate::common::util::TestScenario; /* * As dir use the same functions than ls, we don't have to retest them here. diff --git a/tests/by-util/test_dircolors.rs b/tests/by-util/test_dircolors.rs index aaff02d30..629a10912 100644 --- a/tests/by-util/test_dircolors.rs +++ b/tests/by-util/test_dircolors.rs @@ -1,5 +1,5 @@ // spell-checker:ignore overridable -use crate::common::util::*; +use crate::common::util::TestScenario; extern crate dircolors; use self::dircolors::{guess_syntax, OutputFmt, StrUtils}; diff --git a/tests/by-util/test_dirname.rs b/tests/by-util/test_dirname.rs index 952f715e8..ae689041b 100644 --- a/tests/by-util/test_dirname.rs +++ b/tests/by-util/test_dirname.rs @@ -1,4 +1,4 @@ -use crate::common::util::*; +use crate::common::util::TestScenario; #[test] fn test_invalid_arg() { diff --git a/tests/by-util/test_du.rs b/tests/by-util/test_du.rs index de72ed4e5..a514ac04b 100644 --- a/tests/by-util/test_du.rs +++ b/tests/by-util/test_du.rs @@ -9,7 +9,7 @@ use regex::Regex; #[cfg(not(windows))] use std::io::Write; -use crate::common::util::*; +use crate::common::util::{expected_result, TestScenario}; const SUB_DIR: &str = "subdir/deeper"; const SUB_DEEPER_DIR: &str = "subdir/deeper/deeper_dir"; diff --git a/tests/by-util/test_echo.rs b/tests/by-util/test_echo.rs index f28bc1bb4..1c07a6737 100644 --- a/tests/by-util/test_echo.rs +++ b/tests/by-util/test_echo.rs @@ -1,6 +1,6 @@ // spell-checker:ignore (words) araba merci -use crate::common::util::*; +use crate::common::util::TestScenario; #[test] fn test_default() { diff --git a/tests/by-util/test_env.rs b/tests/by-util/test_env.rs index 9b386541c..fcca47cad 100644 --- a/tests/by-util/test_env.rs +++ b/tests/by-util/test_env.rs @@ -1,6 +1,6 @@ // spell-checker:ignore (words) bamf chdir rlimit prlimit COMSPEC -use crate::common::util::*; +use crate::common::util::TestScenario; use std::env; use std::path::Path; use tempfile::tempdir; diff --git a/tests/by-util/test_expand.rs b/tests/by-util/test_expand.rs index 5b4f269ea..88c1b1670 100644 --- a/tests/by-util/test_expand.rs +++ b/tests/by-util/test_expand.rs @@ -1,4 +1,4 @@ -use crate::common::util::*; +use crate::common::util::TestScenario; use uucore::display::Quotable; // spell-checker:ignore (ToDO) taaaa tbbbb tcccc diff --git a/tests/by-util/test_expr.rs b/tests/by-util/test_expr.rs index 1eebf35f0..235a91120 100644 --- a/tests/by-util/test_expr.rs +++ b/tests/by-util/test_expr.rs @@ -1,6 +1,6 @@ // spell-checker:ignore αbcdef ; (people) kkos -use crate::common::util::*; +use crate::common::util::TestScenario; #[test] fn test_simple_values() { diff --git a/tests/by-util/test_factor.rs b/tests/by-util/test_factor.rs index 7a4d54fb5..23da2ea69 100644 --- a/tests/by-util/test_factor.rs +++ b/tests/by-util/test_factor.rs @@ -8,7 +8,7 @@ // spell-checker:ignore (methods) hexdigest -use crate::common::util::*; +use crate::common::util::{AtPath, TestScenario}; use std::time::{Duration, SystemTime}; diff --git a/tests/by-util/test_false.rs b/tests/by-util/test_false.rs index 5ce64e7a8..c6c663404 100644 --- a/tests/by-util/test_false.rs +++ b/tests/by-util/test_false.rs @@ -1,4 +1,4 @@ -use crate::common::util::*; +use crate::common::util::TestScenario; #[cfg(any(target_os = "linux", target_os = "freebsd", target_os = "netbsd"))] use std::fs::OpenOptions; diff --git a/tests/by-util/test_fmt.rs b/tests/by-util/test_fmt.rs index 02d205466..316add038 100644 --- a/tests/by-util/test_fmt.rs +++ b/tests/by-util/test_fmt.rs @@ -1,4 +1,4 @@ -use crate::common::util::*; +use crate::common::util::TestScenario; #[test] fn test_invalid_arg() { diff --git a/tests/by-util/test_fold.rs b/tests/by-util/test_fold.rs index 049535422..b61d9f5ed 100644 --- a/tests/by-util/test_fold.rs +++ b/tests/by-util/test_fold.rs @@ -1,4 +1,4 @@ -use crate::common::util::*; +use crate::common::util::TestScenario; #[test] fn test_invalid_arg() { diff --git a/tests/by-util/test_groups.rs b/tests/by-util/test_groups.rs index 1432e8c9c..4f6bb7f1b 100644 --- a/tests/by-util/test_groups.rs +++ b/tests/by-util/test_groups.rs @@ -5,7 +5,7 @@ //spell-checker: ignore coreutil -use crate::common::util::*; +use crate::common::util::{check_coreutil_version, expected_result, whoami, TestScenario}; const VERSION_MIN_MULTIPLE_USERS: &str = "8.31"; // this feature was introduced in GNU's coreutils 8.31 diff --git a/tests/by-util/test_hashsum.rs b/tests/by-util/test_hashsum.rs index 5a9cd1965..3d3d72c4c 100644 --- a/tests/by-util/test_hashsum.rs +++ b/tests/by-util/test_hashsum.rs @@ -1,4 +1,4 @@ -use crate::common::util::*; +use crate::common::util::TestScenario; // spell-checker:ignore checkfile, nonames, testf, ntestf macro_rules! get_hash( ($str:expr) => ( diff --git a/tests/by-util/test_head.rs b/tests/by-util/test_head.rs index 364ed3b45..571bfb3a8 100644 --- a/tests/by-util/test_head.rs +++ b/tests/by-util/test_head.rs @@ -5,7 +5,7 @@ // spell-checker:ignore (words) bogusfile emptyfile abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstu -use crate::common::util::*; +use crate::common::util::TestScenario; static INPUT: &str = "lorem_ipsum.txt"; diff --git a/tests/by-util/test_hostname.rs b/tests/by-util/test_hostname.rs index 474be8b3e..3c01a1197 100644 --- a/tests/by-util/test_hostname.rs +++ b/tests/by-util/test_hostname.rs @@ -1,4 +1,4 @@ -use crate::common::util::*; +use crate::common::util::TestScenario; #[test] fn test_hostname() { diff --git a/tests/by-util/test_id.rs b/tests/by-util/test_id.rs index b7b36c58d..4174bdde6 100644 --- a/tests/by-util/test_id.rs +++ b/tests/by-util/test_id.rs @@ -5,7 +5,7 @@ // spell-checker:ignore (ToDO) coreutil -use crate::common::util::*; +use crate::common::util::{check_coreutil_version, expected_result, is_ci, whoami, TestScenario}; const VERSION_MIN_MULTIPLE_USERS: &str = "8.31"; // this feature was introduced in GNU's coreutils 8.31 diff --git a/tests/by-util/test_install.rs b/tests/by-util/test_install.rs index cea4b4786..a30737f05 100644 --- a/tests/by-util/test_install.rs +++ b/tests/by-util/test_install.rs @@ -1,8 +1,8 @@ // spell-checker:ignore (words) helloworld nodir objdump n'source -use crate::common::util::*; +use crate::common::util::{is_ci, TestScenario}; use filetime::FileTime; -use rust_users::*; +use rust_users::{get_effective_gid, get_effective_uid}; use std::os::unix::fs::PermissionsExt; #[cfg(not(any(windows, target_os = "freebsd")))] use std::process::Command; diff --git a/tests/by-util/test_join.rs b/tests/by-util/test_join.rs index 9138e3d6b..f6fbe14c3 100644 --- a/tests/by-util/test_join.rs +++ b/tests/by-util/test_join.rs @@ -1,6 +1,6 @@ // spell-checker:ignore (words) autoformat nocheck -use crate::common::util::*; +use crate::common::util::TestScenario; #[cfg(any(target_os = "linux", target_os = "freebsd", target_os = "netbsd"))] use std::fs::OpenOptions; #[cfg(unix)] diff --git a/tests/by-util/test_kill.rs b/tests/by-util/test_kill.rs index 43e281155..d36023298 100644 --- a/tests/by-util/test_kill.rs +++ b/tests/by-util/test_kill.rs @@ -1,4 +1,4 @@ -use crate::common::util::*; +use crate::common::util::TestScenario; use regex::Regex; use std::os::unix::process::ExitStatusExt; use std::process::{Child, Command}; diff --git a/tests/by-util/test_link.rs b/tests/by-util/test_link.rs index c147fdf6c..3c068af93 100644 --- a/tests/by-util/test_link.rs +++ b/tests/by-util/test_link.rs @@ -1,4 +1,4 @@ -use crate::common::util::*; +use crate::common::util::TestScenario; #[test] fn test_invalid_arg() { diff --git a/tests/by-util/test_ln.rs b/tests/by-util/test_ln.rs index 1a4c9095b..0f7241445 100644 --- a/tests/by-util/test_ln.rs +++ b/tests/by-util/test_ln.rs @@ -1,4 +1,4 @@ -use crate::common::util::*; +use crate::common::util::TestScenario; use std::path::PathBuf; #[test] diff --git a/tests/by-util/test_logname.rs b/tests/by-util/test_logname.rs index 3d2081641..b0cda1a9d 100644 --- a/tests/by-util/test_logname.rs +++ b/tests/by-util/test_logname.rs @@ -1,4 +1,4 @@ -use crate::common::util::*; +use crate::common::util::{is_ci, TestScenario}; use std::env; #[test] diff --git a/tests/by-util/test_ls.rs b/tests/by-util/test_ls.rs index 5c0c15d0e..a9ffdef96 100644 --- a/tests/by-util/test_ls.rs +++ b/tests/by-util/test_ls.rs @@ -7,7 +7,7 @@ extern crate regex; extern crate tempfile; use self::regex::Regex; -use crate::common::util::*; +use crate::common::util::TestScenario; #[cfg(all(unix, feature = "chmod"))] use nix::unistd::{close, dup}; use std::collections::HashMap; diff --git a/tests/by-util/test_mkdir.rs b/tests/by-util/test_mkdir.rs index 59546b847..2f09be6c2 100644 --- a/tests/by-util/test_mkdir.rs +++ b/tests/by-util/test_mkdir.rs @@ -1,4 +1,4 @@ -use crate::common::util::*; +use crate::common::util::TestScenario; #[cfg(not(windows))] use std::os::unix::fs::PermissionsExt; #[cfg(not(windows))] diff --git a/tests/by-util/test_mkfifo.rs b/tests/by-util/test_mkfifo.rs index f8b168195..d4ebab640 100644 --- a/tests/by-util/test_mkfifo.rs +++ b/tests/by-util/test_mkfifo.rs @@ -1,4 +1,4 @@ -use crate::common::util::*; +use crate::common::util::TestScenario; #[test] fn test_invalid_arg() { diff --git a/tests/by-util/test_mknod.rs b/tests/by-util/test_mknod.rs index d2f4032c4..deea8bb4e 100644 --- a/tests/by-util/test_mknod.rs +++ b/tests/by-util/test_mknod.rs @@ -1,4 +1,4 @@ -use crate::common::util::*; +use crate::common::util::TestScenario; #[test] #[cfg(not(windows))] diff --git a/tests/by-util/test_mktemp.rs b/tests/by-util/test_mktemp.rs index 109963edf..8fc5669cd 100644 --- a/tests/by-util/test_mktemp.rs +++ b/tests/by-util/test_mktemp.rs @@ -1,6 +1,6 @@ // spell-checker:ignore (words) gpghome -use crate::common::util::*; +use crate::common::util::TestScenario; use uucore::display::Quotable; diff --git a/tests/by-util/test_more.rs b/tests/by-util/test_more.rs index b3a1522f6..bdf80a27c 100644 --- a/tests/by-util/test_more.rs +++ b/tests/by-util/test_more.rs @@ -1,4 +1,4 @@ -use crate::common::util::*; +use crate::common::util::TestScenario; use is_terminal::IsTerminal; #[test] diff --git a/tests/by-util/test_mv.rs b/tests/by-util/test_mv.rs index c673e5643..c5f930a2b 100644 --- a/tests/by-util/test_mv.rs +++ b/tests/by-util/test_mv.rs @@ -1,8 +1,8 @@ extern crate filetime; extern crate time; -use self::filetime::*; -use crate::common::util::*; +use self::filetime::FileTime; +use crate::common::util::TestScenario; #[test] fn test_invalid_arg() { diff --git a/tests/by-util/test_nice.rs b/tests/by-util/test_nice.rs index 6fca05ab4..e2af88dfd 100644 --- a/tests/by-util/test_nice.rs +++ b/tests/by-util/test_nice.rs @@ -1,4 +1,4 @@ -use crate::common::util::*; +use crate::common::util::TestScenario; #[test] #[cfg(not(target_os = "android"))] diff --git a/tests/by-util/test_nl.rs b/tests/by-util/test_nl.rs index cd59a745c..7317d8cca 100644 --- a/tests/by-util/test_nl.rs +++ b/tests/by-util/test_nl.rs @@ -1,4 +1,4 @@ -use crate::common::util::*; +use crate::common::util::TestScenario; #[test] fn test_invalid_arg() { diff --git a/tests/by-util/test_nohup.rs b/tests/by-util/test_nohup.rs index 8ef0bc9c9..c14a2e494 100644 --- a/tests/by-util/test_nohup.rs +++ b/tests/by-util/test_nohup.rs @@ -1,4 +1,4 @@ -use crate::common::util::*; +use crate::common::util::TestScenario; use std::thread::sleep; // General observation: nohup.out will not be created in tests run by cargo test diff --git a/tests/by-util/test_nproc.rs b/tests/by-util/test_nproc.rs index abae40697..b79715157 100644 --- a/tests/by-util/test_nproc.rs +++ b/tests/by-util/test_nproc.rs @@ -1,5 +1,5 @@ // spell-checker:ignore incorrectnumber -use crate::common::util::*; +use crate::common::util::TestScenario; #[test] fn test_invalid_arg() { diff --git a/tests/by-util/test_numfmt.rs b/tests/by-util/test_numfmt.rs index e162196f2..fbfe68427 100644 --- a/tests/by-util/test_numfmt.rs +++ b/tests/by-util/test_numfmt.rs @@ -1,6 +1,6 @@ // spell-checker:ignore (paths) gnutest -use crate::common::util::*; +use crate::common::util::TestScenario; #[test] fn test_invalid_arg() { diff --git a/tests/by-util/test_od.rs b/tests/by-util/test_od.rs index c1857f3bc..da30a5d97 100644 --- a/tests/by-util/test_od.rs +++ b/tests/by-util/test_od.rs @@ -6,8 +6,8 @@ extern crate unindent; -use self::unindent::*; -use crate::common::util::*; +use self::unindent::unindent; +use crate::common::util::TestScenario; use std::env; use std::fs::remove_file; use std::fs::File; diff --git a/tests/by-util/test_paste.rs b/tests/by-util/test_paste.rs index 977645bee..2e119846e 100644 --- a/tests/by-util/test_paste.rs +++ b/tests/by-util/test_paste.rs @@ -1,4 +1,4 @@ -use crate::common::util::*; +use crate::common::util::TestScenario; struct TestData<'b> { name: &'b str, diff --git a/tests/by-util/test_pathchk.rs b/tests/by-util/test_pathchk.rs index 9b16fe738..771fbd0a9 100644 --- a/tests/by-util/test_pathchk.rs +++ b/tests/by-util/test_pathchk.rs @@ -1,4 +1,4 @@ -use crate::common::util::*; +use crate::common::util::TestScenario; #[test] fn test_invalid_arg() { diff --git a/tests/by-util/test_pinky.rs b/tests/by-util/test_pinky.rs index da4aab605..ba142c905 100644 --- a/tests/by-util/test_pinky.rs +++ b/tests/by-util/test_pinky.rs @@ -5,7 +5,7 @@ extern crate uucore; -use crate::common::util::*; +use crate::common::util::{expected_result, TestScenario}; use self::uucore::entries::{Locate, Passwd}; diff --git a/tests/by-util/test_pr.rs b/tests/by-util/test_pr.rs index ae18464db..59d3c6c64 100644 --- a/tests/by-util/test_pr.rs +++ b/tests/by-util/test_pr.rs @@ -1,7 +1,7 @@ // spell-checker:ignore (ToDO) Sdivide extern crate time; -use crate::common::util::*; +use crate::common::util::{TestScenario, UCommand}; use std::fs::metadata; use time::macros::format_description; use time::Duration; diff --git a/tests/by-util/test_printenv.rs b/tests/by-util/test_printenv.rs index c4f32705f..8365b130a 100644 --- a/tests/by-util/test_printenv.rs +++ b/tests/by-util/test_printenv.rs @@ -1,4 +1,4 @@ -use crate::common::util::*; +use crate::common::util::TestScenario; use std::env; #[test] diff --git a/tests/by-util/test_printf.rs b/tests/by-util/test_printf.rs index 77f64750c..e9b25954f 100644 --- a/tests/by-util/test_printf.rs +++ b/tests/by-util/test_printf.rs @@ -1,4 +1,4 @@ -use crate::common::util::*; +use crate::common::util::TestScenario; #[test] fn basic_literal() { diff --git a/tests/by-util/test_ptx.rs b/tests/by-util/test_ptx.rs index 7372bb5cc..db4a4f3cc 100644 --- a/tests/by-util/test_ptx.rs +++ b/tests/by-util/test_ptx.rs @@ -1,4 +1,4 @@ -use crate::common::util::*; +use crate::common::util::TestScenario; #[test] fn test_invalid_arg() { diff --git a/tests/by-util/test_pwd.rs b/tests/by-util/test_pwd.rs index 461c597bd..5719e87d2 100644 --- a/tests/by-util/test_pwd.rs +++ b/tests/by-util/test_pwd.rs @@ -2,7 +2,7 @@ use std::path::PathBuf; -use crate::common::util::*; +use crate::common::util::{TestScenario, UCommand}; #[test] fn test_invalid_arg() { diff --git a/tests/by-util/test_readlink.rs b/tests/by-util/test_readlink.rs index 4441aebd9..f08671583 100644 --- a/tests/by-util/test_readlink.rs +++ b/tests/by-util/test_readlink.rs @@ -1,5 +1,5 @@ // spell-checker:ignore regfile -use crate::common::util::*; +use crate::common::util::{get_root_path, TestScenario}; static GIBBERISH: &str = "supercalifragilisticexpialidocious"; diff --git a/tests/by-util/test_realpath.rs b/tests/by-util/test_realpath.rs index 691ad29a2..707378c97 100644 --- a/tests/by-util/test_realpath.rs +++ b/tests/by-util/test_realpath.rs @@ -1,4 +1,4 @@ -use crate::common::util::*; +use crate::common::util::{get_root_path, TestScenario}; #[cfg(windows)] use regex::Regex; diff --git a/tests/by-util/test_relpath.rs b/tests/by-util/test_relpath.rs index 753b5d755..65cbd391e 100644 --- a/tests/by-util/test_relpath.rs +++ b/tests/by-util/test_relpath.rs @@ -1,4 +1,4 @@ -use crate::common::util::*; +use crate::common::util::TestScenario; use std::borrow::Cow; use std::path::Path; diff --git a/tests/by-util/test_rm.rs b/tests/by-util/test_rm.rs index ce534af8d..3a2ee0b44 100644 --- a/tests/by-util/test_rm.rs +++ b/tests/by-util/test_rm.rs @@ -1,6 +1,6 @@ use std::process::Stdio; -use crate::common::util::*; +use crate::common::util::TestScenario; #[test] fn test_invalid_arg() { diff --git a/tests/by-util/test_rmdir.rs b/tests/by-util/test_rmdir.rs index 4cf84407c..56e801d7e 100644 --- a/tests/by-util/test_rmdir.rs +++ b/tests/by-util/test_rmdir.rs @@ -1,4 +1,4 @@ -use crate::common::util::*; +use crate::common::util::TestScenario; const DIR: &str = "dir"; const DIR_FILE: &str = "dir/file"; diff --git a/tests/by-util/test_seq.rs b/tests/by-util/test_seq.rs index 2d55ed8ce..63015b24a 100644 --- a/tests/by-util/test_seq.rs +++ b/tests/by-util/test_seq.rs @@ -1,5 +1,5 @@ // spell-checker:ignore lmnop xlmnop -use crate::common::util::*; +use crate::common::util::TestScenario; use std::process::Stdio; #[test] diff --git a/tests/by-util/test_shred.rs b/tests/by-util/test_shred.rs index 8992238b3..58db09cbd 100644 --- a/tests/by-util/test_shred.rs +++ b/tests/by-util/test_shred.rs @@ -1,4 +1,4 @@ -use crate::common::util::*; +use crate::common::util::TestScenario; #[test] fn test_invalid_arg() { diff --git a/tests/by-util/test_shuf.rs b/tests/by-util/test_shuf.rs index 23851aacc..44282b8a3 100644 --- a/tests/by-util/test_shuf.rs +++ b/tests/by-util/test_shuf.rs @@ -1,4 +1,4 @@ -use crate::common::util::*; +use crate::common::util::TestScenario; #[test] fn test_invalid_arg() { diff --git a/tests/by-util/test_sleep.rs b/tests/by-util/test_sleep.rs index 8bb4b11ea..06a22deae 100644 --- a/tests/by-util/test_sleep.rs +++ b/tests/by-util/test_sleep.rs @@ -1,7 +1,7 @@ use rstest::rstest; // spell-checker:ignore dont -use crate::common::util::*; +use crate::common::util::TestScenario; use std::time::{Duration, Instant}; diff --git a/tests/by-util/test_sort.rs b/tests/by-util/test_sort.rs index c815221f1..eef31e7dd 100644 --- a/tests/by-util/test_sort.rs +++ b/tests/by-util/test_sort.rs @@ -7,7 +7,7 @@ use std::time::Duration; -use crate::common::util::*; +use crate::common::util::TestScenario; fn test_helper(file_name: &str, possible_args: &[&str]) { for args in possible_args { diff --git a/tests/by-util/test_split.rs b/tests/by-util/test_split.rs index a682b1b8c..5ed96ed35 100644 --- a/tests/by-util/test_split.rs +++ b/tests/by-util/test_split.rs @@ -8,7 +8,7 @@ extern crate regex; use self::rand::{thread_rng, Rng}; use self::regex::Regex; -use crate::common::util::*; +use crate::common::util::{AtPath, TestScenario}; use rand::SeedableRng; #[cfg(not(windows))] use std::env; diff --git a/tests/by-util/test_stat.rs b/tests/by-util/test_stat.rs index b404ef28e..6dbe940f8 100644 --- a/tests/by-util/test_stat.rs +++ b/tests/by-util/test_stat.rs @@ -5,7 +5,7 @@ extern crate regex; -use crate::common::util::*; +use crate::common::util::{expected_result, TestScenario}; #[test] fn test_invalid_arg() { diff --git a/tests/by-util/test_stdbuf.rs b/tests/by-util/test_stdbuf.rs index 286cb7c24..334715706 100644 --- a/tests/by-util/test_stdbuf.rs +++ b/tests/by-util/test_stdbuf.rs @@ -1,5 +1,5 @@ #[cfg(not(target_os = "windows"))] -use crate::common::util::*; +use crate::common::util::TestScenario; #[cfg(not(target_os = "windows"))] #[test] diff --git a/tests/by-util/test_stty.rs b/tests/by-util/test_stty.rs index d15052591..e85c11082 100644 --- a/tests/by-util/test_stty.rs +++ b/tests/by-util/test_stty.rs @@ -1,6 +1,6 @@ // spell-checker:ignore parenb parmrk ixany iuclc onlcr ofdel icanon noflsh -use crate::common::util::*; +use crate::common::util::TestScenario; #[test] fn test_invalid_arg() { diff --git a/tests/by-util/test_sum.rs b/tests/by-util/test_sum.rs index 37451c5ce..0a43a3043 100644 --- a/tests/by-util/test_sum.rs +++ b/tests/by-util/test_sum.rs @@ -1,4 +1,4 @@ -use crate::common::util::*; +use crate::common::util::TestScenario; #[test] fn test_invalid_arg() { diff --git a/tests/by-util/test_sync.rs b/tests/by-util/test_sync.rs index 4bf2629c4..961b2d216 100644 --- a/tests/by-util/test_sync.rs +++ b/tests/by-util/test_sync.rs @@ -1,4 +1,4 @@ -use crate::common::util::*; +use crate::common::util::TestScenario; extern crate tempfile; use std::fs; use tempfile::tempdir; diff --git a/tests/by-util/test_tac.rs b/tests/by-util/test_tac.rs index 72fc185b9..cc98ec616 100644 --- a/tests/by-util/test_tac.rs +++ b/tests/by-util/test_tac.rs @@ -1,5 +1,5 @@ // spell-checker:ignore axxbxx bxxaxx axxx axxxx xxaxx xxax xxxxa axyz zyax zyxa -use crate::common::util::*; +use crate::common::util::TestScenario; #[test] fn test_invalid_arg() { diff --git a/tests/by-util/test_tail.rs b/tests/by-util/test_tail.rs index 93ca1046d..f40ee22a6 100644 --- a/tests/by-util/test_tail.rs +++ b/tests/by-util/test_tail.rs @@ -9,8 +9,8 @@ extern crate tail; -use crate::common::random::*; -use crate::common::util::*; +use crate::common::random::{AlphanumericNewline, RandomString}; +use crate::common::util::{expected_result, is_ci, TestScenario}; use pretty_assertions::assert_eq; use rand::distributions::Alphanumeric; use rstest::rstest; diff --git a/tests/by-util/test_tee.rs b/tests/by-util/test_tee.rs index fd773e690..946c60d0a 100644 --- a/tests/by-util/test_tee.rs +++ b/tests/by-util/test_tee.rs @@ -1,4 +1,4 @@ -use crate::common::util::*; +use crate::common::util::TestScenario; // tests for basic tee functionality. // inspired by: @@ -108,7 +108,7 @@ fn test_tee_no_more_writeable_2() { #[cfg(target_os = "linux")] mod linux_only { - use crate::common::util::*; + use crate::common::util::{AtPath, TestScenario, UCommand}; use std::fs::File; use std::process::{Output, Stdio}; diff --git a/tests/by-util/test_test.rs b/tests/by-util/test_test.rs index b4fb1b0ce..f3ed83348 100644 --- a/tests/by-util/test_test.rs +++ b/tests/by-util/test_test.rs @@ -10,7 +10,7 @@ // spell-checker:ignore (words) egid euid pseudofloat -use crate::common::util::*; +use crate::common::util::TestScenario; use std::thread::sleep; #[test] diff --git a/tests/by-util/test_timeout.rs b/tests/by-util/test_timeout.rs index eb6c99211..8e6e5db55 100644 --- a/tests/by-util/test_timeout.rs +++ b/tests/by-util/test_timeout.rs @@ -1,5 +1,5 @@ // spell-checker:ignore dont -use crate::common::util::*; +use crate::common::util::TestScenario; #[test] fn test_invalid_arg() { diff --git a/tests/by-util/test_touch.rs b/tests/by-util/test_touch.rs index 3ca253865..ad685b64d 100644 --- a/tests/by-util/test_touch.rs +++ b/tests/by-util/test_touch.rs @@ -12,7 +12,7 @@ use self::touch::filetime::{self, FileTime}; extern crate time; use time::macros::{datetime, format_description}; -use crate::common::util::*; +use crate::common::util::{AtPath, TestScenario}; use std::fs::remove_file; use std::path::PathBuf; diff --git a/tests/by-util/test_tr.rs b/tests/by-util/test_tr.rs index e6daa9c48..4e437609e 100644 --- a/tests/by-util/test_tr.rs +++ b/tests/by-util/test_tr.rs @@ -1,5 +1,5 @@ // spell-checker:ignore aabbaa aabbcc aabc abbb abcc abcdefabcdef abcdefghijk abcdefghijklmn abcdefghijklmnop ABCDEFGHIJKLMNOPQRS abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ ABCDEFZZ abcxyz ABCXYZ abcxyzabcxyz ABCXYZABCXYZ acbdef alnum amzamz AMZXAMZ bbbd cclass cefgm cntrl compl dabcdef dncase Gzabcdefg PQRST upcase wxyzz xdigit xycde xyyye xyyz xyzzzzxyzzzz ZABCDEF Zamz Cdefghijkl Cdefghijklmn -use crate::common::util::*; +use crate::common::util::TestScenario; #[test] fn test_invalid_arg() { diff --git a/tests/by-util/test_true.rs b/tests/by-util/test_true.rs index aba32578b..1675b3903 100644 --- a/tests/by-util/test_true.rs +++ b/tests/by-util/test_true.rs @@ -1,4 +1,4 @@ -use crate::common::util::*; +use crate::common::util::TestScenario; #[cfg(any(target_os = "linux", target_os = "freebsd", target_os = "netbsd"))] use std::fs::OpenOptions; diff --git a/tests/by-util/test_truncate.rs b/tests/by-util/test_truncate.rs index e94ee13a7..7a0bac6e9 100644 --- a/tests/by-util/test_truncate.rs +++ b/tests/by-util/test_truncate.rs @@ -5,7 +5,7 @@ // spell-checker:ignore (words) RFILE -use crate::common::util::*; +use crate::common::util::TestScenario; use std::io::{Seek, SeekFrom, Write}; static FILE1: &str = "truncate_test_1"; diff --git a/tests/by-util/test_tsort.rs b/tests/by-util/test_tsort.rs index 16bfee461..8b01e2a2d 100644 --- a/tests/by-util/test_tsort.rs +++ b/tests/by-util/test_tsort.rs @@ -1,4 +1,4 @@ -use crate::common::util::*; +use crate::common::util::TestScenario; #[test] fn test_invalid_arg() { diff --git a/tests/by-util/test_tty.rs b/tests/by-util/test_tty.rs index 726167673..87dcbac85 100644 --- a/tests/by-util/test_tty.rs +++ b/tests/by-util/test_tty.rs @@ -1,6 +1,6 @@ use std::fs::File; -use crate::common::util::*; +use crate::common::util::TestScenario; #[test] #[cfg(not(windows))] diff --git a/tests/by-util/test_uname.rs b/tests/by-util/test_uname.rs index c446da6c5..5076334e5 100644 --- a/tests/by-util/test_uname.rs +++ b/tests/by-util/test_uname.rs @@ -1,4 +1,4 @@ -use crate::common::util::*; +use crate::common::util::TestScenario; #[test] fn test_invalid_arg() { diff --git a/tests/by-util/test_unexpand.rs b/tests/by-util/test_unexpand.rs index 1639ee1bc..c833c93e4 100644 --- a/tests/by-util/test_unexpand.rs +++ b/tests/by-util/test_unexpand.rs @@ -1,4 +1,4 @@ -use crate::common::util::*; +use crate::common::util::TestScenario; #[test] fn test_invalid_arg() { diff --git a/tests/by-util/test_uniq.rs b/tests/by-util/test_uniq.rs index 8acd15e0a..57f0ec111 100644 --- a/tests/by-util/test_uniq.rs +++ b/tests/by-util/test_uniq.rs @@ -1,7 +1,7 @@ use std::io::Write; // spell-checker:ignore nabcd -use crate::common::util::*; +use crate::common::util::TestScenario; static INPUT: &str = "sorted.txt"; static OUTPUT: &str = "sorted-output.txt"; diff --git a/tests/by-util/test_unlink.rs b/tests/by-util/test_unlink.rs index 36b09be7b..5313c9eab 100644 --- a/tests/by-util/test_unlink.rs +++ b/tests/by-util/test_unlink.rs @@ -1,4 +1,4 @@ -use crate::common::util::*; +use crate::common::util::TestScenario; #[test] fn test_invalid_arg() { diff --git a/tests/by-util/test_uptime.rs b/tests/by-util/test_uptime.rs index 02cba9e8f..5453c6104 100644 --- a/tests/by-util/test_uptime.rs +++ b/tests/by-util/test_uptime.rs @@ -1,6 +1,6 @@ extern crate regex; use self::regex::Regex; -use crate::common::util::*; +use crate::common::util::TestScenario; #[test] fn test_invalid_arg() { diff --git a/tests/by-util/test_users.rs b/tests/by-util/test_users.rs index 7fadb2bb2..c8a7bd643 100644 --- a/tests/by-util/test_users.rs +++ b/tests/by-util/test_users.rs @@ -1,4 +1,4 @@ -use crate::common::util::*; +use crate::common::util::TestScenario; #[test] fn test_invalid_arg() { diff --git a/tests/by-util/test_vdir.rs b/tests/by-util/test_vdir.rs index 0781256b9..d80247450 100644 --- a/tests/by-util/test_vdir.rs +++ b/tests/by-util/test_vdir.rs @@ -5,7 +5,7 @@ extern crate regex; extern crate tempfile; use self::regex::Regex; -use crate::common::util::*; +use crate::common::util::TestScenario; /* * As vdir use the same functions than ls, we don't have to retest them here. diff --git a/tests/by-util/test_wc.rs b/tests/by-util/test_wc.rs index bbc057972..3cda99270 100644 --- a/tests/by-util/test_wc.rs +++ b/tests/by-util/test_wc.rs @@ -1,4 +1,4 @@ -use crate::common::util::*; +use crate::common::util::{vec_of_size, TestScenario}; // spell-checker:ignore (flags) lwmcL clmwL ; (path) bogusfile emptyfile manyemptylines moby notrailingnewline onelongemptyline onelongword weirdchars diff --git a/tests/by-util/test_who.rs b/tests/by-util/test_who.rs index d5ad05d97..31b46c3bf 100644 --- a/tests/by-util/test_who.rs +++ b/tests/by-util/test_who.rs @@ -5,7 +5,7 @@ // spell-checker:ignore (flags) runlevel mesg -use crate::common::util::*; +use crate::common::util::{expected_result, TestScenario}; #[test] fn test_invalid_arg() { diff --git a/tests/by-util/test_whoami.rs b/tests/by-util/test_whoami.rs index 044f27c57..872278f67 100644 --- a/tests/by-util/test_whoami.rs +++ b/tests/by-util/test_whoami.rs @@ -3,7 +3,7 @@ // * For the full copyright and license information, please view the LICENSE // * file that was distributed with this source code. -use crate::common::util::*; +use crate::common::util::{expected_result, is_ci, whoami, TestScenario}; #[test] fn test_invalid_arg() { diff --git a/tests/by-util/test_yes.rs b/tests/by-util/test_yes.rs index 41bf3e8d9..9f03780b7 100644 --- a/tests/by-util/test_yes.rs +++ b/tests/by-util/test_yes.rs @@ -3,7 +3,7 @@ use std::process::{ExitStatus, Stdio}; #[cfg(unix)] use std::os::unix::process::ExitStatusExt; -use crate::common::util::*; +use crate::common::util::TestScenario; #[cfg(unix)] fn check_termination(result: &ExitStatus) {