--- a/testexecfw/symbianunittestfw/sutfw/sutfwui/sutfwconsoleui/tsrc/src/ut_symbianunittestcommandlineparser.cpp Mon Mar 08 15:03:44 2010 +0800
+++ b/testexecfw/symbianunittestfw/sutfw/sutfwui/sutfwconsoleui/tsrc/src/ut_symbianunittestcommandlineparser.cpp Mon Mar 29 14:46:27 2010 +0800
@@ -60,9 +60,14 @@
{
BASE_CONSTRUCT
+ DEFINE_TEST_CLASS( UT_CSymbianUnitTestCommandLineParser )
+
ADD_SUT( UT_SetOutputFormatL )
ADD_SUT( UT_SetTestDllNamesL )
ADD_SUT( UT_FindArgumentL )
+ ADD_SUT( UT_SetTimeoutL )
+ ADD_SUT( UT_SetTestCaseNamesL )
+ //ADD_SUT( UT_TestCommandLineL )
}
// ---------------------------------------------------------------------------
@@ -116,7 +121,38 @@
iParser->SetOutputFormatL();
SUT_ASSERT_EQUALS( _L( "txt" ), iParser->OutputFormat() )
}
+// -----------------------------------------------------------------------------
+//
+// -----------------------------------------------------------------------------
+//
+void UT_CSymbianUnitTestCommandLineParser::UT_SetTimeoutL()
+ {
+ // Default timeout.
+ iParser->iArguments->Args().Reset();
+ iParser->SetTimeoutL();
+ SUT_ASSERT_EQUALS( iParser->Timeout(), 30 )
+ // Set timeout=50, long form.
+ _LIT( KTimeoutLong, "-timeout=50" );
+ iParser->iArguments->Args().Reset();
+ iParser->iArguments->Args().AppendL( KTimeoutLong );
+ iParser->SetTimeoutL();
+ SUT_ASSERT_EQUALS( iParser->Timeout(), 50 )
+
+ // Set timeout=50, short form.
+ _LIT( KTimeoutShort, "-to=20" );
+ iParser->iArguments->Args().Reset();
+ iParser->iArguments->Args().AppendL( KTimeoutShort );
+ iParser->SetTimeoutL();
+ SUT_ASSERT_EQUALS( iParser->Timeout(), 20 )
+
+ // Set timeout to invalid value, long form.
+ _LIT( KInvalidTimeoutLong, "-timeout=-50" );
+ iParser->iArguments->Args().Reset();
+ iParser->iArguments->Args().AppendL( KInvalidTimeoutLong );
+ iParser->SetTimeoutL();
+ SUT_ASSERT_EQUALS( iParser->Timeout(), 30 )
+ }
// -----------------------------------------------------------------------------
//
// -----------------------------------------------------------------------------
@@ -162,6 +198,57 @@
SUT_ASSERT( !iParser->ShowHelp() )
}
+// ---------------------------------------------------------------------------
+//
+// ---------------------------------------------------------------------------
+//
+void UT_CSymbianUnitTestCommandLineParser::UT_SetTestCaseNamesL()
+ {
+ // Testcase Names, no name.
+ iParser->SetTestCaseNamesL();
+ SUT_ASSERT( !iParser->TestCaseNames().MdcaCount() )
+
+ // One testcase name, long form.
+ _LIT( KOneTestCaseNameLong, "-cases=case1" );
+ iParser->iArguments->Args().Reset();
+ iParser->iArguments->Args().AppendL( KOneTestCaseNameLong );
+ iParser->SetTestCaseNamesL();
+ SUT_ASSERT_EQUALS( 1, iParser->TestCaseNames().MdcaCount() )
+ SUT_ASSERT_EQUALS(
+ _L( "case1" ), iParser->TestCaseNames().MdcaPoint( 0 ) )
+
+ // One testcase name, short form.
+ _LIT( KOneTestCaseNameShort, "-c=case2" );
+ iParser->iArguments->Args().Reset();
+ iParser->iArguments->Args().AppendL( KOneTestCaseNameShort );
+ iParser->SetTestCaseNamesL();
+ SUT_ASSERT_EQUALS( 1, iParser->TestCaseNames().MdcaCount() )
+ SUT_ASSERT_EQUALS(
+ _L( "case2" ), iParser->TestCaseNames().MdcaPoint( 0 ) )
+
+ // Two testcase names, long form.
+ _LIT( KTwoTestCaseNameLong, "-cases=case3,case4" );
+ iParser->iArguments->Args().Reset();
+ iParser->iArguments->Args().AppendL( KTwoTestCaseNameLong );
+ iParser->SetTestCaseNamesL();
+ SUT_ASSERT_EQUALS( 2, iParser->TestCaseNames().MdcaCount() )
+ SUT_ASSERT_EQUALS(
+ _L( "case3" ), iParser->TestCaseNames().MdcaPoint( 0 ) )
+ SUT_ASSERT_EQUALS(
+ _L( "case4" ), iParser->TestCaseNames().MdcaPoint( 1 ) )
+
+ // Two testcase names, short form.
+ _LIT( KTwoTestCaseNameShort, "-c=case5,case6" );
+ iParser->iArguments->Args().Reset();
+ iParser->iArguments->Args().AppendL( KTwoTestCaseNameShort );
+ iParser->SetTestCaseNamesL();
+ SUT_ASSERT_EQUALS( 2, iParser->TestCaseNames().MdcaCount() )
+ SUT_ASSERT_EQUALS(
+ _L( "case5" ), iParser->TestCaseNames().MdcaPoint( 0 ) )
+ SUT_ASSERT_EQUALS(
+ _L( "case6" ), iParser->TestCaseNames().MdcaPoint( 1 ) )
+ }
+
// -----------------------------------------------------------------------------
//
// -----------------------------------------------------------------------------
@@ -212,3 +299,54 @@
SUT_ASSERT( iParser->FindArgument( KNullDesC, KShortKey, value ) )
SUT_ASSERT_EQUALS( _L( "value2" ), value )
}
+
+void UT_CSymbianUnitTestCommandLineParser::LaunchExample( TInt aType )
+{
+ _LIT( KSymbianUnitTestFilename, "symbianunittest.exe" );
+ _LIT( KSymbianUnitTestArgs, "-t=ut_racecar.dll -noprompt -output=" );
+
+ const TInt KMaxArgLength( 255 );
+ TBuf<KMaxArgLength> strArgs;
+ strArgs.Copy( KSymbianUnitTestArgs );
+
+ switch( aType )
+ {
+ case 0: // html
+ strArgs.Append( _L("html") );
+ break;
+
+ case 1: // xml
+ strArgs.Append( _L("xml") );
+ break;
+
+ case 2: // txt
+ strArgs.Append( _L("txt") );
+ break;
+
+ default:
+ //strArgs.Append( _L("html") );
+ strArgs = strArgs.Left( 27 );
+ }
+
+ RProcess proc;
+ proc.Create( KSymbianUnitTestFilename, strArgs );
+ TRequestStatus status;
+ proc.Logon( status );
+ proc.Resume();
+
+ User::WaitForRequest( status );
+ proc.Close();
+ if ( KErrNone != status.Int() )
+ {
+ User::LeaveIfError( status.Int() );
+ }
+}
+
+void UT_CSymbianUnitTestCommandLineParser::UT_TestCommandLineL()
+ {
+ // set output = html, xml, txt, default;
+ for(TInt i=0; i<30; ++i)
+ {
+ LaunchExample(i);
+ }
+ }