summaryrefslogtreecommitdiffstats
path: root/libqsystemtest/qsystemtest.h
diff options
context:
space:
mode:
Diffstat (limited to 'libqsystemtest/qsystemtest.h')
-rw-r--r--libqsystemtest/qsystemtest.h148
1 files changed, 135 insertions, 13 deletions
diff --git a/libqsystemtest/qsystemtest.h b/libqsystemtest/qsystemtest.h
index 1b8b5fc..69ece0b 100644
--- a/libqsystemtest/qsystemtest.h
+++ b/libqsystemtest/qsystemtest.h
@@ -44,13 +44,21 @@
#include "qabstracttest.h"
#include "qtestprotocol_p.h"
+#include "qtestremote_p.h"
+#include "recordevent_p.h"
+#include <QStringList>
#include <QDir>
#include <QLocale>
+#include <QPointer>
+
+class QProcess;
+class QSystemTestMail;
+class QSystemTestMaster;
+class QTextEdit;
#define DEFAULT_QUERY_TIMEOUT 120000
-class QSystemTestPrivate;
class QTestMessage;
#ifdef Q_QDOC
@@ -203,9 +211,13 @@ public:
};
Q_DECLARE_FLAGS(State, StateFlag)
+public slots:
+ virtual bool runAsManualTest(void);
+ virtual void manualTest( const QString &description );
+ virtual void manualTestData( const QString &description, bool isAlternative = false );
+ void prompt(const QString& = QString());
-public slots:
// commands to control test execution
void strict( bool = true );
void setDemoMode( bool );
@@ -215,7 +227,7 @@ public slots:
void clearFilteredMessages();
bool runsOnDevice();
- virtual void skip(const QString&,SkipMode);
+ virtual void skip(const QString&, SkipMode);
virtual void expectFail(const QString&);
QString signature(const QString&, int = 0);
@@ -260,7 +272,8 @@ public slots:
void setVisibleResponseTime(int);
// application management functions
- virtual void startApplication(const QString&, const QStringList& = QStringList(), int timeout = 5000,QSystemTest::StartApplicationFlags = QSystemTest::WaitForFocus);
+ virtual void startApplication(const QString&, const QStringList& = QStringList(), int timeout = 5000,
+ QSystemTest::StartApplicationFlags = QSystemTest::WaitForFocus);
void expectApplicationClose(bool);
// low level simulators
@@ -300,7 +313,6 @@ public slots:
void verifyImage(const QString&,const QString& = QString(),
const QString& = QString(),const QStringList& = QStringList());
bool compareImage( const QString&, const QString&, const QStringList& = QStringList());
- void prompt(const QString& = QString());
bool recordEvents(const QString&, bool = true);
QString stopRecordingEvents();
@@ -315,6 +327,8 @@ public slots:
QString runProcess(const QString&,const QStringList&,const QString&);
QString getenv(const QString&);
bool checkOS(const QString&);
+ QString targetIdentifier();
+ void setTargetIdentifier(const QString &);
void putFile(const QString&,const QString&,QFile::Permissions=0);
void putData(const QByteArray&,const QString&,QFile::Permissions=0);
void getFile(const QString&,const QString&);
@@ -360,7 +374,22 @@ public slots:
void qtuitest_pre_test_function();
void qtuitest_post_test_function();
- static QSystemTest* lastInstance();
+ // These public slots come from QSystemTestPrivate
+ QTestMessage query( const QTestMessage &message, const QString &queryPath = QString(),
+ int timeout = DEFAULT_QUERY_TIMEOUT );
+ bool queryPassed( const QStringList &passResult, const QStringList &failResult,
+ const QTestMessage &message, const QString &queryPath = QString(),
+ QTestMessage *reply = 0, int timeout = DEFAULT_QUERY_TIMEOUT );
+ bool queryPassed( const QString &passResult, const QString &failResult,
+ const QTestMessage &message, const QString &queryPath = QString(),
+ QTestMessage *reply = 0, int timeout = DEFAULT_QUERY_TIMEOUT );
+ void recordPrompt();
+ bool recentEventRecorded();
+ void resetEventTimer();
+
+protected slots:
+ void abortPrompt();
+ void abortTest();
protected:
virtual void printUsage(int,char*[]) const;
@@ -375,6 +404,8 @@ protected:
bool isConnected() const;
bool demoMode() const;
QString autHost() const;
+ void configTarget();
+
int autPort() const;
virtual QString currentFile();
@@ -385,7 +416,6 @@ protected:
bool verbose() const;
-
#ifndef Q_QDOC
virtual bool fail(QString const&);
bool doQuery(const QTestMessage& message, const QString& queryPath = QString(), QTestMessage* reply = 0, int timeout = DEFAULT_QUERY_TIMEOUT, const QStringList& pass = QStringList("OK"), const QStringList& fail = QStringList());
@@ -415,21 +445,113 @@ protected:
virtual void setLocation(const QString& = QString(),int = -1);
virtual void processMessage(const QTestMessage&);
+ QTestRemote *testIDE();
+
+ bool abort_prompt;
-protected slots:
- void abortPrompt();
- void abortTest();
+public:
+// public functions imported from QSystemTestPrivate
+ void recordedEvent( const QTestMessage &msg );
+ void recordEvents( QList<RecordEvent> const& );
+ void parseKeyEventToCode( const QTestMessage &msg);
-protected:
- bool abort_prompt;
+ QVariant getSetting(const QString&,const QString&,const QString&,const QString&,const QString&);
+ void setSetting(const QString&,const QString&,const QString&,const QString&,const QString&,const QVariant&);
+
+ bool imagesAreEqual( const QImage &actual, const QImage &expected, bool strict = false );
+ bool learnImage( const QImage &actual, const QImage &expected, const QString &comment = QString());
+
+ QString processEnvironment( QString const& ) const;
+ QStringList processEnvironment( QStringList const& ) const;
+ QString PATH();
+ QString which( const QString &appName );
+
+signals:
+ void appGainedFocus(QString const &appName);
+ void appBecameIdle(QString const &appName);
private:
- QSystemTestPrivate *d;
friend class QSystemTestMaster;
friend class QSystemTestPrivate;
friend class QSystemTestMail;
friend class TestProcess;
+ QMap<QString, int> m_filteredMessages;
+ QTime *event_timer;
+ QList<QPointer<QProcess> > m_aut;
+ QStringList m_remote_aut;
+ QTime key_hold_started;
+ QSystemTestMaster *m_test_app;
+ QTestMessage m_error_msg;
+ QTestMessage m_error_msg_sent;
+ QTestMessage m_last_msg_sent;
+
+ QTimer *key_enter_timer;
+
+ QPointer<QTextEdit> m_recorded_events_edit;
+
+ bool recorded_events_as_code;
+ bool record_prompt;
+ bool query_failed;
+ bool query_warning_mode;
+ int fatal_timeouts;
+ int timeouts;
+
+ Qt::Key m_keyclickhold_key;
+ QString m_keyclickhold_path;
+ QString current_application;
+ QString current_app_version;
+
+ QString m_loc_fname;
+ int m_loc_line;
+
+ class ExpectedMessageBox {
+ public:
+ QString test_function;
+ QString data_tag;
+ QString title;
+ QString text;
+ QString option;
+ };
+ QList<ExpectedMessageBox*> expected_msg_boxes;
+
+ bool m_auto_mode;
+ bool m_run_as_manual_test;
+ QString m_manual_commands;
+ QStringList m_manual_command_data;
+ QStringList alternative_command_data;
+ void showPromptDialog();
+ bool isConnected();
+
+ // the following parameters are used to start an Application_Under_Test
+ QString m_aut_host;
+ quint16 m_aut_port;
+ bool m_keep_aut;
+ bool m_silent_aut;
+ bool m_no_aut;
+ bool m_demo_mode;
+ bool m_verbose_perf;
+ bool m_verbose;
+ QStringList m_env;
+ QString m_targetID;
+ QTestRemote m_qtest_ide;
+ QMap<QString, QString> appNameToBinary;
+ bool m_strict_mode;
+ int m_visible_response_time;
+ QList<RecordEvent> recorded_events;
+ QString m_recorded_code;
+ int display_id;
+ QString device;
+ bool m_mousePreferred;
+ QRect screenGeometry;
+ QString theme;
+ QString m_config_id;
+ bool m_recording_events;
+ bool m_expect_app_close;
+ int m_query_count;
+ bool m_skip_current_function;
+
+
#ifdef Q_QDOC
/* Functions where implementation is in QtScript */
public: