Skip to content

reload_cfg::test::watch_single_file and watch_multiple are flaky

I was working on some other branch, and got a test failure that I'm sure is spurious.

My laptop was heavily loaded at the time. I suspect !2387 (merged) may be implicated.

zealot:arti> nailing-cargo -C nextest run --locked --workspace --all-features
nailing-cargo: out-of-tree, git, building in: `/home/ian/Rustup/Arti/Build/arti'
nailing-cargo: using really to run as user `rustcargo'
nailing-cargo: *WARNING* cwd is not in Cargo.nail thbough it has Cargo.toml!
nailing-cargo: nailed (0 manifests, 0 packages)
nailing-cargo: invoking: cargo nextest run --locked --workspace --all-features
   Compiling tor-bytes v0.22.0 (/volatile/rustcargo/Rustup/Arti/arti/crates/tor-bytes)
...
   Compiling arti-testing v0.17.0 (/volatile/rustcargo/Rustup/Arti/arti/crates/arti-testing)
    Finished `test` profile [unoptimized + debuginfo] target(s) in 2m 53s
    Starting 1331 tests across 85 binaries (4 skipped)
        PASS [   0.007s] arti cfg::test::articonfig_proxy
...
        PASS [   0.010s] arti-bench::bin/arti-bench test::test_iso_tracker
        FAIL [   0.021s] arti reload_cfg::test::watch_single_file

--- STDOUT:              arti reload_cfg::test::watch_single_file ---

running 1 test
test arti::reload_cfg::test::watch_single_file: TEST_TEMP_RETAIN not enabled, using ephemeral temp dir
test reload_cfg::test::watch_single_file ... FAILED

failures:

failures:
    reload_cfg::test::watch_single_file

test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 25 filtered out; finished in 0.01s


--- STDERR:              arti reload_cfg::test::watch_single_file ---
thread 'reload_cfg::test::watch_single_file' panicked at crates/arti/src/reload_cfg.rs:418:13:
assertion `left == right` failed
  left: ArtiConfig { application: ApplicationConfig { watch_configuration: true, permit_debugging: false, allow_running_as_root: false }, proxy: ProxyConfig { socks_listen: Listen([Localhost(9150)]), socks_port: (), dns_listen: Listen([]), dns_port: () }, logging: LoggingConfig { console: Some("info"), journald: None, files: [], log_sensitive_information: false, time_granularity: 1s }, rpc: RpcConfig { rpc_listen: Some(CfgPath(Shell("~/.local/run/arti/SOCKET"))) }, system: SystemConfig { max_files: 16384 }, onion_services: {} }
 right: ArtiConfig { application: ApplicationConfig { watch_configuration: true, permit_debugging: false, allow_running_as_root: false }, proxy: ProxyConfig { socks_listen: Listen([Localhost(9150)]), socks_port: (), dns_listen: Listen([]), dns_port: () }, logging: LoggingConfig { console: Some("info"), journald: None, files: [], log_sensitive_information: true, time_granularity: 1s }, rpc: RpcConfig { rpc_listen: Some(CfgPath(Shell("~/.local/run/arti/SOCKET"))) }, system: SystemConfig { max_files: 16384 }, onion_services: {} }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

   Canceling due to test failure: 7 tests still running
        PASS [   0.022s] arti-client address::test::bad_ports
        PASS [   0.023s] arti-client address::test::convert_dangerous
        PASS [   0.021s] arti-client address::test::convert_safe
        PASS [   0.073s] arti cfg::test::exhaustive
        PASS [   0.023s] arti-client address::test::is_ip_address
        PASS [   0.061s] arti::cli_tests cli_tests
        PASS [   0.103s] arti cfg::test::default_config
        PASS [   0.069s] arti reload_cfg::test::watch_multiple
------------
     Summary [   0.109s] 32/1331 tests run: 31 passed, 1 failed, 0 skipped
        FAIL [   0.021s] arti reload_cfg::test::watch_single_file
error: test run failed
nailing-cargo: really failed (exit status 25600)
nailing-cargo: unnailed.  status 100.