remove the failing test

This commit is contained in:
Tamo 2025-02-10 10:20:14 +01:00
parent 7f82d33597
commit 35b6bca598

View File

@ -269,65 +269,3 @@ async fn check_the_index_features(server: &Server) {
snapshot!(results, name: "search_with_sort_and_filter"); snapshot!(results, name: "search_with_sort_and_filter");
} }
#[actix_rt::test]
#[cfg(target_os = "macos")] // The test should work everywhere but in the github CI it only works on macOS
async fn import_v1_12_0_with_version_file_error() {
use index_scheduler::versioning::Versioning;
use meilisearch_types::heed;
let temp = tempfile::tempdir().unwrap();
let original_db_path = exist_relative_path!("tests/upgrade/v1_12/v1_12_0.ms");
let options = Opt {
experimental_dumpless_upgrade: true,
master_key: Some("kefir".to_string()),
..default_settings(temp.path())
};
copy_dir_all(original_db_path, &options.db_path).unwrap();
// We're going to drop the write permission on the VERSION file to force Meilisearch to fail its startup.
let version_path = options.db_path.join("VERSION");
let file = std::fs::File::options().write(true).open(&version_path).unwrap();
let mut perms = file.metadata().unwrap().permissions();
perms.set_readonly(true);
file.set_permissions(perms).unwrap();
file.sync_all().unwrap();
drop(file);
let err = Server::new_with_options(options.clone()).await.map(|_| ()).unwrap_err();
snapshot!(err, @"Permission denied (os error 13)");
let env = unsafe {
heed::EnvOpenOptions::new()
.max_dbs(Versioning::nb_db())
.map_size(1024 * 1024 * 1024)
.open(options.db_path.join("tasks"))
}
.unwrap();
// Even though the v1.12 don't have a version in its index-scheduler initially, after
// failing the startup the version should have been written before even trying to
// update the version file
let mut wtxn = env.write_txn().unwrap();
let versioning = Versioning::raw_new(&env, &mut wtxn).unwrap();
let version = versioning.get_version(&wtxn).unwrap().unwrap();
snapshot!(format!("{version:?}"), @"(1, 12, 0)");
drop(wtxn);
env.prepare_for_closing().wait();
// Finally we check that even after a first failure the engine can still start and work as expected
let file = std::fs::File::open(&version_path).unwrap();
let mut perms = file.metadata().unwrap().permissions();
#[allow(clippy::permissions_set_readonly_false)]
perms.set_readonly(false);
file.set_permissions(perms).unwrap();
file.sync_all().unwrap();
drop(file);
let mut server = Server::new_with_options(options).await.unwrap();
server.use_api_key("kefir");
check_the_keys(&server).await;
check_the_index_scheduler(&server).await;
check_the_index_features(&server).await;
}