def test_get_warnings_suppressed_by_multiple_rules(self):

        oWarningList = warning_list.create()

        oWarning = warning.create('WID1')
        oWarning.add_suppression_rule('Rule 1')
        oWarning.add_suppression_rule('Rule 2')

        oWarningList.add_warning(oWarning)

        oWarning = warning.create('WID2')
        oWarning.add_suppression_rule('Rule 3')

        oWarningList.add_warning(oWarning)

        oWarning = warning.create('WID3')
        oWarning.add_suppression_rule('Rule 4')
        oWarning.add_suppression_rule('Rule 5')

        oWarningList.add_warning(oWarning)

        lActual = oWarningList.get_warnings_suppressed_by_multiple_rules()

        self.assertEqual(2, len(lActual))

        self.assertEqual('WID1', lActual[0].get_id())
        self.assertEqual('WID3', lActual[1].get_id())
示例#2
0
    def test_build_suppressed_warning_table(self):
        lExpected = []
        lExpected.append('-' * 17 + '+' + '-' * 8 + '+' + '-' *
                         (80 - 20 - 1 - 5 - 1))
        lExpected.append(' ID              | Line # | Warning Message')
        lExpected.append('-' * 17 + '+' + '-' * 8 + '+' + '-' *
                         (80 - 20 - 1 - 5 - 1))
        lExpected.append(' CMP001          |      1 | message 1')
        lExpected.append(' CMP002          |      2 | message 2')
        lExpected.append(' CMP003          |      3 | message 3')
        lExpected.append(' CMP004          |      4 | message 4')
        lExpected.append(' CMP005          |      5 | message 5')
        lExpected.append('-' * 17 + '+' + '-' * 8 + '+' + '-' *
                         (80 - 20 - 1 - 5 - 1))
        lExpected.append('')

        oSup = suppression.create()
        oSup.add_suppressed_warning(
            warning.create('CMP001', 'message 1', None, 1))
        oSup.add_suppressed_warning(
            warning.create('CMP002', 'message 2', None, 2))
        oSup.add_suppressed_warning(
            warning.create('CMP003', 'message 3', None, 3))
        oSup.add_suppressed_warning(
            warning.create('CMP004', 'message 4', None, 4))
        oSup.add_suppressed_warning(
            warning.create('CMP005', 'message 5', None, 5))

        lActual = display.build_suppressed_warning_table(oSup)

        for iIndex, sLine in enumerate(lExpected):
            self.assertEqual(sLine, lActual[iIndex])
    def test_add_warning_method(self):
        oWarningList = warning_list.create()

        oWarningList.add_warning(warning.create('WID1'))
        oWarningList.add_warning(warning.create('WID2'))

        self.assertEqual('WID1', oWarningList.warnings[0].warning_id)
        self.assertEqual('WID2', oWarningList.warnings[1].warning_id)
    def test_get_number_of_warnings(self):

        oWarningList = warning_list.create()

        self.assertEqual(0, oWarningList.get_number_of_warnings())

        oWarningList.add_warning(warning.create('WID1'))

        self.assertEqual(1, oWarningList.get_number_of_warnings())

        oWarningList.add_warning(warning.create('WID2'))

        self.assertEqual(2, oWarningList.get_number_of_warnings())
 def test_add_suppression_rule(self):
     oWarning = warning.create()
     self.assertEqual([], oWarning.suppressed_by)
     oWarning.add_suppression_rule('Rule')
     self.assertEqual(['Rule'], oWarning.suppressed_by)
     oWarning.add_suppression_rule('Rule 1')
     self.assertEqual(['Rule', 'Rule 1'], oWarning.suppressed_by)
def extract_warnings(lFile):
    oReturn = warning_list.create()

    fWarningFound = False
    for iLineNumber, sLine in enumerate(lFile):
        # Clear the warning found flag
        if not sLine.startswith(' ') and fWarningFound:
            fWarningFound = False
            oReturn.add_warning(oWarning)
        if sLine.startswith(' ') and fWarningFound:
            oWarning.message += ' ' + sLine.strip()
        if sLine.startswith('Warning:'):
            fWarningFound = True
            iColon1Index = sLine.find(':')
            iColon2Index = sLine.find(':', iColon1Index+1)
            if iColon2Index == -1:
                sID = 'NO_ID'
                sMessage = sLine[iColon1Index+1:].strip()
            else:
                sID = sLine[iColon1Index+1:iColon2Index].strip()
                sMessage = sLine[iColon2Index+1:].strip()
                if ' ' in sID:
                    sID = 'NO_ID'
                    sMessage = sLine[iColon1Index+1:].strip()
            oWarning = warning.create(sID, sMessage, None, iLineNumber + 1)
    return oReturn
 def test_is_suppressed_by_multiple_rules(self):
     oWarning = warning.create()
     self.assertFalse(oWarning.is_suppressed_by_multiple_rules())
     oWarning.add_suppression_rule('Rule')
     self.assertFalse(oWarning.is_suppressed_by_multiple_rules())
     oWarning.add_suppression_rule('Rule 1')
     self.assertTrue(oWarning.is_suppressed_by_multiple_rules())
 def test_empty_warning_creation(self):
     oWarning = warning.create()
     self.assertEqual(None, oWarning.warning_id)
     self.assertEqual(None, oWarning.message)
     self.assertEqual(None, oWarning.filename)
     self.assertEqual(None, oWarning.linenumber)
     self.assertEqual(False, oWarning.investigate)
     self.assertEqual([], oWarning.suppressed_by)
    def test_has_warnings(self):

        oWarningList = warning_list.create()

        self.assertEqual(False, oWarningList.has_warnings())

        oWarningList.add_warning(warning.create('WID1'))

        self.assertEqual(True, oWarningList.has_warnings())
    def test_maximum_id_length(self):

        oWarningList = warning_list.create()

        oWarning = warning.create('1')
        oWarningList.add_warning(oWarning)

        self.assertEqual(1, oWarningList.get_maximum_id_length())

        oWarning = warning.create('11111')
        oWarningList.add_warning(oWarning)

        self.assertEqual(5, oWarningList.get_maximum_id_length())

        oWarning = warning.create('1111111111111')
        oWarningList.add_warning(oWarning)

        self.assertEqual(13, oWarningList.get_maximum_id_length())
示例#11
0
    def test_build_multiply_suppressed_warning_header(self):
        lExpected = []
        lExpected.append('~' * 80)
        lExpected.append('Warning ID  : SYN001')
        lExpected.append('Line Number : 54')
        lExpected.append('Message     : Some warning message')
        lExpected.append('')

        oWarning = warning.create('SYN001', 'Some warning message', None, 54)

        lActual = display.build_multiply_suppressed_warning_header(oWarning)

        for iIndex, sLine in enumerate(lExpected):
            self.assertEqual(sLine, lActual[iIndex])
def extract_warnings(lFile):
    oReturn = warning_list.create()

    fWarningFound = False
    for iLineNumber, sLine in enumerate(lFile):
        if sLine.startswith('# Warning:'):
            iColon1Index = sLine.find(':')
            iColon2Index = sLine.find(':', iColon1Index + 1)
            sID = sLine[iColon1Index + 1:iColon2Index].strip()
            sID = sID[1:-1]
            if ' ' in sID:
                sID = 'NO_ID'
                sMessage = sLine[iColon1Index + 1:].strip()
            else:
                sMessage = sLine[iColon2Index + 1:].strip()
            oWarning = warning.create(sID, sMessage, None, iLineNumber + 1)
            oReturn.add_warning(oWarning)
    return oReturn
def extract_warnings(lFile):
    oReturn = warning_list.create()

    fWarningFound = False
    for iLineNumber, sLine in enumerate(lFile):
        # Clear the warning found flag to keep track of multiline warnings
        if not sLine.startswith(' ') and fWarningFound:
            fWarningFound = False
            oReturn.add_warning(oWarning)
        if sLine.startswith(' ') and fWarningFound:
            oWarning.message += ' ' + sLine.strip()
        if sLine.startswith('WARNING:') or sLine.startswith('CRITICAL WARNING'):
            fWarningFound = True
            iOpenBracketIndex = sLine.find('[')
            iCloseBracketIndex = sLine.find(']', iOpenBracketIndex+1)
            sID = sLine[iOpenBracketIndex+1:iCloseBracketIndex].strip()
            sMessage = sLine[iCloseBracketIndex+1:].strip()
            oWarning = warning.create(sID, sMessage, None, iLineNumber + 1)
    return oReturn
    def test_get_investigate_warnings(self):

        oWarningList = warning_list.create()

        lExpected = []
        oWarning = warning.create('1')
        oWarning.set_investigate()
        oWarning.add_suppression_rule('Suppression_rule')
        oWarningList.add_warning(oWarning)
        lExpected.append(oWarning)

        oWarning = warning.create('2')
        oWarning.add_suppression_rule('Suppression_rule')
        oWarningList.add_warning(oWarning)

        oWarning = warning.create('3')
        oWarning.add_suppression_rule('Suppression_rule')
        oWarning.set_investigate()
        oWarningList.add_warning(oWarning)
        lExpected.append(oWarning)

        oWarning = warning.create('4')
        oWarning.add_suppression_rule('Suppression_rule')
        oWarningList.add_warning(oWarning)

        oWarning = warning.create('5')
        oWarning.add_suppression_rule('Suppression_rule')
        oWarning.set_investigate()
        oWarningList.add_warning(oWarning)
        lExpected.append(oWarning)

        oWarning = warning.create('6')
        oWarning.add_suppression_rule('Suppression_rule')
        oWarning.set_investigate()
        oWarningList.add_warning(oWarning)
        lExpected.append(oWarning)

        lActual = oWarningList.get_investigate_warnings()

        self.assertEqual(lExpected, lActual)
 def test_is_investigate(self):
     oWarning = warning.create()
     self.assertFalse(oWarning.is_investigate())
     oWarning.set_investigate()
     self.assertTrue(oWarning.is_investigate())
 def test_get_investigate(self):
     oWarning = warning.create()
     self.assertEqual(False, oWarning.get_investigate())
 def test_assignment_class_creation(self):
     oWarning = warning.create('WID', 'Message', 'Filename', 'Linenumber')
     self.assertEqual('WID', oWarning.warning_id)
     self.assertEqual('Message', oWarning.message)
     self.assertEqual('Filename', oWarning.filename)
     self.assertEqual('Linenumber', oWarning.linenumber)
 def test_get_linenumber_method(self):
     oWarning = warning.create('WID', 'Message', 'Filename', 'Linenumber')
     self.assertEqual('Linenumber', oWarning.get_linenumber())
 def test_is_suppressed(self):
     oWarning = warning.create()
     self.assertFalse(oWarning.is_suppressed())
     oWarning.add_suppression_rule('Rule')
     self.assertTrue(oWarning.is_suppressed())