diff options
author | Christian Kandeler <christian.kandeler@digia.com> | 2013-01-28 15:45:12 +0100 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@digia.com> | 2013-01-29 16:08:46 +0100 |
commit | 93a7d0e2dc4be3b3efa40c1fd507d039e478156a (patch) | |
tree | 829e9e8e8922ec8adb12e2b9ca2b9d49bb17b5ea /tests/auto/tools | |
parent | ecc425798f7a38f8c2c48b274dcd20965dfa792f (diff) |
Do not hardcode the settings source in the library.
This is inherently application-specific. Therefore, the library must not
instantiate the Settings class itself anywhere; instead, a pre-allocated
object comes in via the API.
Change-Id: I04a101d5535508b9e165123b4efe06d957c0d171
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Diffstat (limited to 'tests/auto/tools')
-rw-r--r-- | tests/auto/tools/tst_tools.cpp | 47 |
1 files changed, 27 insertions, 20 deletions
diff --git a/tests/auto/tools/tst_tools.cpp b/tests/auto/tools/tst_tools.cpp index 12cdd30c7..31d85a227 100644 --- a/tests/auto/tools/tst_tools.cpp +++ b/tests/auto/tools/tst_tools.cpp @@ -28,6 +28,7 @@ ****************************************************************************/ #include <app/qbs/parser/commandlineparser.h> +#include <app/shared/qbssettings.h> #include <logging/logger.h> #include <tools/buildoptions.h> #include <tools/error.h> @@ -41,6 +42,8 @@ using namespace qbs; +static SettingsPtr settings = qbsSettings(); + class TestTools : public QObject { Q_OBJECT @@ -56,19 +59,20 @@ private slots: args << "--products" << "blubb"; args << "--changed-files" << "foo,bar" << fileArgs; CommandLineParser parser; - QVERIFY(parser.parseCommandLine(args)); + QVERIFY(parser.parseCommandLine(args, settings.data())); QCOMPARE(Logger::instance().level(), LoggerTrace); QCOMPARE(parser.command(), BuildCommandType); QCOMPARE(parser.products(), QStringList() << "blubb"); QCOMPARE(parser.buildOptions().changedFiles.count(), 2); QVERIFY(parser.buildOptions().keepGoing); - QVERIFY(parser.parseCommandLine(QStringList() << "-vvvqqq" << fileArgs)); + QVERIFY(parser.parseCommandLine(QStringList() << "-vvvqqq" << fileArgs, settings.data())); QCOMPARE(Logger::instance().level(), Logger::defaultLevel()); - QVERIFY(parser.parseCommandLine(QStringList() << "-vvqqq" << fileArgs)); + QVERIFY(parser.parseCommandLine(QStringList() << "-vvqqq" << fileArgs, settings.data())); QCOMPARE(Logger::instance().level(), LoggerWarning); - QVERIFY(parser.parseCommandLine(QStringList() << "-vvvqq" << fileArgs)); + QVERIFY(parser.parseCommandLine(QStringList() << "-vvvqq" << fileArgs, settings.data())); QCOMPARE(Logger::instance().level(), LoggerDebug); - QVERIFY(parser.parseCommandLine(QStringList() << "--log-level" << "trace" << fileArgs)); + QVERIFY(parser.parseCommandLine(QStringList() << "--log-level" << "trace" << fileArgs, + settings.data())); QCOMPARE(Logger::instance().level(), LoggerTrace); } @@ -78,14 +82,18 @@ private slots: QVERIFY(projectFile.open()); const QStringList fileArgs = QStringList() << "-f" << projectFile.fileName(); CommandLineParser parser; - QVERIFY(!parser.parseCommandLine(QStringList() << "-x" << fileArgs)); // Unknown short option. - QVERIFY(!parser.parseCommandLine(QStringList() << "--xyz" << fileArgs)); // Unknown long option. - QVERIFY(!parser.parseCommandLine(QStringList() << "-vjv" << fileArgs)); // Invalid position. - QVERIFY(!parser.parseCommandLine(QStringList() << "-j" << fileArgs)); // Missing argument. - QVERIFY(!parser.parseCommandLine(QStringList() << "-j" << "0" << fileArgs)); // Wrong argument. - QVERIFY(!parser.parseCommandLine(QStringList() << "--products" << fileArgs)); // Missing argument. - QVERIFY(!parser.parseCommandLine(QStringList() << "--changed-files" << "," << fileArgs)); // Wrong argument. - QVERIFY(!parser.parseCommandLine(QStringList() << "--log-level" << "blubb" << fileArgs)); // Wrong argument. + QVERIFY(!parser.parseCommandLine(QStringList() << "-x" << fileArgs, settings.data())); // Unknown short option. + QVERIFY(!parser.parseCommandLine(QStringList() << "--xyz" << fileArgs, settings.data())); // Unknown long option. + QVERIFY(!parser.parseCommandLine(QStringList() << "-vjv" << fileArgs, settings.data())); // Invalid position. + QVERIFY(!parser.parseCommandLine(QStringList() << "-j" << fileArgs, settings.data())); // Missing argument. + QVERIFY(!parser.parseCommandLine(QStringList() << "-j" << "0" << fileArgs, + settings.data())); // Wrong argument. + QVERIFY(!parser.parseCommandLine(QStringList() << "--products" << fileArgs, + settings.data())); // Missing argument. + QVERIFY(!parser.parseCommandLine(QStringList() << "--changed-files" << "," << fileArgs, + settings.data())); // Wrong argument. + QVERIFY(!parser.parseCommandLine(QStringList() << "--log-level" << "blubb" << fileArgs, + settings.data())); // Wrong argument. } void testFileInfo() @@ -117,21 +125,20 @@ private slots: CommandLineParser parser; const QStringList args(QLatin1String("-f")); QString projectFilePath = multiProjectsDir + QLatin1String("/project.qbs"); - QVERIFY(parser.parseCommandLine(args + QStringList(projectFilePath))); + QVERIFY(parser.parseCommandLine(args + QStringList(projectFilePath), settings.data())); QCOMPARE(projectFilePath, parser.projectFilePath()); projectFilePath = oneProjectDir + QLatin1String("/project.qbs"); - QVERIFY(parser.parseCommandLine(args + QStringList(oneProjectDir))); + QVERIFY(parser.parseCommandLine(args + QStringList(oneProjectDir), settings.data())); QCOMPARE(projectFilePath, parser.projectFilePath()); - QVERIFY(!parser.parseCommandLine(args + QStringList(noProjectsDir))); - QVERIFY(!parser.parseCommandLine(args + QStringList(multiProjectsDir))); + QVERIFY(!parser.parseCommandLine(args + QStringList(noProjectsDir), settings.data())); + QVERIFY(!parser.parseCommandLine(args + QStringList(multiProjectsDir), settings.data())); } void testProfiles() { bool exceptionCaught; - Settings settings; - Profile parentProfile("parent", &settings); - Profile childProfile("child", &settings); + Profile parentProfile("parent", settings.data()); + Profile childProfile("child", settings.data()); try { parentProfile.removeBaseProfile(); parentProfile.remove("testKey"); |