bfvmm
src
misc
test
test_guard_exceptions.cpp
Go to the documentation of this file.
1
//
2
// Bareflank Hypervisor
3
//
4
// Copyright (C) 2015 Assured Information Security, Inc.
5
// Author: Rian Quinn <quinnr@ainfosec.com>
6
// Author: Brendan Kerrigan <kerriganb@ainfosec.com>
7
//
8
// This library is free software; you can redistribute it and/or
9
// modify it under the terms of the GNU Lesser General Public
10
// License as published by the Free Software Foundation; either
11
// version 2.1 of the License, or (at your option) any later version.
12
//
13
// This library is distributed in the hope that it will be useful,
14
// but WITHOUT ANY WARRANTY; without even the implied warranty of
15
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16
// Lesser General Public License for more details.
17
//
18
// You should have received a copy of the GNU Lesser General Public
19
// License along with this library; if not, write to the Free Software
20
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21
22
#include <
test.h
>
23
#include <
guard_exceptions.h
>
24
25
void
26
misc_ut::test_guard_exceptions_no_return()
27
{
28
this->
expect_no_exception
([&] {
guard_exceptions
([&]{
throw
bfn::general_exception
(); }); });
29
this->
expect_no_exception
([&] {
guard_exceptions
([&]{
throw
std::logic_error(
"error"
); }); });
30
this->
expect_no_exception
([&] {
guard_exceptions
([&]{
throw
std::bad_alloc(); }); });
31
this->
expect_no_exception
([&] {
guard_exceptions
([&]{
throw
10; }); });
32
}
33
34
void
35
misc_ut::test_guard_exceptions_with_return()
36
{
37
this->
expect_true
(
guard_exceptions
(10L, [&] {
throw
bfn::general_exception
(); }) == 10L);
38
this->
expect_true
(
guard_exceptions
(10L, [&] {
throw
std::logic_error(
"error"
); }) == 10L);
39
this->
expect_true
(
guard_exceptions
(10L, [&] {
throw
std::bad_alloc(); }) ==
BF_BAD_ALLOC
);
40
this->
expect_true
(
guard_exceptions
(10L, [&] {
throw
10; }) == 10L);
41
}
expect_no_exception
#define expect_no_exception(f)
Definition:
unittest.h:198
test.h
guard_exceptions.h
bfn::general_exception
Definition:
exception.h:57
BF_BAD_ALLOC
#define BF_BAD_ALLOC
Definition:
error_codes.h:128
guard_exceptions
E guard_exceptions(E error_code, T func)
Definition:
guard_exceptions.h:29
expect_true
#define expect_true(a)
Definition:
exit_handler_intel_x64_unittests.h:38
Generated on Fri Apr 28 2017 22:11:41 by
1.8.14