Skip to content

Commit f7787c8

Browse files
committed
Add unit test of prefix_in_list
To demonstrate that the refactored version works as expected.
1 parent eb7b032 commit f7787c8

File tree

4 files changed

+41
-0
lines changed

4 files changed

+41
-0
lines changed

unit/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ target_link_libraries(
5151
testing-utils
5252
ansi-c
5353
solvers
54+
goto-cc-lib
5455
goto-checker
5556
goto-programs
5657
goto-instrument-lib

unit/Makefile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ SRC += analyses/ai/ai.cpp \
1919
big-int/big-int.cpp \
2020
compound_block_locations.cpp \
2121
get_goto_model_from_c_test.cpp \
22+
goto-cc/armcc_cmdline.cpp \
2223
goto-checker/report_util/is_property_less_than.cpp \
2324
goto-instrument/cover_instrument.cpp \
2425
goto-instrument/cover/cover_only.cpp \
@@ -162,6 +163,8 @@ testing-utils-clean:
162163
BMC_DEPS =../src/cbmc/c_test_input_generator$(OBJEXT) \
163164
../src/cbmc/cbmc_languages$(OBJEXT) \
164165
../src/cbmc/cbmc_parse_options$(OBJEXT) \
166+
../src/goto-cc/armcc_cmdline$(OBJEXT) \
167+
../src/goto-cc/goto_cc_cmdline$(OBJEXT) \
165168
../src/goto-instrument/source_lines$(OBJEXT) \
166169
../src/goto-instrument/cover$(OBJEXT) \
167170
../src/goto-instrument/cover_basic_blocks$(OBJEXT) \

unit/goto-cc/armcc_cmdline.cpp

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
/// \file
2+
/// Unit tests of src/goto-cc/armcc_cmdline.cpp
3+
/// \author Diffblue Ltd.
4+
5+
#include <testing-utils/use_catch.h>
6+
7+
#include <util/optional.h>
8+
9+
#include <string>
10+
#include <vector>
11+
12+
optionalt<std::string>
13+
prefix_in_list(const std::string &option, const std::vector<std::string> &list);
14+
15+
static const std::vector<std::string> test_list{"spam", "eggs", "and", "ham"};
16+
17+
TEST_CASE("prefix_in_list exact match", "[core][armcc_cmdline][prefix_in_list]")
18+
{
19+
REQUIRE(*prefix_in_list("spam", test_list) == "spam");
20+
REQUIRE(*prefix_in_list("ham", test_list) == "ham");
21+
}
22+
23+
TEST_CASE(
24+
"prefix_in_list match prefix",
25+
"[core][armcc_cmdline][prefix_in_list]")
26+
{
27+
REQUIRE(*prefix_in_list("sp", test_list) == "spam");
28+
REQUIRE(*prefix_in_list("ha", test_list) == "ham");
29+
}
30+
31+
TEST_CASE("prefix_in_list unmatched", "[core][armcc_cmdline][prefix_in_list]")
32+
{
33+
REQUIRE_FALSE(prefix_in_list("foobar", test_list));
34+
}

unit/goto-cc/module_dependencies.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
goto-cc
2+
testing-utils
3+
util

0 commit comments

Comments
 (0)