![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Class execution_monitorBoost , Boost.Test , Header <boost/test/execution_monitor.hpp>
|
![]() | Примечание |
---|---|
выполнение() не считает ошибкой для F возвращать ненулевое значение. |
См. также:
Параметры: |
[[[[] [ | [[] [[] [[] | [[] [[] | [] [ | ] [[ | Функция мониторинга |
Возврат:
возвращаемое значение по вызову функции F().
voidvexecuteboost::Функция<void]]][Точка входа монитора исполнения для функций, возвращающих пустоту.
Этот метод семантически идентичен execution_monitor::execute, но не дает никакого кода результата.
См. также:
выполнить
Параметры: |
|
шаблон<TypenameTypenamevoidregister_ Exception_translatorconst&tr,const_string=const_string::boost<*Регистрирует пользовательский (поставляемый пользователем) переводчик исключения.
Данный шаблон метода регистрирует переводчика для типа исключения, указанного в качестве первого аргумента шаблона. Например,
voidmyExceptTrMyException&ex]/*делать что-то, за исключением здесь.emрегистр_исключение_переводчик<MyException>myExceptTr
Переводчиком должен быть любой унарный объект функции/функтора, который принимает MyException const&. Это может быть функция свободного стояния или метод связанного класса. Второй аргумент - это дополнительный тег строки, который вы можете связать с этой рутиной переводчика. Единственная причина указать тег, если вы планируете удалить переводчик в конечном итоге. Это может быть полезно при повторном использовании одного и того же экземпляраexecution_monitor
для мониторинга различных процедур и необходимости регистрации переводчика, специфичного для контролируемой процедуры. Хотя можно удалить переводчик на основе типа исключения, для которого он был зарегистрирован, строка тега обеспечивает более простой способ сделать это.
шаблон<имя типаИсключение Тип>пустотастирание_исключение_переводчикповышение::тип<>*=0;[526Стирает пользовательский переводчик исключений на основе типа исключения.
исключение Тип исключения, для которого вы хотите удалить переводчик
execution_monitor
public
public data membersunit_test::readwrite_property<bool>p_catch_system_errors
Свойствоp_catch_system_errors, определяющее, следует лиexecution_monitorулавливать системные ошибки/исключения/сигналы системного уровня, что привело бы к сбою программы в обычном случае (безexecution_monitor. Установите это свойство на ложное, например, если вы хотите принудительно создать файл. Unit Test Framework предоставляет параметр времени выполнения--catch_system_errors=yes
для изменения поведения в контролируемых тестовых случаях.
unit_test::readwrite_property<bool>p_auto_start_dbg
Свойствоp_auto_start_dbgс указанием того, следует лиexecution_monitorпытаться прикрепить отладчик в случае обнаружения ошибки системы.
unit_test::readwrite_property<unsigned>p_timeout;
Свойствоp_timeoutявляется целым тайм-аутом (в секундах) для выполнения контролируемой функции. Используйте этот параметр для мониторинга кода с возможными тупиками или неопределенными циклами. Эта функция доступна только для некоторых операционных систем (но не для Microsoft Windows).
unit_test::readwrite_property<bool>p_use_alt_stack;
Свойствоp_use_alt_stack, определяющее, должен лиexecution_monitorиспользовать альтернативный стек для ловли сигнала на основе сигакции. При включении сигналы доставляются вexecution_monitorна стеке, отличном от текущего стека исполнения, который является более безопасным в случае, если он поврежден контролируемой функцией. Более подробную информацию об альтернативной обработке стека см. в соответствующих руководствах.
unit_test::readwrite_property<unsigned>p_detect_fp_ Exceptions
Свойствоp_detect_fp_ Exceptionsопределяет, следует лиexecution_monitorустанавливать аппаратные ловушки для исключения плавающей точки на платформах, где оно поддерживается.
Статья Class execution_monitor раздела Boost.Test Header <boost/test/execution_monitor.hpp> может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: Header <boost/test/execution_monitor.hpp> ::
реклама |