[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] 7c582d94e4ef1b8b082fb3aed6bc22cc9f329aaa
[INFO] testing dahlia/gukhanmun against 1.97.0-beta.6 for beta-1.98-1
[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 napi-build v2.3.2
[INFO] [stderr]   Downloaded napi-derive v3.5.6
[INFO] [stderr]   Downloaded ctor v1.0.6
[INFO] [stderr]   Downloaded napi-derive-backend v5.0.4
[INFO] [stderr]   Downloaded napi v3.9.0
[INFO] [stderr]   Downloaded napi-sys v3.2.1
[INFO] [stderr]   Downloaded escape8259 v0.5.3
[INFO] [stderr]   Downloaded filebuffer v0.4.0
[INFO] [stderr]   Downloaded serde_ignored v0.1.14
[INFO] [stderr]   Downloaded tracing-test v0.2.6
[INFO] [stderr]   Downloaded typed-arena v2.0.2
[INFO] [stderr]   Downloaded fmt2io v1.0.0
[INFO] [stderr]   Downloaded tracing-test-macro v0.2.6
[INFO] [stderr]   Downloaded entities v1.0.1
[INFO] [stderr]   Downloaded libtest-mimic v0.8.2
[INFO] [stderr]   Downloaded caseless v0.2.2
[INFO] [stderr]   Downloaded jsonpath-rust v1.0.4
[INFO] [stderr]   Downloaded onig v6.5.3
[INFO] [stderr]   Downloaded jetscii v0.5.3
[INFO] [stderr]   Downloaded cdb v0.6.0
[INFO] [stderr]   Downloaded bon v3.9.1
[INFO] [stderr]   Downloaded bon-macros v3.9.1
[INFO] [stderr]   Downloaded fancy-regex v0.16.2
[INFO] [stderr]   Downloaded emojis v0.6.4
[INFO] [stderr]   Downloaded zip v6.0.0
[INFO] [stderr]   Downloaded proptest v1.11.0
[INFO] [stderr]   Downloaded hongdown v0.3.11
[INFO] [stderr]   Downloaded comrak v0.49.0
[INFO] [stderr]   Downloaded onig_sys v69.9.3
[INFO] [stderr]   Downloaded noyalib v0.0.5
[INFO] [stderr]   Downloaded syntect v5.3.0
[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] 7b1b0f2b14a881194e5df36366e07a0e258fee646aef941a74e796d4bc01d0ca
[INFO] running `Command { std: "docker" "start" "7b1b0f2b14a881194e5df36366e07a0e258fee646aef941a74e796d4bc01d0ca", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7b1b0f2b14a881194e5df36366e07a0e258fee646aef941a74e796d4bc01d0ca", 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" "7b1b0f2b14a881194e5df36366e07a0e258fee646aef941a74e796d4bc01d0ca" "/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" "7b1b0f2b14a881194e5df36366e07a0e258fee646aef941a74e796d4bc01d0ca", 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" "7b1b0f2b14a881194e5df36366e07a0e258fee646aef941a74e796d4bc01d0ca" "/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 log v0.4.29
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling fst v0.4.7
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling rustix v1.1.4
[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 thiserror v2.0.18
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling filebuffer v0.4.0
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling csv-core v0.1.13
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling simd-adler32 v0.3.9
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling cdb v0.6.0
[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 miniz_oxide v0.8.9
[INFO] [stderr]    Compiling zlib-rs v0.6.3
[INFO] [stderr]    Compiling csv v1.4.0
[INFO] [stderr]    Compiling terminal_size v0.4.4
[INFO] [stderr]    Compiling bumpalo v3.20.2
[INFO] [stderr]    Compiling cc v1.2.62
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling zopfli v0.8.3
[INFO] [stderr]    Compiling gukhanmun-core v0.3.0 (/opt/rustwide/workdir/crates/gukhanmun-core)
[INFO] [stderr]    Compiling prettyplease v0.2.37
[INFO] [stderr]    Compiling gukhanmun-dict-extract v0.3.0 (/opt/rustwide/workdir/crates/gukhanmun-dict-extract)
[INFO] [stderr]    Compiling pulldown-cmark v0.13.3
[INFO] [stderr]    Compiling typenum v1.20.0
[INFO] [stderr]    Compiling tinyvec v1.11.0
[INFO] [stderr]    Compiling pest v2.8.6
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling onig_sys v69.9.3
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling jetscii v0.5.3
[INFO] [stderr]    Compiling entities v1.0.1
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling unicode-normalization v0.1.25
[INFO] [stderr]    Compiling comrak v0.49.0
[INFO] [stderr]    Compiling phf v0.11.3
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling bstr v1.12.1
[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 toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling pulldown-cmark-to-cmark v22.0.0
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling emojis v0.6.4
[INFO] [stderr]    Compiling caseless v0.2.2
[INFO] [stderr]    Compiling gukhanmun-html v0.3.0 (/opt/rustwide/workdir/crates/gukhanmun-html)
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling globset v0.4.18
[INFO] [stderr]    Compiling toml_datetime v0.7.5+spec-1.1.0
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling pest_generator v2.8.6
[INFO] [stderr]    Compiling xdg v2.5.2
[INFO] [stderr]    Compiling typed-arena v2.0.2
[INFO] [stderr]    Compiling shell-words v1.1.1
[INFO] [stderr]    Compiling unicode_categories v0.1.1
[INFO] [stderr]    Compiling noyalib v0.0.5
[INFO] [stderr]    Compiling fmt2io v1.0.0
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling utf8-width v0.1.8
[INFO] [stderr]    Compiling bon-macros v3.9.1
[INFO] [stderr]    Compiling toml_writer v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling hongdown v0.3.11
[INFO] [stderr]    Compiling html-escape v0.2.13
[INFO] [stderr]    Compiling toml v0.9.12+spec-1.1.0
[INFO] [stderr]    Compiling ignore v0.4.25
[INFO] [stderr]    Compiling rayon v1.12.0
[INFO] [stderr]    Compiling gukhanmun-markdown v0.3.0 (/opt/rustwide/workdir/crates/gukhanmun-markdown)
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling serde_ignored v0.1.14
[INFO] [stderr]    Compiling pest_derive v2.8.6
[INFO] [stderr]    Compiling similar v2.7.0
[INFO] [stderr]    Compiling rustc-hash v2.1.2
[INFO] [stderr]    Compiling zip v6.0.0
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling jsonpath-rust v1.0.4
[INFO] [stderr]    Compiling onig v6.5.3
[INFO] [stderr]    Compiling gukhanmun-unihan v0.3.0 (/opt/rustwide/workdir/crates/gukhanmun-unihan)
[INFO] [stderr]    Compiling syntect v5.3.0
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling bon v3.9.1
[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 23s
[INFO] running `Command { std: "docker" "inspect" "7b1b0f2b14a881194e5df36366e07a0e258fee646aef941a74e796d4bc01d0ca", 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" "7b1b0f2b14a881194e5df36366e07a0e258fee646aef941a74e796d4bc01d0ca" "/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 wait-timeout v0.2.1
[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 rand v0.9.4
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling predicates-core v1.0.10
[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 termtree v0.5.1
[INFO] [stderr]    Compiling similar v2.7.0
[INFO] [stderr]    Compiling escape8259 v0.5.3
[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 bit-set v0.8.0
[INFO] [stderr]    Compiling predicates-tree v1.0.13
[INFO] [stderr]    Compiling tracing-test v0.2.6
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling globset v0.4.18
[INFO] [stderr]    Compiling ignore v0.4.25
[INFO] [stderr]    Compiling float-cmp v0.10.0
[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-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 hongdown v0.3.11
[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 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 55.78s
[INFO] running `Command { std: "docker" "inspect" "7b1b0f2b14a881194e5df36366e07a0e258fee646aef941a74e796d4bc01d0ca", 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" "7b1b0f2b14a881194e5df36366e07a0e258fee646aef941a74e796d4bc01d0ca" "/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.46s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/gukhanmun-7ae46f20be5dab7b)
[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/fixtures.rs (/opt/rustwide/target/debug/deps/fixtures-10cbc12c27889512)
[INFO] [stdout] 
[INFO] [stdout] running 36 tests
[INFO] [stdout] test commonmark::03_paragraph                         ... ok
[INFO] [stdout] test commonmark::01_atx_heading                       ... ok
[INFO] [stdout] test commonmark::05_bullet_list                       ... ok
[INFO] [stdout] test commonmark::06_nested_list                       ... ok
[INFO] [stdout] test commonmark::04_paragraphs                        ... ok
[INFO] [stdout] test commonmark::07_ordered_list                      ... ok
[INFO] [stdout] test commonmark::08_inline_code                       ... 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::12_strong                            ... ok
[INFO] [stdout] test commonmark::13_inline_link                       ... ok
[INFO] [stdout] test commonmark::15_html_block                        ... ok
[INFO] [stdout] test commonmark::02_heading_levels                    ... ok
[INFO] [stdout] test html::initial_sound_raw                          ... ok
[INFO] [stdout] test html::i_reon_nal                                 ... ok
[INFO] [stdout] test html::malformed_unclosed_tag                     ... ok
[INFO] [stdout] test html::mixed_script_dict                          ... ok
[INFO] [stdout] test html::seup_gwan_eum                              ... ok
[INFO] [stdout] test markdown::code_span_untouched                    ... ok
[INFO] [stdout] test markdown::code_block_untouched                   ... ok
[INFO] [stdout] test html::preservation                               ... ok
[INFO] [stdout] test commonmark::14_autolink                          ... ok
[INFO] [stdout] test text::redundant_parens_alternative_reading       ... ok
[INFO] [stdout] test text::redundant_parens_foreign_reject            ... ok
[INFO] [stdout] test html::lenient_unclosed_cdata                     ... ok
[INFO] [stdout] test text::redundant_parens_hangul_first              ... ok
[INFO] [stdout] test text::redundant_parens_hangul_first_original     ... ok
[INFO] [stdout] test text::redundant_parens_hanja_first_original      ... ok
[INFO] [stdout] test text::redundant_parens_hanja_first               ... ok
[INFO] [stdout] test text::redundant_parens_reading_override_original ... ok
[INFO] [stdout] test text::redundant_parens_reading_override          ... ok
[INFO] [stdout] test text::redundant_parens_definition_gloss          ... ok
[INFO] [stdout] test text::proper_name                                ... ok
[INFO] [stdout] test text::redundant_parens_disabled                  ... 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.03s
[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_streaming_iter_matches_buffered ... ok
[INFO] [stdout] test html_preserve_when_skips_marked_elements ... ok
[INFO] [stdout] test html_buffered_converts_text_inside_paragraph ... ok
[INFO] [stdout] test html_ruby_rendering_emits_ruby_tags ... 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] [stdout] test markdown_commonmark_buffered_converts_paragraph ... ok
[INFO] [stdout] test markdown_gfm_table_round_trips ... ok
[INFO] [stdout] test markdown_preserves_inline_code_verbatim ... ok
[INFO] [stdout] test markdown_streaming_iter_matches_buffered ... 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/plain_text.rs (/opt/rustwide/target/debug/deps/plain_text-75be80d0b653df84)
[INFO] [stdout] 
[INFO] [stdout] running 19 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_leaves_standalone_homophone_unglossed ... ok
[INFO] [stdout] test numeral_strategy_smart_converts_year ... ok
[INFO] [stdout] test ko_kp_skips_initial_sound_law_and_uses_north_korean_opendict ... ok
[INFO] [stdout] test no_bundled_opendict_disables_ko_kp_bundled_dictionary ... ok
[INFO] [stdout] test streaming_iter_does_not_drain_upstream_ahead_of_demand ... ok
[INFO] [stdout] test rendering_override_emits_hanja_first ... ok
[INFO] [stdout] test user_dictionary_overrides_fallback ... ok
[INFO] [stdout] test streaming_iter_is_lazy_for_unconsumed_tokens ... ok
[INFO] [stdout] test user_directive_can_force_hanja ... ok
[INFO] [stdout] test default_ko_kr_marks_homonyms_with_hanja ... ok
[INFO] [stdout] test ko_kp_keeps_original_sound_everywhere ... ok
[INFO] [stdout] test ko_kr_initial_sound_law_applies_in_fallback ... ok
[INFO] [stdout] test bundled_initial_sound_law_follows_position ... ok
[INFO] [stdout] test streaming_iter_matches_buffered_string ... 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. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.65s
[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_kp_preset_disables_initial_sound_law_and_includes_north_korean_opendict ... ok
[INFO] [stdout] test preset_default_is_ko_kr ... ok
[INFO] [stdout] test ko_kr_preset_defaults_match_design_table ... 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] [stderr]      Running tests/redundant_parens.rs (/opt/rustwide/target/debug/deps/redundant_parens-0d84d45736770ffe)
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test alternative_reading_is_pinned ... ok
[INFO] [stdout] test disabled_keeps_the_redundant_parenthetical ... ok
[INFO] [stdout] test definition_gloss_passes_through ... ok
[INFO] [stdout] test hangul_first_collapses_in_hangul_only ... ok
[INFO] [stdout] test hangul_first_collapses_in_original ... ok
[INFO] [stdout] test hanja_first_collapses_in_hangul_only ... ok
[INFO] [stdout] test hanja_first_collapses_in_original ... ok
[INFO] [stdout] test streaming_across_chunk_boundaries_matches_one_shot ... ok
[INFO] [stdout] test first_occurrence_filter_preserves_repeated_explicit_glosses ... ok
[INFO] [stderr]      Running tests/user_dictionary.rs (/opt/rustwide/target/debug/deps/user_dictionary-21b6812c7d964383)
[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] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test user_directive_skip_annotation_collapses_to_plain_hangul ... ok
[INFO] [stdout] test context_local_detection_emits_hanja_for_in_text_collision ... ok
[INFO] [stdout] test earlier_dictionaries_win_over_later_ones ... ok
[INFO] [stdout] test dictionary_wide_detection_emits_hanja_without_in_text_collision ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/gukhanmun_cdb-51cfa5e8f21774bb)
[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] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test tests::open_errors_preserve_structured_variants_and_sources ... ok
[INFO] [stdout] test tests::loads_metadata_lookup_and_prefix_matches ... ok
[INFO] [stdout] test tests::from_bytes_matches_open ... ok
[INFO] [stdout] test tests::has_homophone_detects_other_forms_with_same_reading ... ok
[INFO] [stdout] test tests::lookup_errors_distinguish_malformed_records ... ok
[INFO] [stdout] test tests::unsupported_version_emits_error_event ... ok
[INFO] [stdout] test tests::from_bytes_matches_open_proptest ... ok
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/gukhanmun-f19681a96d1dabda)
[INFO] [stdout] test tests::generated_cdb_matches_map_dictionary ... ok
[INFO] [stderr]      Running tests/cli.rs (/opt/rustwide/target/debug/deps/cli-7d9ccf342297acf1)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.55s
[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] [stdout] 
[INFO] [stdout] running 84 tests
[INFO] [stdout] test collapses_in_the_html_pipeline_across_stdin_chunks ... ok
[INFO] [stdout] test directive_glob_requires_hangul_in_original_mode ... ok
[INFO] [stdout] test first_occurrence_per_section_resets_at_html_headings ... ok
[INFO] [stdout] test disambiguation_off_suppresses_dictionary_homophones ... ok
[INFO] [stdout] test default_plain_stdin_preserves_homophone_context_across_lines ... ok
[INFO] [stdout] test first_occurrence_per_document_clears_repeated_required_hanja ... ok
[INFO] [stdout] test format_text_markdown_gfm_variant_extra_whitespace_and_unknown_param ... ok
[INFO] [stdout] test format_text_markdown_does_not_transform_punctuation ... ok
[INFO] [stdout] test format_text_markdown_gfm_variant_no_space_enables_gfm_extensions ... ok
[INFO] [stdout] test format_text_markdown_gfm_variant_with_space_enables_gfm_extensions ... ok
[INFO] [stdout] test format_text_markdown_ruby_reference_link_preserves_definition_label ... ok
[INFO] [stdout] test html_preserve_attr_flag_decodes_html_entities_in_attribute_value ... ok
[INFO] [stdout] test html_extension_infers_html_format ... ok
[INFO] [stdout] test collapses_redundant_parenthetical_annotation_by_default ... ok
[INFO] [stdout] test format_text_html_converts_html_input ... ok
[INFO] [stdout] test directives_file_applies_literal_and_glob_rules ... ok
[INFO] [stdout] test collapses_in_the_html_pipeline ... ok
[INFO] [stdout] test collapses_in_the_streaming_fast_path ... ok
[INFO] [stdout] test html_preserve_class_flag_inherits_to_descendants ... ok
[INFO] [stdout] test html_preserve_class_flag_decodes_html_entities_in_attribute_value ... ok
[INFO] [stdout] test directive_literal_requires_hanja ... ok
[INFO] [stdout] test html_stdin_writes_complete_block_before_eof ... ok
[INFO] [stdout] test cdb_user_dictionary_overrides_bundled_stdict ... ok
[INFO] [stdout] test ko_kp_plain_stdin_writes_ready_output_before_eof ... ok
[INFO] [stdout] test converts_stdin_to_stdout_with_bundled_stdict_by_default ... ok
[INFO] [stdout] test html_preserve_attr_flag_with_value_matches_exact_value ... ok
[INFO] [stdout] test html_preserve_class_flag_preserves_matching_elements ... ok
[INFO] [stdout] test html_preserve_attr_flag_without_value_matches_presence ... ok
[INFO] [stdout] test invalid_recovery_value_is_rejected ... ok
[INFO] [stdout] test ko_kp_preset_uses_north_korean_opendict_and_disables_initial_sound_law ... ok
[INFO] [stdout] test html_preserve_flags_compose_or_semantics ... ok
[INFO] [stdout] test later_user_dictionary_has_higher_priority_than_earlier_dictionary ... ok
[INFO] [stdout] test markdown_frontmatter_convert_without_frontmatter_warns_and_converts_body ... ok
[INFO] [stdout] test markdown_frontmatter_convert_supports_wildcard_selector ... ok
[INFO] [stdout] test markdown_without_flag_preserves_frontmatter_formatting ... ok
[INFO] [stdout] test markdown_frontmatter_convert_preserves_empty_frontmatter_block ... ok
[INFO] [stdout] test format_text_markdown_converts_markdown_input ... ok
[INFO] [stdout] test md_extension_infers_markdown_format ... ok
[INFO] [stdout] test extensionless_cdb_user_dictionary_loads_from_file_contents ... ok
[INFO] [stdout] test markdown_frontmatter_convert_converts_selected_field_only ... ok
[INFO] [stdout] test multiple_directives_files_compose_with_inline_directives ... ok
[INFO] [stdout] test no_collapse_parens_keeps_the_redundant_parenthetical ... ok
[INFO] [stdout] test markdown_without_flag_preserves_frontmatter_verbatim ... ok
[INFO] [stdout] test default_strict_recovery_rejects_malformed_html ... ok
[INFO] [stdout] test markdown_frontmatter_convert_leaves_non_string_matches_untouched ... ok
[INFO] [stdout] test numeral_option_selects_positional_arabic_conversion ... ok
[INFO] [stdout] test numeral_option_defaults_to_smart_with_bundled_calendar_entries ... ok
[INFO] [stdout] test no_stdict_flag_is_no_longer_accepted ... ok
[INFO] [stdout] test no_bundled_dictionaries_uses_fallback_only_conversion ... ok
[INFO] [stdout] test help_groups_options_by_pipeline_area ... ok
[INFO] [stdout] test numeral_option_selects_positional_arabic_with_bundled_calendar_entries ... ok
[INFO] [stdout] test missing_dictionary_path_reports_a_human_readable_error ... ok
[INFO] [stdout] test numeral_option_selects_smart_with_bundled_calendar_entries ... ok
[INFO] [stdout] test reads_from_file_and_writes_to_output_file ... ok
[INFO] [stdout] test original_with_ruby_gloss_uses_ruby_element_in_html_when_required ... ok
[INFO] [stdout] test numeral_option_selects_smart_conversion ... ok
[INFO] [stdout] test numeral_option_hangul_phonetic_keeps_bundled_calendar_readings ... ok
[INFO] [stdout] test html_preserve_attr_rejected_for_plain_text_format ... ok
[INFO] [stdout] test ruby_rendering_in_html_emits_ruby_element ... ok
[INFO] [stdout] test ruby_rendering_in_plain_text_falls_back_to_parens ... ok
[INFO] [stdout] test html_preserve_class_rejected_for_plain_text_format ... 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 same_input_and_output_path_preserves_file_permissions ... ok
[INFO] [stdout] test skip_directive_collapses_hangul_primary_renderer ... ok
[INFO] [stdout] test numeral_option_smart_keeps_bundled_non_numeric_words ... ok
[INFO] [stdout] test segmentation_option_selects_eager_longest_match ... ok
[INFO] [stdout] test rendering_option_selects_parenthesized_output ... ok
[INFO] [stdout] test skip_directive_glob_collapses_hanja_primary_renderer ... ok
[INFO] [stdout] test verbose_flag_long_is_accepted ... ok
[INFO] [stdout] test markdown_without_flag_preserves_leading_bom_with_frontmatter ... ok
[INFO] [stdout] test unknown_extension_falls_back_to_plain_text ... ok
[INFO] [stdout] test stdin_streaming_preserves_dictionary_matches_across_chunk_boundaries ... ok
[INFO] [stdout] test short_segmentation_option_selects_eager_longest_match ... ok
[INFO] [stdout] test user_dictionary_overrides_bundled_stdict ... ok
[INFO] [stdout] test stdin_reports_invalid_utf8 ... ok
[INFO] [stdout] test markdown_frontmatter_convert_rejects_non_markdown_format ... ok
[INFO] [stdout] test same_input_and_output_path_is_replaced_after_successful_conversion ... ok
[INFO] [stdout] test verbose_flag_short_is_accepted ... ok
[INFO] [stdout] test original_gloss_rejected_without_original_rendering ... ok
[INFO] [stdout] test malformed_directives_file_reports_path_and_line ... ok
[INFO] [stdout] test verbose_flag_emits_debug_output_to_stderr ... ok
[INFO] [stdout] test non_hanja_multiline_input_is_preserved ... ok
[INFO] [stdout] test disambiguation_per_document_marks_dictionary_homophones ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 84 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.35s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/gukhanmun_core-7800a68eeacfb105)
[INFO] [stdout] 
[INFO] [stdout] running 4 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 segment::tests::lattice_segments_cover_the_input_without_gaps ... ok
[INFO] [stdout] test segment::tests::eager_segments_cover_the_input_without_gaps ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/core_mvp.rs (/opt/rustwide/target/debug/deps/core_mvp-3dc571827f524bb1)
[INFO] [stdout] 
[INFO] [stdout] running 148 tests
[INFO] [stdout] test chain_dictionary_homophones_fall_back_for_lookup_only_dictionaries ... ok
[INFO] [stdout] test chain_dictionary_homophones_respect_higher_priority_overrides ... ok
[INFO] [stdout] test convert_plain_text_collapses_redundant_parens_like_the_default ... ok
[INFO] [stdout] test additive_arabic_numerals_override_dictionary_calendar_entries ... ok
[INFO] [stdout] test converts_plain_text_to_hangul_hanja_parens ... ok
[INFO] [stdout] test context_local_detection_does_not_build_dictionary_index ... ok
[INFO] [stdout] test additive_arabic_overflow_falls_back_to_hangul_phonetic ... ok
[INFO] [stdout] test arabic_numerals_emit_plain_text_not_annotations ... ok
[INFO] [stdout] test chain_dictionary_allows_lattice_to_choose_lower_priority_longer_match ... ok
[INFO] [stdout] test additive_arabic_rejects_explicit_zero_before_large_units ... 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 converts_plain_text_to_hangul_only ... ok
[INFO] [stdout] test eager_consumes_mixed_script_dictionary_entries_as_one_annotation ... 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_after_punctuation_starts_a_new_word ... ok
[INFO] [stdout] test eager_keeps_valid_long_match_when_it_covers_the_run ... ok
[INFO] [stdout] test fallback_applies_yeol_yul_rule ... ok
[INFO] [stdout] test fallback_combines_with_dictionary_segments ... ok
[INFO] [stdout] test fallback_initial_sound_law_can_be_disabled ... ok
[INFO] [stdout] test fallback_keeps_context_after_prefix_dictionary_segments ... ok
[INFO] [stdout] test fallback_keeps_context_after_alternate_dictionary_readings ... ok
[INFO] [stdout] test fallback_keeps_context_after_mixed_script_dictionary_prefixes ... ok
[INFO] [stdout] test fallback_keeps_pre_initial_readings_inside_words ... ok
[INFO] [stdout] test fallback_phoneticizes_hanja_numerals ... ok
[INFO] [stdout] test fallback_uses_pre_initial_sound_law_khangul_reading_as_canonical ... ok
[INFO] [stdout] test fallback_only_hanja_is_phoneticized_with_initial_sound_law ... ok
[INFO] [stdout] test fallback_phoneticizes_unihan_khangul_samples ... ok
[INFO] [stdout] test additive_arabic_numerals_parse_place_markers ... ok
[INFO] [stdout] test block_boundaries_reset_fallback_context ... ok
[INFO] [stdout] test fallback_numerals_honor_initial_sound_law_option ... ok
[INFO] [stdout] test chain_dictionary_reports_homophones_from_any_dictionary ... ok
[INFO] [stdout] test context_local_detection_ignores_dictionary_homophones_when_other_form_is_absent ... ok
[INFO] [stdout] test first_occurrence_filter_clears_repeated_form_requirements ... ok
[INFO] [stdout] test dictionary_wide_detection_uses_dictionary_homophones_even_when_other_form_is_absent ... ok
[INFO] [stdout] test first_occurrence_filter_keeps_heading_and_body_in_same_section ... ok
[INFO] [stdout] test dictionary_without_max_word_length_can_match_mixed_script_entries ... ok
[INFO] [stdout] test first_occurrence_filter_resets_at_nested_block_boundaries ... ok
[INFO] [stdout] test eager_takes_longest_prefix_even_when_lattice_covers_more_dictionary_text ... ok
[INFO] [stdout] test engine_preserves_text_inside_preserve_scope ... ok
[INFO] [stdout] test engine_uses_the_current_scope_preserve_flag ... ok
[INFO] [stdout] test hangul_only_dictionary_entry_is_not_a_conversion_candidate ... ok
[INFO] [stdout] test hanja_detection_covers_known_cjk_ranges ... ok
[INFO] [stdout] test homophone_marker_falls_back_to_lookup_only_dictionary_homophones ... ok
[INFO] [stdout] test hanja_without_fallback_reading_is_preserved_as_text ... ok
[INFO] [stdout] test hangul_only_keeps_required_or_homophonous_hanja_in_parens ... ok
[INFO] [stdout] test homophone_marker_keeps_heading_and_body_in_same_section ... ok
[INFO] [stdout] test homophone_marker_off_does_not_build_dictionary_index ... ok
[INFO] [stdout] test hangul_phonetic_numerals_keep_dictionary_calendar_entries ... ok
[INFO] [stdout] test homophone_marker_resets_at_nested_block_boundaries ... ok
[INFO] [stdout] test homophone_marker_respects_chain_dictionary_homophone_overrides ... ok
[INFO] [stdout] test homophone_marker_uses_forms_that_appear_in_the_same_context ... ok
[INFO] [stdout] test lattice_mixes_dictionary_segments_with_fallback_text ... ok
[INFO] [stdout] test lattice_prefers_whole_dictionary_word_over_component_split ... ok
[INFO] [stdout] test lattice_consumes_mixed_script_dictionary_entries_as_one_annotation ... ok
[INFO] [stdout] test lenient_recovery_resets_fallback_context_after_bad_region ... ok
[INFO] [stdout] test lattice_keeps_valid_long_match_when_it_covers_the_run ... ok
[INFO] [stdout] test lattice_prefers_two_dictionary_words_over_longer_prefix_plus_fallback ... ok
[INFO] [stdout] test merged_annotation_does_not_override_homophone_from_engine ... ok
[INFO] [stdout] test map_dictionary_returns_every_match_at_the_cursor ... ok
[INFO] [stdout] test chain_dictionary_keeps_first_match_for_duplicate_lengths ... ok
[INFO] [stdout] test hangul_phonetic_numerals_remain_renderable_annotations ... ok
[INFO] [stdout] test homophone_marker_ignores_fallback_annotations_even_when_reading_is_ambiguous ... ok
[INFO] [stdout] test homophone_marker_off_ignores_dictionary_homophones ... ok
[INFO] [stdout] test homophone_marker_resets_at_block_boundaries ... ok
[INFO] [stdout] test homophone_marker_preserves_mixed_chain_lookup_fallbacks ... ok
[INFO] [stdout] test mixed_script_annotation_keeps_the_full_source_spelling ... ok
[INFO] [stdout] test mixed_script_match_beats_shorter_hanja_prefix_match ... ok
[INFO] [stdout] test non_hanja_text_does_not_query_the_dictionary ... 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_renderer_keeps_hanja_unless_hangul_is_required ... ok
[INFO] [stdout] test original_with_ruby_gloss_falls_back_to_parens_in_disallowing_scope ... ok
[INFO] [stdout] test plain_scope_data_disallows_inline_markup ... ok
[INFO] [stdout] test positional_arabic_does_not_split_additive_numerals ... ok
[INFO] [stdout] test preserved_scope_boundaries_reset_fallback_context ... ok
[INFO] [stdout] test pure_trivial_dictionary_run_merges_into_one_annotation ... ok
[INFO] [stdout] test positional_arabic_numerals_override_dictionary_calendar_entries ... ok
[INFO] [stdout] test recover_input_tokens_lenient_preserves_region_as_verbatim ... ok
[INFO] [stdout] test mixed_script_lookup_can_cross_text_chunk_boundaries ... ok
[INFO] [stdout] test multi_syllable_suffix_reading_follows_position ... ok
[INFO] [stdout] test positional_arabic_numerals_convert_digit_only_runs ... ok
[INFO] [stdout] test mixed_script_fallback_keeps_context_after_plain_text ... ok
[INFO] [stdout] test mixed_script_lookup_does_not_cross_verbatim_tokens ... ok
[INFO] [stdout] test recover_input_tokens_strict_returns_first_error ... ok
[INFO] [stdout] test render_options_from_render_mode_preserves_mode_with_parens_gloss ... ok
[INFO] [stdout] test render_tokens_iter_is_lazy ... ok
[INFO] [stdout] test renderer_removes_annotations_from_the_stream ... ok
[INFO] [stdout] test ruby_falls_back_to_parens_when_inline_markup_disallowed ... 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 ruby_on_hangul_emits_inline_markup_in_allowing_scope ... ok
[INFO] [stdout] test render_options_default_uses_hangul_only_and_parens_gloss ... ok
[INFO] [stdout] test ruby_on_hanja_emits_inline_markup_in_allowing_scope ... 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 single_hanja_dictionary_reading_honors_yeol_yul_rule ... ok
[INFO] [stdout] test smart_numerals_do_not_split_non_numeric_dictionary_words ... ok
[INFO] [stdout] test smart_numerals_choose_arabic_only_for_structured_numbers ... ok
[INFO] [stdout] test ruby_recovers_after_a_disallowing_scope_closes ... ok
[INFO] [stdout] test ruby_uses_parens_in_plain_text_pipeline ... ok
[INFO] [stdout] test streaming_engine_does_not_resegment_buffered_fallback_run_quadratically ... ok
[INFO] [stdout] test ruby_skip_annotation_collapses_to_primary_form ... ok
[INFO] [stdout] test streaming_engine_fallback_fast_path_still_detects_tail_dictionary_match ... ok
[INFO] [stdout] test streaming_engine_flushes_at_structural_boundaries ... ok
[INFO] [stdout] test streaming_engine_flushes_unknown_dictionary_at_whitespace_boundaries ... ok
[INFO] [stdout] test streaming_engine_matches_one_shot_across_mixed_script_chunks ... ok
[INFO] [stdout] test streaming_engine_does_not_split_long_fallback_numeral_runs ... ok
[INFO] [stdout] test streaming_engine_merges_trivial_dictionary_across_chunks ... ok
[INFO] [stdout] test single_hanja_dictionary_reading_follows_initial_sound_law_by_position ... ok
[INFO] [stdout] test skip_annotation_collapses_to_primary_plain_text_for_each_render_mode ... ok
[INFO] [stdout] test streaming_engine_keeps_tail_fallback_run_for_one_char_dictionary ... ok
[INFO] [stdout] test smart_numerals_override_dictionary_calendar_entries ... ok
[INFO] [stdout] test streaming_engine_does_not_split_long_fallback_annotation_runs ... 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 streaming_engine_waits_for_overlapping_tail_matches ... ok
[INFO] [stdout] test trivial_dictionary_homophone_marking_works_with_merged_annotation ... ok
[INFO] [stdout] test trivial_dictionary_homophone_merges_into_fallback_run ... ok
[INFO] [stdout] test trivial_dictionary_from_dictionary_is_true_on_merged_annotation ... ok
[INFO] [stdout] test trivial_dictionary_merges_homophones_across_fallback_boundary ... ok
[INFO] [stdout] test trivial_dictionary_does_not_merge_across_dictionary_boundary ... ok
[INFO] [stdout] test trivial_dictionary_respects_initial_sound_law ... ok
[INFO] [stdout] test token_iterator_apis_match_vec_convenience_apis ... ok
[INFO] [stdout] test trivial_dictionary_splits_pure_trivial_homophone_run ... ok
[INFO] [stdout] test trivial_dictionary_no_unihan_reading_stays_dictionary ... ok
[INFO] [stdout] test trivial_single_char_dictionary_merges_with_fallback ... ok
[INFO] [stdout] test unmapped_hanja_inside_fallback_run_does_not_reset_word_start ... ok
[INFO] [stdout] test user_directives_apply_closure_predicates ... ok
[INFO] [stdout] test user_directives_mark_literal_hanja_forms_without_rendering_them ... ok
[INFO] [stdout] test unihan_char_dictionary_returns_single_canonical_character_matches ... ok
[INFO] [stdout] test user_directives_skip_annotations_without_rendering_them ... ok
[INFO] [stdout] test verbatim_boundaries_reset_fallback_context ... ok
[INFO] [stdout] test trivial_dictionary_preserves_fallback_numeral_boundary ... ok
[INFO] [stdout] test streaming_engine_preserves_long_unknown_dictionary_match ... ok
[INFO] [stdout] test chain_dictionary_max_word_chars_matches_component_policy ... ok
[INFO] [stdout] test unihan_char_dictionary_matches_fallback_canonical_reading_without_initial_sound_law ... ok
[INFO] [stdout] test whitespace_bounds_dictionary_lookup_windows ... ok
[INFO] [stdout] test whitespace_bounded_lattice_skips_non_hanja_spans_without_max_word_length ... 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 plain_reader_writer_roundtrips ... ok
[INFO] [stdout] test renderer_never_emits_unrendered_annotations ... ok
[INFO] [stdout] test non_hanja_plain_text_is_unchanged ... ok
[INFO] [stdout] test known_fallback_hanja_are_removed_from_hangul_only_output ... ok
[INFO] [stdout] test lenient_recovery_preserves_bad_regions_and_continues ... ok
[INFO] [stdout] test chunked_plain_text_matches_one_shot ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 148 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.09s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/properties.rs (/opt/rustwide/target/debug/deps/properties-8cbfd1866f52ccd1)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test dictionary_tail_buffer_stays_within_max_word_chars ... ok
[INFO] [stdout] test hangul_only_input_is_noop ... 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.53s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/redundant_parens.rs (/opt/rustwide/target/debug/deps/redundant_parens-2313230c6d056379)
[INFO] [stdout] 
[INFO] [stdout] running 24 tests
[INFO] [stdout] test adjacent_patterns_collapse_independently ... ok
[INFO] [stdout] test definition_gloss_is_left_untouched ... ok
[INFO] [stdout] test disabled_collapser_is_exact_passthrough ... ok
[INFO] [stdout] test alternative_initial_sound_law_reading_is_accepted ... ok
[INFO] [stdout] test fallback_reading_transliteration_collapses_when_it_matches ... ok
[INFO] [stdout] test following_parenthetical_split_across_text_tokens_collapses ... ok
[INFO] [stdout] test foreign_transliteration_is_left_untouched ... ok
[INFO] [stdout] test long_preceding_hangul_run_is_emitted_eagerly ... 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 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] test pattern_b_overrides_reading_with_valid_alternative ... ok
[INFO] [stdout] test lone_annotation_is_unchanged ... ok
[INFO] [stdout] test parenthetical_matching_dictionary_reading_keeps_it ... 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 pattern_b_preserves_surrounding_text ... ok
[INFO] [stdout] test streaming_one_token_at_a_time_matches_the_buffered_helper ... ok
[INFO] [stdout] test syllable_count_mismatch_is_left_untouched ... ok
[INFO] [stdout] test unclosed_parenthetical_does_not_buffer_unboundedly ... ok
[INFO] [stdout] test verbatim_between_tokens_blocks_a_match ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 24 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[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 mixed_script_dictionary_entry_covers_hangul_suffix ... ok
[INFO] [stderr]      Running tests/tracing_events.rs (/opt/rustwide/target/debug/deps/tracing_events-27bb05512a5cc5cc)
[INFO] [stdout] test fallback_applies_initial_sound_law_in_ko_kr ... ok
[INFO] [stdout] test fallback_skips_initial_sound_law_in_ko_kp ... ok
[INFO] [stdout] test trivial_dictionary_merges_with_fallback ... ok
[INFO] [stdout] test homophone_marker_flags_shared_reading ... ok
[INFO] [stdout] test dictionary_match_emits_single_annotation ... ok
[INFO] [stdout] test single_char_fallback_uses_unihan_reading ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/gukhanmun_dict_extract-00d45b968681c57b)
[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] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test tests::byeonggi_boundaries_emit_alternate_keys ... ok
[INFO] [stdout] test tests::headword_markers_are_removed ... ok
[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] 
[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 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::rejects_malformed_headers ... ok
[INFO] [stdout] test tests::decode_errors_preserve_structured_variants_and_sources ... ok
[INFO] [stdout] test tests::from_static_bytes_matches_owned_loading ... ok
[INFO] [stdout] test tests::matches_at_returns_every_prefix_match ... 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::open_reads_a_dictionary_file ... 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_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.62s
[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_declaration ... ok
[INFO] [stdout] test classify_inline_html_comment ... ok
[INFO] [stdout] test classify_inline_html_malformed_no_closing_bracket ... ok
[INFO] [stdout] test classify_inline_html_text_only_title_tag ... ok
[INFO] [stdout] test classify_inline_html_self_closing ... ok
[INFO] [stdout] test classify_inline_html_void_tag ... ok
[INFO] [stdout] test classify_inline_html_start_tag ... ok
[INFO] [stdout] test classify_inline_html_end_tag_uppercase ... ok
[INFO] [stdout] test html_scope_data_exposes_effective_flags ... ok
[INFO] [stdout] test html_reader_iterator_matches_vec_reader ... ok
[INFO] [stdout] test classify_inline_html_malformed_no_tag_name ... ok
[INFO] [stdout] test fallible_reader_lenient_collect_matches_infallible_reader ... ok
[INFO] [stdout] test classify_inline_html_preserved_code_tag ... ok
[INFO] [stdout] test classify_inline_html_processing_instruction ... ok
[INFO] [stdout] test is_korean_lang_recognises_ko_variants ... ok
[INFO] [stdout] test fallible_reader_yields_err_at_malformed_region ... ok
[INFO] [stdout] test comments_cdata_declarations_and_raw_text_are_preserved ... ok
[INFO] [stdout] test block_scopes_reset_homophone_marking ... 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 chunked_html_reader_matches_one_shot_conversion_across_markup_boundaries ... ok
[INFO] [stdout] test lenient_recovery_preserves_multiple_malformed_regions ... ok
[INFO] [stdout] test original_mode_with_ruby_gloss_uses_ruby_for_required_hangul_entries ... ok
[INFO] [stdout] test converts_hanja_inside_html_text_and_preserves_raw_attributes ... ok
[INFO] [stdout] test lenient_recovery_preserves_malformed_html_and_continues ... ok
[INFO] [stdout] test chunked_html_reader_waits_for_cdata_end_after_gt ... ok
[INFO] [stdout] test chunked_html_reader_waits_for_comment_end_after_gt ... ok
[INFO] [stdout] test inherited_non_korean_lang_preserves_text_but_korean_child_overrides_it ... ok
[INFO] [stdout] test chunked_html_reader_preserves_comment_cdata_and_raw_text_boundaries ... ok
[INFO] [stdout] test preserved_tags_are_not_converted ... ok
[INFO] [stdout] test classify_inline_html_end_tag ... ok
[INFO] [stdout] test ruby_writer_escapes_hostile_dictionary_readings ... ok
[INFO] [stdout] test ruby_on_hanja_emits_hanja_base_in_ruby_element ... ok
[INFO] [stdout] test ruby_on_hangul_emits_ruby_element_inside_paragraph ... ok
[INFO] [stdout] test streaming_html_writer_matches_string_writer ... ok
[INFO] [stdout] test raw_text_end_tag_prefix_does_not_leave_raw_text_mode ... ok
[INFO] [stdout] test ruby_emits_inline_markup_for_root_level_text ... ok
[INFO] [stdout] test ruby_inside_text_only_elements_falls_back_to_parens ... ok
[INFO] [stdout] test ruby_mode_leaves_preserved_tag_text_untouched ... ok
[INFO] [stdout] test user_predicate_does_not_alter_raw_serialization ... ok
[INFO] [stdout] test unquoted_attribute_value_ending_with_slash_does_not_self_close_preserved_tag ... ok
[INFO] [stdout] test unquoted_attribute_value_ending_with_slash_does_not_self_close_lang_scope ... ok
[INFO] [stdout] test user_predicate_marks_class_as_preserved ... ok
[INFO] [stdout] test strict_reader_rejects_unclosed_cdata_with_gt ... ok
[INFO] [stdout] test void_and_self_closing_tags_do_not_gain_extra_end_tags ... ok
[INFO] [stdout] test ruby_mode_skips_non_korean_lang_scope ... ok
[INFO] [stdout] test user_predicate_sees_inherited_lang ... ok
[INFO] [stdout] test strict_reader_returns_err_on_first_malformed_region ... ok
[INFO] [stdout] test strict_recovery_reports_malformed_html ... ok
[INFO] [stdout] test strict_reader_rejects_unclosed_comment_with_gt ... ok
[INFO] [stdout] test user_predicate_preserve_is_inherited_by_descendants ... ok
[INFO] [stdout] test user_predicate_ors_with_lang_and_tag_rules ... ok
[INFO] [stdout] test user_predicate_returning_false_matches_default_reader ... ok
[INFO] [stdout] test lenient_recovery_from_malformed_html_emits_warn_event ... ok
[INFO] [stdout] test simple_valid_fragments_roundtrip_without_conversion ... ok
[INFO] [stdout] test predicate_always_false_does_not_change_tokens ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 57 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.15s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/gukhanmun_markdown-ca0ef7a67cbabbd2)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stderr]      Running tests/markdown_adapter.rs (/opt/rustwide/target/debug/deps/markdown_adapter-2564d410d0e3b764)
[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 29 tests
[INFO] [stdout] test markdown_error_preserves_serialization_source ... ok
[INFO] [stdout] test html_blocks_are_preserved_as_raw_markdown_html ... ok
[INFO] [stdout] test inline_html_lang_ja_preserves_hanja_same_as_html_adapter ... ok
[INFO] [stdout] test converts_markdown_text_in_blocks_and_inlines ... ok
[INFO] [stdout] test adjacent_markdown_text_events_are_merged_before_conversion ... ok
[INFO] [stdout] test inline_html_lang_scope_preserves_markdown_child_scopes ... ok
[INFO] [stdout] test code_span_and_code_block_are_not_converted ... ok
[INFO] [stdout] test ancestor_inline_html_close_recovers_scope_stack ... ok
[INFO] [stdout] test fmt_writer_matches_string_writer ... ok
[INFO] [stdout] test inline_html_close_inside_markdown_scope_updates_preserve_policy ... ok
[INFO] [stdout] test inline_html_lang_scope_preserves_non_korean_text ... ok
[INFO] [stdout] test block_scopes_reset_homophone_marking ... ok
[INFO] [stdout] test ruby_inside_inline_html_text_only_element_falls_back_to_parens ... 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 markdown_scope_data_exposes_effective_flags ... ok
[INFO] [stdout] test nested_inline_html_korean_lang_overrides_non_korean_ancestor ... ok
[INFO] [stdout] test original_with_ruby_gloss_renders_required_hangul_as_inline_html ... ok
[INFO] [stdout] test ruby_inside_emphasis_within_text_only_inline_html_falls_back_to_parens ... ok
[INFO] [stdout] test ruby_inside_shortcut_reference_link_preserves_definition_label ... ok
[INFO] [stdout] test writer_preserves_rendered_verbatim_as_raw_markdown ... ok
[INFO] [stdout] test ruby_on_hanja_emits_inline_html_with_hanja_base ... ok
[INFO] [stdout] test ruby_mode_does_not_touch_code_span_or_block ... ok
[INFO] [stdout] test ruby_writer_escapes_hostile_dictionary_readings ... ok
[INFO] [stdout] test ruby_on_hangul_emits_inline_html_in_paragraph ... ok
[INFO] [stdout] test unclosed_inline_html_scope_ends_before_markdown_block_end ... ok
[INFO] [stdout] test inline_html_close_tag_without_open_emits_debug_event ... ok
[INFO] [stdout] test markdown_reader_iterator_matches_vec_reader ... 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.18s
[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::allows_overlapping_rules_across_kinds ... ok
[INFO] [stdout] test tests::parses_headered_tsv_and_optional_flags ... ok
[INFO] [stdout] test tests::apply_rules_or_merges_multiple_rules_on_one_entry ... ok
[INFO] [stdout] test tests::apply_rules_rejects_programmatic_no_mark_bits ... ok
[INFO] [stdout] test tests::apply_rules_accepts_multi_hanja_contains_pattern ... ok
[INFO] [stdout] test tests::rejects_invalid_boolean_values ... ok
[INFO] [stdout] test tests::apply_rules_or_merges_marks_across_kinds ... ok
[INFO] [stdout] test tests::rejects_rule_with_empty_reason ... ok
[INFO] [stdout] test tests::rejects_contains_rule_with_non_hanja_pattern_from_tsv ... ok
[INFO] [stdout] test tests::apply_rules_reports_all_unmatched_rules_in_one_error ... ok
[INFO] [stdout] test tests::rejects_reserved_metadata_keys ... ok
[INFO] [stdout] test tests::rejects_unknown_rule_kind ... ok
[INFO] [stdout] test tests::unmatched_rules_emits_error_event ... ok
[INFO] [stdout] test tests::apply_rules_rejects_contains_rule_with_non_hanja_character ... ok
[INFO] [stdout] test tests::apply_rules_rejects_programmatic_empty_pattern ... ok
[INFO] [stdout] test tests::parses_minimal_rules_tsv ... ok
[INFO] [stdout] test tests::rejects_duplicate_rule_keys ... ok
[INFO] [stdout] test tests::rejects_rule_with_no_mark_bits_set ... ok
[INFO] [stdout] test tests::apply_rules_allows_unmatched_when_configured ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/gukhanmun_mkdict-b75c66b8842ed308)
[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 parses_csv_and_jsonl_inputs_by_extension ... ok
[INFO] [stdout] test first_and_last_wins_merge_policies_are_explicit ... ok
[INFO] [stdout] test builds_cdb_with_metadata_prefix_matches_and_lookup ... ok
[INFO] [stdout] test source_date_epoch_controls_build_date_metadata ... ok
[INFO] [stdout] test rules_flag_applies_marks_to_fst_and_cdb_builds ... ok
[INFO] [stdout] test builds_fst_with_metadata_and_lookup ... ok
[INFO] [stdout] test rejects_keys_over_the_configured_byte_limit ... ok
[INFO] [stdout] test duplicate_keys_fail_by_default ... ok
[INFO] [stdout] test cdb_rejects_entries_that_collide_with_metadata_key ... ok
[INFO] [stdout] test rejects_tsv_without_required_header ... 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] [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 5.11s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/gukhanmun_opendict-62afb41cae5ee4ca)
[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_ignores_json_named_subdirectories ... 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] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/gukhanmun_stdict-191a3f8c99cf383d)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[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_stdict_extract-b927ad2a247810cd)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stderr]      Running tests/stdict.rs (/opt/rustwide/target/debug/deps/stdict-3b9fc6fd356652c1)
[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 14 tests
[INFO] [stdout] test bundled_suffix_table_rows_are_well_formed ... ok
[INFO] [stdout] test saisiot_prescribed_reading_wins_regardless_of_dump_order ... ok
[INFO] [stdout] test bundled_multi_syllable_matches_carry_suffix_reading ... ok
[INFO] [stdout] test bundled_dictionary_applies_initial_sound_law_by_position ... ok
[INFO] [stdout] test extracts_canonical_tsv_from_synthetic_json ... ok
[INFO] [stdout] test extraction_emits_diagnostic_events ... ok
[INFO] [stdout] test bundled_contains_rules_drive_hangul_only_rendering_with_disambiguating_hanja ... ok
[INFO] [stdout] test bundled_dictionary_converts_stdict_entries ... ok
[INFO] [stdout] test bundled_rules_set_require_hanja_marks ... ok
[INFO] [stdout] test homophone_words_follow_context_local_detection ... ok
[INFO] [stdout] test cli_extracts_from_zip_archives ... ok
[INFO] [stdout] test bundled_dictionary_prefers_saisiot_prescribed_readings ... 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.18s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/gukhanmun_unihan-76b1a57be44473ce)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test tests::parser_keeps_only_khangul_rows ... ok
[INFO] [stdout] test tests::ordered_readings_put_the_canonical_reading_first ... ok
[INFO] [stdout] test tests::canonical_reading_prefers_the_e_tagged_reading ... ok
[INFO] [stdout] test tests::renderer_emits_sorted_ascii_rust_source ... ok
[INFO] [stderr]    Doc-tests gukhanmun
[INFO] [stdout] test tests::canonical_reading_falls_back_to_first_reading_without_e_tag ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test crates/gukhanmun/src/lib.rs - (line 55) ... ok
[INFO] [stdout] test crates/gukhanmun/src/lib.rs - (line 40) ... 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.00s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 0.96s; merged doctests compilation took 0.94s
[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] [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_dict_extract
[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] [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] [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_opendict
[INFO] [stderr]    Doc-tests gukhanmun_stdict
[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 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" "7b1b0f2b14a881194e5df36366e07a0e258fee646aef941a74e796d4bc01d0ca", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7b1b0f2b14a881194e5df36366e07a0e258fee646aef941a74e796d4bc01d0ca", kill_on_drop: false }`
[INFO] [stdout] 7b1b0f2b14a881194e5df36366e07a0e258fee646aef941a74e796d4bc01d0ca
