stifui/qt/src/stifexecutor.cpp
changeset 41 6c7007136f84
parent 35 98924d2efce9
child 47 11fa016241a4
--- a/stifui/qt/src/stifexecutor.cpp	Tue Jul 06 14:17:03 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,407 +0,0 @@
-/*
- * 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: QT C++ and Symbian C++ combination Class.
- *              STIF UI interface and engine caller implementaion.
- *
- */
-#include <e32base.h>
-#include <e32cons.h>
-#include <e32svr.h>
-#include <f32file.h>
-#include <HAL.h>
-#include <hal_data.h>
-#include "stiflogger.h"
-#include <QString>
-#include "stifexecutor.h"
-#include "StifTFwIf.h"
-
-_LIT( KLogPath, "\\Logs\\STFUI\\" ); 
-// Log file
-_LIT( KLogFile, "StifUi.log" ); 
-
-CStifExecutor::CStifExecutor() :
-    listenerList(NULL)
-    {
-    iLog = CStifLogger::NewL( KLogPath, 
-            KLogFile,
-            CStifLogger::ETxt,
-            CStifLogger::EFile,
-            ETrue,
-            ETrue,
-            ETrue,
-            EFalse,
-            ETrue,
-            EFalse,
-            100 );
-
-
-    iLog->Log(_L("started"));
-    TInt result;
-    TRAP(result, CUIStoreIf::ConstructL());
-    iLog->Log(_L("CUIStoreIf ConstructL, result=%d"), result);
-    if (result != KErrNone)
-        {
-        return;
-        }
-    TRAP(result, iBuffer = HBufC::NewL(500));
-    iLog->Log(_L("Create Case Execution output buffer, result=%d"), result);
-
-    }
-
-CStifExecutor::~CStifExecutor()
-    {
-    UIStore().Close();
-    delete iBuffer;
-    if (listenerList)
-        {
-        delete listenerList;
-        listenerList = NULL;
-        }
-    iLog->Log(_L("finished"));
-    }
-
-bool CStifExecutor::OpenIniFile(const QString& filename)
-    {
-    TInt result = UIStore().Open(QString2TPtrC(filename));
-    iLog->Log(_L("Open ini file %s.result=%d"),QString2TPtrC(filename).Ptr(),result);
-    return (result == KErrNone);
-    }
-
-TPtrC CStifExecutor::QString2TPtrC(const QString& aString)
-    {
-    TPtrC ret(reinterpret_cast<const TText*> (aString.constData()),
-            aString.length());
-    return ret;
-    }
-QString CStifExecutor::TDesC2QString(const TDesC& des)
-    {
-    //#ifdef QT_NO_UNICODE
-    //return QString::fromLocal8Bit((char*)des.Ptr(), des.Length());
-    //#else
-    QString rst = QString::fromUtf16(des.Ptr(), des.Length());
-    return rst;
-    //#endif
-    }
-
-bool CStifExecutor::LogResult(const TInt result,const QString str)
-    {
-    QString tmp = str + " result=%d";
-    iLog->Log(QString2TPtrC(tmp), result);
-    bool rst = true;
-    if(result != KErrNone)
-        {
-        rst = false;
-        }
-    return rst;
-    }
-
-void CStifExecutor::AddStifCaseUpdateListener(
-        IStifCaseUpdateListener* listener)
-    {
-    iLog->Log(_L("AddStifCaseUpdateListener"));
-    if (!listenerList)
-        {
-        listenerList = new QList<IStifCaseUpdateListener*> ();
-        }
-    if (!listenerList->contains(listener))
-        {
-        listenerList->append(listener);
-        }
-    }
-
-void CStifExecutor::RemoveStifCaseUpdateListener(
-        IStifCaseUpdateListener* listener)
-    {
-    iLog->Log(_L("RemoveStifCaseUpdateListener"));
-    if (!listenerList)
-        {
-        return;
-        }
-
-    if (listenerList->contains(listener))
-        {
-        listenerList->removeOne(listener);
-        }
-
-    }
-
-QList<CSTFModule> CStifExecutor::GetModuleList()
-    {
-    QList<CSTFModule> list;
-    RRefArray<TDesC> modules;
-    iLog->Log(_L("GetModuleList"));
-    TInt ret = UIStore().Modules(modules);
-    iLog->Log(_L("LoadAllModules %d"), ret);
-    iLog->Log(_L("Modules number=%d"), modules.Count());
-    for (TInt i = 0; i < modules.Count(); i++)
-        {
-        iLog->Log(_L("Get Module Names %d"), i);
-        iLog->Log(_L("Get Module Name = %d .=%s"),i,modules[i].Ptr());
-            
-        CSTFModule module;
-        module.SetName(QString::fromUtf16(modules[i].Ptr(),
-                modules[i].Length()));
-        //module.SetName(TDesC2QString(modules[i]));
-        list.append(module);
-        }
-    modules.Reset();
-    modules.Close();
-    return list;
-    }
-
-QList<CSTFCase> CStifExecutor::GetCaseList(const QString& moduleName)
-    {
-    TPtrC name = QString2TPtrC(moduleName);
-    QList<CSTFCase> list;
-    RRefArray<CTestInfo> testCases;
-    TInt ret = UIStore().TestCases(testCases, name, KNullDesC);
-    iLog->Log(_L("Get TestCases: %d"), ret);
-    for (TInt i = 0; i < testCases.Count(); i++)
-        {
-        iLog->Log(_L("Case Number: %d"),testCases[i].TestCaseNum());
-        iLog->Log(_L("Case Name: %s"),testCases[i].TestCaseTitle().Ptr());
-        CSTFCase testcase;
-        testcase.SetName(TDesC2QString(testCases[i].TestCaseTitle()));
-        testcase.SetIndex(i);
-        list.append(testcase);
-        }
-    testCases.Reset();
-    testCases.Close();
-    return list;
-    }
-
-void CStifExecutor::ExecuteSingleCase(const QString& moduleName, const int caseIndex)
-    {
-    iLog->Log(_L("ExecuteCase start"));
-    TPtrC name = QString2TPtrC(moduleName);
-    RRefArray<CTestInfo> testCases;
-    TInt ret = UIStore().TestCases(testCases, name, KNullDesC);
-    iLog->Log(_L("Get TestCases return code=%d"), ret);
-    if (testCases.Count() > caseIndex)
-        {
-        TInt index;
-        UIStore().StartTestCase(testCases[caseIndex], index);
-        iLog->Log(_L("start test case index=%d"), index);
-        }
-    testCases.Reset();
-    testCases.Close();
-    iLog->Log(_L("ExecuteCase end"));
-
-    }
-
-QList<QString> CStifExecutor::GetSetList()
-    {
-    QList<QString> list;
-    RRefArray<TDesC> aArray;
-    TInt ret = UIStore().GetTestSetsList(aArray);
-    iLog->Log(_L("Get TestSet list return code=%d"), ret);
-    if (ret != KErrNone) //setInfos.Count() != 1
-        {
-        return list;
-        }
-    for (int i = 0; i < aArray.Count(); i++)
-        {
-        list.append(TDesC2QString(aArray[i]));
-        }
-    aArray.Reset();
-    aArray.Close();
-    return list;
-    }
-
-QList<CSTFCase> CStifExecutor::GetCaseListFromSet(const QString& setName)
-    {
-    iLog->Log(_L("GetCaseListFromSet start."));
-    QList<CSTFCase> list;
-    TPtrC name = QString2TPtrC(setName);
-
-    //iLog->Log(name);
-    if (name.Length() == 0)
-        {
-        return list;
-        }
-
-    iLog->Log(_L("name.Length()=%d"), name.Length());
-    TInt ret = UIStore().LoadTestSet(name);
-    iLog->Log(_L("Load Test Set return=%d"),ret);
-    const CTestSetInfo* set = NULL;
-    TRAP(ret , set = &UIStore().TestSetL(name));
-    iLog->Log(_L("GetCaseListFromSet TestSetL."));
-    if(ret != KErrNone)
-        {
-        return list;
-        }
-    const RRefArray<const CTestInfo>& testCases = set->TestCases();
-    iLog->Log(_L("GetCaseListFromSet TestCases."));
-    TInt count = testCases.Count();
-    for (TInt i = 0; i < count; i++)
-        {
-        CSTFCase testcase;
-        testcase.SetName(TDesC2QString(testCases[i].TestCaseTitle()));
-        testcase.SetIndex(testCases[i].TestCaseNum());
-        testcase.SetModuleName(TDesC2QString(testCases[i].ModuleName()));
-        list.append(testcase);
-        }
-    iLog->Log(_L("GetCaseListFromSet end."));
-    return list;
-    }
-
-bool CStifExecutor::CreateSet(const QString& setName)
-    {
-    TPtrC name = QString2TPtrC(setName);
-    TInt ret = UIStore().CreateTestSet(name);
-    return LogResult(ret, "CreateSet");
-    }
-
-bool CStifExecutor::SaveSet(QString& setName)
-    {
-    TPtrC name = QString2TPtrC(setName);
-    TFileName testSetName;
-    testSetName.Copy(name);
-    TInt ret = UIStore().SaveTestSet(testSetName);
-    setName = TDesC2QString(testSetName);
-    return LogResult(ret, "SaveSet");
-    }
-
-bool CStifExecutor::RemoveSet(const QString& setName)
-    {
-    //This method wil not work at this stage.
-    TPtrC name = QString2TPtrC(setName);
-    TInt ret = UIStore().RemoveTestSet(name);
-    return LogResult(ret, "RemoveSet");
-    }
-
-bool CStifExecutor::AddtoSet(const QString& setName, CSTFCase& caseInfo)
-    {
-    iLog->Log(_L("AddToSet Start"));
-        
-    //IMPORT_C TInt AddToTestSet( const TDesC& aSetName, const CTestInfo& aTestInfo );
-    TPtrC modulename = QString2TPtrC(caseInfo.ModuleName());
-    iLog->Log(_L("AddToSet dealwith module: %s"), modulename.Ptr());
-    iLog->Log(_L("Case name: %s"),QString2TPtrC(caseInfo.Name()).Ptr());
-    iLog->Log(_L("Case index: %d"),caseInfo.Index());
-    TInt caseIndex = caseInfo.Index();
-    if(caseInfo.ModuleName().toLower() == "testscripter"
-            ||caseInfo.ModuleName().toLower() == "teftestmodule")
-        {
-        caseIndex++;
-        }
-    RRefArray<CTestInfo> testCases;
-    TInt ret = UIStore().TestCases(testCases, modulename, KNullDesC);
-    if(!LogResult(ret, "AddToSet, GetTestCases"))
-        {
-        return false;
-        }
-    
-    ret = -1;
-    for (TInt i = 0; i < testCases.Count(); i++)
-        {
-        iLog->Log(_L("Case Number: %d"),testCases[i].TestCaseNum());
-        iLog->Log(_L("Case Title: %s"),testCases[i].TestCaseTitle().Ptr());        
-        
-        if (testCases[i].TestCaseNum() == caseIndex)
-            {
-            ret = UIStore().AddToTestSet(QString2TPtrC(setName), testCases[i]);
-            iLog->Log(_L("AddToTestSet: %d"), ret);
-            break;
-            }
-        }
-    testCases.Reset();
-    testCases.Close();
-    return LogResult(ret, "AddToSet");
-    }
-
-void CStifExecutor::ExecuteSet(const QString& SetName, const int startIndex,
-        const TSTFCaseRunningType type)
-    {
-    CStartedTestSet::TSetType setType = CStartedTestSet::ESetSequential;
-    if (type == Parallel)
-        {
-        setType = CStartedTestSet::ESetParallel;
-        }
-    const CTestSetInfo* set = NULL;
-    TInt ret;
-    TBuf<30> test;
-    test.Append(QString2TPtrC(SetName));
-    iLog->Log(_L("StartTestSet GetSetName:"));
-    iLog->Log(test);
-    TRAP(ret, set = &UIStore().TestSetL(test));
-            
-    //const CTestSetInfo& set = UIStore().TestSetL(QString2TPtrC(SetName));
-    if(ret != KErrNone)
-        {
-        iLog->Log(_L("StartTestSet GetTestSet Error return=%d"),ret);
-        return;
-        }
-    int a = startIndex;
-    ret = UIStore().StartTestSet(*set, a, setType);
-    iLog->Log(_L("StartTestSet return=%d"),ret);
-    }
-
-void CStifExecutor::Update(CStartedTestCase* aCase, int flags)
-    {
-    iLog->Log(_L("CStifExecutor::Update return case=%d"),aCase);
-    iLog->Log(_L("CStifExecutor::Update return status=%d"),flags);
-    
-    if(aCase == NULL)
-        {
-        return;
-        }
-
-    if (flags & CUIStoreIf::EPrintUpdate)
-        {
-        //Cases output information update.
-        const RPointerArray<CTestProgress> printArray = aCase->PrintArray();
-        TInt rows = aCase->PrintArray().Count();
-        TPtr buffer(iBuffer->Des());
-        buffer.Zero();
-        for (int i = 0; i < rows; i++)
-            {
-            buffer.Append(_L("\r\n"));
-            buffer.Append(printArray[i]->iDescription);
-            buffer.Append(_L(" "));
-            buffer.Append(printArray[i]->iText);
-            buffer.Append(_L("\r\n"));
-            }
-        QString msg = TDesC2QString(buffer);
-        iLog->Log(_L("Get output msg:"));
-        iLog->Log(buffer);
-        if (listenerList)
-            {
-            for (int i = 0; i < listenerList->size(); i++)
-                {
-                listenerList->at(i)->OnGetCaseOutput(aCase, msg);
-                }
-            }
-
-        }
-    else
-        {
-        //case status changed update.
-        CSTFCase testcase;
-        testcase.SetName(TDesC2QString(aCase->TestInfo().TestCaseTitle()));
-        testcase.SetIndex(aCase->TestInfo().TestCaseNum());
-        testcase.SetModuleName(TDesC2QString(aCase->TestInfo().ModuleName()));
-        if (listenerList)
-            {
-            for (int i = 0; i < listenerList->size(); i++)
-                {
-                listenerList->at(i)->OnGetCaseUpdated(aCase, testcase, flags);
-                }
-            }
-
-        }
-
-    }
-
-// End of File