def test_load_from_netcdf_and_write_metadata_to_db(empty_temp_db): netcdf_file_path = (Path(__file__).parent / "fixtures" / "db_files" / "netcdf" / "qcodes_2.nc") if not os.path.exists(str(netcdf_file_path)): pytest.skip("No netcdf fixtures found.") ds = DataSetInMem._load_from_netcdf(netcdf_file_path) ds.write_metadata_to_db() loaded_ds = load_by_run_spec(captured_run_id=ds.captured_run_id) assert isinstance(loaded_ds, DataSetInMem) assert loaded_ds.captured_run_id == ds.captured_run_id assert loaded_ds.captured_counter == ds.captured_counter assert loaded_ds.run_timestamp_raw == ds.run_timestamp_raw assert loaded_ds.completed_timestamp_raw == ds.completed_timestamp_raw compare_datasets(ds, loaded_ds) # now we attempt to write again. This should be a noop so everything should # stay the same ds.write_metadata_to_db() loaded_ds = load_by_run_spec(captured_run_id=ds.captured_run_id) assert isinstance(loaded_ds, DataSetInMem) assert loaded_ds.captured_run_id == ds.captured_run_id assert loaded_ds.captured_counter == ds.captured_counter assert loaded_ds.run_timestamp_raw == ds.run_timestamp_raw assert loaded_ds.completed_timestamp_raw == ds.completed_timestamp_raw compare_datasets(ds, loaded_ds)
def test_load_from_netcdf_no_db_file(non_created_db): netcdf_file_path = (Path(__file__).parent / "fixtures" / "db_files" / "netcdf" / "qcodes_2.nc") if not os.path.exists(str(netcdf_file_path)): pytest.skip("No netcdf fixtures found.") ds = DataSetInMem._load_from_netcdf(netcdf_file_path) ds.write_metadata_to_db() loaded_ds = load_by_run_spec(captured_run_id=ds.captured_run_id) assert isinstance(loaded_ds, DataSetInMem) compare_datasets(ds, loaded_ds)
def test_load_from_netcdf_legacy_version(non_created_db): # Qcodes 0.26 exported netcdf files did not contain # the parent dataset links and used a different engine to write data # check that it still loads correctly netcdf_file_path = (Path(__file__).parent / "fixtures" / "db_files" / "netcdf" / "qcodes_v26.nc") if not os.path.exists(str(netcdf_file_path)): pytest.skip("No netcdf fixtures found.") ds = DataSetInMem._load_from_netcdf(netcdf_file_path) ds.write_metadata_to_db() loaded_ds = load_by_run_spec(captured_run_id=ds.captured_run_id) assert isinstance(loaded_ds, DataSetInMem) compare_datasets(ds, loaded_ds)