diff -r 301aeb18ae47 -r b47b808de481 wlanutilities/wlanwizard/tsrc/ut/main.cpp --- a/wlanutilities/wlanwizard/tsrc/ut/main.cpp Fri Sep 17 08:35:49 2010 +0300 +++ b/wlanutilities/wlanwizard/tsrc/ut/main.cpp Mon Oct 04 02:07:04 2010 +0300 @@ -28,53 +28,101 @@ #include "testwlanwizardmanual.h" #include "testwlanwizardwps.h" +static bool match(int argc, char *argv[], const QString &tc); + // ======== LOCAL FUNCTIONS ======== int main(int argc, char *argv[]) { - qDebug("TestWlanWizard main start"); HbApplication app(argc, argv); int res = 0; char *pass[3]; pass[0] = argv[0]; pass[1] = "-o"; - // log folder: \epoc32\winscw\c\data + // log folder: + // - emulator: \epoc32\winscw\c\data + // - device: c:\data - app.setApplicationName("TestWlanWizardUtilities"); - pass[2] = "c:\\data\\TestWlanWizardUtilities.txt"; - TestWlanWizard *tcUtilities = new TestWlanWizard(); - res |= QTest::qExec(tcUtilities, 3, pass); - delete tcUtilities; - tcUtilities = NULL; - - app.setApplicationName("TestWlanWizardConnect"); - pass[2] = "c:\\data\\TestWlanWizardConnect.txt"; - TestWlanWizardConnect *tcConnect = new TestWlanWizardConnect(); - res |= QTest::qExec(tcConnect, 3, pass); - delete tcConnect; - tcConnect = NULL; + // By default all test cases are executed. + // Use following to limit the testcases as your needs: + // t_wlanwizard -t + // testcases utils connect manual eap wps + // e.g. t_wlanwizard -t connect wps + // runs only "connect" and "wps" test cases + + if (match(argc, argv, "utils")) { + app.setApplicationName("TestWlanWizardUtilities"); + pass[2] = "c:\\data\\TestWlanWizardUtilities.txt"; + TestWlanWizard *tcUtilities = new TestWlanWizard(); + res |= QTest::qExec(tcUtilities, 3, pass); + delete tcUtilities; + tcUtilities = NULL; + } - app.setApplicationName("TestWlanWizardManual"); - pass[2] = "c:\\data\\TestWlanWizardManual.txt"; - TestWlanWizardManual *tcManual = new TestWlanWizardManual(); - res |= QTest::qExec(tcManual, 3, pass); - delete tcManual; - tcManual = NULL; + if (match(argc, argv, "connect")) { + app.setApplicationName("TestWlanWizardConnect"); + pass[2] = "c:\\data\\TestWlanWizardConnect.txt"; + TestWlanWizardConnect *tcConnect = new TestWlanWizardConnect(); + res |= QTest::qExec(tcConnect, 3, pass); + delete tcConnect; + tcConnect = NULL; + } + + if (match(argc, argv, "manual")) { + app.setApplicationName("TestWlanWizardManual"); + pass[2] = "c:\\data\\TestWlanWizardManual.txt"; + TestWlanWizardManual *tcManual = new TestWlanWizardManual(); + res |= QTest::qExec(tcManual, 3, pass); + delete tcManual; + tcManual = NULL; + } + + if (match(argc, argv, "eap")) { + app.setApplicationName("TestWlanWizardEap"); + pass[2] = "c:\\data\\TestWlanWizardEap.txt"; + TestWlanWizardEap *tcEap = new TestWlanWizardEap(); + res |= QTest::qExec(tcEap, 3, pass); + delete tcEap; + tcEap = NULL; + } - app.setApplicationName("TestWlanWizardEap"); - pass[2] = "c:\\data\\TestWlanWizardEap.txt"; - TestWlanWizardEap *tcEap = new TestWlanWizardEap(); - res |= QTest::qExec(tcEap, 3, pass); - delete tcEap; - tcEap = NULL; - - app.setApplicationName("TestWlanWizardWps"); - pass[2] = "c:\\data\\TestWlanWizardWps.txt"; - TestWlanWizardWps *tcWps = new TestWlanWizardWps(); - res |= QTest::qExec(tcWps, 3, pass); - delete tcWps; - tcWps = NULL; + if (match(argc, argv, "wps")) { + app.setApplicationName("TestWlanWizardWps"); + pass[2] = "c:\\data\\TestWlanWizardWps.txt"; + TestWlanWizardWps *tcWps = new TestWlanWizardWps(); + res |= QTest::qExec(tcWps, 3, pass); + delete tcWps; + tcWps = NULL; + } - qDebug("TestWlanWizard main exit"); return res; } + +bool match(int argc, char *argv[], const QString &tc) +{ + bool testArgument = false; + bool testCase = false; + bool ret = true; + + int i = argc; + while( --i > 0) { + if (QString(argv[i]) == QString("-t")) { + testArgument = true; + break; + } + } + + i = argc; + while( --i > 0) { + if (QString(argv[i]) == tc) { + testCase = true; + break; + } + } + + if (testArgument && !testCase) { + ret = false; + } + + return ret; +}