test_file_get_load_instr.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 
24 void
25 bfelf_loader_ut::test_bfelf_file_get_load_instr_invalid_ef()
26 {
27  bfelf_load_instr *instr = nullptr;
28 
29  auto ret = bfelf_file_get_load_instr(nullptr, 0, &instr);
31 }
32 
33 void
34 bfelf_loader_ut::test_bfelf_file_get_load_instr_invalid_index()
35 {
36  auto ret = 0LL;
37  bfelf_load_instr *instr = nullptr;
38 
39  bfelf_file_t ef;
40  auto &&data = get_test();
41  auto &&buff = std::get<0>(data);
42  auto &&size = std::get<1>(data);
43 
44  ret = bfelf_file_init(buff.get(), size, &ef);
45  this->expect_true(ret == BFELF_SUCCESS);
46 
47  ret = bfelf_file_get_load_instr(&ef, 10, &instr);
49 }
50 
51 void
52 bfelf_loader_ut::test_bfelf_file_get_load_instr_invalid_instr()
53 {
54  auto ret = 0LL;
55 
56  bfelf_file_t ef;
57  auto &&data = get_test();
58  auto &&buff = std::get<0>(data);
59  auto &&size = std::get<1>(data);
60 
61  ret = bfelf_file_init(buff.get(), size, &ef);
62  this->expect_true(ret == BFELF_SUCCESS);
63 
64  ret = bfelf_file_get_load_instr(&ef, 0, nullptr);
66 }
67 
68 void
69 bfelf_loader_ut::test_bfelf_file_get_load_instr_success()
70 {
71  auto ret = 0LL;
72  bfelf_load_instr *instr = nullptr;
73 
74  bfelf_file_t ef;
75  auto &&data = get_test();
76  auto &&buff = std::get<0>(data);
77  auto &&size = std::get<1>(data);
78 
79  ret = bfelf_file_init(buff.get(), size, &ef);
80  this->expect_true(ret == BFELF_SUCCESS);
81 
82  ret = bfelf_file_get_load_instr(&ef, 0, &instr);
83  this->expect_true(ret == BFELF_SUCCESS);
84 }
#define BFELF_ERROR_INVALID_ARG
Definition: error_codes.h:81
int64_t unsigned long void * data
#define BFELF_ERROR_INVALID_INDEX
Definition: error_codes.h:83
constexpr const auto size
#define BFELF_SUCCESS
Definition: error_codes.h:80
#define expect_true(a)