diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f4265a777..6ce501340 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -546,6 +546,13 @@ jobs: run: bash scripts/check_publish_safety.sh - name: Every include!() file is tracked by git (CB-510) run: bash scripts/check_include_files.sh + # aprender-profile appeared in this file ZERO times while carrying 58 + # integration test targets. Running them found 110 failures -- 109 from a + # single stale binary name left by the APR-MONO rename, dead since. Gated + # now so the crate cannot go dark again. --lib only: the integration + # targets shell out to the built binary and take minutes. + - name: aprender-profile lib tests (was gated by nothing) + run: cargo test -p aprender-profile --lib - name: Book rust examples compile run: bash scripts/check_book_examples_compile.sh # Poka-yoke: APR-MONO made every sibling a path alias under crates/, but diff --git a/Cargo.lock b/Cargo.lock index 49dc8701d..8cc557e68 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8,14 +8,7 @@ version = "0.25.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1b5d307320b3181d6d7954e663bd7c774a838b8220fe0593c86d9fb09f498b4b" dependencies = [ - "cpp_demangle", - "fallible-iterator", "gimli 0.32.3", - "memmap2", - "object 0.37.3", - "rustc-demangle", - "smallvec", - "typed-arena", ] [[package]] @@ -261,6 +254,7 @@ dependencies = [ "aprender-common", "aprender-compute", "aprender-contracts", + "aprender-contracts-macros", "aprender-core", "aprender-data", "aprender-explain", @@ -271,6 +265,7 @@ dependencies = [ "aprender-profile", "aprender-registry", "aprender-serve", + "aprender-test-lib", "aprender-train", "aprender-train-common", "aprender-train-distill", @@ -295,12 +290,10 @@ dependencies = [ "glob", "half", "humansize", - "jugar-probar 0.4.2", "libc", - "parquet 57.3.1", + "parquet", "predicates", "proptest", - "provable-contracts-macros 0.3.1", "rayon", "regex", "rmp-serde", @@ -339,26 +332,6 @@ dependencies = [ "zstd", ] -[[package]] -name = "aprender" -version = "0.25.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7053416de79df742f9da17a53dea7087830b83761a80f69bc2a91b708aab781c" -dependencies = [ - "bincode", - "getrandom 0.2.17", - "memmap2", - "minijinja", - "rand 0.8.6", - "rand_chacha 0.3.1", - "rayon", - "rmp-serde", - "serde", - "serde_json", - "trueno 0.14.6", - "trueno-quant", -] - [[package]] name = "aprender" version = "0.27.8" @@ -376,7 +349,6 @@ dependencies = [ "provable-contracts-macros 0.2.2", "rand 0.9.4", "rand_chacha 0.9.0", - "rayon", "rmp-serde", "rustfft", "safetensors 0.4.5", @@ -386,7 +358,7 @@ dependencies = [ "sha2 0.10.9", "tempfile", "thiserror 2.0.18", - "trueno 0.17.5", + "trueno", "trueno-quant", "ureq 2.12.1", ] @@ -427,11 +399,11 @@ dependencies = [ "aprender-gpu", "aprender-present-core", "aprender-present-terminal", + "aprender-test-lib", "chrono", "clap", "crossterm 0.28.1", "dirs 5.0.1", - "jugar-probar 1.0.4", "libc", "pollster", "proptest", @@ -475,6 +447,7 @@ name = "aprender-compute" version = "0.63.0" dependencies = [ "anyhow", + "aprender-contracts-macros", "aprender-core", "aprender-cuda-edge", "aprender-gemm-codegen", @@ -501,7 +474,6 @@ dependencies = [ "num_cpus", "pollster", "proptest", - "provable-contracts-macros 0.3.1", "rayon", "regex", "serde", @@ -578,9 +550,12 @@ dependencies = [ "apr-format", "aprender-common", "aprender-compute", + "aprender-contracts", + "aprender-contracts-macros", "aprender-data", "aprender-profile", "aprender-quant", + "aprender-test-lib", "aprender-train", "aprender-zram-core", "argon2", @@ -595,13 +570,10 @@ dependencies = [ "hf-xet", "hkdf", "js-sys", - "jugar-probar 0.5.1", "lz4_flex 0.11.6", "memmap2", "minijinja", "proptest", - "provable-contracts 0.3.1", - "provable-contracts-macros 0.3.1", "rand 0.9.4", "rand_chacha 0.9.0", "rayon", @@ -636,7 +608,7 @@ dependencies = [ name = "aprender-cupti" version = "0.63.0" dependencies = [ - "bindgen 0.71.1", + "bindgen", "bitflags 2.13.0", "libc", "thiserror 2.0.18", @@ -647,6 +619,7 @@ name = "aprender-data" version = "0.63.0" dependencies = [ "aes-gcm", + "aprender-test-lib", "argon2", "arrow 57.3.1", "arrow-csv", @@ -666,11 +639,10 @@ dependencies = [ "hex", "hkdf", "js-sys", - "jugar-probar 1.0.4", "lz4_flex 0.11.6", "memmap2", "nu-ansi-term", - "parquet 57.3.1", + "parquet", "predicates", "proptest", "rand 0.9.4", @@ -714,7 +686,7 @@ dependencies = [ "futures-intrusive", "js-sys", "lz4_flex 0.11.6", - "parquet 57.3.1", + "parquet", "proptest", "prost 0.13.5", "quickcheck", @@ -745,14 +717,14 @@ version = "0.63.0" dependencies = [ "aprender-compute", "aprender-db", + "aprender-test-lib", "arrow 57.3.1", "bincode", "criterion 0.5.1", "crossterm 0.28.1", "futures", - "jugar-probar 0.4.2", "num_cpus", - "parquet 57.3.1", + "parquet", "pepita", "pollster", "proptest", @@ -812,10 +784,10 @@ version = "0.63.0" dependencies = [ "aprender-common", "aprender-simulate", + "aprender-test-lib", "bytemuck", "criterion 0.7.0", "crossterm 0.28.1", - "jugar-probar 0.4.2", "libloading", "manzana", "pollster", @@ -832,12 +804,11 @@ dependencies = [ "anyhow", "aprender-compute", "aprender-core", - "aprender-db", "arrow 57.3.1", "bytemuck", "criterion 0.6.0", "futures-intrusive", - "parquet 57.3.1", + "parquet", "proptest", "serial_test", "tempfile", @@ -897,6 +868,8 @@ dependencies = [ "anyhow", "aprender-common", "aprender-compute", + "aprender-contracts", + "aprender-contracts-macros", "aprender-core", "aprender-cuda-edge", "aprender-data", @@ -930,15 +903,11 @@ dependencies = [ "futures-util", "glob", "indexmap 2.14.0", - "jugar-probar 1.0.4", "libc", "pepita", "pmcp", "predicates", - "presentar", "proptest", - "provable-contracts 0.2.2", - "provable-contracts-macros 0.2.2", "quick-xml 0.41.0", "reqwest 0.12.28", "resvg", @@ -956,7 +925,6 @@ dependencies = [ "tower 0.5.3", "tracing", "tracing-subscriber", - "trueno-ublk", "walkdir", "wasm-bindgen", "web-sys", @@ -981,9 +949,9 @@ dependencies = [ name = "aprender-present-core" version = "0.63.0" dependencies = [ + "aprender-contracts-macros", "criterion 0.7.0", "proptest", - "provable-contracts-macros 0.3.1", "serde", "serde_json", "serde_yaml_ng", @@ -1004,6 +972,7 @@ dependencies = [ name = "aprender-present-lib" version = "0.63.0" dependencies = [ + "aprender-contracts", "aprender-present-core", "aprender-present-layout", "aprender-present-test", @@ -1016,7 +985,6 @@ dependencies = [ "hex", "js-sys", "proptest", - "provable-contracts 0.3.1", "regex", "serde", "serde_json", @@ -1045,7 +1013,6 @@ dependencies = [ "serde_yaml_ng", "sysinfo 0.33.1", "thiserror 2.0.18", - "ttop", "unicode-segmentation", "unicode-width 0.2.0", ] @@ -1265,7 +1232,6 @@ version = "0.63.0" dependencies = [ "aprender-common", "aprender-compute", - "aprender-db", "aprender-serve", "async-trait", "bincode", @@ -1353,6 +1319,8 @@ dependencies = [ "anyhow", "approx", "aprender-compute", + "aprender-contracts", + "aprender-contracts-macros", "aprender-core", "aprender-cuda-edge", "aprender-data", @@ -1362,6 +1330,7 @@ dependencies = [ "aprender-profile-core", "aprender-quant", "aprender-registry", + "aprender-test-lib", "aprender-viz", "arc-swap", "arrow 57.3.1", @@ -1381,7 +1350,6 @@ dependencies = [ "http-body-util", "hyper 1.10.1", "indicatif 0.17.11", - "jugar-probar 0.4.2", "libc", "lz4_flex 0.11.6", "memmap2", @@ -1391,8 +1359,6 @@ dependencies = [ "once_cell", "predicates", "proptest", - "provable-contracts 0.2.2", - "provable-contracts-macros 0.2.2", "rand 0.9.4", "rayon", "reqwest 0.11.27", @@ -1434,6 +1400,8 @@ dependencies = [ name = "aprender-simulate" version = "0.63.0" dependencies = [ + "aprender-contracts", + "aprender-contracts-macros", "aprender-present-core", "aprender-present-terminal", "aprender-present-test", @@ -1450,8 +1418,6 @@ dependencies = [ "memmap2", "num-traits", "proptest", - "provable-contracts 0.2.2", - "provable-contracts-macros 0.2.2", "rand 0.9.4", "rand_pcg", "serde", @@ -1558,6 +1524,7 @@ dependencies = [ "aprender-compute", "aprender-present-core", "aprender-present-terminal", + "aprender-test-derive", "async-trait", "base64 0.22.1", "bincode", @@ -1570,7 +1537,6 @@ dependencies = [ "gif 0.13.3", "image", "js-sys", - "jugar-probar-derive", "mp4", "notify", "png 0.17.16", @@ -1600,9 +1566,9 @@ name = "aprender-test-showcase" version = "0.63.0" dependencies = [ "aprender-present-terminal", + "aprender-test-lib", "console_error_panic_hook", "crossterm 0.28.1", - "jugar-probar 1.0.4", "proptest", "serde", "serde_json", @@ -1619,6 +1585,8 @@ dependencies = [ "approx", "aprender-common", "aprender-compute", + "aprender-contracts", + "aprender-contracts-macros", "aprender-core", "aprender-data", "aprender-db", @@ -1628,6 +1596,7 @@ dependencies = [ "aprender-profile", "aprender-rag", "aprender-serve", + "aprender-test-lib", "aprender-viz", "arrow 57.3.1", "axum 0.8.9", @@ -1649,13 +1618,10 @@ dependencies = [ "insta", "js-sys", "jsonschema", - "jugar-probar 1.0.4", "ndarray 0.16.1", "nvml-wrapper", - "parquet 57.3.1", + "parquet", "proptest", - "provable-contracts 0.2.2", - "provable-contracts-macros 0.2.2", "rand 0.9.4", "rayon", "regex", @@ -1829,7 +1795,7 @@ dependencies = [ "clap", "criterion 0.7.0", "indicatif 0.18.4", - "parquet 57.3.1", + "parquet", "pest", "pest_derive", "proptest", @@ -1978,24 +1944,6 @@ version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f02882884d3e1bc524fb12c79f107f6ad0e1cfd498c536ffb494301740995dfe" -[[package]] -name = "arrow" -version = "54.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5ec52ba94edeed950e4a41f75d35376df196e8cb04437f7280a5aa49f20f796" -dependencies = [ - "arrow-arith 54.3.1", - "arrow-array 54.3.1", - "arrow-buffer 54.3.1", - "arrow-cast 54.3.1", - "arrow-data 54.3.1", - "arrow-ord 54.3.1", - "arrow-row 54.3.1", - "arrow-schema 54.3.1", - "arrow-select 54.3.1", - "arrow-string 54.3.1", -] - [[package]] name = "arrow" version = "57.3.1" @@ -2008,7 +1956,7 @@ dependencies = [ "arrow-cast 57.3.1", "arrow-csv", "arrow-data 57.3.1", - "arrow-ipc 57.3.1", + "arrow-ipc", "arrow-json", "arrow-ord 57.3.1", "arrow-row 57.3.1", @@ -2035,20 +1983,6 @@ dependencies = [ "arrow-string 58.3.0", ] -[[package]] -name = "arrow-arith" -version = "54.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8fc766fdacaf804cb10c7c70580254fcdb5d55cdfda2bc57b02baf5223a3af9e" -dependencies = [ - "arrow-array 54.3.1", - "arrow-buffer 54.3.1", - "arrow-data 54.3.1", - "arrow-schema 54.3.1", - "chrono", - "num", -] - [[package]] name = "arrow-arith" version = "57.3.1" @@ -2077,22 +2011,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "arrow-array" -version = "54.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a12fcdb3f1d03f69d3ec26ac67645a8fe3f878d77b5ebb0b15d64a116c212985" -dependencies = [ - "ahash 0.8.12", - "arrow-buffer 54.3.1", - "arrow-data 54.3.1", - "arrow-schema 54.3.1", - "chrono", - "half", - "hashbrown 0.15.5", - "num", -] - [[package]] name = "arrow-array" version = "57.3.1" @@ -2129,17 +2047,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "arrow-buffer" -version = "54.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "263f4801ff1839ef53ebd06f99a56cecd1dbaf314ec893d93168e2e860e0291c" -dependencies = [ - "bytes", - "half", - "num", -] - [[package]] name = "arrow-buffer" version = "57.3.1" @@ -2164,26 +2071,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "arrow-cast" -version = "54.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ede6175fbc039dfc946a61c1b6d42fd682fcecf5ab5d148fbe7667705798cac9" -dependencies = [ - "arrow-array 54.3.1", - "arrow-buffer 54.3.1", - "arrow-data 54.3.1", - "arrow-schema 54.3.1", - "arrow-select 54.3.1", - "atoi", - "base64 0.22.1", - "chrono", - "half", - "lexical-core", - "num", - "ryu", -] - [[package]] name = "arrow-cast" version = "57.3.1" @@ -2243,18 +2130,6 @@ dependencies = [ "regex", ] -[[package]] -name = "arrow-data" -version = "54.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61cfdd7d99b4ff618f167e548b2411e5dd2c98c0ddebedd7df433d34c20a4429" -dependencies = [ - "arrow-buffer 54.3.1", - "arrow-schema 54.3.1", - "half", - "num", -] - [[package]] name = "arrow-data" version = "57.3.1" @@ -2281,19 +2156,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "arrow-ipc" -version = "54.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62ff528658b521e33905334723b795ee56b393dbe9cf76c8b1f64b648c65a60c" -dependencies = [ - "arrow-array 54.3.1", - "arrow-buffer 54.3.1", - "arrow-data 54.3.1", - "arrow-schema 54.3.1", - "flatbuffers 24.12.23", -] - [[package]] name = "arrow-ipc" version = "57.3.1" @@ -2305,7 +2167,7 @@ dependencies = [ "arrow-data 57.3.1", "arrow-schema 57.3.1", "arrow-select 57.3.1", - "flatbuffers 25.12.19", + "flatbuffers", ] [[package]] @@ -2332,19 +2194,6 @@ dependencies = [ "simdutf8", ] -[[package]] -name = "arrow-ord" -version = "54.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0a3334a743bd2a1479dbc635540617a3923b4b2f6870f37357339e6b5363c21" -dependencies = [ - "arrow-array 54.3.1", - "arrow-buffer 54.3.1", - "arrow-data 54.3.1", - "arrow-schema 54.3.1", - "arrow-select 54.3.1", -] - [[package]] name = "arrow-ord" version = "57.3.1" @@ -2371,19 +2220,6 @@ dependencies = [ "arrow-select 58.3.0", ] -[[package]] -name = "arrow-row" -version = "54.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d1d7a7291d2c5107e92140f75257a99343956871f3d3ab33a7b41532f79cb68" -dependencies = [ - "arrow-array 54.3.1", - "arrow-buffer 54.3.1", - "arrow-data 54.3.1", - "arrow-schema 54.3.1", - "half", -] - [[package]] name = "arrow-row" version = "57.3.1" @@ -2410,12 +2246,6 @@ dependencies = [ "half", ] -[[package]] -name = "arrow-schema" -version = "54.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39cfaf5e440be44db5413b75b72c2a87c1f8f0627117d110264048f2969b99e9" - [[package]] name = "arrow-schema" version = "57.3.1" @@ -2431,20 +2261,6 @@ dependencies = [ "bitflags 2.13.0", ] -[[package]] -name = "arrow-select" -version = "54.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69efcd706420e52cd44f5c4358d279801993846d1c2a8e52111853d61d55a619" -dependencies = [ - "ahash 0.8.12", - "arrow-array 54.3.1", - "arrow-buffer 54.3.1", - "arrow-data 54.3.1", - "arrow-schema 54.3.1", - "num", -] - [[package]] name = "arrow-select" version = "57.3.1" @@ -2473,23 +2289,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "arrow-string" -version = "54.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a21546b337ab304a32cfc0770f671db7411787586b45b78b4593ae78e64e2b03" -dependencies = [ - "arrow-array 54.3.1", - "arrow-buffer 54.3.1", - "arrow-data 54.3.1", - "arrow-schema 54.3.1", - "arrow-select 54.3.1", - "memchr", - "num", - "regex", - "regex-syntax", -] - [[package]] name = "arrow-string" version = "57.3.1" @@ -2573,18 +2372,6 @@ dependencies = [ "wait-timeout", ] -[[package]] -name = "async-channel" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "924ed96dd52d1b75e9c1a3e6275715fd320f5f9439fb5a4a11fa51f4221158d2" -dependencies = [ - "concurrent-queue", - "event-listener-strategy", - "futures-core", - "pin-project-lite", -] - [[package]] name = "async-compression" version = "0.4.42" @@ -2597,107 +2384,6 @@ dependencies = [ "tokio", ] -[[package]] -name = "async-executor" -version = "1.14.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c96bf972d85afc50bf5ab8fe2d54d1586b4e0b46c97c50a0c9e71e2f7bcd812a" -dependencies = [ - "async-task", - "concurrent-queue", - "fastrand", - "futures-lite", - "pin-project-lite", - "slab", -] - -[[package]] -name = "async-fs" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8034a681df4aed8b8edbd7fbe472401ecf009251c8b40556b304567052e294c5" -dependencies = [ - "async-lock", - "blocking", - "futures-lite", -] - -[[package]] -name = "async-io" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "456b8a8feb6f42d237746d4b3e9a178494627745c3c56c6ea55d92ba50d026fc" -dependencies = [ - "autocfg", - "cfg-if 1.0.4", - "concurrent-queue", - "futures-io", - "futures-lite", - "parking", - "polling", - "rustix 1.1.4", - "slab", - "windows-sys 0.61.2", -] - -[[package]] -name = "async-lock" -version = "3.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290f7f2596bd5b78a9fec8088ccd89180d7f9f55b94b0576823bbbdc72ee8311" -dependencies = [ - "event-listener", - "event-listener-strategy", - "pin-project-lite", -] - -[[package]] -name = "async-net" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b948000fad4873c1c9339d60f2623323a0cfd3816e5181033c6a5cb68b2accf7" -dependencies = [ - "async-io", - "blocking", - "futures-lite", -] - -[[package]] -name = "async-process" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fc50921ec0055cdd8a16de48773bfeec5c972598674347252c0399676be7da75" -dependencies = [ - "async-channel", - "async-io", - "async-lock", - "async-signal", - "async-task", - "blocking", - "cfg-if 1.0.4", - "event-listener", - "futures-lite", - "rustix 1.1.4", -] - -[[package]] -name = "async-signal" -version = "0.2.14" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "52b5aaafa020cf5053a01f2a60e8ff5dccf550f0f77ec54a4e47285ac2bab485" -dependencies = [ - "async-io", - "async-lock", - "atomic-waker", - "cfg-if 1.0.4", - "futures-core", - "futures-io", - "rustix 1.1.4", - "signal-hook-registry", - "slab", - "windows-sys 0.61.2", -] - [[package]] name = "async-stream" version = "0.3.6" @@ -2720,12 +2406,6 @@ dependencies = [ "syn 2.0.118", ] -[[package]] -name = "async-task" -version = "4.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b75356056920673b02621b35afd0f7dda9306d03c79a30f5c56c44cf256e3de" - [[package]] name = "async-trait" version = "0.1.89" @@ -2966,7 +2646,7 @@ dependencies = [ "http 0.2.12", "http 1.4.2", "http-body 1.0.1", - "lru 0.16.4", + "lru", "percent-encoding", "regex-lite", "sha2 0.11.0", @@ -3578,29 +3258,6 @@ dependencies = [ "serde", ] -[[package]] -name = "bindgen" -version = "0.69.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "271383c67ccabffb7381723dea0672a673f292304fcb45c01cc648c7a8d58088" -dependencies = [ - "bitflags 2.13.0", - "cexpr", - "clang-sys", - "itertools 0.12.1", - "lazy_static", - "lazycell", - "log", - "prettyplease", - "proc-macro2", - "quote", - "regex", - "rustc-hash 1.1.0", - "shlex 1.3.0", - "syn 2.0.118", - "which 4.4.2", -] - [[package]] name = "bindgen" version = "0.71.1" @@ -3681,12 +3338,6 @@ dependencies = [ "typenum", ] -[[package]] -name = "bitmaps" -version = "3.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1d084b0137aaa901caf9f1e8b21daa6aa24d41cd806e111335541eff9683bd6" - [[package]] name = "bitstream-io" version = "4.10.0" @@ -3764,19 +3415,6 @@ dependencies = [ "objc2", ] -[[package]] -name = "blocking" -version = "1.6.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e83f8d02be6967315521be875afa792a316e28d57b5a2d401897e2a7921b7f21" -dependencies = [ - "async-channel", - "async-task", - "futures-io", - "futures-lite", - "piper", -] - [[package]] name = "bollard" version = "0.17.1" @@ -3853,39 +3491,18 @@ dependencies = [ [[package]] name = "brotli" -version = "7.0.0" +version = "8.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc97b8f16f944bba54f0433f07e30be199b6dc2bd25937444bbad560bcea29bd" +checksum = "5cc91aac060a7a1e25823bdccbfb6af1875b88f17c6daac97894eed8207166b3" dependencies = [ "alloc-no-stdlib", "alloc-stdlib", - "brotli-decompressor 4.0.3", + "brotli-decompressor", ] [[package]] -name = "brotli" -version = "8.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cc91aac060a7a1e25823bdccbfb6af1875b88f17c6daac97894eed8207166b3" -dependencies = [ - "alloc-no-stdlib", - "alloc-stdlib", - "brotli-decompressor 5.0.3", -] - -[[package]] -name = "brotli-decompressor" -version = "4.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a334ef7c9e23abf0ce748e8cd309037da93e606ad52eb372e4ce327a0dcfbdfd" -dependencies = [ - "alloc-no-stdlib", - "alloc-stdlib", -] - -[[package]] -name = "brotli-decompressor" -version = "5.0.3" +name = "brotli-decompressor" +version = "5.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3a32acac15fe1967bc3986b2a6347dffc965602354ea6f450ad07e8bfd253583" dependencies = [ @@ -4099,12 +3716,6 @@ dependencies = [ "thiserror 2.0.18", ] -[[package]] -name = "cassowary" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df8670b8c7b9dae1793364eafadf7239c40d669904660c5960d74cfd80b46a53" - [[package]] name = "cast" version = "0.3.0" @@ -4580,15 +4191,6 @@ version = "0.4.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cc14f565cf027a105f7a44ccf9e5b424348421a1d8952a8fc9d499d313107789" -[[package]] -name = "concurrent-queue" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4ca0197aee26d1ae37445ee532fefce43251d24cc7c166799f4d46817f1d3973" -dependencies = [ - "crossbeam-utils", -] - [[package]] name = "console" version = "0.15.11" @@ -5380,28 +4982,8 @@ version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc7f46116c46ff9ab3eb1597a45688b6715c6e628b5c133e288e709a29bcb4ee" dependencies = [ - "darling_core 0.20.11", - "darling_macro 0.20.11", -] - -[[package]] -name = "darling" -version = "0.21.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9cdf337090841a411e2a7f3deb9187445851f91b309c0c0a29e05f74a00a48c0" -dependencies = [ - "darling_core 0.21.3", - "darling_macro 0.21.3", -] - -[[package]] -name = "darling" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "25ae13da2f202d56bd7f91c25fba009e7717a1e4a1cc98a76d844b65ae912e9d" -dependencies = [ - "darling_core 0.23.0", - "darling_macro 0.23.0", + "darling_core", + "darling_macro", ] [[package]] @@ -5418,62 +5000,13 @@ dependencies = [ "syn 2.0.118", ] -[[package]] -name = "darling_core" -version = "0.21.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1247195ecd7e3c85f83c8d2a366e4210d588e802133e1e355180a9870b517ea4" -dependencies = [ - "fnv", - "ident_case", - "proc-macro2", - "quote", - "strsim", - "syn 2.0.118", -] - -[[package]] -name = "darling_core" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9865a50f7c335f53564bb694ef660825eb8610e0a53d3e11bf1b0d3df31e03b0" -dependencies = [ - "ident_case", - "proc-macro2", - "quote", - "strsim", - "syn 2.0.118", -] - [[package]] name = "darling_macro" version = "0.20.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc34b93ccb385b40dc71c6fceac4b2ad23662c7eeb248cf10d529b7e055b6ead" dependencies = [ - "darling_core 0.20.11", - "quote", - "syn 2.0.118", -] - -[[package]] -name = "darling_macro" -version = "0.21.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d38308df82d1080de0afee5d069fa14b0326a88c14f15c5ccda35b4a6c414c81" -dependencies = [ - "darling_core 0.21.3", - "quote", - "syn 2.0.118", -] - -[[package]] -name = "darling_macro" -version = "0.23.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3984ec7bd6cfa798e62b4a642426a5be0e68f9401cfc2a01e3fa9ea2fcdb8d" -dependencies = [ - "darling_core 0.23.0", + "darling_core", "quote", "syn 2.0.118", ] @@ -5590,7 +5123,7 @@ version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2d5bcf7b024d6835cfb3d473887cd966994907effbe9227e8c8219824d06c4e8" dependencies = [ - "darling 0.20.11", + "darling", "proc-macro2", "quote", "syn 2.0.118", @@ -5606,18 +5139,6 @@ dependencies = [ "syn 2.0.118", ] -[[package]] -name = "derive_setters" -version = "0.1.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7e6f6fa1f03c14ae082120b84b3c7fbd7b8588d924cf2d7c3daf9afd49df8b9" -dependencies = [ - "darling 0.21.3", - "proc-macro2", - "quote", - "syn 2.0.118", -] - [[package]] name = "dhat" version = "0.3.3" @@ -5698,16 +5219,6 @@ dependencies = [ "dirs-sys 0.5.0", ] -[[package]] -name = "dirs-next" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b98cf8ebf19c3d1b223e151f99a4f9f0690dca41414773390fc824184ac833e1" -dependencies = [ - "cfg-if 1.0.4", - "dirs-sys-next", -] - [[package]] name = "dirs-sys" version = "0.4.1" @@ -5819,79 +5330,6 @@ dependencies = [ "shared_thread", ] -[[package]] -name = "duende-core" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d727bf9ff95f2950ee82116f61fc76f997e8387ada8a69e0054fe9846387af78" -dependencies = [ - "async-trait", - "dirs-next", - "humantime", - "nix 0.29.0", - "pacha", - "repartir", - "serde", - "serde_json", - "thiserror 2.0.18", - "tokio", - "toml 0.8.23", - "tracing", - "uuid", -] - -[[package]] -name = "duende-mlock" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a79abd55ed5f318a0ebddd9ab6027b393caee1e28f1840fe7bd29e1b5aa0af9" -dependencies = [ - "libc", -] - -[[package]] -name = "duende-platform" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e60d7f4f3fb9fe3b36818a547d1b2375f3aef1ec3ef00a7f90495e289ed54f0" -dependencies = [ - "async-trait", - "duende-core", - "libc", - "nix 0.29.0", - "repartir", - "serde", - "thiserror 2.0.18", - "tokio", - "tracing", -] - -[[package]] -name = "duende-policy" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d4edbbff1cb2ebb1c5a1300d352c40cb1c47482e72165c0070b18cff162dd306" -dependencies = [ - "async-trait", - "duende-core", - "repartir", - "serde", - "thiserror 2.0.18", - "tokio", - "tracing", -] - -[[package]] -name = "duende-ublk" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5bb4bd3b34b81c94694c753578827e74d1fd432764646ef96c5421ceb412638b" -dependencies = [ - "io-uring", - "libc", - "thiserror 2.0.18", -] - [[package]] name = "dunce" version = "1.0.5" @@ -6157,27 +5595,6 @@ dependencies = [ "num-traits", ] -[[package]] -name = "event-listener" -version = "5.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e13b66accf52311f30a0db42147dadea9850cb48cd070028831ae5f5d4b856ab" -dependencies = [ - "concurrent-queue", - "parking", - "pin-project-lite", -] - -[[package]] -name = "event-listener-strategy" -version = "0.5.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8be9f3dfaaffdae2972880079a491a1a8bb7cbed0b8dd7a347f668b4150a3b93" -dependencies = [ - "event-listener", - "pin-project-lite", -] - [[package]] name = "exr" version = "1.74.0" @@ -6374,16 +5791,6 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" -[[package]] -name = "flatbuffers" -version = "24.12.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f1baf0dbf96932ec9a3038d57900329c015b0bfb7b63d904f3bc27e2b02a096" -dependencies = [ - "bitflags 1.3.2", - "rustc_version", -] - [[package]] name = "flatbuffers" version = "25.12.19" @@ -6632,19 +6039,6 @@ version = "0.3.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718" -[[package]] -name = "futures-lite" -version = "2.6.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f78e10609fe0e0b3f4157ffab1876319b5b0db102a2c60dc4626306dc46b44ad" -dependencies = [ - "fastrand", - "futures-core", - "futures-io", - "parking", - "pin-project-lite", -] - [[package]] name = "futures-locks" version = "0.7.1" @@ -6963,7 +6357,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e629b9b98ef3dd8afe6ca2bd0f89306cec16d43d907889945bc5d6687f2f13c7" dependencies = [ "fallible-iterator", - "indexmap 2.14.0", "stable_deref_trait", ] @@ -7334,8 +6727,6 @@ version = "0.15.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" dependencies = [ - "allocator-api2", - "equivalent", "foldhash 0.1.5", ] @@ -7973,7 +7364,7 @@ version = "15.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "af1955a75fa080c677d3972822ec4bad316169ab1cfc6c257a942c2265dbe5fe" dependencies = [ - "bitmaps 2.1.0", + "bitmaps", "rand_core 0.6.4", "rand_xoshiro", "sized-chunks", @@ -8076,15 +7467,6 @@ dependencies = [ "web-time", ] -[[package]] -name = "indoc" -version = "2.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79cf5c93f93228cf8efb3ba362535fb11199ac548a09ce117c9b1adc3030d706" -dependencies = [ - "rustversion", -] - [[package]] name = "inotify" version = "0.10.2" @@ -8127,19 +7509,6 @@ dependencies = [ "tempfile", ] -[[package]] -name = "instability" -version = "0.3.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5eb2d60ef19920a3a9193c3e371f726ec1dafc045dac788d0fb3704272458971" -dependencies = [ - "darling 0.23.0", - "indoc", - "proc-macro2", - "quote", - "syn 2.0.118", -] - [[package]] name = "instant" version = "0.1.13" @@ -8186,18 +7555,6 @@ dependencies = [ "rustversion", ] -[[package]] -name = "io-uring" -version = "0.7.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4d09b98f7eace8982db770e4408e7470b028ce513ac28fecdc6bf4c30fe92b62" -dependencies = [ - "bindgen 0.69.5", - "bitflags 2.13.0", - "cfg-if 1.0.4", - "libc", -] - [[package]] name = "ipnet" version = "2.12.0" @@ -8388,136 +7745,27 @@ dependencies = [ ] [[package]] -name = "jugar-probar" -version = "0.4.2" +name = "khronos-egl" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d08aff8480ddf05a63e8178afcfbc393ca8af1e74011c2b4fe587e72fcd44c45" +checksum = "6aae1df220ece3c0ada96b8153459b67eebe9ae9212258bb0134ae60416fdf76" dependencies = [ - "base64 0.22.1", - "chrono", - "crossterm 0.28.1", - "gif 0.13.3", - "image", - "js-sys", - "mp4", - "notify", - "png 0.17.16", - "ratatui", - "regex", - "serde", - "serde_json", - "serde_yaml", - "sha2 0.10.9", - "thiserror 2.0.18", - "tracing", - "tracing-subscriber", - "trueno 0.11.0", - "uuid", - "wasm-bindgen", - "web-sys", + "libc", + "libloading", + "pkg-config", ] [[package]] -name = "jugar-probar" -version = "0.5.1" +name = "khronos_api" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc" + +[[package]] +name = "konst" +version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da5603ded7edb5ba47f3151dfbeeff0c244b9d07211b3df6b0a1786ccef83f7c" -dependencies = [ - "base64 0.22.1", - "bincode", - "chrono", - "crossterm 0.28.1", - "gif 0.13.3", - "image", - "js-sys", - "mp4", - "notify", - "png 0.17.16", - "proc-macro2", - "ratatui", - "regex", - "serde", - "serde_json", - "serde_yaml", - "sha2 0.10.9", - "syn 2.0.118", - "thiserror 2.0.18", - "tracing", - "tracing-subscriber", - "uuid", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "jugar-probar" -version = "1.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f5a299150747f498a5970f057f1da1f56fbc99a80dca81ef797a9cb014eecce9" -dependencies = [ - "async-trait", - "base64 0.22.1", - "bincode", - "chromiumoxide", - "chrono", - "crossterm 0.28.1", - "futures", - "gif 0.14.2", - "image", - "js-sys", - "mp4", - "notify", - "png 0.18.1", - "proc-macro2", - "regex", - "serde", - "serde_json", - "serde_yaml_ng", - "sha2 0.10.9", - "syn 2.0.118", - "thiserror 2.0.18", - "tokio", - "tracing", - "tracing-subscriber", - "uuid", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - -[[package]] -name = "jugar-probar-derive" -version = "1.0.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a05ebb156a58509410b63603cff6195b28f2c2f6050abd99595ded7dec3de5f3" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.118", -] - -[[package]] -name = "khronos-egl" -version = "6.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6aae1df220ece3c0ada96b8153459b67eebe9ae9212258bb0134ae60416fdf76" -dependencies = [ - "libc", - "libloading", - "pkg-config", -] - -[[package]] -name = "khronos_api" -version = "3.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2db585e1d738fc771bf08a151420d3ed193d9d895a36df7f6f8a9456b911ddc" - -[[package]] -name = "konst" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f660d5f887e3562f9ab6f4a14988795b694099d66b4f5dedc02d197ba9becb1d" +checksum = "f660d5f887e3562f9ab6f4a14988795b694099d66b4f5dedc02d197ba9becb1d" dependencies = [ "const_panic", "konst_proc_macros", @@ -8568,12 +7816,6 @@ version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" -[[package]] -name = "lazycell" -version = "1.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" - [[package]] name = "lcov2cobertura" version = "1.0.9" @@ -8730,41 +7972,6 @@ dependencies = [ "vcpkg", ] -[[package]] -name = "libublk" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cd0cc4f0d9771dc50a2807a495e80287911d1bf4871fad45663753692db7c432" -dependencies = [ - "async-lock", - "bitflags 2.13.0", - "bitmaps 3.2.1", - "derive_setters", - "futures-timer", - "io-uring", - "libc", - "libublk-rs-sys", - "log", - "serde", - "serde_json", - "slab", - "smol", - "thiserror 1.0.69", -] - -[[package]] -name = "libublk-rs-sys" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ab204ac509937ddb9ca815e642e204f8944bb98c8f0dd613a7c2567c774e593" -dependencies = [ - "anyhow", - "bindgen 0.69.5", - "libc", - "regex", - "serde", -] - [[package]] name = "linux-raw-sys" version = "0.4.15" @@ -8826,15 +8033,6 @@ dependencies = [ "imgref", ] -[[package]] -name = "lru" -version = "0.12.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "234cf4f4a04dc1f57e24b96cc0cd600cf2af460d4161ac5ecdd0af8e1f3b2a38" -dependencies = [ - "hashbrown 0.15.5", -] - [[package]] name = "lru" version = "0.16.4" @@ -8856,7 +8054,7 @@ version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "373f5eceeeab7925e0c1098212f2fbc4d416adec9d35051a6ab251e824c1854a" dependencies = [ - "twox-hash 2.1.2", + "twox-hash", ] [[package]] @@ -8865,7 +8063,7 @@ version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "90071f8077f8e40adfc4b7fe9cd495ce316263f19e75c2211eeff3fdf475a3d9" dependencies = [ - "twox-hash 2.1.2", + "twox-hash", ] [[package]] @@ -8874,7 +8072,7 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7ef0d4ed8669f8f8826eb00dc878084aa8f253506c4fd5e8f58f5bce72ddb97e" dependencies = [ - "twox-hash 2.1.2", + "twox-hash", ] [[package]] @@ -9879,9 +9077,7 @@ version = "0.37.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ff76201f031d8863c38aa7f905eca4f53abbfa15f609db4277d44cd8938f33fe" dependencies = [ - "flate2", "memchr", - "ruzstd", ] [[package]] @@ -9891,11 +9087,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "271638cd5fa9cca89c4c304675ca658efc4e64a66c716b7cfe1afb4b9611dbbc" dependencies = [ "crc32fast", - "flate2", "hashbrown 0.16.1", "indexmap 2.14.0", "memchr", - "ruzstd", ] [[package]] @@ -10184,28 +9378,6 @@ dependencies = [ "sha2 0.10.9", ] -[[package]] -name = "pacha" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "873be034730a0b6ae567897812926b649f13f12d59d0f1805a7eb5f3622702a8" -dependencies = [ - "anyhow", - "blake3", - "chrono", - "clap", - "ed25519-dalek", - "rand 0.8.6", - "rmp-serde", - "rusqlite", - "serde", - "serde_json", - "thiserror 2.0.18", - "toml 0.8.23", - "uuid", - "zstd", -] - [[package]] name = "page_size" version = "0.6.0" @@ -10227,12 +9399,6 @@ dependencies = [ "unicode-width 0.1.11", ] -[[package]] -name = "parking" -version = "2.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f38d5652c16fde515bb1ecef450ab0f6a219d619a7274976324d5e377f7dceba" - [[package]] name = "parking_lot" version = "0.12.5" @@ -10256,39 +9422,6 @@ dependencies = [ "windows-link 0.2.1", ] -[[package]] -name = "parquet" -version = "54.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfb15796ac6f56b429fd99e33ba133783ad75b27c36b4b5ce06f1f82cc97754e" -dependencies = [ - "ahash 0.8.12", - "arrow-array 54.3.1", - "arrow-buffer 54.3.1", - "arrow-cast 54.3.1", - "arrow-data 54.3.1", - "arrow-ipc 54.3.1", - "arrow-schema 54.3.1", - "arrow-select 54.3.1", - "base64 0.22.1", - "brotli 7.0.0", - "bytes", - "chrono", - "flate2", - "half", - "hashbrown 0.15.5", - "lz4_flex 0.11.6", - "num", - "num-bigint", - "paste", - "seq-macro", - "simdutf8", - "snap", - "thrift", - "twox-hash 1.6.3", - "zstd", -] - [[package]] name = "parquet" version = "57.3.1" @@ -10300,11 +9433,11 @@ dependencies = [ "arrow-buffer 57.3.1", "arrow-cast 57.3.1", "arrow-data 57.3.1", - "arrow-ipc 57.3.1", + "arrow-ipc", "arrow-schema 57.3.1", "arrow-select 57.3.1", "base64 0.22.1", - "brotli 8.0.4", + "brotli", "bytes", "chrono", "flate2", @@ -10319,7 +9452,7 @@ dependencies = [ "simdutf8", "snap", "thrift", - "twox-hash 2.1.2", + "twox-hash", "zstd", ] @@ -10520,17 +9653,6 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" -[[package]] -name = "piper" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c835479a4443ded371d6c535cbfd8d31ad92c5d23ae9770a61bc155e4992a3c1" -dependencies = [ - "atomic-waker", - "fastrand", - "futures-io", -] - [[package]] name = "pkcs8" version = "0.10.2" @@ -10649,20 +9771,6 @@ dependencies = [ "miniz_oxide", ] -[[package]] -name = "polling" -version = "3.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5d0e4f59085d47d8241c88ead0f274e8a0cb551f3625263c05eb8dd897c34218" -dependencies = [ - "cfg-if 1.0.4", - "concurrent-queue", - "hermit-abi 0.5.2", - "pin-project-lite", - "rustix 1.1.4", - "windows-sys 0.61.2", -] - [[package]] name = "pollster" version = "0.4.0" @@ -10782,88 +9890,6 @@ dependencies = [ "termtree", ] -[[package]] -name = "presentar" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fb6890554d1df121309cf690a5d30ddd278310676918dacf6fc650d1f78feac" -dependencies = [ - "bincode", - "console_error_panic_hook", - "getrandom 0.2.17", - "js-sys", - "presentar-core", - "presentar-layout", - "presentar-widgets", - "presentar-yaml", - "serde", - "serde_json", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - -[[package]] -name = "presentar-core" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cec076597046cb63e9c064b708e010ab98a1f48db4c0004e8192724e383a6c8d" -dependencies = [ - "serde", - "serde_json", - "trueno 0.14.6", -] - -[[package]] -name = "presentar-layout" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "344e0a61e39945da7af93e7330ab74afa3797cd899cf7022486562b7e74cc01a" -dependencies = [ - "presentar-core", - "serde", -] - -[[package]] -name = "presentar-terminal" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "280dc9e13136a2d3490fde1d76d0450cca37268a280e95d814964a41efa31bcc" -dependencies = [ - "bitvec", - "clap", - "compact_str 0.8.2", - "crossterm 0.28.1", - "presentar-core", - "serde_json", - "sysinfo 0.33.1", - "thiserror 2.0.18", - "unicode-segmentation", - "unicode-width 0.2.0", -] - -[[package]] -name = "presentar-widgets" -version = "0.3.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5401130deb743b51fe812a4d35d08706125bc1fef768c8244ed77c943533a42e" -dependencies = [ - "presentar-core", - "presentar-yaml", - "serde", -] - -[[package]] -name = "presentar-yaml" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "562b2337f4821ad079e76778fe9cc692827ed1f2c0450986e0c686843a26a9c1" -dependencies = [ - "presentar-core", - "serde", - "serde_yaml_ng", -] - [[package]] name = "presser" version = "0.3.1" @@ -10988,31 +10014,6 @@ dependencies = [ "unicode-ident", ] -[[package]] -name = "procfs" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc5b72d8145275d844d4b5f6d4e1eef00c8cd889edb6035c21675d1bb1f45c9f" -dependencies = [ - "bitflags 2.13.0", - "chrono", - "flate2", - "hex", - "procfs-core", - "rustix 0.38.44", -] - -[[package]] -name = "procfs-core" -version = "0.17.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "239df02d8349b06fc07398a3a1697b06418223b1c7725085e801e7c0fc6a12ec" -dependencies = [ - "bitflags 2.13.0", - "chrono", - "hex", -] - [[package]] name = "profiling" version = "1.0.18" @@ -11076,61 +10077,22 @@ name = "prost-derive" version = "0.13.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8a56d757972c98b346a9b766e3f02746cde6dd1cd1d1d563472929fdd74bec4d" -dependencies = [ - "anyhow", - "itertools 0.14.0", - "proc-macro2", - "quote", - "syn 2.0.118", -] - -[[package]] -name = "prost-derive" -version = "0.14.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b570b25f7617e43d59005d0990ccb79e950a423952cea19671b7a876da390adf" -dependencies = [ - "anyhow", - "itertools 0.14.0", - "proc-macro2", - "quote", - "syn 2.0.118", -] - -[[package]] -name = "provable-contracts" -version = "0.2.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec46f6a8b0575811e6ab321e86f68e086e9acd7d79111106ce5bc676d9407716" -dependencies = [ - "provable-contracts-macros 0.2.2", - "regex", - "serde", - "serde_json", - "serde_yaml", - "thiserror 2.0.18", -] - -[[package]] -name = "provable-contracts" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49c4074b55824441df3872f57aecaeb69902a568dabffb59da9b15533a91cca4" -dependencies = [ - "provable-contracts-macros 0.3.1", - "regex", - "serde", - "serde_json", - "serde_yaml", - "thiserror 2.0.18", +dependencies = [ + "anyhow", + "itertools 0.14.0", + "proc-macro2", + "quote", + "syn 2.0.118", ] [[package]] -name = "provable-contracts-macros" -version = "0.1.1" +name = "prost-derive" +version = "0.14.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c383d865124fe9fda96af4a04d0c2641bcb93e16eb5e13f7c665f98c15333447" +checksum = "b570b25f7617e43d59005d0990ccb79e950a423952cea19671b7a876da390adf" dependencies = [ + "anyhow", + "itertools 0.14.0", "proc-macro2", "quote", "syn 2.0.118", @@ -11138,9 +10100,9 @@ dependencies = [ [[package]] name = "provable-contracts-macros" -version = "0.2.2" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0772baeb8ded27f9590b49756f98d88c40376659d74816ba752d39495e63137d" +checksum = "c383d865124fe9fda96af4a04d0c2641bcb93e16eb5e13f7c665f98c15333447" dependencies = [ "proc-macro2", "quote", @@ -11149,9 +10111,9 @@ dependencies = [ [[package]] name = "provable-contracts-macros" -version = "0.3.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a6bb7beb246ab375bc516720bcab5c5c2b93adb63115e785454a5424ba89fc0" +checksum = "0772baeb8ded27f9590b49756f98d88c40376659d74816ba752d39495e63137d" dependencies = [ "proc-macro2", "quote", @@ -11529,27 +10491,6 @@ version = "0.1.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ca45419789ae5a7899559e9512e58ca889e41f04f1f2445e9f4b290ceccd1d08" -[[package]] -name = "ratatui" -version = "0.29.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eabd94c2f37801c20583fc49dd5cd6b0ba68c716787c2dd6ed18571e1e63117b" -dependencies = [ - "bitflags 2.13.0", - "cassowary", - "compact_str 0.8.2", - "crossterm 0.28.1", - "indoc", - "instability", - "itertools 0.13.0", - "lru 0.12.5", - "paste", - "strum 0.26.3", - "unicode-segmentation", - "unicode-truncate", - "unicode-width 0.2.0", -] - [[package]] name = "rav1e" version = "0.8.1" @@ -11675,7 +10616,7 @@ dependencies = [ "serde_yaml_ng", "smallvec", "thiserror 1.0.69", - "trueno 0.17.5", + "trueno", "trueno-quant", "uuid", ] @@ -11828,45 +10769,6 @@ version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" -[[package]] -name = "renacer" -version = "0.9.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9445ea7144e1feb5a108f5428349efff2221077175dc18c4afa825703774784e" -dependencies = [ - "addr2line 0.25.1", - "anyhow", - "aprender 0.25.9", - "backtrace", - "clap", - "crossbeam", - "crossterm 0.28.1", - "dashmap", - "fnv", - "gimli 0.32.3", - "hex", - "libc", - "memmap2", - "nix 0.30.1", - "object 0.38.1", - "rand 0.8.6", - "ratatui", - "regex", - "rmp-serde", - "serde", - "serde_json", - "sha2 0.10.9", - "static_assertions", - "thiserror 2.0.18", - "toml 0.8.23", - "tracing", - "tracing-subscriber", - "trueno 0.14.6", - "trueno-db", - "trueno-graph", - "trueno-viz", -] - [[package]] name = "renacer-core" version = "0.1.0" @@ -11894,22 +10796,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "19b30a45b0cd0bcca8037f3d0dc3421eaf95327a17cad11964fb8179b4fc4832" -[[package]] -name = "repartir" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "efe68c3c52133131141c7b04a828af59f1352f85019a6a758c488be21e9f6089" -dependencies = [ - "futures", - "num_cpus", - "serde", - "serde_json", - "thiserror 1.0.69", - "tokio", - "tracing", - "uuid", -] - [[package]] name = "reqwest" version = "0.11.27" @@ -12512,9 +11398,6 @@ name = "ruzstd" version = "0.8.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a7c1c839d570d835527c9a5e4db7cb2198683a988cb9d7293fc8674e6bd58fc8" -dependencies = [ - "twox-hash 2.1.2", -] [[package]] name = "ryu" @@ -13127,7 +12010,7 @@ version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "16d69225bde7a69b235da73377861095455d298f2b970996eec25ddbb42b3d1e" dependencies = [ - "bitmaps 2.1.0", + "bitmaps", "typenum", ] @@ -13155,23 +12038,6 @@ dependencies = [ "serde", ] -[[package]] -name = "smol" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a33bd3e260892199c3ccfc487c88b2da2265080acb316cd920da72fdfd7c599f" -dependencies = [ - "async-channel", - "async-executor", - "async-fs", - "async-io", - "async-lock", - "async-net", - "async-process", - "blocking", - "futures-lite", -] - [[package]] name = "snap" version = "1.1.1" @@ -14613,54 +13479,6 @@ dependencies = [ "tree-sitter-language", ] -[[package]] -name = "trueno" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4a0756605a19a0b79f5dca9b61fba7e428c497abe9ebeac2ef91b39d90b6da91" -dependencies = [ - "anyhow", - "bytemuck", - "futures-intrusive", - "num_cpus", - "pollster", - "thiserror 2.0.18", - "wgpu 27.0.1", -] - -[[package]] -name = "trueno" -version = "0.14.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90b0f08c743a6d63e691f80624e67e306e83f9bc532ebc618b2352cd02126e7e" -dependencies = [ - "anyhow", - "chrono", - "hostname", - "num_cpus", - "serde", - "serde_json", - "thiserror 2.0.18", - "toml 0.8.23", -] - -[[package]] -name = "trueno" -version = "0.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85e19fa22753d395f043b205999122520efd45a33e0867d137f20b777ad794ef" -dependencies = [ - "anyhow", - "chrono", - "hostname", - "num_cpus", - "serde", - "serde_json", - "thiserror 2.0.18", - "toml 0.8.23", - "trueno-quant", -] - [[package]] name = "trueno" version = "0.17.5" @@ -14686,39 +13504,6 @@ dependencies = [ "wgpu 27.0.1", ] -[[package]] -name = "trueno-db" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ef9435a39b53dd71c59545ed2a2336d037481e3c2dd61eb8f3cdd6df4ac37cb" -dependencies = [ - "anyhow", - "arrow 54.3.1", - "axum 0.7.9", - "batuta-common", - "chrono", - "clap", - "console_error_panic_hook", - "dashmap", - "js-sys", - "parquet 54.3.1", - "rayon", - "rustc-hash 2.1.2", - "serde", - "serde-wasm-bindgen", - "serde_json", - "serde_yaml_ng", - "sqlparser", - "thiserror 2.0.18", - "tokio", - "tracing", - "tracing-subscriber", - "trueno 0.17.5", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", -] - [[package]] name = "trueno-gemm-codegen" version = "0.1.0" @@ -14730,22 +13515,6 @@ dependencies = [ "syn 2.0.118", ] -[[package]] -name = "trueno-graph" -version = "0.1.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2fb66018c97b3a2296df80bdaedcc8d47879e61cd43b466609e9d1a24ce4a0d3" -dependencies = [ - "anyhow", - "aprender 0.27.8", - "arrow 54.3.1", - "parquet 54.3.1", - "thiserror 2.0.18", - "tokio", - "trueno 0.17.5", - "trueno-db", -] - [[package]] name = "trueno-quant" version = "0.1.0" @@ -14755,68 +13524,6 @@ dependencies = [ "half", ] -[[package]] -name = "trueno-ublk" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f73a7de38afcb76f90ed573edb5c8a1a8a0fc7052db1c8de8187513039e1c6c" -dependencies = [ - "anyhow", - "async-trait", - "clap", - "crossterm 0.28.1", - "ctrlc", - "duende-core", - "duende-mlock", - "duende-platform", - "duende-policy", - "duende-ublk", - "io-uring", - "libublk", - "nix 0.29.0", - "parking_lot", - "procfs", - "ratatui", - "rayon", - "renacer", - "rustc-hash 2.1.2", - "serde", - "serde_json", - "thiserror 2.0.18", - "tokio", - "tracing", - "tracing-subscriber", - "trueno-zram-core", -] - -[[package]] -name = "trueno-viz" -version = "0.1.27" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "882ffd53613bef43526c08f0a87d6058a10c276a599c7055caa985103475faf9" -dependencies = [ - "base64 0.22.1", - "batuta-common", - "crossterm 0.28.1", - "dirs 5.0.1", - "libc", - "png 0.17.16", - "ratatui", - "serde", - "serde_yaml_ng", - "thiserror 2.0.18", - "trueno 0.15.0", -] - -[[package]] -name = "trueno-zram-core" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e75a0f63770d4b926254d02d2fc9a0abd286f333d9e2d19f18cf8b801daf235e" -dependencies = [ - "thiserror 2.0.18", -] - [[package]] name = "try-lock" version = "0.2.5" @@ -14847,23 +13554,6 @@ dependencies = [ "core_maths", ] -[[package]] -name = "ttop" -version = "2.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f7c5527eb2047094b6dd1d63ff325bfef64b82f64e6107a78f58c9307b1bb61" -dependencies = [ - "anyhow", - "batuta-common", - "clap", - "crossterm 0.28.1", - "presentar-core", - "presentar-terminal", - "serde", - "serde_yaml_ng", - "thiserror 2.0.18", -] - [[package]] name = "tungstenite" version = "0.24.0" @@ -14932,28 +13622,12 @@ dependencies = [ "thiserror 2.0.18", ] -[[package]] -name = "twox-hash" -version = "1.6.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" -dependencies = [ - "cfg-if 1.0.4", - "static_assertions", -] - [[package]] name = "twox-hash" version = "2.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ea3136b675547379c4bd395ca6b938e5ad3c3d20fad76e7fe85f9e0d011419c" -[[package]] -name = "typed-arena" -version = "2.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6af6ae20167a9ece4bcb41af5b80f8a1f1df981f6391189ce00fd257af04126a" - [[package]] name = "typenum" version = "1.20.1" @@ -15044,17 +13718,6 @@ version = "1.13.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c6f5d3c3b1bf09027a88a6bc961fc00497d651009560b5463668dc81b0fa87a8" -[[package]] -name = "unicode-truncate" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b3644627a5af5fa321c95b9b235a72fd24cd29c648c2c379431e6628655627bf" -dependencies = [ - "itertools 0.13.0", - "unicode-segmentation", - "unicode-width 0.1.11", -] - [[package]] name = "unicode-vo" version = "0.1.0" @@ -15309,7 +13972,7 @@ version = "0.20.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b7df16e474ef958526d1205f6dda359fdfab79d9aa6d54bafcb92dcd07673dca" dependencies = [ - "darling 0.20.11", + "darling", "once_cell", "proc-macro-error2", "proc-macro2", @@ -16423,18 +15086,6 @@ dependencies = [ "web-sys", ] -[[package]] -name = "which" -version = "4.4.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87ba24419a2078cd2b0f2ede2691b6c66d8e47836da3b6db8265ebad47afbfc7" -dependencies = [ - "either", - "home", - "once_cell", - "rustix 0.38.44", -] - [[package]] name = "which" version = "6.0.3" @@ -16484,7 +15135,7 @@ dependencies = [ "realizar", "symphonia", "thiserror 2.0.18", - "trueno 0.17.5", + "trueno", ] [[package]] @@ -17211,7 +15862,7 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a76ff259533532054cfbaefb115c613203c73707017459206380f03b3b3f266e" dependencies = [ - "darling 0.20.11", + "darling", "proc-macro2", "quote", "syn 2.0.118", diff --git a/crates/aprender-profile/src/syscalls.rs b/crates/aprender-profile/src/syscalls.rs index 336370485..bbc245796 100644 --- a/crates/aprender-profile/src/syscalls.rs +++ b/crates/aprender-profile/src/syscalls.rs @@ -135,6 +135,13 @@ static SYSCALL_TABLE_X86_64: &[(i64, &str)] = &[ (217, "getdents64"), (218, "set_tid_address"), (228, "clock_gettime"), + // 229/230 were missing: the table jumped 228 -> 231, so clock_nanosleep + // rendered as an unnamed syscall. sprint20_realtime_anomaly_tests + // deliberately sleeps 50ms and asserts an anomaly is reported; the + // detector never saw the sleep, and the test only passed when unrelated + // microsecond jitter on `write` happened to exceed 3 sigma. + (229, "clock_getres"), + (230, "clock_nanosleep"), (231, "exit_group"), (257, "openat"), (262, "newfstatat"), @@ -366,3 +373,70 @@ mod tests { } } } + +#[cfg(test)] +mod table_completeness { + //! The x86_64 table jumped 228 -> 231, so `clock_nanosleep` (230) rendered + //! as an unnamed `syscall_230` and a deliberate 50ms sleep was invisible to + //! the profiler. Nothing caught it: removing the entries again left all 107 + //! syscall tests green, because every existing test asserts a PROPERTY + //! (determinism, non-empty) rather than a specific mapping. + //! + //! A property test over `0..500` cannot catch a missing entry -- "unknown" + //! is a valid answer across most of that range. Only naming numbers can. + + use super::*; + + /// Syscalls this tracer must be able to name, numbers fixed by the x86_64 + /// ABI. These are the ones a profiler actually meets. + const MUST_NAME: &[(i64, &str)] = &[ + (0, "read"), + (1, "write"), + (60, "exit"), + (202, "futex"), + (228, "clock_gettime"), + (229, "clock_getres"), + (230, "clock_nanosleep"), + (231, "exit_group"), + (257, "openat"), + ]; + + #[test] + #[cfg(target_arch = "x86_64")] + fn every_common_syscall_resolves_to_its_abi_name() { + let missing: Vec = MUST_NAME + .iter() + .filter(|(n, want)| syscall_name(*n) != *want) + .map(|(n, want)| format!("{n} should be {want}, got {}", syscall_name(*n))) + .collect(); + assert!(missing.is_empty(), "syscall table is missing or wrong for: {missing:?}"); + } + + /// Non-vacuity. If `syscall_name` produced a name for anything asked of it, + /// the assertion above would pass while proving nothing. + #[test] + #[cfg(target_arch = "x86_64")] + fn an_unassigned_number_is_still_unknown() { + assert_eq!( + syscall_name(9_999), + "unknown", + "an unassigned syscall number resolved to a name, so the check above \ + cannot distinguish a populated table from a permissive one" + ); + } + + /// The gap that produced the bug was contiguous. The clock family is where + /// the tracer's timing anomalies live, so assert it is whole. + #[test] + #[cfg(target_arch = "x86_64")] + fn the_clock_syscall_range_has_no_holes() { + for n in 228..=231 { + assert_ne!( + syscall_name(n), + "unknown", + "syscall {n} is unnamed; the 228-231 range is where clock_nanosleep \ + went missing and made a 50ms sleep invisible to the profiler" + ); + } + } +} diff --git a/crates/aprender-profile/tests/sprint20_realtime_anomaly_tests.rs b/crates/aprender-profile/tests/sprint20_realtime_anomaly_tests.rs index a9b898d3a..28db7216a 100644 --- a/crates/aprender-profile/tests/sprint20_realtime_anomaly_tests.rs +++ b/crates/aprender-profile/tests/sprint20_realtime_anomaly_tests.rs @@ -11,43 +11,58 @@ use tempfile::TempDir; #[test] fn test_realtime_anomaly_detects_slow_syscall() { - // Test that --anomaly-realtime detects and reports slow syscalls in real-time + // The detector builds a PER-SYSCALL baseline and flags samples >3 sigma from + // it. The original fixture slept 50ms via nanosleep and asserted an anomaly + // -- but clock_nanosleep occurs exactly ONCE, so there is no baseline for it + // to deviate from, and it could never be flagged. The test passed only when + // unrelated microsecond jitter on `write` happened to exceed 3 sigma, which + // is why it was flaky and why its comment already read "increased for test + // stability". + // + // Fixed by giving the anomaly a baseline: many small writes establish one, + // then a single large write is the outlier. Same syscall, so the detector + // can actually see it. + // + // (Separately, clock_nanosleep was rendering as an unnamed `syscall_230` -- + // the x86_64 table jumped 228 -> 231. Fixed in src/syscalls.rs.) let tmp_dir = TempDir::new().expect("test"); let test_program = tmp_dir.path().join("realtime_anomaly_test"); - // Create program with baseline fast syscalls + one anomalous slow syscall let source = r#" #include -#include +#include int main() { - // Establish baseline: 50 fast writes - for (int i = 0; i < 50; i++) { + // Baseline: 200 one-byte writes. + for (int i = 0; i < 200; i++) { write(1, "x", 1); } - - // Simulate slow I/O (anomaly) - struct timespec ts = {0, 50000000}; // 50ms sleep (increased for test stability) - nanosleep(&ts, NULL); - write(1, "slow", 4); - + // The anomaly: one write three orders of magnitude larger, same syscall so + // it lands in the same baseline. + char *big = malloc(4 * 1024 * 1024); + for (int i = 0; i < 4 * 1024 * 1024; i++) big[i] = 'y'; + write(1, big, 4 * 1024 * 1024); + free(big); return 0; } "#; let source_file = tmp_dir.path().join("realtime_anomaly_test.c"); fs::write(&source_file, source).expect("test"); - std::process::Command::new("gcc") + let compile = std::process::Command::new("gcc") .arg(&source_file) .arg("-o") .arg(&test_program) .output() .expect("Failed to compile test program"); + assert!( + compile.status.success(), + "fixture did not compile, so this test would assert about nothing: {}", + String::from_utf8_lossy(&compile.stderr) + ); let mut cmd = assert_cmd::cargo::cargo_bin_cmd!("aprender-profile"); cmd.arg("--anomaly-realtime").arg("-T").arg("--").arg(&test_program); - - // Should show real-time anomaly alert - cmd.assert().success().stderr(predicate::str::contains("⚠️ ANOMALY")); + cmd.assert().success().stderr(predicate::str::contains("\u{26a0}\u{fe0f} ANOMALY")); } #[test] diff --git a/crates/aprender-profile/tests/sprint22_isolation_forest_tests.rs b/crates/aprender-profile/tests/sprint22_isolation_forest_tests.rs index 92bcbf933..c55e53124 100644 --- a/crates/aprender-profile/tests/sprint22_isolation_forest_tests.rs +++ b/crates/aprender-profile/tests/sprint22_isolation_forest_tests.rs @@ -17,7 +17,7 @@ use tempfile::TempDir; #[test] fn test_ml_outliers_flag_accepted() { // Test that --ml-outliers flag is accepted - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--ml-outliers").arg("--").arg("echo").arg("test"); // Should not error on flag parsing @@ -30,7 +30,7 @@ fn test_ml_outliers_flag_accepted() { #[test] fn test_ml_outliers_with_statistics() { - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("-c").arg("--ml-outliers").arg("--").arg("echo").arg("test"); cmd.assert().success(); @@ -73,7 +73,7 @@ int main() { .output() .expect("Failed to compile test program"); - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("-c").arg("--ml-outliers").arg("--").arg(&test_program); // Should detect anomalies in output @@ -86,7 +86,7 @@ int main() { #[test] fn test_explain_flag_provides_explainability() { - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("-c").arg("--ml-outliers").arg("--explain").arg("--").arg("echo").arg("test"); cmd.assert().success().stderr( @@ -100,7 +100,7 @@ fn test_explain_flag_provides_explainability() { #[test] fn test_ml_outliers_json_export() { - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--format").arg("json").arg("--ml-outliers").arg("--").arg("echo").arg("test"); cmd.assert().success().stdout( @@ -114,7 +114,7 @@ fn test_ml_outliers_json_export() { #[test] fn test_ml_outliers_with_filtering() { - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("-c").arg("--ml-outliers").arg("-e").arg("trace=file").arg("--").arg("ls").arg("-la"); cmd.assert().success(); @@ -149,7 +149,7 @@ int main() { .output() .expect("test"); - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("-c").arg("--ml-outliers").arg("--").arg(&test_program); // Should handle gracefully (no panic) @@ -163,7 +163,7 @@ int main() { #[test] fn test_backward_compatibility_without_ml_outliers() { // Ensure existing functionality works without --ml-outliers flag - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("-c").arg("--").arg("echo").arg("test"); cmd.assert().success(); @@ -175,7 +175,7 @@ fn test_backward_compatibility_without_ml_outliers() { #[test] fn test_ml_outliers_with_timing() { - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("-c").arg("-T").arg("--ml-outliers").arg("--").arg("echo").arg("hello"); cmd.assert().success(); @@ -187,7 +187,7 @@ fn test_ml_outliers_with_timing() { #[test] fn test_ml_outliers_compare_with_kmeans() { - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("-c") .arg("--ml-outliers") .arg("--ml-anomaly") // Also enable KMeans for comparison @@ -205,7 +205,7 @@ fn test_ml_outliers_compare_with_kmeans() { #[test] fn test_ml_outliers_with_source_correlation() { - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--source").arg("--ml-outliers").arg("--").arg("echo").arg("test"); // Should correlate anomalies with source locations @@ -218,7 +218,7 @@ fn test_ml_outliers_with_source_correlation() { #[test] fn test_ml_outliers_threshold_configuration() { - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("-c") .arg("--ml-outliers") .arg("--ml-outlier-threshold") @@ -236,7 +236,7 @@ fn test_ml_outliers_threshold_configuration() { #[test] fn test_ml_outliers_num_trees_configuration() { - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("-c") .arg("--ml-outliers") .arg("--ml-outlier-trees") diff --git a/crates/aprender-profile/tests/sprint23_autoencoder_tests.rs b/crates/aprender-profile/tests/sprint23_autoencoder_tests.rs index d3282f9fa..e3fdf73fd 100644 --- a/crates/aprender-profile/tests/sprint23_autoencoder_tests.rs +++ b/crates/aprender-profile/tests/sprint23_autoencoder_tests.rs @@ -17,7 +17,7 @@ use tempfile::TempDir; #[test] fn test_dl_anomaly_flag_accepted() { // Test that --dl-anomaly flag is accepted - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--dl-anomaly").arg("--").arg("echo").arg("test"); // Should not error on flag parsing @@ -30,7 +30,7 @@ fn test_dl_anomaly_flag_accepted() { #[test] fn test_dl_anomaly_with_statistics() { - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("-c").arg("--dl-anomaly").arg("--").arg("echo").arg("test"); cmd.assert().success(); @@ -73,7 +73,7 @@ int main() { .output() .expect("Failed to compile test program"); - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("-c").arg("--dl-anomaly").arg("--").arg(&test_program); // Should detect anomalies in output @@ -89,7 +89,7 @@ int main() { #[test] fn test_dl_threshold_configuration() { - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("-c") .arg("--dl-anomaly") .arg("--dl-threshold") @@ -107,7 +107,7 @@ fn test_dl_threshold_configuration() { #[test] fn test_dl_anomaly_json_export() { - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--format").arg("json").arg("--dl-anomaly").arg("--").arg("echo").arg("test"); cmd.assert().success().stdout( @@ -121,7 +121,7 @@ fn test_dl_anomaly_json_export() { #[test] fn test_dl_anomaly_with_filtering() { - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("-c").arg("--dl-anomaly").arg("-e").arg("trace=file").arg("--").arg("ls").arg("-la"); cmd.assert().success(); @@ -156,7 +156,7 @@ int main() { .output() .expect("test"); - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("-c").arg("--dl-anomaly").arg("--").arg(&test_program); // Should handle gracefully (no panic) @@ -170,7 +170,7 @@ int main() { #[test] fn test_backward_compatibility_without_dl_anomaly() { // Ensure existing functionality works without --dl-anomaly flag - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("-c").arg("--").arg("echo").arg("test"); cmd.assert().success(); @@ -182,7 +182,7 @@ fn test_backward_compatibility_without_dl_anomaly() { #[test] fn test_dl_anomaly_with_timing() { - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("-c").arg("-T").arg("--dl-anomaly").arg("--").arg("echo").arg("hello"); cmd.assert().success(); @@ -194,7 +194,7 @@ fn test_dl_anomaly_with_timing() { #[test] fn test_dl_anomaly_with_other_ml() { - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("-c") .arg("--dl-anomaly") .arg("--ml-anomaly") // Also enable KMeans @@ -213,7 +213,7 @@ fn test_dl_anomaly_with_other_ml() { #[test] fn test_dl_anomaly_with_explainability() { - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("-c").arg("--dl-anomaly").arg("--explain").arg("--").arg("echo").arg("test"); // Should provide explanations @@ -226,7 +226,7 @@ fn test_dl_anomaly_with_explainability() { #[test] fn test_dl_hidden_size_configuration() { - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("-c") .arg("--dl-anomaly") .arg("--dl-hidden-size") @@ -244,7 +244,7 @@ fn test_dl_hidden_size_configuration() { #[test] fn test_dl_epochs_configuration() { - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("-c") .arg("--dl-anomaly") .arg("--dl-epochs") diff --git a/crates/aprender-profile/tests/sprint24_transpiler_source_map_tests.rs b/crates/aprender-profile/tests/sprint24_transpiler_source_map_tests.rs index 2211ed9e6..7e6c634dc 100644 --- a/crates/aprender-profile/tests/sprint24_transpiler_source_map_tests.rs +++ b/crates/aprender-profile/tests/sprint24_transpiler_source_map_tests.rs @@ -36,7 +36,7 @@ fn test_transpiler_map_flag_accepted() { fs::write(&source_map, map_content).expect("test"); // Test that --transpiler-map flag is accepted - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--transpiler-map").arg(&source_map).arg("--").arg("echo").arg("test"); // Should not error on flag parsing @@ -89,7 +89,7 @@ fn test_transpiler_map_basic_parsing() { fs::write(&source_map, map_content).expect("test"); // Run with source map - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--transpiler-map").arg(&source_map).arg("--").arg("echo").arg("test"); cmd.assert().success(); @@ -107,7 +107,7 @@ fn test_transpiler_map_invalid_json() { // Create invalid JSON fs::write(&source_map, "{ this is not valid json }").expect("test"); - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--transpiler-map").arg(&source_map).arg("--").arg("echo").arg("test"); cmd.assert().failure().stderr(predicate::str::contains("Invalid source map JSON")); @@ -119,7 +119,7 @@ fn test_transpiler_map_invalid_json() { #[test] fn test_transpiler_map_missing_file() { - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--transpiler-map") .arg("/nonexistent/path/to/map.json") .arg("--") @@ -152,7 +152,7 @@ fn test_transpiler_map_function_name_lookup() { }"#; fs::write(&source_map, map_content).expect("test"); - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--transpiler-map").arg(&source_map).arg("--").arg("echo").arg("test"); cmd.assert().success(); @@ -192,7 +192,7 @@ fn test_transpiler_map_line_number_lookup() { }"#; fs::write(&source_map, map_content).expect("test"); - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--transpiler-map").arg(&source_map).arg("--").arg("echo").arg("test"); cmd.assert().success(); @@ -228,7 +228,7 @@ fn test_transpiler_map_with_tracing() { fs::write(&source_map, map_content).expect("test"); // Test that tracing still works with source map loaded - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--transpiler-map").arg(&source_map).arg("--").arg("echo").arg("hello"); cmd.assert().success().stdout(predicate::str::contains("write(")); @@ -253,7 +253,7 @@ fn test_transpiler_map_empty_mappings() { }"#; fs::write(&source_map, map_content).expect("test"); - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--transpiler-map").arg(&source_map).arg("--").arg("true"); cmd.assert().success(); @@ -288,7 +288,7 @@ fn test_transpiler_map_python_source() { }"#; fs::write(&source_map, map_content).expect("test"); - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--transpiler-map").arg(&source_map).arg("--").arg("echo").arg("test"); cmd.assert().success(); @@ -311,7 +311,7 @@ fn test_transpiler_map_missing_required_fields() { }"#; fs::write(&source_map, map_content).expect("test"); - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--transpiler-map").arg(&source_map).arg("--").arg("echo").arg("test"); cmd.assert().failure().stderr(predicate::str::contains("Invalid source map")); @@ -336,7 +336,7 @@ fn test_transpiler_map_unsupported_version() { }"#; fs::write(&source_map, map_content).expect("test"); - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--transpiler-map").arg(&source_map).arg("--").arg("echo").arg("test"); cmd.assert().failure().stderr(predicate::str::contains("Unsupported source map version")); diff --git a/crates/aprender-profile/tests/sprint25_function_name_correlation_tests.rs b/crates/aprender-profile/tests/sprint25_function_name_correlation_tests.rs index 82b3c8c1d..ab020680d 100644 --- a/crates/aprender-profile/tests/sprint25_function_name_correlation_tests.rs +++ b/crates/aprender-profile/tests/sprint25_function_name_correlation_tests.rs @@ -39,7 +39,7 @@ fn test_function_name_correlation_basic() { fs::write(&source_map, map_content).expect("test"); // Run with --function-time and --transpiler-map - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--transpiler-map") .arg(&source_map) .arg("--function-time") @@ -85,7 +85,7 @@ fn test_function_name_with_source_context() { }"#; fs::write(&source_map, map_content).expect("test"); - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--transpiler-map").arg(&source_map).arg("--function-time").arg("--").arg("true"); cmd.assert() @@ -117,7 +117,7 @@ fn test_show_transpiler_context_flag() { fs::write(&source_map, map_content).expect("test"); // Test that --show-transpiler-context is accepted - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--transpiler-map") .arg(&source_map) .arg("--function-time") @@ -154,7 +154,7 @@ fn test_fallback_to_rust_names() { }"#; fs::write(&source_map, map_content).expect("test"); - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--transpiler-map") .arg(&source_map) .arg("--function-time") @@ -197,7 +197,7 @@ fn test_function_correlation_with_source_flag() { fs::write(&source_map, map_content).expect("test"); // Combine --transpiler-map + --function-time + --source - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--transpiler-map") .arg(&source_map) .arg("--function-time") @@ -231,7 +231,7 @@ fn test_typescript_source_language() { }"#; fs::write(&source_map, map_content).expect("test"); - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--transpiler-map") .arg(&source_map) .arg("--function-time") @@ -267,7 +267,7 @@ fn test_multiple_temp_variables() { }"#; fs::write(&source_map, map_content).expect("test"); - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--transpiler-map").arg(&source_map).arg("--function-time").arg("--").arg("true"); cmd.assert().success(); @@ -296,7 +296,7 @@ fn test_function_correlation_with_statistics() { fs::write(&source_map, map_content).expect("test"); // Combine --transpiler-map + --function-time + -c - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--transpiler-map") .arg(&source_map) .arg("--function-time") @@ -327,7 +327,7 @@ fn test_empty_function_map() { }"#; fs::write(&source_map, map_content).expect("test"); - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--transpiler-map").arg(&source_map).arg("--function-time").arg("--").arg("true"); // Should still work, just no function name translation @@ -357,7 +357,7 @@ fn test_source_map_without_function_time() { // Source map loaded but --function-time NOT enabled // Should still succeed, just not use function mapping - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--transpiler-map").arg(&source_map).arg("--").arg("echo").arg("test"); cmd.assert().success(); diff --git a/crates/aprender-profile/tests/sprint26_decision_trace_tests.rs b/crates/aprender-profile/tests/sprint26_decision_trace_tests.rs index c98b6b231..abf917436 100644 --- a/crates/aprender-profile/tests/sprint26_decision_trace_tests.rs +++ b/crates/aprender-profile/tests/sprint26_decision_trace_tests.rs @@ -41,7 +41,7 @@ fn main() { assert!(compile_status.success(), "Failed to compile test program"); // Run renacer with --trace-transpiler-decisions flag - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); let output = cmd .arg("--trace-transpiler-decisions") .arg("-c") // Use statistics mode to suppress noise @@ -91,7 +91,7 @@ fn main() { .expect("Failed to compile"); // Run without --trace-transpiler-decisions flag - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); let output = cmd.arg("-c").arg("--").arg(&test_bin).output().expect("Failed to execute"); assert!(output.status.success()); @@ -126,7 +126,7 @@ fn main() { .status() .expect("test"); - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); let output = cmd .arg("--trace-transpiler-decisions") .arg("-c") @@ -168,7 +168,7 @@ fn main() { .status() .expect("test"); - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); let output = cmd .arg("--trace-transpiler-decisions") .arg("-c") diff --git a/crates/aprender-profile/tests/sprint26_stack_trace_correlation_tests.rs b/crates/aprender-profile/tests/sprint26_stack_trace_correlation_tests.rs index 750c9832a..bee4ef6cc 100644 --- a/crates/aprender-profile/tests/sprint26_stack_trace_correlation_tests.rs +++ b/crates/aprender-profile/tests/sprint26_stack_trace_correlation_tests.rs @@ -33,7 +33,7 @@ fn test_rewrite_stacktrace_flag_accepted() { }"#; fs::write(&source_map, map_content).expect("test"); - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--transpiler-map").arg(&source_map).arg("--rewrite-stacktrace").arg("--").arg("true"); // Should accept the flag without error @@ -78,7 +78,7 @@ fn test_stack_trace_rewriting_with_mappings() { }"#; fs::write(&source_map, map_content).expect("test"); - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--transpiler-map") .arg(&source_map) .arg("--rewrite-stacktrace") @@ -119,7 +119,7 @@ fn test_display_python_context() { }"#; fs::write(&source_map, map_content).expect("test"); - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--transpiler-map") .arg(&source_map) .arg("--rewrite-stacktrace") @@ -163,7 +163,7 @@ fn test_temp_variable_rewriting() { }"#; fs::write(&source_map, map_content).expect("test"); - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--transpiler-map") .arg(&source_map) .arg("--rewrite-stacktrace") @@ -204,7 +204,7 @@ fn test_rewrite_stacktrace_with_function_time() { }"#; fs::write(&source_map, map_content).expect("test"); - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--transpiler-map") .arg(&source_map) .arg("--rewrite-stacktrace") @@ -245,7 +245,7 @@ fn test_rewrite_stacktrace_typescript() { }"#; fs::write(&source_map, map_content).expect("test"); - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--transpiler-map") .arg(&source_map) .arg("--rewrite-stacktrace") @@ -286,7 +286,7 @@ fn test_backward_compatibility_without_rewrite() { fs::write(&source_map, map_content).expect("test"); // Use source map WITHOUT --rewrite-stacktrace - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--transpiler-map").arg(&source_map).arg("--").arg("true"); // Should still succeed @@ -312,7 +312,7 @@ fn test_rewrite_stacktrace_empty_mappings() { }"#; fs::write(&source_map, map_content).expect("test"); - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--transpiler-map").arg(&source_map).arg("--rewrite-stacktrace").arg("--").arg("true"); // Should succeed even with no mappings @@ -341,7 +341,7 @@ fn test_rewrite_stacktrace_with_statistics() { }"#; fs::write(&source_map, map_content).expect("test"); - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--transpiler-map") .arg(&source_map) .arg("--rewrite-stacktrace") @@ -407,7 +407,7 @@ fn test_multiple_line_mappings() { }"#; fs::write(&source_map, map_content).expect("test"); - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--transpiler-map") .arg(&source_map) .arg("--rewrite-stacktrace") diff --git a/crates/aprender-profile/tests/sprint27_error_correlation_tests.rs b/crates/aprender-profile/tests/sprint27_error_correlation_tests.rs index 360894508..0e95136e4 100644 --- a/crates/aprender-profile/tests/sprint27_error_correlation_tests.rs +++ b/crates/aprender-profile/tests/sprint27_error_correlation_tests.rs @@ -32,7 +32,7 @@ fn test_rewrite_errors_flag_accepted() { }"#; fs::write(&source_map, map_content).expect("test"); - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--transpiler-map").arg(&source_map).arg("--rewrite-errors").arg("--").arg("true"); // Should accept the flag without error @@ -77,7 +77,7 @@ fn test_error_correlation_with_mappings() { }"#; fs::write(&source_map, map_content).expect("test"); - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--transpiler-map") .arg(&source_map) .arg("--rewrite-errors") @@ -118,7 +118,7 @@ fn test_rewrite_errors_with_context() { }"#; fs::write(&source_map, map_content).expect("test"); - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--transpiler-map") .arg(&source_map) .arg("--rewrite-errors") @@ -159,7 +159,7 @@ fn test_rewrite_errors_typescript() { }"#; fs::write(&source_map, map_content).expect("test"); - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--transpiler-map") .arg(&source_map) .arg("--rewrite-errors") @@ -200,7 +200,7 @@ fn test_backward_compatibility_without_rewrite_errors() { fs::write(&source_map, map_content).expect("test"); // Use source map WITHOUT --rewrite-errors - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--transpiler-map").arg(&source_map).arg("--").arg("true"); // Should still succeed @@ -226,7 +226,7 @@ fn test_rewrite_errors_empty_mappings() { }"#; fs::write(&source_map, map_content).expect("test"); - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--transpiler-map").arg(&source_map).arg("--rewrite-errors").arg("--").arg("true"); // Should succeed even with no mappings @@ -263,7 +263,7 @@ fn test_rewrite_errors_with_stacktrace() { fs::write(&source_map, map_content).expect("test"); // Combine both flags - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--transpiler-map") .arg(&source_map) .arg("--rewrite-errors") @@ -295,7 +295,7 @@ fn test_rewrite_errors_with_statistics() { }"#; fs::write(&source_map, map_content).expect("test"); - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--transpiler-map") .arg(&source_map) .arg("--rewrite-errors") @@ -353,7 +353,7 @@ fn test_multiple_error_mappings() { }"#; fs::write(&source_map, map_content).expect("test"); - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--transpiler-map").arg(&source_map).arg("--rewrite-errors").arg("--").arg("true"); cmd.assert().success(); @@ -380,7 +380,7 @@ fn test_rewrite_errors_with_function_time() { }"#; fs::write(&source_map, map_content).expect("test"); - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--transpiler-map") .arg(&source_map) .arg("--rewrite-errors") diff --git a/crates/aprender-profile/tests/sprint28_decy_integration_tests.rs b/crates/aprender-profile/tests/sprint28_decy_integration_tests.rs index c767e62df..a21ec122d 100644 --- a/crates/aprender-profile/tests/sprint28_decy_integration_tests.rs +++ b/crates/aprender-profile/tests/sprint28_decy_integration_tests.rs @@ -35,7 +35,7 @@ fn test_c_source_language_accepted() { }"#; fs::write(&source_map, map_content).expect("test"); - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--transpiler-map").arg(&source_map).arg("--").arg("true"); cmd.assert().success(); @@ -63,7 +63,7 @@ fn test_c_source_with_function_time() { }"#; fs::write(&source_map, map_content).expect("test"); - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--transpiler-map").arg(&source_map).arg("--function-time").arg("--").arg("true"); cmd.assert() @@ -101,7 +101,7 @@ fn test_c_source_with_line_mappings() { }"#; fs::write(&source_map, map_content).expect("test"); - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--transpiler-map").arg(&source_map).arg("--rewrite-stacktrace").arg("--").arg("true"); cmd.assert() @@ -139,7 +139,7 @@ fn test_c_source_with_context() { }"#; fs::write(&source_map, map_content).expect("test"); - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--transpiler-map") .arg(&source_map) .arg("--function-time") @@ -182,7 +182,7 @@ fn test_c_source_with_rewrite_errors() { }"#; fs::write(&source_map, map_content).expect("test"); - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--transpiler-map").arg(&source_map).arg("--rewrite-errors").arg("--").arg("true"); cmd.assert().success(); @@ -209,7 +209,7 @@ fn test_c_source_with_statistics() { }"#; fs::write(&source_map, map_content).expect("test"); - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--transpiler-map").arg(&source_map).arg("-c").arg("--").arg("echo").arg("test"); cmd.assert().success(); @@ -241,7 +241,7 @@ fn test_c_decy_temp_variables() { }"#; fs::write(&source_map, map_content).expect("test"); - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--transpiler-map").arg(&source_map).arg("--function-time").arg("--").arg("true"); cmd.assert().success(); @@ -277,7 +277,7 @@ fn test_c_source_all_flags() { }"#; fs::write(&source_map, map_content).expect("test"); - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--transpiler-map") .arg(&source_map) .arg("--function-time") @@ -309,7 +309,7 @@ fn test_c_source_empty_mappings() { }"#; fs::write(&source_map, map_content).expect("test"); - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--transpiler-map").arg(&source_map).arg("--").arg("true"); cmd.assert().success(); @@ -344,7 +344,7 @@ fn test_c_header_file_source() { }"#; fs::write(&source_map, map_content).expect("test"); - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); cmd.arg("--transpiler-map").arg(&source_map).arg("--function-time").arg("--").arg("true"); cmd.assert().success().stdout(predicate::str::contains("types.h")); diff --git a/crates/aprender-profile/tests/sprint31_ruchy_integration_tests.rs b/crates/aprender-profile/tests/sprint31_ruchy_integration_tests.rs index ae8532c0d..105286b0c 100644 --- a/crates/aprender-profile/tests/sprint31_ruchy_integration_tests.rs +++ b/crates/aprender-profile/tests/sprint31_ruchy_integration_tests.rs @@ -37,7 +37,7 @@ echo "[RESULT] type_inference: inferred i32" >&2 .expect("Failed to set permissions"); } - let mut cmd = Command::cargo_bin("renacer").expect("Failed to find renacer binary"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("Failed to find renacer binary"); cmd.arg("--otlp-endpoint") .arg("http://localhost:4317") .arg("--trace-transpiler-decisions") @@ -71,7 +71,7 @@ echo "[RESULT] optimization: inlined" >&2 .expect("Failed to set permissions"); } - let mut cmd = Command::cargo_bin("renacer").expect("Failed to find renacer binary"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("Failed to find renacer binary"); cmd.arg("--otlp-endpoint") .arg("http://localhost:4317") .arg("--trace-transpiler-decisions") @@ -105,7 +105,7 @@ echo "[RESULT] type_check: type is valid" >&2 .expect("Failed to set permissions"); } - let mut cmd = Command::cargo_bin("renacer").expect("Failed to find renacer binary"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("Failed to find renacer binary"); cmd.arg("--otlp-endpoint") .arg("http://localhost:4317") .arg("--trace-transpiler-decisions") @@ -153,7 +153,7 @@ echo "[RESULT] pattern_compile: compiled" >&2 .expect("Failed to set permissions"); } - let mut cmd = Command::cargo_bin("renacer").expect("Failed to find renacer binary"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("Failed to find renacer binary"); cmd.arg("--otlp-endpoint") .arg("http://localhost:4317") .arg("--trace-transpiler-decisions") @@ -189,7 +189,7 @@ echo "[RESULT] trait_solve: bound satisfied" >&2 .expect("Failed to set permissions"); } - let mut cmd = Command::cargo_bin("renacer").expect("Failed to find renacer binary"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("Failed to find renacer binary"); cmd.arg("--otlp-endpoint") .arg("http://localhost:4317") .arg("--trace-transpiler-decisions") @@ -216,7 +216,7 @@ fn test_backward_compatibility_otlp_without_decisions() { .expect("Failed to set permissions"); } - let mut cmd = Command::cargo_bin("renacer").expect("Failed to find renacer binary"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("Failed to find renacer binary"); cmd.arg("--otlp-endpoint").arg("http://localhost:4317").arg("--").arg(&test_program); // Should work fine - OTLP without decisions @@ -246,7 +246,7 @@ echo "[RESULT] const_eval: evaluated to 42" >&2 .expect("Failed to set permissions"); } - let mut cmd = Command::cargo_bin("renacer").expect("Failed to find renacer binary"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("Failed to find renacer binary"); cmd.arg("--trace-transpiler-decisions").arg("--").arg(&test_program); // Should work fine - decisions without OTLP @@ -280,7 +280,7 @@ echo "Done" .expect("Failed to set permissions"); } - let mut cmd = Command::cargo_bin("renacer").expect("Failed to find renacer binary"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("Failed to find renacer binary"); cmd.arg("--otlp-endpoint") .arg("http://localhost:4317") .arg("--trace-transpiler-decisions") @@ -315,7 +315,7 @@ echo "Result" .expect("Failed to set permissions"); } - let mut cmd = Command::cargo_bin("renacer").expect("Failed to find renacer binary"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("Failed to find renacer binary"); cmd.arg("--otlp-endpoint") .arg("http://localhost:4317") .arg("--trace-transpiler-decisions") @@ -350,7 +350,7 @@ echo "Output" .expect("Failed to set permissions"); } - let mut cmd = Command::cargo_bin("renacer").expect("Failed to find renacer binary"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("Failed to find renacer binary"); cmd.arg("--otlp-endpoint") .arg("http://localhost:4317") .arg("--otlp-service-name") @@ -386,7 +386,7 @@ echo "Output" .expect("Failed to set permissions"); } - let mut cmd = Command::cargo_bin("renacer").expect("Failed to find renacer binary"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("Failed to find renacer binary"); cmd.arg("--otlp-endpoint") .arg("http://localhost:4317") .arg("--trace-transpiler-decisions") diff --git a/crates/aprender-profile/tests/sprint33_span_context_propagation_tests.rs b/crates/aprender-profile/tests/sprint33_span_context_propagation_tests.rs index f7937900a..1eade18b2 100644 --- a/crates/aprender-profile/tests/sprint33_span_context_propagation_tests.rs +++ b/crates/aprender-profile/tests/sprint33_span_context_propagation_tests.rs @@ -11,7 +11,7 @@ use assert_cmd::Command; /// Test 1: --trace-parent CLI flag is accepted #[test] fn test_trace_parent_cli_flag_accepted() { - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); let output = cmd .arg("--otlp-endpoint") .arg("http://localhost:4317") @@ -30,7 +30,7 @@ fn test_trace_parent_cli_flag_accepted() { /// Test 2: Valid traceparent format is parsed correctly #[test] fn test_trace_parent_valid_format() { - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); let output = cmd .arg("--otlp-endpoint") .arg("http://localhost:4317") @@ -56,7 +56,7 @@ fn test_trace_parent_valid_format() { /// Test 3: Invalid traceparent format falls back to new root trace #[test] fn test_trace_parent_invalid_format_fallback() { - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); let output = cmd .arg("--otlp-endpoint") .arg("http://localhost:4317") @@ -83,7 +83,7 @@ fn test_trace_parent_invalid_format_fallback() { /// Test 4: All-zero trace-id is rejected #[test] fn test_trace_parent_all_zero_trace_id() { - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); let output = cmd .arg("--otlp-endpoint") .arg("http://localhost:4317") @@ -110,7 +110,7 @@ fn test_trace_parent_all_zero_trace_id() { /// Test 5: All-zero parent-id is rejected #[test] fn test_trace_parent_all_zero_parent_id() { - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); let output = cmd .arg("--otlp-endpoint") .arg("http://localhost:4317") @@ -137,7 +137,7 @@ fn test_trace_parent_all_zero_parent_id() { /// Test 6: Invalid version is rejected #[test] fn test_trace_parent_invalid_version() { - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); let output = cmd .arg("--otlp-endpoint") .arg("http://localhost:4317") @@ -164,7 +164,7 @@ fn test_trace_parent_invalid_version() { /// Test 7: Backward compatibility - works without trace context #[test] fn test_backward_compatibility_no_trace_context() { - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); let output = cmd .arg("--otlp-endpoint") .arg("http://localhost:4317") @@ -185,7 +185,7 @@ fn test_backward_compatibility_no_trace_context() { /// Test 8: trace-parent requires otlp-endpoint #[test] fn test_trace_parent_requires_otlp() { - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); let output = cmd .arg("--trace-parent") .arg("00-0af7651916cd43dd8448eb211c80319c-b7ad6b7169203331-01") @@ -206,7 +206,7 @@ fn test_trace_parent_requires_otlp() { /// Test 9: Sampled flag (01) is detected #[test] fn test_trace_parent_sampled_flag_set() { - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); let output = cmd .arg("--otlp-endpoint") .arg("http://localhost:4317") @@ -229,7 +229,7 @@ fn test_trace_parent_sampled_flag_set() { /// Test 10: Not sampled flag (00) is detected #[test] fn test_trace_parent_not_sampled_flag() { - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); let output = cmd .arg("--otlp-endpoint") .arg("http://localhost:4317") @@ -252,7 +252,7 @@ fn test_trace_parent_not_sampled_flag() { /// Test 11: Combine with statistics mode #[test] fn test_trace_parent_with_statistics() { - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); let output = cmd .arg("--otlp-endpoint") .arg("http://localhost:4317") @@ -276,7 +276,7 @@ fn test_trace_parent_with_statistics() { /// Test 12: Combine with source correlation #[test] fn test_trace_parent_with_source() { - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); let output = cmd .arg("--otlp-endpoint") .arg("http://localhost:4317") @@ -300,7 +300,7 @@ fn test_trace_parent_with_source() { /// Test 13: Combine with timing mode #[test] fn test_trace_parent_with_timing() { - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); let output = cmd .arg("--otlp-endpoint") .arg("http://localhost:4317") @@ -324,7 +324,7 @@ fn test_trace_parent_with_timing() { /// Test 14: Combine with filtering #[test] fn test_trace_parent_with_filtering() { - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); let output = cmd .arg("--otlp-endpoint") .arg("http://localhost:4317") @@ -349,7 +349,7 @@ fn test_trace_parent_with_filtering() { /// Test 15: Combine with compute tracing (Sprint 32) #[test] fn test_trace_parent_with_compute_tracing() { - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); let output = cmd .arg("--otlp-endpoint") .arg("http://localhost:4317") @@ -375,7 +375,7 @@ fn test_trace_parent_with_compute_tracing() { /// Test 16: Combine with transpiler decision tracing (Sprint 31) #[test] fn test_trace_parent_with_decision_tracing() { - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); let output = cmd .arg("--otlp-endpoint") .arg("http://localhost:4317") @@ -399,7 +399,7 @@ fn test_trace_parent_with_decision_tracing() { /// Test 17: Full observability stack (all Sprint 30-33 features) #[test] fn test_trace_parent_full_observability_stack() { - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); let output = cmd .arg("--otlp-endpoint") .arg("http://localhost:4317") diff --git a/crates/aprender-profile/tests/sprint34_integration_tests.rs b/crates/aprender-profile/tests/sprint34_integration_tests.rs index 5ee5849f3..df82b2255 100644 --- a/crates/aprender-profile/tests/sprint34_integration_tests.rs +++ b/crates/aprender-profile/tests/sprint34_integration_tests.rs @@ -34,7 +34,7 @@ fn test_compute_jaeger_export() { setup_jaeger(); // Run Renacer with compute tracing - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); let output = cmd .arg("--otlp-endpoint") .arg(OTLP_ENDPOINT) @@ -81,7 +81,7 @@ fn test_compute_adaptive_sampling() { clear_jaeger_data().expect("Failed to clear Jaeger"); // Run with default adaptive sampling (100μs) - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); let output = cmd .arg("--otlp-endpoint") .arg(OTLP_ENDPOINT) @@ -139,7 +139,7 @@ fn test_compute_trace_all_flag() { clear_jaeger_data().expect("Failed to clear Jaeger"); // Run with --trace-compute-all (no sampling) - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); let output = cmd .arg("--otlp-endpoint") .arg(OTLP_ENDPOINT) @@ -187,7 +187,7 @@ fn test_compute_span_attributes() { clear_jaeger_data().expect("Failed to clear Jaeger"); // Run with compute tracing - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); let output = cmd .arg("--otlp-endpoint") .arg(OTLP_ENDPOINT) @@ -237,7 +237,7 @@ fn test_compute_parent_child_relationship() { clear_jaeger_data().expect("Failed to clear Jaeger"); // Run with compute tracing - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); let output = cmd .arg("--otlp-endpoint") .arg(OTLP_ENDPOINT) @@ -293,7 +293,7 @@ fn test_compute_multiple_blocks() { clear_jaeger_data().expect("Failed to clear Jaeger"); // Run with compute tracing on a program that should generate multiple compute blocks - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); let output = cmd .arg("--otlp-endpoint") .arg(OTLP_ENDPOINT) @@ -340,7 +340,7 @@ fn test_distributed_trace_context_propagation() { let traceparent = format!("00-{}-{}-01", trace_id, parent_span_id); // Run Renacer with injected trace context - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); let output = cmd .arg("--otlp-endpoint") .arg(OTLP_ENDPOINT) @@ -399,7 +399,7 @@ fn test_distributed_env_var_extraction() { let traceparent = format!("00-{}-{}-00", trace_id, parent_span_id); // Run Renacer (should auto-detect TRACEPARENT) - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); let output = cmd .env("TRACEPARENT", &traceparent) .arg("--otlp-endpoint") @@ -437,7 +437,7 @@ fn test_w3c_traceparent_validation() { setup_jaeger(); // Test invalid traceparent format (should be rejected) - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); let output = cmd .arg("--otlp-endpoint") .arg(OTLP_ENDPOINT) @@ -473,7 +473,7 @@ fn test_distributed_trace_flags() { let parent_span_id = "fedcba0987654321"; let traceparent = format!("00-{}-{}-01", trace_id, parent_span_id); - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); let output = cmd .arg("--otlp-endpoint") .arg(OTLP_ENDPOINT) @@ -510,7 +510,7 @@ fn test_distributed_service_name() { let traceparent = format!("00-{}-{}-01", trace_id, parent_span_id); // Run with trace context - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); let output = cmd .arg("--otlp-endpoint") .arg(OTLP_ENDPOINT) @@ -552,7 +552,7 @@ fn test_full_observability_stack() { let traceparent = format!("00-{}-{}-01", trace_id, parent_span_id); // Run with ALL features: distributed + compute + stats - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); let output = cmd .arg("--otlp-endpoint") .arg(OTLP_ENDPOINT) @@ -608,7 +608,7 @@ fn test_full_stack_span_hierarchy() { let traceparent = format!("00-{}-{}-01", trace_id, parent_span_id); // Run with all features - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); let output = cmd .arg("--otlp-endpoint") .arg(OTLP_ENDPOINT) @@ -683,7 +683,7 @@ fn test_full_stack_performance_overhead() { // Run WITHOUT tracing (baseline) let start = std::time::Instant::now(); - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); let output = cmd .arg("--") .arg("./tests/fixtures/simple_program") @@ -695,7 +695,7 @@ fn test_full_stack_performance_overhead() { // Run WITH full tracing let start = std::time::Instant::now(); - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); let output = cmd .arg("--otlp-endpoint") .arg(OTLP_ENDPOINT) diff --git a/crates/aprender-profile/tests/sprint49_decision_export_tests.rs b/crates/aprender-profile/tests/sprint49_decision_export_tests.rs index 3ce6eec05..72cdb69ac 100644 --- a/crates/aprender-profile/tests/sprint49_decision_export_tests.rs +++ b/crates/aprender-profile/tests/sprint49_decision_export_tests.rs @@ -212,7 +212,7 @@ fn test_cli_stats_command() { std::fs::write(&msgpack_path, rmp_serde::to_vec(&traces).expect("test")).expect("test"); - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); let output = cmd.arg("stats").arg(&msgpack_path).output().expect("Failed to execute"); assert!(output.status.success(), "stats command should succeed"); @@ -229,7 +229,7 @@ fn test_cli_export_command_help() { // AC: renacer export --help shows usage use assert_cmd::Command; - let mut cmd = Command::cargo_bin("renacer").expect("test"); + let mut cmd = Command::cargo_bin("aprender-profile").expect("test"); let output = cmd.arg("export").arg("--help").output().expect("Failed to execute"); assert!(output.status.success());