Task #1665
open
start_scen должен быть в библиотеке репозитория тестов
Added by Alexander Kamkin over 13 years ago.
Updated about 13 years ago.
Description
Генерируемый метод start_scen() одинаков для всех тестовых систем - его место в библиотеке репозитория тестов.
Перенос этого метода в библиотеку позволит пользоваться репозиторием не только для VeriTool-тестов.
Для поддержки старых тестовых систем, в библиотеке нужно назвать этот метод иначе.
Более того, нужно провести ревизию имен функций в библиотеке репозитория тестов (например, добавить в функции суффикс _TestRegistry).
- Status changed from New to Resolved
- Assignee changed from Mikhail Chupilko to Alexander Kamkin
r119
В тестовый репозиторий (netfsm/.../utils/testreg.*) добавлены функции startscen_cpp_TestRegistry(...) и startscen_TestRegistry(...), ссылку на которые теперь создает Veritool при генерации файла vpi_systf.cpp. Но они обе требуют доступности Veritool, в частности, файла sync.h и в нем функции start_scenario_with_wrapper.
Поддержка старых тестовых систем сохранена.
- Status changed from Resolved to Feedback
- Assignee changed from Alexander Kamkin to Mikhail Chupilko
Предположим, что у меня есть репозиторий.
TEST_REGISTRY_BEGIN
REGISTER_TEST(test1, engine::fsm, "...")
...
REGISTER_TEST(testN, engine::fsm, "...")
TEST_REGISTRY_END
int main(int argc, char **argv)
{
// как запустить test1?
// как запустить тест, заданный в <argc, argv>?
}
- Assignee changed from Mikhail Chupilko to Alexander Kamkin
Примерно такая последовательность команд должна помочь в случае CppTestScenario:
char scen_name = <take_it_from_argv_in_some_way>;
char *scen_argv = <take_it_from_argv_also_in_some_way>;
int scen_number = find_scenario_TestRegistry(scen_name, scen_argv);
CppTestScenario test = ((cpptesk::ts::ScenarioBase*)test_registry[scen_number].testScenario)->getTestScenario();
set_scenario_wrapper(test, test_registry[scen_number].testEngine, scen_argv, 0 /*netscen*/);
scenario_wrapper_cpp();
Also available in: Atom
PDF