summaryrefslogtreecommitdiff
path: root/shared/templates/wizards/autotest
diff options
context:
space:
mode:
Diffstat (limited to 'shared/templates/wizards/autotest')
-rw-r--r--shared/templates/wizards/autotest/auto.pro3
-rw-r--r--shared/templates/wizards/autotest/autotest_24.pngbin0 -> 683 bytes
-rw-r--r--shared/templates/wizards/autotest/main.cpp18
-rw-r--r--shared/templates/wizards/autotest/src.pro13
-rw-r--r--shared/templates/wizards/autotest/tests.pro3
-rw-r--r--shared/templates/wizards/autotest/tmp.pro12
-rw-r--r--shared/templates/wizards/autotest/tst.pro14
-rw-r--r--shared/templates/wizards/autotest/tst_src.cpp58
-rw-r--r--shared/templates/wizards/autotest/wizard.xml92
9 files changed, 213 insertions, 0 deletions
diff --git a/shared/templates/wizards/autotest/auto.pro b/shared/templates/wizards/autotest/auto.pro
new file mode 100644
index 0000000000..b39fef654c
--- /dev/null
+++ b/shared/templates/wizards/autotest/auto.pro
@@ -0,0 +1,3 @@
+TEMPLATE = subdirs
+
+SUBDIRS += %TestCaseName:l%
diff --git a/shared/templates/wizards/autotest/autotest_24.png b/shared/templates/wizards/autotest/autotest_24.png
new file mode 100644
index 0000000000..3f52e9bf08
--- /dev/null
+++ b/shared/templates/wizards/autotest/autotest_24.png
Binary files differ
diff --git a/shared/templates/wizards/autotest/main.cpp b/shared/templates/wizards/autotest/main.cpp
new file mode 100644
index 0000000000..3ff500decd
--- /dev/null
+++ b/shared/templates/wizards/autotest/main.cpp
@@ -0,0 +1,18 @@
+@if "%RequireGUI%" == "true"
+#include <QApplication>
+@else
+#include <QCoreApplication>
+@endif
+
+// add necessary includes here
+
+int main(int argc, char *argv[])
+{
+@if "%RequireGUI%" == "true"
+ QApplication a(argc, argv);
+@else
+ QCoreApplication a(argc, argv);
+@endif
+
+ return a.exec();
+}
diff --git a/shared/templates/wizards/autotest/src.pro b/shared/templates/wizards/autotest/src.pro
new file mode 100644
index 0000000000..61fbe2a5bc
--- /dev/null
+++ b/shared/templates/wizards/autotest/src.pro
@@ -0,0 +1,13 @@
+@if "%RequireGUI%" == "true"
+QT += core gui
+greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
+@else
+QT -= gui
+CONFIG += console
+CONFIG -= app_bundle
+@endif
+
+TEMPLATE = app
+TARGET = %ProjectName%
+
+SOURCES += main.%CppSourceSuffix%
diff --git a/shared/templates/wizards/autotest/tests.pro b/shared/templates/wizards/autotest/tests.pro
new file mode 100644
index 0000000000..f927700008
--- /dev/null
+++ b/shared/templates/wizards/autotest/tests.pro
@@ -0,0 +1,3 @@
+TEMPLATE = subdirs
+
+SUBDIRS += auto
diff --git a/shared/templates/wizards/autotest/tmp.pro b/shared/templates/wizards/autotest/tmp.pro
new file mode 100644
index 0000000000..1569bd45cb
--- /dev/null
+++ b/shared/templates/wizards/autotest/tmp.pro
@@ -0,0 +1,12 @@
+TEMPLATE = subdirs
+
+@if "%BuildTests%" == "always"
+SUBDIRS += src \
+ tests
+@else
+SUBDIRS += src
+
+CONFIG(debug, debug|release) {
+ SUBDIRS += tests
+}
+@endif
diff --git a/shared/templates/wizards/autotest/tst.pro b/shared/templates/wizards/autotest/tst.pro
new file mode 100644
index 0000000000..8aa61b767e
--- /dev/null
+++ b/shared/templates/wizards/autotest/tst.pro
@@ -0,0 +1,14 @@
+QT += testlib
+@if "%RequireGUI%" == "false"
+QT -= gui
+
+CONFIG += qt console warn_on depend_includepath testcase
+CONFIG -= app_bundle
+@else
+QT += gui
+CONFIG += qt warn_on depend_includepath testcase
+@endif
+
+TEMPLATE = app
+
+SOURCES += tst_%TestCaseName:l%.%CppSourceSuffix%
diff --git a/shared/templates/wizards/autotest/tst_src.cpp b/shared/templates/wizards/autotest/tst_src.cpp
new file mode 100644
index 0000000000..65d49e9c18
--- /dev/null
+++ b/shared/templates/wizards/autotest/tst_src.cpp
@@ -0,0 +1,58 @@
+#include <QtTest>
+@if "%RequireApplication%" == "true"
+#include <QCoreApplication>
+@endif
+
+// add necessary includes here
+
+class %TestCaseName% : public QObject
+{
+ Q_OBJECT
+
+public:
+ %TestCaseName%();
+ ~%TestCaseName%();
+
+private slots:
+@if "%GenerateInitAndCleanup%" == "true"
+ void initTestCase();
+ void cleanupTestCase();
+@endif
+ void test_case1();
+
+};
+
+%TestCaseName%::%TestCaseName%()
+{
+
+}
+
+%TestCaseName%::~%TestCaseName%()
+{
+
+}
+
+@if "%GenerateInitAndCleanup%" == "true"
+void %TestCaseName%::initTestCase()
+{
+
+}
+
+void %TestCaseName%::cleanupTestCase()
+{
+
+}
+
+@endif
+void %TestCaseName%::test_case1()
+{
+
+}
+
+@if "%RequireApplication%" == "true"
+QTEST_MAIN(%TestCaseName%)
+@else
+QTEST_APPLESS_MAIN(%TestCaseName%)
+@endif
+
+#include "tst_%TestCaseName:l%.moc"
diff --git a/shared/templates/wizards/autotest/wizard.xml b/shared/templates/wizards/autotest/wizard.xml
new file mode 100644
index 0000000000..a190405d38
--- /dev/null
+++ b/shared/templates/wizards/autotest/wizard.xml
@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+/****************************************************************************
+**
+** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
+** Contact: http://www.qt-project.org/legal
+**
+** This file is part of Qt Creator.
+**
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Digia. For licensing terms and
+** conditions see http://qt.digia.com/licensing. For further information
+** use the contact form at http://qt.digia.com/contact-us.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file. Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Digia gives you certain additional
+** rights. These rights are described in the Digia Qt LGPL Exception
+** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
+**
+****************************************************************************/
+
+Custom project wizard configuration example file. Note that by convention,
+the project file goes last.
+The "class" and "firstpage" attributes specify that it is a Qt 4 wizard and
+leave room for the Qt 4 target page.
+-->
+<wizard version="1" kind="project"
+ class="qmakeproject" firstpage="10"
+ id="R.AutoTest" category="H.Project"
+ featuresRequired="QtSupport.Wizards.FeatureQt,QtSupport.Wizards.FeatureDesktop">
+ <!-- "Plugin.AutotestGenerator" as required feature would disable the template if the
+ plugin is disabled, but it fails on the kit selection page for having no valid kit -->
+ <icon>autotest_24.png</icon>
+ <description>Creates a new project including auto test skeleton.</description>
+ <displayname>Auto Test</displayname>;
+ <displaycategory>Other Project</displaycategory>
+ <files>
+ <file source="src.pro" target="src/src.pro" />
+ <file source="tests.pro" target="tests/tests.pro" />
+ <file source="auto.pro" target="tests/auto/auto.pro"/>
+ <file source="tst.pro" target="tests/auto/%TestCaseName:l%/%TestCaseName:l%.pro" />
+ <file source="tst_src.cpp"
+ target="tests/auto/%TestCaseName:l%/tst_%TestCaseName:l%.%CppSourceSuffix%"
+ openeditor="true"/>
+ <file source="main.cpp" target="src/main.%CppSourceSuffix%" openeditor="true" />
+ <file source="tmp.pro" target="%ProjectName:l%.pro" openproject="true" />
+ </files>
+ <!-- Create a 2nd wizard page with parameters -->
+ <fieldpagetitle>Project and Test Information</fieldpagetitle>
+ <fields>
+ <field name="RequireGUI">
+ <fieldcontrol class="QCheckBox" />
+ <fielddescription>GUI Application</fielddescription>
+ </field>
+ <field mandatory="true" name="TestCaseName">
+ <fieldcontrol class="QLineEdit" validator="^[a-zA-Z_0-9]+$"
+ /><!-- defaulttext="" /> -->
+ <fielddescription>Test Case Name:</fielddescription>
+ </field>
+ <field name="RequireApplication">
+ <fieldcontrol class="QCheckBox" />
+ <fielddescription>Requires QApplication</fielddescription>
+ </field>
+ <field name="GenerateInitAndCleanup">
+ <fieldcontrol class="QCheckBox" />
+ <fielddescription>Generate initialization and cleanup code</fielddescription>
+ </field>
+ <field name="BuildAutoTests">
+ <fieldcontrol class="QComboBox" defaultindex="0" >
+ <comboentries>
+ <comboentry value="always" >
+ <comboentrytext>always</comboentrytext>
+ </comboentry>
+ <comboentry value="debug" >
+ <comboentrytext>debug only</comboentrytext>
+ </comboentry>
+ </comboentries>
+ </fieldcontrol>
+ <fielddescription>Build auto tests</fielddescription>
+ </field>
+ </fields>
+</wizard>