# Basic test configuration for CSV parser # Define test cases with their properties # Format: [test_name, test_file, test_description] csv_test_cases = [ ['basic', 'test.csv', 'Simple test to verify the parser can be executed'], ['empty', 'empty.csv', 'Test with empty CSV'], ['quotes', 'quotes.csv', 'Test with quotes'], ['complex', 'complex.csv', 'Test with complex CSV structures'], ['header_only', 'header_only.csv', 'Test with header only CSV'], ['empty_fields', 'empty_fields.csv', 'Test with empty fields'], ] # Special test cases that should fail due to parser limitations csv_failing_tests = [ # No currently failing tests ] # Get shell program once sh = find_program('sh') # Create tests for normal cases foreach test_case : csv_test_cases test_name = test_case[0] test_file = test_case[1] test_desc = test_case[2] test('csv_parser_' + test_name, sh, args: ['-c', csv_parser.full_path() + ' < ' + meson.current_source_dir() / test_file], workdir: meson.current_source_dir(), timeout: 5) endforeach # Create tests for expected failures foreach test_case : csv_failing_tests test_name = test_case[0] test_file = test_case[1] test_desc = test_case[2] test('csv_parser_' + test_name, sh, args: ['-c', csv_parser.full_path() + ' < ' + meson.current_source_dir() / test_file], workdir: meson.current_source_dir(), timeout: 30, should_fail: true) endforeach