def test_get_investigate_suppression_rules(self):

        oSuppressionList = suppression_list.create()

        oSuppression = suppression.create('Sup0')
        oSuppression.add_suppressed_warning('Hello')
        oSuppression.add_suppressed_warning('Hello 2')
        oSuppressionList.add_suppression(oSuppression)

        oSuppression = suppression.create('Sup1')
        oSuppression.add_suppressed_warning('Goodbye')
        oSuppression.investigate = 'Investigate1'
        oSuppressionList.add_suppression(oSuppression)

        oSuppression = suppression.create('Sup2')
        oSuppression.add_suppressed_warning('Morning')
        oSuppression.investigate = 'Investigate2'
        oSuppressionList.add_suppression(oSuppression)

        lActual = oSuppressionList.get_investigate_suppression_rules()

        self.assertEqual(2, len(lActual))

        self.assertEqual('Sup1', lActual[0].get_warning_id())
        self.assertEqual('Sup2', lActual[1].get_warning_id())
    def test_get_suppressions_which_suppressed_a_warning_w_investigate_rules(self):

        oSuppressionList = suppression_list.create()

        oSuppression = suppression.create('Sup0')
        oSuppression.add_suppressed_warning('Hello')
        oSuppression.add_suppressed_warning('Hello 2')
        oSuppressionList.add_suppression(oSuppression)

        oSuppression = suppression.create('Sup1')
        oSuppression.add_suppressed_warning('Goodbye')
        oSuppression.investigate = 'Investigate1'
        oSuppressionList.add_suppression(oSuppression)

        oSuppression = suppression.create('Sup2')
        oSuppression.add_suppressed_warning('Tomorrow')
        oSuppression.investigate = 'Investigate2'
        oSuppressionList.add_suppression(oSuppression)

        oSuppression = suppression.create('Sup3')
        oSuppression.add_suppressed_warning('Today')
        oSuppressionList.add_suppression(oSuppression)

        lActual = oSuppressionList.get_suppressions_which_suppressed_a_warning()

        self.assertEqual(2, len(lActual))

        self.assertEqual('Sup0', lActual[0].get_warning_id())
        self.assertEqual('Sup3', lActual[1].get_warning_id())
    def test_add_suppression_method(self):
        oSuppressionList = suppression_list.create()

        oSuppressionList.add_suppression(suppression.create('WID1'))
        oSuppressionList.add_suppression(suppression.create('WID2'))

        self.assertEqual('WID1', oSuppressionList.suppressions[0].warning_id)
        self.assertEqual('WID2', oSuppressionList.suppressions[1].warning_id)
    def test_get_number_of_suppressions(self):

        oSuppressionList = suppression_list.create()

        self.assertEqual(0, oSuppressionList.get_number_of_suppressions())

        oSuppressionList.add_suppression(suppression.create('WID1'))

        self.assertEqual(1, oSuppressionList.get_number_of_suppressions())

        oSuppressionList.add_suppression(suppression.create('WID2'))

        self.assertEqual(2, oSuppressionList.get_number_of_suppressions())
예제 #5
0
    def test_create_suppression_list_w_investigates(self):

        dSuppression = utils.read_suppression_file(
            os.path.join(os.path.dirname(__file__),
                         'investigate_suppress.yaml'))

        oActualSuppressionList = utils.create_suppression_list(dSuppression)

        oExpectedSuppressList = suppression_list.create()

        oSuppression = suppression.create('SYN001', 'This is the message',
                                          'jcleary', 'This is fine because...')
        oExpectedSuppressList.suppressions.append(oSuppression)

        oSuppression = suppression.create('SYN001', 'This is another message',
                                          '<None>', 'Just ignore this...')
        oSuppression.investigate = True
        oExpectedSuppressList.suppressions.append(oSuppression)

        oSuppression = suppression.create('NO_ID',
                                          'Some warning without a proper ID',
                                          '<None>', 'This is fine...')
        oSuppression.investigate = True
        oExpectedSuppressList.suppressions.append(oSuppression)

        oSuppression = suppression.create(
            'NO_ID', 'This is another NO_ID suppression rule', '<None>',
            'Both this and the other NO_ID must be present.')
        oExpectedSuppressList.suppressions.append(oSuppression)

        oSuppression = suppression.create('CMP2001',
                                          'This is some compile warning',
                                          'jcleary', 'Just because...')
        oSuppression.investigate = True
        oExpectedSuppressList.suppressions.append(oSuppression)

        self.assertEqual(5, len(oActualSuppressionList.suppressions))
        oExpectedSuppressList.suppressions.append(oSuppression)

        for i in range(5):
            oExpected = oExpectedSuppressList.suppressions[i]
            oActual = oActualSuppressionList.suppressions[i]

            self.assertEqual(oExpected.get_warning_id(),
                             oActual.get_warning_id())
            self.assertEqual(oExpected.get_message(), oActual.get_message())
            self.assertEqual(oExpected.get_author(), oActual.get_author())
            self.assertEqual(oExpected.get_comment(), oActual.get_comment())
            self.assertEqual(oExpected.get_investigate(),
                             oActual.get_investigate())
예제 #6
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_get_suppressed_warnings(self):
     oSuppression = suppression.create()
     self.assertEqual([], oSuppression.get_suppressed_warnings())
     oSuppression.add_suppressed_warning('Hello')
     self.assertEqual(['Hello'], oSuppression.get_suppressed_warnings())
     oSuppression.add_suppressed_warning('Goodbye')
     self.assertEqual(['Hello', 'Goodbye'],
                      oSuppression.get_suppressed_warnings())
 def test_add_suppressed_warning(self):
     oSuppression = suppression.create()
     self.assertEqual(0, len(oSuppression.suppressed_warnings))
     oSuppression.add_suppressed_warning('Hello')
     self.assertEqual(1, len(oSuppression.suppressed_warnings))
     oSuppression.add_suppressed_warning('Goodbye')
     self.assertEqual(2, len(oSuppression.suppressed_warnings))
     self.assertEqual('Hello', oSuppression.suppressed_warnings[0])
     self.assertEqual('Goodbye', oSuppression.suppressed_warnings[1])
    def test_get_suppressions_which_did_not_suppress_a_warning(self):

        oSuppressionList = suppression_list.create()

        oSuppression = suppression.create('Sup0')
        oSuppression.add_suppressed_warning('Hello')
        oSuppression.add_suppressed_warning('Hello 2')
        oSuppressionList.add_suppression(oSuppression)

        oSuppression = suppression.create('Sup1')
        oSuppression.add_suppressed_warning('Goodbye')
        oSuppressionList.add_suppression(oSuppression)

        oSuppression = suppression.create('Sup2')
        oSuppressionList.add_suppression(oSuppression)

        lActual = oSuppressionList.get_suppressions_which_did_not_suppress_a_warning()

        self.assertEqual(1, len(lActual))

        self.assertEqual('Sup2', lActual[0].get_warning_id())
예제 #10
0
    def test_build_suppressed_warning_header(self):
        lExpected = []
        lExpected.append('~' * 80)
        lExpected.append('Suppression Author  : jcleary')
        lExpected.append('Suppression Comment : This is fine because...')
        lExpected.append('Suppression Rule    : Some warning mess')
        lExpected.append('')

        oSup = suppression.create(None, 'Some warning mess', 'jcleary',
                                  'This is fine because...')

        self.assertEqual(lExpected,
                         display.build_suppressed_warning_header(oSup))
    def test_get_suppressions_which_suppressed_a_warning(self):

        oSuppressionList = suppression_list.create()

        oSuppression = suppression.create()
        oSuppression.add_suppressed_warning('Hello')
        oSuppression.add_suppressed_warning('Hello 2')
        oSuppressionList.add_suppression(oSuppression)

        oSuppression = suppression.create()
        oSuppression.add_suppressed_warning('Goodbye')
        oSuppressionList.add_suppression(oSuppression)

        oSuppression = suppression.create()
        oSuppressionList.add_suppression(oSuppression)

        lActual = oSuppressionList.get_suppressions_which_suppressed_a_warning()

        self.assertEqual(2, len(lActual))

        self.assertEqual('Hello', lActual[0].get_suppressed_warnings()[0])
        self.assertEqual('Hello 2', lActual[0].get_suppressed_warnings()[1])
        self.assertEqual('Goodbye', lActual[1].get_suppressed_warnings()[0])
예제 #12
0
    def test_build_suppression_item(self):
        lExpected = []
        lExpected.append('Warning ID : CMD001')
        lExpected.append('Author     : jcleary')
        lExpected.append('Rule       : .*Some.*')
        lExpected.append('Comment    : This is good because...')
        lExpected.append('')

        oSup = suppression.create('CMD001', 'Some', 'jcleary',
                                  'This is good because...')

        lActual = display.build_suppression_item(oSup, 0)

        for iIndex, sLine in enumerate(lExpected):
            self.assertEqual(sLine, lActual[iIndex])
 def test_get_investigate_method(self):
     oSuppression = suppression.create('WID', 'Message', 'Author',
                                       'comment')
     self.assertFalse(oSuppression.get_investigate())
 def test_get_comment_method(self):
     oSuppression = suppression.create('WID', 'Message', 'Author',
                                       'comment')
     self.assertEqual('comment', oSuppression.get_comment())
 def test_assignment_class_creation(self):
     oSuppression = suppression.create('WID', 'Message', 'Author',
                                       'comment')
     self.assertEqual('WID', oSuppression.warning_id)
     self.assertEqual('Message', oSuppression.message)
     self.assertEqual('Author', oSuppression.author)
예제 #16
0
    def test_create_suppression_list(self):

        dSuppression = {}
        dSuppression['suppress'] = {}
        dSuppression['suppress']['rules'] = {}

        dSuppression['suppress']['rules']['SYN001'] = []
        dRule = {}
        dRule['msg'] = 'This is the message'
        dRule['author'] = 'jcleary'
        dRule['comment'] = 'This is fine because...'
        dSuppression['suppress']['rules']['SYN001'].append(dRule)
        dRule = {}
        dRule['msg'] = 'This is another message'
        dRule['comment'] = 'Just ignore this...'
        dSuppression['suppress']['rules']['SYN001'].append(dRule)

        dSuppression['suppress']['rules']['NO_ID'] = []
        dRule = {}
        dRule['msg'] = 'Some warning without a proper ID'
        dRule['comment'] = 'This is fine...'
        dSuppression['suppress']['rules']['NO_ID'].append(dRule)

        dSuppression['suppress']['rules']['CMP2001'] = []
        dRule = {}
        dRule['msg'] = 'This is some compile warning'
        dRule['author'] = 'jcleary'
        dRule['comment'] = 'Just because...'
        dSuppression['suppress']['rules']['CMP2001'].append(dRule)

        dSuppression['suppress']['rules']['NO_COMMENT'] = []
        dRule = {}
        dRule['msg'] = 'This rule has no comment'
        dSuppression['suppress']['rules']['NO_COMMENT'].append(dRule)

        oActualSuppressionList = utils.create_suppression_list(dSuppression)

        oExpectedSuppressList = suppression_list.create()

        oSuppression = suppression.create('SYN001', 'This is the message',
                                          'jcleary', 'This is fine because...')
        oExpectedSuppressList.suppressions.append(oSuppression)

        oSuppression = suppression.create('SYN001', 'This is another message',
                                          '<None>', 'Just ignore this...')
        oExpectedSuppressList.suppressions.append(oSuppression)

        oSuppression = suppression.create('NO_ID',
                                          'Some warning without a proper ID',
                                          '<None>', 'This is fine...')
        oExpectedSuppressList.suppressions.append(oSuppression)

        oSuppression = suppression.create('CMP2001',
                                          'This is some compile warning',
                                          'jcleary', 'Just because...')
        oExpectedSuppressList.suppressions.append(oSuppression)

        oSuppression = suppression.create('NO_COMMENT',
                                          'This rule has no comment', '<None>',
                                          '<None>')

        self.assertEqual(5, len(oActualSuppressionList.suppressions))
        oExpectedSuppressList.suppressions.append(oSuppression)

        for i in range(5):
            oExpected = oExpectedSuppressList.suppressions[i]
            oActual = oActualSuppressionList.suppressions[i]

            self.assertEqual(oExpected.get_warning_id(),
                             oActual.get_warning_id())
            self.assertEqual(oExpected.get_message(), oActual.get_message())
            self.assertEqual(oExpected.get_author(), oActual.get_author())
            self.assertEqual(oExpected.get_comment(), oActual.get_comment())
            self.assertEqual(oExpected.get_investigate(),
                             oActual.get_investigate())