diff --git a/Cargo.lock b/Cargo.lock index 2561b8b49..f6296f4a8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -314,7 +314,7 @@ dependencies = [ [[package]] name = "coreutils" -version = "0.0.9" +version = "0.0.12" dependencies = [ "atty", "chrono", @@ -2154,7 +2154,7 @@ checksum = "7cf7d77f457ef8dfa11e4cd5933c5ddb5dc52a94664071951219a97710f0a32b" [[package]] name = "uu_arch" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "platform-info", @@ -2164,7 +2164,7 @@ dependencies = [ [[package]] name = "uu_base32" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "uucore", @@ -2173,7 +2173,7 @@ dependencies = [ [[package]] name = "uu_base64" -version = "0.0.9" +version = "0.0.12" dependencies = [ "uu_base32", "uucore", @@ -2182,7 +2182,7 @@ dependencies = [ [[package]] name = "uu_basename" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "uucore", @@ -2191,7 +2191,7 @@ dependencies = [ [[package]] name = "uu_basenc" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "uu_base32", @@ -2201,7 +2201,7 @@ dependencies = [ [[package]] name = "uu_cat" -version = "0.0.9" +version = "0.0.12" dependencies = [ "atty", "clap 3.0.9", @@ -2215,7 +2215,7 @@ dependencies = [ [[package]] name = "uu_chcon" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "fts-sys", @@ -2228,7 +2228,7 @@ dependencies = [ [[package]] name = "uu_chgrp" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "uucore", @@ -2237,7 +2237,7 @@ dependencies = [ [[package]] name = "uu_chmod" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "libc", @@ -2248,7 +2248,7 @@ dependencies = [ [[package]] name = "uu_chown" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "uucore", @@ -2257,7 +2257,7 @@ dependencies = [ [[package]] name = "uu_chroot" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "uucore", @@ -2266,7 +2266,7 @@ dependencies = [ [[package]] name = "uu_cksum" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "libc", @@ -2276,7 +2276,7 @@ dependencies = [ [[package]] name = "uu_comm" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "libc", @@ -2286,7 +2286,7 @@ dependencies = [ [[package]] name = "uu_cp" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "exacl", @@ -2304,7 +2304,7 @@ dependencies = [ [[package]] name = "uu_csplit" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "regex", @@ -2315,7 +2315,7 @@ dependencies = [ [[package]] name = "uu_cut" -version = "0.0.9" +version = "0.0.12" dependencies = [ "atty", "bstr", @@ -2327,7 +2327,7 @@ dependencies = [ [[package]] name = "uu_date" -version = "0.0.9" +version = "0.0.12" dependencies = [ "chrono", "clap 3.0.9", @@ -2339,7 +2339,7 @@ dependencies = [ [[package]] name = "uu_dd" -version = "0.0.9" +version = "0.0.12" dependencies = [ "byte-unit", "clap 3.0.9", @@ -2353,7 +2353,7 @@ dependencies = [ [[package]] name = "uu_df" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "number_prefix", @@ -2363,7 +2363,7 @@ dependencies = [ [[package]] name = "uu_dircolors" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "glob", @@ -2373,7 +2373,7 @@ dependencies = [ [[package]] name = "uu_dirname" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "libc", @@ -2383,7 +2383,7 @@ dependencies = [ [[package]] name = "uu_du" -version = "0.0.9" +version = "0.0.12" dependencies = [ "chrono", "clap 3.0.9", @@ -2394,7 +2394,7 @@ dependencies = [ [[package]] name = "uu_echo" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "uucore", @@ -2403,7 +2403,7 @@ dependencies = [ [[package]] name = "uu_env" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "libc", @@ -2414,7 +2414,7 @@ dependencies = [ [[package]] name = "uu_expand" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "unicode-width", @@ -2424,7 +2424,7 @@ dependencies = [ [[package]] name = "uu_expr" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "libc", @@ -2437,7 +2437,7 @@ dependencies = [ [[package]] name = "uu_factor" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "coz", @@ -2452,7 +2452,7 @@ dependencies = [ [[package]] name = "uu_false" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "uucore", @@ -2461,7 +2461,7 @@ dependencies = [ [[package]] name = "uu_fmt" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "libc", @@ -2472,7 +2472,7 @@ dependencies = [ [[package]] name = "uu_fold" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "uucore", @@ -2481,7 +2481,7 @@ dependencies = [ [[package]] name = "uu_groups" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "uucore", @@ -2490,7 +2490,7 @@ dependencies = [ [[package]] name = "uu_hashsum" -version = "0.0.9" +version = "0.0.12" dependencies = [ "blake2b_simd", "clap 3.0.9", @@ -2510,7 +2510,7 @@ dependencies = [ [[package]] name = "uu_head" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "memchr 2.4.1", @@ -2520,7 +2520,7 @@ dependencies = [ [[package]] name = "uu_hostid" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "libc", @@ -2530,7 +2530,7 @@ dependencies = [ [[package]] name = "uu_hostname" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "hostname", @@ -2542,7 +2542,7 @@ dependencies = [ [[package]] name = "uu_id" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "selinux", @@ -2552,7 +2552,7 @@ dependencies = [ [[package]] name = "uu_install" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "file_diff", @@ -2565,7 +2565,7 @@ dependencies = [ [[package]] name = "uu_join" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "uucore", @@ -2574,7 +2574,7 @@ dependencies = [ [[package]] name = "uu_kill" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "libc", @@ -2584,7 +2584,7 @@ dependencies = [ [[package]] name = "uu_link" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "libc", @@ -2594,7 +2594,7 @@ dependencies = [ [[package]] name = "uu_ln" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "libc", @@ -2604,7 +2604,7 @@ dependencies = [ [[package]] name = "uu_logname" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "libc", @@ -2614,7 +2614,7 @@ dependencies = [ [[package]] name = "uu_ls" -version = "0.0.9" +version = "0.0.12" dependencies = [ "atty", "chrono", @@ -2634,7 +2634,7 @@ dependencies = [ [[package]] name = "uu_mkdir" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "libc", @@ -2644,7 +2644,7 @@ dependencies = [ [[package]] name = "uu_mkfifo" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "libc", @@ -2654,7 +2654,7 @@ dependencies = [ [[package]] name = "uu_mknod" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "libc", @@ -2664,7 +2664,7 @@ dependencies = [ [[package]] name = "uu_mktemp" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "rand 0.5.6", @@ -2675,7 +2675,7 @@ dependencies = [ [[package]] name = "uu_more" -version = "0.0.9" +version = "0.0.12" dependencies = [ "atty", "clap 3.0.9", @@ -2691,7 +2691,7 @@ dependencies = [ [[package]] name = "uu_mv" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "fs_extra", @@ -2701,7 +2701,7 @@ dependencies = [ [[package]] name = "uu_nice" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "libc", @@ -2712,7 +2712,7 @@ dependencies = [ [[package]] name = "uu_nl" -version = "0.0.9" +version = "0.0.12" dependencies = [ "aho-corasick", "clap 3.0.9", @@ -2726,7 +2726,7 @@ dependencies = [ [[package]] name = "uu_nohup" -version = "0.0.9" +version = "0.0.12" dependencies = [ "atty", "clap 3.0.9", @@ -2737,7 +2737,7 @@ dependencies = [ [[package]] name = "uu_nproc" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "libc", @@ -2748,7 +2748,7 @@ dependencies = [ [[package]] name = "uu_numfmt" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "uucore", @@ -2757,7 +2757,7 @@ dependencies = [ [[package]] name = "uu_od" -version = "0.0.9" +version = "0.0.12" dependencies = [ "byteorder", "clap 3.0.9", @@ -2769,7 +2769,7 @@ dependencies = [ [[package]] name = "uu_paste" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "uucore", @@ -2778,7 +2778,7 @@ dependencies = [ [[package]] name = "uu_pathchk" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "libc", @@ -2788,7 +2788,7 @@ dependencies = [ [[package]] name = "uu_pinky" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "uucore", @@ -2797,7 +2797,7 @@ dependencies = [ [[package]] name = "uu_pr" -version = "0.0.9" +version = "0.0.12" dependencies = [ "chrono", "clap 3.0.9", @@ -2811,7 +2811,7 @@ dependencies = [ [[package]] name = "uu_printenv" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "uucore", @@ -2820,7 +2820,7 @@ dependencies = [ [[package]] name = "uu_printf" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "itertools 0.8.2", @@ -2830,7 +2830,7 @@ dependencies = [ [[package]] name = "uu_ptx" -version = "0.0.9" +version = "0.0.12" dependencies = [ "aho-corasick", "clap 3.0.9", @@ -2844,7 +2844,7 @@ dependencies = [ [[package]] name = "uu_pwd" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "uucore", @@ -2853,7 +2853,7 @@ dependencies = [ [[package]] name = "uu_readlink" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "libc", @@ -2863,7 +2863,7 @@ dependencies = [ [[package]] name = "uu_realpath" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "uucore", @@ -2872,7 +2872,7 @@ dependencies = [ [[package]] name = "uu_relpath" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "uucore", @@ -2881,7 +2881,7 @@ dependencies = [ [[package]] name = "uu_rm" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "remove_dir_all", @@ -2893,7 +2893,7 @@ dependencies = [ [[package]] name = "uu_rmdir" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "libc", @@ -2903,7 +2903,7 @@ dependencies = [ [[package]] name = "uu_runcon" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "fts-sys", @@ -2916,7 +2916,7 @@ dependencies = [ [[package]] name = "uu_seq" -version = "0.0.9" +version = "0.0.12" dependencies = [ "bigdecimal", "clap 3.0.9", @@ -2928,7 +2928,7 @@ dependencies = [ [[package]] name = "uu_shred" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "libc", @@ -2939,7 +2939,7 @@ dependencies = [ [[package]] name = "uu_shuf" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "rand 0.5.6", @@ -2949,7 +2949,7 @@ dependencies = [ [[package]] name = "uu_sleep" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "uucore", @@ -2958,7 +2958,7 @@ dependencies = [ [[package]] name = "uu_sort" -version = "0.0.9" +version = "0.0.12" dependencies = [ "binary-heap-plus", "clap 3.0.9", @@ -2978,7 +2978,7 @@ dependencies = [ [[package]] name = "uu_split" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "uucore", @@ -2987,7 +2987,7 @@ dependencies = [ [[package]] name = "uu_stat" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "uucore", @@ -2996,7 +2996,7 @@ dependencies = [ [[package]] name = "uu_stdbuf" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "tempfile", @@ -3007,7 +3007,7 @@ dependencies = [ [[package]] name = "uu_stdbuf_libstdbuf" -version = "0.0.9" +version = "0.0.12" dependencies = [ "cpp", "cpp_build", @@ -3018,7 +3018,7 @@ dependencies = [ [[package]] name = "uu_sum" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "uucore", @@ -3027,7 +3027,7 @@ dependencies = [ [[package]] name = "uu_sync" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "libc", @@ -3038,7 +3038,7 @@ dependencies = [ [[package]] name = "uu_tac" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "memchr 2.4.1", @@ -3050,7 +3050,7 @@ dependencies = [ [[package]] name = "uu_tail" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "libc", @@ -3063,7 +3063,7 @@ dependencies = [ [[package]] name = "uu_tee" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "libc", @@ -3074,7 +3074,7 @@ dependencies = [ [[package]] name = "uu_test" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "libc", @@ -3085,7 +3085,7 @@ dependencies = [ [[package]] name = "uu_timeout" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "libc", @@ -3096,7 +3096,7 @@ dependencies = [ [[package]] name = "uu_touch" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "filetime", @@ -3107,7 +3107,7 @@ dependencies = [ [[package]] name = "uu_tr" -version = "0.0.9" +version = "0.0.12" dependencies = [ "bit-set", "clap 3.0.9", @@ -3118,7 +3118,7 @@ dependencies = [ [[package]] name = "uu_true" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "uucore", @@ -3127,7 +3127,7 @@ dependencies = [ [[package]] name = "uu_truncate" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "uucore", @@ -3136,7 +3136,7 @@ dependencies = [ [[package]] name = "uu_tsort" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "uucore", @@ -3145,7 +3145,7 @@ dependencies = [ [[package]] name = "uu_tty" -version = "0.0.9" +version = "0.0.12" dependencies = [ "atty", "clap 3.0.9", @@ -3156,7 +3156,7 @@ dependencies = [ [[package]] name = "uu_uname" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "platform-info", @@ -3166,7 +3166,7 @@ dependencies = [ [[package]] name = "uu_unexpand" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "unicode-width", @@ -3176,7 +3176,7 @@ dependencies = [ [[package]] name = "uu_uniq" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "strum", @@ -3187,7 +3187,7 @@ dependencies = [ [[package]] name = "uu_unlink" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "uucore", @@ -3196,7 +3196,7 @@ dependencies = [ [[package]] name = "uu_uptime" -version = "0.0.9" +version = "0.0.12" dependencies = [ "chrono", "clap 3.0.9", @@ -3206,7 +3206,7 @@ dependencies = [ [[package]] name = "uu_users" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "uucore", @@ -3215,7 +3215,7 @@ dependencies = [ [[package]] name = "uu_wc" -version = "0.0.9" +version = "0.0.12" dependencies = [ "bytecount", "clap 3.0.9", @@ -3229,7 +3229,7 @@ dependencies = [ [[package]] name = "uu_who" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "uucore", @@ -3238,7 +3238,7 @@ dependencies = [ [[package]] name = "uu_whoami" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "libc", @@ -3249,7 +3249,7 @@ dependencies = [ [[package]] name = "uu_yes" -version = "0.0.9" +version = "0.0.12" dependencies = [ "clap 3.0.9", "nix 0.23.1", @@ -3259,7 +3259,7 @@ dependencies = [ [[package]] name = "uucore" -version = "0.0.11" +version = "0.0.12" dependencies = [ "clap 3.0.9", "data-encoding", @@ -3283,7 +3283,7 @@ dependencies = [ [[package]] name = "uucore_procs" -version = "0.0.8" +version = "0.0.12" dependencies = [ "proc-macro2", "quote 1.0.14", diff --git a/Cargo.toml b/Cargo.toml index 885bcf071..62e5c50af 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -5,7 +5,7 @@ [package] name = "coreutils" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "coreutils ~ GNU coreutils (updated); implemented as universal (cross-platform) utils, written in Rust" @@ -252,107 +252,107 @@ textwrap = { version="0.14", features=["terminal_size"] } uucore = { version=">=0.0.11", package="uucore", path="src/uucore" } selinux = { version="0.2.3", optional = true } # * uutils -uu_test = { optional=true, version="0.0.9", package="uu_test", path="src/uu/test" } +uu_test = { optional=true, version="0.0.12", package="uu_test", path="src/uu/test" } # -arch = { optional=true, version="0.0.9", package="uu_arch", path="src/uu/arch" } -base32 = { optional=true, version="0.0.9", package="uu_base32", path="src/uu/base32" } -base64 = { optional=true, version="0.0.9", package="uu_base64", path="src/uu/base64" } -basename = { optional=true, version="0.0.9", package="uu_basename", path="src/uu/basename" } -basenc = { optional=true, version="0.0.9", package="uu_basenc", path="src/uu/basenc" } -cat = { optional=true, version="0.0.9", package="uu_cat", path="src/uu/cat" } -chcon = { optional=true, version="0.0.9", package="uu_chcon", path="src/uu/chcon" } -chgrp = { optional=true, version="0.0.9", package="uu_chgrp", path="src/uu/chgrp" } -chmod = { optional=true, version="0.0.9", package="uu_chmod", path="src/uu/chmod" } -chown = { optional=true, version="0.0.9", package="uu_chown", path="src/uu/chown" } -chroot = { optional=true, version="0.0.9", package="uu_chroot", path="src/uu/chroot" } -cksum = { optional=true, version="0.0.9", package="uu_cksum", path="src/uu/cksum" } -comm = { optional=true, version="0.0.9", package="uu_comm", path="src/uu/comm" } -cp = { optional=true, version="0.0.9", package="uu_cp", path="src/uu/cp" } -csplit = { optional=true, version="0.0.9", package="uu_csplit", path="src/uu/csplit" } -cut = { optional=true, version="0.0.9", package="uu_cut", path="src/uu/cut" } -date = { optional=true, version="0.0.9", package="uu_date", path="src/uu/date" } -dd = { optional=true, version="0.0.9", package="uu_dd", path="src/uu/dd" } -df = { optional=true, version="0.0.9", package="uu_df", path="src/uu/df" } -dircolors= { optional=true, version="0.0.9", package="uu_dircolors", path="src/uu/dircolors" } -dirname = { optional=true, version="0.0.9", package="uu_dirname", path="src/uu/dirname" } -du = { optional=true, version="0.0.9", package="uu_du", path="src/uu/du" } -echo = { optional=true, version="0.0.9", package="uu_echo", path="src/uu/echo" } -env = { optional=true, version="0.0.9", package="uu_env", path="src/uu/env" } -expand = { optional=true, version="0.0.9", package="uu_expand", path="src/uu/expand" } -expr = { optional=true, version="0.0.9", package="uu_expr", path="src/uu/expr" } -factor = { optional=true, version="0.0.9", package="uu_factor", path="src/uu/factor" } -false = { optional=true, version="0.0.9", package="uu_false", path="src/uu/false" } -fmt = { optional=true, version="0.0.9", package="uu_fmt", path="src/uu/fmt" } -fold = { optional=true, version="0.0.9", package="uu_fold", path="src/uu/fold" } -groups = { optional=true, version="0.0.9", package="uu_groups", path="src/uu/groups" } -hashsum = { optional=true, version="0.0.9", package="uu_hashsum", path="src/uu/hashsum" } -head = { optional=true, version="0.0.9", package="uu_head", path="src/uu/head" } -hostid = { optional=true, version="0.0.9", package="uu_hostid", path="src/uu/hostid" } -hostname = { optional=true, version="0.0.9", package="uu_hostname", path="src/uu/hostname" } -id = { optional=true, version="0.0.9", package="uu_id", path="src/uu/id" } -install = { optional=true, version="0.0.9", package="uu_install", path="src/uu/install" } -join = { optional=true, version="0.0.9", package="uu_join", path="src/uu/join" } -kill = { optional=true, version="0.0.9", package="uu_kill", path="src/uu/kill" } -link = { optional=true, version="0.0.9", package="uu_link", path="src/uu/link" } -ln = { optional=true, version="0.0.9", package="uu_ln", path="src/uu/ln" } -ls = { optional=true, version="0.0.9", package="uu_ls", path="src/uu/ls" } -logname = { optional=true, version="0.0.9", package="uu_logname", path="src/uu/logname" } -mkdir = { optional=true, version="0.0.9", package="uu_mkdir", path="src/uu/mkdir" } -mkfifo = { optional=true, version="0.0.9", package="uu_mkfifo", path="src/uu/mkfifo" } -mknod = { optional=true, version="0.0.9", package="uu_mknod", path="src/uu/mknod" } -mktemp = { optional=true, version="0.0.9", package="uu_mktemp", path="src/uu/mktemp" } -more = { optional=true, version="0.0.9", package="uu_more", path="src/uu/more" } -mv = { optional=true, version="0.0.9", package="uu_mv", path="src/uu/mv" } -nice = { optional=true, version="0.0.9", package="uu_nice", path="src/uu/nice" } -nl = { optional=true, version="0.0.9", package="uu_nl", path="src/uu/nl" } -nohup = { optional=true, version="0.0.9", package="uu_nohup", path="src/uu/nohup" } -nproc = { optional=true, version="0.0.9", package="uu_nproc", path="src/uu/nproc" } -numfmt = { optional=true, version="0.0.9", package="uu_numfmt", path="src/uu/numfmt" } -od = { optional=true, version="0.0.9", package="uu_od", path="src/uu/od" } -paste = { optional=true, version="0.0.9", package="uu_paste", path="src/uu/paste" } -pathchk = { optional=true, version="0.0.9", package="uu_pathchk", path="src/uu/pathchk" } -pinky = { optional=true, version="0.0.9", package="uu_pinky", path="src/uu/pinky" } -pr = { optional=true, version="0.0.9", package="uu_pr", path="src/uu/pr" } -printenv = { optional=true, version="0.0.9", package="uu_printenv", path="src/uu/printenv" } -printf = { optional=true, version="0.0.9", package="uu_printf", path="src/uu/printf" } -ptx = { optional=true, version="0.0.9", package="uu_ptx", path="src/uu/ptx" } -pwd = { optional=true, version="0.0.9", package="uu_pwd", path="src/uu/pwd" } -readlink = { optional=true, version="0.0.9", package="uu_readlink", path="src/uu/readlink" } -realpath = { optional=true, version="0.0.9", package="uu_realpath", path="src/uu/realpath" } -relpath = { optional=true, version="0.0.9", package="uu_relpath", path="src/uu/relpath" } -rm = { optional=true, version="0.0.9", package="uu_rm", path="src/uu/rm" } -rmdir = { optional=true, version="0.0.9", package="uu_rmdir", path="src/uu/rmdir" } -runcon = { optional=true, version="0.0.9", package="uu_runcon", path="src/uu/runcon" } -seq = { optional=true, version="0.0.9", package="uu_seq", path="src/uu/seq" } -shred = { optional=true, version="0.0.9", package="uu_shred", path="src/uu/shred" } -shuf = { optional=true, version="0.0.9", package="uu_shuf", path="src/uu/shuf" } -sleep = { optional=true, version="0.0.9", package="uu_sleep", path="src/uu/sleep" } -sort = { optional=true, version="0.0.9", package="uu_sort", path="src/uu/sort" } -split = { optional=true, version="0.0.9", package="uu_split", path="src/uu/split" } -stat = { optional=true, version="0.0.9", package="uu_stat", path="src/uu/stat" } -stdbuf = { optional=true, version="0.0.9", package="uu_stdbuf", path="src/uu/stdbuf" } -sum = { optional=true, version="0.0.9", package="uu_sum", path="src/uu/sum" } -sync = { optional=true, version="0.0.9", package="uu_sync", path="src/uu/sync" } -tac = { optional=true, version="0.0.9", package="uu_tac", path="src/uu/tac" } -tail = { optional=true, version="0.0.9", package="uu_tail", path="src/uu/tail" } -tee = { optional=true, version="0.0.9", package="uu_tee", path="src/uu/tee" } -timeout = { optional=true, version="0.0.9", package="uu_timeout", path="src/uu/timeout" } -touch = { optional=true, version="0.0.9", package="uu_touch", path="src/uu/touch" } -tr = { optional=true, version="0.0.9", package="uu_tr", path="src/uu/tr" } -true = { optional=true, version="0.0.9", package="uu_true", path="src/uu/true" } -truncate = { optional=true, version="0.0.9", package="uu_truncate", path="src/uu/truncate" } -tsort = { optional=true, version="0.0.9", package="uu_tsort", path="src/uu/tsort" } -tty = { optional=true, version="0.0.9", package="uu_tty", path="src/uu/tty" } -uname = { optional=true, version="0.0.9", package="uu_uname", path="src/uu/uname" } -unexpand = { optional=true, version="0.0.9", package="uu_unexpand", path="src/uu/unexpand" } -uniq = { optional=true, version="0.0.9", package="uu_uniq", path="src/uu/uniq" } -unlink = { optional=true, version="0.0.9", package="uu_unlink", path="src/uu/unlink" } -uptime = { optional=true, version="0.0.9", package="uu_uptime", path="src/uu/uptime" } -users = { optional=true, version="0.0.9", package="uu_users", path="src/uu/users" } -wc = { optional=true, version="0.0.9", package="uu_wc", path="src/uu/wc" } -who = { optional=true, version="0.0.9", package="uu_who", path="src/uu/who" } -whoami = { optional=true, version="0.0.9", package="uu_whoami", path="src/uu/whoami" } -yes = { optional=true, version="0.0.9", package="uu_yes", path="src/uu/yes" } +arch = { optional=true, version="0.0.12", package="uu_arch", path="src/uu/arch" } +base32 = { optional=true, version="0.0.12", package="uu_base32", path="src/uu/base32" } +base64 = { optional=true, version="0.0.12", package="uu_base64", path="src/uu/base64" } +basename = { optional=true, version="0.0.12", package="uu_basename", path="src/uu/basename" } +basenc = { optional=true, version="0.0.12", package="uu_basenc", path="src/uu/basenc" } +cat = { optional=true, version="0.0.12", package="uu_cat", path="src/uu/cat" } +chcon = { optional=true, version="0.0.12", package="uu_chcon", path="src/uu/chcon" } +chgrp = { optional=true, version="0.0.12", package="uu_chgrp", path="src/uu/chgrp" } +chmod = { optional=true, version="0.0.12", package="uu_chmod", path="src/uu/chmod" } +chown = { optional=true, version="0.0.12", package="uu_chown", path="src/uu/chown" } +chroot = { optional=true, version="0.0.12", package="uu_chroot", path="src/uu/chroot" } +cksum = { optional=true, version="0.0.12", package="uu_cksum", path="src/uu/cksum" } +comm = { optional=true, version="0.0.12", package="uu_comm", path="src/uu/comm" } +cp = { optional=true, version="0.0.12", package="uu_cp", path="src/uu/cp" } +csplit = { optional=true, version="0.0.12", package="uu_csplit", path="src/uu/csplit" } +cut = { optional=true, version="0.0.12", package="uu_cut", path="src/uu/cut" } +date = { optional=true, version="0.0.12", package="uu_date", path="src/uu/date" } +dd = { optional=true, version="0.0.12", package="uu_dd", path="src/uu/dd" } +df = { optional=true, version="0.0.12", package="uu_df", path="src/uu/df" } +dircolors= { optional=true, version="0.0.12", package="uu_dircolors", path="src/uu/dircolors" } +dirname = { optional=true, version="0.0.12", package="uu_dirname", path="src/uu/dirname" } +du = { optional=true, version="0.0.12", package="uu_du", path="src/uu/du" } +echo = { optional=true, version="0.0.12", package="uu_echo", path="src/uu/echo" } +env = { optional=true, version="0.0.12", package="uu_env", path="src/uu/env" } +expand = { optional=true, version="0.0.12", package="uu_expand", path="src/uu/expand" } +expr = { optional=true, version="0.0.12", package="uu_expr", path="src/uu/expr" } +factor = { optional=true, version="0.0.12", package="uu_factor", path="src/uu/factor" } +false = { optional=true, version="0.0.12", package="uu_false", path="src/uu/false" } +fmt = { optional=true, version="0.0.12", package="uu_fmt", path="src/uu/fmt" } +fold = { optional=true, version="0.0.12", package="uu_fold", path="src/uu/fold" } +groups = { optional=true, version="0.0.12", package="uu_groups", path="src/uu/groups" } +hashsum = { optional=true, version="0.0.12", package="uu_hashsum", path="src/uu/hashsum" } +head = { optional=true, version="0.0.12", package="uu_head", path="src/uu/head" } +hostid = { optional=true, version="0.0.12", package="uu_hostid", path="src/uu/hostid" } +hostname = { optional=true, version="0.0.12", package="uu_hostname", path="src/uu/hostname" } +id = { optional=true, version="0.0.12", package="uu_id", path="src/uu/id" } +install = { optional=true, version="0.0.12", package="uu_install", path="src/uu/install" } +join = { optional=true, version="0.0.12", package="uu_join", path="src/uu/join" } +kill = { optional=true, version="0.0.12", package="uu_kill", path="src/uu/kill" } +link = { optional=true, version="0.0.12", package="uu_link", path="src/uu/link" } +ln = { optional=true, version="0.0.12", package="uu_ln", path="src/uu/ln" } +ls = { optional=true, version="0.0.12", package="uu_ls", path="src/uu/ls" } +logname = { optional=true, version="0.0.12", package="uu_logname", path="src/uu/logname" } +mkdir = { optional=true, version="0.0.12", package="uu_mkdir", path="src/uu/mkdir" } +mkfifo = { optional=true, version="0.0.12", package="uu_mkfifo", path="src/uu/mkfifo" } +mknod = { optional=true, version="0.0.12", package="uu_mknod", path="src/uu/mknod" } +mktemp = { optional=true, version="0.0.12", package="uu_mktemp", path="src/uu/mktemp" } +more = { optional=true, version="0.0.12", package="uu_more", path="src/uu/more" } +mv = { optional=true, version="0.0.12", package="uu_mv", path="src/uu/mv" } +nice = { optional=true, version="0.0.12", package="uu_nice", path="src/uu/nice" } +nl = { optional=true, version="0.0.12", package="uu_nl", path="src/uu/nl" } +nohup = { optional=true, version="0.0.12", package="uu_nohup", path="src/uu/nohup" } +nproc = { optional=true, version="0.0.12", package="uu_nproc", path="src/uu/nproc" } +numfmt = { optional=true, version="0.0.12", package="uu_numfmt", path="src/uu/numfmt" } +od = { optional=true, version="0.0.12", package="uu_od", path="src/uu/od" } +paste = { optional=true, version="0.0.12", package="uu_paste", path="src/uu/paste" } +pathchk = { optional=true, version="0.0.12", package="uu_pathchk", path="src/uu/pathchk" } +pinky = { optional=true, version="0.0.12", package="uu_pinky", path="src/uu/pinky" } +pr = { optional=true, version="0.0.12", package="uu_pr", path="src/uu/pr" } +printenv = { optional=true, version="0.0.12", package="uu_printenv", path="src/uu/printenv" } +printf = { optional=true, version="0.0.12", package="uu_printf", path="src/uu/printf" } +ptx = { optional=true, version="0.0.12", package="uu_ptx", path="src/uu/ptx" } +pwd = { optional=true, version="0.0.12", package="uu_pwd", path="src/uu/pwd" } +readlink = { optional=true, version="0.0.12", package="uu_readlink", path="src/uu/readlink" } +realpath = { optional=true, version="0.0.12", package="uu_realpath", path="src/uu/realpath" } +relpath = { optional=true, version="0.0.12", package="uu_relpath", path="src/uu/relpath" } +rm = { optional=true, version="0.0.12", package="uu_rm", path="src/uu/rm" } +rmdir = { optional=true, version="0.0.12", package="uu_rmdir", path="src/uu/rmdir" } +runcon = { optional=true, version="0.0.12", package="uu_runcon", path="src/uu/runcon" } +seq = { optional=true, version="0.0.12", package="uu_seq", path="src/uu/seq" } +shred = { optional=true, version="0.0.12", package="uu_shred", path="src/uu/shred" } +shuf = { optional=true, version="0.0.12", package="uu_shuf", path="src/uu/shuf" } +sleep = { optional=true, version="0.0.12", package="uu_sleep", path="src/uu/sleep" } +sort = { optional=true, version="0.0.12", package="uu_sort", path="src/uu/sort" } +split = { optional=true, version="0.0.12", package="uu_split", path="src/uu/split" } +stat = { optional=true, version="0.0.12", package="uu_stat", path="src/uu/stat" } +stdbuf = { optional=true, version="0.0.12", package="uu_stdbuf", path="src/uu/stdbuf" } +sum = { optional=true, version="0.0.12", package="uu_sum", path="src/uu/sum" } +sync = { optional=true, version="0.0.12", package="uu_sync", path="src/uu/sync" } +tac = { optional=true, version="0.0.12", package="uu_tac", path="src/uu/tac" } +tail = { optional=true, version="0.0.12", package="uu_tail", path="src/uu/tail" } +tee = { optional=true, version="0.0.12", package="uu_tee", path="src/uu/tee" } +timeout = { optional=true, version="0.0.12", package="uu_timeout", path="src/uu/timeout" } +touch = { optional=true, version="0.0.12", package="uu_touch", path="src/uu/touch" } +tr = { optional=true, version="0.0.12", package="uu_tr", path="src/uu/tr" } +true = { optional=true, version="0.0.12", package="uu_true", path="src/uu/true" } +truncate = { optional=true, version="0.0.12", package="uu_truncate", path="src/uu/truncate" } +tsort = { optional=true, version="0.0.12", package="uu_tsort", path="src/uu/tsort" } +tty = { optional=true, version="0.0.12", package="uu_tty", path="src/uu/tty" } +uname = { optional=true, version="0.0.12", package="uu_uname", path="src/uu/uname" } +unexpand = { optional=true, version="0.0.12", package="uu_unexpand", path="src/uu/unexpand" } +uniq = { optional=true, version="0.0.12", package="uu_uniq", path="src/uu/uniq" } +unlink = { optional=true, version="0.0.12", package="uu_unlink", path="src/uu/unlink" } +uptime = { optional=true, version="0.0.12", package="uu_uptime", path="src/uu/uptime" } +users = { optional=true, version="0.0.12", package="uu_users", path="src/uu/users" } +wc = { optional=true, version="0.0.12", package="uu_wc", path="src/uu/wc" } +who = { optional=true, version="0.0.12", package="uu_who", path="src/uu/who" } +whoami = { optional=true, version="0.0.12", package="uu_whoami", path="src/uu/whoami" } +yes = { optional=true, version="0.0.12", package="uu_yes", path="src/uu/yes" } # this breaks clippy linting with: "tests/by-util/test_factor_benches.rs: No such file or directory (os error 2)" # factor_benches = { optional = true, version = "0.0.0", package = "uu_factor_benches", path = "tests/benches/factor" } diff --git a/src/uu/arch/Cargo.toml b/src/uu/arch/Cargo.toml index c268fd1da..9a95cb7fa 100644 --- a/src/uu/arch/Cargo.toml +++ b/src/uu/arch/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_arch" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "arch ~ (uutils) display machine architecture" diff --git a/src/uu/base32/Cargo.toml b/src/uu/base32/Cargo.toml index 5569f9a80..3cab8c157 100644 --- a/src/uu/base32/Cargo.toml +++ b/src/uu/base32/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_base32" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "base32 ~ (uutils) decode/encode input (base32-encoding)" diff --git a/src/uu/base64/Cargo.toml b/src/uu/base64/Cargo.toml index 22dd9fddb..9ffedd884 100644 --- a/src/uu/base64/Cargo.toml +++ b/src/uu/base64/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_base64" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "base64 ~ (uutils) decode/encode input (base64-encoding)" diff --git a/src/uu/basename/Cargo.toml b/src/uu/basename/Cargo.toml index 0cf44c748..b10188b8f 100644 --- a/src/uu/basename/Cargo.toml +++ b/src/uu/basename/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_basename" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "basename ~ (uutils) display PATHNAME with leading directory components removed" diff --git a/src/uu/basenc/Cargo.toml b/src/uu/basenc/Cargo.toml index c110bdba1..b83a512f6 100644 --- a/src/uu/basenc/Cargo.toml +++ b/src/uu/basenc/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_basenc" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "basenc ~ (uutils) decode/encode input" diff --git a/src/uu/cat/Cargo.toml b/src/uu/cat/Cargo.toml index ded8aa688..e22fc7f32 100644 --- a/src/uu/cat/Cargo.toml +++ b/src/uu/cat/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_cat" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "cat ~ (uutils) concatenate and display input" diff --git a/src/uu/chcon/Cargo.toml b/src/uu/chcon/Cargo.toml index c2d14752f..01f075476 100644 --- a/src/uu/chcon/Cargo.toml +++ b/src/uu/chcon/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_chcon" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "chcon ~ (uutils) change file security context" diff --git a/src/uu/chgrp/Cargo.toml b/src/uu/chgrp/Cargo.toml index 934329413..b2bd6ef0f 100644 --- a/src/uu/chgrp/Cargo.toml +++ b/src/uu/chgrp/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_chgrp" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "chgrp ~ (uutils) change the group ownership of FILE" diff --git a/src/uu/chmod/Cargo.toml b/src/uu/chmod/Cargo.toml index a212dd0e6..c51d3e25f 100644 --- a/src/uu/chmod/Cargo.toml +++ b/src/uu/chmod/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_chmod" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "chmod ~ (uutils) change mode of FILE" diff --git a/src/uu/chown/Cargo.toml b/src/uu/chown/Cargo.toml index 9a5bba7c7..1b3cddb0a 100644 --- a/src/uu/chown/Cargo.toml +++ b/src/uu/chown/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_chown" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "chown ~ (uutils) change the ownership of FILE" diff --git a/src/uu/chroot/Cargo.toml b/src/uu/chroot/Cargo.toml index 6e023742e..31fdc431c 100644 --- a/src/uu/chroot/Cargo.toml +++ b/src/uu/chroot/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_chroot" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "chroot ~ (uutils) run COMMAND under a new root directory" diff --git a/src/uu/cksum/Cargo.toml b/src/uu/cksum/Cargo.toml index 0bd7b6c89..c22615d01 100644 --- a/src/uu/cksum/Cargo.toml +++ b/src/uu/cksum/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_cksum" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "cksum ~ (uutils) display CRC and size of input" diff --git a/src/uu/comm/Cargo.toml b/src/uu/comm/Cargo.toml index 6e6ae1b40..2a4f1ef04 100644 --- a/src/uu/comm/Cargo.toml +++ b/src/uu/comm/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_comm" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "comm ~ (uutils) compare sorted inputs" diff --git a/src/uu/cp/Cargo.toml b/src/uu/cp/Cargo.toml index 35252a463..bce056c94 100644 --- a/src/uu/cp/Cargo.toml +++ b/src/uu/cp/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_cp" -version = "0.0.9" +version = "0.0.12" authors = [ "Jordy Dickinson ", "Joshua S. Miller ", diff --git a/src/uu/csplit/Cargo.toml b/src/uu/csplit/Cargo.toml index ba3678e4f..881f9fa55 100644 --- a/src/uu/csplit/Cargo.toml +++ b/src/uu/csplit/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_csplit" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "csplit ~ (uutils) Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ..., and output byte counts of each piece to standard output" diff --git a/src/uu/cut/Cargo.toml b/src/uu/cut/Cargo.toml index c788cd5f8..9d25c5574 100644 --- a/src/uu/cut/Cargo.toml +++ b/src/uu/cut/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_cut" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "cut ~ (uutils) display byte/field columns of input lines" diff --git a/src/uu/date/Cargo.toml b/src/uu/date/Cargo.toml index 21098b169..76c35fcd5 100644 --- a/src/uu/date/Cargo.toml +++ b/src/uu/date/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_date" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "date ~ (uutils) display or set the current time" diff --git a/src/uu/dd/Cargo.toml b/src/uu/dd/Cargo.toml index d8aa06711..de8fc31d5 100644 --- a/src/uu/dd/Cargo.toml +++ b/src/uu/dd/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_dd" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "dd ~ (uutils) copy and convert files" diff --git a/src/uu/df/Cargo.toml b/src/uu/df/Cargo.toml index 6029d187e..d0929f9fa 100644 --- a/src/uu/df/Cargo.toml +++ b/src/uu/df/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_df" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "df ~ (uutils) display file system information" diff --git a/src/uu/dircolors/Cargo.toml b/src/uu/dircolors/Cargo.toml index cb604928c..0f752060b 100644 --- a/src/uu/dircolors/Cargo.toml +++ b/src/uu/dircolors/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_dircolors" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "dircolors ~ (uutils) display commands to set LS_COLORS" diff --git a/src/uu/dirname/Cargo.toml b/src/uu/dirname/Cargo.toml index 87e01ad3c..e17ac95ac 100644 --- a/src/uu/dirname/Cargo.toml +++ b/src/uu/dirname/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_dirname" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "dirname ~ (uutils) display parent directory of PATHNAME" diff --git a/src/uu/du/Cargo.toml b/src/uu/du/Cargo.toml index 610bccff7..5fd85640b 100644 --- a/src/uu/du/Cargo.toml +++ b/src/uu/du/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_du" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "du ~ (uutils) display disk usage" diff --git a/src/uu/echo/Cargo.toml b/src/uu/echo/Cargo.toml index d79e3926d..be97527d9 100644 --- a/src/uu/echo/Cargo.toml +++ b/src/uu/echo/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_echo" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "echo ~ (uutils) display TEXT" diff --git a/src/uu/env/Cargo.toml b/src/uu/env/Cargo.toml index 480cd9002..d6ded5d46 100644 --- a/src/uu/env/Cargo.toml +++ b/src/uu/env/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_env" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "env ~ (uutils) set each NAME to VALUE in the environment and run COMMAND" diff --git a/src/uu/expand/Cargo.toml b/src/uu/expand/Cargo.toml index daf2f7069..269486184 100644 --- a/src/uu/expand/Cargo.toml +++ b/src/uu/expand/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_expand" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "expand ~ (uutils) convert input tabs to spaces" diff --git a/src/uu/expr/Cargo.toml b/src/uu/expr/Cargo.toml index 7e3cafc44..aac7204e7 100644 --- a/src/uu/expr/Cargo.toml +++ b/src/uu/expr/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_expr" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "expr ~ (uutils) display the value of EXPRESSION" diff --git a/src/uu/factor/Cargo.toml b/src/uu/factor/Cargo.toml index e9c4b2976..d38f82f8e 100644 --- a/src/uu/factor/Cargo.toml +++ b/src/uu/factor/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_factor" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "factor ~ (uutils) display the prime factors of each NUMBER" diff --git a/src/uu/false/Cargo.toml b/src/uu/false/Cargo.toml index 318165db8..cc7e9c517 100644 --- a/src/uu/false/Cargo.toml +++ b/src/uu/false/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_false" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "false ~ (uutils) do nothing and fail" diff --git a/src/uu/fmt/Cargo.toml b/src/uu/fmt/Cargo.toml index f6c1e4af1..6b6f551ca 100644 --- a/src/uu/fmt/Cargo.toml +++ b/src/uu/fmt/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_fmt" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "fmt ~ (uutils) reformat each paragraph of input" diff --git a/src/uu/fold/Cargo.toml b/src/uu/fold/Cargo.toml index 6eef2b591..e08a59cd3 100644 --- a/src/uu/fold/Cargo.toml +++ b/src/uu/fold/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_fold" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "fold ~ (uutils) wrap each line of input" diff --git a/src/uu/groups/Cargo.toml b/src/uu/groups/Cargo.toml index 485cfd25f..ca0fe74f6 100644 --- a/src/uu/groups/Cargo.toml +++ b/src/uu/groups/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_groups" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "groups ~ (uutils) display group memberships for USERNAME" diff --git a/src/uu/hashsum/Cargo.toml b/src/uu/hashsum/Cargo.toml index 9a7f0ae51..5ce5fa8f6 100644 --- a/src/uu/hashsum/Cargo.toml +++ b/src/uu/hashsum/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_hashsum" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "hashsum ~ (uutils) display or check input digests" diff --git a/src/uu/head/Cargo.toml b/src/uu/head/Cargo.toml index 7acb202e6..db44ec51f 100644 --- a/src/uu/head/Cargo.toml +++ b/src/uu/head/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_head" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "head ~ (uutils) display the first lines of input" diff --git a/src/uu/head/src/head.rs b/src/uu/head/src/head.rs index 140f40f05..1a61d4cc4 100644 --- a/src/uu/head/src/head.rs +++ b/src/uu/head/src/head.rs @@ -3,10 +3,10 @@ // * For the full copyright and license information, please view the LICENSE // * file that was distributed with this source code. -// spell-checker:ignore (vars) zlines BUFWRITER +// spell-checker:ignore (vars) zlines BUFWRITER seekable use clap::{crate_version, App, Arg}; -use std::convert::TryFrom; +use std::convert::{TryFrom, TryInto}; use std::ffi::OsString; use std::io::{self, BufWriter, ErrorKind, Read, Seek, SeekFrom, Write}; use uucore::display::Quotable; @@ -291,16 +291,95 @@ fn read_but_last_n_lines( Ok(()) } -fn head_backwards_file(input: &mut std::fs::File, options: &HeadOptions) -> std::io::Result<()> { - assert!(options.all_but_last); +/// Return the index in `input` just after the `n`th line from the end. +/// +/// If `n` exceeds the number of lines in this file, then return 0. +/// +/// The cursor must be at the start of the seekable input before +/// calling this function. This function rewinds the cursor to the +/// beginning of the input just before returning unless there is an +/// I/O error. +/// +/// If `zeroed` is `false`, interpret the newline character `b'\n'` as +/// a line ending. If `zeroed` is `true`, interpret the null character +/// `b'\0'` as a line ending instead. +/// +/// # Errors +/// +/// This function returns an error if there is a problem seeking +/// through or reading the input. +/// +/// # Examples +/// +/// The function returns the index of the byte immediately following +/// the line ending character of the `n`th line from the end of the +/// input: +/// +/// ```rust,ignore +/// let mut input = Cursor::new("x\ny\nz\n"); +/// assert_eq!(find_nth_line_from_end(&mut input, 0, false).unwrap(), 6); +/// assert_eq!(find_nth_line_from_end(&mut input, 1, false).unwrap(), 4); +/// assert_eq!(find_nth_line_from_end(&mut input, 2, false).unwrap(), 2); +/// ``` +/// +/// If `n` exceeds the number of lines in the file, always return 0: +/// +/// ```rust,ignore +/// let mut input = Cursor::new("x\ny\nz\n"); +/// assert_eq!(find_nth_line_from_end(&mut input, 3, false).unwrap(), 0); +/// assert_eq!(find_nth_line_from_end(&mut input, 4, false).unwrap(), 0); +/// assert_eq!(find_nth_line_from_end(&mut input, 1000, false).unwrap(), 0); +/// ``` +fn find_nth_line_from_end(input: &mut R, n: usize, zeroed: bool) -> std::io::Result +where + R: Read + Seek, +{ let size = input.seek(SeekFrom::End(0))?; let size = usize::try_from(size).unwrap(); + + let mut buffer = [0u8; BUF_SIZE]; + let buffer = &mut buffer[..BUF_SIZE.min(size)]; + let mut i = 0usize; + let mut lines = 0usize; + + loop { + // the casts here are ok, `buffer.len()` should never be above a few k + input.seek(SeekFrom::Current( + -((buffer.len() as i64).min((size - i) as i64)), + ))?; + input.read_exact(buffer)?; + for byte in buffer.iter().rev() { + match byte { + b'\n' if !zeroed => { + lines += 1; + } + 0u8 if zeroed => { + lines += 1; + } + _ => {} + } + // if it were just `n`, + if lines == n + 1 { + input.seek(SeekFrom::Start(0))?; + return Ok(size - i); + } + i += 1; + } + if size - i == 0 { + input.seek(SeekFrom::Start(0))?; + return Ok(0); + } + } +} + +fn head_backwards_file(input: &mut std::fs::File, options: &HeadOptions) -> std::io::Result<()> { + assert!(options.all_but_last); match options.mode { Modes::Bytes(n) => { + let size = input.metadata()?.len().try_into().unwrap(); if n >= size { return Ok(()); } else { - input.seek(SeekFrom::Start(0))?; read_n_bytes( &mut std::io::BufReader::with_capacity(BUF_SIZE, input), size - n, @@ -308,41 +387,10 @@ fn head_backwards_file(input: &mut std::fs::File, options: &HeadOptions) -> std: } } Modes::Lines(n) => { - let mut buffer = [0u8; BUF_SIZE]; - let buffer = &mut buffer[..BUF_SIZE.min(size)]; - let mut i = 0usize; - let mut lines = 0usize; - - let found = 'o: loop { - // the casts here are ok, `buffer.len()` should never be above a few k - input.seek(SeekFrom::Current( - -((buffer.len() as i64).min((size - i) as i64)), - ))?; - input.read_exact(buffer)?; - for byte in buffer.iter().rev() { - match byte { - b'\n' if !options.zeroed => { - lines += 1; - } - 0u8 if options.zeroed => { - lines += 1; - } - _ => {} - } - // if it were just `n`, - if lines == n + 1 { - break 'o i; - } - i += 1; - } - if size - i == 0 { - return Ok(()); - } - }; - input.seek(SeekFrom::Start(0))?; + let found = find_nth_line_from_end(input, n, options.zeroed)?; read_n_bytes( &mut std::io::BufReader::with_capacity(BUF_SIZE, input), - size - found, + found, )?; } } @@ -459,6 +507,7 @@ pub fn uumain(args: impl uucore::Args) -> UResult<()> { #[cfg(test)] mod tests { use std::ffi::OsString; + use std::io::Cursor; use super::*; fn options(args: &str) -> Result { @@ -580,4 +629,15 @@ mod tests { assert!(read_n_bytes(&mut empty, 0).is_ok()); assert!(read_n_lines(&mut empty, 0, false).is_ok()); } + + #[test] + fn test_find_nth_line_from_end() { + let mut input = Cursor::new("x\ny\nz\n"); + assert_eq!(find_nth_line_from_end(&mut input, 0, false).unwrap(), 6); + assert_eq!(find_nth_line_from_end(&mut input, 1, false).unwrap(), 4); + assert_eq!(find_nth_line_from_end(&mut input, 2, false).unwrap(), 2); + assert_eq!(find_nth_line_from_end(&mut input, 3, false).unwrap(), 0); + assert_eq!(find_nth_line_from_end(&mut input, 4, false).unwrap(), 0); + assert_eq!(find_nth_line_from_end(&mut input, 1000, false).unwrap(), 0); + } } diff --git a/src/uu/hostid/Cargo.toml b/src/uu/hostid/Cargo.toml index 674ac1e30..99afcc075 100644 --- a/src/uu/hostid/Cargo.toml +++ b/src/uu/hostid/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_hostid" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "hostid ~ (uutils) display the numeric identifier of the current host" diff --git a/src/uu/hostname/Cargo.toml b/src/uu/hostname/Cargo.toml index b56ccf0f2..4402ae41b 100644 --- a/src/uu/hostname/Cargo.toml +++ b/src/uu/hostname/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_hostname" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "hostname ~ (uutils) display or set the host name of the current host" diff --git a/src/uu/id/Cargo.toml b/src/uu/id/Cargo.toml index 752e58d67..59c964fc2 100644 --- a/src/uu/id/Cargo.toml +++ b/src/uu/id/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_id" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "id ~ (uutils) display user and group information for USER" diff --git a/src/uu/install/Cargo.toml b/src/uu/install/Cargo.toml index 4bd7c93d4..d02d4a8b9 100644 --- a/src/uu/install/Cargo.toml +++ b/src/uu/install/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_install" -version = "0.0.9" +version = "0.0.12" authors = [ "Ben Eills ", "uutils developers", diff --git a/src/uu/join/Cargo.toml b/src/uu/join/Cargo.toml index 0d22d0935..2f3b6d462 100644 --- a/src/uu/join/Cargo.toml +++ b/src/uu/join/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_join" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "join ~ (uutils) merge lines from inputs with matching join fields" diff --git a/src/uu/kill/Cargo.toml b/src/uu/kill/Cargo.toml index e0c9cb079..400dbbc8f 100644 --- a/src/uu/kill/Cargo.toml +++ b/src/uu/kill/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_kill" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "kill ~ (uutils) send a signal to a process" diff --git a/src/uu/link/Cargo.toml b/src/uu/link/Cargo.toml index 93e8d46e5..dc544e94e 100644 --- a/src/uu/link/Cargo.toml +++ b/src/uu/link/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_link" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "link ~ (uutils) create a hard (file system) link to FILE" diff --git a/src/uu/ln/Cargo.toml b/src/uu/ln/Cargo.toml index d13ddb2a3..cfa19d6a3 100644 --- a/src/uu/ln/Cargo.toml +++ b/src/uu/ln/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_ln" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "ln ~ (uutils) create a (file system) link to TARGET" diff --git a/src/uu/logname/Cargo.toml b/src/uu/logname/Cargo.toml index 711801415..67c24c257 100644 --- a/src/uu/logname/Cargo.toml +++ b/src/uu/logname/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_logname" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "logname ~ (uutils) display the login name of the current user" diff --git a/src/uu/ls/Cargo.toml b/src/uu/ls/Cargo.toml index 5796e5456..a9809d76e 100644 --- a/src/uu/ls/Cargo.toml +++ b/src/uu/ls/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_ls" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "ls ~ (uutils) display directory contents" diff --git a/src/uu/mkdir/Cargo.toml b/src/uu/mkdir/Cargo.toml index 2961fe4c7..519aa9113 100644 --- a/src/uu/mkdir/Cargo.toml +++ b/src/uu/mkdir/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_mkdir" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "mkdir ~ (uutils) create DIRECTORY" diff --git a/src/uu/mkfifo/Cargo.toml b/src/uu/mkfifo/Cargo.toml index 69f77f32e..971b20f45 100644 --- a/src/uu/mkfifo/Cargo.toml +++ b/src/uu/mkfifo/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_mkfifo" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "mkfifo ~ (uutils) create FIFOs (named pipes)" diff --git a/src/uu/mknod/Cargo.toml b/src/uu/mknod/Cargo.toml index 018c679aa..ab03a08e8 100644 --- a/src/uu/mknod/Cargo.toml +++ b/src/uu/mknod/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_mknod" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "mknod ~ (uutils) create special file NAME of TYPE" diff --git a/src/uu/mktemp/Cargo.toml b/src/uu/mktemp/Cargo.toml index 4317d018c..c183b14a9 100644 --- a/src/uu/mktemp/Cargo.toml +++ b/src/uu/mktemp/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_mktemp" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "mktemp ~ (uutils) create and display a temporary file or directory from TEMPLATE" diff --git a/src/uu/more/Cargo.toml b/src/uu/more/Cargo.toml index 63d761d1a..068443906 100644 --- a/src/uu/more/Cargo.toml +++ b/src/uu/more/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_more" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "more ~ (uutils) input perusal filter" diff --git a/src/uu/mv/Cargo.toml b/src/uu/mv/Cargo.toml index 21b0fac90..dd43819bf 100644 --- a/src/uu/mv/Cargo.toml +++ b/src/uu/mv/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_mv" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "mv ~ (uutils) move (rename) SOURCE to DESTINATION" diff --git a/src/uu/nice/Cargo.toml b/src/uu/nice/Cargo.toml index 9d39022dc..6b72b35f3 100644 --- a/src/uu/nice/Cargo.toml +++ b/src/uu/nice/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_nice" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "nice ~ (uutils) run PROGRAM with modified scheduling priority" diff --git a/src/uu/nl/Cargo.toml b/src/uu/nl/Cargo.toml index 205e1fdd0..e6861c804 100644 --- a/src/uu/nl/Cargo.toml +++ b/src/uu/nl/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_nl" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "nl ~ (uutils) display input with added line numbers" diff --git a/src/uu/nohup/Cargo.toml b/src/uu/nohup/Cargo.toml index 4a85d9835..a735f72db 100644 --- a/src/uu/nohup/Cargo.toml +++ b/src/uu/nohup/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_nohup" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "nohup ~ (uutils) run COMMAND, ignoring hangup signals" diff --git a/src/uu/nproc/Cargo.toml b/src/uu/nproc/Cargo.toml index fc82ba497..608994bf7 100644 --- a/src/uu/nproc/Cargo.toml +++ b/src/uu/nproc/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_nproc" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "nproc ~ (uutils) display the number of processing units available" diff --git a/src/uu/numfmt/Cargo.toml b/src/uu/numfmt/Cargo.toml index 5f065b730..b4954884d 100644 --- a/src/uu/numfmt/Cargo.toml +++ b/src/uu/numfmt/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_numfmt" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "numfmt ~ (uutils) reformat NUMBER" diff --git a/src/uu/od/Cargo.toml b/src/uu/od/Cargo.toml index 82d0bdbf8..1ab4e7051 100644 --- a/src/uu/od/Cargo.toml +++ b/src/uu/od/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_od" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "od ~ (uutils) display formatted representation of input" diff --git a/src/uu/paste/Cargo.toml b/src/uu/paste/Cargo.toml index 58ffe1ee6..87ac9ab20 100644 --- a/src/uu/paste/Cargo.toml +++ b/src/uu/paste/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_paste" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "paste ~ (uutils) merge lines from inputs" diff --git a/src/uu/pathchk/Cargo.toml b/src/uu/pathchk/Cargo.toml index 508568e4f..09f0b133d 100644 --- a/src/uu/pathchk/Cargo.toml +++ b/src/uu/pathchk/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_pathchk" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "pathchk ~ (uutils) diagnose invalid or non-portable PATHNAME" diff --git a/src/uu/pinky/Cargo.toml b/src/uu/pinky/Cargo.toml index 893f33e24..b07a39aa1 100644 --- a/src/uu/pinky/Cargo.toml +++ b/src/uu/pinky/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_pinky" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "pinky ~ (uutils) display user information" diff --git a/src/uu/pr/Cargo.toml b/src/uu/pr/Cargo.toml index 0f0969646..567594501 100644 --- a/src/uu/pr/Cargo.toml +++ b/src/uu/pr/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_pr" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "pr ~ (uutils) convert text files for printing" diff --git a/src/uu/printenv/Cargo.toml b/src/uu/printenv/Cargo.toml index faf607a8b..b43012700 100644 --- a/src/uu/printenv/Cargo.toml +++ b/src/uu/printenv/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_printenv" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "printenv ~ (uutils) display value of environment VAR" diff --git a/src/uu/printf/Cargo.toml b/src/uu/printf/Cargo.toml index 7362fbe45..b1ffc8af1 100644 --- a/src/uu/printf/Cargo.toml +++ b/src/uu/printf/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_printf" -version = "0.0.9" +version = "0.0.12" authors = [ "Nathan Ross", "uutils developers", diff --git a/src/uu/ptx/Cargo.toml b/src/uu/ptx/Cargo.toml index 0e98c6a23..33d6d46cd 100644 --- a/src/uu/ptx/Cargo.toml +++ b/src/uu/ptx/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_ptx" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "ptx ~ (uutils) display a permuted index of input" diff --git a/src/uu/pwd/Cargo.toml b/src/uu/pwd/Cargo.toml index 0f472f021..a6cccb0f1 100644 --- a/src/uu/pwd/Cargo.toml +++ b/src/uu/pwd/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_pwd" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "pwd ~ (uutils) display current working directory" diff --git a/src/uu/readlink/Cargo.toml b/src/uu/readlink/Cargo.toml index 4dcde6fc4..35be61542 100644 --- a/src/uu/readlink/Cargo.toml +++ b/src/uu/readlink/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_readlink" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "readlink ~ (uutils) display resolved path of PATHNAME" diff --git a/src/uu/realpath/Cargo.toml b/src/uu/realpath/Cargo.toml index 5a8dac63e..9c1919fb4 100644 --- a/src/uu/realpath/Cargo.toml +++ b/src/uu/realpath/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_realpath" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "realpath ~ (uutils) display resolved absolute path of PATHNAME" diff --git a/src/uu/relpath/Cargo.toml b/src/uu/relpath/Cargo.toml index c9364e82f..6c4894bca 100644 --- a/src/uu/relpath/Cargo.toml +++ b/src/uu/relpath/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_relpath" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "relpath ~ (uutils) display relative path of PATHNAME_TO from PATHNAME_FROM" diff --git a/src/uu/rm/Cargo.toml b/src/uu/rm/Cargo.toml index aa97bfa79..26dcc58fc 100644 --- a/src/uu/rm/Cargo.toml +++ b/src/uu/rm/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_rm" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "rm ~ (uutils) remove PATHNAME" diff --git a/src/uu/rmdir/Cargo.toml b/src/uu/rmdir/Cargo.toml index a3988e36a..bd58614dc 100644 --- a/src/uu/rmdir/Cargo.toml +++ b/src/uu/rmdir/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_rmdir" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "rmdir ~ (uutils) remove empty DIRECTORY" diff --git a/src/uu/runcon/Cargo.toml b/src/uu/runcon/Cargo.toml index f8f8e4807..3c651bb66 100644 --- a/src/uu/runcon/Cargo.toml +++ b/src/uu/runcon/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_runcon" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "runcon ~ (uutils) run command with specified security context" diff --git a/src/uu/seq/Cargo.toml b/src/uu/seq/Cargo.toml index 496f60a73..ba446a3ec 100644 --- a/src/uu/seq/Cargo.toml +++ b/src/uu/seq/Cargo.toml @@ -1,7 +1,7 @@ # spell-checker:ignore bigdecimal [package] name = "uu_seq" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "seq ~ (uutils) display a sequence of numbers" diff --git a/src/uu/shred/Cargo.toml b/src/uu/shred/Cargo.toml index e42bf168d..6b28f1242 100644 --- a/src/uu/shred/Cargo.toml +++ b/src/uu/shred/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_shred" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "shred ~ (uutils) hide former FILE contents with repeated overwrites" diff --git a/src/uu/shuf/Cargo.toml b/src/uu/shuf/Cargo.toml index 26adfff37..d750e9c8e 100644 --- a/src/uu/shuf/Cargo.toml +++ b/src/uu/shuf/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_shuf" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "shuf ~ (uutils) display random permutations of input lines" diff --git a/src/uu/sleep/Cargo.toml b/src/uu/sleep/Cargo.toml index 539a43e73..3c9167e51 100644 --- a/src/uu/sleep/Cargo.toml +++ b/src/uu/sleep/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_sleep" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "sleep ~ (uutils) pause for DURATION" diff --git a/src/uu/sort/Cargo.toml b/src/uu/sort/Cargo.toml index 786f3ff8c..b21c76e82 100644 --- a/src/uu/sort/Cargo.toml +++ b/src/uu/sort/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_sort" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "sort ~ (uutils) sort input lines" diff --git a/src/uu/split/Cargo.toml b/src/uu/split/Cargo.toml index bdc08775e..447e28f6a 100644 --- a/src/uu/split/Cargo.toml +++ b/src/uu/split/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_split" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "split ~ (uutils) split input into output files" diff --git a/src/uu/stat/Cargo.toml b/src/uu/stat/Cargo.toml index 983f65c16..08735d426 100644 --- a/src/uu/stat/Cargo.toml +++ b/src/uu/stat/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_stat" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "stat ~ (uutils) display FILE status" diff --git a/src/uu/stdbuf/Cargo.toml b/src/uu/stdbuf/Cargo.toml index d011adee2..919ce99fa 100644 --- a/src/uu/stdbuf/Cargo.toml +++ b/src/uu/stdbuf/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_stdbuf" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "stdbuf ~ (uutils) run COMMAND with modified standard stream buffering" @@ -21,7 +21,7 @@ uucore = { version=">=0.0.11", package="uucore", path="../../uucore" } uucore_procs = { version=">=0.0.8", package="uucore_procs", path="../../uucore_procs" } [build-dependencies] -libstdbuf = { version="0.0.9", package="uu_stdbuf_libstdbuf", path="src/libstdbuf" } +libstdbuf = { version="0.0.12", package="uu_stdbuf_libstdbuf", path="src/libstdbuf" } [[bin]] name = "stdbuf" diff --git a/src/uu/stdbuf/src/libstdbuf/Cargo.toml b/src/uu/stdbuf/src/libstdbuf/Cargo.toml index 71ef95c4c..4e35a9438 100644 --- a/src/uu/stdbuf/src/libstdbuf/Cargo.toml +++ b/src/uu/stdbuf/src/libstdbuf/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_stdbuf_libstdbuf" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "stdbuf/libstdbuf ~ (uutils); dynamic library required for stdbuf" diff --git a/src/uu/sum/Cargo.toml b/src/uu/sum/Cargo.toml index 934b19f79..d8d077740 100644 --- a/src/uu/sum/Cargo.toml +++ b/src/uu/sum/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_sum" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "sum ~ (uutils) display checksum and block counts for input" diff --git a/src/uu/sync/Cargo.toml b/src/uu/sync/Cargo.toml index bd99d3297..e61000029 100644 --- a/src/uu/sync/Cargo.toml +++ b/src/uu/sync/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_sync" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "sync ~ (uutils) synchronize cache writes to storage" diff --git a/src/uu/tac/Cargo.toml b/src/uu/tac/Cargo.toml index 54610ab55..c23f4976d 100644 --- a/src/uu/tac/Cargo.toml +++ b/src/uu/tac/Cargo.toml @@ -2,7 +2,7 @@ [package] name = "uu_tac" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "tac ~ (uutils) concatenate and display input lines in reverse order" diff --git a/src/uu/tail/Cargo.toml b/src/uu/tail/Cargo.toml index ea93790d8..ab9d8647a 100644 --- a/src/uu/tail/Cargo.toml +++ b/src/uu/tail/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_tail" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "tail ~ (uutils) display the last lines of input" diff --git a/src/uu/tail/src/lines.rs b/src/uu/tail/src/lines.rs new file mode 100644 index 000000000..6e472b32e --- /dev/null +++ b/src/uu/tail/src/lines.rs @@ -0,0 +1,83 @@ +// * This file is part of the uutils coreutils package. +// * +// * For the full copyright and license information, please view the LICENSE +// * file that was distributed with this source code. +//! Iterate over lines, including the line ending character(s). +//! +//! This module provides the [`lines`] function, similar to the +//! [`BufRead::lines`] method. While the [`BufRead::lines`] method +//! yields [`String`] instances that do not include the line ending +//! characters (`"\n"` or `"\r\n"`), our function yields [`String`] +//! instances that include the line ending characters. This is useful +//! if the input data does not end with a newline character and you +//! want to preserve the exact form of the input data. +use std::io::BufRead; + +/// Returns an iterator over the lines, including line ending characters. +/// +/// This function is just like [`BufRead::lines`], but it includes the +/// line ending characters in each yielded [`String`] if the input +/// data has them. +/// +/// # Examples +/// +/// If the input data does not end with a newline character (`'\n'`), +/// then the last [`String`] yielded by this iterator also does not +/// end with a newline: +/// +/// ```rust,ignore +/// use std::io::BufRead; +/// use std::io::Cursor; +/// +/// let cursor = Cursor::new(b"x\ny\nz"); +/// let mut it = cursor.lines(); +/// +/// assert_eq!(it.next(), Some(String::from("x\n"))); +/// assert_eq!(it.next(), Some(String::from("y\n"))); +/// assert_eq!(it.next(), Some(String::from("z"))); +/// assert_eq!(it.next(), None); +/// ``` +pub(crate) fn lines(reader: B) -> Lines +where + B: BufRead, +{ + Lines { buf: reader } +} + +/// An iterator over the lines of an instance of `BufRead`. +/// +/// This struct is generally created by calling [`lines`] on a `BufRead`. +/// Please see the documentation of [`lines`] for more details. +pub(crate) struct Lines { + buf: B, +} + +impl Iterator for Lines { + type Item = std::io::Result; + + fn next(&mut self) -> Option> { + let mut buf = String::new(); + match self.buf.read_line(&mut buf) { + Ok(0) => None, + Ok(_n) => Some(Ok(buf)), + Err(e) => Some(Err(e)), + } + } +} + +#[cfg(test)] +mod tests { + use crate::lines::lines; + use std::io::Cursor; + + #[test] + fn test_lines() { + let cursor = Cursor::new(b"x\ny\nz"); + let mut it = lines(cursor).map(|l| l.unwrap()); + + assert_eq!(it.next(), Some(String::from("x\n"))); + assert_eq!(it.next(), Some(String::from("y\n"))); + assert_eq!(it.next(), Some(String::from("z"))); + assert_eq!(it.next(), None); + } +} diff --git a/src/uu/tail/src/tail.rs b/src/uu/tail/src/tail.rs index 701ddbce7..9ef69a77c 100644 --- a/src/uu/tail/src/tail.rs +++ b/src/uu/tail/src/tail.rs @@ -16,9 +16,11 @@ extern crate clap; extern crate uucore; mod chunks; +mod lines; mod parse; mod platform; use chunks::ReverseChunks; +use lines::lines; use clap::{App, Arg}; use std::collections::VecDeque; @@ -30,7 +32,7 @@ use std::path::Path; use std::thread::sleep; use std::time::Duration; use uucore::display::Quotable; -use uucore::error::{UResult, USimpleError}; +use uucore::error::{FromIo, UResult, USimpleError}; use uucore::parse_size::{parse_size, ParseSizeError}; use uucore::ringbuffer::RingBuffer; @@ -220,7 +222,8 @@ fn uu_tail(settings: &Settings) -> UResult<()> { if path.is_dir() { continue; } - let mut file = File::open(&path).unwrap(); + let mut file = File::open(&path) + .map_err_context(|| format!("cannot open {} for reading", filename.quote()))?; let md = file.metadata().unwrap(); if is_seekable(&mut file) && get_block_size(&md) > 0 { bounded_tail(&mut file, settings); @@ -481,8 +484,8 @@ fn unbounded_tail(reader: &mut BufReader, settings: &Settings) -> UR // data in the ringbuf. match settings.mode { FilterMode::Lines(count, _) => { - for line in unbounded_tail_collect(reader.lines(), count, settings.beginning) { - println!("{}", line); + for line in unbounded_tail_collect(lines(reader), count, settings.beginning) { + print!("{}", line); } } FilterMode::Bytes(count) => { diff --git a/src/uu/tee/Cargo.toml b/src/uu/tee/Cargo.toml index fc319875e..5e99cfc95 100644 --- a/src/uu/tee/Cargo.toml +++ b/src/uu/tee/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_tee" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "tee ~ (uutils) display input and copy to FILE" diff --git a/src/uu/test/Cargo.toml b/src/uu/test/Cargo.toml index c0e44e340..e8b3b7073 100644 --- a/src/uu/test/Cargo.toml +++ b/src/uu/test/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_test" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "test ~ (uutils) evaluate comparison and file type expressions" diff --git a/src/uu/timeout/Cargo.toml b/src/uu/timeout/Cargo.toml index 8a8b564e4..43ec3a6cb 100644 --- a/src/uu/timeout/Cargo.toml +++ b/src/uu/timeout/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_timeout" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "timeout ~ (uutils) run COMMAND with a DURATION time limit" diff --git a/src/uu/touch/Cargo.toml b/src/uu/touch/Cargo.toml index 276a45d33..87bbea5f5 100644 --- a/src/uu/touch/Cargo.toml +++ b/src/uu/touch/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_touch" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "touch ~ (uutils) change FILE timestamps" diff --git a/src/uu/tr/Cargo.toml b/src/uu/tr/Cargo.toml index 1404e09c6..26fa83ae3 100644 --- a/src/uu/tr/Cargo.toml +++ b/src/uu/tr/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_tr" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "tr ~ (uutils) translate characters within input and display" diff --git a/src/uu/true/Cargo.toml b/src/uu/true/Cargo.toml index 9b1175685..8237b0ef8 100644 --- a/src/uu/true/Cargo.toml +++ b/src/uu/true/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_true" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "true ~ (uutils) do nothing and succeed" diff --git a/src/uu/truncate/Cargo.toml b/src/uu/truncate/Cargo.toml index bfd11053e..af261beed 100644 --- a/src/uu/truncate/Cargo.toml +++ b/src/uu/truncate/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_truncate" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "truncate ~ (uutils) truncate (or extend) FILE to SIZE" diff --git a/src/uu/tsort/Cargo.toml b/src/uu/tsort/Cargo.toml index 221e94876..6211ee0af 100644 --- a/src/uu/tsort/Cargo.toml +++ b/src/uu/tsort/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_tsort" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "tsort ~ (uutils) topologically sort input (partially ordered) pairs" diff --git a/src/uu/tty/Cargo.toml b/src/uu/tty/Cargo.toml index 77e65c4c1..486950831 100644 --- a/src/uu/tty/Cargo.toml +++ b/src/uu/tty/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_tty" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "tty ~ (uutils) display the name of the terminal connected to standard input" diff --git a/src/uu/uname/Cargo.toml b/src/uu/uname/Cargo.toml index 6db69f0b8..e1249ee60 100644 --- a/src/uu/uname/Cargo.toml +++ b/src/uu/uname/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_uname" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "uname ~ (uutils) display system information" diff --git a/src/uu/unexpand/Cargo.toml b/src/uu/unexpand/Cargo.toml index 481a89c27..37503d216 100644 --- a/src/uu/unexpand/Cargo.toml +++ b/src/uu/unexpand/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_unexpand" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "unexpand ~ (uutils) convert input spaces to tabs" diff --git a/src/uu/uniq/Cargo.toml b/src/uu/uniq/Cargo.toml index 53fc73460..eba1bb3c7 100644 --- a/src/uu/uniq/Cargo.toml +++ b/src/uu/uniq/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_uniq" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "uniq ~ (uutils) filter identical adjacent lines from input" diff --git a/src/uu/unlink/Cargo.toml b/src/uu/unlink/Cargo.toml index d49c0518a..6d69bac97 100644 --- a/src/uu/unlink/Cargo.toml +++ b/src/uu/unlink/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_unlink" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "unlink ~ (uutils) remove a (file system) link to FILE" diff --git a/src/uu/uptime/Cargo.toml b/src/uu/uptime/Cargo.toml index d9764a7d9..81ed71356 100644 --- a/src/uu/uptime/Cargo.toml +++ b/src/uu/uptime/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_uptime" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "uptime ~ (uutils) display dynamic system information" diff --git a/src/uu/users/Cargo.toml b/src/uu/users/Cargo.toml index 449726197..f92214ff3 100644 --- a/src/uu/users/Cargo.toml +++ b/src/uu/users/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_users" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "users ~ (uutils) display names of currently logged-in users" diff --git a/src/uu/wc/Cargo.toml b/src/uu/wc/Cargo.toml index 93c827be3..4617f0d55 100644 --- a/src/uu/wc/Cargo.toml +++ b/src/uu/wc/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_wc" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "wc ~ (uutils) display newline, word, and byte counts for input" diff --git a/src/uu/who/Cargo.toml b/src/uu/who/Cargo.toml index 14a4638b3..437705064 100644 --- a/src/uu/who/Cargo.toml +++ b/src/uu/who/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_who" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "who ~ (uutils) display information about currently logged-in users" diff --git a/src/uu/whoami/Cargo.toml b/src/uu/whoami/Cargo.toml index 37dc61e4d..7c3436425 100644 --- a/src/uu/whoami/Cargo.toml +++ b/src/uu/whoami/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_whoami" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "whoami ~ (uutils) display user name of current effective user ID" diff --git a/src/uu/yes/Cargo.toml b/src/uu/yes/Cargo.toml index f19fff3e3..b8d121cdf 100644 --- a/src/uu/yes/Cargo.toml +++ b/src/uu/yes/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uu_yes" -version = "0.0.9" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "yes ~ (uutils) repeatedly display a line with STRING (or 'y')" diff --git a/src/uucore/Cargo.toml b/src/uucore/Cargo.toml index 1fbf06b77..4cb92b30d 100644 --- a/src/uucore/Cargo.toml +++ b/src/uucore/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uucore" -version = "0.0.11" +version = "0.0.12" authors = ["uutils developers"] license = "MIT" description = "uutils ~ 'core' uutils code library (cross-platform)" diff --git a/src/uucore_procs/Cargo.toml b/src/uucore_procs/Cargo.toml index 9505a8ba4..040198063 100644 --- a/src/uucore_procs/Cargo.toml +++ b/src/uucore_procs/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uucore_procs" -version = "0.0.8" +version = "0.0.12" authors = ["Roy Ivy III "] license = "MIT" description = "uutils ~ 'uucore' proc-macros" diff --git a/tests/by-util/test_tail.rs b/tests/by-util/test_tail.rs index a020f6235..e863e34b7 100644 --- a/tests/by-util/test_tail.rs +++ b/tests/by-util/test_tail.rs @@ -3,7 +3,7 @@ // * For the full copyright and license information, please view the LICENSE // * file that was distributed with this source code. -// spell-checker:ignore (ToDO) abcdefghijklmnopqrstuvwxyz efghijklmnopqrstuvwxyz vwxyz emptyfile +// spell-checker:ignore (ToDO) abcdefghijklmnopqrstuvwxyz efghijklmnopqrstuvwxyz vwxyz emptyfile bogusfile extern crate tail; @@ -475,3 +475,17 @@ fn test_tail_bytes_for_funny_files() { .code_is(exp_result.code()); } } + +#[test] +fn test_no_such_file() { + new_ucmd!() + .arg("bogusfile") + .fails() + .no_stdout() + .stderr_contains("cannot open 'bogusfile' for reading: No such file or directory"); +} + +#[test] +fn test_no_trailing_newline() { + new_ucmd!().pipe_in("x").succeeds().stdout_only("x"); +} diff --git a/tests/by-util/test_tr.rs b/tests/by-util/test_tr.rs index 49dcb813c..36358496f 100644 --- a/tests/by-util/test_tr.rs +++ b/tests/by-util/test_tr.rs @@ -286,11 +286,6 @@ fn test_interpret_backslash_at_eol_literally() { } #[test] -// FixME: panicked at 'failed to write to stdin of child: Broken pipe (os error 32) -#[cfg(not(target_os = "freebsd"))] fn test_more_than_2_sets() { - new_ucmd!() - .args(&["'abcdef'", "'a'", "'b'"]) - .pipe_in("hello world") - .fails(); + new_ucmd!().args(&["'abcdef'", "'a'", "'b'"]).fails(); }