[INFO] cloning repository https://github.com/NPozzaUNamur/cBach
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/NPozzaUNamur/cBach" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNPozzaUNamur%2FcBach", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNPozzaUNamur%2FcBach'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 9853b6d219082ee3542b93fd50d1104d687f6d3b
[INFO] testing NPozzaUNamur/cBach against 1.100.0-beta.1 for beta-1.100-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FNPozzaUNamur%2FcBach" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'...
[INFO] [stderr] done.
[INFO] [stderr] Updating files:  14% (707/4731)
Updating files:  14% (708/4731)
Updating files:  15% (710/4731)
Updating files:  15% (715/4731)
Updating files:  15% (721/4731)
Updating files:  15% (724/4731)
Updating files:  15% (731/4731)
Updating files:  15% (737/4731)
Updating files:  15% (739/4731)
Updating files:  15% (746/4731)
Updating files:  16% (757/4731)
Updating files:  16% (758/4731)
Updating files:  16% (762/4731)
Updating files:  16% (770/4731)
Updating files:  17% (805/4731)
Updating files:  17% (844/4731)
Updating files:  18% (852/4731)
Updating files:  18% (866/4731)
Updating files:  19% (899/4731)
Updating files:  19% (933/4731)
Updating files:  20% (947/4731)
Updating files:  20% (960/4731)
Updating files:  20% (981/4731)
Updating files:  20% (990/4731)
Updating files:  21% (994/4731)
Updating files:  22% (1041/4731)
Updating files:  23% (1089/4731)
Updating files:  24% (1136/4731)
Updating files:  25% (1183/4731)
Updating files:  26% (1231/4731)
Updating files:  27% (1278/4731)
Updating files:  28% (1325/4731)
Updating files:  29% (1372/4731)
Updating files:  30% (1420/4731)
Updating files:  31% (1467/4731)
Updating files:  32% (1514/4731)
Updating files:  32% (1536/4731)
Updating files:  33% (1562/4731)
Updating files:  34% (1609/4731)
Updating files:  35% (1656/4731)
Updating files:  36% (1704/4731)
Updating files:  37% (1751/4731)
Updating files:  38% (1798/4731)
Updating files:  39% (1846/4731)
Updating files:  40% (1893/4731)
Updating files:  41% (1940/4731)
Updating files:  42% (1988/4731)
Updating files:  43% (2035/4731)
Updating files:  44% (2082/4731)
Updating files:  45% (2129/4731)
Updating files:  46% (2177/4731)
Updating files:  47% (2224/4731)
Updating files:  48% (2271/4731)
Updating files:  49% (2319/4731)
Updating files:  50% (2366/4731)
Updating files:  51% (2413/4731)
Updating files:  52% (2461/4731)
Updating files:  53% (2508/4731)
Updating files:  54% (2555/4731)
Updating files:  55% (2603/4731)
Updating files:  56% (2650/4731)
Updating files:  56% (2668/4731)
Updating files:  57% (2697/4731)
Updating files:  58% (2744/4731)
Updating files:  59% (2792/4731)
Updating files:  60% (2839/4731)
Updating files:  61% (2886/4731)
Updating files:  62% (2934/4731)
Updating files:  63% (2981/4731)
Updating files:  64% (3028/4731)
Updating files:  65% (3076/4731)
Updating files:  66% (3123/4731)
Updating files:  67% (3170/4731)
Updating files:  68% (3218/4731)
Updating files:  69% (3265/4731)
Updating files:  70% (3312/4731)
Updating files:  71% (3360/4731)
Updating files:  72% (3407/4731)
Updating files:  73% (3454/4731)
Updating files:  74% (3501/4731)
Updating files:  75% (3549/4731)
Updating files:  76% (3596/4731)
Updating files:  77% (3643/4731)
Updating files:  78% (3691/4731)
Updating files:  79% (3738/4731)
Updating files:  80% (3785/4731)
Updating files:  80% (3809/4731)
Updating files:  81% (3833/4731)
Updating files:  82% (3880/4731)
Updating files:  83% (3927/4731)
Updating files:  84% (3975/4731)
Updating files:  85% (4022/4731)
Updating files:  86% (4069/4731)
Updating files:  87% (4116/4731)
Updating files:  88% (4164/4731)
Updating files:  89% (4211/4731)
Updating files:  90% (4258/4731)
Updating files:  91% (4306/4731)
Updating files:  92% (4353/4731)
Updating files:  93% (4400/4731)
Updating files:  94% (4448/4731)
Updating files:  95% (4495/4731)
Updating files:  96% (4542/4731)
Updating files:  97% (4590/4731)
Updating files:  98% (4637/4731)
Updating files:  99% (4684/4731)
Updating files: 100% (4731/4731)
Updating files: 100% (4731/4731), done.
[INFO] started tweaking git repo https://github.com/NPozzaUNamur/cBach
[INFO] finished tweaking git repo https://github.com/NPozzaUNamur/cBach
[INFO] tweaked toml for git repo https://github.com/NPozzaUNamur/cBach written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/NPozzaUNamur/cBach on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/NPozzaUNamur/cBach 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.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/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:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 6f7960eacba05e4cb2f915f828f5ebcb2cfa5ac0457d5b74aa802bae31664386
[INFO] running `Command { std: "docker" "start" "6f7960eacba05e4cb2f915f828f5ebcb2cfa5ac0457d5b74aa802bae31664386", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6f7960eacba05e4cb2f915f828f5ebcb2cfa5ac0457d5b74aa802bae31664386", 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" "6f7960eacba05e4cb2f915f828f5ebcb2cfa5ac0457d5b74aa802bae31664386" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6f7960eacba05e4cb2f915f828f5ebcb2cfa5ac0457d5b74aa802bae31664386", 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" "6f7960eacba05e4cb2f915f828f5ebcb2cfa5ac0457d5b74aa802bae31664386" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling memchr v2.8.2
[INFO] [stderr]    Compiling bytes v1.12.0
[INFO] [stderr]    Compiling predicates-core v1.0.10
[INFO] [stderr]    Compiling zerocopy v0.8.52
[INFO] [stderr]    Compiling mockall_derive v0.13.1
[INFO] [stderr]    Compiling anstyle v1.0.13
[INFO] [stderr]    Compiling termtree v0.5.1
[INFO] [stderr]    Compiling fragile v2.0.1
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling nix v0.29.0
[INFO] [stderr]    Compiling endian-type v0.1.2
[INFO] [stderr]    Compiling unicode-width v0.2.2
[INFO] [stderr]    Compiling predicates-tree v1.0.13
[INFO] [stderr]    Compiling nibble_vec v0.1.0
[INFO] [stderr]    Compiling unicode-segmentation v1.13.3
[INFO] [stderr]    Compiling predicates v3.1.4
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling radix_trie v0.2.1
[INFO] [stderr]    Compiling home v0.5.12
[INFO] [stderr]    Compiling log v0.4.33
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling nom v8.0.0
[INFO] [stderr]    Compiling cbach-core v26.8.0 (/opt/rustwide/workdir/cbach-core)
[INFO] [stderr]    Compiling syn v2.0.116
[INFO] [stderr]    Compiling fd-lock v4.0.4
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling socket2 v0.6.2
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling rustyline v15.0.0
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling cbach-rs-macros v26.8.0 (/opt/rustwide/workdir/cbach-rs-macros)
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling rand v0.9.4
[INFO] [stderr]    Compiling cbach-language v26.8.0 (/opt/rustwide/workdir/cbach-language)
[INFO] [stderr]    Compiling mockall v0.13.1
[INFO] [stderr]    Compiling cbach-rs v26.8.0 (/opt/rustwide/workdir/cbach-rs)
[INFO] [stderr]    Compiling cbach-engine v26.8.0 (/opt/rustwide/workdir/cbach-engine)
[INFO] [stderr]    Compiling cbach-client-kit v26.8.0 (/opt/rustwide/workdir/cbach-client-kit)
[INFO] [stderr]    Compiling cbach-aggregator v26.8.0 (/opt/rustwide/workdir/cbach-aggregator)
[INFO] [stderr]    Compiling cbach-bridge v26.8.0 (/opt/rustwide/workdir/cbach-bridge)
[INFO] [stderr]    Compiling cbach-service v26.8.0 (/opt/rustwide/workdir/cbach-service)
[INFO] [stderr]    Compiling cbach-cli v26.8.0 (/opt/rustwide/workdir/cbach-cli)
[INFO] [stderr] warning: unused dependency `rand`
[INFO] [stderr]   --> cbach-language/Cargo.toml:11:1
[INFO] [stderr]    |
[INFO] [stderr] 11 | rand = "0.9.0"
[INFO] [stderr]    | ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `rand`
[INFO] [stderr] warning: `cbach-language` (manifest) generated 1 warning
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 36.57s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nix v0.29.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "6f7960eacba05e4cb2f915f828f5ebcb2cfa5ac0457d5b74aa802bae31664386", 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" "6f7960eacba05e4cb2f915f828f5ebcb2cfa5ac0457d5b74aa802bae31664386" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling cbach-rs-macros v26.8.0 (/opt/rustwide/workdir/cbach-rs-macros)
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling unarray v0.1.4
[INFO] [stderr]    Compiling cbach-engine v26.8.0 (/opt/rustwide/workdir/cbach-engine)
[INFO] [stderr]    Compiling cbach-service v26.8.0 (/opt/rustwide/workdir/cbach-service)
[INFO] [stderr]    Compiling cbach-language v26.8.0 (/opt/rustwide/workdir/cbach-language)
[INFO] [stderr]    Compiling cbach-rs v26.8.0 (/opt/rustwide/workdir/cbach-rs)
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling proptest v1.11.0
[INFO] [stderr]    Compiling cbach-client-kit v26.8.0 (/opt/rustwide/workdir/cbach-client-kit)
[INFO] [stderr]    Compiling cbach-bridge v26.8.0 (/opt/rustwide/workdir/cbach-bridge)
[INFO] [stderr]    Compiling cbach-aggregator v26.8.0 (/opt/rustwide/workdir/cbach-aggregator)
[INFO] [stderr]    Compiling cbach-cli v26.8.0 (/opt/rustwide/workdir/cbach-cli)
[INFO] [stderr]    Compiling cbach-core v26.8.0 (/opt/rustwide/workdir/cbach-core)
[INFO] [stderr] warning: unused dependency `rand`
[INFO] [stderr]   --> cbach-language/Cargo.toml:11:1
[INFO] [stderr]    |
[INFO] [stderr] 11 | rand = "0.9.0"
[INFO] [stderr]    | ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `rand`
[INFO] [stderr] warning: `cbach-language` (manifest) generated 1 warning
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 35.71s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nix v0.29.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "6f7960eacba05e4cb2f915f828f5ebcb2cfa5ac0457d5b74aa802bae31664386", 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" "6f7960eacba05e4cb2f915f828f5ebcb2cfa5ac0457d5b74aa802bae31664386" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: unused dependency `rand`
[INFO] [stderr]   --> cbach-language/Cargo.toml:11:1
[INFO] [stderr]    |
[INFO] [stderr] 11 | rand = "0.9.0"
[INFO] [stderr]    | ^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `rand`
[INFO] [stderr] warning: `cbach-language` (manifest) generated 1 warning
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 3.34s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: nix v0.29.0
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/cbach-aggregator/9d0a49a0b4b5877a/out/cbach_aggregator-9d0a49a0b4b5877a)
[INFO] [stdout] 
[INFO] [stdout] running 95 tests
[INFO] [stdout] test accumulator::tests::accumulator_should_count_every_value_including_a_non_numeric_one ... ok
[INFO] [stdout] test accumulator::tests::accumulator_should_average_the_accepted_values ... ok
[INFO] [stdout] test accumulator::tests::accumulator_should_keep_the_last_value_verbatim ... ok
[INFO] [stdout] test accumulator::tests::accumulator_should_keep_the_smallest_and_largest_numerically ... ok
[INFO] [stdout] test accumulator::tests::accumulator_should_not_accept_an_infinite_or_undefined_value ... ok
[INFO] [stdout] test accumulator::tests::accumulator_should_not_accept_a_non_numeric_value_for_a_numeric_operation ... ok
[INFO] [stdout] test accumulator::tests::accumulator_should_report_no_value_when_every_sample_was_unusable ... ok
[INFO] [stdout] test accumulator::tests::accumulator_should_round_a_mean_to_a_readable_value ... ok
[INFO] [stdout] test accumulator::tests::accumulator_should_report_no_value_for_an_empty_window ... ok
[INFO] [stdout] test accumulator::tests::accumulator_should_sum_the_accepted_values ... ok
[INFO] [stdout] test accumulator::tests::render_should_not_print_a_fraction_for_a_whole_number ... ok
[INFO] [stdout] test accumulator::tests::render_should_not_pad_a_short_fraction_with_zeros ... ok
[INFO] [stdout] test accumulator::tests::render_should_not_print_spurious_precision ... ok
[INFO] [stdout] test aggregator::tests::config_should_expose_what_the_aggregator_runs ... ok
[INFO] [stdout] test config::tests::from_env_should_read_the_process_environment ... ok
[INFO] [stdout] test aggregator::tests::drain_stale_should_stop_when_nothing_is_stale ... ok
[INFO] [stdout] test aggregator::tests::drain_stale_should_remove_every_stale_registration ... ok
[INFO] [stdout] test config::tests::parse_should_read_each_variable ... ok
[INFO] [stdout] test aggregator::tests::supervise_should_report_a_cancelled_task ... ok
[INFO] [stdout] test config::tests::parse_should_use_the_defaults_when_nothing_is_set ... ok
[INFO] [stdout] test config::tests::parse_should_reject_a_zero_capacity ... ok
[INFO] [stdout] test config::tests::parse_should_reject_a_non_integer_capacity ... ok
[INFO] [stdout] test control::tests::accept_once_should_abandon_a_directive_without_an_identifier ... ok
[INFO] [stdout] test config::tests::parse_should_reject_a_malformed_address ... ok
[INFO] [stdout] test control::tests::accept_once_should_abandon_a_semantic_link_failure ... ok
[INFO] [stdout] test job::tests::first_tick_should_be_one_whole_window_away ... ok
[INFO] [stdout] test aggregator::tests::supervise_should_return_ok_when_every_task_ends_cleanly ... ok
[INFO] [stdout] test accumulator::tests::accumulator_should_stay_constant_size_across_many_values ... ok
[INFO] [stdout] test control::tests::accept_once_should_park_a_get_on_the_directive_template ... ok
[INFO] [stdout] test config::tests::parse_should_accept_a_hostname ... ok
[INFO] [stdout] test control::tests::accept_once_should_register_and_acknowledge_a_valid_directive ... ok
[INFO] [stdout] test control::tests::accept_once_should_reject_a_malformed_directive_with_a_reason ... ok
[INFO] [stdout] test control::tests::accept_once_should_reject_a_directive_the_starter_refuses ... ok
[INFO] [stdout] test job::tests::sample_buffer_should_be_bounded ... ok
[INFO] [stdout] test model::directive::tests::expand_wildcards_should_leave_a_pattern_without_underscores_alone ... ok
[INFO] [stdout] test model::directive::tests::expand_wildcards_should_not_touch_an_underscore_inside_a_name ... ok
[INFO] [stdout] test model::directive::tests::expand_wildcards_should_number_each_wildcard_distinctly ... ok
[INFO] [stdout] test aggregator::tests::drain_stale_should_stop_at_its_limit ... ok
[INFO] [stdout] test control::tests::accept_once_should_not_acknowledge_a_rejected_directive ... ok
[INFO] [stdout] test model::directive::tests::from_bindings_should_reject_a_missing_field ... ok
[INFO] [stdout] test model::directive::tests::added_should_be_the_one_field_registration_term ... ok
[INFO] [stdout] test job::tests::run_should_release_the_registration_on_teardown ... ok
[INFO] [stdout] test model::directive::tests::from_bindings_should_allow_the_same_blackboard_under_another_signature ... ok
[INFO] [stdout] test control::tests::run_should_keep_accepting_after_a_rejection ... ok
[INFO] [stdout] test job::tests::run_should_park_a_get_on_the_origin_and_a_nask_on_the_registration ... ok
[INFO] [stdout] test model::directive::tests::from_bindings_should_build_a_directive ... ok
[INFO] [stdout] test job::tests::run_should_stop_when_the_cancellation_watch_fires ... ok
[INFO] [stdout] test model::directive::tests::from_bindings_should_reject_a_zero_window ... ok
[INFO] [stdout] test model::directive::tests::from_bindings_should_reject_a_pattern_written_with_spaces ... ok
[INFO] [stdout] test model::directive::tests::from_bindings_should_reject_a_repeated_aggregated_variable ... ok
[INFO] [stdout] test model::directive::tests::from_bindings_should_reject_an_aggregated_variable_absent_from_the_origin ... ok
[INFO] [stdout] test model::directive::tests::from_bindings_should_reject_an_unparsable_origin_pattern ... ok
[INFO] [stdout] test model::directive::tests::from_bindings_should_reject_a_target_variable_the_origin_cannot_bind ... ok
[INFO] [stdout] test model::directive::tests::from_bindings_should_reject_a_target_that_would_feed_its_own_origin ... ok
[INFO] [stdout] test model::directive::tests::from_bindings_should_not_treat_two_underscores_as_the_same_variable ... ok
[INFO] [stdout] test model::directive::tests::from_bindings_should_reject_an_unknown_operation ... ok
[INFO] [stdout] test model::directive::tests::from_bindings_should_reject_a_non_integer_window ... ok
[INFO] [stdout] test model::directive::tests::from_bindings_should_rewrite_a_bare_underscore_into_a_variable ... ok
[INFO] [stdout] test model::directive::tests::from_bindings_should_reject_an_unparsable_target_pattern ... ok
[INFO] [stdout] test model::directive::tests::group_vars_should_exclude_the_aggregated_variable ... ok
[INFO] [stdout] test model::directive::tests::rejected_should_carry_the_reason_as_an_atom ... ok
[INFO] [stdout] test model::directive::tests::rejected_should_strip_a_quote_from_the_reason ... ok
[INFO] [stdout] test model::directive::tests::template_should_be_the_eight_variable_new_term ... ok
[INFO] [stdout] test model::error::tests::display_should_render_each_variant ... ok
[INFO] [stdout] test model::operation::tests::is_numeric_should_exclude_count_and_last ... ok
[INFO] [stdout] test model::operation::tests::keyword_should_round_trip_through_parse ... ok
[INFO] [stdout] test model::operation::tests::parse_should_accept_every_supported_operation ... ok
[INFO] [stdout] test model::directive::tests::group_vars_should_preserve_the_pattern_order ... ok
[INFO] [stdout] test registry::tests::claim_should_refuse_beyond_the_capacity ... ok
[INFO] [stdout] test registry::tests::release_should_free_the_identifier ... ok
[INFO] [stdout] test model::operation::tests::parse_should_reject_an_unknown_operation ... ok
[INFO] [stdout] test registry::tests::claim_should_refuse_a_duplicate_identifier ... ok
[INFO] [stdout] test registry::tests::capacity_should_report_the_bound ... ok
[INFO] [stdout] test registry::tests::release_should_ignore_an_unknown_identifier ... ok
[INFO] [stdout] test registry::tests::claim_should_admit_a_fresh_identifier ... ok
[INFO] [stdout] test window::tests::accept_should_not_accept_a_sample_missing_a_grouping_variable ... ok
[INFO] [stdout] test window::tests::accept_should_not_accept_a_sample_missing_the_aggregated_variable ... ok
[INFO] [stdout] test window::tests::accept_should_open_one_accumulator_per_group_key ... ok
[INFO] [stdout] test window::tests::flush_should_emit_nothing_for_an_empty_window ... ok
[INFO] [stdout] test window::tests::flush_should_apply_the_target_pattern ... ok
[INFO] [stdout] test window::tests::flush_should_emit_nothing_when_every_sample_was_unusable ... ok
[INFO] [stdout] test window::tests::accept_should_count_a_sample_whose_value_is_unusable ... ok
[INFO] [stdout] test window::tests::accept_should_reuse_the_accumulator_of_a_known_group ... ok
[INFO] [stdout] test window::tests::flush_should_clear_the_dropped_tally ... ok
[INFO] [stdout] test window::tests::flush_should_emit_one_term_per_group ... ok
[INFO] [stdout] test window::tests::flush_should_emit_only_closed_terms ... ok
[INFO] [stdout] test window::tests::flush_should_reset_the_groups ... ok
[INFO] [stdout] test window::tests::flush_should_not_grow_the_group_map_across_windows ... ok
[INFO] [stdout] test window::tests::window_should_group_by_every_non_aggregated_variable ... ok
[INFO] [stdout] test job::tests::run_should_not_emit_before_the_first_window_elapses ... ok
[INFO] [stdout] test job::tests::run_should_emit_the_usable_samples_of_a_window_that_had_bad_ones ... ok
[INFO] [stdout] test job::tests::run_should_emit_one_term_per_group_key_at_each_tick ... ok
[INFO] [stdout] test job::tests::run_should_not_emit_for_a_window_without_samples ... ok
[INFO] [stdout] test job::tests::run_should_stop_when_the_origin_consumer_gives_up ... ok
[INFO] [stdout] test job::tests::run_should_reset_the_accumulator_between_windows ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 95 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.41s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/build/cbach-aggregator/edf11f431bbd27f9/out/cbach_aggregator-edf11f431bbd27f9)
[INFO] [stdout] 
[INFO] [stderr]      Running tests/one_service.rs (/opt/rustwide/target/debug/build/cbach-aggregator/4d7e8b75682d8d0c/out/one_service-4d7e8b75682d8d0c)
[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.43s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stdout] test aggregator_should_reject_a_directive_beyond_its_capacity ... ok
[INFO] [stdout] test aggregator_should_confirm_a_directive_with_added ... ok
[INFO] [stdout] test aggregator_should_reject_a_duplicate_identifier ... ok
[INFO] [stdout] test aggregator_should_reject_a_malformed_directive_with_a_reason ... ok
[INFO] [stdout] test a_cancelled_job_should_consume_at_most_one_further_sample ... ok
[INFO] [stdout] test aggregator_should_emit_the_mean_of_a_window_per_group_key ... ok
[INFO] [stdout] test aggregator_should_consume_the_samples_it_aggregated ... ok
[INFO] [stdout] test aggregator_should_run_two_jobs_independently ... ok
[INFO] [stdout] test aggregator_should_not_acknowledge_a_rejected_directive ... ok
[INFO] [stdout] test aggregator_should_emit_nothing_for_a_silent_window ... ok
[INFO] [stdout] test aggregator_should_stop_once_its_registration_is_taken ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.09s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/summarise_and_flush.rs (/opt/rustwide/target/debug/build/cbach-aggregator/c54cd759ffe14f81/out/summarise_and_flush-c54cd759ffe14f81)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test a_flushed_gateway_should_retain_neither_raw_samples_nor_summaries ... ok
[INFO] [stdout] test a_summarised_link_should_deliver_means_upward_without_the_raw_stream ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.82s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/cbach-bridge/4224fc45dd082269/out/cbach_bridge-4224fc45dd082269)
[INFO] [stdout] 
[INFO] [stdout] running 45 tests
[INFO] [stdout] test config::tests::from_env_should_read_the_process_environment ... ok
[INFO] [stdout] test config::tests::parse_should_reject_a_missing_forward_list ... ok
[INFO] [stdout] test config::tests::parse_should_reject_a_malformed_address ... ok
[INFO] [stdout] test config::tests::parse_should_reject_a_configuration_with_no_required_variable ... ok
[INFO] [stdout] test config::tests::parse_should_reject_a_missing_parent ... ok
[INFO] [stdout] test config::tests::parse_should_reject_an_empty_forward_list ... ok
[INFO] [stdout] test config::tests::parse_should_reject_a_malformed_lifetime ... ok
[INFO] [stdout] test config::tests::parse_should_reject_a_malformed_signature ... ok
[INFO] [stdout] test bridge::tests::config_should_expose_what_the_bridge_runs ... ok
[INFO] [stdout] test config::tests::parse_should_accept_a_hostname ... ok
[INFO] [stdout] test config::tests::parse_should_accept_several_signatures ... ok
[INFO] [stdout] test config::tests::parse_should_read_the_optional_variables ... ok
[INFO] [stdout] test config::tests::parse_should_default_both_blackboards_to_none ... ok
[INFO] [stdout] test config::tests::parse_should_accept_the_minimal_configuration ... ok
[INFO] [stdout] test config::tests::parse_should_default_the_local_address ... ok
[INFO] [stdout] test forwarder::tests::forward_once_should_attach_the_configured_lifetime_to_the_push ... ok
[INFO] [stdout] test bridge::tests::supervise_should_report_a_cancelled_forwarder ... ok
[INFO] [stdout] test bridge::tests::supervise_should_return_ok_when_every_task_ends_cleanly ... ok
[INFO] [stdout] test forwarder::tests::forward_once_should_abandon_when_the_outbox_read_fails_semantically ... ok
[INFO] [stdout] test forwarder::tests::forward_once_should_carry_a_term_to_the_parent ... ok
[INFO] [stdout] test forwarder::tests::forward_once_should_abandon_when_a_field_is_left_unbound ... ok
[INFO] [stdout] test forwarder::tests::forward_once_should_not_retry_a_coordination_failure_from_the_parent ... ok
[INFO] [stdout] test forwarder::tests::forward_once_should_push_before_consuming ... ok
[INFO] [stdout] test forwarder::tests::forwarded_should_report_whether_a_term_completed ... ok
[INFO] [stdout] test forwarder::tests::forward_once_should_use_the_default_blackboards_when_unconfigured ... ok
[INFO] [stdout] test forwarder::tests::forward_once_should_report_a_duplicate_risk_when_the_local_consume_fails ... ok
[INFO] [stdout] test model::error::tests::display_should_render_each_variant ... ok
[INFO] [stdout] test model::signature::tests::display_should_render_the_configuration_form ... ok
[INFO] [stdout] test model::signature::tests::from_str_should_reject_an_empty_functor ... ok
[INFO] [stdout] test forwarder::tests::signature_should_report_what_the_forwarder_carries ... ok
[INFO] [stdout] test model::signature::tests::from_str_should_parse_the_functor_and_arity ... ok
[INFO] [stdout] test model::signature::tests::from_str_should_trim_surrounding_whitespace ... ok
[INFO] [stdout] test model::signature::tests::ground_should_rebuild_the_matched_term ... ok
[INFO] [stdout] test model::signature::tests::new_should_expose_the_functor_and_arity ... ok
[INFO] [stdout] test model::signature::tests::from_str_should_reject_an_invalid_arity ... ok
[INFO] [stdout] test model::signature::tests::ground_should_not_build_a_term_from_incomplete_bindings ... ok
[INFO] [stdout] test model::signature::tests::template_should_be_a_bare_atom_at_arity_zero ... ok
[INFO] [stdout] test model::signature::tests::ground_should_return_the_atom_at_arity_zero ... ok
[INFO] [stdout] test model::signature::tests::from_str_should_reject_a_missing_separator ... ok
[INFO] [stdout] test model::signature::tests::template_should_build_one_variable_per_field ... ok
[INFO] [stdout] test forwarder::tests::run_should_keep_forwarding_until_dropped ... ok
[INFO] [stdout] test forwarder::tests::forward_once_should_retry_a_transient_failure_on_the_local_link ... ok
[INFO] [stdout] test forwarder::tests::forward_once_should_retry_until_the_parent_comes_back ... ok
[INFO] [stdout] test forwarder::tests::run_should_pause_and_continue_after_an_abandoned_iteration ... ok
[INFO] [stdout] test bridge::tests::run_should_start_one_forwarder_per_signature ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 45 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.22s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/build/cbach-bridge/58e0d4d4ef4cb58c/out/cbach_bridge-58e0d4d4ef4cb58c)
[INFO] [stderr]      Running tests/two_services.rs (/opt/rustwide/target/debug/build/cbach-bridge/2a7942a4f766397e/out/two_services-2a7942a4f766397e)
[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.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test bridge_should_carry_a_term_from_the_outbox_to_the_parent ... ok
[INFO] [stdout] test bridge_should_flush_the_outbox_after_forwarding ... ok
[INFO] [stdout] test bridge_should_keep_running_when_a_term_is_forwarded_twice ... ok
[INFO] [stdout] test bridge_should_forward_several_signatures_independently ... ok
[INFO] [stdout] test bridge_should_deliver_once_an_unreachable_parent_comes_back ... ok
[INFO] [stdout] test bridge_should_not_forward_an_unlisted_signature ... ok
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/build/cbach-cli/53866f262133cff7/out/cbach_cli-53866f262133cff7)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.44s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 30 tests
[INFO] [stdout] test address::tests::prompt_addr_should_return_none_on_end_of_input ... ok
[INFO] [stdout] test address::tests::prompt_addr_should_reprompt_on_invalid_input ... ok
[INFO] [stdout] test address::tests::parse_addr_should_reject_an_empty_host ... ok
[INFO] [stdout] test command::tests::classify_should_parse_connect_with_two_arguments ... ok
[INFO] [stdout] test command::tests::classify_should_recognise_quit_aliases ... ok
[INFO] [stdout] test address::tests::parse_addr_should_accept_a_valid_ip_and_port ... ok
[INFO] [stdout] test command::tests::classify_should_treat_a_blank_line_as_empty ... ok
[INFO] [stdout] test command::tests::classify_should_treat_cbach_source_as_an_agent ... ok
[INFO] [stdout] test command::tests::classify_should_reject_connect_without_two_arguments ... ok
[INFO] [stdout] test repl::tests::looks_like_var_splice_should_detect_only_the_splice_form ... ok
[INFO] [stdout] test output::tests::format_should_render_an_empty_resolving ... ok
[INFO] [stdout] test address::tests::prompt_addr_should_return_the_parsed_address ... ok
[INFO] [stdout] test command::tests::classify_should_recognise_help_and_addr ... ok
[INFO] [stdout] test output::tests::format_should_render_sorted_bindings ... ok
[INFO] [stdout] test address::tests::parse_addr_should_reject_a_bad_port ... ok
[INFO] [stdout] test repl::tests::run_should_report_a_failed_reconnect ... ok
[INFO] [stdout] test repl::tests::run_should_retarget_on_connect ... ok
[INFO] [stdout] test repl::tests::run_should_print_the_resolving_of_an_agent ... ok
[INFO] [stdout] test repl::tests::run_should_show_help_and_address ... ok
[INFO] [stdout] test repl::tests::run_should_continue_after_an_interrupt ... ok
[INFO] [stdout] test address::tests::parse_addr_should_resolve_a_hostname ... ok
[INFO] [stdout] test repl::tests::run_should_report_a_run_error_and_continue ... ok
[INFO] [stdout] test repl::tests::run_should_stop_on_end_of_input ... ok
[INFO] [stdout] test repl::tests::run_should_accept_agents_with_whitespace ... ok
[INFO] [stdout] test command::tests::classify_should_treat_an_unknown_meta_command_as_unknown ... ok
[INFO] [stdout] test repl::tests::run_should_flag_an_unknown_command ... ok
[INFO] [stdout] test repl::tests::run_should_report_a_parse_error_and_continue ... ok
[INFO] [stdout] test repl::tests::run_should_reject_a_bad_connect_address ... ok
[INFO] [stdout] test repl::tests::run_should_reject_a_var_splice_with_a_hint ... ok
[INFO] [stdout] test runner::tests::blocking_runner_should_build_without_a_service ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 30 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cli.rs (/opt/rustwide/target/debug/build/cbach-cli/308a98d18e969518/out/cli-308a98d18e969518)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test cli_should_drive_the_service ... ignored, needs the cbach-service and cbach-cli binaries built
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/cbach-client-kit/896ead8d01b71b57/out/cbach_client_kit-896ead8d01b71b57)
[INFO] [stdout] 
[INFO] [stdout] running 32 tests
[INFO] [stdout] test backoff::tests::next_delay_should_be_zero_for_a_zero_schedule ... ok
[INFO] [stdout] test backoff::tests::next_delay_should_double_the_ceiling_on_each_failure ... ok
[INFO] [stdout] test backoff::tests::default_should_use_the_documented_schedule ... ok
[INFO] [stdout] test address::tests::resolve_should_accept_a_numeric_address ... ok
[INFO] [stdout] test backoff::tests::jitter_should_stay_within_the_spread ... ok
[INFO] [stdout] test backoff::tests::reset_should_return_the_schedule_to_the_base ... ok
[INFO] [stdout] test address::tests::resolve_should_reject_a_value_without_a_port ... ok
[INFO] [stdout] test backoff::tests::next_delay_should_not_overflow_after_many_failures ... ok
[INFO] [stdout] test backoff::tests::next_delay_should_saturate_at_the_maximum ... ok
[INFO] [stdout] test backoff::tests::next_delay_should_stay_within_the_first_ceiling ... ok
[INFO] [stdout] test address::tests::resolve_should_accept_an_ipv6_address ... ok
[INFO] [stdout] test link::tests::is_transient_should_select_only_link_failures ... ok
[INFO] [stdout] test address::tests::resolve_should_reject_an_unknown_host ... ok
[INFO] [stdout] test address::tests::resolve_should_accept_a_hostname ... ok
[INFO] [stdout] test link::tests::addr_should_report_the_configured_address ... ok
[INFO] [stdout] test link::tests::run_should_error_when_the_service_is_absent ... ok
[INFO] [stdout] test retry::tests::attempt_should_not_retry_a_protocol_failure ... ok
[INFO] [stdout] test retry::tests::attempt_until_should_not_retry_a_coordination_failure ... ok
[INFO] [stdout] test retry::tests::attempt_should_return_the_first_success ... ok
[INFO] [stdout] test retry::tests::attempt_should_not_retry_a_coordination_failure ... ok
[INFO] [stdout] test retry::tests::attempt_until_should_succeed_before_the_deadline ... ok
[INFO] [stdout] test retry::tests::attempt_should_retry_a_transient_failure ... ok
[INFO] [stdout] test testing::tests::reserve_port_should_return_an_address_nothing_is_serving ... ok
[INFO] [stdout] test link::tests::run_should_reach_a_live_service ... ok
[INFO] [stdout] test link::tests::run_should_reuse_one_connection_across_calls ... ok
[INFO] [stdout] test testing::tests::start_service_on_should_serve_a_previously_reserved_port ... ok
[INFO] [stdout] test link::tests::run_should_reconnect_after_a_dropped_connection ... ok
[INFO] [stdout] test retry::tests::attempt_should_reset_the_backoff_after_a_success ... ok
[INFO] [stdout] test testing::tests::start_service_should_return_a_reachable_address ... ok
[INFO] [stdout] test retry::tests::attempt_until_should_give_up_at_the_deadline ... ok
[INFO] [stdout] test link::tests::run_should_drop_the_connection_after_a_transport_failure ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/cbach-core/a074d86c5cd21100/out/cbach_core-a074d86c5cd21100)
[INFO] [stdout] test link::tests::run_should_keep_the_connection_after_a_coordination_failure ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 32 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.82s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 103 tests
[INFO] [stdout] test model::action::tests::action_should_not_be_equal_across_locations ... ok
[INFO] [stdout] test model::action::tests::action_should_default_to_no_location ... ok
[INFO] [stdout] test model::action::tests::action_should_carry_the_location_it_was_built_with ... ok
[INFO] [stdout] test model::action::tests::action_should_render_each_primitive_as_string ... ok
[INFO] [stdout] test model::action::tests::action_should_not_be_equal_across_timings ... ok
[INFO] [stdout] test model::action::tests::action_should_default_to_no_timing ... ok
[INFO] [stdout] test model::action::tests::action_should_render_timing_before_the_term_and_location_after ... ok
[INFO] [stdout] test model::action::tests::primitive_should_bind_only_for_ask_and_get ... ok
[INFO] [stdout] test model::action::tests::action_should_render_timing_multiplicity_and_location_together ... ok
[INFO] [stdout] test model::action::tests::action_should_not_be_equal_across_primitives ... ok
[INFO] [stdout] test model::action::tests::dense_should_attach_a_multiplicity ... ok
[INFO] [stdout] test model::action::tests::action_should_render_a_multiplicity_after_the_term ... ok
[INFO] [stdout] test model::action::tests::action_should_default_to_multiplicity_one ... ok
[INFO] [stdout] test model::coordination_error::tests::display_should_render_each_variant_with_its_message ... ok
[INFO] [stdout] test model::agent::tests::display_should_not_parenthesise_a_leaf_operand ... ok
[INFO] [stdout] test model::action::tests::timed_should_attach_a_time_budget ... ok
[INFO] [stdout] test model::agent::tests::display_should_parenthesise_a_composed_operand ... ok
[INFO] [stdout] test model::action::tests::primitive_should_render_its_keyword ... ok
[INFO] [stdout] test model::agent::tests::display_should_render_a_primitive_as_its_action ... ok
[INFO] [stdout] test model::agent_resolving::tests::display_should_render_sorted_bindings ... ok
[INFO] [stdout] test model::matching::tests::matches_should_bind_a_variable ... ok
[INFO] [stdout] test model::matching::tests::matches_should_fail_on_different_atoms ... ok
[INFO] [stdout] test model::matching::tests::matches_should_enforce_repeated_variable_consistency ... ok
[INFO] [stdout] test model::matching::tests::matches_should_succeed_on_equal_atoms ... ok
[INFO] [stdout] test model::matching::tests::matches_should_fail_on_different_arities ... ok
[INFO] [stdout] test model::matching::tests::matches_should_fail_on_different_functors ... ok
[INFO] [stdout] test model::action::tests::action_should_not_be_equal_across_multiplicities ... ok
[INFO] [stdout] test model::agent::tests::display_should_render_a_wait_agent ... ok
[INFO] [stdout] test model::matching::tests::apply_should_substitute_bound_variables ... ok
[INFO] [stdout] test model::term::tests::is_closed_should_detect_a_variable_field ... ok
[INFO] [stdout] test model::term::tests::from_conversions_should_build_arity_zero_atoms ... ok
[INFO] [stdout] test model::term::tests::leaf_should_report_closedness ... ok
[INFO] [stdout] test model::term::tests::new_should_expose_functor_and_arity ... ok
[INFO] [stdout] test model::time::tests::var_should_render_with_a_question_mark ... ok
[INFO] [stdout] test model::agent::tests::display_should_render_each_operator ... ok
[INFO] [stdout] test model::reply::tests::is_resolved_should_hold_only_for_a_resolving ... ok
[INFO] [stdout] test model::action::tests::action_should_render_its_location_when_set ... ok
[INFO] [stdout] test protocol::frame::tests::take_frame_should_leave_the_next_frame_in_the_buffer ... ok
[INFO] [stdout] test model::matching::tests::matches_should_bind_several_variables ... ok
[INFO] [stdout] test protocol::frame::tests::take_frame_should_not_reject_a_length_at_the_maximum ... ok
[INFO] [stdout] test model::time::tests::time_specs_should_compare_by_value ... ok
[INFO] [stdout] test protocol::frame::tests::take_frame_should_return_none_when_the_payload_is_incomplete ... ok
[INFO] [stdout] test protocol::from_bytes::tests::action_decode_should_reject_a_missing_location_byte ... ok
[INFO] [stdout] test protocol::from_bytes::tests::action_decode_should_reject_a_truncated_multiplicity ... ok
[INFO] [stdout] test protocol::from_bytes::tests::action_decode_should_reject_a_truncated_duration ... ok
[INFO] [stdout] test model::reply::tests::display_should_render_each_variant ... ok
[INFO] [stdout] test model::agent_resolving::tests::get_should_return_a_bound_value ... ok
[INFO] [stdout] test protocol::frame::tests::take_frame_should_take_an_empty_payload ... ok
[INFO] [stdout] test protocol::from_bytes::tests::action_decode_should_reject_a_missing_timing_byte ... ok
[INFO] [stdout] test protocol::frame::tests::frame_should_prefix_the_payload_with_its_length ... ok
[INFO] [stdout] test model::agent_resolving::tests::display_should_render_an_empty_resolving ... ok
[INFO] [stdout] test model::term::tests::atom_should_be_a_closed_arity_zero_term ... ok
[INFO] [stdout] test protocol::from_bytes::tests::action_should_round_trip_a_duration_timing ... ok
[INFO] [stdout] test protocol::from_bytes::tests::action_decode_should_reject_an_invalid_timing_presence_byte ... ok
[INFO] [stdout] test protocol::from_bytes::tests::action_decode_should_reject_an_invalid_time_tag ... ok
[INFO] [stdout] test model::time::tests::duration_should_render_in_milliseconds ... ok
[INFO] [stdout] test protocol::from_bytes::tests::action_decode_should_reject_an_unknown_tag ... ok
[INFO] [stdout] test model::term::tests::display_should_render_each_kind ... ok
[INFO] [stdout] test protocol::from_bytes::tests::action_should_round_trip_a_multiplicity ... ok
[INFO] [stdout] test protocol::from_bytes::tests::action_decode_should_reject_an_invalid_location_presence_byte ... ok
[INFO] [stdout] test protocol::frame::tests::take_frame_should_reassemble_a_frame_split_across_reads ... ok
[INFO] [stdout] test protocol::frame::tests::take_frame_should_reject_a_length_over_the_maximum ... ok
[INFO] [stdout] test protocol::from_bytes::tests::action_should_round_trip_a_variable_timing ... ok
[INFO] [stdout] test protocol::frame::tests::take_frame_should_return_none_when_the_header_is_incomplete ... ok
[INFO] [stdout] test protocol::from_bytes::tests::action_decode_should_reject_malformed_buffers ... ok
[INFO] [stdout] test protocol::frame::tests::take_frame_should_return_the_payload_of_a_complete_frame ... ok
[INFO] [stdout] test protocol::from_bytes::tests::action_should_round_trip_a_structured_term ... ok
[INFO] [stdout] test protocol::from_bytes::tests::action_should_round_trip_a_variable_location ... ok
[INFO] [stdout] test protocol::from_bytes::tests::action_should_round_trip_multiplicity_timing_and_location_together ... ok
[INFO] [stdout] test protocol::from_bytes::tests::agent_resolving_should_reject_a_truncated_pair ... ok
[INFO] [stdout] test protocol::from_bytes::tests::agent_resolving_should_reject_a_truncated_count ... ok
[INFO] [stdout] test protocol::from_bytes::tests::agent_should_reject_a_truncated_subtree_length ... ok
[INFO] [stdout] test protocol::from_bytes::tests::agent_should_round_trip_a_primitive ... ok
[INFO] [stdout] test protocol::from_bytes::tests::agent_should_round_trip_a_timed_primitive_in_a_tree ... ok
[INFO] [stdout] test protocol::from_bytes::tests::agent_should_round_trip_each_operator ... ok
[INFO] [stdout] test protocol::from_bytes::tests::action_should_round_trip_an_atom_location ... ok
[INFO] [stdout] test protocol::from_bytes::tests::reply_should_reject_an_empty_buffer ... ok
[INFO] [stdout] test protocol::from_bytes::tests::agent_resolving_should_round_trip_an_empty_resolving ... ok
[INFO] [stdout] test protocol::from_bytes::tests::agent_should_reject_an_unknown_node_tag ... ok
[INFO] [stdout] test protocol::frame::tests::frame_should_encode_an_empty_payload ... ok
[INFO] [stdout] test protocol::from_bytes::tests::coordination_error_should_reject_an_unknown_tag ... ok
[INFO] [stdout] test protocol::from_bytes::tests::agent_resolving_should_round_trip_bindings ... ok
[INFO] [stdout] test protocol::from_bytes::tests::agent_should_round_trip_a_wait ... ok
[INFO] [stdout] test protocol::from_bytes::tests::agent_should_reject_a_subtree_length_past_the_buffer ... ok
[INFO] [stdout] test protocol::from_bytes::tests::agent_should_round_trip_a_structured_tree ... ok
[INFO] [stdout] test protocol::from_bytes::tests::coordination_error_should_round_trip_every_variant ... ok
[INFO] [stdout] test protocol::from_bytes::tests::agent_should_round_trip_every_primitive_variant ... ok
[INFO] [stdout] test protocol::from_bytes::tests::term_should_reject_an_empty_buffer ... ok
[INFO] [stdout] test protocol::from_bytes::tests::term_should_reject_an_unknown_leaf_tag ... ok
[INFO] [stdout] test protocol::from_bytes::tests::coordination_error_should_round_trip_an_empty_message ... ok
[INFO] [stdout] test protocol::from_bytes::tests::reply_should_reject_an_unknown_tag ... ok
[INFO] [stdout] test protocol::from_bytes::tests::reply_should_round_trip_a_failure ... ok
[INFO] [stdout] test protocol::from_bytes::tests::term_should_round_trip_a_structured_term ... ok
[INFO] [stdout] test protocol::from_bytes::tests::term_should_reject_a_truncated_arity ... ok
[INFO] [stdout] test protocol::from_bytes::tests::agent_should_reject_an_empty_buffer ... ok
[INFO] [stdout] test protocol::from_bytes::tests::reply_should_round_trip_a_resolving ... ok
[INFO] [stdout] test protocol::from_bytes::tests::coordination_error_should_reject_an_empty_buffer ... ok
[INFO] [stdout] test protocol::from_bytes::tests::action_should_round_trip_without_a_location ... ok
[INFO] [stdout] test protocol::from_bytes::tests::reply_should_round_trip_a_malformed_request ... ok
[INFO] [stdout] test protocol::from_bytes::tests::action_should_round_trip_a_location_and_a_timing_together ... ok
[INFO] [stdout] test protocol::from_bytes::tests::reply_should_round_trip_an_empty_resolving ... ok
[INFO] [stdout] test protocol::from_bytes::tests::term_should_reject_invalid_utf8 ... ok
[INFO] [stdout] test protocol::from_bytes::tests::term_should_round_trip_an_atom ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 103 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/protocol.rs (/opt/rustwide/target/debug/build/cbach-core/937c2e90c5896d3d/out/protocol-937c2e90c5896d3d)
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test reply_should_round_trip_through_the_protocol ... ok
[INFO] [stdout] test agent_resolving_decode_should_never_panic_on_arbitrary_bytes ... ok
[INFO] [stdout] test reply_decode_should_never_panic_on_arbitrary_bytes ... ok
[INFO] [stdout] test a_framed_payload_should_survive_the_round_trip ... ok
[INFO] [stdout] test coordination_error_should_round_trip_through_the_protocol ... ok
[INFO] [stdout] test take_frame_should_never_panic_on_arbitrary_bytes ... ok
[INFO] [stdout] test agent_decode_should_never_panic_on_arbitrary_bytes ... ok
[INFO] [stdout] test term_should_round_trip_through_the_protocol ... ok
[INFO] [stdout] test agent_resolving_should_round_trip_through_the_protocol ... ok
[INFO] [stdout] test agent_should_round_trip_through_the_protocol ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.36s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/cbach-engine/ad73f8c0e607bc1c/out/cbach_engine-ad73f8c0e607bc1c)
[INFO] [stdout] 
[INFO] [stdout] running 144 tests
[INFO] [stdout] test blackboard::bucket::tests::deliver_ready_gets_should_skip_a_dead_receiver ... ok
[INFO] [stdout] test blackboard::bucket::tests::push_should_carry_the_multiplicity ... ok
[INFO] [stdout] test blackboard::bucket::tests::push_should_dispatch_each_suspendable_action ... ok
[INFO] [stdout] test blackboard::bucket::tests::remove_should_return_none_after_a_wake_took_the_entry ... ok
[INFO] [stdout] test blackboard::bucket::tests::remove_should_return_the_responder_of_a_parked_operation ... ok
[INFO] [stdout] test blackboard::bucket::tests::take_ready_get_should_hand_over_a_matching_get ... ok
[INFO] [stdout] test blackboard::bucket::tests::remove_should_target_only_its_own_id ... ok
[INFO] [stdout] test blackboard::bucket::tests::take_ready_get_should_not_hand_over_a_get_needing_more_than_available ... ok
[INFO] [stdout] test blackboard::bucket::tests::take_ready_get_should_return_none_when_none_match ... ok
[INFO] [stdout] test blackboard::bucket::tests::wake_asks_should_not_panic_when_empty ... ok
[INFO] [stdout] test blackboard::bucket::tests::wake_asks_should_not_wake_a_non_matching_template ... ok
[INFO] [stdout] test blackboard::bucket::tests::wake_asks_should_not_wake_below_the_multiplicity ... ok
[INFO] [stdout] test blackboard::bucket::tests::wake_asks_should_wake_a_matching_template ... ok
[INFO] [stdout] test blackboard::bucket::tests::wake_nasks_should_keep_those_still_matching ... ok
[INFO] [stdout] test blackboard::bucket::tests::wake_nasks_should_pass_the_multiplicity_to_the_predicate ... ok
[INFO] [stdout] test blackboard::bucket::tests::wake_nasks_should_wake_when_no_longer_matching ... ok
[INFO] [stdout] test blackboard::signature::tests::an_atom_routes_on_its_own_name_at_arity_zero ... ok
[INFO] [stdout] test blackboard::signature::tests::different_functors_yield_different_signatures ... ok
[INFO] [stdout] test blackboard::signature::tests::different_arities_yield_different_signatures ... ok
[INFO] [stdout] test blackboard::store::tests::an_atom_should_be_stored_and_matched ... ok
[INFO] [stdout] test blackboard::signature::tests::structured_terms_with_the_same_functor_and_arity_share_a_signature ... ok
[INFO] [stdout] test blackboard::store::tests::ask_should_be_non_destructive ... ok
[INFO] [stdout] test blackboard::store::tests::ask_should_match_a_multi_field_template ... ok
[INFO] [stdout] test blackboard::store::tests::ask_should_require_at_least_m ... ok
[INFO] [stdout] test blackboard::store::tests::ask_should_match_a_variable_template ... ok
[INFO] [stdout] test blackboard::store::tests::ask_should_find_a_stored_term_by_exact_match ... ok
[INFO] [stdout] test blackboard::store::tests::ask_should_return_none_when_no_term_matches ... ok
[INFO] [stdout] test blackboard::store::tests::clear_store_should_empty_it ... ok
[INFO] [stdout] test blackboard::store::tests::dense_ask_should_pick_a_key_with_enough_and_bind_it ... ok
[INFO] [stdout] test blackboard::store::tests::dense_get_should_pop_m_pending_expiries ... ok
[INFO] [stdout] test blackboard::store::tests::expire_due_should_keep_an_immortal_occurrence ... ok
[INFO] [stdout] test blackboard::store::tests::expire_due_should_remove_a_term_whose_deadline_has_passed ... ok
[INFO] [stdout] test blackboard::store::tests::expire_due_should_remove_all_occurrences_due_by_now ... ok
[INFO] [stdout] test blackboard::store::tests::expire_due_should_report_no_removal_when_nothing_is_due ... ok
[INFO] [stdout] test blackboard::store::tests::get_should_cancel_the_earliest_pending_expiry ... ok
[INFO] [stdout] test blackboard::store::tests::get_should_consume_m_atomically ... ok
[INFO] [stdout] test blackboard::store::tests::get_should_return_none_below_m_without_partial_consume ... ok
[INFO] [stdout] test blackboard::store::tests::has_match_should_be_false_below_m ... ok
[INFO] [stdout] test blackboard::store::tests::has_match_should_report_presence_and_absence ... ok
[INFO] [stdout] test blackboard::store::tests::get_should_return_none_when_no_term_matches ... ok
[INFO] [stdout] test blackboard::store::tests::print_store_should_not_panic ... ok
[INFO] [stdout] test blackboard::store::tests::tell_should_add_m_occurrences ... ok
[INFO] [stdout] test blackboard::store::tests::tell_should_count_occurrences ... ok
[INFO] [stdout] test blackboard::store::tests::tell_should_saturate_at_max_occurrences ... ok
[INFO] [stdout] test blackboard::store::tests::get_should_remove_one_matching_occurrence ... ok
[INFO] [stdout] test blackboard::store::tests::tell_timed_should_be_visible_before_expiry ... ok
[INFO] [stdout] test blackboard::tests::a_dense_ask_should_bind_its_template_from_the_matched_key ... ok
[INFO] [stdout] test blackboard::tests::ask_should_suspend_when_absent_then_be_woken_by_tell ... ok
[INFO] [stdout] test blackboard::tests::a_timed_dense_get_should_time_out_consuming_nothing ... ok
[INFO] [stdout] test blackboard::tests::a_get_should_cancel_expiry_so_an_immortal_survives ... ok
[INFO] [stdout] test blackboard::tests::a_tell_should_serve_several_dense_gets_as_the_count_is_drawn_down ... ok
[INFO] [stdout] test blackboard::tests::dense_ask_should_suspend_until_the_count_reaches_m ... ok
[INFO] [stdout] test blackboard::tests::default_should_build_an_empty_blackboard ... ok
[INFO] [stdout] test blackboard::tests::ask_with_a_template_should_be_woken_by_a_matching_tell ... ok
[INFO] [stdout] test blackboard::tests::dense_nask_should_hold_until_the_count_drops_below_m ... ok
[INFO] [stdout] test blackboard::tests::dense_nask_should_succeed_at_once_below_m ... ok
[INFO] [stdout] test blackboard::tests::a_timed_get_woken_before_its_timeout_should_not_lose_the_token ... ok
[INFO] [stdout] test blackboard::tests::dense_get_should_reject_when_fewer_than_m_present ... ok
[INFO] [stdout] test blackboard::tests::tell_should_reject_an_open_term ... ok
[INFO] [stdout] test blackboard::tests::nask_should_suspend_when_present_then_be_woken_by_get ... ok
[INFO] [stdout] test blackboard::tests::get_should_suspend_when_absent_then_be_woken_and_consume ... ok
[INFO] [stdout] test engine::tests::engine_should_allow_direct_get ... ok
[INFO] [stdout] test engine::tests::engine_should_answer_resolved_action ... ok
[INFO] [stdout] test engine::tests::engine_should_allow_direct_nask ... ok
[INFO] [stdout] test engine::tests::engine_should_propagate_blackboard_error ... ok
[INFO] [stdout] test engine::tests::engine_should_allow_direct_tell ... ok
[INFO] [stdout] test blackboard::tests::tell_should_not_lose_token_to_a_get_whose_receiver_was_dropped ... ok
[INFO] [stdout] test blackboard::tests::expiry_should_wake_a_suspended_nask ... ok
[INFO] [stdout] test engine::tests::engine_should_reject_an_unbound_time_variable ... ok
[INFO] [stdout] test blackboard::tests::distinct_functors_do_not_interfere ... ok
[INFO] [stdout] test engine::tests::engine_should_allow_direct_ask ... ok
[INFO] [stdout] test blackboard::tests::tell_should_respond_and_store ... ok
[INFO] [stdout] test engine::tests::engine_should_map_dropped_channel_to_action_failed ... ok
[INFO] [stdout] test blackboard::tests::dense_get_should_consume_m_atomically_when_woken ... ok
[INFO] [stdout] test blackboard::tests::tell_should_wake_exactly_one_suspended_get ... ok
[INFO] [stdout] test blackboard::tests::tell_timed_should_expire_after_its_lifetime ... ok
[INFO] [stdout] test blackboard::tests::timed_ask_should_time_out_when_unmatched ... ok
[INFO] [stdout] test blackboard::tests::nask_should_respond_when_absent ... ok
[INFO] [stdout] test engine::tests::engine_should_be_accessible_by_multiple_threads ... ok
[INFO] [stdout] test engine::tests::engine_should_resolve_a_duration_into_a_deadline ... ok
[INFO] [stdout] test evaluator::tests::check_ground_location_should_accept_a_ground_or_absent_location ... ok
[INFO] [stdout] test evaluator::tests::check_ground_time_should_reject_an_open_time ... ok
[INFO] [stdout] test evaluator::tests::check_ground_location_should_reject_an_open_location ... ok
[INFO] [stdout] test engine::tests::engine_wait_should_complete_when_the_clock_advances ... ok
[INFO] [stdout] test engine::tests::engine_should_share_state_with_his_clone ... ok
[INFO] [stdout] test evaluator::tests::evaluator_should_choose_the_surviving_branch_when_one_errors ... ok
[INFO] [stdout] test evaluator::tests::evaluator_should_apply_substitution_to_a_nask ... ok
[INFO] [stdout] test evaluator::tests::evaluator_should_commit_choice_to_a_succeeding_branch ... ok
[INFO] [stdout] test evaluator::tests::choice_should_commit_the_sibling_when_a_branch_times_out ... ok
[INFO] [stdout] test evaluator::tests::evaluator_should_bind_a_variable_across_a_sequence ... ok
[INFO] [stdout] test evaluator::tests::evaluator_should_commit_choice_when_the_losing_branch_suspends ... ok
[INFO] [stdout] test evaluator::tests::evaluator_should_fail_a_primitive_whose_location_is_unbound ... ok
[INFO] [stdout] test evaluator::tests::evaluator_should_commit_to_the_surviving_branch_when_the_right_errors ... ok
[INFO] [stdout] test evaluator::tests::evaluator_should_conflict_on_parallel_clashing_bindings ... ok
[INFO] [stdout] test evaluator::tests::evaluator_should_fail_on_an_unbound_primitive_time ... ok
[INFO] [stdout] test evaluator::tests::evaluator_should_fail_on_an_unbound_wait_time ... ok
[INFO] [stdout] test evaluator::tests::evaluator_should_fail_a_timed_out_primitive ... ok
[INFO] [stdout] test evaluator::tests::evaluator_should_resolve_a_location_variable_bound_by_an_earlier_primitive ... ok
[INFO] [stdout] test evaluator::tests::evaluator_should_resolve_a_parallel_to_empty_bindings ... ok
[INFO] [stdout] test evaluator::tests::evaluator_should_resolve_a_primitive_to_empty_bindings ... ok
[INFO] [stdout] test evaluator::tests::evaluator_should_resolve_a_real_sequence_to_empty_bindings ... ok
[INFO] [stdout] test evaluator::tests::evaluator_should_short_circuit_sequence_on_left_failure ... ok
[INFO] [stdout] test evaluator::tests::evaluator_should_resolve_a_time_variable_bound_by_an_earlier_primitive ... ok
[INFO] [stdout] test evaluator::tests::merge_distinct_should_reject_a_conflicting_binding ... ok
[INFO] [stdout] test evaluator::tests::evaluator_should_thread_bindings_into_a_join ... ok
[INFO] [stdout] test evaluator::tests::evaluator_should_tell_a_term_closed_by_substitution ... ok
[INFO] [stdout] test evaluator::tests::substitute_should_bind_a_location_variable_from_the_substitution ... ok
[INFO] [stdout] test evaluator::tests::merge_distinct_should_union_disjoint_bindings ... ok
[INFO] [stdout] test evaluator::tests::substitute_should_leave_an_absent_location_absent ... ok
[INFO] [stdout] test evaluator::tests::resolve_time_should_bind_a_time_variable_from_the_substitution ... ok
[INFO] [stdout] test evaluator::tests::substitute_should_leave_an_unbound_location_variable_open ... ok
[INFO] [stdout] test evaluator::tests::resolve_time_should_leave_an_unbound_time_variable_open ... ok
[INFO] [stdout] test evaluator::tests::par_should_run_the_sibling_to_completion_when_a_branch_times_out ... ok
[INFO] [stdout] test evaluator::tests::wait_should_compose_before_a_primitive ... ok
[INFO] [stdout] test space::tests::insert_if_absent_should_report_only_the_first_call_as_the_creator ... ok
[INFO] [stdout] test space::tests::registry_should_list_a_blackboard_after_its_creation ... ok
[INFO] [stdout] test evaluator::tests::substitute_should_preserve_the_multiplicity ... ok
[INFO] [stdout] test space::tests::registry_should_list_the_default_and_itself_at_startup ... ok
[INFO] [stdout] test space::tests::registry_should_not_list_a_blackboard_twice ... ok
[INFO] [stdout] test evaluator::tests::seq_should_abort_when_the_first_primitive_times_out ... ok
[INFO] [stdout] test space::tests::registry_should_be_discoverable_through_an_ordinary_primitive ... ok
[INFO] [stdout] test space::tests::space_should_create_a_blackboard_on_first_reference ... ok
[INFO] [stdout] test space::tests::space_should_create_a_blackboard_even_for_a_nask ... ok
[INFO] [stdout] test evaluator::tests::wait_should_succeed_binding_nothing ... ok
[INFO] [stdout] test space::tests::space_should_isolate_terms_between_blackboards ... ok
[INFO] [stdout] test space::tests::space_should_not_create_a_second_blackboard_for_a_known_id ... ok
[INFO] [stdout] test space::tests::space_should_reject_an_unbound_location ... ok
[INFO] [stdout] test space::tests::space_should_route_a_located_action_to_its_named_blackboard ... ok
[INFO] [stdout] test space::tests::space_should_route_an_unlocated_action_to_the_default_blackboard ... ok
[INFO] [stdout] test space::tests::space_should_start_with_only_the_default_and_the_registry ... ok
[INFO] [stdout] test space::tests::target_of_should_default_when_no_location_is_set ... ok
[INFO] [stdout] test space::tests::target_of_should_return_the_named_blackboard ... ok
[INFO] [stdout] test time::tests::default_sources_should_construct ... ok
[INFO] [stdout] test time::tests::instant_should_order_by_time ... ok
[INFO] [stdout] test time::tests::manual_clock_should_fire_a_task_when_its_deadline_passes ... ok
[INFO] [stdout] test space::tests::space_should_create_each_blackboard_once_under_concurrent_first_reference ... ok
[INFO] [stdout] test time::tests::manual_clock_should_fire_tasks_armed_by_a_fired_task ... ok
[INFO] [stdout] test time::tests::instant_should_add_a_duration ... ok
[INFO] [stdout] test time::tests::manual_clock_should_start_at_zero ... ok
[INFO] [stdout] test time::tests::sleep_until_should_complete_when_the_clock_reaches_the_deadline ... ok
[INFO] [stdout] test blackboard::bucket::tests::push_should_panic_on_a_tell - should panic ... ok
[INFO] [stdout] test time::tests::tokio_clock_now_should_advance_over_real_time ... ok
[INFO] [stdout] test time::tests::tokio_clock_sleep_until_should_complete ... ok
[INFO] [stdout] test time::tests::tokio_clock_arm_should_fire_its_task_after_the_delay ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 144 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.14s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/basic.rs (/opt/rustwide/target/debug/build/cbach-engine/69d2b9239fa95265/out/basic-69d2b9239fa95265)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stderr]      Running tests/complex.rs (/opt/rustwide/target/debug/build/cbach-engine/197309c3514d70e2/out/complex-197309c3514d70e2)
[INFO] [stdout] test nask_returns_true_when_media_is_absent ... ok
[INFO] [stdout] test ask_returns_true_when_media_is_present ... ok
[INFO] [stdout] test ask_is_non_destructive ... ok
[INFO] [stdout] test get_returns_true_and_consumes_one_occurrence ... ok
[INFO] [stdout] test tell_always_returns_true ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.66s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test tell_wakes_all_suspended_asks_for_same_media ... ok
[INFO] [stdout] test two_tells_wake_two_suspended_gets ... ok
[INFO] [stdout] test tell_wakes_suspended_ask_and_get_simultaneously ... ok
[INFO] [stdout] test tell_wakes_exactly_one_suspended_get_per_occurrence ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.99s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/suspension.rs (/opt/rustwide/target/debug/build/cbach-engine/3d5271db1281aa25/out/suspension-3d5271db1281aa25)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test get_wakes_suspended_nask_when_last_occurrence_is_consumed ... ok
[INFO] [stdout] test tell_wakes_suspended_ask ... ok
[INFO] [stdout] test get_suspends_when_media_is_absent ... ok
[INFO] [stdout] test ask_suspends_when_media_is_absent ... ok
[INFO] [stdout] test nask_suspends_when_media_is_present ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/cbach-language/e129688acb062b35/out/cbach_language-e129688acb062b35)
[INFO] [stdout] test tell_wakes_suspended_get_and_consumes_the_occurrence ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 66 tests
[INFO] [stdout] test parser::media::tests::the_parser_should_be_able_to_parse_a_token ... ok
[INFO] [stdout] test parser::media::tests::the_parser_should_refuse_token_with_first_character_as_number ... ok
[INFO] [stdout] test parser::primitive::tests::the_parser_should_be_able_to_parse_a_get_primitive ... ok
[INFO] [stdout] test parser::media::tests::the_parser_should_refuse_token_with_first_character_as_capitals ... ok
[INFO] [stdout] test parser::agent::tests::the_parser_should_be_able_to_parse_a_simple_agent_in_brackets ... ok
[INFO] [stdout] test parser::primitive::tests::the_parser_should_be_able_to_parse_a_tell_primitive ... ok
[INFO] [stdout] test parser::primitive::tests::the_parser_should_be_able_to_parse_a_nask_primitive ... ok
[INFO] [stdout] test parser::agent::tests::the_parser_should_refuse_hallucinate_operator ... ok
[INFO] [stdout] test parser::primitive::tests::the_parser_should_parse_a_duration_timing ... ok
[INFO] [stdout] test parser::primitive::tests::the_parser_should_default_to_multiplicity_one ... ok
[INFO] [stdout] test parser::primitive::tests::the_parser_should_be_able_to_parse_an_ask_primitive ... ok
[INFO] [stdout] test parser::agent::tests::the_parser_should_refuse_hallucinate_token ... ok
[INFO] [stdout] test parser::agent::tests::the_parser_should_be_able_to_parse_sequence_operator ... ok
[INFO] [stdout] test parser::primitive::tests::the_parser_should_not_consume_an_at_without_a_blackboard_id ... ok
[INFO] [stdout] test parser::agent::tests::the_parser_should_be_able_to_parse_multiple_operators ... ok
[INFO] [stdout] test parser::media::tests::the_parser_should_be_able_to_parse_a_token_with_capital_character_and_number ... ok
[INFO] [stdout] test parser::media::tests::the_parser_should_refuse_token_with_special_character ... ok
[INFO] [stdout] test parser::primitive::tests::the_parser_should_parse_a_location_on_a_structured_term ... ok
[INFO] [stdout] test parser::agent::tests::the_parser_should_be_able_to_parse_parallel_operator ... ok
[INFO] [stdout] test parser::agent::tests::the_parser_should_be_able_to_parse_nested_operators ... ok
[INFO] [stdout] test parser::agent::tests::the_parser_should_be_able_to_parse_choice_operator ... ok
[INFO] [stdout] test parser::agent::tests::the_parser_should_be_able_to_parse_a_simple_agent ... ok
[INFO] [stdout] test parser::primitive::tests::the_parser_should_parse_a_wait_with_a_variable ... ok
[INFO] [stdout] test parser::primitive::tests::the_parser_should_parse_a_multiplicity_on_a_variable_template ... ok
[INFO] [stdout] test parser::primitive::tests::the_parser_should_parse_a_primitive_without_a_location ... ok
[INFO] [stdout] test parser::primitive::tests::the_parser_should_parse_a_variable_timing ... ok
[INFO] [stdout] test parser::primitive::tests::the_parser_should_parse_a_timing_and_a_location_together ... ok
[INFO] [stdout] test parser::primitive::tests::the_parser_should_parse_an_atom_location ... ok
[INFO] [stdout] test parser::primitive::tests::the_parser_should_parse_a_wait_with_a_duration ... ok
[INFO] [stdout] test parser::primitive::tests::the_parser_should_parse_a_structured_primitive ... ok
[INFO] [stdout] test parser::primitive::tests::the_parser_should_parse_a_primitive_with_a_variable ... ok
[INFO] [stdout] test parser::primitive::tests::the_parser_should_parse_a_variable_location ... ok
[INFO] [stdout] test parser::primitive::tests::the_parser_should_parse_a_primitive_without_a_timing ... ok
[INFO] [stdout] test parser::primitive::tests::the_parser_should_parse_timing_multiplicity_and_location_together ... ok
[INFO] [stdout] test parser::primitive::tests::the_parser_should_reject_a_wait_without_a_time ... ok
[INFO] [stdout] test parser::primitive::tests::the_parser_should_reject_a_non_numeric_multiplicity ... ok
[INFO] [stdout] test parser::primitive::tests::the_parser_should_reject_a_zero_multiplicity ... ok
[INFO] [stdout] test parser::primitive::tests::the_parser_should_parse_a_multiplicity ... ok
[INFO] [stdout] test parser::term::tests::term_should_parse_a_variable_field ... ok
[INFO] [stdout] test parser::primitive::tests::the_parser_should_refuse_hallucinate_primitives ... ok
[INFO] [stdout] test parser::term::tests::term_should_allow_a_quoted_var_atom ... ok
[INFO] [stdout] test parser::primitive::tests::the_parser_should_reject_an_empty_timing ... ok
[INFO] [stdout] test parser::term::tests::term_should_reject_a_nested_term ... ok
[INFO] [stdout] test parser::term::tests::term_should_parse_a_structured_term ... ok
[INFO] [stdout] test parser::term::tests::term_should_parse_a_lowercase_word_without_parens_as_an_atom ... ok
[INFO] [stdout] test parser::tests::parse_term_should_not_treat_underscore_as_a_wildcard ... ok
[INFO] [stdout] test parser::tests::parse_should_handle_a_structured_agent ... ok
[INFO] [stdout] test parser::term::tests::term_should_parse_a_quoted_atom ... ok
[INFO] [stdout] test parser::tests::parse_term_should_reject_a_nested_term_rather_than_truncating_it ... ok
[INFO] [stdout] test parser::tests::parse_term_should_parse_a_bare_atom ... ok
[INFO] [stdout] test parser::tests::parse_should_reject_an_uppercase_functor ... ok
[INFO] [stdout] test parser::time::tests::timevalue_should_parse_a_variable ... ok
[INFO] [stdout] test parser::term::tests::term_should_reject_a_bare_variable ... ok
[INFO] [stdout] test parser::term::tests::term_should_parse_a_bare_atom_as_arity_zero ... ok
[INFO] [stdout] test parser::tests::parse_should_reject_empty_parentheses ... ok
[INFO] [stdout] test parser::tests::parse_should_produce_an_agent_from_text ... ok
[INFO] [stdout] test parser::tests::parse_term_should_reject_trailing_input ... ok
[INFO] [stdout] test parser::time::tests::timevalue_should_prefer_ms_over_m ... ok
[INFO] [stdout] test parser::term::tests::term_should_reject_the_reserved_var_keyword ... ok
[INFO] [stdout] test parser::tests::parse_term_should_parse_a_compound_with_variables ... ok
[INFO] [stdout] test parser::time::tests::timevalue_should_reject_a_bare_integer ... ok
[INFO] [stdout] test parser::tests::parse_should_return_an_error_for_invalid_input ... ok
[INFO] [stdout] test parser::time::tests::timevalue_should_parse_each_unit_into_milliseconds ... ok
[INFO] [stdout] test parser::tests::parse_term_should_reject_a_space_inside_a_compound ... ok
[INFO] [stdout] test parser::time::tests::timevalue_should_reject_an_unknown_unit ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/cbach-rs/9219ce6144288883/out/cbach_rs-9219ce6144288883)
[INFO] [stdout] test parser::primitive::tests::the_parser_should_parse_a_location_on_every_primitive ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 66 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.79s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 31 tests
[INFO] [stdout] test builder::tests::agent_ext_choice_should_build_a_choice_node ... ok
[INFO] [stdout] test builder::tests::agent_ext_should_compose_fluently ... ok
[INFO] [stdout] test builder::tests::wait_should_build_a_wait_agent ... ok
[INFO] [stdout] test client::tests::with_addr_should_set_the_configured_address ... ok
[INFO] [stdout] test client::tests::default_config_should_target_the_default_port ... ok
[INFO] [stdout] test builder::tests::unlocated_primitives_should_target_the_default_blackboard ... ok
[INFO] [stdout] test builder::tests::timed_primitives_should_carry_their_time_budget ... ok
[INFO] [stdout] test builder::tests::atom_should_build_an_arity_zero_term ... ok
[INFO] [stdout] test builder::tests::primitives_should_accept_a_bare_string_as_an_atom ... ok
[INFO] [stdout] test builder::tests::free_operators_should_nest_agents ... ok
[INFO] [stdout] test builder::tests::dense_primitives_should_carry_their_multiplicity ... ok
[INFO] [stdout] test error::tests::from_should_wrap_a_coordination_error ... ok
[INFO] [stdout] test error::tests::display_should_render_each_variant ... ok
[INFO] [stdout] test builder::tests::compound_should_build_a_tuple_over_fields ... ok
[INFO] [stdout] test builder::tests::located_primitives_should_carry_their_blackboard ... ok
[INFO] [stdout] test builder::tests::primitives_should_accept_a_compound_term ... ok
[INFO] [stdout] test client::tests::connect_should_error_when_no_service_is_listening ... ok
[INFO] [stdout] test transport::tests::request_should_surface_a_malformed_report_as_a_protocol_error ... ok
[INFO] [stdout] test transport::tests::request_should_error_on_an_undecodable_reply ... ok
[INFO] [stdout] test transport::tests::request_should_error_on_an_oversized_reply_frame ... ok
[INFO] [stdout] test transport::tests::request_should_return_the_resolving_of_a_successful_reply ... ok
[INFO] [stdout] test transport::tests::request_should_error_when_server_closes_without_replying ... ok
[INFO] [stdout] test transport::tests::request_should_surface_a_service_failure_as_a_coordination_error ... ok
[INFO] [stdout] test connection::tests::run_should_propagate_a_transport_error ... ok
[INFO] [stdout] test connection::tests::run_should_return_the_resolving_from_the_transport ... ok
[INFO] [stdout] test blocking::tests::new_should_build_a_blocking_client ... ok
[INFO] [stdout] test transport::tests::request_should_reassemble_a_reply_split_across_reads ... ok
[INFO] [stdout] test lang::tests::parse_term_should_error_on_a_nested_term ... ok
[INFO] [stdout] test lang::tests::parse_should_error_on_invalid_syntax ... ok
[INFO] [stdout] test lang::tests::parse_should_produce_an_agent ... ok
[INFO] [stdout] test lang::tests::parse_term_should_produce_a_term ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 31 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.90s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/macro.rs (/opt/rustwide/target/debug/build/cbach-rs/383d156d1bfb85e6/out/macro-383d156d1bfb85e6)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test bach_should_build_a_variable_field ... ok
[INFO] [stdout] test bach_should_build_a_compound_term ... ok
[INFO] [stdout] test bach_should_respect_operator_precedence ... ok
[INFO] [stdout] test bach_should_splice_a_top_level_value_as_an_atom ... ok
[INFO] [stdout] test bach_should_splice_a_rust_value_with_var ... ok
[INFO] [stdout] test bach_should_build_an_atom_primitive ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/roundtrip.rs (/opt/rustwide/target/debug/build/cbach-rs/47e174d15094bd39/out/roundtrip-47e174d15094bd39)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test client_should_run_a_parallel_agent_via_the_macro ... ok
[INFO] [stdout] test macro_should_honour_operator_precedence ... ok
[INFO] [stdout] test client_should_run_a_primitive_agent ... ok
[INFO] [stdout] test client_should_bind_a_variable_across_a_sequence ... ok
[INFO] [stdout] test blocking_client_should_run_an_agent ... ok
[INFO] [stdout] test run_str_should_parse_and_run_a_join ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/cbach-rs-macros/7e38d6ddca90a2d3/out/cbach_rs_macros-7e38d6ddca90a2d3)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.48s
[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/lib.rs (/opt/rustwide/target/debug/build/cbach-service/859bf1696278a5ad/out/cbach_service-859bf1696278a5ad)
[INFO] [stdout] 
[INFO] [stdout] running 33 tests
[INFO] [stdout] test communication::connection::tests::handle_should_report_undecodable_bytes_as_malformed ... ok
[INFO] [stdout] test communication::connection::tests::handle_should_report_a_coordination_failure_on_the_error_channel ... ok
[INFO] [stdout] test communication::connection::tests::next_request_should_return_the_payload_of_a_complete_frame ... ok
[INFO] [stdout] test communication::connection::tests::next_request_should_reject_an_oversized_frame ... ok
[INFO] [stdout] test communication::connection::tests::handle_should_resolve_a_primitive_agent ... ok
[INFO] [stdout] test communication::connection::tests::run_should_fail_on_an_oversized_frame ... ok
[INFO] [stdout] test communication::connection::tests::run_should_not_close_the_connection_when_a_request_is_malformed ... ok
[INFO] [stdout] test communication::connection::tests::run_should_serve_two_requests_arriving_in_one_read ... ok
[INFO] [stdout] test communication::connection::tests::write_reply_should_send_a_framed_reply ... ok
[INFO] [stdout] test communication::connection::tests::run_should_close_gracefully_when_stream_is_closed ... ok
[INFO] [stdout] test communication::connection::tests::next_request_should_return_none_until_a_whole_frame_arrives ... ok
[INFO] [stdout] test communication::socket_listener::tests::new_should_accept_port_zero_without_panicking ... ok
[INFO] [stdout] test config::tests::parse_bind_should_reject_a_malformed_address ... ok
[INFO] [stdout] test communication::socket_listener::tests::new_should_use_provided_addr_when_some ... ok
[INFO] [stdout] test config::tests::parse_bind_should_accept_a_valid_address ... ok
[INFO] [stdout] test model::error::tests::display_should_render_string_variants ... ok
[INFO] [stdout] test model::error::tests::source_should_expose_the_wrapped_coordination_error ... ok
[INFO] [stdout] test communication::socket_listener::tests::listen_should_return_error_when_address_is_already_in_use ... ok
[INFO] [stdout] test model::error::tests::from_should_wrap_a_coordination_error ... ok
[INFO] [stdout] test service::tests::new_should_build_a_service_from_an_engine ... ok
[INFO] [stdout] test communication::connection::tests::run_should_serve_two_requests_on_one_connection ... ok
[INFO] [stdout] test service::tests::run_should_delegate_to_the_listener ... ok
[INFO] [stdout] test communication::connection::tests::read_more_should_fill_buffer_with_stream_data ... ok
[INFO] [stdout] test communication::connection::tests::read_more_should_return_zero_when_stream_is_closed ... ok
[INFO] [stdout] test communication::connection::tests::handle_should_resolve_a_composed_agent ... ok
[INFO] [stdout] test model::error::tests::display_should_delegate_to_the_wrapped_coordination_error ... ok
[INFO] [stdout] test config::tests::parse_bind_should_return_none_when_unset ... ok
[INFO] [stdout] test communication::connection::tests::run_should_not_close_the_connection_when_an_agent_fails ... ok
[INFO] [stdout] test service::tests::run_should_return_service_error_when_listener_fails ... ok
[INFO] [stdout] test communication::socket_listener::tests::new_should_use_default_addr_when_none ... ok
[INFO] [stdout] test communication::socket_listener::tests::listen_should_bind_an_ephemeral_port_when_port_is_zero ... ok
[INFO] [stdout] test communication::socket_listener::tests::listen_should_accept_incoming_connection_and_spawn_handler ... ok
[INFO] [stdout] test communication::socket_listener::tests::listen_should_log_and_survive_a_failing_connection ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 33 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.16s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/build/cbach-service/b7f37e96375e5bbc/out/cbach_service-b7f37e96375e5bbc)
[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.18s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/basic.rs (/opt/rustwide/target/debug/build/cbach-service/a9c754506d0839be/out/basic-a9c754506d0839be)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test service_should_store_and_return_media_on_tell_agent ... ok
[INFO] [stdout] test service_should_resolve_a_parallel_agent_with_no_variables_to_empty_bindings ... ok
[INFO] [stdout] test service_should_match_a_structured_term_with_a_variable ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.49s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/complex.rs (/opt/rustwide/target/debug/build/cbach-service/296d0d86ff883942/out/complex-296d0d86ff883942)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test service_should_coordinate_tuple_space_operations_across_multiple_clients ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests cbach_aggregator
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test cbach-aggregator/src/model/directive.rs - model::directive (line 39) ... ok
[INFO] [stdout] test cbach-aggregator/src/model/directive.rs - model::directive::Directive (line 80) ... ok
[INFO] [stdout] test cbach-aggregator/src/registry.rs - registry (line 19) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 1.03s; merged doctests compilation took 1.00s
[INFO] [stderr]    Doc-tests cbach_bridge
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test cbach-bridge/src/lib.rs - (line 27) - compile ... ok
[INFO] [stdout] test cbach-bridge/src/config.rs - config::BridgeConfig (line 102) ... ok
[INFO] [stdout] test cbach-bridge/src/model/signature.rs - model::signature::Signature (line 37) ... ok
[INFO] [stdout] test cbach-bridge/src/model/signature.rs - model::signature (line 10) ... ok
[INFO] [stdout] test cbach-bridge/src/config.rs - config::RawConfig (line 62) ... ok
[INFO] [stdout] test cbach-bridge/src/config.rs - config (line 22) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 0.71s; merged doctests compilation took 0.69s
[INFO] [stderr]    Doc-tests cbach_client_kit
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test cbach-client-kit/src/lib.rs - (line 18) - compile ... ok
[INFO] [stdout] test cbach-client-kit/src/testing.rs - testing (line 17) - compile ... ok
[INFO] [stdout] test cbach-client-kit/src/backoff.rs - backoff (line 13) ... ok
[INFO] [stdout] test cbach-client-kit/src/link.rs - link::is_transient (line 69) ... ok
[INFO] [stdout] test cbach-client-kit/src/retry.rs - retry (line 14) - compile ... ok
[INFO] [stdout] test cbach-client-kit/src/link.rs - link (line 21) - compile ... ok
[INFO] [stdout] test cbach-client-kit/src/backoff.rs - backoff::Backoff (line 36) ... ok
[INFO] [stdout] test cbach-client-kit/src/address.rs - address (line 18) ... ok
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests cbach_core
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 0.98s; merged doctests compilation took 0.96s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests cbach_engine
[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 4 tests
[INFO] [stdout] test cbach-engine/src/space.rs - space (line 37) ... ok
[INFO] [stdout] test cbach-engine/src/time.rs - time::ManualTimeSource (line 119) ... ok
[INFO] [stdout] test cbach-engine/src/evaluator.rs - evaluator::Evaluator (line 75) ... ok
[INFO] [stdout] test cbach-engine/src/evaluator.rs - evaluator (line 27) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 0.83s; merged doctests compilation took 0.79s
[INFO] [stderr]    Doc-tests cbach_language
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test cbach-language/src/parser/mod.rs - parser::parse_term (line 46) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 0.58s; merged doctests compilation took 0.56s
[INFO] [stderr]    Doc-tests cbach_rs
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test cbach-rs/src/client.rs - client::Client (line 36) - compile ... ok
[INFO] [stdout] test cbach-rs/src/builder.rs - builder (line 12) ... ok
[INFO] [stdout] test cbach-rs/src/lib.rs - (line 14) - compile ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 0.60s; merged doctests compilation took 0.58s
[INFO] [stderr]    Doc-tests cbach_rs_macros
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test cbach-rs-macros/src/lib.rs - (line 9) ... ignored
[INFO] [stdout] test cbach-rs-macros/src/lib.rs - bach (line 247) ... ignored
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 0.25s; merged doctests compilation took 0.25s
[INFO] [stderr]    Doc-tests cbach_service
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test cbach-service/src/config.rs - config (line 8) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 0.39s; merged doctests compilation took 0.37s
[INFO] running `Command { std: "docker" "inspect" "6f7960eacba05e4cb2f915f828f5ebcb2cfa5ac0457d5b74aa802bae31664386", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6f7960eacba05e4cb2f915f828f5ebcb2cfa5ac0457d5b74aa802bae31664386", kill_on_drop: false }`
[INFO] [stdout] 6f7960eacba05e4cb2f915f828f5ebcb2cfa5ac0457d5b74aa802bae31664386
