[INFO] fetching crate ensync 1.0.2...
[INFO] testing ensync-1.0.2 against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate ensync 1.0.2 into /workspace/builds/worker-0-tc2/source
[INFO] started tweaking crates.io crate ensync 1.0.2
[INFO] finished tweaking crates.io crate ensync 1.0.2
[INFO] tweaked toml for crates.io crate ensync 1.0.2 written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate ensync 1.0.2 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 crates.io crate ensync 1.0.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" "+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-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] bf4305bac6208ae693cd54bb312b9da513654f8408925edeac081201d8f1e561
[INFO] running `Command { std: "docker" "start" "bf4305bac6208ae693cd54bb312b9da513654f8408925edeac081201d8f1e561", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bf4305bac6208ae693cd54bb312b9da513654f8408925edeac081201d8f1e561", 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" "bf4305bac6208ae693cd54bb312b9da513654f8408925edeac081201d8f1e561" "/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" "bf4305bac6208ae693cd54bb312b9da513654f8408925edeac081201d8f1e561", 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" "bf4305bac6208ae693cd54bb312b9da513654f8408925edeac081201d8f1e561" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.158
[INFO] [stderr]    Compiling version_check v0.9.2
[INFO] [stderr]    Compiling autocfg v1.0.1
[INFO] [stderr]    Compiling cc v1.0.4
[INFO] [stderr]    Compiling proc-macro2 v1.0.24
[INFO] [stderr]    Compiling unicode-xid v0.2.1
[INFO] [stderr]    Compiling bitflags v1.2.1
[INFO] [stderr]    Compiling getrandom v0.2.2
[INFO] [stderr]    Compiling pkg-config v0.3.9
[INFO] [stderr]    Compiling syn v1.0.60
[INFO] [stderr]    Compiling memchr v2.3.4
[INFO] [stderr]    Compiling unicode-segmentation v1.7.1
[INFO] [stderr]    Compiling slab v0.4.2
[INFO] [stderr]    Compiling crc32fast v1.2.1
[INFO] [stderr]    Compiling log v0.4.1
[INFO] [stderr]    Compiling gcc v0.3.54
[INFO] [stderr]    Compiling ppv-lite86 v0.2.10
[INFO] [stderr]    Compiling unicode-width v0.1.4
[INFO] [stderr]    Compiling rustc-demangle v0.1.5
[INFO] [stderr]    Compiling adler v0.2.3
[INFO] [stderr]    Compiling ansi_term v0.11.0
[INFO] [stderr]    Compiling once_cell v1.5.2
[INFO] [stderr]    Compiling same-file v1.0.1
[INFO] [stderr]    Compiling regex-syntax v0.6.22
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling error-chain v0.12.4
[INFO] [stderr]    Compiling walkdir v2.0.1
[INFO] [stderr]    Compiling thread_local v1.1.3
[INFO] [stderr]    Compiling serde v1.0.27
[INFO] [stderr]    Compiling remove_dir_all v0.5.3
[INFO] [stderr]    Compiling fourleaf v0.1.1
[INFO] [stderr]    Compiling tiny-keccak v1.4.0
[INFO] [stderr]    Compiling quote v1.0.9
[INFO] [stderr]    Compiling heck v0.3.2
[INFO] [stderr]    Compiling num-traits v0.2.14
[INFO] [stderr]    Compiling miniz_oxide v0.4.3
[INFO] [stderr]    Compiling num-integer v0.1.44
[INFO] [stderr]    Compiling aho-corasick v0.7.15
[INFO] [stderr]    Compiling backtrace-sys v0.1.16
[INFO] [stderr]    Compiling sqlite3-src v0.2.9
[INFO] [stderr]    Compiling rust-crypto v0.2.36
[INFO] [stderr]    Compiling rand_core v0.6.2
[INFO] [stderr]    Compiling term_size v0.3.1
[INFO] [stderr]    Compiling iovec v0.1.4
[INFO] [stderr]    Compiling net2 v0.2.37
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling time v0.1.44
[INFO] [stderr]    Compiling inotify-sys v0.1.5
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling inotify v0.7.1
[INFO] [stderr]    Compiling clap v2.33.3
[INFO] [stderr]    Compiling rand_chacha v0.3.0
[INFO] [stderr]    Compiling sqlite3-sys v0.12.0
[INFO] [stderr]    Compiling mio v0.6.23
[INFO] [stderr]    Compiling filetime v0.2.14
[INFO] [stderr]    Compiling rand v0.3.20
[INFO] [stderr]    Compiling regex v1.4.3
[INFO] [stderr]    Compiling flate2 v1.0.20
[INFO] [stderr]    Compiling sqlite v0.23.9
[INFO] [stderr]    Compiling rand v0.8.3
[INFO] [stderr]    Compiling chrono v0.4.19
[INFO] [stderr]    Compiling num_cpus v1.13.0
[INFO] [stderr]    Compiling rpassword v5.0.1
[INFO] [stderr]    Compiling mio-extras v2.0.6
[INFO] [stderr]    Compiling notify v4.0.15
[INFO] [stderr]    Compiling tempfile v3.2.0
[INFO] [stderr]    Compiling structopt-derive v0.4.14
[INFO] [stderr]    Compiling structopt v0.3.21
[INFO] [stderr]    Compiling toml v0.4.5
[INFO] [stderr]    Compiling backtrace v0.3.5
[INFO] [stderr]    Compiling ensync v1.0.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unexpected `cfg` condition name: `has_error_description_deprecated`
[INFO] [stdout]    --> src/errors.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout]  31 | / error_chain! {
[INFO] [stdout]  32 | |     types {
[INFO] [stdout]  33 | |         Error, ErrorKind, ResultExt, Result;
[INFO] [stdout] ...   |
[INFO] [stdout] 306 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: expected names are: `docsrs`, `feature`, and `test` and 34 more
[INFO] [stdout]     = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `impl_error_chain_processed` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `impl_error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/cli/config.rs:321:14
[INFO] [stdout]     |
[INFO] [stdout] 321 |           _ => bail!(format!(
[INFO] [stdout]     |  ______________^
[INFO] [stdout] 322 | |             "{}: Invalid compression type '{}'",
[INFO] [stdout] 323 | |             filename.display(),
[INFO] [stdout] 324 | |             name
[INFO] [stdout] 325 | |         )),
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: `#[warn(semicolon_in_expressions_from_non_local_macros)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated module `std::usize`: all constants in this module replaced by associated constants on the type
[INFO] [stdout]   --> src/server/dir.rs:84:10
[INFO] [stdout]    |
[INFO] [stdout] 84 | use std::usize;
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::usize::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]     --> src/server/dir.rs:1011:34
[INFO] [stdout]      |
[INFO] [stdout] 1011 |         config.max_blob = usize::MAX;
[INFO] [stdout]      |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::usize::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]     --> src/server/dir.rs:1012:37
[INFO] [stdout]      |
[INFO] [stdout] 1012 |         config.max_collect = usize::MAX;
[INFO] [stdout]      |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated module `std::u32`: all constants in this module replaced by associated constants on the type
[INFO] [stdout]   --> src/server/local_storage.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | use std::u32;
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::u32::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]    --> src/server/local_storage.rs:303:30
[INFO] [stdout]     |
[INFO] [stdout] 303 |                     if (u32::MAX as u64) - (old_len as u64)
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::u32::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]    --> src/server/local_storage.rs:570:63
[INFO] [stdout]     |
[INFO] [stdout] 570 |                 if vh.len() != v.len() || iv < 0 || iv > u32::MAX as i64 {
[INFO] [stdout]     |                                                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated module `std::u32`: all constants in this module replaced by associated constants on the type
[INFO] [stdout]   --> src/server/replica.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 25 | use std::u32;
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::u32::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]    --> src/server/replica.rs:336:69
[INFO] [stdout]     |
[INFO] [stdout] 336 |                 if vid.len() != id.len() || ilen < 0 || ilen > u32::MAX as i64 {
[INFO] [stdout]     |                                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ancestor/replica.rs:165:17
[INFO] [stdout]     |
[INFO] [stdout] 165 |     fn as_entry(&self, dir: i64) -> FileEntry;
[INFO] [stdout]     |                 ^^^^^               ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 165 |     fn as_entry(&self, dir: i64) -> FileEntry<'_>;
[INFO] [stdout]     |                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ancestor/replica.rs:169:17
[INFO] [stdout]     |
[INFO] [stdout] 169 |     fn as_entry(&self, dir: i64) -> FileEntry {
[INFO] [stdout]     |                 ^^^^^               ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 169 |     fn as_entry(&self, dir: i64) -> FileEntry<'_> {
[INFO] [stdout]     |                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ancestor/replica.rs:206:17
[INFO] [stdout]     |
[INFO] [stdout] 206 |     fn as_entry(&self, dir: i64) -> FileEntry {
[INFO] [stdout]     |                 ^^^^^               ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 206 |     fn as_entry(&self, dir: i64) -> FileEntry<'_> {
[INFO] [stdout]     |                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/posix/dao.rs:98:28
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub fn iter_clean_dirs(&self) -> Result<CleanDirs> {
[INFO] [stdout]    |                            ^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub fn iter_clean_dirs(&self) -> Result<CleanDirs<'_>> {
[INFO] [stdout]    |                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1m 05s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: ensync v1.0.2 (/opt/rustwide/workdir)
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 6`
[INFO] running `Command { std: "docker" "inspect" "bf4305bac6208ae693cd54bb312b9da513654f8408925edeac081201d8f1e561", 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" "bf4305bac6208ae693cd54bb312b9da513654f8408925edeac081201d8f1e561" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling bit-vec v0.4.4
[INFO] [stderr]    Compiling bitflags v0.9.1
[INFO] [stderr]    Compiling void v1.0.2
[INFO] [stderr]    Compiling regex-syntax v0.4.2
[INFO] [stderr]    Compiling nix v0.9.0
[INFO] [stderr]    Compiling bit-set v0.4.0
[INFO] [stderr]    Compiling proptest v0.3.4
[INFO] [stderr]    Compiling os_pipe v0.6.0
[INFO] [stderr]    Compiling ensync v1.0.2 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unexpected `cfg` condition name: `has_error_description_deprecated`
[INFO] [stdout]    --> src/errors.rs:31:1
[INFO] [stdout]     |
[INFO] [stdout]  31 | / error_chain! {
[INFO] [stdout]  32 | |     types {
[INFO] [stdout]  33 | |         Error, ErrorKind, ResultExt, Result;
[INFO] [stdout] ...   |
[INFO] [stdout] 306 | | }
[INFO] [stdout]     | |_^
[INFO] [stdout]     |
[INFO] [stdout]     = help: expected names are: `docsrs`, `feature`, and `test` and 34 more
[INFO] [stdout]     = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stdout]     = help: try referring to `impl_error_chain_processed` crate for guidance on how handle this unexpected cfg
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stdout]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stdout]     = note: this warning originates in the macro `impl_error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/cli/config.rs:321:14
[INFO] [stdout]     |
[INFO] [stdout] 321 |           _ => bail!(format!(
[INFO] [stdout]     |  ______________^
[INFO] [stdout] 322 | |             "{}: Invalid compression type '{}'",
[INFO] [stdout] 323 | |             filename.display(),
[INFO] [stdout] 324 | |             name
[INFO] [stdout] 325 | |         )),
[INFO] [stdout]     | |__________^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: `#[warn(semicolon_in_expressions_from_non_local_macros)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stdout]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::defs::*`
[INFO] [stdout]    --> src/reconcile/mutate.rs:667:9
[INFO] [stdout]     |
[INFO] [stdout] 667 |     use crate::defs::*;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated module `std::usize`: all constants in this module replaced by associated constants on the type
[INFO] [stdout]   --> src/server/dir.rs:84:10
[INFO] [stdout]    |
[INFO] [stdout] 84 | use std::usize;
[INFO] [stdout]    |          ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::usize::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]     --> src/server/dir.rs:1011:34
[INFO] [stdout]      |
[INFO] [stdout] 1011 |         config.max_blob = usize::MAX;
[INFO] [stdout]      |                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::usize::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]     --> src/server/dir.rs:1012:37
[INFO] [stdout]      |
[INFO] [stdout] 1012 |         config.max_collect = usize::MAX;
[INFO] [stdout]      |                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated module `std::u32`: all constants in this module replaced by associated constants on the type
[INFO] [stdout]   --> src/server/local_storage.rs:28:10
[INFO] [stdout]    |
[INFO] [stdout] 28 | use std::u32;
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::u32::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]    --> src/server/local_storage.rs:303:30
[INFO] [stdout]     |
[INFO] [stdout] 303 |                     if (u32::MAX as u64) - (old_len as u64)
[INFO] [stdout]     |                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::u32::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]    --> src/server/local_storage.rs:570:63
[INFO] [stdout]     |
[INFO] [stdout] 570 |                 if vh.len() != v.len() || iv < 0 || iv > u32::MAX as i64 {
[INFO] [stdout]     |                                                               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated module `std::u32`: all constants in this module replaced by associated constants on the type
[INFO] [stdout]   --> src/server/replica.rs:25:10
[INFO] [stdout]    |
[INFO] [stdout] 25 | use std::u32;
[INFO] [stdout]    |          ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated constant `std::u32::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stdout]    --> src/server/replica.rs:336:69
[INFO] [stdout]     |
[INFO] [stdout] 336 |                 if vid.len() != id.len() || ilen < 0 || ilen > u32::MAX as i64 {
[INFO] [stdout]     |                                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ancestor/replica.rs:165:17
[INFO] [stdout]     |
[INFO] [stdout] 165 |     fn as_entry(&self, dir: i64) -> FileEntry;
[INFO] [stdout]     |                 ^^^^^               ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 165 |     fn as_entry(&self, dir: i64) -> FileEntry<'_>;
[INFO] [stdout]     |                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ancestor/replica.rs:169:17
[INFO] [stdout]     |
[INFO] [stdout] 169 |     fn as_entry(&self, dir: i64) -> FileEntry {
[INFO] [stdout]     |                 ^^^^^               ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 169 |     fn as_entry(&self, dir: i64) -> FileEntry<'_> {
[INFO] [stdout]     |                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/ancestor/replica.rs:206:17
[INFO] [stdout]     |
[INFO] [stdout] 206 |     fn as_entry(&self, dir: i64) -> FileEntry {
[INFO] [stdout]     |                 ^^^^^               ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 206 |     fn as_entry(&self, dir: i64) -> FileEntry<'_> {
[INFO] [stdout]     |                                              ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/memory_replica.rs:239:17
[INFO] [stdout]     |
[INFO] [stdout] 239 |     pub fn data(&self) -> MutexGuard<MemoryReplicaImpl> {
[INFO] [stdout]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 239 |     pub fn data(&self) -> MutexGuard<'_, MemoryReplicaImpl> {
[INFO] [stdout]     |                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/posix/dao.rs:98:28
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub fn iter_clean_dirs(&self) -> Result<CleanDirs> {
[INFO] [stdout]    |                            ^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                            |
[INFO] [stdout]    |                            the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 98 |     pub fn iter_clean_dirs(&self) -> Result<CleanDirs<'_>> {
[INFO] [stdout]    |                                                      ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 29.61s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: ensync v1.0.2 (/opt/rustwide/workdir)
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 6`
[INFO] running `Command { std: "docker" "inspect" "bf4305bac6208ae693cd54bb312b9da513654f8408925edeac081201d8f1e561", 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" "bf4305bac6208ae693cd54bb312b9da513654f8408925edeac081201d8f1e561" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: unexpected `cfg` condition name: `has_error_description_deprecated`
[INFO] [stderr]    --> src/errors.rs:31:1
[INFO] [stderr]     |
[INFO] [stderr]  31 | / error_chain! {
[INFO] [stderr]  32 | |     types {
[INFO] [stderr]  33 | |         Error, ErrorKind, ResultExt, Result;
[INFO] [stderr] ...   |
[INFO] [stderr] 306 | | }
[INFO] [stderr]     | |_^
[INFO] [stderr]     |
[INFO] [stderr]     = help: expected names are: `docsrs`, `feature`, and `test` and 34 more
[INFO] [stderr]     = note: using a cfg inside a macro will use the cfgs from the destination crate and not the ones from the defining crate
[INFO] [stderr]     = help: try referring to `impl_error_chain_processed` crate for guidance on how handle this unexpected cfg
[INFO] [stderr]     = note: see <https://doc.rust-lang.org/nightly/rustc/check-cfg/cargo-specifics.html> for more information about checking conditional configuration
[INFO] [stderr]     = note: `#[warn(unexpected_cfgs)]` on by default
[INFO] [stderr]     = note: this warning originates in the macro `impl_error_chain_processed` which comes from the expansion of the macro `error_chain` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trailing semicolon in macro used in expression position
[INFO] [stderr]    --> src/cli/config.rs:321:14
[INFO] [stderr]     |
[INFO] [stderr] 321 |           _ => bail!(format!(
[INFO] [stderr]     |  ______________^
[INFO] [stderr] 322 | |             "{}: Invalid compression type '{}'",
[INFO] [stderr] 323 | |             filename.display(),
[INFO] [stderr] 324 | |             name
[INFO] [stderr] 325 | |         )),
[INFO] [stderr]     | |__________^
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stderr]     = note: `#[warn(semicolon_in_expressions_from_non_local_macros)]` (part of `#[warn(future_incompatible)]`) on by default
[INFO] [stderr]     = note: this warning originates in the macro `bail` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::defs::*`
[INFO] [stderr]    --> src/reconcile/mutate.rs:667:9
[INFO] [stderr]     |
[INFO] [stderr] 667 |     use crate::defs::*;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated module `std::usize`: all constants in this module replaced by associated constants on the type
[INFO] [stderr]   --> src/server/dir.rs:84:10
[INFO] [stderr]    |
[INFO] [stderr] 84 | use std::usize;
[INFO] [stderr]    |          ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::usize::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stderr]     --> src/server/dir.rs:1011:34
[INFO] [stderr]      |
[INFO] [stderr] 1011 |         config.max_blob = usize::MAX;
[INFO] [stderr]      |                                  ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::usize::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stderr]     --> src/server/dir.rs:1012:37
[INFO] [stderr]      |
[INFO] [stderr] 1012 |         config.max_collect = usize::MAX;
[INFO] [stderr]      |                                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated module `std::u32`: all constants in this module replaced by associated constants on the type
[INFO] [stderr]   --> src/server/local_storage.rs:28:10
[INFO] [stderr]    |
[INFO] [stderr] 28 | use std::u32;
[INFO] [stderr]    |          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::u32::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stderr]    --> src/server/local_storage.rs:303:30
[INFO] [stderr]     |
[INFO] [stderr] 303 |                     if (u32::MAX as u64) - (old_len as u64)
[INFO] [stderr]     |                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::u32::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stderr]    --> src/server/local_storage.rs:570:63
[INFO] [stderr]     |
[INFO] [stderr] 570 |                 if vh.len() != v.len() || iv < 0 || iv > u32::MAX as i64 {
[INFO] [stderr]     |                                                               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated module `std::u32`: all constants in this module replaced by associated constants on the type
[INFO] [stderr]   --> src/server/replica.rs:25:10
[INFO] [stderr]    |
[INFO] [stderr] 25 | use std::u32;
[INFO] [stderr]    |          ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated constant `std::u32::MAX`: replaced by the `MAX` associated constant on this type
[INFO] [stderr]    --> src/server/replica.rs:336:69
[INFO] [stderr]     |
[INFO] [stderr] 336 |                 if vid.len() != id.len() || ilen < 0 || ilen > u32::MAX as i64 {
[INFO] [stderr]     |                                                                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/ancestor/replica.rs:165:17
[INFO] [stderr]     |
[INFO] [stderr] 165 |     fn as_entry(&self, dir: i64) -> FileEntry;
[INFO] [stderr]     |                 ^^^^^               ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]     = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 165 |     fn as_entry(&self, dir: i64) -> FileEntry<'_>;
[INFO] [stderr]     |                                              ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/ancestor/replica.rs:169:17
[INFO] [stderr]     |
[INFO] [stderr] 169 |     fn as_entry(&self, dir: i64) -> FileEntry {
[INFO] [stderr]     |                 ^^^^^               ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 169 |     fn as_entry(&self, dir: i64) -> FileEntry<'_> {
[INFO] [stderr]     |                                              ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/ancestor/replica.rs:206:17
[INFO] [stderr]     |
[INFO] [stderr] 206 |     fn as_entry(&self, dir: i64) -> FileEntry {
[INFO] [stderr]     |                 ^^^^^               ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 206 |     fn as_entry(&self, dir: i64) -> FileEntry<'_> {
[INFO] [stderr]     |                                              ++++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/memory_replica.rs:239:17
[INFO] [stderr]     |
[INFO] [stderr] 239 |     pub fn data(&self) -> MutexGuard<MemoryReplicaImpl> {
[INFO] [stderr]     |                 ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                 |
[INFO] [stderr]     |                 the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 239 |     pub fn data(&self) -> MutexGuard<'_, MemoryReplicaImpl> {
[INFO] [stderr]     |                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/posix/dao.rs:98:28
[INFO] [stderr]    |
[INFO] [stderr] 98 |     pub fn iter_clean_dirs(&self) -> Result<CleanDirs> {
[INFO] [stderr]    |                            ^^^^^            ^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                            |
[INFO] [stderr]    |                            the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 98 |     pub fn iter_clean_dirs(&self) -> Result<CleanDirs<'_>> {
[INFO] [stderr]    |                                                      ++++
[INFO] [stderr] 
[INFO] [stderr] warning: `ensync` (bin "ensync" test) generated 16 warnings (run `cargo fix --bin "ensync" -p ensync --tests` to apply 6 suggestions)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.11s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: ensync v1.0.2 (/opt/rustwide/workdir)
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 6`
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/release/build/ensync/e8dec9e3b254b301/out/ensync-e8dec9e3b254b301)
[INFO] [stdout] 
[INFO] [stdout] running 400 tests
[INFO] [stdout] test ancestor::dao::test::list_nx_dir ... ok
[INFO] [stdout] test ancestor::dao::test::update_nx_file ... ok
[INFO] [stdout] test ancestor::dao::test::rename_dest_exists ... ok
[INFO] [stdout] test ancestor::dao::test::rename_source_nx ... ok
[INFO] [stdout] test ancestor::dao::test::delete_not_matched ... ok
[INFO] [stdout] test ancestor::dao::test::delete_nx ... ok
[INFO] [stdout] test ancestor::dao::test::delete_not_empty_then_success ... ok
[INFO] [stdout] test ancestor::dao::test::condemned_dir_removed_recursively ... ok
[INFO] [stdout] test ancestor::dao::test::uncondemn_clears_condemnation ... ok
[INFO] [stdout] test ancestor::dao::test::list_empty_root_dir ... ok
[INFO] [stdout] test ancestor::dao::test::update_success ... ok
[INFO] [stdout] test ancestor::dao::test::rename_success ... ok
[INFO] [stdout] test ancestor::dao::test::create_name_conflict ... ok
[INFO] [stdout] test ancestor::dao::test::update_mismatch ... ok
[INFO] [stdout] test ancestor::dao::test::condemnation ... ok
[INFO] [stdout] test ancestor::dao::test::create_and_list_item ... ok
[INFO] [stdout] test ancestor::replica::test::condemnation ... ok
[INFO] [stdout] test ancestor::replica::test::rmdir_deferred_synthetic ... ok
[INFO] [stdout] test ancestor::replica::test::list_nx ... ok
[INFO] [stdout] test ancestor::replica::test::create_and_list ... ok
[INFO] [stdout] test ancestor::replica::test::rmdir_not_empty ... ok
[INFO] [stdout] test ancestor::replica::test::remove_dir_not_empty ... ok
[INFO] [stdout] test ancestor::replica::test::create_alread_exists ... ok
[INFO] [stdout] test ancestor::replica::test::update_dir_to_nondir_fails_if_not_empty ... ok
[INFO] [stdout] test ancestor::replica::test::empty ... ok
[INFO] [stdout] test ancestor::replica::test::rmdir_success ... ok
[INFO] [stdout] test ancestor::replica::test::update_dir_to_nondir_invalidates_handles ... ok
[INFO] [stdout] test ancestor::replica::test::update_dir_to_dir_doesnt_invalidate ... ok
[INFO] [stdout] test ancestor::replica::test::synth_dirs ... ok
[INFO] [stdout] test ancestor::replica::test::chdir_into_non_dir ... ok
[INFO] [stdout] test ancestor::replica::test::remove_not_matched ... ok
[INFO] [stdout] test block_xfer::test::hmac_fails_if_blocklist_corrupted ... ok
[INFO] [stdout] test block_xfer::test::hmac_fails_if_data_corrupted ... ok
[INFO] [stdout] test block_xfer::test::hmac_fails_if_secret_wrong ... ok
[INFO] [stdout] test block_xfer::test::text_blocked_and_deblocked_correctly ... ok
[INFO] [stdout] test cli::config::test::parse_full ... ok
[INFO] [stdout] test cli::config::test::parse_server_shell ... ok
[INFO] [stdout] test cli::config::test::passphrase_from_string ... ok
[INFO] [stdout] test cli::config::test::relativise_prompt_password ... ok
[INFO] [stdout] test cli::config::test::relativise_shell_password ... ok
[INFO] [stdout] test defs::test::file_matches ... ok
[INFO] [stdout] test defs::test::file_newer_than ... ok
[INFO] [stdout] test cli::config::test::relativise_shell_server ... ok
[INFO] [stdout] test dry_run_replica::test::dir_rename_emulated ... ok
[INFO] [stdout] test cli::config::test::relativise_string_password ... ok
[INFO] [stdout] test dry_run_replica::test::mkdir_emulated ... ok
[INFO] [stdout] test dry_run_replica::test::mundane_requests_proxied_directly ... ok
[INFO] [stdout] test cli::config::test::relativise_path_server ... ok
[INFO] [stdout] test cli::config::test::relativise_file_password ... ok
[INFO] [stdout] test errors::test::nested_server_closed_is_fatal ... ok
[INFO] [stdout] test cli::cmd_setup::test::shell_escape_works ... ok
[INFO] [stdout] test cli::config::test::parse_compression_names ... ok
[INFO] [stdout] test cli::config::test::relative_filenames_in_config_relativised_against_config_parent ... ok
[INFO] [stdout] test memory_replica::test::create_regular_file ... ok
[INFO] [stdout] test memory_replica::test::create_symlink ... ok
[INFO] [stdout] test cli::config::test::passphrase_from_file ... FAILED
[INFO] [stdout] test memory_replica::test::condemn_dir_tree ... ok
[INFO] [stdout] test memory_replica::test::condemn_single_file ... ok
[INFO] [stdout] test memory_replica::test::create_directory ... ok
[INFO] [stdout] test memory_replica::test::create_special ... ok
[INFO] [stdout] test memory_replica::test::empty ... ok
[INFO] [stdout] test memory_replica::test::remove_directory ... ok
[INFO] [stdout] test memory_replica::test::create_directory_already_exists ... ok
[INFO] [stdout] test memory_replica::test::rename_directory_tree ... ok
[INFO] [stdout] test memory_replica::test::synthetic_create_conflict ... ok
[INFO] [stdout] test memory_replica::test::remove_regular_file ... ok
[INFO] [stdout] test memory_replica::test::remove_regular_file_mode_mismatch ... ok
[INFO] [stdout] test memory_replica::test::remove_special ... ok
[INFO] [stdout] test memory_replica::test::remove_regular_file_hash_mismatch ... ok
[INFO] [stdout] test memory_replica::test::rename_directory ... ok
[INFO] [stdout] test memory_replica::test::rename_regular_file ... ok
[INFO] [stdout] test memory_replica::test::update_directory_into_special ... ok
[INFO] [stdout] test memory_replica::test::update_directory_mode ... ok
[INFO] [stdout] test memory_replica::test::synthetic_dir_looks_empty ... ok
[INFO] [stdout] test cli::config::test::passphrase_from_shell ... ok
[INFO] [stdout] test memory_replica::test::update_nonempty_directory_into_special ... ok
[INFO] [stdout] test memory_replica::test::update_directory_mode_mismatch ... ok
[INFO] [stdout] test memory_replica::test::update_regular ... ok
[INFO] [stdout] test memory_replica::test::update_regular_content_mismatch ... ok
[INFO] [stdout] test memory_replica::test::update_regular_mode_mismatch ... ok
[INFO] [stdout] test memory_replica::test::update_symlink_target_mismatch ... ok
[INFO] [stdout] test memory_replica::test::update_special_into_directory ... ok
[INFO] [stdout] test memory_replica::test::remove_directory_mode_mismatch ... ok
[INFO] [stdout] test memory_replica::test::remove_directory_not_empty ... ok
[INFO] [stdout] test memory_replica::test::remove_file_wrong_type ... ok
[INFO] [stdout] test memory_replica::test::remove_symlink ... ok
[INFO] [stdout] test memory_replica::test::remove_symlink_target_mismatch ... ok
[INFO] [stdout] test memory_replica::test::rename_directory_conflict ... ok
[INFO] [stdout] test memory_replica::test::update_symlink_target ... ok
[INFO] [stdout] test posix::dao::test::prune_hash_cache ... ok
[INFO] [stdout] test posix::dao::test::clean_dir_test ... ok
[INFO] [stdout] test posix::dao::test::empty_clean_dirs ... ok
[INFO] [stdout] test posix::dao::test::clean_dir_crd ... ok
[INFO] [stdout] test posix::dao::test::hash_cache_query_by_file ... ok
[INFO] [stdout] test posix::dao::test::rename_delete_cached_files ... ok
[INFO] [stdout] test posix::dao::test::query_hash_cache_by_hash ... ok
[INFO] [stdout] test posix::dao::test::updating_hash_cache_clears_old_blocks ... ok
[INFO] [stdout] test posix::replica::test::all_dirs_dirty_after_clean_prepare ... ok
[INFO] [stdout] test posix::replica::test::chmod_dir ... ok
[INFO] [stdout] test ancestor::replica::test::update_not_matched ... ok
[INFO] [stdout] test memory_replica::test::synthetic_tree_create ... ok
[INFO] [stdout] test posix::replica::test::chdir_not_found ... ok
[INFO] [stdout] test posix::replica::test::create_fails_if_alread_exists ... ok
[INFO] [stdout] test posix::replica::test::create_symlink ... ok
[INFO] [stdout] test posix::replica::test::block_copy_optimisation_handles_corruption ... ok
[INFO] [stdout] test posix::replica::test::chdir_into_subdirs ... ok
[INFO] [stdout] test posix::replica::test::chmod_file ... ok
[INFO] [stdout] test posix::replica::test::chdir_into_non_dir ... ok
[INFO] [stdout] test posix::replica::test::all_dirs_dirty_after_scrub_prepare ... ok
[INFO] [stdout] test posix::replica::test::cannot_rmdir_root ... ok
[INFO] [stdout] test posix::replica::test::create_regular_file_with_perm_777 ... ok
[INFO] [stdout] test posix::replica::test::create_directory ... ok
[INFO] [stdout] test posix::replica::test::create_regular_file_via_xfer ... ok
[INFO] [stdout] test posix::replica::test::dir_clean_marker_tracks_placeholder_hash_of_untransferred_regular ... ok
[INFO] [stdout] test posix::replica::test::insane_filenames_blocked ... ok
[INFO] [stdout] test posix::replica::test::list_non_regular_files ... ok
[INFO] [stdout] test posix::replica::test::dir_clean_marker_tracks_actual_hash_of_transferred_regular ... ok
[INFO] [stdout] test posix::replica::test::list_and_transfer_out_regular_file ... ok
[INFO] [stdout] test posix::replica::test::file_copy_optimisation_handles_corruption ... ok
[INFO] [stdout] test posix::replica::test::delete_create_renames_optimised ... ok
[INFO] [stdout] test posix::replica::test::file_copies_optimised ... ok
[INFO] [stdout] test posix::replica::test::file_mtime_edit_doesnt_invalidate_hash_cache ... ok
[INFO] [stdout] test posix::replica::test::remove_dir ... ok
[INFO] [stdout] test posix::replica::test::file_block_copies_optimised ... ok
[INFO] [stdout] test posix::replica::test::remove_fails_if_not_matched ... ok
[INFO] [stdout] test posix::replica::test::own_edits_accounted_for_in_dirty_tracking ... ok
[INFO] [stdout] test posix::replica::test::remove_symlink ... ok
[INFO] [stdout] test posix::replica::test::remove_file ... ok
[INFO] [stdout] test posix::replica::test::replace_dir_with_file ... ok
[INFO] [stdout] test reconcile::compute::test::always_insync_or_unsync_for_null_sync_mode ... ok
[INFO] [stdout] test reconcile::compute::test::gen_alternate_name_reuses_existing_tilde ... ok
[INFO] [stdout] test reconcile::compute::test::gen_alternate_name_with_collision ... ok
[INFO] [stdout] test reconcile::compute::test::gen_alternate_name_with_extension ... ok
[INFO] [stdout] test reconcile::compute::test::individual_reconciliation_cases ... ok
[INFO] [stdout] test posix::replica::test::replace_dir_with_symlink ... ok
[INFO] [stdout] test reconcile::compute::test::never_modifies_client_if_client_sync_off ... ok
[INFO] [stdout] test reconcile::compute::test::never_modifies_server_if_server_sync_off ... ok
[INFO] [stdout] test reconcile::compute::test::simple_gen_alternate_name ... ok
[INFO] [stdout] test reconcile::compute::test::never_unsync_or_irreconcilable_if_outbound_force_all ... ok
[INFO] [stdout] test reconcile::mutate::test::apply_recon_insync_creates_ancestor ... ok
[INFO] [stdout] test reconcile::mutate::test::apply_recon_insync_recurses_into_directories ... ok
[INFO] [stdout] test reconcile::mutate::test::apply_recon_insync_ancestor_create_fail ... ok
[INFO] [stdout] test reconcile::mutate::test::apply_recon_split_client_delete_ancestor_error ... ok
[INFO] [stdout] test posix::replica::test::replace_file_with_file ... ok
[INFO] [stdout] test posix::replica::test::replace_symlink_with_dir ... ok
[INFO] [stdout] test posix::replica::test::replace_file_with_symlink ... ok
[INFO] [stdout] test posix::replica::test::replace_file_with_dir ... ok
[INFO] [stdout] test reconcile::mutate::test::apply_recon_split_client_delete_client_error ... ok
[INFO] [stdout] test reconcile::mutate::test::apply_recon_split_client_delete_success ... ok
[INFO] [stdout] test posix::replica::test::rmdir_success ... ok
[INFO] [stdout] test reconcile::mutate::test::apply_recon_split_client_move_ancestor_client_error ... ok
[INFO] [stdout] test posix::replica::test::subdir_still_clean_after_parent_dir_modified ... ok
[INFO] [stdout] test posix::replica::test::replace_symlink_with_symlink ... ok
[INFO] [stdout] test posix::replica::test::synthdir_tree ... ok
[INFO] [stdout] test reconcile::mutate::test::apply_recon_split_client_move_ancestor_success ... ok
[INFO] [stdout] test reconcile::mutate::test::apply_recon_split_client_move_ancestor_ancestor_error ... ok
[INFO] [stdout] test posix::replica::test::replace_symlink_with_file ... ok
[INFO] [stdout] test reconcile::mutate::test::apply_recon_unsync ... ok
[INFO] [stdout] test reconcile::mutate::test::apply_recon_split_server_delete_success ... ok
[INFO] [stdout] test reconcile::mutate::test::apply_recon_use_client_mutate_server_error ... ok
[INFO] [stdout] test reconcile::mutate::test::apply_recon_use_client_create_dir ... ok
[INFO] [stdout] test posix::replica::test::replace_fails_if_not_matched ... ok
[INFO] [stdout] test reconcile::mutate::test::apply_recon_use_client_mutate_ancestor_error ... ok
[INFO] [stdout] test posix::replica::test::trivial ... ok
[INFO] [stdout] test posix::replica::test::rmdir_nx ... ok
[INFO] [stdout] test reconcile::mutate::test::apply_recon_use_client_normal_success ... ok
[INFO] [stdout] test reconcile::mutate::test::apply_recon_use_server ... ok
[INFO] [stdout] test reconcile::mutate::test::apply_recon_use_client_recursive_delete_success ... ok
[INFO] [stdout] test reconcile::mutate::test::apply_recon_use_client_recursive_delete_ancestor_error ... ok
[INFO] [stdout] test posix::replica::test::simple_dirty_tracking ... ok
[INFO] [stdout] test reconcile::mutate::test::replace_ancestor_delete_dir_tree ... ok
[INFO] [stdout] test reconcile::mutate::test::replace_ancestor_create_regular ... ok
[INFO] [stdout] test reconcile::mutate::test::replace_ancestor_chmod_dir ... ok
[INFO] [stdout] test reconcile::mutate::test::replace_ancestor_remove_regular ... ok
[INFO] [stdout] test reconcile::mutate::test::replace_ancestor_replace_dir_tree_with_file ... ok
[INFO] [stdout] test reconcile::mutate::test::replace_ancestor_replace_regular ... ok
[INFO] [stdout] test reconcile::mutate::test::replace_ancestor_trivial ... ok
[INFO] [stdout] test reconcile::mutate::test::replace_replica_noop ... ok
[INFO] [stdout] test reconcile::mutate::test::replace_ancestor_replace_regular_with_dir ... ok
[INFO] [stdout] test reconcile::mutate::test::replace_replica_create_regular ... ok
[INFO] [stdout] test reconcile::mutate::test::try_replace_replica_error ... ok
[INFO] [stdout] test reconcile::mutate::test::replace_replica_delete_regular ... ok
[INFO] [stdout] test reconcile::mutate::test::replace_replica_update_regular ... ok
[INFO] [stdout] test reconcile::tree_walk::test::sync_no_trust_client_unix_mode_propagates_across_changes ... ok
[INFO] [stdout] test reconcile::tree_walk::test::sync_no_trust_client_unix_mode_steady_state ... ok
[INFO] [stdout] test reconcile::mutate::test::try_replace_replica_success ... ok
[INFO] [stdout] test reconcile::tree_walk::test::sync_empty ... ok
[INFO] [stdout] test reconcile::tree_walk::test::sync_edit_conflict ... ok
[INFO] [stdout] test reconcile::tree_walk::test::sync_flat ... ok
[INFO] [stdout] test reconcile::tree_walk::test::sync_recursive ... ok
[INFO] [stdout] test reconcile::tree_walk::test::sync_no_panic_on_dir_that_fails_to_chdir_after_creation ... ok
[INFO] [stdout] test reconcile::tree_walk::test::sync_no_panic_on_failed_chdir ... ok
[INFO] [stdout] test reconcile::tree_walk::test::sync_recursive_delete_complete ... ok
[INFO] [stdout] test reconcile::tree_walk::test::sync_recursive_delete_interrupted ... ok
[INFO] [stdout] test reconcile::tree_walk::test::sync_replace_dir_with_reg ... ok
[INFO] [stdout] test rules::defs::test::parse_stringify_all_force_sync_mode ... ok
[INFO] [stdout] test rules::engine::test::files_switch_state_on_subdir ... ok
[INFO] [stdout] test rules::defs::test::parse_sync_mode_incorrect_letter ... ok
[INFO] [stdout] test rules::defs::test::parse_sync_mode_aliases ... ok
[INFO] [stdout] test rules::defs::test::parse_stringify_all_on_sync_mode ... ok
[INFO] [stdout] test rules::defs::test::parse_sync_mode_too_short ... ok
[INFO] [stdout] test rules::engine::test::files_rules_inclusion ... ok
[INFO] [stdout] test rules::defs::test::parse_sync_mode_no_slash_at_3 ... ok
[INFO] [stdout] test rules::defs::test::parse_stringify_mixed_sync_mode ... ok
[INFO] [stdout] test rules::defs::test::parse_stringify_null_sync_mode ... ok
[INFO] [stdout] test rules::defs::test::parse_sync_mode_too_long ... ok
[INFO] [stdout] test rules::defs::test::sync_setting_properties ... ok
[INFO] [stdout] test rules::engine::test::all_conditions_must_match_for_rule_to_apply ... ok
[INFO] [stdout] test rules::engine::test::ignore_git_repo_via_siblings ... ok
[INFO] [stdout] test rules::engine::test::match_condition_path ... ok
[INFO] [stdout] test rules::engine::test::parse_error_bad_mode ... ok
[INFO] [stdout] test rules::engine::test::parse_error_bad_rules_group_name ... ok
[INFO] [stdout] test rules::engine::test::parse_error_no_root_state ... ok
[INFO] [stdout] test rules::engine::test::include_recursion_is_noop ... ok
[INFO] [stdout] test rules::engine::test::match_path_from_siblings ... ok
[INFO] [stdout] test rules::engine::test::match_condition_permissions ... ok
[INFO] [stdout] test rules::engine::test::parse_error_invalid_rule_field ... ok
[INFO] [stdout] test rules::engine::test::parse_error_rules_group_not_an_array ... ok
[INFO] [stdout] test rules::engine::test::match_condition_type ... ok
[INFO] [stdout] test rules::engine::test::parse_error_state_not_a_table ... ok
[INFO] [stdout] test rules::engine::test::parse_error_bad_stop_type ... ok
[INFO] [stdout] test rules::engine::test::parse_error_unreachable_state ... ok
[INFO] [stdout] test rules::engine::test::parse_siblings_rules_group ... ok
[INFO] [stdout] test rules::engine::test::parse_minimal ... ok
[INFO] [stdout] test rules::engine::test::rule_with_no_conditions_always_applies ... ok
[INFO] [stdout] test rules::engine::test::sibling_multi_file_match ... ok
[INFO] [stdout] test rules::engine::test::match_condition_target ... ok
[INFO] [stdout] test rules::engine::test::stop_return_action ... ok
[INFO] [stdout] test rules::engine::test::parse_error_bad_regex ... ok
[INFO] [stdout] test server::crypt::fast_test::crypt_dir_appended ... ok
[INFO] [stdout] test rules::engine::test::parse_error_negative_file_size ... ok
[INFO] [stdout] test rules::engine::test::stop_all_action ... ok
[INFO] [stdout] test rules::engine::test::parse_error_rules_group_elt_not_a_table ... ok
[INFO] [stdout] test server::crypt::fast_test::crypt_obj_4096 ... ok
[INFO] [stdout] test server::crypt::fast_test::crypt_obj_4097 ... ok
[INFO] [stdout] test server::crypt::fast_test::crypt_obj_one_block ... ok
[INFO] [stdout] test server::crypt::fast_test::crypt_obj_8191 ... ok
[INFO] [stdout] test server::crypt::fast_test::crypt_obj_empty ... ok
[INFO] [stdout] test rules::engine::test::sync_mode_inherited_from_parent_dir ... ok
[INFO] [stdout] test server::crypt::fast_test::corrupt_dir_version_decrypted_to_0 ... ok
[INFO] [stdout] test server::crypt::fast_test::crypt_dir_oneshot ... ok
[INFO] [stdout] test server::crypt::fast_test::crypt_dir_version ... ok
[INFO] [stdout] test server::dir_config::test::sub_config_w ... ok
[INFO] [stdout] test rules::engine::test::simple_file_matching ... ok
[INFO] [stdout] test server::crypt::fast_test::crypt_obj_partial_multi_block ... ok
[INFO] [stdout] test server::dir_config::test::sub_config_r ... ok
[INFO] [stdout] test server::dir_config::test::sub_config_r_and_w_one_block ... ok
[INFO] [stdout] test server::crypt::fast_test::crypt_obj_partial_single_block ... ok
[INFO] [stdout] test server::crypt::test::generate_and_derive_keys_long_passphrase ... ok
[INFO] [stdout] test server::dir_config::test::sub_config_r_and_w_two_blocks ... ok
[INFO] [stdout] test server::dir_config::test::sub_config_wr ... ok
[INFO] [stdout] test server::dir_config::test::sub_invalid_config_syntax_rejected ... ok
[INFO] [stdout] test server::dir_config::test::sub_config_rw ... ok
[INFO] [stdout] test rules::engine::test::parse_all_fields ... ok
[INFO] [stdout] test rules::engine::test::parse_error_reference_to_nx_state ... ok
[INFO] [stdout] test server::dir_config::test::sub_no_config ... ok
[INFO] [stdout] test server::dir_config::test::sub_unknown_config_key_rejected ... ok
[INFO] [stdout] test server::crypt::test::generate_and_derive_keys ... ok
[INFO] [stdout] test server::keymgmt::test::add_key_refuses_empty_name ... ok
[INFO] [stdout] test server::keymgmt::test::add_key_bad_old_pw ... ok
[INFO] [stdout] test server::keymgmt::test::change_key_by_default_requires_corresponding_pw_and_name ... ok
[INFO] [stdout] test server::keymgmt::test::add_key_refuses_duplicate_pw ... ok
[INFO] [stdout] test server::keymgmt::test::change_key_bad_old_pw ... ok
[INFO] [stdout] test server::keymgmt::test::add_key_creates_new_key ... ok
[INFO] [stdout] test server::keymgmt::test::change_key_allows_forcing_pw_name_mismatch ... ok
[INFO] [stdout] test server::keymgmt::test::assoc_group_nx_group ... ok
[INFO] [stdout] test server::keymgmt::test::assoc_group_success ... ok
[INFO] [stdout] test server::keymgmt::test::add_key_wont_overwrite_existing_key ... ok
[INFO] [stdout] test server::keymgmt::test::change_key_by_name_nx ... ok
[INFO] [stdout] test server::keymgmt::test::change_key_by_name ... ok
[INFO] [stdout] test server::keymgmt::test::change_key_doesnt_need_key_name_if_only_one_key ... ok
[INFO] [stdout] test server::keymgmt::test::create_group_already_exists ... ok
[INFO] [stdout] test server::keymgmt::test::change_key_dupe_pw ... ok
[INFO] [stdout] test server::keymgmt::test::create_group_empty_name ... ok
[INFO] [stdout] test server::keymgmt::test::del_key_name_nx ... ok
[INFO] [stdout] test server::keymgmt::test::change_key_fails_if_no_name_but_multiple_keys ... ok
[INFO] [stdout] test server::keymgmt::test::change_key_other_doesnt_add_groups ... ok
[INFO] [stdout] test server::keymgmt::test::del_key_wont_delete_last_key ... ok
[INFO] [stdout] test server::keymgmt::test::del_key_removes_named_key ... ok
[INFO] [stdout] test server::keymgmt::test::change_key_other_fails_if_insufficient_groups ... ok
[INFO] [stdout] test server::keymgmt::test::create_group_success ... ok
[INFO] [stdout] test server::keymgmt::test::destroy_group_nx ... ok
[INFO] [stdout] test server::keymgmt::test::destroy_group_refuses_builtins ... ok
[INFO] [stdout] test server::keymgmt::test::del_key_wont_delete_last_key_in_group ... ok
[INFO] [stdout] test server::keymgmt::test::disassoc_group_nx_key ... ok
[INFO] [stdout] test server::keymgmt::test::disassoc_group_refuses_everyone ... ok
[INFO] [stdout] test server::keymgmt::test::empty ... ok
[INFO] [stdout] test server::keymgmt::test::disassoc_group_nx_group ... ok
[INFO] [stdout] test server::keymgmt::test::init_keys_adds_one_key_but_fails_if_already_init ... ok
[INFO] [stdout] test server::keymgmt::test::disassoc_group_success ... ok
[INFO] [stdout] test server::local_storage::test::adding_ops_to_nx_transaction_is_err ... ok
[INFO] [stdout] test server::keymgmt::test::destroy_group_success ... ok
[INFO] [stdout] test server::local_storage::test::aborting_nx_transaction_is_err ... ok
[INFO] [stdout] test server::keymgmt::test::disassoc_group_refuses_last_key ... ok
[INFO] [stdout] test server::keymgmt::test::kdf_timestamps_updated ... ok
[INFO] [stdout] test server::local_storage::test::for_ditry_dir_resets_buffer ... ok
[INFO] [stdout] test server::local_storage::test::cleanup_doesnt_remove_object_with_link ... ok
[INFO] [stdout] test server::local_storage::test::check_dirty_dir_handles_nx_length_mismatch_and_ver_mismatch ... ok
[INFO] [stdout] test server::local_storage::test::get_nx_dir_returns_none ... ok
[INFO] [stdout] test server::local_storage::test::committing_empty_transaction_succeeds ... ok
[INFO] [stdout] test server::local_storage::test::committing_nx_transaction_is_err ... ok
[INFO] [stdout] test server::local_storage::test::get_nx_obj_returns_none ... ok
[INFO] [stdout] test server::local_storage::test::mkdir_becomes_visible_after_commit_but_not_before ... ok
[INFO] [stdout] test server::local_storage::test::linkobj_holds_handle_to_file_to_recreate_if_needed ... ok
[INFO] [stdout] test server::local_storage::test::mkdir_wont_replace_existing_dir ... ok
[INFO] [stdout] test server::local_storage::test::linkobj_adds_to_ref_accum ... ok
[INFO] [stdout] test server::local_storage::test::rmdir_fails_if_version_mismatch ... ok
[INFO] [stdout] test server::local_storage::test::putobj_holds_handle_to_file_to_recreate_if_needed ... ok
[INFO] [stdout] test server::local_storage::test::rmdir_fails_if_length_mismatch ... ok
[INFO] [stdout] test server::local_storage::test::putobj_visible_after_commit ... ok
[INFO] [stdout] test server::local_storage::test::rmdir_visible_after_commit_but_not_before ... ok
[INFO] [stdout] test server::local_storage::test::rmdir_then_mkdir_in_same_commit_permitted ... ok
[INFO] [stdout] test server::local_storage::test::rmdir_fails_if_version_normal_instead_of_secret ... ok
[INFO] [stdout] test server::local_storage::test::transaction_rolled_back_if_fails ... ok
[INFO] [stdout] test server::local_storage::test::transaction_number_can_be_reused_after_commit ... ok
[INFO] [stdout] test server::local_storage::test::unlinkobj_removes_link_and_cleanup_removes_obj ... ok
[INFO] [stdout] test server::local_storage::test::updir_fails_if_normal_version_not_secret_version ... ok
[INFO] [stdout] test server::local_storage::test::starting_duplicate_transaction_is_err ... ok
[INFO] [stdout] test server::local_storage::test::updir_fails_if_length_mismatch ... ok
[INFO] [stdout] test server::local_storage::test::updir_visible_after_commit_but_not_before ... ok
[INFO] [stdout] test server::local_storage::test::updir_overwrites_stray_trailing_data ... ok
[INFO] [stdout] test server::local_storage::test::updir_fails_if_version_mismatch ... ok
[INFO] [stdout] test server::replica::test::clean_prepare_sets_all_dirs_dirty ... ok
[INFO] [stdout] test server::replica::test::create_already_exists ... ok
[INFO] [stdout] test server::replica::test::clean_dirty_tracking ... ok
[INFO] [stdout] test server::replica::test::create_symlink ... ok
[INFO] [stdout] test server::replica::test::empty ... ok
[INFO] [stdout] test server::replica::test::cleanup_removes_orphaned_blobs ... ok
[INFO] [stdout] test server::replica::test::nx_chdir ... ok
[INFO] [stdout] test server::replica::test::create_subdir ... ok
[INFO] [stdout] test server::replica::test::create_file ... ok
[INFO] [stdout] test server::replica::test::remove_subdirectory_not_matched ... ok
[INFO] [stdout] test server::replica::test::remove_regular ... ok
[INFO] [stdout] test server::replica::test::remove_symlink ... ok
[INFO] [stdout] test server::replica::test::remove_subdirectory_not_empty ... ok
[INFO] [stdout] test server::replica::test::remove_symlink_not_matched ... ok
[INFO] [stdout] test server::replica::test::remove_subdirectory ... ok
[INFO] [stdout] test server::replica::test::remove_subdirectory_nx ... ok
[INFO] [stdout] test server::replica::test::directory_revert_detected ... ok
[INFO] [stdout] test server::replica::test::read_protected_dirs_not_readable_by_non_group_members ... ok
[INFO] [stdout] test server::replica::test::remove_symlink_nx ... ok
[INFO] [stdout] test server::replica::test::rename ... ok
[INFO] [stdout] test server::replica::test::rename_allows_noop_config_change_on_dir ... ok
[INFO] [stdout] test server::replica::test::rename_exists ... ok
[INFO] [stdout] test server::replica::test::rename_nx ... ok
[INFO] [stdout] test server::replica::test::rmdir ... ok
[INFO] [stdout] test server::replica::test::rename_cannot_change_dir_config ... ok
[INFO] [stdout] test server::replica::test::rename_ignores_config_like_string_on_non_dir ... ok
[INFO] [stdout] test server::replica::test::rmdir_nx ... ok
[INFO] [stdout] test server::replica::test::rmdir_not_empty ... ok
[INFO] [stdout] test server::replica::test::scrub_prepare_sets_all_dirs_dirty ... ok
[INFO] [stdout] test server::replica::test::setting_dir_clean_is_noop_if_concurrently_modified ... ok
[INFO] [stdout] test server::replica::test::setting_dir_clean_is_noop_if_concurrently_modified_both ... ok
[INFO] [stdout] test server::replica::test::synthdir_into_existing ... ok
[INFO] [stdout] test server::replica::test::synthdir_with_invalid_config_cannot_materialise ... ok
[INFO] [stdout] test server::replica::test::synthdir_nested ... ok
[INFO] [stdout] test server::replica::test::update_dir_not_matched ... ok
[INFO] [stdout] test server::replica::test::synthdir_new_single ... ok
[INFO] [stdout] test server::replica::test::update_dir_nx ... ok
[INFO] [stdout] test server::replica::test::update_dir_chmod ... ok
[INFO] [stdout] test server::replica::test::update_regular ... ok
[INFO] [stdout] test server::replica::test::update_symlink ... ok
[INFO] [stdout] test server::rpc::test::aborting_nx_transaction_is_err ... ok
[INFO] [stdout] test reconcile::tree_walk::test::mirror_to_server_never_changes_client_and_makes_server_like_client ... ok
[INFO] [stdout] test server::rpc::test::check_dirty_dir_handles_nx_length_mismatch_and_ver_mismatch ... ok
[INFO] [stdout] test server::rpc::test::cleanup_doesnt_remove_object_with_link ... ok
[INFO] [stdout] test server::rpc::test::get_nx_dir_returns_none ... ok
[INFO] [stdout] test server::rpc::test::committing_nx_transaction_is_err ... ok
[INFO] [stdout] test server::rpc::test::committing_empty_transaction_succeeds ... ok
[INFO] [stdout] test server::rpc::test::for_ditry_dir_resets_buffer ... ok
[INFO] [stdout] test server::replica::test::write_protected_dirs_not_writable_by_non_group_members ... ok
[INFO] [stdout] test server::rpc::test::get_nx_obj_returns_none ... ok
[INFO] [stdout] test server::rpc::test::linkobj_holds_handle_to_file_to_recreate_if_needed ... ok
[INFO] [stdout] test server::rpc::test::mkdir_becomes_visible_after_commit_but_not_before ... ok
[INFO] [stdout] test server::rpc::test::linkobj_adds_to_ref_accum ... ok
[INFO] [stdout] test server::rpc::test::rmdir_fails_if_version_mismatch ... ok
[INFO] [stdout] test server::rpc::test::rmdir_fails_if_length_mismatch ... ok
[INFO] [stdout] test server::rpc::test::putobj_visible_after_commit ... ok
[INFO] [stdout] test server::rpc::test::mkdir_wont_replace_existing_dir ... ok
[INFO] [stdout] test server::rpc::test::putobj_holds_handle_to_file_to_recreate_if_needed ... ok
[INFO] [stdout] test server::rpc::test::rmdir_fails_if_version_normal_instead_of_secret ... ok
[INFO] [stdout] test server::rpc::test::rmdir_then_mkdir_in_same_commit_permitted ... ok
[INFO] [stdout] test server::rpc::test::transaction_rolled_back_if_fails ... ok
[INFO] [stdout] test server::rpc::test::updir_fails_if_length_mismatch ... ok
[INFO] [stdout] test server::rpc::test::rmdir_visible_after_commit_but_not_before ... ok
[INFO] [stdout] test server::rpc::test::unlinkobj_removes_link_and_cleanup_removes_obj ... ok
[INFO] [stdout] test server::rpc::test::transaction_number_can_be_reused_after_commit ... ok
[INFO] [stdout] test server::rpc::test::updir_fails_if_normal_version_not_secret_version ... ok
[INFO] [stdout] test server::rpc::test::updir_fails_if_version_mismatch ... ok
[INFO] [stdout] test server::rpc::test::updir_overwrites_stray_trailing_data ... ok
[INFO] [stdout] test server::rpc::test::updir_visible_after_commit_but_not_before ... ok
[INFO] [stdout] test posix::replica::test::watch_notices_when_dir_changed ... ok
[INFO] [stdout] test reconcile::tree_walk::test::unforced_symmetric_sync_never_loses_data_and_makes_both_sides_identical ... ok
[INFO] [stdout] test server::replica::test::directory_rewrite_works ... ok
[INFO] [stdout] test reconcile::tree_walk::test::sync_converges_after_success ... ok
[INFO] [stdout] test server::local_storage::test::watch_doesnt_notify_changes_by_self ... ok
[INFO] [stdout] test server::local_storage::test::watch_notifies_changes_by_other ... ok
[INFO] [stdout] test server::replica::test::watch_notifies_of_change_by_other_instance ... ok
[INFO] [stdout] test server::rpc::test::watch_doesnt_notify_changes_by_self ... ok
[INFO] [stdout] test server::rpc::test::watch_notifies_changes_by_other ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- cli::config::test::passphrase_from_file stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'cli::config::test::passphrase_from_file' (3868) panicked at src/cli/config.rs:668:55:
[INFO] [stdout] called `Result::unwrap()` on an `Err` value: Custom { kind: ReadOnlyFilesystem, error: PathError { path: "/opt/rustwide/workdir/./.tmpNzoJLS", err: Os { code: 30, kind: ReadOnlyFilesystem, message: "Read-only file system" } } }
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5ba2352ae811 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x5ba2352c5a7a - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x5ba2352b31ac - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x5ba2352875a6 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x5ba2352a5b69 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x5ba235167850 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x5ba2352a5d22 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x5ba235287652 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x5ba235280039 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5ba23528857d - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x5ba2352c61dc - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5ba2352c5fb2 - core[a373ad73a504971]::result::unwrap_failed
[INFO] [stdout]   12:     0x5ba23515591f - <ensync[5ae1688a0c5dabe1]::cli::config::test::passphrase_from_file::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   13:     0x5ba23515ac9b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   14:     0x5ba235167e75 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   15:     0x5ba235161764 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   16:     0x5ba23516af02 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   17:     0x5ba2352ae03f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   18:     0x7dd47faf0dfa - <unknown>
[INFO] [stdout]   19:     0x7dd47fb843d4 - clone
[INFO] [stdout]   20:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     cli::config::test::passphrase_from_file
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 399 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 19.86s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--bin ensync`
[INFO] running `Command { std: "docker" "inspect" "bf4305bac6208ae693cd54bb312b9da513654f8408925edeac081201d8f1e561", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bf4305bac6208ae693cd54bb312b9da513654f8408925edeac081201d8f1e561", kill_on_drop: false }`
[INFO] [stdout] bf4305bac6208ae693cd54bb312b9da513654f8408925edeac081201d8f1e561
