๐ There is no xvc completions
command anymore. Letโs remove the test.
๐ข Instead we can make it to test with environment variables for each of these shells.
๐ It looks the test fail with wait_status
cargo test -p xvc --test test_completions
...
failures:
---- test_completions stdout ----
...
ExitStatus(unix_wait_status(512))
thread 'test_completions' panicked at lib/tests/common/mod.rs:46:5:
Command failed: Command { cmd: "/Users/iex/github.com/iesahin/xvc/target/debug/xvc", stdin: None, timeout: None }
...
๐ข The failure is in line
let mut cmd = Command::cargo_bin("xvc").unwrap();
so probably it waits for user input to complete but it doesnโt have one and cannot complete it, so returns an error.
๐ฆ Letโs comment the earlier test out and check if other tests work.
๐ข Yes, they fail the same. When there is no command to run, xvc returns an error. Maybe we can change this behavior or handle the error in Command::cargo_bin
line above.
๐ I checked the code and we donโt handle no arguments case anywhere. It looks the behavior to return an error code is inherited from clap.
๐ข Updated the error handling code to at least report the more descriptive message from the source.
cargo test -p xvc --test test_completions
...
failures:
---- test_completions stdout ----
Output { status: ExitStatus(unix_wait_status(25856)), stdout: "", stderr: "\nthread 'main' panicked at /Users/iex/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/clap_builder-4.5.20/src/builder/debug_asserts.rs:341:13:\nCommand pipeline: command `export` alias `l` is duplicated\nstack backtrace:\n 0: rust_begin_unwind\n at /rustc/b1a7dfb91106018f47ed9dc9b27aee1977682868/library/std/src/panicking.rs:692:5\n 1: core::panicking::panic_fmt\n at /rustc/b1a7dfb91106018f47ed9dc9b27aee1977682868/library/core/src/panicking.rs:75:14\n 2: clap_builder::builder::debug_asserts::assert_app\n at /Users/iex/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/clap_builder-4.5.20/src/builder/debug_asserts.rs:341:13\n 3: clap_builder::builder::command::Command::_build_self\n at /Users/iex/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/clap_builder-4.5.20/src/builder/command.rs:4173:13\n 4: clap_builder::builder::command::Command::_build_recursive\n at /Users/iex/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/clap_builder-4.5.20/src/builder/command.rs:4076:9\n 5: clap_builder::builder::command::Command::_build_recursive\n at /Users/iex/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/clap_builder-4.5.20/src/builder/command.rs:4078:13\n 6: clap_builder::builder::command::Command::build\n at /Users/iex/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/clap_builder-4.5.20/src/builder/command.rs:4071:9\n 7: clap_complete::env::CompleteEnv<F>::try_complete_\n at /Users/iex/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/clap_complete-4.5.40/src/env/mod.rs:229:9\n 8: clap_complete::env::CompleteEnv<F>::try_complete\n at /Users/iex/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/clap_complete-4.5.40/src/env/mod.rs:210:9\n 9: xvc::main\n at ./src/main.rs:18:30\n 10: core::ops::function::FnOnce::call_once\n at /Users/iex/.rustup/toolchains/nightly-aarch64-apple-darwin/lib/rustlib/src/rust/library/core/src/ops/function.rs:250:5\nnote: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.\n" }
ExitStatus(unix_wait_status(25856))
...
error: test failed, to rerun pass `-p xvc --test test_completions`
๐ข The real issue is when we assert the successful run, at this line:
assert!(output.status.success(), "Command failed: {:?}", prepared);
๐ If you look at the error message carefully, youโll see that this is a different error. We added an alias to xvc pipeline export
with l
, which is a duplicate.
๐ข Oops, yeah.
cargo test -p xvc --test test_completions
...
test test_completions ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.81s
๐ There are some warnings in compilation. Letโs fix these.
cargo build
Compiling xvc-storage v0.6.14-alpha.8 (/Users/iex/github.com/iesahin/xvc/storage)
Compiling xvc-file v0.6.14-alpha.8 (/Users/iex/github.com/iesahin/xvc/file)
Compiling xvc-pipeline v0.6.14-alpha.8 (/Users/iex/github.com/iesahin/xvc/pipeline)
Compiling xvc v0.6.14-alpha.8 (/Users/iex/github.com/iesahin/xvc/lib)
Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.28s
๐ข Finished build without warnings. Now we can run the whole test suite again.
๐ Tests are running fine. Updated some error messages and types and doc tests also pass. There is an issue with Rsync storage ref.
๐ข It looks we try to elide output with [...]
while the proper format is [..]
.
๐ Replaced them with ...
that will elide multiple lines.
๐ข Pushed changes to the server.