Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Customizing the module's entry point

Boost , Boost.Test , Single-header variant customizations

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

В этом варианте использования в вашем едином блоке перевода необходимо определить макросы<BOOST_TEST_NO_MAIN>и<BOOST_TEST_ALTERNATIVE_INIT_API>(их значения не имеют значения) до включения любого из заголовков фреймворка. Затем вы должны определить свою пользовательскую точку входа и вызвать тестовый бегун по умолчанию<unit_test_main>вручную с функцией инициализации по умолчанию<init_unit_test>в качестве аргумента.

Example: using custom entry point

Код

<
#defineBOOST_TEST_MODULEcustom_main
#defineBOOST_TEST_NO_MAIN
#defineBOOST_TEST_ALTERNATIVE_INIT_API
#include<boost/test/included/unit_test.hpp>
#include<iostream>
namespaceutf=boost::unit_test;
BOOST_AUTO_TEST_CASE(test1)
{
 BOOST_TEST(false);
}
voidmake_use_of(char**)
{
 std::cout<<"Using custom entry point..."<<std::endl;
}
intmain(intargc,char*argv[],char*envp[])
{
 make_use_of(envp);
 returnutf::unit_test_main(init_unit_test,argc,argv);
}
>

выход

<
>custom_main
Usingcustomentrypoint...
Running1testcase...
test.cpp(10):error:in"test1":checkfalsehasfailed
***1failureisdetectedinthetestmodule"custom_main"
>

В приведенном выше примере была выбрана пользовательская точка входа, поскольку тестовый модуль в дополнение к аргументам командной строки должен получать также информацию о переменных окружения.

[Note] Note

Приведенный выше пример также иллюстрирует, что имеет смысл определить как<BOOST_TEST_MODULE>, так и<BOOST_TEST_NO_MAIN>. Таким образом, структура не генерируется<main>, но указанное имя присваиваетсяMaster Test Suite.

[Note] Note

Причина определения<BOOST_TEST_ALTERNATIVE_INIT_API>описаназдесь.


PrevUpHomeNext

Статья Customizing the module's entry point раздела Boost.Test Single-header variant customizations может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Single-header variant customizations ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 18:49:14/0.0065269470214844/0