Beispiel #1
0
 def testTestRunAddsTestCase(self):
     obj = TestRunApprovedParser()
     lines = [
         "",
         "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
         "CatchSelfTest is a <version> host application.",
         "Run with -? for options",
         "-------------------------------------------------------------------------------",
         "./failing/TestClass/failingCase",
         "-------------------------------------------------------------------------------",
         "ClassTests.cpp:<line number>",
         "...............................................................................",
         "", "ClassTests.cpp:<line number>: FAILED:",
         "  REQUIRE( s == \"world\" )", "with expansion:"
         "  \"hello\" == \"world\"", "",
         "-------------------------------------------------------------------------------"
     ]
     for line in lines:
         result = obj.parseApprovedLine(line)
     #print obj
     self.assertTrue(result == None)
     self.assertTrue(len(obj.current.testcases) == 1)
     self.assertTrue(obj.current.testcases[0].filename == "ClassTests.cpp")
     self.assertTrue(obj.current.testcases[0].lineNumber == "line number")
     self.assertTrue(len(obj.current.testcases[0].conditions) == 1)
     self.assertTrue(obj.current.testcases[0].conditions[0].filename ==
                     "ClassTests.cpp")
     self.assertTrue(
         obj.current.testcases[0].conditions[0].lineNumber == "line number")
     self.assertTrue(
         obj.current.testcases[0].conditions[0].reason == "FAILED")
Beispiel #2
0
    def testTestRunWithRandomOutput(self):
        obj = TestRunApprovedParser()
        lines = [
            "",
            "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
            "CatchSelfTest is a <version> host application.",
            "Run with -? for options", "",
            "-------------------------------------------------------------------------------",
            "./failing/TestClass/failingCase",
            "-------------------------------------------------------------------------------",
            "ClassTests.cpp:<line number>",
            "...............................................................................",
            "", "MiscTests.cpp:<line number>: FAILED:",
            "explicitly with message:", "  to infinity and beyond", "",
            "Message from section one", "Message from section two",
            "Some information", "An error", "Message from section one",
            "Message from section two", "Some information", "An error",
            "hello", "hello",
            "===============================================================================",
            "122 test cases - 35 failed (753 assertions - 90 failed)", ""
        ]
        testRun = None
        for line in lines:
            result = obj.parseApprovedLine(line)
            if isinstance(result, TestRunData):
                testRun = result

        self.assertTrue(isinstance(testRun, TestRunData))
        #print "O:",result.outputLine
        self.assertTrue(testRun.outputLine == 14)
        newLines = testRun.generateApprovedLines()
        #for line in newLines:
        #	print line
        self.assertTrue(len(lines) == len(newLines))
        self.assertTrue(lines == newLines)
Beispiel #3
0
 def testTestRunVersionIsSet(self):
     obj = TestRunApprovedParser()
     lines = [
         "",
         "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
         "CatchSelfTest is a <version> host application.",
         "Run with -? for options"
     ]
     for line in lines:
         result = obj.parseApprovedLine(line)
     #print obj
     self.assertTrue(result == None)
     self.assertTrue(obj.current.appname == "CatchSelfTest")
     self.assertTrue(obj.current.version == "<version>")
Beispiel #4
0
    def testTestRunParsesTwoTestCases(self):
        obj = TestRunApprovedParser()
        lines = [
            "",
            "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
            "CatchSelfTest is a <version> host application.",
            "Run with -? for options", "",
            "-------------------------------------------------------------------------------",
            "./failing/TestClass/failingCase",
            "-------------------------------------------------------------------------------",
            "ClassTests.cpp:<line number>",
            "...............................................................................",
            "", "ClassTests.cpp:<line number>: FAILED:",
            "  REQUIRE( s == \"world\" )", "with expansion:",
            "  \"hello\" == \"world\"", "",
            "-------------------------------------------------------------------------------",
            "./failing/Fixture/failingCase",
            "-------------------------------------------------------------------------------",
            "ClassTests.cpp:<line number>",
            "...............................................................................",
            "", "ClassTests.cpp:<line number>: FAILED:",
            "  REQUIRE( m_a == 2 )", "with expansion:", "  1 == 2", "",
            "===============================================================================",
            "122 test cases - 35 failed (753 assertions - 90 failed)", ""
        ]
        testRun = None
        for line in lines:
            result = obj.parseApprovedLine(line)
            if isinstance(result, TestRunData):
                testRun = result

        self.assertTrue(isinstance(testRun, TestRunData))
        newLines = testRun.generateApprovedLines()
        #for line in newLines:
        #	print "L:",line
        #print len(lines),",",len(newLines)
        self.assertTrue(len(lines) == len(newLines))
        self.assertTrue(lines == newLines)
Beispiel #5
0
 def testStartOfTestRunIsFound(self):
     obj = TestRunApprovedParser()
     line = "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
     result = obj.parseApprovedLine(line)
     self.assertTrue(result == None)