1
0
mirror of https://github.com/CLIUtils/CLI11.git synced 2025-05-05 06:33:52 +00:00

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>
This commit is contained in:
Philip Top 2021-09-28 06:33:28 -07:00 committed by GitHub
parent b440890eaf
commit 81b092e085
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 38 additions and 9 deletions

View File

@ -27,13 +27,34 @@ jobs:
submodules: true submodules: true
- name: Add wget - name: Add wget
run: apt-get update && apt-get install -y wget run: apt-get update && apt-get install -y wget
- name: Setup cmake - name: Get cmake
uses: jwlawson/actions-setup-cmake@v1.11 uses: jwlawson/actions-setup-cmake@v1.11
- name: Configure - name: Configure
run: cmake -S . -B build -DCLI11_CUDA_TESTS=ON run: cmake -S . -B build -DCLI11_CUDA_TESTS=ON
- name: Build - name: Build
run: cmake --build build -j2 run: cmake --build build -j2
boost-build:
name: Boost build
runs-on: ubuntu-latest
container: zouzias/boost:1.76.0
steps:
- uses: actions/checkout@v1
with:
submodules: true
- name: Add deps
run: apt-get update && apt-get install make
- name: Get CMake
uses: jwlawson/actions-setup-cmake@v1.11
- name: Configure
run: cmake -S . -B build -DCLI11_BOOST=ON
- name: Build
run: cmake --build build -j2
- name: Run tests
run: ctest --output-on-failure
working-directory: build
cmake-config: cmake-config:
name: CMake config check name: CMake config check
runs-on: ubuntu-latest runs-on: ubuntu-latest

View File

@ -258,11 +258,13 @@ TEST_CASE_METHOD(TApp, "BoostOptionalVector", "[optional]") {
"-v,--vec", [&opt](const std::vector<int> &v) { opt = v; }, "some vector") "-v,--vec", [&opt](const std::vector<int> &v) { opt = v; }, "some vector")
->expected(3); ->expected(3);
run(); run();
CHECK(!opt); bool checkOpt = static_cast<bool>(opt);
CHECK(!checkOpt);
args = {"-v", "1", "4", "5"}; args = {"-v", "1", "4", "5"};
run(); run();
CHECK(opt); checkOpt = static_cast<bool>(opt);
CHECK(checkOpt);
std::vector<int> expV{1, 4, 5}; std::vector<int> expV{1, 4, 5};
CHECK(expV == *opt); CHECK(expV == *opt);
} }
@ -272,14 +274,17 @@ TEST_CASE_METHOD(TApp, "BoostOptionalVectorEmpty", "[optional]") {
app.add_option<decltype(opt), std::vector<int>>("-v,--vec", opt)->expected(0, 3)->allow_extra_args(); app.add_option<decltype(opt), std::vector<int>>("-v,--vec", opt)->expected(0, 3)->allow_extra_args();
// app.add_option("-v,--vec", opt)->expected(0, 3)->allow_extra_args(); // app.add_option("-v,--vec", opt)->expected(0, 3)->allow_extra_args();
run(); run();
CHECK(!opt); bool checkOpt = static_cast<bool>(opt);
CHECK(!checkOpt);
args = {"-v"}; args = {"-v"};
opt = std::vector<int>{4, 3}; opt = std::vector<int>{4, 3};
run(); run();
CHECK(!opt); checkOpt = static_cast<bool>(opt);
CHECK(!checkOpt);
args = {"-v", "1", "4", "5"}; args = {"-v", "1", "4", "5"};
run(); run();
CHECK(opt); checkOpt = static_cast<bool>(opt);
CHECK(checkOpt);
std::vector<int> expV{1, 4, 5}; std::vector<int> expV{1, 4, 5};
CHECK(expV == *opt); CHECK(expV == *opt);
} }
@ -289,14 +294,17 @@ TEST_CASE_METHOD(TApp, "BoostOptionalVectorEmptyDirect", "[optional]") {
app.add_option_no_stream("-v,--vec", opt)->expected(0, 3)->allow_extra_args(); app.add_option_no_stream("-v,--vec", opt)->expected(0, 3)->allow_extra_args();
// app.add_option("-v,--vec", opt)->expected(0, 3)->allow_extra_args(); // app.add_option("-v,--vec", opt)->expected(0, 3)->allow_extra_args();
run(); run();
CHECK(!opt); bool checkOpt = static_cast<bool>(opt);
CHECK(!checkOpt);
args = {"-v"}; args = {"-v"};
opt = std::vector<int>{4, 3}; opt = std::vector<int>{4, 3};
run(); run();
CHECK(!opt); checkOpt = static_cast<bool>(opt);
CHECK(!checkOpt);
args = {"-v", "1", "4", "5"}; args = {"-v", "1", "4", "5"};
run(); run();
CHECK(opt); checkOpt = static_cast<bool>(opt);
CHECK(checkOpt);
std::vector<int> expV{1, 4, 5}; std::vector<int> expV{1, 4, 5};
CHECK(expV == *opt); CHECK(expV == *opt);
} }