#![cfg(unix)]
use lance_core::utils::tempfile::TempStdDir;
use lance_io::object_store::ObjectStore;
#[tokio::test]
async fn relative_uri_fails_cleanly_when_the_working_directory_is_gone() {
let tmp = TempStdDir::default();
let workdir = tmp.join("workdir");
std::fs::create_dir(&workdir).unwrap();
std::env::set_current_dir(&workdir).unwrap();
std::fs::remove_dir(&workdir).unwrap();
let err = ObjectStore::from_uri("./dataset.lance")
.await
.expect_err("a relative location cannot resolve without a working directory");
assert!(
matches!(err, lance_core::Error::InvalidInput { .. }),
"got: {err:?}"
);
assert!(err.to_string().contains("dataset.lance"), "got: {err}");
}