def TestReadGlobCSVFixture(): filenames = [] base_name = get_unique_filename(extension="") pytest.glob_path = "{}_*.csv".format(base_name) pytest.files = ["{}_{}.csv".format(base_name, i) for i in range(11)] for fname in pytest.files: # Glob does not guarantee ordering so we have to remove the randomness in the generated csvs. _make_csv_file(filenames)(fname, row_size=11, remove_randomness=True) yield teardown_test_files(filenames)
def make_csv_file(): filenames = [] yield _make_csv_file(filenames) # Delete csv files that were created teardown_test_files(filenames)
def TestReadCSVFixture(): filenames = [] files_ids = [ "test_read_csv_regular", "test_read_csv_blank_lines", "test_read_csv_yes_no", "test_read_csv_nans", "test_read_csv_bad_lines", ] # each xdist worker spawned in separate process with separate namespace and dataset pytest.csvs_names = { file_id: get_unique_filename() for file_id in files_ids } # test_read_csv_col_handling, test_read_csv_parsing _make_csv_file(filenames)( filename=pytest.csvs_names["test_read_csv_regular"], ) # test_read_csv_parsing _make_csv_file(filenames)( filename=pytest.csvs_names["test_read_csv_yes_no"], additional_col_values=["Yes", "true", "No", "false"], ) # test_read_csv_col_handling _make_csv_file(filenames)( filename=pytest.csvs_names["test_read_csv_blank_lines"], add_blank_lines=True, ) # test_read_csv_nans_handling _make_csv_file(filenames)( filename=pytest.csvs_names["test_read_csv_nans"], add_blank_lines=True, additional_col_values=[ "<NA>", "N/A", "NA", "NULL", "custom_nan", "73" ], ) # test_read_csv_error_handling _make_csv_file(filenames)( filename=pytest.csvs_names["test_read_csv_bad_lines"], add_bad_lines=True, ) yield # Delete csv files that were created teardown_test_files(filenames)
def make_csv_file(): """Pytest fixture factory that makes temp csv files for testing. Yields: Function that generates csv files """ filenames = [] yield _make_csv_file(filenames) # Delete csv files that were created teardown_test_files(filenames)