Project

General

Profile

Actions

Task #1665

open

start_scen должен быть в библиотеке репозитория тестов

Added by Alexander Kamkin over 13 years ago. Updated about 13 years ago.

Status:
Feedback
Priority:
Normal
Start date:
08/22/2011
Due date:
% Done:

0%

Estimated time:
Detected in build:
svn
Published in build:

Description

Генерируемый метод start_scen() одинаков для всех тестовых систем - его место в библиотеке репозитория тестов.
Перенос этого метода в библиотеку позволит пользоваться репозиторием не только для VeriTool-тестов.

Для поддержки старых тестовых систем, в библиотеке нужно назвать этот метод иначе.
Более того, нужно провести ревизию имен функций в библиотеке репозитория тестов (например, добавить в функции суффикс _TestRegistry).

Actions #1

Updated by Mikhail Chupilko over 13 years ago

  • 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.

Поддержка старых тестовых систем сохранена.

Actions #2

Updated by Alexander Kamkin about 13 years ago

  • 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>?
}

Actions #3

Updated by Mikhail Chupilko about 13 years ago

  • 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();

Actions

Also available in: Atom PDF