Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package hyperfine for openSUSE:Factory checked in at 2022-10-01 17:44:02 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/hyperfine (Old) and /work/SRC/openSUSE:Factory/.hyperfine.new.2275 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "hyperfine" Sat Oct 1 17:44:02 2022 rev:8 rq:1007431 version:1.15.0 Changes: -------- --- /work/SRC/openSUSE:Factory/hyperfine/hyperfine.changes 2022-09-11 21:57:33.745664061 +0200 +++ /work/SRC/openSUSE:Factory/.hyperfine.new.2275/hyperfine.changes 2022-10-01 17:44:27.889812892 +0200 @@ -1,0 +2,20 @@ +Sat Sep 24 11:58:21 UTC 2022 - [email protected] + +- Update to version 1.15.0: + * Fix clippy suggestions + * Bump version to 1.15 + * Bump thiserror from 1.0.33 to 1.0.34 + * Add new (hidden) --min-benchmarking-time option + * Bump anyhow from 1.0.63 to 1.0.64 + * Bump once_cell from 1.13.1 to 1.14.0 + * Add CHANGELOG entry + * Rewrite boolean condition + * Update dependabot config + * Update CHANGELOG + * Cleanup Windows CPUTimer + * Bump rust_decimal from 1.25.0 to 1.26.1 + * Bump anyhow from 1.0.58 to 1.0.63 + * Bump clap from 3.2.16 to 3.2.20 + * Don't output colours by default if TERM=dumb or NO_COLOR=1 + +------------------------------------------------------------------- Old: ---- hyperfine-1.14.0+git34.tar.xz New: ---- hyperfine-1.15.0.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ hyperfine.spec ++++++ --- /var/tmp/diff_new_pack.HLqgL3/_old 2022-10-01 17:44:28.801814551 +0200 +++ /var/tmp/diff_new_pack.HLqgL3/_new 2022-10-01 17:44:28.805814558 +0200 @@ -17,7 +17,7 @@ Name: hyperfine -Version: 1.14.0+git34 +Version: 1.15.0 Release: 0 Summary: Command-line benchmarking tool License: Apache-2.0 OR MIT ++++++ _service ++++++ --- /var/tmp/diff_new_pack.HLqgL3/_old 2022-10-01 17:44:28.837814616 +0200 +++ /var/tmp/diff_new_pack.HLqgL3/_new 2022-10-01 17:44:28.841814623 +0200 @@ -2,8 +2,8 @@ <service name="obs_scm" mode="disabled"> <param name="scm">git</param> <param name="url">https://github.com/sharkdp/hyperfine.git</param> - <param name="revision">94cda2eb59755189d4a39aba559ab91702c0f3c5</param> - <param name="versionformat">@PARENT_TAG@+git@TAG_OFFSET@</param> + <param name="revision">c7e5694</param> + <param name="versionformat">@PARENT_TAG@</param> <param name="versionrewrite-pattern">v(.*)</param> <param name="versionrewrite-replacement">\1</param> <param name="changesgenerate">enable</param> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.HLqgL3/_old 2022-10-01 17:44:28.861814660 +0200 +++ /var/tmp/diff_new_pack.HLqgL3/_new 2022-10-01 17:44:28.865814667 +0200 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/sharkdp/hyperfine.git</param> - <param name="changesrevision">94cda2eb59755189d4a39aba559ab91702c0f3c5</param></service></servicedata> + <param name="changesrevision">c7e56942f7d32e8bacab055c743bc0d3f17680b1</param></service></servicedata> (No newline at EOF) ++++++ hyperfine-1.14.0+git34.tar.xz -> hyperfine-1.15.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hyperfine-1.14.0+git34/.github/dependabot.yml new/hyperfine-1.15.0/.github/dependabot.yml --- old/hyperfine-1.14.0+git34/.github/dependabot.yml 2022-09-02 09:15:02.000000000 +0200 +++ new/hyperfine-1.15.0/.github/dependabot.yml 2022-09-07 09:20:50.000000000 +0200 @@ -1,8 +1,9 @@ version: 2 updates: -- package-ecosystem: cargo - directory: "/" - schedule: - interval: monthly - time: "04:00" - timezone: Europe/Berlin + - package-ecosystem: cargo + directory: "/" + schedule: + interval: monthly + time: "04:00" + timezone: Europe/Berlin + open-pull-requests-limit: 2 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hyperfine-1.14.0+git34/CHANGELOG.md new/hyperfine-1.15.0/CHANGELOG.md --- old/hyperfine-1.14.0+git34/CHANGELOG.md 2022-09-02 09:15:02.000000000 +0200 +++ new/hyperfine-1.15.0/CHANGELOG.md 2022-09-07 09:20:50.000000000 +0200 @@ -15,6 +15,24 @@ ## Packaging + + +# v1.15.0 + +## Features + +- Disable colorized output in case of `TERM=dumb` or `NO_COLOR=1`, see #542 and #555 (@nabijaczleweli) +- Add new (experimental) `--min-benchmarking-time <secs>` option, see #527 (@sharkdp) + +## Bugfixes + +- Fix user and kernel times on Windows, see #368 and #538 (@clemenswasser) + +## Other + +- Improve `--help` texts of `--export-*` options, see #506 and #522 (@Engineer-of-Efficiency) + + # v1.14.0 ## Features diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hyperfine-1.14.0+git34/Cargo.lock new/hyperfine-1.15.0/Cargo.lock --- old/hyperfine-1.14.0+git34/Cargo.lock 2022-09-02 09:15:02.000000000 +0200 +++ new/hyperfine-1.15.0/Cargo.lock 2022-09-07 09:20:50.000000000 +0200 @@ -4,18 +4,18 @@ [[package]] name = "aho-corasick" -version = "0.7.18" +version = "0.7.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e37cfd5e7657ada45f742d6e99ca5788580b5c529dc78faf11ece6dc702656f" +checksum = "b4f55bd91a0978cbfd91c457a164bab8b4001c833b7f323132c0a4e1922dd44e" dependencies = [ "memchr", ] [[package]] name = "anyhow" -version = "1.0.58" +version = "1.0.64" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb07d2053ccdbe10e2af2995a2f116c1330396493dc1269f6a91d0ae82e19704" +checksum = "b9a8f622bcf6ff3df478e9deba3e03e4e04b300f8e6a139e192c05fa3490afc7" [[package]] name = "approx" @@ -98,9 +98,9 @@ [[package]] name = "clap" -version = "3.2.16" +version = "3.2.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a3dbbb6653e7c55cc8595ad3e1f7be8f32aba4eb7ff7f0fd1163d4f3d137c0a9" +checksum = "23b71c3ce99b7611011217b366d923f1d0a7e07a92bb2dbf1e84508c673ca3bd" dependencies = [ "atty", "bitflags", @@ -124,9 +124,9 @@ [[package]] name = "clap_lex" -version = "0.2.3" +version = "0.2.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87eba3c8c7f42ef17f6c659fc7416d0f4758cd3e58861ee63c5fa4a4dde649e4" +checksum = "2850f2f5a82cbf437dd5af4d49848fbdfc27c157c3d010345776f952765261c5" dependencies = [ "os_str_bytes", ] @@ -153,9 +153,9 @@ [[package]] name = "console" -version = "0.15.0" +version = "0.15.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a28b32d32ca44b70c3e4acd7db1babf555fa026e385fb95f18028f88848b3c31" +checksum = "89eab4d20ce20cea182308bca13088fecea9c05f6776cf287205d41a0ed3c847" dependencies = [ "encode_unicode", "libc", @@ -200,9 +200,9 @@ [[package]] name = "either" -version = "1.6.1" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" +checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" [[package]] name = "encode_unicode" @@ -212,9 +212,9 @@ [[package]] name = "fastrand" -version = "1.7.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf" +checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499" dependencies = [ "instant", ] @@ -247,9 +247,9 @@ [[package]] name = "hashbrown" -version = "0.12.1" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db0d4cf898abf0081f964436dc980e96670a0f36863e4b83aaacdb65c9d7ccc3" +checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" [[package]] name = "hermit-abi" @@ -262,7 +262,7 @@ [[package]] name = "hyperfine" -version = "1.14.0" +version = "1.15.0" dependencies = [ "anyhow", "approx", @@ -336,9 +336,9 @@ [[package]] name = "itoa" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "112c678d4050afce233f4f2852bb2eb519230b3cf12f33585275537d7e41578d" +checksum = "6c8af84674fe1f223a982c933a0ee1086ac4d4052aa0fb8060c12c6ad838e754" [[package]] name = "lazy_static" @@ -472,15 +472,15 @@ [[package]] name = "once_cell" -version = "1.13.1" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "074864da206b4973b84eb91683020dbefd6a8c3f0f38e054d93954e891935e4e" +checksum = "2f7254b99e31cad77da24b08ebf628882739a608578bb1bcdfc1f9c21260d7c0" [[package]] name = "os_str_bytes" -version = "6.1.0" +version = "6.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21326818e99cfe6ce1e524c2a805c189a99b5ae555a35d19f9a284b427d86afa" +checksum = "9ff7415e9ae3fff1225851df9e0d9e4e5479f947619774677a63572e55e80eff" [[package]] name = "pin-utils" @@ -526,18 +526,18 @@ [[package]] name = "proc-macro2" -version = "1.0.40" +version = "1.0.43" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dd96a1e8ed2596c337f8eae5f24924ec83f5ad5ab21ea8e455d3566c69fbcaf7" +checksum = "0a2ca2c61bc9f3d74d2886294ab7b9853abd9c1ad903a3ac7815c58989bb7bab" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.20" +version = "1.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3bcdf212e9776fbcb2d23ab029360416bb1706b1aea2d1a5ba002727cbcab804" +checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179" dependencies = [ "proc-macro2", ] @@ -689,18 +689,18 @@ [[package]] name = "redox_syscall" -version = "0.2.13" +version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62f25bc4c7e55e0b0b7a1d43fb893f4fa1361d0abe38b9ce4f323c2adfe6ef42" +checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" dependencies = [ "bitflags", ] [[package]] name = "regex" -version = "1.5.6" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d83f127d94bdbcda4c8cc2e50f6f84f4b611f69c902699ca385a39c3a75f9ff1" +checksum = "4c4eb3267174b8c6c2f654116623910a0fef09c4753f8dd83db29c48a0df988b" dependencies = [ "aho-corasick", "memchr", @@ -715,9 +715,9 @@ [[package]] name = "regex-syntax" -version = "0.6.26" +version = "0.6.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49b3de9ec5dc0a3417da371aab17d729997c15010e7fd24ff707773a33bddb64" +checksum = "a3f87b73ce11b1619a3c6332f45341e0047173771e8b8b73f87bfeefb7b56244" [[package]] name = "remove_dir_all" @@ -730,9 +730,9 @@ [[package]] name = "rust_decimal" -version = "1.25.0" +version = "1.26.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34a3bb58e85333f1ab191bf979104b586ebd77475bc6681882825f4532dfe87c" +checksum = "ee9164faf726e4f3ece4978b25ca877ddc6802fa77f38cdccb32c7f805ecd70c" dependencies = [ "arrayvec", "num-traits", @@ -741,9 +741,9 @@ [[package]] name = "ryu" -version = "1.0.10" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3f6f92acf49d1b98f7a81226834412ada05458b7364277387724a237f062695" +checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" [[package]] name = "serde" @@ -771,7 +771,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e55a28e3aaef9d5ce0506d0a14dbba8054ddc7e499ef522dd8b26859ec9d4a44" dependencies = [ - "itoa 1.0.2", + "itoa 1.0.3", "ryu", "serde", ] @@ -800,9 +800,9 @@ [[package]] name = "syn" -version = "1.0.98" +version = "1.0.99" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c50aef8a904de4c23c788f104b7dddc7d6f79c647c7c8ce4cc8f73eb0ca773dd" +checksum = "58dbef6ec655055e20b86b15a8cc6d439cca19b667537ac6a1369572d151ab13" dependencies = [ "proc-macro2", "quote", @@ -859,18 +859,18 @@ [[package]] name = "thiserror" -version = "1.0.33" +version = "1.0.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d0a539a918745651435ac7db7a18761589a94cd7e94cd56999f828bf73c8a57" +checksum = "8c1b05ca9d106ba7d2e31a9dab4a64e7be2cce415321966ea3132c49a656e252" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.33" +version = "1.0.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c251e90f708e16c49a16f4917dc2131e75222b72edfa9cb7f7c58ae56aae0c09" +checksum = "e8f2591983642de85c921015f3f070c665a197ed69e417af436115e3a1407487" dependencies = [ "proc-macro2", "quote", @@ -879,9 +879,9 @@ [[package]] name = "unicode-ident" -version = "1.0.1" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bd2fe26506023ed7b5e1e315add59d6f584c621d037f9368fea9cfb988f368c" +checksum = "c4f5b37a154999a8f3f98cc23a628d850e154479cd94decf3414696e12e31aaf" [[package]] name = "wait-timeout" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hyperfine-1.14.0+git34/Cargo.toml new/hyperfine-1.15.0/Cargo.toml --- old/hyperfine-1.14.0+git34/Cargo.toml 2022-09-02 09:15:02.000000000 +0200 +++ new/hyperfine-1.15.0/Cargo.toml 2022-09-07 09:20:50.000000000 +0200 @@ -7,7 +7,7 @@ name = "hyperfine" readme = "README.md" repository = "https://github.com/sharkdp/hyperfine" -version = "1.14.0" +version = "1.15.0" edition = "2018" build = "build.rs" @@ -23,7 +23,7 @@ csv = "1.1" serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" -rust_decimal = "1.24" +rust_decimal = "1.26" rand = "0.8" shell-words = "1.0" thiserror = "1.0" @@ -34,7 +34,9 @@ [target.'cfg(windows)'.dependencies] winapi = { version = "0.3", features = ["processthreadsapi", "minwindef", "winnt", "jobapi2", "tlhelp32"] } -once_cell = "1.13" + +[target.'cfg(all(windows, not(windows_process_extensions_main_thread_handle)))'.dependencies] +once_cell = "1.14" [target.'cfg(target_os="linux")'.dependencies] nix = { version = "0.25.0", features = ["zerocopy"] } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hyperfine-1.14.0+git34/README.md new/hyperfine-1.15.0/README.md --- old/hyperfine-1.14.0+git34/README.md 2022-09-02 09:15:02.000000000 +0200 +++ new/hyperfine-1.15.0/README.md 2022-09-07 09:20:50.000000000 +0200 @@ -171,8 +171,8 @@ Download the appropriate `.deb` package from the [Release page](https://github.com/sharkdp/hyperfine/releases) and install it via `dpkg`: ``` -wget https://github.com/sharkdp/hyperfine/releases/download/v1.14.0/hyperfine_1.14.0_amd64.deb -sudo dpkg -i hyperfine_1.14.0_amd64.deb +wget https://github.com/sharkdp/hyperfine/releases/download/v1.15.0/hyperfine_1.15.0_amd64.deb +sudo dpkg -i hyperfine_1.15.0_amd64.deb ``` ### On Fedora diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hyperfine-1.14.0+git34/src/cli.rs new/hyperfine-1.15.0/src/cli.rs --- old/hyperfine-1.14.0+git34/src/cli.rs 2022-09-02 09:15:02.000000000 +0200 +++ new/hyperfine-1.15.0/src/cli.rs 2022-09-07 09:20:50.000000000 +0200 @@ -294,6 +294,17 @@ .help("Give a meaningful name to a command. This can be specified multiple times \ if several commands are benchmarked."), ) + // This option is hidden for now, as it is not yet clear yet if we want to 'stabilize' this, + // see discussion in https://github.com/sharkdp/hyperfine/issues/527 + .arg( + Arg::new("min-benchmarking-time") + .long("min-benchmarking-time") + .takes_value(true) + .hide(true) + .help("Set the minimum time (in seconds) to run benchmarks. Note that the number of \ + benchmark runs is additionally influenced by the `--min-runs`, `--max-runs`, and \ + `--runs` option.") + ) .arg( Arg::new("debug-mode") .long("debug-mode") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hyperfine-1.14.0+git34/src/command.rs new/hyperfine-1.15.0/src/command.rs --- old/hyperfine-1.14.0+git34/src/command.rs 2022-09-02 09:15:02.000000000 +0200 +++ new/hyperfine-1.15.0/src/command.rs 2022-09-07 09:20:50.000000000 +0200 @@ -179,7 +179,7 @@ 'outer: loop { let name = command_names .get(i) - .or_else(|| command_names.get(0)) + .or_else(|| command_names.first()) .copied(); i += 1; @@ -271,7 +271,7 @@ for cmd in &command_strings { let name = command_names .get(i) - .or_else(|| command_names.get(0)) + .or_else(|| command_names.first()) .copied(); commands.push(Command::new_parametrized( name, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hyperfine-1.14.0+git34/src/error.rs new/hyperfine-1.15.0/src/error.rs --- old/hyperfine-1.14.0+git34/src/error.rs 2022-09-02 09:15:02.000000000 +0200 +++ new/hyperfine-1.15.0/src/error.rs 2022-09-07 09:20:50.000000000 +0200 @@ -1,4 +1,4 @@ -use std::num::{self, ParseIntError}; +use std::num::{self, ParseFloatError, ParseIntError}; use rust_decimal::Error as DecimalError; use thiserror::Error; @@ -43,8 +43,10 @@ TooManyCommandNames(usize), #[error("'--command-name' has been specified {0} times. It has to appear exactly once, or exactly {1} times (number of benchmarks)")] UnexpectedCommandNameCount(usize, usize), - #[error("Could not read numeric argument to '--{0}': {1}")] - NumericParsingError(&'a str, ParseIntError), + #[error("Could not read numeric integer argument to '--{0}': {1}")] + IntParsingError(&'a str, ParseIntError), + #[error("Could not read numeric floating point argument to '--{0}': {1}")] + FloatParsingError(&'a str, ParseFloatError), #[error("An empty command has been specified for the '--shell <command>' option")] EmptyShell, #[error("Failed to parse '--shell <command>' expression as command line: {0}")] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hyperfine-1.14.0+git34/src/export/json.rs new/hyperfine-1.15.0/src/export/json.rs --- old/hyperfine-1.14.0+git34/src/export/json.rs 2022-09-02 09:15:02.000000000 +0200 +++ new/hyperfine-1.15.0/src/export/json.rs 2022-09-07 09:20:50.000000000 +0200 @@ -18,7 +18,7 @@ impl Exporter for JsonExporter { fn serialize(&self, results: &[BenchmarkResult], _unit: Option<Unit>) -> Result<Vec<u8>> { let mut output = to_vec_pretty(&HyperfineSummary { results }); - for content in output.iter_mut() { + if let Ok(ref mut content) = output { content.push(b'\n'); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hyperfine-1.14.0+git34/src/options.rs new/hyperfine-1.15.0/src/options.rs --- old/hyperfine-1.14.0+git34/src/options.rs 2022-09-02 09:15:02.000000000 +0200 +++ new/hyperfine-1.15.0/src/options.rs 2022-09-07 09:20:50.000000000 +0200 @@ -1,7 +1,7 @@ use std::fs::File; use std::path::PathBuf; use std::process::{Command, Stdio}; -use std::{cmp, fmt, io}; +use std::{cmp, env, fmt, io}; use anyhow::ensure; use atty::Stream; @@ -67,7 +67,7 @@ } /// Action to take when an executed command fails. -#[derive(Debug, Clone, Copy, PartialEq)] +#[derive(Debug, Clone, Copy, PartialEq, Eq)] pub enum CmdFailureAction { /// Exit with an error message RaiseError, @@ -77,7 +77,7 @@ } /// Output style type option -#[derive(Debug, Clone, Copy, PartialEq)] +#[derive(Debug, Clone, Copy, PartialEq, Eq)] pub enum OutputStyleOption { /// Do not output with colors or any special formatting Basic, @@ -111,7 +111,7 @@ } /// How to handle the output of benchmarked commands -#[derive(Debug, Clone, PartialEq)] +#[derive(Debug, Clone, PartialEq, Eq)] pub enum CommandOutputPolicy { /// Redirect output to the null device Null, @@ -226,7 +226,7 @@ .value_of(param) .map(|n| { n.parse::<u64>() - .map_err(|e| OptionsError::NumericParsingError(param, e)) + .map_err(|e| OptionsError::IntParsingError(param, e)) }) .transpose() }; @@ -298,6 +298,14 @@ || !atty::is(Stream::Stdout) { OutputStyleOption::Basic + } else if env::var_os("TERM") + .map(|t| t == "unknown" || t == "dumb") + .unwrap_or(true) + || env::var_os("NO_COLOR") + .map(|t| !t.is_empty()) + .unwrap_or(false) + { + OutputStyleOption::NoColor } else { OutputStyleOption::Full } @@ -337,6 +345,12 @@ _ => None, }; + if let Some(time) = matches.value_of("min-benchmarking-time") { + options.min_benchmarking_time = time + .parse::<f64>() + .map_err(|e| OptionsError::FloatParsingError("min-benchmarking-time", e))?; + } + Ok(options) } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hyperfine-1.14.0+git34/src/parameter/mod.rs new/hyperfine-1.15.0/src/parameter/mod.rs --- old/hyperfine-1.14.0+git34/src/parameter/mod.rs 2022-09-02 09:15:02.000000000 +0200 +++ new/hyperfine-1.15.0/src/parameter/mod.rs 2022-09-07 09:20:50.000000000 +0200 @@ -9,7 +9,7 @@ Numeric(Number), } -impl<'a> ToString for ParameterValue { +impl ToString for ParameterValue { fn to_string(&self) -> String { match self { ParameterValue::Text(ref value) => value.clone(), diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hyperfine-1.14.0+git34/src/timer/windows_timer.rs new/hyperfine-1.15.0/src/timer/windows_timer.rs --- old/hyperfine-1.14.0+git34/src/timer/windows_timer.rs 2022-09-02 09:15:02.000000000 +0200 +++ new/hyperfine-1.15.0/src/timer/windows_timer.rs 2022-09-07 09:20:50.000000000 +0200 @@ -3,7 +3,6 @@ use std::{mem, os::windows::io::AsRawHandle, process, ptr}; -use clap::__macro_refs::once_cell::sync::Lazy; use winapi::{ shared::{ntdef::NTSTATUS, ntstatus::STATUS_SUCCESS}, um::{ @@ -19,10 +18,14 @@ #[cfg(windows_process_extensions_main_thread_handle)] use winapi::shared::minwindef::DWORD; +#[cfg(not(windows_process_extensions_main_thread_handle))] +use once_cell::sync::Lazy; + use crate::util::units::Second; const HUNDRED_NS_PER_MS: i64 = 10; +#[cfg(not(windows_process_extensions_main_thread_handle))] #[allow(non_upper_case_globals)] static NtResumeProcess: Lazy<unsafe extern "system" fn(ProcessHandle: HANDLE) -> NTSTATUS> = Lazy::new(|| { @@ -57,7 +60,7 @@ { // SAFETY: The main thread handle is valid let ret = unsafe { ResumeThread(child.main_thread_handle().as_raw_handle()) }; - assert!(ret != -1 as DWORD, "NtResumeProcess failed"); + assert!(ret != -1 as DWORD, "ResumeThread failed"); } #[cfg(not(windows_process_extensions_main_thread_handle))] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/hyperfine-1.14.0+git34/src/util/units.rs new/hyperfine-1.15.0/src/util/units.rs --- old/hyperfine-1.14.0+git34/src/util/units.rs 2022-09-02 09:15:02.000000000 +0200 +++ new/hyperfine-1.15.0/src/util/units.rs 2022-09-07 09:20:50.000000000 +0200 @@ -6,7 +6,7 @@ pub type Second = Scalar; /// Supported time units -#[derive(Debug, Clone, Copy, PartialEq)] +#[derive(Debug, Clone, Copy, PartialEq, Eq)] pub enum Unit { Second, MilliSecond, ++++++ hyperfine.obsinfo ++++++ --- /var/tmp/diff_new_pack.HLqgL3/_old 2022-10-01 17:44:28.977814871 +0200 +++ /var/tmp/diff_new_pack.HLqgL3/_new 2022-10-01 17:44:28.981814878 +0200 @@ -1,5 +1,5 @@ name: hyperfine -version: 1.14.0+git34 -mtime: 1662102902 -commit: 94cda2eb59755189d4a39aba559ab91702c0f3c5 +version: 1.15.0 +mtime: 1662535250 +commit: c7e56942f7d32e8bacab055c743bc0d3f17680b1 ++++++ vendor.tar.xz ++++++ /work/SRC/openSUSE:Factory/hyperfine/vendor.tar.xz /work/SRC/openSUSE:Factory/.hyperfine.new.2275/vendor.tar.xz differ: char 27, line 1
