diff --git a/extras/fixture/test/unity_fixture_Test.c b/extras/fixture/test/unity_fixture_Test.c index d2785d3..f5103ff 100644 --- a/extras/fixture/test/unity_fixture_Test.c +++ b/extras/fixture/test/unity_fixture_Test.c @@ -90,23 +90,32 @@ TEST_GROUP(UnityCommandOptions); static int savedVerbose; static unsigned int savedRepeat; +static int savedDryRun; static const char* savedName; static const char* savedGroup; +static const char* savedNameExact; +static const char* savedGroupExact; TEST_SETUP(UnityCommandOptions) { savedVerbose = UnityFixture.Verbose; savedRepeat = UnityFixture.RepeatCount; + savedDryRun = UnityFixture.DryRun; savedName = UnityFixture.NameFilter; savedGroup = UnityFixture.GroupFilter; + savedNameExact = UnityFixture.Name; + savedGroupExact = UnityFixture.Group; } TEST_TEAR_DOWN(UnityCommandOptions) { UnityFixture.Verbose = savedVerbose; UnityFixture.RepeatCount= savedRepeat; + UnityFixture.DryRun = savedDryRun; UnityFixture.NameFilter = savedName; UnityFixture.GroupFilter = savedGroup; + UnityFixture.Name= savedNameExact; + UnityFixture.Group= savedGroup; } @@ -118,8 +127,11 @@ TEST(UnityCommandOptions, DefaultOptions) { UnityGetCommandLineOptions(1, noOptions); TEST_ASSERT_EQUAL(0, UnityFixture.Verbose); + TEST_ASSERT_EQUAL(0, UnityFixture.DryRun); TEST_ASSERT_POINTERS_EQUAL(0, UnityFixture.GroupFilter); TEST_ASSERT_POINTERS_EQUAL(0, UnityFixture.NameFilter); + TEST_ASSERT_POINTERS_EQUAL(0, UnityFixture.Group); + TEST_ASSERT_POINTERS_EQUAL(0, UnityFixture.Name); TEST_ASSERT_EQUAL(1, UnityFixture.RepeatCount); } @@ -134,6 +146,17 @@ TEST(UnityCommandOptions, OptionVerbose) TEST_ASSERT_EQUAL(1, UnityFixture.Verbose); } +static const char* dryRun[] = { + "testrunner.exe", + "-d" +}; + +TEST(UnityCommandOptions, OptionDryRun) +{ + TEST_ASSERT_EQUAL(0, UnityGetCommandLineOptions(2, dryRun)); + TEST_ASSERT_EQUAL(1, UnityFixture.DryRun); +} + static const char* group[] = { "testrunner.exe", "-g", "groupname" @@ -156,6 +179,28 @@ TEST(UnityCommandOptions, OptionSelectTestByName) STRCMP_EQUAL("testname", UnityFixture.NameFilter); } +static const char* groupExact[] = { + "testrunner.exe", + "-G", "groupname" +}; + +TEST(UnityCommandOptions, OptionSelectTestByGroupExact) +{ + TEST_ASSERT_EQUAL(0, UnityGetCommandLineOptions(3, groupExact)); + STRCMP_EQUAL("groupname", UnityFixture.Group); +} + +static const char* nameExact[] = { + "testrunner.exe", + "-N", "testname" +}; + +TEST(UnityCommandOptions, OptionSelectTestByNameExact) +{ + TEST_ASSERT_EQUAL(0, UnityGetCommandLineOptions(3, nameExact)); + STRCMP_EQUAL("testname", UnityFixture.Name); +} + static const char* repeat[] = { "testrunner.exe", "-r", "99" diff --git a/extras/fixture/test/unity_fixture_TestRunner.c b/extras/fixture/test/unity_fixture_TestRunner.c index ec92663..07099d3 100644 --- a/extras/fixture/test/unity_fixture_TestRunner.c +++ b/extras/fixture/test/unity_fixture_TestRunner.c @@ -19,8 +19,11 @@ TEST_GROUP_RUNNER(UnityCommandOptions) { RUN_TEST_CASE(UnityCommandOptions, DefaultOptions); RUN_TEST_CASE(UnityCommandOptions, OptionVerbose); + RUN_TEST_CASE(UnityCommandOptions, OptionDryRun); RUN_TEST_CASE(UnityCommandOptions, OptionSelectTestByGroup); RUN_TEST_CASE(UnityCommandOptions, OptionSelectTestByName); + RUN_TEST_CASE(UnityCommandOptions, OptionSelectTestByGroupExact); + RUN_TEST_CASE(UnityCommandOptions, OptionSelectTestByNameExact); RUN_TEST_CASE(UnityCommandOptions, OptionSelectRepeatTestsDefaultCount); RUN_TEST_CASE(UnityCommandOptions, OptionSelectRepeatTestsSpecificCount); RUN_TEST_CASE(UnityCommandOptions, MultipleOptions);