реализация BOOST_TEST test_runner для запуска нескольких тестов из разных общих библиотек - PullRequest
0 голосов
/ 18 февраля 2020

Я пытаюсь реализовать test_runner для BOOST_TEST, который подключается к набору shared_libs, содержащих тесты.

Я получил начальный пример libs / test / tools / console_test_runner от официального boost sr c , Но, к сожалению, этот код не компилируется и не поддерживается .

Мне удалось установить работающий test_runner, который отлично работает для первой итерации, которая загружает разделяемую библиотеку и выполняет ее testcases. Но если я загружаю любую другую разделяемую библиотеку во второй итерации, поведение test_runner не определено и вылетает.

Я поделился примером кода как суть. Я предполагаю, что проблема заключается в деинициализации фреймворкового теста в общем коде, но я не могу понять, почему. Load_library open / close выглядит хорошо для меня.

gist

1 Ответ

0 голосов
/ 22 апреля 2020

Как написано сегодня, Boost.Test ожидает, что будет выполнена только одна и уникальная инициализация.

По сути из вашего Gist, в конце вызова bool load_test_lib() Boost.Test продолжает свою инициализацию с деревом тестов, которое должно быть определено при извлечении символов вашей общей библиотеки. Я полагаю, что оттуда вы можете загрузить другие общие библиотеки, но прежде чем вернуться из функции load_test_lib.

...