#11893 closed Bugs (fixed)
boost program_options regression (--arg1 value) fails ( --arg1=value) ok
Reported by: | Owned by: | Vladimir Prus | |
---|---|---|---|
Milestone: | To Be Determined | Component: | program_options |
Version: | Boost 1.61.0 | Severity: | Regression |
Keywords: | unix_style | Cc: |
Description
The following test passes with boost 1.53 and fails with boost > 1.59
{
This test fails on boost 1.59, can't cope --arg1 10, only --arg1=10 * It does not honour the default style i.e unix * char* argv[] = {
const_cast<char*>("test_program_options_implicit_value"), const_cast<char*>("--arg1"), const_cast<char*>("10")
};
po::variables_map vm; po::store(po::parse_command_line(3, argv, desc), vm); po::notify(vm);
BOOST_CHECK_MESSAGE(vm.count("arg1"), "Expected arg1"); BOOST_CHECK_MESSAGE(vmarg1.as<string>() == "10", "Expected arg1 with value of 10 but found '" << vmarg1.as<string>() << "'");
}
In addition the default style is unix_style, which according to the header file should be able to cope with both styles.
Change History (3)
comment:1 by , 7 years ago
comment:2 by , 5 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
The correct program should be: