aboutsummaryrefslogtreecommitdiffstats
path: root/tests/auto/cmdlineparser
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/cmdlineparser')
-rw-r--r--tests/auto/cmdlineparser/CMakeLists.txt23
-rw-r--r--tests/auto/cmdlineparser/cmdlineparser.pro7
-rw-r--r--tests/auto/cmdlineparser/cmdlineparser.qbs2
-rw-r--r--tests/auto/cmdlineparser/tst_cmdlineparser.cpp22
4 files changed, 45 insertions, 9 deletions
diff --git a/tests/auto/cmdlineparser/CMakeLists.txt b/tests/auto/cmdlineparser/CMakeLists.txt
new file mode 100644
index 000000000..bf072e24d
--- /dev/null
+++ b/tests/auto/cmdlineparser/CMakeLists.txt
@@ -0,0 +1,23 @@
+set(PARSER_SOURCES
+ commandlineoption.cpp
+ commandlineoption.h
+ commandlineoptionpool.cpp
+ commandlineoptionpool.h
+ commandlineparser.cpp
+ commandlineparser.h
+ commandpool.cpp
+ commandpool.h
+ commandtype.h
+ parsercommand.cpp
+ parsercommand.h
+ )
+list_transform_prepend(PARSER_SOURCES "${CMAKE_CURRENT_SOURCE_DIR}/../../../src/app/qbs/parser/")
+
+add_qbs_test(cmdlineparser
+ DEFINES
+ "QBS_VERSION=\"${QBS_VERSION}\""
+ INCLUDES
+ "${CMAKE_CURRENT_SOURCE_DIR}/../../../src"
+ SOURCES
+ tst_cmdlineparser.cpp ../../../src/app/qbs/qbstool.cpp ${PARSER_SOURCES}
+ )
diff --git a/tests/auto/cmdlineparser/cmdlineparser.pro b/tests/auto/cmdlineparser/cmdlineparser.pro
deleted file mode 100644
index a95676be5..000000000
--- a/tests/auto/cmdlineparser/cmdlineparser.pro
+++ /dev/null
@@ -1,7 +0,0 @@
-TARGET = tst_cmdlineparser
-
-SOURCES = tst_cmdlineparser.cpp ../../../src/app/qbs/qbstool.cpp
-
-include(../auto.pri)
-include(../../../src/app/qbs/parser/parser.pri)
-include(../../../src/app/shared/logging/logging.pri)
diff --git a/tests/auto/cmdlineparser/cmdlineparser.qbs b/tests/auto/cmdlineparser/cmdlineparser.qbs
index a45e61f5d..340a0c42e 100644
--- a/tests/auto/cmdlineparser/cmdlineparser.qbs
+++ b/tests/auto/cmdlineparser/cmdlineparser.qbs
@@ -1,8 +1,8 @@
-import qbs
import qbs.Utilities
QbsAutotest {
Depends { name: "qbsversion" }
+ Depends { name: "qbsconsolelogger" }
testName: "cmdlineparser"
files: ["tst_cmdlineparser.cpp", "../../../src/app/qbs/qbstool.cpp"]
cpp.defines: base.concat([
diff --git a/tests/auto/cmdlineparser/tst_cmdlineparser.cpp b/tests/auto/cmdlineparser/tst_cmdlineparser.cpp
index 15b9ec382..6a8b44f89 100644
--- a/tests/auto/cmdlineparser/tst_cmdlineparser.cpp
+++ b/tests/auto/cmdlineparser/tst_cmdlineparser.cpp
@@ -26,6 +26,8 @@
**
****************************************************************************/
+#include "../shared.h"
+
#include <app/qbs/parser/commandlineparser.h>
#include <app/shared/logging/consolelogger.h>
#include <tools/buildoptions.h>
@@ -33,7 +35,6 @@
#include <tools/hostosinfo.h>
#include <QtCore/qdir.h>
-#include <QtCore/qregexp.h>
#include <QtCore/qtemporaryfile.h>
#include <QtTest/qtest.h>
@@ -56,6 +57,25 @@ private slots:
m_fileArgs = QStringList() << "-f" << m_projectFile.fileName();
}
+ void testResolve_data()
+ {
+ QTest::addColumn<QStringList>("args");
+ QTest::addColumn<int>("expectedJobCount");
+
+ QTest::newRow("default job count") << QStringList() << BuildOptions::defaultMaxJobCount();
+ QTest::newRow("explicit job count") << QStringList("-j5") << 5;
+ }
+ void testResolve()
+ {
+ QFETCH(QStringList, args);
+ QFETCH(int, expectedJobCount);
+
+ CommandLineParser parser;
+ QVERIFY(parser.parseCommandLine(QStringList("resolve") << args << m_fileArgs));
+ QCOMPARE(parser.command(), ResolveCommandType);
+ QCOMPARE(parser.jobCount(profileName()), expectedJobCount);
+ }
+
void testValidCommandLine()
{
QStringList args;