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 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 #3
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 #4
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 #5
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 #6
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 #7
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 #8
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 #9
0
    def testStartOfTestRunIsFound(self):
		obj = TestRunApprovedParser()
		line = "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
		result = obj.parseApprovedLine(line)
		self.assertTrue(result == None)
Beispiel #10
0
 def testStartOfTestRunIsFound(self):
     obj = TestRunApprovedParser()
     line = "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
     result = obj.parseApprovedLine(line)
     self.assertTrue(result == None)