[INFO] fetching crate confab 0.3.2... [INFO] testing confab-0.3.2 against try#c2e32f1c9652b13ed99608599c1e855462f421f3 for pr-146098-7 [INFO] extracting crate confab 0.3.2 into /workspace/builds/worker-4-tc2/source [INFO] started tweaking crates.io crate confab 0.3.2 [INFO] removed 0 missing examples [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate confab 0.3.2 [INFO] tweaked toml for crates.io crate confab 0.3.2 written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate confab 0.3.2 on toolchain c2e32f1c9652b13ed99608599c1e855462f421f3 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate confab 0.3.2 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" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 23c48ac202824df2033235da120df9cc3c768b1bbe650712c1ddc34c45ae419f [INFO] running `Command { std: "docker" "start" "-a" "23c48ac202824df2033235da120df9cc3c768b1bbe650712c1ddc34c45ae419f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "23c48ac202824df2033235da120df9cc3c768b1bbe650712c1ddc34c45ae419f", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "23c48ac202824df2033235da120df9cc3c768b1bbe650712c1ddc34c45ae419f", kill_on_drop: false }` [INFO] [stdout] 23c48ac202824df2033235da120df9cc3c768b1bbe650712c1ddc34c45ae419f [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 22f09bde8189ca176b836cd193fc17b847af0bb51a59a041b56368b7b7771a28 [INFO] running `Command { std: "docker" "start" "-a" "22f09bde8189ca176b836cd193fc17b847af0bb51a59a041b56368b7b7771a28", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.95 [INFO] [stderr] Compiling unicode-ident v1.0.18 [INFO] [stderr] Compiling libc v0.2.172 [INFO] [stderr] Compiling autocfg v1.4.0 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling shlex v1.3.0 [INFO] [stderr] Compiling rustix v1.0.7 [INFO] [stderr] Compiling log v0.4.27 [INFO] [stderr] Compiling thiserror v2.0.12 [INFO] [stderr] Compiling cc v1.2.23 [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Compiling linux-raw-sys v0.9.4 [INFO] [stderr] Compiling pin-project-lite v0.2.16 [INFO] [stderr] Compiling itoa v1.0.15 [INFO] [stderr] Compiling bitflags v2.9.1 [INFO] [stderr] Compiling time-core v0.1.4 [INFO] [stderr] Compiling lock_api v0.4.12 [INFO] [stderr] Compiling semver v1.0.26 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling scopeguard v1.2.0 [INFO] [stderr] Compiling futures-core v0.3.31 [INFO] [stderr] Compiling serde_json v1.0.140 [INFO] [stderr] Compiling camino v1.1.9 [INFO] [stderr] Compiling zeroize v1.8.1 [INFO] [stderr] Compiling num-conv v0.1.0 [INFO] [stderr] Compiling smallvec v1.15.0 [INFO] [stderr] Compiling unicode-segmentation v1.12.0 [INFO] [stderr] Compiling quote v1.0.40 [INFO] [stderr] Compiling powerfmt v0.2.0 [INFO] [stderr] Compiling rustls-pki-types v1.12.0 [INFO] [stderr] Compiling syn v2.0.101 [INFO] [stderr] Compiling mio v1.0.3 [INFO] [stderr] Compiling deranged v0.4.0 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling convert_case v0.7.1 [INFO] [stderr] Compiling signal-hook-registry v1.4.5 [INFO] [stderr] Compiling slab v0.4.9 [INFO] [stderr] Compiling untrusted v0.9.0 [INFO] [stderr] Compiling anyhow v1.0.98 [INFO] [stderr] Compiling memchr v2.7.4 [INFO] [stderr] Compiling ryu v1.0.20 [INFO] [stderr] Compiling parking_lot v0.12.3 [INFO] [stderr] Compiling socket2 v0.5.9 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling litrs v0.4.1 [INFO] [stderr] Compiling futures-sink v0.3.31 [INFO] [stderr] Compiling rustls v0.23.27 [INFO] [stderr] Compiling bytes v1.10.1 [INFO] [stderr] Compiling signal-hook-mio v0.2.4 [INFO] [stderr] Compiling terminal_size v0.4.2 [INFO] [stderr] Compiling time v0.3.41 [INFO] [stderr] Compiling futures-io v0.3.31 [INFO] [stderr] Compiling document-features v0.2.11 [INFO] [stderr] Compiling anstyle v1.0.10 [INFO] [stderr] Compiling once_cell v1.21.3 [INFO] [stderr] Compiling futures-task v0.3.31 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling subtle v2.6.1 [INFO] [stderr] Compiling clap_lex v0.7.4 [INFO] [stderr] Compiling unicode-general-category v1.0.0 [INFO] [stderr] Compiling pin-utils v0.1.0 [INFO] [stderr] Compiling heck v0.5.0 [INFO] [stderr] Compiling clap_builder v4.5.38 [INFO] [stderr] Compiling time-macros v0.2.22 [INFO] [stderr] Compiling openssl-probe v0.1.6 [INFO] [stderr] Compiling unicode-width v0.2.0 [INFO] [stderr] Compiling num_threads v0.1.7 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling rustls-native-certs v0.8.1 [INFO] [stderr] Compiling itertools v0.14.0 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling thiserror-impl v2.0.12 [INFO] [stderr] Compiling pin-project-internal v1.1.10 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling derive_more-impl v2.0.1 [INFO] [stderr] Compiling tokio v1.45.0 [INFO] [stderr] Compiling pin-project v1.1.10 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling thingbuf v0.1.6 [INFO] [stderr] Compiling derive_more v2.0.1 [INFO] [stderr] Compiling rustls-webpki v0.103.3 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling crossterm v0.29.0 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Compiling clap_derive v4.5.32 [INFO] [stderr] Compiling async-stream v0.3.6 [INFO] [stderr] Compiling clap v4.5.38 [INFO] [stderr] Compiling tokio-util v0.7.15 [INFO] [stderr] Compiling rustyline-async v0.4.6 [INFO] [stderr] Compiling tokio-rustls v0.26.2 [INFO] [stderr] Compiling cargo-platform v0.1.9 [INFO] [stderr] Compiling cargo_metadata v0.19.2 [INFO] [stderr] Compiling confab v0.3.2 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 23s [INFO] running `Command { std: "docker" "inspect" "22f09bde8189ca176b836cd193fc17b847af0bb51a59a041b56368b7b7771a28", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "22f09bde8189ca176b836cd193fc17b847af0bb51a59a041b56368b7b7771a28", kill_on_drop: false }` [INFO] [stdout] 22f09bde8189ca176b836cd193fc17b847af0bb51a59a041b56368b7b7771a28 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e6377b88d921d286ad31aeb373b6e4834be2e6ac8a5841e2c60482dbbd5b2351 [INFO] running `Command { std: "docker" "start" "-a" "e6377b88d921d286ad31aeb373b6e4834be2e6ac8a5841e2c60482dbbd5b2351", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.172 [INFO] [stderr] Compiling rustix v1.0.7 [INFO] [stderr] Compiling syn v2.0.101 [INFO] [stderr] Compiling serde v1.0.219 [INFO] [stderr] Compiling regex-syntax v0.8.5 [INFO] [stderr] Compiling ryu v1.0.20 [INFO] [stderr] Compiling futures-io v0.3.31 [INFO] [stderr] Compiling memoffset v0.7.1 [INFO] [stderr] Compiling io-lifetimes v1.0.11 [INFO] [stderr] Compiling bitflags v1.3.2 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling deranged v0.4.0 [INFO] [stderr] Compiling aho-corasick v1.1.3 [INFO] [stderr] Compiling polling v2.8.0 [INFO] [stderr] Compiling rustix v0.37.28 [INFO] [stderr] Compiling async-io v1.13.0 [INFO] [stderr] Compiling time v0.3.41 [INFO] [stderr] Compiling getrandom v0.3.3 [INFO] [stderr] Compiling parking v2.2.1 [INFO] [stderr] Compiling waker-fn v1.2.0 [INFO] [stderr] Compiling linux-raw-sys v0.3.8 [INFO] [stderr] Compiling fastrand v1.9.0 [INFO] [stderr] Compiling event-listener v2.5.3 [INFO] [stderr] Compiling serde_json v1.0.140 [INFO] [stderr] Compiling async-lock v2.8.0 [INFO] [stderr] Compiling mio v1.0.3 [INFO] [stderr] Compiling signal-hook-registry v1.4.5 [INFO] [stderr] Compiling parking_lot_core v0.9.10 [INFO] [stderr] Compiling socket2 v0.5.9 [INFO] [stderr] Compiling getrandom v0.2.16 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling parking_lot v0.12.3 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling terminal_size v0.4.2 [INFO] [stderr] Compiling signal-hook-mio v0.2.4 [INFO] [stderr] Compiling regex-automata v0.4.9 [INFO] [stderr] Compiling clap_builder v4.5.38 [INFO] [stderr] Compiling socket2 v0.4.10 [INFO] [stderr] Compiling nix v0.26.4 [INFO] [stderr] Compiling futures-lite v1.13.0 [INFO] [stderr] Compiling rustls-webpki v0.103.3 [INFO] [stderr] Compiling serde_derive v1.0.219 [INFO] [stderr] Compiling thiserror-impl v2.0.12 [INFO] [stderr] Compiling tokio-macros v2.5.0 [INFO] [stderr] Compiling tokio v1.45.0 [INFO] [stderr] Compiling pin-project-internal v1.1.10 [INFO] [stderr] Compiling thiserror v2.0.12 [INFO] [stderr] Compiling derive_more-impl v2.0.1 [INFO] [stderr] Compiling pin-project v1.1.10 [INFO] [stderr] Compiling derive_more v2.0.1 [INFO] [stderr] Compiling futures-macro v0.3.31 [INFO] [stderr] Compiling crossterm v0.29.0 [INFO] [stderr] Compiling thingbuf v0.1.6 [INFO] [stderr] Compiling regex v1.11.1 [INFO] [stderr] Compiling futures-util v0.3.31 [INFO] [stderr] Compiling rustls v0.23.27 [INFO] [stderr] Compiling clap_derive v4.5.32 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Compiling concurrent-queue v2.5.0 [INFO] [stderr] Compiling time-macros v0.2.22 [INFO] [stderr] Compiling glob v0.3.2 [INFO] [stderr] Compiling relative-path v1.9.3 [INFO] [stderr] Compiling clap v4.5.38 [INFO] [stderr] Compiling tokio-util v0.7.15 [INFO] [stderr] Compiling async-stream v0.3.6 [INFO] [stderr] Compiling ptyprocess v0.4.1 [INFO] [stderr] Compiling fastrand v2.3.0 [INFO] [stderr] Compiling futures-timer v3.0.3 [INFO] [stderr] Compiling expectrl v0.7.1 [INFO] [stderr] Compiling rustyline-async v0.4.6 [INFO] [stderr] Compiling tempfile v3.20.0 [INFO] [stderr] Compiling tokio-stream v0.1.17 [INFO] [stderr] Compiling assert_matches v1.5.0 [INFO] [stderr] Compiling semver v1.0.26 [INFO] [stderr] Compiling camino v1.1.9 [INFO] [stderr] Compiling cargo-platform v0.1.9 [INFO] [stderr] Compiling rustc_version v0.4.1 [INFO] [stderr] Compiling tokio-rustls v0.26.2 [INFO] [stderr] Compiling rstest_macros v0.25.0 [INFO] [stderr] Compiling serde-jsonlines v0.7.0 [INFO] [stderr] Compiling cargo_metadata v0.19.2 [INFO] [stderr] Compiling confab v0.3.2 (/opt/rustwide/workdir) [INFO] [stderr] Compiling rstest v0.25.0 [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 2m 07s [INFO] running `Command { std: "docker" "inspect" "e6377b88d921d286ad31aeb373b6e4834be2e6ac8a5841e2c60482dbbd5b2351", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e6377b88d921d286ad31aeb373b6e4834be2e6ac8a5841e2c60482dbbd5b2351", kill_on_drop: false }` [INFO] [stdout] e6377b88d921d286ad31aeb373b6e4834be2e6ac8a5841e2c60482dbbd5b2351 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 3cbc4d366c049f6b23244b0c2fdf5614eb0cd87c361cbe9a0d0358e8985bdeb6 [INFO] running `Command { std: "docker" "start" "-a" "3cbc4d366c049f6b23244b0c2fdf5614eb0cd87c361cbe9a0d0358e8985bdeb6", kill_on_drop: false }` [INFO] [stderr] Compiling confab v0.3.2 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 8.43s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/confab-aed7d2f5fbc4a87f) [INFO] [stdout] [INFO] [stdout] running 65 tests [INFO] [stdout] test codec::tests::test_decode_end_at_limit ... ok [INFO] [stdout] test codec::tests::test_decode_max_length_minus_1_no_end ... ok [INFO] [stdout] test codec::tests::test_decode_end_right_after_limit ... ok [INFO] [stdout] test codec::tests::test_decode_max_length_plus_1_no_end ... ok [INFO] [stdout] test codec::tests::test_decode_max_length_no_end ... ok [INFO] [stdout] test codec::tests::test_decode_over_max_length_straddling_utf8 ... ok [INFO] [stdout] test codec::tests::test_decode_over_max_length_straddling_utf8_in_latin1 ... ok [INFO] [stdout] test codec::tests::test_find_final_char_boundary::case_02 ... ok [INFO] [stdout] test codec::tests::test_find_final_char_boundary::case_01 ... ok [INFO] [stdout] test codec::tests::test_find_final_char_boundary::case_03 ... ok [INFO] [stdout] test codec::tests::test_find_final_char_boundary::case_04 ... ok [INFO] [stdout] test codec::tests::test_find_final_char_boundary::case_05 ... ok [INFO] [stdout] test codec::tests::test_find_final_char_boundary::case_08 ... ok [INFO] [stdout] test codec::tests::test_find_final_char_boundary::case_06 ... ok [INFO] [stdout] test codec::tests::test_find_final_char_boundary::case_09 ... ok [INFO] [stdout] test codec::tests::test_find_final_char_boundary::case_11 ... ok [INFO] [stdout] test codec::tests::test_decode_end_after_limit ... ok [INFO] [stdout] test codec::tests::test_find_final_char_boundary::case_10 ... ok [INFO] [stdout] test codec::tests::test_find_final_char_boundary::case_12 ... ok [INFO] [stdout] test codec::tests::test_find_final_char_boundary::case_13 ... ok [INFO] [stdout] test codec::tests::test_find_final_char_boundary::case_14 ... ok [INFO] [stdout] test codec::tests::test_find_final_char_boundary::case_16 ... ok [INFO] [stdout] test codec::tests::test_find_final_char_boundary::case_15 ... ok [INFO] [stdout] test codec::tests::test_find_final_char_boundary::case_17 ... ok [INFO] [stdout] test codec::tests::test_find_final_char_boundary::case_18 ... ok [INFO] [stdout] test codec::tests::test_find_final_char_boundary::case_19 ... ok [INFO] [stdout] test codec::tests::test_decode_end_before_limit ... ok [INFO] [stdout] test tests::just_build_info ... ok [INFO] [stdout] test tests::no_args ... ok [INFO] [stdout] test tests::validate_cli ... ok [INFO] [stdout] test util::tests::test_chomp::case_2 ... ok [INFO] [stdout] test util::tests::test_chomp::case_5 ... ok [INFO] [stdout] test util::tests::test_chomp::case_4 ... ok [INFO] [stdout] test util::tests::test_chomp::case_6 ... ok [INFO] [stdout] test util::tests::test_chomp::case_7 ... ok [INFO] [stdout] test util::tests::test_chomp::case_3 ... ok [INFO] [stdout] test util::tests::test_chomp::case_8 ... ok [INFO] [stdout] test util::tests::test_decode_utf8latin1_fallback ... ok [INFO] [stdout] test util::tests::test_display_vis ... ok [INFO] [stdout] test util::tests::test_encode_latin1 ... ok [INFO] [stdout] test util::tests::test_chomp::case_1 ... ok [INFO] [stdout] test util::tests::test_json_str_map_one_field ... ok [INFO] [stdout] test util::tests::test_json_str_map_empty ... ok [INFO] [stdout] test util::tests::test_latin1ify ... ok [INFO] [stdout] test util::tests::test_json_str_map_two_fields ... ok [INFO] [stdout] test tests::build_info_and_args ... ok [INFO] [stdout] test util::tests::test_vis::case_2 ... ok [INFO] [stdout] test util::tests::test_vis::case_3 ... ok [INFO] [stdout] test util::tests::test_vis::case_5 ... ok [INFO] [stdout] test util::tests::test_vis::case_1 ... ok [INFO] [stdout] test util::tests::test_vis::case_4 ... ok [INFO] [stdout] test util::tests::test_write_json_str::case_1 ... ok [INFO] [stdout] test util::tests::test_write_json_str::case_2 ... ok [INFO] [stdout] test util::tests::test_vis::case_6 ... ok [INFO] [stdout] test util::tests::test_vis::case_7 ... ok [INFO] [stdout] test util::tests::test_write_json_str::case_3 ... ok [INFO] [stdout] test util::tests::test_write_json_str::case_5 ... ok [INFO] [stdout] test util::tests::test_write_json_str::case_4 ... ok [INFO] [stdout] test util::tests::test_write_json_str::case_7 ... ok [INFO] [stdout] test util::tests::test_write_json_str::case_6 ... ok [INFO] [stdout] test util::tests::test_write_json_str::case_8 ... ok [INFO] [stdout] test util::tests::test_decode_utf8 ... ok [INFO] [stdout] test util::tests::test_decode_latin1 ... ok [INFO] [stdout] test util::tests::test_decode_utf8latin1_good ... ok [INFO] [stderr] Running tests/cli.rs (/opt/rustwide/target/debug/deps/cli-642e684765247723) [INFO] [stdout] test codec::tests::test_find_final_char_boundary::case_07 ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 65 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] running 14 tests [INFO] [stdout] read: "* Connecting ...\r\n" [INFO] [stdout] read: "* Connected to 127.0.0.1:35689\r\n" [INFO] [stdout] read: "confab> \u{1b}[1G\u{1b}[8C\u{1b}[?7h" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J< Welcome to the confab Test Server!\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "* Connecting ..." [INFO] [stdout] read: "\r\n" [INFO] [stdout] read: "* Connected to 127.0.0.1:32839\r\n< Welcome to the confab Test Server!" [INFO] [stdout] read: "* Connecting ...\r\n* Connected to 127.0.0.1:46379\r\nconfab> \u{1b}[1G\u{1b}[8C\u{1b}[?7h" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J< Welcome to the confab Test Server!\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] write: "pieces\r\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> p\u{1b}[1G\u{1b}[9C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> pi\u{1b}[1G\u{1b}[10C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> pie\u{1b}[1G\u{1b}[11C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> piec\u{1b}[1G\u{1b}[12C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> piece\u{1b}[1G\u{1b}[13C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> pieces\u{1b}[1G\u{1b}[14C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J> pieces\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J< You sent: \"pieces\"\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "* Connecting ...\r\n* Connected to 127.0.0.1:39055\r\nconfab> \u{1b}[1G\u{1b}[8C\u{1b}[?7h" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J< Welcome to the confab Test Server!\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] write: "bytes\r\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> b\u{1b}[1G\u{1b}[9C\u{1b}[1G\u{1b}[Jconfab> by\u{1b}[1G\u{1b}[10C\u{1b}[1G\u{1b}[Jconfab> byt\u{1b}[1G\u{1b}[11C\u{1b}[1G\u{1b}[Jconfab> byte\u{1b}[1G\u{1b}[12C\u{1b}[1G\u{1b}[Jconfab> bytes\u{1b}[1" [INFO] [stdout] read: "G\u{1b}[13C\u{1b}[1G\u{1b}[Jconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J> bytes\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J< You sent: \"bytes\"\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "* Connecting ..." [INFO] [stdout] read: "\r\n" [INFO] [stdout] read: "* Connected to 127.0.0.1:38597" [INFO] [stdout] read: "\r\n" [INFO] [stdout] read: "confab> \u{1b}[1G\u{1b}[8C\u{1b}[?7h" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J< Welcome to the confab Test Server!\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] write: "long\r\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> l\u{1b}[1G\u{1b}[9C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> lo\u{1b}[1G\u{1b}[10C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> lon\u{1b}[1G\u{1b}[11C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> long\u{1b}[1G\u{1b}[12C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "* Connecting ...\r\n" [INFO] [stdout] read: "* Connected to 127.0.0.1:36871\r\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J> long\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "confab> \u{1b}[1G\u{1b}[8C\u{1b}[?7h\u{1b}[1G\u{1b}[J< Welcome to the confab Test Server!\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] write: "Hello!\r\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J< You sent: \"long\"\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> H\u{1b}[1G\u{1b}[9C\u{1b}[1G\u{1b}[Jconfab> He\u{1b}[1G\u{1b}[10C\u{1b}[1G\u{1b}[Jconfab> Hel\u{1b}[1G\u{1b}[11C\u{1b}[1G\u{1b}[Jconfab> Hell\u{1b}[1G\u{1b}[12C\u{1b}[1G\u{1b}[Jconfab> Hello\u{1b}[1" [INFO] [stdout] read: "G\u{1b}[13C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> Hello!\u{1b}[1G\u{1b}[14C\u{1b}[1G\u{1b}[Jconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "* Connecting ...\r\n* Connected to 127.0.0.1:35563\r\n" [INFO] [stdout] read: "< Welcome to the confab Test Server!\r\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J> Hello!\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J< You sent: \"Hello!\"\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J< Here is some non-UTF-8 data:\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J< Latin-1: Libert�, �galit�, fraternit�\n\u{1b}[1G\u{1b}[1Gcon" [INFO] [stdout] write: "quit\r\n" [INFO] [stdout] read: "fab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J< General garbage: ����\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] write: "quit\r\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> q\u{1b}[1G\u{1b}[9C\u{1b}[1G\u{1b}[Jconfab> qu\u{1b}[1G\u{1b}[10C\u{1b}[1G\u{1b}[Jconfab> qui\u{1b}[1G\u{1b}[11C\u{1b}[1G\u{1b}[Jconfab> quit\u{1b}[1G\u{1b}[12C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J> quit\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J< You sent: \"quit\"\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J< Goodbye.\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J* Disconnected\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J" [INFO] [stdout] read: "" [INFO] [stdout] test test_receive_non_utf8 ... ok [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> q\u{1b}[1G\u{1b}[9C\u{1b}[1G\u{1b}[Jconfab> qu\u{1b}[1G\u{1b}[10C\u{1b}[1G\u{1b}[Jconfab> qui\u{1b}[1G\u{1b}[11C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> quit\u{1b}[1G\u{1b}[12C\u{1b}[1G\u{1b}[Jconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J> quit\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J< You sent: \"quit\"\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J< Goodbye.\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J* Disconnected\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J" [INFO] [stdout] read: "" [INFO] [stdout] test test_quit_session ... ok [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J< This is a very long line. I'm not going t\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J< o bore you with the details, so instead I'\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J< ll bore you with some mangled Cicero: Lore\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J< m ipsum dolor sit amet, consectetur adipis\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J< icing elit, sed do eiusmod tempor incididu\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J< nt ut labore et dol" [INFO] [stdout] read: "ore magna aliqua. Ut e\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J< nim ad minim veniam, quis nostrud exercita\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G" [INFO] [stdout] read: "\u{1b}[J< tion ullamco laboris nisi ut aliquip ex ea\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J< commodo consequat.\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] write: "quit\r\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> q\u{1b}[1G\u{1b}[9C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> qu\u{1b}[1G\u{1b}[10C\u{1b}[1G\u{1b}[Jconfab> qui\u{1b}[1G\u{1b}[11C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> quit\u{1b}[1G\u{1b}[12C\u{1b}[1G\u{1b}[Jconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J> quit\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J< You sent: \"quit\"\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J< Goodbye.\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J* Disconnected\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J" [INFO] [stdout] read: "" [INFO] [stdout] test test_long_line ... ok [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J< This line is|being sent in|pieces.|Did you get it all?\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] write: "quit\r\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> q\u{1b}[1G\u{1b}[9C\u{1b}[1G\u{1b}[Jconfab> qu\u{1b}[1G\u{1b}[10C\u{1b}[1G\u{1b}[Jconfab> qui\u{1b}[1G\u{1b}[11C\u{1b}[1G\u{1b}[Jconfab> quit\u{1b}[1G\u{1b}[12C\u{1b}[1G\u{1b}[Jconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J> quit\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J< You sent: \"quit\"\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J< Goodbye.\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[" [INFO] [stdout] read: "8C\u{1b}[1G\u{1b}[J* Disconnected\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J" [INFO] [stdout] read: "" [INFO] [stdout] test test_piecemeal_line ... ok [INFO] [stdout] read: "\r\n" [INFO] [stdout] read: "> Hello!" [INFO] [stdout] read: "\r\n< You sent: \"Hello!\"\r\n" [INFO] [stdout] read: "* Connecting ...\r\n" [INFO] [stdout] read: "* Connected to 127.0.0.1:37231\r\nconfab> \u{1b}[1G\u{1b}[8C\u{1b}[?7h\u{1b}[1G\u{1b}[J< Welcome to the confab Test Server!\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] write: "crlf\r\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> c\u{1b}[1G\u{1b}[9C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> cr\u{1b}[1G\u{1b}[10C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> crl\u{1b}[1G\u{1b}[11C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> crlf\u{1b}[1G\u{1b}[12C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J> crlf\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J< You sent: \"crlf\"\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J< CR LF:\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] write: "quit\r\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> q\u{1b}[1G\u{1b}[9C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> qu\u{1b}[1G\u{1b}[10C\u{1b}[1G\u{1b}[Jconfab> qui\u{1b}[1G\u{1b}[11C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> quit\u{1b}[1G\u{1b}[12C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J> quit\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J< You sent: \"quit\"\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J< Goodbye.\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J* Disconnected\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J" [INFO] [stdout] read: "" [INFO] [stdout] test test_no_crlf_recv_crlf ... ok [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J< Ping 1\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "> Hello!\r\n< You sent: \"Hello!\"\r\n" [INFO] [stdout] read: "> quit\r\n" [INFO] [stdout] read: "< You sent: \"quit\"\r\n< Goodbye.\r\n* Disconnected\r\n" [INFO] [stdout] read: "" [INFO] [stdout] test quit_from_startup_script ... ok [INFO] [stdout] read: "> This is from a startup script.\r\n< You sent: \"This is from a startup script.\"\r\n" [INFO] [stdout] read: "confab> \u{1b}[1G\u{1b}[8C\u{1b}[?7h" [INFO] [stdout] write: "Hello again!\r\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> H\u{1b}[1G\u{1b}[9C\u{1b}[1G\u{1b}[Jconfab> He\u{1b}[1G\u{1b}[10C\u{1b}[1G\u{1b}[Jconfab> Hel\u{1b}[1G\u{1b}[11C\u{1b}[1G\u{1b}[Jconfab> Hell\u{1b}[1G\u{1b}[12C\u{1b}[1G\u{1b}[Jconfab> Hello\u{1b}[1" [INFO] [stdout] read: "G\u{1b}[13C\u{1b}[1G\u{1b}[Jconfab> Hello \u{1b}[1G\u{1b}[14C\u{1b}[1G\u{1b}[Jconfab> Hello a\u{1b}[1G\u{1b}[15C\u{1b}[1G\u{1b}[Jconfab> Hello ag\u{1b}[1G\u{1b}[16C\u{1b}[1G\u{1b}[Jconfab> Hello aga\u{1b}[1G\u{1b}" [INFO] [stdout] read: "[17C\u{1b}[1G\u{1b}[Jconfab> Hello agai\u{1b}[1G\u{1b}[18C\u{1b}[1G\u{1b}[Jconfab> Hello again\u{1b}[1G\u{1b}[19C\u{1b}[1G\u{1b}[Jconfab> Hello again!\u{1b}[1G\u{1b}[20C\u{1b}[1G\u{1b}[Jconfab> \u{1b}[1G" [INFO] [stdout] read: "\u{1b}[8C\u{1b}[1G\u{1b}[J> Hello again!\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J< You sent: \"Hello again!\"\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] write: "This is from the prompt.\r\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> T\u{1b}[1G\u{1b}[9C\u{1b}[1G\u{1b}[Jconfab> Th\u{1b}[1G\u{1b}[10C\u{1b}[1G\u{1b}[Jconfab> Thi\u{1b}[1G\u{1b}[11C\u{1b}[1G\u{1b}[Jconfab> This\u{1b}[1G\u{1b}[12C\u{1b}[1G\u{1b}[Jconfab> This \u{1b}[1" [INFO] [stdout] read: "G\u{1b}[13C\u{1b}[1G\u{1b}[Jconfab> This i\u{1b}[1G\u{1b}[14C\u{1b}[1G\u{1b}[Jconfab> This is\u{1b}[1G\u{1b}[15C\u{1b}[1G\u{1b}[Jconfab> This is \u{1b}[1G\u{1b}[16C\u{1b}[1G\u{1b}[Jconfab> This is f\u{1b}[1G\u{1b}" [INFO] [stdout] read: "[17C\u{1b}[1G\u{1b}[Jconfab> This is fr\u{1b}[1G\u{1b}[18C\u{1b}[1G\u{1b}[Jconfab> This is fro\u{1b}[1G\u{1b}[19C\u{1b}[1G\u{1b}[Jconfab> This is from\u{1b}[1G\u{1b}[20C\u{1b}[1G\u{1b}[Jconfab> This" [INFO] [stdout] read: " is from \u{1b}[1G\u{1b}[21C\u{1b}[1G\u{1b}[Jconfab> This is from t\u{1b}[1G\u{1b}[22C\u{1b}[1G\u{1b}[Jconfab> This is from th\u{1b}[1G\u{1b}[23C\u{1b}[1G\u{1b}[Jconfab> This is from the\u{1b}[" [INFO] [stdout] read: "1G\u{1b}[24C\u{1b}[1G\u{1b}[Jconfab> This is from the \u{1b}[1G\u{1b}[25C\u{1b}[1G\u{1b}[Jconfab> This is from the p\u{1b}[1G\u{1b}[26C\u{1b}[1G\u{1b}[Jconfab> This is from the pr\u{1b}[1G" [INFO] [stdout] read: "\u{1b}[27C\u{1b}[1G\u{1b}[Jconfab> This is from the pro\u{1b}[1G\u{1b}[28C\u{1b}[1G\u{1b}[Jconfab> This is from the prom\u{1b}[1G\u{1b}[29C\u{1b}[1G\u{1b}[Jconfab> This is from the pr" [INFO] [stdout] read: "omp\u{1b}[1G\u{1b}[30C\u{1b}[1G\u{1b}[Jconfab> This is from the prompt\u{1b}[1G\u{1b}[31C\u{1b}[1G\u{1b}[Jconfab> This is from the prompt.\u{1b}[1G\u{1b}[32C\u{1b}[1G\u{1b}[Jconfab> \u{1b}[1G\u{1b}[" [INFO] [stdout] read: "8C\u{1b}[1G\u{1b}[J> This is from the prompt.\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J< You sent: \"This is from the prompt.\"\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[" [INFO] [stdout] write: "quit\r\n" [INFO] [stdout] read: "8C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> q\u{1b}[1G\u{1b}[9C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> qu\u{1b}[1G\u{1b}[10C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> qui\u{1b}[1G\u{1b}[11C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> quit\u{1b}[1G\u{1b}[12C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J> quit\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J< You sent: \"quit\"\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J< Goodbye.\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J* Disconnected\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J" [INFO] [stdout] read: "" [INFO] [stdout] test startup_script ... ok [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J< Ping 2\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] write: "quit\r\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> q\u{1b}[1G\u{1b}[9C\u{1b}[1G\u{1b}[Jconfab> qu\u{1b}[1G\u{1b}[10C\u{1b}[1G\u{1b}[Jconfab> qui\u{1b}[1G\u{1b}[11C\u{1b}[1G\u{1b}[Jconfab> quit\u{1b}[1G\u{1b}[12C\u{1b}[1G\u{1b}[Jconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J> quit\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J< You sent: \"quit\"\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J< Goodbye.\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[" [INFO] [stdout] read: "8C\u{1b}[1G\u{1b}[J* Disconnected\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J" [INFO] [stdout] read: "" [INFO] [stdout] test test_async_recv ... ok [INFO] [stdout] read: "* Connecting ...\r\n" [INFO] [stdout] read: "* Connected to 127.0.0.1:46109\r\n" [INFO] [stdout] read: "confab> \u{1b}[1G\u{1b}[8C\u{1b}[?7h" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J< Welcome to the confab Test Server!\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] write: "Fëanor is an 🧝. Frosty is a ☃.\r\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> F\u{1b}[1G\u{1b}[9C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> Fë\u{1b}[1G\u{1b}[10C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> Fëa\u{1b}[1G\u{1b}[11C\u{1b}[1G\u{1b}[Jconfab> Fëan\u{1b}[1G\u{1b}[12C\u{1b}[1G\u{1b}[Jconfab> Fëano\u{1b}[1G\u{1b}[13C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> Fëanor\u{1b}[1G\u{1b}[14C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> Fëanor \u{1b}[1G\u{1b}[15C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> Fëanor i\u{1b}[1G\u{1b}[16C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> Fëanor is\u{1b}[1G\u{1b}[17C\u{1b}[1G\u{1b}[Jconfab> Fëanor is \u{1b}[1G\u{1b}[18C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> Fëanor is a\u{1b}[1G\u{1b}[19C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> Fëanor is an\u{1b}[1G\u{1b}[20C\u{1b}[1G\u{1b}[Jconfab> Fëanor is an \u{1b}[1G\u{1b}[21C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> Fëanor is an 🧝\u{1b}[1G\u{1b}[23C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> Fëanor is an 🧝.\u{1b}[1G\u{1b}[24C\u{1b}[1G\u{1b}[Jconfab> Fëanor is an 🧝. \u{1b}[1G\u{1b}[25C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> Fëanor is an 🧝. \u{1b}[1G\u{1b}[26C\u{1b}[1G\u{1b}[Jconfab> Fëanor is an 🧝. F\u{1b}[1G\u{1b}[27C\u{1b}[1G\u{1b}[Jconfab> Fëanor is an 🧝. F" [INFO] [stdout] read: "r\u{1b}[1G\u{1b}[28C\u{1b}[1G\u{1b}[Jconfab> Fëanor is an 🧝. Fro\u{1b}[1G\u{1b}[29C\u{1b}[1G\u{1b}[Jconfab> Fëanor is an 🧝. Fros\u{1b}[1G\u{1b}[30C\u{1b}[1G\u{1b}[Jconfab> Fëano" [INFO] [stdout] read: "r is an 🧝. Frost\u{1b}[1G\u{1b}[31C\u{1b}[1G\u{1b}[Jconfab> Fëanor is an 🧝. Frosty\u{1b}[1G\u{1b}[32C\u{1b}[1G\u{1b}[Jconfab> Fëanor is an 🧝. Frosty \u{1b}[1G\u{1b}" [INFO] [stdout] read:(bytes): [91, 51, 51, 67, 27, 91, 49, 71, 27, 91, 74, 99, 111, 110, 102, 97, 98, 62, 32, 70, 195, 171, 97, 110, 111, 114, 32, 105, 115, 32, 97, 110, 32, 240, 159, 167, 157, 46, 32, 32, 70, 114, 111, 115, 116, 121, 32, 105, 27, 91, 49, 71, 27, 91, 51, 52, 67, 27, 91, 49, 71, 27, 91, 74, 99, 111, 110, 102, 97, 98, 62, 32, 70, 195, 171, 97, 110, 111, 114, 32, 105, 115, 32, 97, 110, 32, 240, 159, 167, 157, 46, 32, 32, 70, 114, 111, 115, 116, 121, 32, 105, 115, 27, 91, 49, 71, 27, 91, 51, 53, 67, 27, 91, 49, 71, 27, 91, 74, 99, 111, 110, 102, 97, 98, 62, 32, 70, 195] [INFO] [stdout] read:(bytes): [171, 97, 110, 111, 114, 32, 105, 115, 32, 97, 110, 32, 240, 159, 167, 157, 46, 32, 32, 70, 114, 111, 115, 116, 121, 32, 105, 115, 32, 27, 91, 49, 71, 27, 91, 51, 54, 67, 27, 91, 49, 71, 27, 91, 74, 99, 111, 110, 102, 97, 98, 62, 32, 70, 195, 171, 97, 110, 111, 114, 32, 105, 115, 32, 97, 110, 32, 240, 159, 167, 157, 46, 32, 32, 70, 114, 111, 115, 116, 121, 32, 105, 115, 32, 97, 27, 91, 49, 71, 27, 91, 51, 55, 67, 27, 91, 49, 71, 27, 91, 74, 99, 111, 110, 102, 97, 98, 62, 32, 70, 195, 171, 97, 110, 111, 114, 32, 105, 115, 32, 97, 110, 32, 240, 159, 167, 157, 46] [INFO] [stdout] read: " Frosty is a \u{1b}[1G\u{1b}[38C\u{1b}[1G\u{1b}[Jconfab> Fëanor is an 🧝. Frosty is a ☃\u{1b}[1G\u{1b}[39C\u{1b}[1G\u{1b}[Jconfab> Fëanor is an 🧝. Frosty is" [INFO] [stdout] read: " a ☃.\u{1b}[1G\u{1b}[40C\u{1b}[1G\u{1b}[Jconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J> Fëanor is an ?. Frosty is a ?.\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J< You sent: b\"F\\xebanor is an ?. Frosty is a ?.\"\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] write: "quit\r\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> q\u{1b}[1G\u{1b}[9C\u{1b}[1G\u{1b}[Jconfab> qu\u{1b}[1G\u{1b}[10C\u{1b}[1G\u{1b}[Jconfab> qui\u{1b}[1G\u{1b}[11C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> quit\u{1b}[1G\u{1b}[12C\u{1b}[1G\u{1b}[Jconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J> quit\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J< You sent: \"quit\"\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J< Goodbye.\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J* Disconnected\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J" [INFO] [stdout] read: "" [INFO] [stdout] test test_send_latin1 ... ok [INFO] [stdout] read: "* Connecting ...\r\n* Connected to 127.0.0.1:39783\r\nconfab> \u{1b}[1G\u{1b}[8C\u{1b}[?7h" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J< Welcome to the confab Test Server!\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] write: "bytes\r\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> b\u{1b}[1G\u{1b}[9C\u{1b}[1G\u{1b}[Jconfab> by\u{1b}[1G\u{1b}[10C\u{1b}[1G\u{1b}[Jconfab> byt\u{1b}[1G\u{1b}[11C\u{1b}[1G\u{1b}[Jconfab> byte\u{1b}[1G\u{1b}[12C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> bytes\u{1b}[1G\u{1b}[13C\u{1b}[1G\u{1b}[Jconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J> bytes\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J< You sent: \"bytes\"\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J< Here is some non-UTF-8 data:\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J< Latin-1: Liberté, égalité, fraternité\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J< General garbage: \u{1b}[7m\u{1b}[0m«Íï\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] write: "quit\r\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> q\u{1b}[1G\u{1b}[9C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> qu\u{1b}[1G\u{1b}[10C\u{1b}[1G\u{1b}[Jconfab> qui\u{1b}[1G\u{1b}[11C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> quit\u{1b}[1G\u{1b}[12C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J> quit\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J< You sent: \"quit\"\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J< Goodbye.\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J* Disconnected\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J" [INFO] [stdout] read: "" [INFO] [stdout] test test_receive_non_utf8_with_latin1_fallback ... ok [INFO] [stdout] read: "* Connecting ...\r\n" [INFO] [stdout] read: "* Connected to 127.0.0.1:42633\r\n" [INFO] [stdout] read: "confab> \u{1b}[1G\u{1b}[8C\u{1b}[?7h" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J< Welcome to the confab Test Server!\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] write: "Hello!\r\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> H\u{1b}[1G\u{1b}[9C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> He\u{1b}[1G\u{1b}[10C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> Hel\u{1b}[1G\u{1b}[11C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> Hell\u{1b}[1G\u{1b}[12C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> Hello\u{1b}[1G\u{1b}[13C\u{1b}[1G\u{1b}[Jconfab> Hello!\u{1b}[1G\u{1b}[14C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J> Hello!\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J< You sent: \"Hello!\"\n" [INFO] [stdout] write: "\u{4}" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J\u{1b}[1G\u{1b}[J* Disconnected\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J" [INFO] [stdout] read: "" [INFO] [stdout] test test_send_ctrl_d ... ok [INFO] [stdout] read: "* Connecting ...\r\n" [INFO] [stdout] read: "* Connected to 127.0.0.1:44829\r\n" [INFO] [stdout] read: "confab> \u{1b}[1G\u{1b}[8C\u{1b}[?7h" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J< Welcome to the confab Test Server!\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] write: "crlf\r\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> c\u{1b}[1G\u{1b}[9C\u{1b}[1G\u{1b}[Jconfab> cr\u{1b}[1G\u{1b}[10C\u{1b}[1G\u{1b}[Jconfab> crl\u{1b}[1G\u{1b}[11C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> crlf\u{1b}[1G\u{1b}[12C\u{1b}[1G\u{1b}[Jconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J> crlf\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J< You sent: \"crlf\\r\"\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J< CR LF:\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] write: "quit\r\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> q\u{1b}[1G\u{1b}[9C\u{1b}[1G\u{1b}[Jconfab> qu\u{1b}[1G\u{1b}[10C\u{1b}[1G\u{1b}[Jconfab> qui\u{1b}[1G\u{1b}[11C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> quit\u{1b}[1G\u{1b}[12C\u{1b}[1G\u{1b}[Jconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J> quit\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J< You sent: \"quit\\r\"\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J< Goodbye.\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J* Disconnected\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J" [INFO] [stdout] read: "" [INFO] [stdout] test test_send_crlf ... ok [INFO] [stdout] read: "[09:11:43] * Connecting ...\r\n[09:11:43] * Connected to 127.0.0.1:41883\r\nconfab> \u{1b}[1G\u{1b}[8C\u{1b}[?7h" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J[09:11:43] < Welcome to the confab Test Server!\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "* Connecting ...\r\n" [INFO] [stdout] read: "* Connected to 127.0.0.1:41703\r\n" [INFO] [stdout] read: "confab> \u{1b}[1G\u{1b}[8C\u{1b}[?7h" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J< Welcome to the confab Test Server!\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] write: "Fëanor is an 🧝. Frosty is a ☃.\r\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> F\u{1b}[1G\u{1b}[9C\u{1b}[1G\u{1b}[Jconfab> Fë\u{1b}[1G\u{1b}[10C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> Fëa\u{1b}[1G\u{1b}[11C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> Fëan\u{1b}[1G\u{1b}[12C\u{1b}[1G\u{1b}[Jconfab> Fëano\u{1b}[1G\u{1b}[13C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> Fëanor\u{1b}[1G\u{1b}[14C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> Fëanor \u{1b}[1G\u{1b}[15C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> Fëanor i\u{1b}[1G\u{1b}[16C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> Fëanor is\u{1b}[1G\u{1b}[17C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> Fëanor is \u{1b}[1G\u{1b}[18C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> Fëanor is a\u{1b}[1G\u{1b}[19C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> Fëanor is an\u{1b}[1G\u{1b}[20C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> Fëanor is an \u{1b}[1G\u{1b}[21C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> Fëanor is an 🧝\u{1b}[1G\u{1b}[23C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> Fëanor is an 🧝.\u{1b}[1G\u{1b}[24C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> Fëanor is an 🧝. \u{1b}[1G\u{1b}[25C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> Fëanor is an 🧝. \u{1b}[1G\u{1b}[26C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> Fëanor is an 🧝. F\u{1b}[1G\u{1b}[27C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> Fëanor is an 🧝. Fr\u{1b}[1G\u{1b}[28C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> Fëanor is an 🧝. Fro\u{1b}[1G\u{1b}[29C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> Fëanor is an 🧝. Fros\u{1b}[1G\u{1b}[30C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> Fëanor is an 🧝. Frost\u{1b}[1G\u{1b}[31C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> Fëanor is an 🧝. Frosty\u{1b}[1G\u{1b}[32C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> Fëanor is an 🧝. Frosty \u{1b}[1G\u{1b}[33C\u{1b}[1G\u{1b}[Jconfab> Fëanor is an 🧝. Frosty i\u{1b}[1G\u{1b}[34C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> Fëanor is an 🧝. Frosty is\u{1b}[1G\u{1b}[35C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> Fëanor is an 🧝. Frosty is \u{1b}[1G\u{1b}[36C\u{1b}[1G\u{1b}[Jconfab> Fëanor is an 🧝. Frosty is a\u{1b}[1G\u{1b}[37C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> Fëanor is an 🧝. Frosty is a \u{1b}[1G\u{1b}[38C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> Fëanor is an 🧝. Frosty is a ☃\u{1b}[1G\u{1b}[39C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> Fëanor is an 🧝. Frosty is a ☃.\u{1b}[1G\u{1b}[40C\u{1b}[1G\u{1b}[Jconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J> Fëanor is an 🧝. Frosty is a ☃.\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J< You sent: \"Fëanor is an 🧝. Frosty is a ☃.\"\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] write: "quit\r\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> q\u{1b}[1G\u{1b}[9C\u{1b}[1G\u{1b}[Jconfab> qu\u{1b}[1G\u{1b}[10C\u{1b}[1G\u{1b}[Jconfab> qui\u{1b}[1G\u{1b}[11C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> quit\u{1b}[1G\u{1b}[12C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J> quit\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J< You sent: \"quit\"\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J< Goodbye.\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J* Disconnected\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J" [INFO] [stdout] read: "" [INFO] [stdout] test test_send_utf8 ... ok [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J[09:11:44] < Ping 1\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J[09:11:45] < Ping 2\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] write: "quit\r\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[Jconfab> q\u{1b}[1G\u{1b}[9C\u{1b}[1G\u{1b}[Jconfab> qu\u{1b}[1G\u{1b}[10C\u{1b}[1G\u{1b}[Jconfab> qui\u{1b}[1G\u{1b}[11C\u{1b}[1G\u{1b}[Jconfab> quit\u{1b}[1G\u{1b}[12C\u{1b}[1G\u{1b}[Jconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J[09:11:45] > quit\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[J[09:11:45] < You sent: \"quit\"\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J[09:11:45] < Goodbye.\n" [INFO] [stdout] read: "\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J[09:11:45] * Disconnected\n\u{1b}[1G\u{1b}[1Gconfab> \u{1b}[1G\u{1b}[8C\u{1b}[1G\u{1b}[J" [INFO] [stdout] read: "" [INFO] [stdout] test test_show_times ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 9.64s [INFO] [stdout] [INFO] running `Command { std: "docker" "inspect" "3cbc4d366c049f6b23244b0c2fdf5614eb0cd87c361cbe9a0d0358e8985bdeb6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3cbc4d366c049f6b23244b0c2fdf5614eb0cd87c361cbe9a0d0358e8985bdeb6", kill_on_drop: false }` [INFO] [stdout] 3cbc4d366c049f6b23244b0c2fdf5614eb0cd87c361cbe9a0d0358e8985bdeb6