diff --git a/rust-bindings/rust/src/lib.rs b/rust-bindings/rust/src/lib.rs index 7fb6f836..ba306f5f 100644 --- a/rust-bindings/rust/src/lib.rs +++ b/rust-bindings/rust/src/lib.rs @@ -1,3 +1,9 @@ +//! # Rust bindings for [libostree](https://ostree.readthedocs.io) +//! +//! libostree is both a shared library and suite of command line tools that combines +//! a "git-like" model for committing and downloading bootable filesystem trees, +//! along with a layer for deploying them and managing the bootloader configuration. + #![doc(html_root_url = "https://fkrull.gitlab.io/ostree-rs")] extern crate gio_sys; diff --git a/rust-bindings/rust/tests/repo.rs b/rust-bindings/rust/tests/repo.rs index 7f8a7d11..a4049ba0 100644 --- a/rust-bindings/rust/tests/repo.rs +++ b/rust-bindings/rust/tests/repo.rs @@ -99,3 +99,29 @@ fn should_checkout_tree() { let testfile_contents = std::fs::read_to_string(testfile_path).expect("test file"); assert_eq!("test\n", testfile_contents); } + +// TODO: figure this out and turn it back on +#[test] +#[ignore] +fn should_error_safely_when_passing_empty_file_info_to_checkout_tree() { + let test_repo = TestRepo::new(); + let _ = test_repo.test_commit("test"); + + let file = test_repo + .repo + .read_commit("test", NONE_CANCELLABLE) + .expect("read commit") + .0 + .downcast::() + .expect("RepoFile"); + let result = test_repo.repo.checkout_tree( + ostree::RepoCheckoutMode::User, + ostree::RepoCheckoutOverwriteMode::None, + &gio::File::new_for_path("/"), + &file, + &gio::FileInfo::new(), + NONE_CANCELLABLE, + ); + + assert!(result.is_err()); +}