wlanutilities/wlanwizard/tsrc/ut/main.cpp
author hgs
Thu, 16 Sep 2010 12:52:33 +0300
changeset 61 e1d68407ed06
parent 53 bdc64aa9b954
permissions -rw-r--r--
201037

/*
 * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
 * which accompanies this distribution, and is available
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 *
 * Initial Contributors:
 * Nokia Corporation - initial contribution.
 *
 * Contributors:
 *
 * Description:
 */

// System includes
#include <HbApplication>
#include <QtCore>
#include <QTest>
#include <QDebug>
#include <QList>

// User includes
#include "testwlanwizard.h"
#include "testwlanwizardeap.h"
#include "testwlanwizardconnect.h"
#include "testwlanwizardmanual.h"
#include "testwlanwizardwps.h"

static bool match(int argc, char *argv[], const QString &tc);

// ======== LOCAL FUNCTIONS ========
int main(int argc, char *argv[])
{
    HbApplication app(argc, argv);
    int res = 0;
    char *pass[3];
    pass[0] = argv[0];
    pass[1] = "-o";
    
    // log folder: 
    // - emulator: \epoc32\winscw\c\data
    // - device:   c:\data
    
    // By default all test cases are executed.
    // Use following to limit the testcases as your needs:
    // t_wlanwizard -t <testcases>
    //     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;
    }
    
    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;
    }

    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;
    }
    
    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;
}