remove use of windows-2019 image in azure CI tests (#1172)

Azure windows 2019 image is being deprecated, shift CI to windows-2022
and windows 2025 images
add tests for coverage and a few missing checks for duplication options.

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
This commit is contained in:
Philip Top
2025-06-18 20:19:28 -07:00
committed by GitHub
parent 26bb3f2e30
commit 13658df9e1
4 changed files with 41 additions and 6 deletions

View File

@@ -951,6 +951,12 @@ TEST_CASE_METHOD(TApp, "vectorEmptyArg", "[optiontype]") {
run();
CHECK(cv.size() == 2);
CHECK(cv[1] == "[]");
args = {"-c", "test1", "[[aa]]"};
run();
CHECK(cv.size() == 2);
CHECK(cv[1] == "[a]");
}
TEST_CASE_METHOD(TApp, "vectorDoubleArg", "[optiontype]") {

View File

@@ -1851,6 +1851,25 @@ TEST_CASE_METHOD(TApp, "subcommand_help", "[subcom]") {
CHECK(called);
}
TEST_CASE_METHOD(TApp, "DuplicateErrors", "[subcom]") {
app.allow_non_standard_option_names();
app.add_option("-t");
app.add_option("m");
app.add_option("--quit");
auto *sub1 = app.add_option_group("sub1");
CHECK_THROWS_AS(sub1->add_option("-t"), CLI::OptionAlreadyAdded);
CHECK_THROWS_AS(sub1->add_option("--t"), CLI::OptionAlreadyAdded);
CHECK_THROWS_AS(sub1->add_option("t"), CLI::OptionAlreadyAdded);
CHECK_THROWS_AS(sub1->add_option("-m"), CLI::OptionAlreadyAdded);
CHECK_THROWS_AS(sub1->add_option("--m"), CLI::OptionAlreadyAdded);
CHECK_THROWS_AS(sub1->add_option("m"), CLI::OptionAlreadyAdded);
CHECK_THROWS_AS(sub1->add_option("quit"), CLI::OptionAlreadyAdded);
CHECK_THROWS_AS(sub1->add_option("--quit"), CLI::OptionAlreadyAdded);
sub1->allow_non_standard_option_names();
CHECK_THROWS_AS(sub1->add_option("-quit"), CLI::OptionAlreadyAdded);
}
TEST_CASE_METHOD(TApp, "AliasErrors", "[subcom]") {
auto *sub1 = app.add_subcommand("sub1");
auto *sub2 = app.add_subcommand("sub2");