1 #include "InvocationTest.hpp"
3 #include "TestInstance.hpp"
5 CPPUNIT_TEST_SUITE_REGISTRATION(blank::test::InvocationTest);
11 void InvocationTest::setUp() {
15 void InvocationTest::tearDown() {
20 void InvocationTest::testUnknownArg() {
21 TestInstance prog({ "--worscht", "-W", "käs" });
22 prog.AssertErrorLine("unknown option --worscht");
23 prog.AssertErrorLine("unknown option W");
24 prog.AssertErrorLine("unable to interpret argument 3 (käs)");
25 prog.AssertExitStatus(1);
27 prog.AssertNoOutput();
30 void InvocationTest::testIncompleteOption() {
37 prog.AssertErrorLine("warning: incomplete option list at position 1");
38 prog.AssertErrorLine("warning: found empty argument at position 2");
39 prog.AssertErrorLine("unable to interpret argument 4 (-)");
40 prog.AssertExitStatus(1);
42 prog.AssertNoOutput();
45 void InvocationTest::testMissingArgs() {
46 const std::vector<std::string> opts_with_args = {
59 for (auto arg : opts_with_args) {
60 TestInstance prog({ arg }, false, false);
61 prog.AssertErrorLine("missing argument to " + arg);
62 prog.AssertExitStatus(1);
64 prog.AssertNoOutput();