[INFO] cloning repository https://github.com/dahlia/gukhanmun [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dahlia/gukhanmun" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdahlia%2Fgukhanmun", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdahlia%2Fgukhanmun'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] fb9d665bef5aee48532111534912dbac20bc6a0c [INFO] testing dahlia/gukhanmun against 1.97.0-beta.6 for beta-1.98-2 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdahlia%2Fgukhanmun" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/dahlia/gukhanmun [INFO] finished tweaking git repo https://github.com/dahlia/gukhanmun [INFO] tweaked toml for git repo https://github.com/dahlia/gukhanmun written to /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/dahlia/gukhanmun on toolchain 1.97.0-beta.6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/dahlia/gukhanmun already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root: [INFO] [stderr] package: /workspace/builds/worker-1-tc1/source/crates/gukhanmun-napi/Cargo.toml [INFO] [stderr] workspace: /workspace/builds/worker-1-tc1/source/Cargo.toml [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded convert_case v0.11.0 [INFO] [stderr] Downloaded napi-build v2.3.2 [INFO] [stderr] Downloaded napi-derive v3.5.6 [INFO] [stderr] Downloaded ctor v1.0.6 [INFO] [stderr] Downloaded napi-sys v3.2.1 [INFO] [stderr] Downloaded escape8259 v0.5.3 [INFO] [stderr] Downloaded tracing-test v0.2.6 [INFO] [stderr] Downloaded napi-derive-backend v5.0.4 [INFO] [stderr] Downloaded tracing-test-macro v0.2.6 [INFO] [stderr] Downloaded serde_spanned v1.1.1 [INFO] [stderr] Downloaded toml_writer v1.1.1+spec-1.1.0 [INFO] [stderr] Downloaded libloading v0.9.0 [INFO] [stderr] Downloaded libtest-mimic v0.8.2 [INFO] [stderr] Downloaded filebuffer v0.4.0 [INFO] [stderr] Downloaded cdb v0.6.0 [INFO] [stderr] Downloaded insta v1.47.2 [INFO] [stderr] Downloaded pulldown-cmark-to-cmark v22.0.0 [INFO] [stderr] Downloaded napi v3.9.0 [INFO] [stderr] Downloaded serde_ignored v0.1.14 [INFO] [stderr] Downloaded zip v6.0.0 [INFO] [stderr] Downloaded jsonpath-rust v1.0.4 [INFO] [stderr] Downloaded html-escape v0.2.13 [INFO] [stderr] Downloaded utf8-width v0.1.8 [INFO] [stderr] Downloaded jetscii v0.5.3 [INFO] [stderr] Downloaded fmt2io v1.0.0 [INFO] [stderr] Downloaded onig v6.5.3 [INFO] [stderr] Downloaded caseless v0.2.2 [INFO] [stderr] Downloaded plist v1.9.0 [INFO] [stderr] Downloaded entities v1.0.1 [INFO] [stderr] Downloaded pulldown-cmark v0.13.3 [INFO] [stderr] Downloaded emojis v0.6.4 [INFO] [stderr] Downloaded hongdown v0.3.11 [INFO] [stderr] Downloaded quick-xml v0.39.4 [INFO] [stderr] Downloaded comrak v0.49.0 [INFO] [stderr] Downloaded noyalib v0.0.5 [INFO] [stderr] Downloaded onig_sys v69.9.3 [INFO] [stderr] Downloaded fst v0.4.7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 749384f5e281e23f61ad26bcb68f05e89d66fa86e59b81eef580494389a10266 [INFO] running `Command { std: "docker" "start" "749384f5e281e23f61ad26bcb68f05e89d66fa86e59b81eef580494389a10266", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "749384f5e281e23f61ad26bcb68f05e89d66fa86e59b81eef580494389a10266", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "749384f5e281e23f61ad26bcb68f05e89d66fa86e59b81eef580494389a10266" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "749384f5e281e23f61ad26bcb68f05e89d66fa86e59b81eef580494389a10266", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "749384f5e281e23f61ad26bcb68f05e89d66fa86e59b81eef580494389a10266" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root: [INFO] [stderr] package: /opt/rustwide/workdir/crates/gukhanmun-napi/Cargo.toml [INFO] [stderr] workspace: /opt/rustwide/workdir/Cargo.toml [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling zerocopy v0.8.48 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling bitflags v2.11.1 [INFO] [stderr] Compiling regex-syntax v0.8.10 [INFO] [stderr] Compiling ciborium-io v0.2.2 [INFO] [stderr] Compiling fst v0.4.7 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling deranged v0.5.8 [INFO] [stderr] Compiling filebuffer v0.4.0 [INFO] [stderr] Compiling num-conv v0.2.2 [INFO] [stderr] Compiling time-core v0.1.8 [INFO] [stderr] Compiling simd-adler32 v0.3.9 [INFO] [stderr] Compiling crc32fast v1.5.0 [INFO] [stderr] Compiling serde_json v1.0.150 [INFO] [stderr] Compiling clap_builder v4.6.0 [INFO] [stderr] Compiling zlib-rs v0.6.3 [INFO] [stderr] Compiling cdb v0.6.0 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling bumpalo v3.20.2 [INFO] [stderr] Compiling cc v1.2.62 [INFO] [stderr] Compiling prettyplease v0.2.37 [INFO] [stderr] Compiling typenum v1.20.0 [INFO] [stderr] Compiling pulldown-cmark v0.13.3 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling csv-core v0.1.13 [INFO] [stderr] Compiling zopfli v0.8.3 [INFO] [stderr] Compiling siphasher v1.0.3 [INFO] [stderr] Compiling tinyvec v1.11.0 [INFO] [stderr] Compiling phf_shared v0.11.3 [INFO] [stderr] Compiling pest v2.8.6 [INFO] [stderr] Compiling jetscii v0.5.3 [INFO] [stderr] Compiling unicase v2.9.0 [INFO] [stderr] Compiling terminal_size v0.4.4 [INFO] [stderr] Compiling time v0.3.47 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling entities v1.0.1 [INFO] [stderr] Compiling rayon-core v1.13.0 [INFO] [stderr] Compiling unicode-normalization v0.1.25 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling comrak v0.49.0 [INFO] [stderr] Compiling phf v0.11.3 [INFO] [stderr] Compiling bstr v1.12.1 [INFO] [stderr] Compiling onig_sys v69.9.3 [INFO] [stderr] Compiling winnow v1.0.3 [INFO] [stderr] Compiling dirs-sys v0.5.0 [INFO] [stderr] Compiling pest_meta v2.8.6 [INFO] [stderr] Compiling pulldown-cmark-to-cmark v22.0.0 [INFO] [stderr] Compiling toml_parser v1.1.2+spec-1.1.0 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling crypto-common v0.1.7 [INFO] [stderr] Compiling caseless v0.2.2 [INFO] [stderr] Compiling emojis v0.6.4 [INFO] [stderr] Compiling toml_writer v1.1.1+spec-1.1.0 [INFO] [stderr] Compiling indexmap v2.14.0 [INFO] [stderr] Compiling csv v1.4.0 [INFO] [stderr] Compiling toml_datetime v0.7.5+spec-1.1.0 [INFO] [stderr] Compiling serde_spanned v1.1.1 [INFO] [stderr] Compiling typed-arena v2.0.2 [INFO] [stderr] Compiling shell-words v1.1.1 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling xdg v2.5.2 [INFO] [stderr] Compiling hongdown v0.3.11 [INFO] [stderr] Compiling darling_core v0.23.0 [INFO] [stderr] Compiling pest_generator v2.8.6 [INFO] [stderr] Compiling winnow v0.7.15 [INFO] [stderr] Compiling utf8-width v0.1.8 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling fmt2io v1.0.0 [INFO] [stderr] Compiling noyalib v0.0.5 [INFO] [stderr] Compiling rayon v1.12.0 [INFO] [stderr] Compiling html-escape v0.2.13 [INFO] [stderr] Compiling serde_ignored v0.1.14 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling flate2 v1.1.9 [INFO] [stderr] Compiling dirs v6.0.0 [INFO] [stderr] Compiling similar v2.7.0 [INFO] [stderr] Compiling glob v0.3.3 [INFO] [stderr] Compiling unicode-width v0.2.2 [INFO] [stderr] Compiling rustc-hash v2.1.2 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling zip v6.0.0 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling zerocopy-derive v0.8.48 [INFO] [stderr] Compiling clap_derive v4.6.1 [INFO] [stderr] Compiling pest_derive v2.8.6 [INFO] [stderr] Compiling toml v0.9.12+spec-1.1.0 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling globset v0.4.18 [INFO] [stderr] Compiling gukhanmun-unihan v0.3.0 (/opt/rustwide/workdir/crates/gukhanmun-unihan) [INFO] [stderr] Compiling onig v6.5.3 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling jsonpath-rust v1.0.4 [INFO] [stderr] Compiling ignore v0.4.25 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling darling_macro v0.23.0 [INFO] [stderr] Compiling gukhanmun-core v0.3.0 (/opt/rustwide/workdir/crates/gukhanmun-core) [INFO] [stderr] Compiling tracing-subscriber v0.3.23 [INFO] [stderr] Compiling darling v0.23.0 [INFO] [stderr] Compiling bon-macros v3.9.1 [INFO] [stderr] Compiling clap v4.6.1 [INFO] [stderr] Compiling gukhanmun-html v0.3.0 (/opt/rustwide/workdir/crates/gukhanmun-html) [INFO] [stderr] Compiling gukhanmun-markdown v0.3.0 (/opt/rustwide/workdir/crates/gukhanmun-markdown) [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling gukhanmun-dict-extract v0.3.0 (/opt/rustwide/workdir/crates/gukhanmun-dict-extract) [INFO] [stderr] Compiling bincode v1.3.3 [INFO] [stderr] Compiling syntect v5.3.0 [INFO] [stderr] Compiling bon v3.9.1 [INFO] [stderr] Compiling half v2.7.1 [INFO] [stderr] Compiling ciborium-ll v0.2.2 [INFO] [stderr] Compiling ciborium v0.2.2 [INFO] [stderr] Compiling gukhanmun-cdb v0.3.0 (/opt/rustwide/workdir/crates/gukhanmun-cdb) [INFO] [stderr] Compiling gukhanmun-fst v0.3.0 (/opt/rustwide/workdir/crates/gukhanmun-fst) [INFO] [stderr] Compiling gukhanmun-mkdict v0.3.0 (/opt/rustwide/workdir/crates/gukhanmun-mkdict) [INFO] [stderr] Compiling gukhanmun-stdict v0.3.0 (/opt/rustwide/workdir/crates/gukhanmun-stdict) [INFO] [stderr] Compiling gukhanmun-opendict v0.3.0 (/opt/rustwide/workdir/crates/gukhanmun-opendict) [INFO] [stderr] Compiling gukhanmun v0.3.0 (/opt/rustwide/workdir/crates/gukhanmun) [INFO] [stderr] Compiling gukhanmun-cli v0.3.0 (/opt/rustwide/workdir/crates/gukhanmun-cli) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 37s [INFO] running `Command { std: "docker" "inspect" "749384f5e281e23f61ad26bcb68f05e89d66fa86e59b81eef580494389a10266", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "749384f5e281e23f61ad26bcb68f05e89d66fa86e59b81eef580494389a10266" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root: [INFO] [stderr] package: /opt/rustwide/workdir/crates/gukhanmun-napi/Cargo.toml [INFO] [stderr] workspace: /opt/rustwide/workdir/Cargo.toml [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling quick-error v1.2.3 [INFO] [stderr] Compiling bit-vec v0.8.0 [INFO] [stderr] Compiling unarray v0.1.4 [INFO] [stderr] Compiling tracing-test-macro v0.2.6 [INFO] [stderr] Compiling bstr v1.12.1 [INFO] [stderr] Compiling predicates-core v1.0.10 [INFO] [stderr] Compiling termtree v0.5.1 [INFO] [stderr] Compiling assert_cmd v2.2.2 [INFO] [stderr] Compiling normalize-line-endings v0.3.0 [INFO] [stderr] Compiling difflib v0.4.0 [INFO] [stderr] Compiling similar v2.7.0 [INFO] [stderr] Compiling escape8259 v0.5.3 [INFO] [stderr] Compiling bit-set v0.8.0 [INFO] [stderr] Compiling predicates-tree v1.0.13 [INFO] [stderr] Compiling console v0.16.3 [INFO] [stderr] Compiling gukhanmun-dict-extract v0.3.0 (/opt/rustwide/workdir/crates/gukhanmun-dict-extract) [INFO] [stderr] Compiling rand_core v0.9.5 [INFO] [stderr] Compiling tracing-test v0.2.6 [INFO] [stderr] Compiling rand_xorshift v0.4.0 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling rand v0.9.4 [INFO] [stderr] Compiling globset v0.4.18 [INFO] [stderr] Compiling float-cmp v0.10.0 [INFO] [stderr] Compiling ignore v0.4.25 [INFO] [stderr] Compiling predicates v3.1.4 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling terminal_size v0.4.4 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling clap_builder v4.6.0 [INFO] [stderr] Compiling rusty-fork v0.3.1 [INFO] [stderr] Compiling insta v1.47.2 [INFO] [stderr] Compiling proptest v1.11.0 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling tracing-subscriber v0.3.23 [INFO] [stderr] Compiling clap v4.6.1 [INFO] [stderr] Compiling libtest-mimic v0.8.2 [INFO] [stderr] Compiling gukhanmun-mkdict v0.3.0 (/opt/rustwide/workdir/crates/gukhanmun-mkdict) [INFO] [stderr] Compiling comrak v0.49.0 [INFO] [stderr] Compiling gukhanmun-opendict v0.3.0 (/opt/rustwide/workdir/crates/gukhanmun-opendict) [INFO] [stderr] Compiling gukhanmun-stdict v0.3.0 (/opt/rustwide/workdir/crates/gukhanmun-stdict) [INFO] [stderr] Compiling gukhanmun-core v0.3.0 (/opt/rustwide/workdir/crates/gukhanmun-core) [INFO] [stderr] Compiling gukhanmun-markdown v0.3.0 (/opt/rustwide/workdir/crates/gukhanmun-markdown) [INFO] [stderr] Compiling gukhanmun-cdb v0.3.0 (/opt/rustwide/workdir/crates/gukhanmun-cdb) [INFO] [stderr] Compiling gukhanmun-html v0.3.0 (/opt/rustwide/workdir/crates/gukhanmun-html) [INFO] [stderr] Compiling gukhanmun-fst v0.3.0 (/opt/rustwide/workdir/crates/gukhanmun-fst) [INFO] [stderr] Compiling gukhanmun-unihan v0.3.0 (/opt/rustwide/workdir/crates/gukhanmun-unihan) [INFO] [stderr] Compiling hongdown v0.3.11 [INFO] [stderr] Compiling gukhanmun v0.3.0 (/opt/rustwide/workdir/crates/gukhanmun) [INFO] [stderr] Compiling gukhanmun-cli v0.3.0 (/opt/rustwide/workdir/crates/gukhanmun-cli) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 02s [INFO] running `Command { std: "docker" "inspect" "749384f5e281e23f61ad26bcb68f05e89d66fa86e59b81eef580494389a10266", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "749384f5e281e23f61ad26bcb68f05e89d66fa86e59b81eef580494389a10266" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen", kill_on_drop: false }` [INFO] [stderr] warning: profiles for the non root package will be ignored, specify profiles at the workspace root: [INFO] [stderr] package: /opt/rustwide/workdir/crates/gukhanmun-napi/Cargo.toml [INFO] [stderr] workspace: /opt/rustwide/workdir/Cargo.toml [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.45s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/gukhanmun-7ae46f20be5dab7b) [INFO] [stdout] [INFO] [stderr] Running tests/fixtures.rs (/opt/rustwide/target/debug/deps/fixtures-10cbc12c27889512) [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 36 tests [INFO] [stdout] test commonmark::03_paragraph ... ok [INFO] [stdout] test commonmark::04_paragraphs ... ok [INFO] [stdout] test commonmark::05_bullet_list ... ok [INFO] [stdout] test commonmark::06_nested_list ... ok [INFO] [stdout] test commonmark::01_atx_heading ... ok [INFO] [stdout] test commonmark::02_heading_levels ... ok [INFO] [stdout] test commonmark::07_ordered_list ... ok [INFO] [stdout] test commonmark::10_blockquote ... ok [INFO] [stdout] test commonmark::11_emphasis ... ok [INFO] [stdout] test commonmark::09_fenced_code_block ... ok [INFO] [stdout] test commonmark::08_inline_code ... ok [INFO] [stdout] test commonmark::13_inline_link ... ok [INFO] [stdout] test commonmark::14_autolink ... ok [INFO] [stdout] test commonmark::12_strong ... ok [INFO] [stdout] test commonmark::15_html_block ... ok [INFO] [stdout] test html::initial_sound_raw ... ok [INFO] [stdout] test html::malformed_unclosed_tag ... ok [INFO] [stdout] test markdown::code_span_untouched ... ok [INFO] [stdout] test html::seup_gwan_eum ... ok [INFO] [stdout] test html::i_reon_nal ... ok [INFO] [stdout] test html::mixed_script_dict ... ok [INFO] [stdout] test html::preservation ... ok [INFO] [stdout] test text::redundant_parens_definition_gloss ... ok [INFO] [stdout] test text::redundant_parens_disabled ... ok [INFO] [stdout] test text::redundant_parens_hangul_first_original ... ok [INFO] [stdout] test html::lenient_unclosed_cdata ... ok [INFO] [stdout] test text::redundant_parens_hangul_first ... ok [INFO] [stdout] test text::redundant_parens_alternative_reading ... ok [INFO] [stdout] test text::redundant_parens_foreign_reject ... ok [INFO] [stdout] test markdown::code_block_untouched ... ok [INFO] [stdout] test text::redundant_parens_reading_override ... ok [INFO] [stdout] test text::redundant_parens_hanja_first_original ... ok [INFO] [stdout] test text::redundant_parens_reading_override_original ... ok [INFO] [stdout] test text::proper_name ... ok [INFO] [stdout] test text::redundant_parens_hanja_first ... ok [INFO] [stdout] test text::constitution_preamble ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 36 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.21s [INFO] [stdout] [INFO] [stderr] Running tests/html.rs (/opt/rustwide/target/debug/deps/html-6882bd7359af5580) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test html_buffered_converts_text_inside_paragraph ... ok [INFO] [stdout] test html_ruby_rendering_emits_ruby_tags ... ok [INFO] [stdout] test html_streaming_iter_matches_buffered ... ok [INFO] [stdout] test html_preserve_when_skips_marked_elements ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/markdown.rs (/opt/rustwide/target/debug/deps/markdown-a6531eca42b96fbf) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stderr] Running tests/plain_text.rs (/opt/rustwide/target/debug/deps/plain_text-75be80d0b653df84) [INFO] [stdout] test markdown_commonmark_buffered_converts_paragraph ... ok [INFO] [stdout] test markdown_streaming_iter_matches_buffered ... ok [INFO] [stdout] test markdown_gfm_table_round_trips ... ok [INFO] [stdout] test markdown_preserves_inline_code_verbatim ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 21 tests [INFO] [stdout] test default_ko_kr_leaves_uncollided_word_unglossed ... ok [INFO] [stdout] test default_ko_kr_converts_bundled_word ... ok [INFO] [stdout] test default_ko_kr_marks_homonyms_with_hanja ... ok [INFO] [stdout] test full_rendering_options_replace_a_prior_variant_set_override ... ok [INFO] [stdout] test ko_kr_initial_sound_law_applies_in_fallback ... ok [INFO] [stdout] test rendering_preserves_a_prior_variant_set_override ... ok [INFO] [stdout] test numeral_strategy_smart_converts_year ... ok [INFO] [stdout] test ko_kp_keeps_original_sound_everywhere ... ok [INFO] [stdout] test streaming_iter_does_not_drain_upstream_ahead_of_demand ... ok [INFO] [stdout] test streaming_iter_matches_buffered_string ... ok [INFO] [stdout] test streaming_iter_is_lazy_for_unconsumed_tokens ... ok [INFO] [stdout] test no_bundled_opendict_disables_ko_kp_bundled_dictionary ... ok [INFO] [stdout] test user_directive_can_force_hanja ... ok [INFO] [stdout] test rendering_override_emits_hanja_first ... ok [INFO] [stdout] test user_dictionary_overrides_fallback ... ok [INFO] [stdout] test bundled_initial_sound_law_follows_position ... ok [INFO] [stdout] test ko_kp_skips_initial_sound_law_and_uses_north_korean_opendict ... ok [INFO] [stdout] test default_ko_kr_leaves_standalone_homophone_unglossed ... ok [INFO] [stdout] test ko_kp_dictionary_chain_includes_north_korean_opendict_by_default ... ok [INFO] [stdout] test no_bundled_opendict_leaves_stdict_enabled ... ok [INFO] [stdout] test dictionary_wide_glosses_standalone_homophone ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.64s [INFO] [stdout] [INFO] [stderr] Running tests/presets.rs (/opt/rustwide/target/debug/deps/presets-69b51bde656f486e) [INFO] [stdout] [INFO] [stdout] running 3 tests [INFO] [stdout] test ko_kr_preset_defaults_match_design_table ... ok [INFO] [stderr] Running tests/redundant_parens.rs (/opt/rustwide/target/debug/deps/redundant_parens-0d84d45736770ffe) [INFO] [stdout] test preset_default_is_ko_kr ... ok [INFO] [stdout] test ko_kp_preset_disables_initial_sound_law_and_includes_north_korean_opendict ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] test disabled_keeps_the_redundant_parenthetical ... ok [INFO] [stdout] test alternative_reading_is_pinned ... ok [INFO] [stdout] test definition_gloss_passes_through ... ok [INFO] [stdout] test hangul_first_collapses_in_hangul_only ... ok [INFO] [stdout] test hanja_first_collapses_in_original ... ok [INFO] [stdout] test first_occurrence_filter_preserves_repeated_explicit_glosses ... ok [INFO] [stdout] test hangul_first_collapses_in_original ... ok [INFO] [stdout] test streaming_across_chunk_boundaries_matches_one_shot ... ok [INFO] [stdout] test hanja_first_collapses_in_hangul_only ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running tests/user_dictionary.rs (/opt/rustwide/target/debug/deps/user_dictionary-21b6812c7d964383) [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test context_local_detection_emits_hanja_for_in_text_collision ... ok [INFO] [stdout] test dictionary_wide_detection_emits_hanja_without_in_text_collision ... ok [INFO] [stdout] test user_directive_skip_annotation_collapses_to_plain_hangul ... ok [INFO] [stdout] test earlier_dictionaries_win_over_later_ones ... ok [INFO] [stdout] test context_local_detection_leaves_isolated_word_unglossed ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/gukhanmun_cdb-51cfa5e8f21774bb) [INFO] [stdout] [INFO] [stdout] running 8 tests [INFO] [stdout] test tests::loads_metadata_lookup_and_prefix_matches ... ok [INFO] [stdout] test tests::from_bytes_matches_open ... ok [INFO] [stdout] test tests::open_errors_preserve_structured_variants_and_sources ... ok [INFO] [stdout] test tests::lookup_errors_distinguish_malformed_records ... ok [INFO] [stdout] test tests::has_homophone_detects_other_forms_with_same_reading ... ok [INFO] [stdout] test tests::unsupported_version_emits_error_event ... ok [INFO] [stdout] test tests::generated_cdb_matches_map_dictionary ... ok [INFO] [stdout] test tests::from_bytes_matches_open_proptest ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.58s [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/gukhanmun-f19681a96d1dabda) [INFO] [stdout] running 0 tests [INFO] [stderr] Running tests/cli.rs (/opt/rustwide/target/debug/deps/cli-7d9ccf342297acf1) [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 85 tests [INFO] [stdout] test collapses_in_the_streaming_fast_path ... ok [INFO] [stdout] test cdb_user_dictionary_overrides_bundled_stdict ... ok [INFO] [stdout] test converts_stdin_to_stdout_with_bundled_stdict_by_default ... ok [INFO] [stdout] test format_text_markdown_converts_markdown_input ... ok [INFO] [stdout] test first_occurrence_per_document_clears_repeated_required_hanja ... ok [INFO] [stdout] test collapses_in_the_html_pipeline_across_stdin_chunks ... ok [INFO] [stdout] test format_text_markdown_gfm_variant_no_space_enables_gfm_extensions ... ok [INFO] [stdout] test directive_glob_requires_hangul_in_original_mode ... ok [INFO] [stdout] test format_text_html_converts_html_input ... ok [INFO] [stdout] test directive_literal_requires_hanja ... ok [INFO] [stdout] test collapses_redundant_parenthetical_annotation_by_default ... ok [INFO] [stdout] test extensionless_cdb_user_dictionary_loads_from_file_contents ... ok [INFO] [stdout] test help_groups_options_by_pipeline_area ... ok [INFO] [stdout] test default_plain_stdin_preserves_homophone_context_across_lines ... ok [INFO] [stdout] test directives_file_applies_literal_and_glob_rules ... ok [INFO] [stdout] test first_occurrence_per_section_resets_at_html_headings ... ok [INFO] [stdout] test collapses_in_the_html_pipeline ... ok [INFO] [stdout] test html_extension_infers_html_format ... ok [INFO] [stdout] test html_preserve_class_flag_inherits_to_descendants ... ok [INFO] [stdout] test html_preserve_attr_flag_decodes_html_entities_in_attribute_value ... ok [INFO] [stdout] test hanja_variant_set_changes_hanja_output_after_variant_recognition ... ok [INFO] [stdout] test html_preserve_attr_flag_without_value_matches_presence ... ok [INFO] [stdout] test html_preserve_class_flag_decodes_html_entities_in_attribute_value ... ok [INFO] [stdout] test html_stdin_writes_complete_block_before_eof ... ok [INFO] [stdout] test invalid_recovery_value_is_rejected ... ok [INFO] [stdout] test later_user_dictionary_has_higher_priority_than_earlier_dictionary ... ok [INFO] [stdout] test html_preserve_attr_flag_with_value_matches_exact_value ... ok [INFO] [stdout] test disambiguation_off_suppresses_dictionary_homophones ... ok [INFO] [stdout] test markdown_frontmatter_convert_converts_selected_field_only ... ok [INFO] [stdout] test format_text_markdown_does_not_transform_punctuation ... ok [INFO] [stdout] test html_preserve_class_flag_preserves_matching_elements ... ok [INFO] [stdout] test ko_kp_plain_stdin_writes_ready_output_before_eof ... ok [INFO] [stdout] test html_preserve_flags_compose_or_semantics ... ok [INFO] [stdout] test format_text_markdown_gfm_variant_with_space_enables_gfm_extensions ... ok [INFO] [stdout] test format_text_markdown_gfm_variant_extra_whitespace_and_unknown_param ... ok [INFO] [stdout] test markdown_without_flag_preserves_frontmatter_verbatim ... ok [INFO] [stdout] test ko_kp_preset_uses_north_korean_opendict_and_disables_initial_sound_law ... ok [INFO] [stdout] test markdown_frontmatter_convert_rejects_non_markdown_format ... ok [INFO] [stdout] test markdown_frontmatter_convert_supports_wildcard_selector ... ok [INFO] [stdout] test markdown_frontmatter_convert_leaves_non_string_matches_untouched ... ok [INFO] [stdout] test markdown_frontmatter_convert_preserves_empty_frontmatter_block ... ok [INFO] [stdout] test markdown_frontmatter_convert_without_frontmatter_warns_and_converts_body ... ok [INFO] [stdout] test no_bundled_dictionaries_uses_fallback_only_conversion ... ok [INFO] [stdout] test multiple_directives_files_compose_with_inline_directives ... ok [INFO] [stdout] test html_preserve_attr_rejected_for_plain_text_format ... ok [INFO] [stdout] test no_stdict_flag_is_no_longer_accepted ... ok [INFO] [stdout] test no_collapse_parens_keeps_the_redundant_parenthetical ... ok [INFO] [stdout] test format_text_markdown_ruby_reference_link_preserves_definition_label ... ok [INFO] [stdout] test markdown_without_flag_preserves_leading_bom_with_frontmatter ... ok [INFO] [stdout] test numeral_option_hangul_phonetic_keeps_bundled_calendar_readings ... ok [INFO] [stdout] test numeral_option_selects_smart_conversion ... ok [INFO] [stdout] test numeral_option_selects_positional_arabic_conversion ... ok [INFO] [stdout] test numeral_option_smart_keeps_bundled_non_numeric_words ... ok [INFO] [stdout] test markdown_without_flag_preserves_frontmatter_formatting ... ok [INFO] [stdout] test original_with_ruby_gloss_uses_ruby_element_in_html_when_required ... ok [INFO] [stdout] test numeral_option_smart_overrides_user_calendar_entries_without_unit_entries ... ok [INFO] [stdout] test recovery_lenient_preserves_malformed_html_and_continues ... ok [INFO] [stdout] test numeral_option_selects_positional_arabic_with_bundled_calendar_entries ... ok [INFO] [stdout] test md_extension_infers_markdown_format ... ok [INFO] [stdout] test rendering_option_selects_parenthesized_output ... ok [INFO] [stdout] test numeral_option_selects_smart_with_bundled_calendar_entries ... ok [INFO] [stdout] test numeral_option_defaults_to_smart_with_bundled_calendar_entries ... ok [INFO] [stdout] test ruby_rendering_in_plain_text_falls_back_to_parens ... ok [INFO] [stdout] test ruby_rendering_in_html_emits_ruby_element ... ok [INFO] [stdout] test reads_from_file_and_writes_to_output_file ... ok [INFO] [stdout] test segmentation_option_selects_eager_longest_match ... ok [INFO] [stdout] test same_input_and_output_path_preserves_file_permissions ... ok [INFO] [stdout] test unknown_extension_falls_back_to_plain_text ... ok [INFO] [stdout] test verbose_flag_emits_debug_output_to_stderr ... ok [INFO] [stdout] test verbose_flag_long_is_accepted ... ok [INFO] [stdout] test short_segmentation_option_selects_eager_longest_match ... ok [INFO] [stdout] test skip_directive_collapses_hangul_primary_renderer ... ok [INFO] [stdout] test html_preserve_class_rejected_for_plain_text_format ... ok [INFO] [stdout] test skip_directive_glob_collapses_hanja_primary_renderer ... ok [INFO] [stdout] test verbose_flag_short_is_accepted ... ok [INFO] [stdout] test user_dictionary_overrides_bundled_stdict ... ok [INFO] [stdout] test default_strict_recovery_rejects_malformed_html ... ok [INFO] [stdout] test malformed_directives_file_reports_path_and_line ... ok [INFO] [stdout] test same_input_and_output_path_is_replaced_after_successful_conversion ... ok [INFO] [stdout] test stdin_reports_invalid_utf8 ... ok [INFO] [stdout] test stdin_streaming_preserves_dictionary_matches_across_chunk_boundaries ... ok [INFO] [stdout] test missing_dictionary_path_reports_a_human_readable_error ... ok [INFO] [stdout] test original_gloss_rejected_without_original_rendering ... ok [INFO] [stdout] test non_hanja_multiline_input_is_preserved ... ok [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/gukhanmun_core-7800a68eeacfb105) [INFO] [stdout] test disambiguation_per_document_marks_dictionary_homophones ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 85 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.79s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test fallback::tests::initial_sound_law_preserves_batchim ... ok [INFO] [stdout] test fallback::tests::initial_sound_law_changes_only_first_syllable ... ok [INFO] [stdout] test variants::tests::as_dictionary_borrows_the_source ... ok [INFO] [stdout] test variants::tests::changed_variant_set_owns_the_rendered_source ... ok [INFO] [stdout] test variants::tests::normalized_variant_set_borrows_the_source ... ok [INFO] [stdout] test segment::tests::eager_segments_cover_the_input_without_gaps ... ok [INFO] [stdout] test segment::tests::lattice_segments_cover_the_input_without_gaps ... ok [INFO] [stderr] Running tests/core_mvp.rs (/opt/rustwide/target/debug/deps/core_mvp-3dc571827f524bb1) [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 169 tests [INFO] [stdout] test ambiguous_variant_dictionary_identities_fall_back_even_with_the_same_reading ... ok [INFO] [stdout] test additive_arabic_numerals_override_dictionary_calendar_entries ... ok [INFO] [stdout] test ambiguous_variant_readings_fall_back_instead_of_guessing ... ok [INFO] [stdout] test ambiguous_variant_results_preserve_an_existing_exact_match ... ok [INFO] [stdout] test additive_arabic_overflow_falls_back_to_hangul_phonetic ... ok [INFO] [stdout] test additive_arabic_numerals_parse_place_markers ... ok [INFO] [stdout] test annotation_canonical_hanja_prefers_the_dictionary_spelling ... ok [INFO] [stdout] test asahi_variant_set_includes_the_verified_extra_pairs ... ok [INFO] [stdout] test block_boundaries_reset_fallback_context ... ok [INFO] [stdout] test ambiguous_variant_match_metadata_falls_back_instead_of_guessing ... ok [INFO] [stdout] test additive_arabic_rejects_explicit_zero_before_large_units ... ok [INFO] [stdout] test chain_dictionary_homophones_fall_back_for_lookup_only_dictionaries ... ok [INFO] [stdout] test chain_dictionary_allows_lattice_to_choose_lower_priority_longer_match ... ok [INFO] [stdout] test chain_dictionary_homophones_respect_higher_priority_overrides ... ok [INFO] [stdout] test chain_dictionary_keeps_first_match_for_duplicate_lengths ... ok [INFO] [stdout] test chain_dictionary_reports_homophones_from_any_dictionary ... ok [INFO] [stdout] test chain_dictionary_priority_applies_before_variant_spelling_preference ... ok [INFO] [stdout] test arabic_numerals_emit_plain_text_not_annotations ... ok [INFO] [stdout] test dictionary_wide_detection_uses_dictionary_homophones_even_when_other_form_is_absent ... ok [INFO] [stdout] test eager_consumes_mixed_script_dictionary_entries_as_one_annotation ... ok [INFO] [stdout] test dictionary_without_max_word_length_can_match_mixed_script_entries ... ok [INFO] [stdout] test context_local_detection_ignores_dictionary_homophones_when_other_form_is_absent ... ok [INFO] [stdout] test engine_preserves_text_inside_preserve_scope ... ok [INFO] [stdout] test eager_takes_longest_prefix_even_when_lattice_covers_more_dictionary_text ... ok [INFO] [stdout] test converts_plain_text_to_hangul_only ... ok [INFO] [stdout] test convert_plain_text_collapses_redundant_parens_like_the_default ... ok [INFO] [stdout] test engine_uses_the_current_scope_preserve_flag ... ok [INFO] [stdout] test engine_leaves_homophone_policy_to_middleware ... ok [INFO] [stdout] test extra_close_tokens_do_not_panic ... ok [INFO] [stdout] test fallback_initial_sound_law_can_be_disabled ... ok [INFO] [stdout] test fallback_keeps_context_after_alternate_dictionary_readings ... ok [INFO] [stdout] test converts_plain_text_to_hangul_hanja_parens ... ok [INFO] [stdout] test fallback_combines_with_dictionary_segments ... ok [INFO] [stdout] test fallback_after_punctuation_starts_a_new_word ... ok [INFO] [stdout] test fallback_applies_yeol_yul_rule ... ok [INFO] [stdout] test eager_keeps_valid_long_match_when_it_covers_the_run ... ok [INFO] [stdout] test custom_dictionary_exact_results_override_variant_results ... ok [INFO] [stdout] test dictionary_matches_preserve_context_after_arabic_numeral_fallback_equivalents ... ok [INFO] [stdout] test dictionary_readings_are_not_rewritten_by_fallback_initial_sound_law ... ok [INFO] [stdout] test every_variant_set_applies_to_hanja_in_parentheses_and_original_output ... ok [INFO] [stdout] test hangul_only_dictionary_entry_is_not_a_conversion_candidate ... ok [INFO] [stdout] test first_occurrence_filter_resets_at_nested_block_boundaries ... ok [INFO] [stdout] test hangul_only_keeps_required_or_homophonous_hanja_in_parens ... ok [INFO] [stdout] test fallback_only_hanja_is_phoneticized_with_initial_sound_law ... ok [INFO] [stdout] test fallback_keeps_context_after_prefix_dictionary_segments ... ok [INFO] [stdout] test first_occurrence_filter_keeps_heading_and_body_in_same_section ... ok [INFO] [stdout] test fallback_uses_pre_initial_sound_law_khangul_reading_as_canonical ... ok [INFO] [stdout] test fallback_keeps_context_after_mixed_script_dictionary_prefixes ... ok [INFO] [stdout] test first_occurrence_filter_clears_repeated_form_requirements ... ok [INFO] [stdout] test homophone_marker_falls_back_to_lookup_only_dictionary_homophones ... ok [INFO] [stdout] test homophone_marker_ignores_fallback_annotations_even_when_reading_is_ambiguous ... ok [INFO] [stdout] test homophone_marker_off_does_not_build_dictionary_index ... ok [INFO] [stdout] test homophone_marker_keeps_heading_and_body_in_same_section ... ok [INFO] [stdout] test fallback_phoneticizes_hanja_numerals ... ok [INFO] [stdout] test homophone_marker_off_ignores_dictionary_homophones ... ok [INFO] [stdout] test homophone_marker_resets_at_block_boundaries ... ok [INFO] [stdout] test hanja_without_fallback_reading_is_preserved_as_text ... ok [INFO] [stdout] test fallback_keeps_pre_initial_readings_inside_words ... ok [INFO] [stdout] test homophone_marker_resets_at_nested_block_boundaries ... ok [INFO] [stdout] test homophone_marker_preserves_mixed_chain_lookup_fallbacks ... ok [INFO] [stdout] test fallback_phoneticizes_unihan_khangul_samples ... ok [INFO] [stdout] test fallback_numerals_honor_initial_sound_law_option ... ok [INFO] [stdout] test hanja_detection_covers_known_cjk_ranges ... ok [INFO] [stdout] test homophone_marker_uses_forms_that_appear_in_the_same_context ... ok [INFO] [stdout] test hangul_phonetic_numerals_remain_renderable_annotations ... ok [INFO] [stdout] test context_local_detection_does_not_build_dictionary_index ... ok [INFO] [stdout] test lattice_consumes_mixed_script_dictionary_entries_as_one_annotation ... ok [INFO] [stdout] test lattice_keeps_valid_long_match_when_it_covers_the_run ... ok [INFO] [stdout] test lattice_mixes_dictionary_segments_with_fallback_text ... ok [INFO] [stdout] test lattice_prefers_two_dictionary_words_over_longer_prefix_plus_fallback ... ok [INFO] [stdout] test invalid_custom_variant_candidate_indices_are_ignored ... ok [INFO] [stdout] test hangul_phonetic_numerals_keep_dictionary_calendar_entries ... ok [INFO] [stdout] test homophone_marker_respects_chain_dictionary_homophone_overrides ... ok [INFO] [stdout] test lenient_recovery_resets_fallback_context_after_bad_region ... ok [INFO] [stdout] test map_dictionary_returns_every_match_at_the_cursor ... ok [INFO] [stdout] test mixed_script_match_beats_shorter_hanja_prefix_match ... ok [INFO] [stdout] test mixed_script_lookup_can_cross_text_chunk_boundaries ... ok [INFO] [stdout] test mixed_script_lookup_does_not_cross_verbatim_tokens ... ok [INFO] [stdout] test non_hanja_text_does_not_query_the_dictionary ... ok [INFO] [stdout] test merged_annotation_does_not_override_homophone_from_engine ... ok [INFO] [stdout] test lattice_prefers_whole_dictionary_word_over_component_split ... ok [INFO] [stdout] test original_renderer_keeps_hanja_unless_hangul_is_required ... ok [INFO] [stdout] test merged_dictionary_identity_does_not_leak_across_fallback_numeral_boundaries ... ok [INFO] [stdout] test mixed_script_annotation_keeps_the_full_source_spelling ... ok [INFO] [stdout] test mixed_script_fallback_keeps_context_after_plain_text ... ok [INFO] [stdout] test multi_syllable_suffix_reading_follows_position ... ok [INFO] [stdout] test original_with_parens_gloss_keeps_existing_behavior ... ok [INFO] [stdout] test original_with_ruby_gloss_emits_inline_markup_for_required_hangul ... ok [INFO] [stdout] test original_with_ruby_gloss_falls_back_to_parens_in_disallowing_scope ... ok [INFO] [stdout] test preserved_scope_boundaries_reset_fallback_context ... ok [INFO] [stdout] test positional_arabic_numerals_convert_digit_only_runs ... ok [INFO] [stdout] test plain_scope_data_disallows_inline_markup ... ok [INFO] [stdout] test pure_trivial_dictionary_run_merges_into_one_annotation ... ok [INFO] [stdout] test recover_input_tokens_strict_returns_first_error ... ok [INFO] [stdout] test recognizes_unicode_joyo_simplified_asahi_and_compatibility_variants ... ok [INFO] [stdout] test recover_input_tokens_lenient_preserves_region_as_verbatim ... ok [INFO] [stdout] test positional_arabic_does_not_split_additive_numerals ... ok [INFO] [stdout] test renderer_removes_annotations_from_the_stream ... ok [INFO] [stdout] test positional_arabic_numerals_override_dictionary_calendar_entries ... ok [INFO] [stdout] test render_options_default_uses_hangul_only_and_parens_gloss ... ok [INFO] [stdout] test render_options_from_render_mode_preserves_mode_with_parens_gloss ... ok [INFO] [stdout] test renderer_pops_scope_on_close_so_outer_scope_governs_next_annotation ... ok [INFO] [stdout] test ruby_falls_back_when_any_ancestor_disallows_inline_markup ... ok [INFO] [stdout] test render_tokens_iter_is_lazy ... ok [INFO] [stdout] test ruby_on_hanja_emits_inline_markup_in_allowing_scope ... ok [INFO] [stdout] test ruby_recovers_after_a_disallowing_scope_closes ... ok [INFO] [stdout] test ruby_falls_back_to_parens_when_inline_markup_disallowed ... ok [INFO] [stdout] test ruby_skip_annotation_collapses_to_primary_form ... ok [INFO] [stdout] test ruby_at_top_level_without_open_scope_emits_ruby_for_markup_capable_adapters ... ok [INFO] [stdout] test renders_hanja_hangul_parens ... ok [INFO] [stdout] test ruby_on_hangul_emits_inline_markup_in_allowing_scope ... ok [INFO] [stdout] test smart_numerals_do_not_split_non_numeric_dictionary_words ... ok [INFO] [stdout] test ruby_uses_parens_in_plain_text_pipeline ... ok [INFO] [stdout] test single_hanja_dictionary_reading_follows_initial_sound_law_by_position ... ok [INFO] [stdout] test smart_numerals_override_dictionary_calendar_entries ... ok [INFO] [stdout] test chain_dictionary_max_word_chars_matches_component_policy ... ok [INFO] [stdout] test streaming_engine_fallback_fast_path_still_detects_tail_dictionary_match ... ok [INFO] [stdout] test smart_numerals_choose_arabic_only_for_structured_numbers ... ok [INFO] [stdout] test single_hanja_dictionary_reading_honors_yeol_yul_rule ... ok [INFO] [stdout] test skip_annotation_collapses_to_primary_plain_text_for_each_render_mode ... ok [INFO] [stdout] test streaming_engine_does_not_resegment_buffered_fallback_run_quadratically ... ok [INFO] [stdout] test streaming_engine_does_not_split_long_fallback_annotation_runs ... ok [INFO] [stdout] test streaming_engine_flushes_at_structural_boundaries ... ok [INFO] [stdout] test streaming_engine_keeps_tail_fallback_run_for_one_char_dictionary ... ok [INFO] [stdout] test streaming_engine_matches_one_shot_across_mixed_script_chunks ... ok [INFO] [stdout] test streaming_engine_merges_trivial_dictionary_across_chunks ... ok [INFO] [stdout] test streaming_engine_flushes_unknown_dictionary_at_whitespace_boundaries ... ok [INFO] [stdout] test streaming_engine_preserves_non_hanja_prefix_for_mixed_script_match ... ok [INFO] [stdout] test strict_recovery_returns_reader_error_and_stops ... ok [INFO] [stdout] test trivial_dictionary_does_not_merge_across_dictionary_boundary ... ok [INFO] [stdout] test token_iterator_apis_match_vec_convenience_apis ... ok [INFO] [stdout] test trivial_dictionary_from_dictionary_is_true_on_merged_annotation ... ok [INFO] [stdout] test trivial_dictionary_homophone_merges_into_fallback_run ... ok [INFO] [stdout] test trivial_dictionary_no_unihan_reading_stays_dictionary ... ok [INFO] [stdout] test trivial_dictionary_preserves_fallback_numeral_boundary ... ok [INFO] [stdout] test trivial_dictionary_homophone_marking_works_with_merged_annotation ... ok [INFO] [stdout] test streaming_engine_waits_for_overlapping_tail_matches ... ok [INFO] [stdout] test trivial_dictionary_respects_initial_sound_law ... ok [INFO] [stdout] test trivial_dictionary_splits_pure_trivial_homophone_run ... ok [INFO] [stdout] test trivial_single_char_dictionary_merges_with_fallback ... ok [INFO] [stdout] test trivial_dictionary_merges_homophones_across_fallback_boundary ... ok [INFO] [stdout] test unihan_char_dictionary_returns_single_canonical_character_matches ... ok [INFO] [stdout] test unmapped_hanja_inside_fallback_run_does_not_reset_word_start ... ok [INFO] [stdout] test user_directives_mark_literal_hanja_forms_without_rendering_them ... ok [INFO] [stdout] test user_directives_skip_annotations_without_rendering_them ... ok [INFO] [stdout] test variant_dictionary_reading_follows_initial_sound_law_by_position ... ok [INFO] [stdout] test variant_dictionary_match_with_wider_utf8_key_does_not_panic_in_numeral_checks ... ok [INFO] [stdout] test variant_recognition_does_not_cross_senses_joined_by_a_simplified_form ... ok [INFO] [stdout] test unihan_char_dictionary_matches_fallback_canonical_reading_without_initial_sound_law ... ok [INFO] [stdout] test user_directives_apply_closure_predicates ... ok [INFO] [stdout] test variant_sets_prefer_direct_mappings_and_preserve_existing_targets ... ok [INFO] [stdout] test verbatim_boundaries_reset_fallback_context ... ok [INFO] [stdout] test variant_sets_do_not_cross_senses_joined_by_a_shared_simplified_form ... ok [INFO] [stdout] test variant_sets_normalize_transitive_dictionary_spellings ... ok [INFO] [stdout] test variant_sets_render_from_the_canonical_dictionary_spelling ... ok [INFO] [stdout] test whitespace_bounded_lattice_skips_non_hanja_spans_without_max_word_length ... ok [INFO] [stdout] test whitespace_bounds_dictionary_lookup_windows ... ok [INFO] [stdout] test unihan_char_dictionary_folds_compatibility_ideographs ... ok [INFO] [stdout] test streaming_engine_does_not_split_long_fallback_numeral_runs ... ok [INFO] [stdout] test plain_reader_writer_roundtrips ... ok [INFO] [stdout] test streaming_engine_preserves_long_unknown_dictionary_match ... ok [INFO] [stdout] test renderer_never_emits_unrendered_annotations ... ok [INFO] [stdout] test non_hanja_plain_text_is_unchanged ... ok [INFO] [stdout] test lattice_result_does_not_depend_on_clear_winner_match_order ... ok [INFO] [stdout] test mixed_script_dictionary_match_covers_the_generated_key ... ok [INFO] [stdout] test lenient_recovery_preserves_bad_regions_and_continues ... ok [INFO] [stdout] test known_fallback_hanja_are_removed_from_hangul_only_output ... ok [INFO] [stdout] test chunked_plain_text_matches_one_shot ... ok [INFO] [stderr] Running tests/properties.rs (/opt/rustwide/target/debug/deps/properties-8cbfd1866f52ccd1) [INFO] [stdout] test variant_recognition_handles_long_unknown_runs_without_rebuilding_choices ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 169 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 7.03s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test hangul_only_input_is_noop ... ok [INFO] [stdout] test dictionary_tail_buffer_stays_within_max_word_chars ... ok [INFO] [stdout] test mixed_script_dictionary_key_survives_chunk_boundaries ... ok [INFO] [stdout] test chunked_streaming_matches_one_shot ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.71s [INFO] [stdout] [INFO] [stderr] Running tests/redundant_parens.rs (/opt/rustwide/target/debug/deps/redundant_parens-2313230c6d056379) [INFO] [stdout] [INFO] [stdout] running 25 tests [INFO] [stdout] test adjacent_patterns_collapse_independently ... ok [INFO] [stdout] test compatibility_hanja_accepts_unified_form_alternative_readings ... ok [INFO] [stdout] test disabled_collapser_is_exact_passthrough ... ok [INFO] [stdout] test definition_gloss_is_left_untouched ... ok [INFO] [stdout] test fallback_reading_transliteration_collapses_when_it_matches ... ok [INFO] [stdout] test foreign_transliteration_is_left_untouched ... ok [INFO] [stdout] test following_parenthetical_split_across_text_tokens_collapses ... ok [INFO] [stdout] test lone_annotation_is_unchanged ... ok [INFO] [stdout] test parenthetical_matching_dictionary_reading_keeps_it ... ok [INFO] [stdout] test pattern_a_collapses_and_sets_both_flags ... ok [INFO] [stdout] test pattern_a_overrides_reading_with_valid_alternative ... ok [INFO] [stdout] test pattern_a_preserves_text_after_the_parenthetical ... ok [INFO] [stdout] test long_preceding_hangul_run_is_emitted_eagerly ... ok [INFO] [stdout] test pattern_b_overrides_reading_with_valid_alternative ... ok [INFO] [stdout] test alternative_initial_sound_law_reading_is_accepted ... ok [INFO] [stdout] test preceding_reading_split_across_text_tokens_collapses ... ok [INFO] [stdout] test scope_boundary_between_tokens_blocks_a_match ... ok [INFO] [stdout] test syllable_count_mismatch_is_left_untouched ... ok [INFO] [stdout] test verbatim_between_tokens_blocks_a_match ... ok [INFO] [stdout] test streaming_one_token_at_a_time_matches_the_buffered_helper ... ok [INFO] [stdout] test pattern_b_preserves_surrounding_text ... ok [INFO] [stdout] test unclosed_parenthetical_does_not_buffer_unboundedly ... ok [INFO] [stdout] test pattern_a_renders_both_scripts_in_every_mode ... ok [INFO] [stdout] test pattern_b_collapses_and_sets_both_flags ... ok [INFO] [stdout] test pattern_b_keeps_lead_in_within_one_text_token ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s [INFO] [stdout] [INFO] [stderr] Running tests/snapshots.rs (/opt/rustwide/target/debug/deps/snapshots-d4ab54390442bfb8) [INFO] [stdout] [INFO] [stdout] running 7 tests [INFO] [stdout] test fallback_skips_initial_sound_law_in_ko_kp ... ok [INFO] [stdout] test dictionary_match_emits_single_annotation ... ok [INFO] [stdout] test homophone_marker_flags_shared_reading ... ok [INFO] [stdout] test mixed_script_dictionary_entry_covers_hangul_suffix ... ok [INFO] [stdout] test single_char_fallback_uses_unihan_reading ... ok [INFO] [stdout] test fallback_applies_initial_sound_law_in_ko_kr ... ok [INFO] [stdout] test trivial_dictionary_merges_with_fallback ... ok [INFO] [stderr] Running tests/tracing_events.rs (/opt/rustwide/target/debug/deps/tracing_events-27bb05512a5cc5cc) [INFO] [stdout] [INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test engine_creation_emits_debug_event_with_segmentation_strategy ... ok [INFO] [stdout] test lenient_recovery_emits_warn_event ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/gukhanmun_dict_extract-00d45b968681c57b) [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test tests::foreign_bracketed_hanja_discards_romanized_text ... ok [INFO] [stdout] test tests::native_and_hanja_pieces_form_mixed_script_keys ... ok [INFO] [stdout] test tests::headword_markers_are_removed ... ok [INFO] [stdout] test tests::byeonggi_boundaries_emit_alternate_keys ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/gukhanmun_fst-2d37b40dd2b6f0b7) [INFO] [stdout] [INFO] [stdout] running 11 tests [INFO] [stdout] test tests::dictionary_is_send_sync ... ok [INFO] [stdout] test tests::open_reads_a_dictionary_file ... ok [INFO] [stdout] test tests::has_homophone_detects_other_forms_with_same_reading ... ok [INFO] [stdout] test tests::rejects_malformed_headers ... ok [INFO] [stdout] test tests::from_static_bytes_matches_owned_loading ... ok [INFO] [stdout] test tests::loads_valid_bytes_metadata_and_lookup ... ok [INFO] [stdout] test tests::lattice_regressions_pass_with_fst_backend ... ok [INFO] [stdout] test tests::matches_at_returns_every_prefix_match ... ok [INFO] [stdout] test tests::unsupported_version_emits_error_event ... ok [INFO] [stdout] test tests::decode_errors_preserve_structured_variants_and_sources ... ok [INFO] [stdout] test tests::generated_fst_matches_map_dictionary ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.75s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/gukhanmun_html-187ac97b076fd3d7) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/html_adapter.rs (/opt/rustwide/target/debug/deps/html_adapter-353dab1e5ba0a224) [INFO] [stdout] [INFO] [stdout] running 57 tests [INFO] [stdout] test classify_inline_html_cdata ... ok [INFO] [stdout] test classify_inline_html_end_tag_uppercase ... ok [INFO] [stdout] test classify_inline_html_comment ... ok [INFO] [stdout] test classify_inline_html_declaration ... ok [INFO] [stdout] test classify_inline_html_end_tag ... ok [INFO] [stdout] test classify_inline_html_malformed_no_closing_bracket ... ok [INFO] [stdout] test classify_inline_html_malformed_no_tag_name ... ok [INFO] [stdout] test classify_inline_html_preserved_code_tag ... ok [INFO] [stdout] test classify_inline_html_self_closing ... ok [INFO] [stdout] test classify_inline_html_processing_instruction ... ok [INFO] [stdout] test classify_inline_html_void_tag ... ok [INFO] [stdout] test is_korean_lang_recognises_ko_variants ... ok [INFO] [stdout] test comments_cdata_declarations_and_raw_text_are_preserved ... ok [INFO] [stdout] test chunked_html_reader_waits_for_comment_end_after_gt ... ok [INFO] [stdout] test chunked_html_reader_preserves_comment_cdata_and_raw_text_boundaries ... ok [INFO] [stdout] test lenient_recovery_preserves_multiple_malformed_regions ... ok [INFO] [stdout] test chunked_html_reader_waits_for_cdata_end_after_gt ... ok [INFO] [stdout] test lenient_recovery_preserves_malformed_html_and_continues ... ok [INFO] [stdout] test inherited_non_korean_lang_preserves_text_but_korean_child_overrides_it ... ok [INFO] [stdout] test chunked_raw_text_end_tag_can_split_after_tag_name ... ok [INFO] [stdout] test malformed_fragments_do_not_panic ... ok [INFO] [stdout] test original_mode_with_ruby_gloss_uses_ruby_for_required_hangul_entries ... ok [INFO] [stdout] test preserved_tags_are_not_converted ... ok [INFO] [stdout] test chunked_html_reader_matches_one_shot_conversion_across_markup_boundaries ... ok [INFO] [stdout] test ruby_mode_leaves_preserved_tag_text_untouched ... ok [INFO] [stdout] test block_scopes_reset_homophone_marking ... ok [INFO] [stdout] test ruby_inside_text_only_elements_falls_back_to_parens ... ok [INFO] [stdout] test html_scope_data_exposes_effective_flags ... ok [INFO] [stdout] test converts_hanja_inside_html_text_and_preserves_raw_attributes ... ok [INFO] [stdout] test ruby_mode_skips_non_korean_lang_scope ... ok [INFO] [stdout] test strict_reader_rejects_unclosed_cdata_with_gt ... ok [INFO] [stdout] test strict_reader_rejects_unclosed_comment_with_gt ... ok [INFO] [stdout] test ruby_on_hanja_emits_hanja_base_in_ruby_element ... ok [INFO] [stdout] test streaming_html_writer_matches_string_writer ... ok [INFO] [stdout] test ruby_writer_escapes_hostile_dictionary_readings ... ok [INFO] [stdout] test fallible_reader_lenient_collect_matches_infallible_reader ... ok [INFO] [stdout] test raw_text_end_tag_prefix_does_not_leave_raw_text_mode ... ok [INFO] [stdout] test ruby_on_hangul_emits_ruby_element_inside_paragraph ... ok [INFO] [stdout] test ruby_emits_inline_markup_for_root_level_text ... ok [INFO] [stdout] test unquoted_attribute_value_ending_with_slash_does_not_self_close_lang_scope ... ok [INFO] [stdout] test strict_recovery_reports_malformed_html ... ok [INFO] [stdout] test strict_reader_returns_err_on_first_malformed_region ... ok [INFO] [stdout] test classify_inline_html_start_tag ... ok [INFO] [stdout] test unquoted_attribute_value_ending_with_slash_does_not_self_close_preserved_tag ... ok [INFO] [stdout] test user_predicate_preserve_is_inherited_by_descendants ... ok [INFO] [stdout] test lenient_recovery_from_malformed_html_emits_warn_event ... ok [INFO] [stdout] test user_predicate_marks_class_as_preserved ... ok [INFO] [stdout] test user_predicate_does_not_alter_raw_serialization ... ok [INFO] [stdout] test user_predicate_ors_with_lang_and_tag_rules ... ok [INFO] [stdout] test fallible_reader_yields_err_at_malformed_region ... ok [INFO] [stdout] test user_predicate_returning_false_matches_default_reader ... ok [INFO] [stdout] test user_predicate_sees_inherited_lang ... ok [INFO] [stdout] test void_and_self_closing_tags_do_not_gain_extra_end_tags ... ok [INFO] [stdout] test html_reader_iterator_matches_vec_reader ... ok [INFO] [stdout] test classify_inline_html_text_only_title_tag ... ok [INFO] [stdout] test simple_valid_fragments_roundtrip_without_conversion ... ok [INFO] [stdout] test predicate_always_false_does_not_change_tokens ... ok [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/gukhanmun_markdown-ca0ef7a67cbabbd2) [INFO] [stdout] [INFO] [stdout] test result: ok. 57 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.20s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/markdown_adapter.rs (/opt/rustwide/target/debug/deps/markdown_adapter-2564d410d0e3b764) [INFO] [stdout] [INFO] [stdout] running 29 tests [INFO] [stdout] test markdown_error_preserves_serialization_source ... ok [INFO] [stdout] test fmt_writer_matches_string_writer ... ok [INFO] [stdout] test markdown_reader_iterator_matches_vec_reader ... ok [INFO] [stdout] test markdown_scope_data_exposes_effective_flags ... ok [INFO] [stdout] test inline_html_close_inside_markdown_scope_updates_preserve_policy ... ok [INFO] [stdout] test block_scopes_reset_homophone_marking ... ok [INFO] [stdout] test inline_html_code_element_preserves_hanja_same_as_html_adapter ... ok [INFO] [stdout] test gfm_table_converts_hanja_in_cells ... ok [INFO] [stdout] test inline_html_lang_scope_preserves_non_korean_text ... ok [INFO] [stdout] test inline_html_lang_ja_preserves_hanja_same_as_html_adapter ... ok [INFO] [stdout] test ancestor_inline_html_close_recovers_scope_stack ... ok [INFO] [stdout] test adjacent_markdown_text_events_are_merged_before_conversion ... ok [INFO] [stdout] test inline_html_close_tag_without_open_emits_debug_event ... ok [INFO] [stdout] test original_with_ruby_gloss_renders_required_hangul_as_inline_html ... ok [INFO] [stdout] test converts_markdown_text_in_blocks_and_inlines ... ok [INFO] [stdout] test inline_html_lang_scope_preserves_markdown_child_scopes ... ok [INFO] [stdout] test ruby_inside_emphasis_within_text_only_inline_html_falls_back_to_parens ... ok [INFO] [stdout] test html_blocks_are_preserved_as_raw_markdown_html ... ok [INFO] [stdout] test code_span_and_code_block_are_not_converted ... ok [INFO] [stdout] test ruby_inside_shortcut_reference_link_preserves_definition_label ... ok [INFO] [stdout] test ruby_on_hanja_emits_inline_html_with_hanja_base ... ok [INFO] [stdout] test ruby_on_hangul_emits_inline_html_in_paragraph ... ok [INFO] [stdout] test ruby_mode_does_not_touch_code_span_or_block ... ok [INFO] [stdout] test unclosed_inline_html_scope_ends_before_markdown_block_end ... ok [INFO] [stdout] test writer_preserves_rendered_verbatim_as_raw_markdown ... ok [INFO] [stdout] test ruby_inside_inline_html_text_only_element_falls_back_to_parens ... ok [INFO] [stdout] test ruby_writer_escapes_hostile_dictionary_readings ... ok [INFO] [stdout] test nested_inline_html_korean_lang_overrides_non_korean_ancestor ... ok [INFO] [stdout] test simple_hangul_markdown_roundtrips_semantically ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 29 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.20s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/gukhanmun_mkdict-c3b5236b04f60417) [INFO] [stdout] [INFO] [stdout] running 19 tests [INFO] [stdout] test tests::apply_rules_allows_unmatched_when_configured ... ok [INFO] [stdout] test tests::allows_overlapping_rules_across_kinds ... ok [INFO] [stdout] test tests::parses_headered_tsv_and_optional_flags ... ok [INFO] [stdout] test tests::parses_minimal_rules_tsv ... ok [INFO] [stdout] test tests::apply_rules_or_merges_multiple_rules_on_one_entry ... ok [INFO] [stdout] test tests::apply_rules_or_merges_marks_across_kinds ... ok [INFO] [stdout] test tests::apply_rules_rejects_programmatic_empty_pattern ... ok [INFO] [stdout] test tests::apply_rules_rejects_contains_rule_with_non_hanja_character ... ok [INFO] [stdout] test tests::apply_rules_accepts_multi_hanja_contains_pattern ... ok [INFO] [stdout] test tests::apply_rules_rejects_programmatic_no_mark_bits ... ok [INFO] [stdout] test tests::apply_rules_reports_all_unmatched_rules_in_one_error ... ok [INFO] [stdout] test tests::rejects_contains_rule_with_non_hanja_pattern_from_tsv ... ok [INFO] [stdout] test tests::rejects_duplicate_rule_keys ... ok [INFO] [stdout] test tests::rejects_invalid_boolean_values ... ok [INFO] [stdout] test tests::rejects_reserved_metadata_keys ... ok [INFO] [stdout] test tests::rejects_rule_with_empty_reason ... ok [INFO] [stdout] test tests::rejects_rule_with_no_mark_bits_set ... ok [INFO] [stdout] test tests::rejects_unknown_rule_kind ... ok [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/gukhanmun_mkdict-b75c66b8842ed308) [INFO] [stdout] test tests::unmatched_rules_emits_error_event ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] [stderr] Running tests/mkdict_cli.rs (/opt/rustwide/target/debug/deps/mkdict_cli-ca7016c5617cd66e) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 15 tests [INFO] [stdout] test cdb_output_rejects_non_utf8_paths ... ok [INFO] [stdout] test builds_cdb_with_metadata_prefix_matches_and_lookup ... ok [INFO] [stdout] test parses_csv_and_jsonl_inputs_by_extension ... ok [INFO] [stdout] test source_date_epoch_controls_build_date_metadata ... ok [INFO] [stdout] test builds_fst_with_metadata_and_lookup ... ok [INFO] [stdout] test first_and_last_wins_merge_policies_are_explicit ... ok [INFO] [stdout] test rules_flag_applies_marks_to_fst_and_cdb_builds ... ok [INFO] [stdout] test duplicate_keys_fail_by_default ... ok [INFO] [stdout] test rejects_keys_over_the_configured_byte_limit ... ok [INFO] [stdout] test rejects_tsv_without_required_header ... ok [INFO] [stdout] test cdb_rejects_entries_that_collide_with_metadata_key ... ok [INFO] [stdout] test rules_flag_rejects_unmatched_rules_by_default ... ok [INFO] [stdout] test rules_flag_rejects_duplicate_rules_across_files ... ok [INFO] [stdout] test generated_entries_round_trip_through_cdb ... ok [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/gukhanmun_opendict-62afb41cae5ee4ca) [INFO] [stdout] test generated_entries_round_trip ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 4.08s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/extract.rs (/opt/rustwide/target/debug/deps/gukhanmun_opendict_extract-3ef2175ec25d0738) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/opendict.rs (/opt/rustwide/target/debug/deps/opendict-dc7d3a6254a79a3a) [INFO] [stdout] [INFO] [stdout] running 6 tests [INFO] [stdout] test bundled_dictionaries_are_partitioned_by_category ... ok [INFO] [stdout] test extracts_category_tsvs_from_synthetic_json ... ok [INFO] [stdout] test cli_extracts_from_zip_archives ... ok [INFO] [stdout] test cli_extracts_from_uppercase_zip_archive_extensions ... ok [INFO] [stdout] test cli_reads_uppercase_json_extensions_in_directories ... ok [INFO] [stdout] test cli_ignores_json_named_subdirectories ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/gukhanmun_stdict-191a3f8c99cf383d) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/extract.rs (/opt/rustwide/target/debug/deps/gukhanmun_stdict_extract-b927ad2a247810cd) [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running tests/stdict.rs (/opt/rustwide/target/debug/deps/stdict-3b9fc6fd356652c1) [INFO] [stdout] [INFO] [stdout] running 14 tests [INFO] [stdout] test bundled_dictionary_applies_initial_sound_law_by_position ... ok [INFO] [stdout] test bundled_contains_rules_drive_hangul_only_rendering_with_disambiguating_hanja ... ok [INFO] [stdout] test bundled_dictionary_prefers_saisiot_prescribed_readings ... ok [INFO] [stdout] test bundled_suffix_table_rows_are_well_formed ... ok [INFO] [stdout] test bundled_multi_syllable_matches_carry_suffix_reading ... ok [INFO] [stdout] test extracts_canonical_tsv_from_synthetic_json ... ok [INFO] [stdout] test bundled_rules_set_require_hanja_marks ... ok [INFO] [stdout] test saisiot_prescribed_reading_wins_regardless_of_dump_order ... ok [INFO] [stdout] test extraction_emits_diagnostic_events ... ok [INFO] [stdout] test homophone_words_follow_context_local_detection ... ok [INFO] [stdout] test bundled_dictionary_converts_stdict_entries ... ok [INFO] [stdout] test cli_extracts_from_zip_archives ... ok [INFO] [stdout] test generated_bracketed_foreign_hanja_items_use_the_hanja_spelling ... ok [INFO] [stdout] test generated_single_hanja_items_extract_deterministically ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.20s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/gukhanmun_unihan-76b1a57be44473ce) [INFO] [stdout] [INFO] [stdout] running 8 tests [INFO] [stdout] test tests::ordered_readings_put_the_canonical_reading_first ... ok [INFO] [stdout] test tests::parser_keeps_only_khangul_rows ... ok [INFO] [stdout] test tests::reverse_variant_index_keeps_only_unique_sources ... ok [INFO] [stdout] test tests::renderer_emits_sorted_ascii_rust_source ... ok [INFO] [stdout] test tests::z_variant_components_choose_the_lowest_scalar_once ... ok [INFO] [stdout] test tests::variant_parser_builds_transitive_classes_and_directional_maps ... ok [INFO] [stdout] test tests::canonical_reading_prefers_the_e_tagged_reading ... ok [INFO] [stdout] test tests::canonical_reading_falls_back_to_first_reading_without_e_tag ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s [INFO] [stdout] [INFO] [stderr] Doc-tests gukhanmun [INFO] [stdout] [INFO] [stdout] running 4 tests [INFO] [stdout] test crates/gukhanmun/src/lib.rs - (line 40) ... ok [INFO] [stdout] test crates/gukhanmun/src/lib.rs - (line 55) ... ok [INFO] [stdout] test crates/gukhanmun/src/lib.rs - (line 71) ... ok [INFO] [stdout] test crates/gukhanmun/src/lib.rs - (line 29) ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s [INFO] [stdout] [INFO] [stdout] all doctests ran in 1.29s; merged doctests compilation took 1.18s [INFO] [stderr] Doc-tests gukhanmun_cdb [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests gukhanmun_core [INFO] [stdout] [INFO] [stderr] Doc-tests gukhanmun_dict_extract [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests gukhanmun_fst [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests gukhanmun_html [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests gukhanmun_markdown [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Doc-tests gukhanmun_mkdict [INFO] [stderr] Doc-tests gukhanmun_opendict [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Doc-tests gukhanmun_stdict [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "749384f5e281e23f61ad26bcb68f05e89d66fa86e59b81eef580494389a10266", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "749384f5e281e23f61ad26bcb68f05e89d66fa86e59b81eef580494389a10266", kill_on_drop: false }` [INFO] [stdout] 749384f5e281e23f61ad26bcb68f05e89d66fa86e59b81eef580494389a10266