Skip to content

Commit 81b092e

Browse files
phlptphenryiii
andauthored
tests: fix the compile issues with the boost<optional> tests and catch (#646)
* Fix the compile issues with the boost<optional> tests and catch * tests: add Boost test (back) Co-authored-by: Henry Schreiner <henryschreineriii@gmail.com>
1 parent b440890 commit 81b092e

File tree

2 files changed

+38
-9
lines changed

2 files changed

+38
-9
lines changed

.github/workflows/tests.yml

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,34 @@ jobs:
2727
submodules: true
2828
- name: Add wget
2929
run: apt-get update && apt-get install -y wget
30-
- name: Setup cmake
30+
- name: Get cmake
3131
uses: jwlawson/actions-setup-cmake@v1.11
3232
- name: Configure
3333
run: cmake -S . -B build -DCLI11_CUDA_TESTS=ON
3434
- name: Build
3535
run: cmake --build build -j2
3636

37+
38+
boost-build:
39+
name: Boost build
40+
runs-on: ubuntu-latest
41+
container: zouzias/boost:1.76.0
42+
steps:
43+
- uses: actions/checkout@v1
44+
with:
45+
submodules: true
46+
- name: Add deps
47+
run: apt-get update && apt-get install make
48+
- name: Get CMake
49+
uses: jwlawson/actions-setup-cmake@v1.11
50+
- name: Configure
51+
run: cmake -S . -B build -DCLI11_BOOST=ON
52+
- name: Build
53+
run: cmake --build build -j2
54+
- name: Run tests
55+
run: ctest --output-on-failure
56+
working-directory: build
57+
3758
cmake-config:
3859
name: CMake config check
3960
runs-on: ubuntu-latest

tests/OptionalTest.cpp

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -258,11 +258,13 @@ TEST_CASE_METHOD(TApp, "BoostOptionalVector", "[optional]") {
258258
"-v,--vec", [&opt](const std::vector<int> &v) { opt = v; }, "some vector")
259259
->expected(3);
260260
run();
261-
CHECK(!opt);
261+
bool checkOpt = static_cast<bool>(opt);
262+
CHECK(!checkOpt);
262263

263264
args = {"-v", "1", "4", "5"};
264265
run();
265-
CHECK(opt);
266+
checkOpt = static_cast<bool>(opt);
267+
CHECK(checkOpt);
266268
std::vector<int> expV{1, 4, 5};
267269
CHECK(expV == *opt);
268270
}
@@ -272,14 +274,17 @@ TEST_CASE_METHOD(TApp, "BoostOptionalVectorEmpty", "[optional]") {
272274
app.add_option<decltype(opt), std::vector<int>>("-v,--vec", opt)->expected(0, 3)->allow_extra_args();
273275
// app.add_option("-v,--vec", opt)->expected(0, 3)->allow_extra_args();
274276
run();
275-
CHECK(!opt);
277+
bool checkOpt = static_cast<bool>(opt);
278+
CHECK(!checkOpt);
276279
args = {"-v"};
277280
opt = std::vector<int>{4, 3};
278281
run();
279-
CHECK(!opt);
282+
checkOpt = static_cast<bool>(opt);
283+
CHECK(!checkOpt);
280284
args = {"-v", "1", "4", "5"};
281285
run();
282-
CHECK(opt);
286+
checkOpt = static_cast<bool>(opt);
287+
CHECK(checkOpt);
283288
std::vector<int> expV{1, 4, 5};
284289
CHECK(expV == *opt);
285290
}
@@ -289,14 +294,17 @@ TEST_CASE_METHOD(TApp, "BoostOptionalVectorEmptyDirect", "[optional]") {
289294
app.add_option_no_stream("-v,--vec", opt)->expected(0, 3)->allow_extra_args();
290295
// app.add_option("-v,--vec", opt)->expected(0, 3)->allow_extra_args();
291296
run();
292-
CHECK(!opt);
297+
bool checkOpt = static_cast<bool>(opt);
298+
CHECK(!checkOpt);
293299
args = {"-v"};
294300
opt = std::vector<int>{4, 3};
295301
run();
296-
CHECK(!opt);
302+
checkOpt = static_cast<bool>(opt);
303+
CHECK(!checkOpt);
297304
args = {"-v", "1", "4", "5"};
298305
run();
299-
CHECK(opt);
306+
checkOpt = static_cast<bool>(opt);
307+
CHECK(checkOpt);
300308
std::vector<int> expV{1, 4, 5};
301309
CHECK(expV == *opt);
302310
}

0 commit comments

Comments
 (0)