changed remaining cmd line checks to cmd.raiseError

This commit is contained in:
Phil Nash 2012-06-03 19:03:17 +01:00
parent 8d02b9306d
commit 535edcb73b
2 changed files with 11 additions and 11 deletions

View File

@ -94,7 +94,7 @@ namespace Catch {
try { try {
if( Command cmd = parser.find( "-l", "--list" ) ) { if( Command cmd = parser.find( "-l", "--list" ) ) {
if( cmd.argsCount() > 2 ) if( cmd.argsCount() > 2 )
throw std::domain_error( cmd.name() + " expected upto 2 arguments but recieved: " ); cmd.raiseError( "Expected upto 2 arguments" );
List::What listSpec = List::All; List::What listSpec = List::All;
if( cmd.argsCount() >= 1 ) { if( cmd.argsCount() >= 1 ) {
@ -103,7 +103,7 @@ namespace Catch {
else if( cmd[0] == "reporters" ) else if( cmd[0] == "reporters" )
listSpec = List::Reports; listSpec = List::Reports;
else else
throw std::domain_error( cmd.name() + " expected [tests] or [reporters] but recieved: : " ); cmd.raiseError( "Expected [tests] or [reporters]" );
} }
if( cmd.argsCount() >= 2 ) { if( cmd.argsCount() >= 2 ) {
if( cmd[1] == "xml" ) if( cmd[1] == "xml" )
@ -111,14 +111,14 @@ namespace Catch {
else if( cmd[1] == "text" ) else if( cmd[1] == "text" )
listSpec = static_cast<List::What>( listSpec | List::AsText ); listSpec = static_cast<List::What>( listSpec | List::AsText );
else else
throw std::domain_error( cmd.name() + " expected [xml] or [text] but recieved: " ); cmd.raiseError( "Expected [xml] or [text]" );
} }
config.setListSpec( static_cast<List::What>( config.getListSpec() | listSpec ) ); config.setListSpec( static_cast<List::What>( config.getListSpec() | listSpec ) );
} }
if( Command cmd = parser.find( "-t", "--test" ) ) { if( Command cmd = parser.find( "-t", "--test" ) ) {
if( cmd.argsCount() == 0 ) if( cmd.argsCount() == 0 )
throw std::domain_error( cmd.name() + " expected at least 1 argument but recieved none" ); cmd.raiseError( "Expected at least one argument" );
for( std::size_t i = 0; i < cmd.argsCount(); ++i ) for( std::size_t i = 0; i < cmd.argsCount(); ++i )
config.addTestSpec( cmd[i] ); config.addTestSpec( cmd[i] );
} }
@ -131,7 +131,7 @@ namespace Catch {
if( Command cmd = parser.find( "-o", "--out" ) ) { if( Command cmd = parser.find( "-o", "--out" ) ) {
if( cmd.argsCount() == 0 ) if( cmd.argsCount() == 0 )
throw std::domain_error( cmd.name() + " expected filename" ); cmd.raiseError( "Expected filename" );
if( cmd[0][0] == '%' ) if( cmd[0][0] == '%' )
config.useStream( cmd[0].substr( 1 ) ); config.useStream( cmd[0].substr( 1 ) );
else else
@ -140,31 +140,31 @@ namespace Catch {
if( Command cmd = parser.find( "-s", "--success" ) ) { if( Command cmd = parser.find( "-s", "--success" ) ) {
if( cmd.argsCount() != 0 ) if( cmd.argsCount() != 0 )
throw std::domain_error( cmd.name() + " does not accept arguments" ); cmd.raiseError( "Does not accept arguments" );
config.setIncludeWhichResults( Include::SuccessfulResults ); config.setIncludeWhichResults( Include::SuccessfulResults );
} }
if( Command cmd = parser.find( "-b", "--break" ) ) { if( Command cmd = parser.find( "-b", "--break" ) ) {
if( cmd.argsCount() != 0 ) if( cmd.argsCount() != 0 )
throw std::domain_error( cmd.name() + " does not accept arguments" ); cmd.raiseError( "Does not accept arguments" );
config.setShouldDebugBreak( true ); config.setShouldDebugBreak( true );
} }
if( Command cmd = parser.find( "-n", "--name" ) ) { if( Command cmd = parser.find( "-n", "--name" ) ) {
if( cmd.argsCount() != 1 ) if( cmd.argsCount() != 1 )
throw std::domain_error( cmd.name() + " requires exactly one argument (a name)" ); cmd.raiseError( "Expected a name" );
config.setName( cmd[0] ); config.setName( cmd[0] );
} }
if( Command cmd = parser.find( "-h", "-?", "--help" ) ) { if( Command cmd = parser.find( "-h", "-?", "--help" ) ) {
if( cmd.argsCount() != 0 ) if( cmd.argsCount() != 0 )
throw std::domain_error( cmd.name() + " does not accept arguments" ); cmd.raiseError( "Does not accept arguments" );
config.setShowHelp( true ); config.setShowHelp( true );
} }
if( Command cmd = parser.find( "-a", "--abort" ) ) { if( Command cmd = parser.find( "-a", "--abort" ) ) {
if( cmd.argsCount() > 1 ) if( cmd.argsCount() > 1 )
throw std::domain_error( cmd.name() + " only accepts 0-1 arguments" ); cmd.raiseError( "Only accepts 0-1 arguments" );
int threshold = 1; int threshold = 1;
if( cmd.argsCount() == 1 ) if( cmd.argsCount() == 1 )
{ {

View File

@ -112,7 +112,7 @@ TEST_CASE( "selftest/parser", "" ) {
Catch::Config config; Catch::Config config;
CHECK( parseIntoConfig( argv, config ) == false ); CHECK( parseIntoConfig( argv, config ) == false );
REQUIRE_THAT( config.getMessage(), Contains( "none" ) ); REQUIRE_THAT( config.getMessage(), Contains( "at least one" ) );
} }
} }