1 # Basic test configuration for CSV parser
3 # Define test cases with their properties
4 # Format: [test_name, test_file, test_description]
6 ['basic', 'test.csv', 'Simple test to verify the parser can be executed'],
7 ['empty', 'empty.csv', 'Test with empty CSV'],
8 ['quotes', 'quotes.csv', 'Test with quotes'],
9 ['complex', 'complex.csv', 'Test with complex CSV structures'],
10 ['header_only', 'header_only.csv', 'Test with header only CSV'],
11 ['empty_fields', 'empty_fields.csv', 'Test with empty fields'],
14 # Special test cases that should fail due to parser limitations
16 # No currently failing tests
19 # Get shell program once
20 sh = find_program('sh')
22 # Create tests for normal cases
23 foreach test_case : csv_test_cases
24 test_name = test_case[0]
25 test_file = test_case[1]
26 test_desc = test_case[2]
28 test('csv_parser_' + test_name,
30 args: ['-c', csv_parser.full_path() + ' < ' + meson.current_source_dir() / test_file],
31 workdir: meson.current_source_dir(),
35 # Create tests for expected failures
36 foreach test_case : csv_failing_tests
37 test_name = test_case[0]
38 test_file = test_case[1]
39 test_desc = test_case[2]
41 test('csv_parser_' + test_name,
43 args: ['-c', csv_parser.full_path() + ' < ' + meson.current_source_dir() / test_file],
44 workdir: meson.current_source_dir(),