Описание regexp:
^
- начало строки
$
- конец строки
.
- любой символ
*
- любое количество (так, .*
- любое количество любых символов)
\d
- любое число
(a|b|c)
- либо a
, либо b
, либо c
\
- экранирование спец. символов (так, \.
- ищем символ точки, а не любой символ)
Дополнительное обозначение в этом файле:
...
- любой текст
Получение данных из названия файла (в функции src/parser/config.hpp::getTestDataFromPath
)
Регулярка: ^.*/(.*)_(c|cpp)_(incorrect_arguments|plausibility|correct_interface)_(\d+)_(\d+)\.cfg$
Пример входных данных: .../correct_interface/check_obb2d_array_f32_c_correct_interface_2_1.cfg
Распарсится как: .../correct_interface/(check_obb2d_array_f32)_(c)_(correct_interface)_(2)_(1).cfg
Result[0] = .../correct_interface/check_obb2d_array_f32_c_correct_interface_2_1.cfg
Result[1] = check_obb2d_array_f32
Result[2] = c
Result[3] = correct_interface
Result[4] = 2
Result[5] = 1
Проверка заголовка конфига (в функции src/validator/config.hpp::validateHeader
)
Регулярка: .*# (.[^\\n]*)_(c|cpp)_" + testData.testType + "_(\\d+)_(\\d+).*
Пример входных данных: ...# check_obb2d_f32_array_c_correct_interface_2_4...
Распарсится как: # (check_obb2d_f32_array)_(c)_correct_interface_(2)_(4)
Result[0] = ...# check_obb2d_f32_array_c_correct_interface_2_4...
Result[1] = check_obb2d_f32_array
Result[2] = c
Result[3] = correct_interface
Result[4] = 2
Result[5] = 4
Проверка TEST_SUITE_NAME (в функции src/validator/config.hpp::validateHeader
)
Регулярка: .*\\[//\\]: #TEST_SUITE_NAME=(.[^\\n]*)_(c|cpp)_" + testData.testType + ".*
Пример входных данных: ...[//]: #TEST_SUITE_NAME=check_obb2d_array_f32_c_correct_interface...
Распарсится как: [//]: #TEST_SUITE_NAME=(check_obb2d_array_f32)_(c)_correct_interface
Result[0] = ...[//]: #TEST_SUITE_NAME=check_obb2d_array_f32_c_correct_interface...
Result[1] = check_obb2d_f32_array
Result[2] = c
Result[3] = correct_interface