diff --git a/Cargo.lock b/Cargo.lock index 2140867b9..ccdd5ee9a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -38,6 +38,12 @@ dependencies = [ "libc", ] +[[package]] +name = "anes" +version = "0.1.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" + [[package]] name = "ansi-width" version = "0.1.0" @@ -106,6 +112,12 @@ dependencies = [ "derive_arbitrary", ] +[[package]] +name = "array-init" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d62b7694a562cdf5a74227903507c56ab2cc8bdd1f781ed5cb4cf9c9f810bfc" + [[package]] name = "arrayref" version = "0.3.9" @@ -272,6 +284,12 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" +[[package]] +name = "cast" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" + [[package]] name = "cc" version = "1.2.25" @@ -314,6 +332,33 @@ dependencies = [ "windows-link", ] +[[package]] +name = "ciborium" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42e69ffd6f0917f5c029256a24d0161db17cea3997d185db0d35926308770f0e" +dependencies = [ + "ciborium-io", + "ciborium-ll", + "serde", +] + +[[package]] +name = "ciborium-io" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "05afea1e0a06c9be33d539b876f1ce3692f4afea2cb41f740e7743225ed1c757" + +[[package]] +name = "ciborium-ll" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57663b653d948a338bfb3eeba9bb2fd5fcfaecb9e199e87e1eda4d9e8b240fd9" +dependencies = [ + "ciborium-io", + "half", +] + [[package]] name = "clang-sys" version = "1.8.1" @@ -597,6 +642,39 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "criterion" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3bf7af66b0989381bd0be551bd7cc91912a655a58c6918420c9527b1fd8b4679" +dependencies = [ + "anes", + "cast", + "ciborium", + "clap", + "criterion-plot", + "itertools 0.13.0", + "num-traits", + "oorandom", + "plotters", + "rayon", + "regex", + "serde", + "serde_json", + "tinytemplate", + "walkdir", +] + +[[package]] +name = "criterion-plot" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b50826342786a51a89e2da3a28f1c32b06e387201bc2d19791f622c673706b1" +dependencies = [ + "cast", + "itertools 0.10.5", +] + [[package]] name = "crossbeam-deque" version = "0.8.6" @@ -862,7 +940,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cea14ef9355e3beab063703aa9dab15afd25f0667c341310c1e5274bb1d0da18" dependencies = [ "libc", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -1241,6 +1319,15 @@ version = "1.70.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" +[[package]] +name = "itertools" +version = "0.10.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b0fd2260e829bddf4cb6ea802289de2f86d6a7a690192fbe91b3f46e0f2c8473" +dependencies = [ + "either", +] + [[package]] name = "itertools" version = "0.13.0" @@ -1277,7 +1364,7 @@ dependencies = [ "portable-atomic", "portable-atomic-util", "serde", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -1662,6 +1749,12 @@ dependencies = [ "pkg-config", ] +[[package]] +name = "oorandom" +version = "11.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6790f58c7ff633d8771f42965289203411a5e5c68388703c06e14f24770b41e" + [[package]] name = "ordered-multimap" version = "0.7.3" @@ -1781,6 +1874,34 @@ dependencies = [ "winapi", ] +[[package]] +name = "plotters" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5aeb6f403d7a4911efb1e33402027fc44f29b5bf6def3effcc22d7bb75f2b747" +dependencies = [ + "num-traits", + "plotters-backend", + "plotters-svg", + "wasm-bindgen", + "web-sys", +] + +[[package]] +name = "plotters-backend" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df42e13c12958a16b3f7f4386b9ab1f3e7933914ecea48da7139435263a4172a" + +[[package]] +name = "plotters-svg" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "51bae2ac328883f7acdfea3d66a7c35751187f870bc81f94563733a154d7a670" +dependencies = [ + "plotters-backend", +] + [[package]] name = "portable-atomic" version = "1.11.0" @@ -2074,7 +2195,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -2083,6 +2204,12 @@ version = "1.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a0d197bd2c9dc6e53b84da9556a69ba4cdfab8619eb41a8bd1cc2027a0f6b1d" +[[package]] +name = "ryu" +version = "1.0.20" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "28d3b2b1366ec20994f1fd18c3c594f05c5dd4bc44d8bb0c1c632c8d6829481f" + [[package]] name = "same-file" version = "1.0.6" @@ -2165,6 +2292,18 @@ dependencies = [ "syn", ] +[[package]] +name = "serde_json" +version = "1.0.140" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "20068b6e96dc6c9bd23e01df8827e6c7e1f2fddd43c21810382803c136b99373" +dependencies = [ + "itoa", + "memchr", + "ryu", + "serde", +] + [[package]] name = "sha1" version = "0.10.6" @@ -2318,7 +2457,7 @@ dependencies = [ "getrandom 0.3.3", "once_cell", "rustix", - "windows-sys 0.52.0", + "windows-sys 0.59.0", ] [[package]] @@ -2435,6 +2574,16 @@ dependencies = [ "zerovec", ] +[[package]] +name = "tinytemplate" +version = "1.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "be4d6b5f19ff7664e8c98d03e2139cb510db9b0a60b55f8e8709b689d939b6bc" +dependencies = [ + "serde", + "serde_json", +] + [[package]] name = "toml_datetime" version = "0.6.9" @@ -2849,6 +2998,20 @@ dependencies = [ "uucore", ] +[[package]] +name = "uu_factor_benches" +version = "0.0.0" +dependencies = [ + "array-init", + "criterion", + "num-bigint", + "num-prime", + "num-traits", + "rand 0.9.1", + "rand_chacha 0.9.0", + "uu_factor", +] + [[package]] name = "uu_false" version = "0.1.0" @@ -3781,6 +3944,16 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "web-sys" +version = "0.3.77" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2" +dependencies = [ + "js-sys", + "wasm-bindgen", +] + [[package]] name = "web-time" version = "1.1.0" diff --git a/Cargo.toml b/Cargo.toml index 752c0cfef..07c6e1238 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -256,6 +256,20 @@ feat_os_windows_legacy = [ # * bypass/override ~ translate 'test' feature name to avoid dependency collision with rust core 'test' crate (o/w surfaces as compiler errors during testing) test = ["uu_test"] +[workspace] +resolver = "3" +members = [ + ".", + "src/uu/*", + "src/uu/stdbuf/src/libstdbuf", + "src/uucore", + "src/uucore_procs", + "src/uuhelp_parser", + "tests/benches/factor", + "tests/uutests", + # "fuzz", # TODO +] + [workspace.package] authors = ["uutils developers"] categories = ["command-line-utilities"] @@ -370,7 +384,7 @@ uucore = { version = "0.1.0", package = "uucore", path = "src/uucore" } uucore_procs = { version = "0.1.0", package = "uucore_procs", path = "src/uucore_procs" } uu_ls = { version = "0.1.0", path = "src/uu/ls" } uu_base32 = { version = "0.1.0", path = "src/uu/base32" } -uutests = { version = "0.1.0", package = "uutests", path = "tests/uutests/" } +uutests = { version = "0.1.0", package = "uutests", path = "tests/uutests" } [dependencies] clap = { workspace = true } @@ -528,8 +542,8 @@ nix = { workspace = true, features = ["process", "signal", "user", "term"] } rlimit = "0.10.1" xattr = { workspace = true } -# Specifically used in test_uptime::test_uptime_with_file_containing_valid_boot_time_utmpx_record -# to deserialize a utmpx struct into a binary file +# Used in test_uptime::test_uptime_with_file_containing_valid_boot_time_utmpx_record +# to deserialize an utmpx struct into a binary file [target.'cfg(all(target_family= "unix",not(target_os = "macos")))'.dev-dependencies] serde = { version = "1.0.202", features = ["derive"] } bincode = { version = "2.0.1", features = ["serde"] } diff --git a/fuzz/Cargo.toml b/fuzz/Cargo.toml index 48da8e846..221290490 100644 --- a/fuzz/Cargo.toml +++ b/fuzz/Cargo.toml @@ -4,8 +4,13 @@ version = "0.0.0" description = "uutils ~ 'core' uutils fuzzers" repository = "https://github.com/uutils/coreutils/tree/main/fuzz/" edition.workspace = true +license.workspace = true publish = false +# Prevent this from interfering with workspaces +[workspace] +members = ["."] + [workspace.package] edition = "2024" license = "MIT" @@ -32,10 +37,6 @@ uu_tr = { path = "../src/uu/tr/" } uu_env = { path = "../src/uu/env/" } uu_cksum = { path = "../src/uu/cksum/" } -# Prevent this from interfering with workspaces -[workspace] -members = ["."] - [[bin]] name = "fuzz_date" path = "fuzz_targets/fuzz_date.rs" diff --git a/fuzz/uufuzz/Cargo.toml b/fuzz/uufuzz/Cargo.toml index d206d8631..fb082ee48 100644 --- a/fuzz/uufuzz/Cargo.toml +++ b/fuzz/uufuzz/Cargo.toml @@ -7,7 +7,6 @@ version = "0.1.0" edition.workspace = true license.workspace = true - [dependencies] console = "0.15.0" libc = "0.2.153" diff --git a/src/uucore/Cargo.toml b/src/uucore/Cargo.toml index cd4f2e1c0..7101cca70 100644 --- a/src/uucore/Cargo.toml +++ b/src/uucore/Cargo.toml @@ -4,7 +4,6 @@ name = "uucore" description = "uutils ~ 'core' uutils code library (cross-platform)" repository = "https://github.com/uutils/coreutils/tree/main/src/uucore" -# readme = "README.md" authors.workspace = true categories.workspace = true edition.workspace = true diff --git a/src/uucore_procs/Cargo.toml b/src/uucore_procs/Cargo.toml index bd6b48edd..f3dbec52b 100644 --- a/src/uucore_procs/Cargo.toml +++ b/src/uucore_procs/Cargo.toml @@ -3,7 +3,6 @@ name = "uucore_procs" description = "uutils ~ 'uucore' proc-macros" repository = "https://github.com/uutils/coreutils/tree/main/src/uucore_procs" -# readme = "README.md" keywords = ["cross-platform", "proc-macros", "uucore", "uutils"] # categories = ["os"] authors.workspace = true diff --git a/tests/benches/factor/Cargo.toml b/tests/benches/factor/Cargo.toml index 066a8b52f..e7397f7fa 100644 --- a/tests/benches/factor/Cargo.toml +++ b/tests/benches/factor/Cargo.toml @@ -2,21 +2,20 @@ name = "uu_factor_benches" version = "0.0.0" authors = ["nicoo "] -license = "MIT" description = "Benchmarks for the uu_factor integer factorization tool" -homepage = "https://github.com/uutils/coreutils" -edition = "2024" - -[workspace] +edition.workspace = true +homepage.workspace = true +license.workspace = true +publish = false [dependencies] uu_factor = { path = "../../../src/uu/factor" } [dev-dependencies] array-init = "2.0.0" -criterion = "0.3" -rand = "0.8" -rand_chacha = "0.3.1" +criterion = "0.6.0" +rand = "0.9.1" +rand_chacha = "0.9.0" num-bigint = "0.4.4" num-prime = "0.4.4" num-traits = "0.2.18" diff --git a/tests/uutests/Cargo.toml b/tests/uutests/Cargo.toml index e7a0dbef9..45c080a34 100644 --- a/tests/uutests/Cargo.toml +++ b/tests/uutests/Cargo.toml @@ -4,7 +4,6 @@ name = "uutests" description = "uutils ~ 'core' uutils test library (cross-platform)" repository = "https://github.com/uutils/coreutils/tree/main/tests/uutests" -# readme = "README.md" authors.workspace = true categories.workspace = true edition.workspace = true