From 4fba77a23a210376308563187b403f3e3b8a3a18 Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Mon, 30 Oct 2017 13:30:18 +0100 Subject: CLI autotest: Give testInvalidCommandLine a _data function The code is always the same, only the command line changes. This also turns code comments into proper, user-visible test descriptions. Change-Id: I3bef35d8bf8684524c494d487176695340d3adc1 Reviewed-by: Jake Petroules --- tests/auto/cmdlineparser/tst_cmdlineparser.cpp | 44 ++++++++++++++++---------- 1 file changed, 28 insertions(+), 16 deletions(-) (limited to 'tests/auto/cmdlineparser') diff --git a/tests/auto/cmdlineparser/tst_cmdlineparser.cpp b/tests/auto/cmdlineparser/tst_cmdlineparser.cpp index 9b6fee936..e8a929fd8 100644 --- a/tests/auto/cmdlineparser/tst_cmdlineparser.cpp +++ b/tests/auto/cmdlineparser/tst_cmdlineparser.cpp @@ -174,23 +174,35 @@ private slots: void testInvalidCommandLine() { + QFETCH(QStringList, commandLine); CommandLineParser parser; - QVERIFY(!parser.parseCommandLine(QStringList() << m_fileArgs << "-x")); // Unknown short option. - QVERIFY(!parser.parseCommandLine(QStringList() << m_fileArgs << "--xyz")); // Unknown long option. - QVERIFY(!parser.parseCommandLine(QStringList() << m_fileArgs << "-vjv")); // Invalid position. - QVERIFY(!parser.parseCommandLine(QStringList() << m_fileArgs << "-j")); // Missing argument. - QVERIFY(!parser.parseCommandLine(QStringList() << "-j" << "0" << m_fileArgs)); // Wrong argument. - QVERIFY(!parser.parseCommandLine(QStringList() << m_fileArgs << "--products")); // Missing argument. - QVERIFY(!parser.parseCommandLine(QStringList() << "--changed-files" << "," << m_fileArgs)); // Wrong argument. - QVERIFY(!parser.parseCommandLine(QStringList() << "--log-level" << "blubb" << m_fileArgs)); // Wrong argument. - QVERIFY(!parser.parseCommandLine(QStringList() << m_fileArgs << "-123")); // Unknown numeric argument. - QVERIFY(!parser.parseCommandLine(QStringList() << m_fileArgs << "debug")); // Unknown parameter. - QVERIFY(!parser.parseCommandLine(QStringList("help") << "build" << "clean")); // Too many arguments. - QVERIFY(!parser.parseCommandLine(QStringList("clean") << "profile:x")); // This command cannot resolve. - QVERIFY(!parser.parseCommandLine(QStringList("dump-nodes-tree") << "profile:x")); // This command cannot resolve. - QVERIFY(!parser.parseCommandLine(QStringList("status") << "profile:x")); // This command cannot resolve. - QVERIFY(!parser.parseCommandLine(QStringList("update-timestamps") << "profile:x")); // This command cannot resolve. - QVERIFY(!parser.parseCommandLine(QStringList("show-version") << "config:debug")); // This command takes no arguments. + QVERIFY(!parser.parseCommandLine(commandLine)); + } + + void testInvalidCommandLine_data() + { + QTest::addColumn("commandLine"); + QTest::addRow("Unknown short option") << (QStringList() << m_fileArgs << "-x"); + QTest::addRow("Unknown long option") << (QStringList() << m_fileArgs << "--xyz"); + QTest::addRow("Invalid position") << (QStringList() << m_fileArgs << "-vjv"); + QTest::addRow("Missing jobs argument") << (QStringList() << m_fileArgs << "-j"); + QTest::addRow("Missing products argument") << (QStringList() << m_fileArgs << "--products"); + QTest::addRow("Wrong argument") << (QStringList() << "-j" << "0" << m_fileArgs); + QTest::addRow("Invalid list argument") + << (QStringList() << "--changed-files" << "," << m_fileArgs); + QTest::addRow("Invalid log level") + << (QStringList() << "--log-level" << "blubb" << m_fileArgs); + QTest::addRow("Unknown numeric argument") << (QStringList() << m_fileArgs << "-123"); + QTest::addRow("Unknown parameter") << (QStringList() << m_fileArgs << "debug"); + QTest::addRow("Too many arguments") << (QStringList("help") << "build" << "clean"); + QTest::addRow("Property assignment for clean") << (QStringList("clean") << "profile:x"); + QTest::addRow("Property assignment for dump-nodes-tree") + << (QStringList("dump-nodes-tree") << "profile:x"); + QTest::addRow("Property assignment for status") << (QStringList("status") << "profile:x"); + QTest::addRow("Property assignment for update-timestamps") + << (QStringList("update-timestamps") << "profile:x"); + QTest::addRow("Argument for show-version") + << (QStringList("show-version") << "config:debug"); } private: -- cgit v1.2.3