コード例 #1
0
 def test_rule_029(self):
     oRule = process.rule_029()
     self.assertTrue(oRule)
     self.assertEqual(oRule.name, 'process')
     self.assertEqual(oRule.identifier, '029')
     dExpected = [9, 13]
     oRule.analyze(oFileEvent)
     self.assertEqual(oRule.violations, dExpected)
コード例 #2
0
 def test_fix_rule_029(self):
     oRule = process.rule_029()
     dExpected = []
     oRule.fix(oFileEvent)
     oRule.analyze(oFileEvent)
     self.assertEqual(oRule.violations, dExpected)
     self.assertEqual(oFileEvent.lines[9].line, '    if (CLK\'event and CLK = \'1\') then')
     self.assertEqual(oFileEvent.lines[13].line, '    if (CLK\'event and CLK = \'0\') then')
コード例 #3
0
 def test_rule_029_default_event(self):
     oRule = process.rule_029()
     self.assertTrue(oRule)
     self.assertEqual(oRule.name, 'process')
     self.assertEqual(oRule.identifier, '029')
     self.assertEqual(oRule.clock, 'event')
     dExpected = utils.add_violation_list([9, 13, 34, 44])
     oRule.analyze(oFileEvent)
     self.assertEqual(oRule.violations, dExpected)
     self.assertEqual(oRule._get_solution(0), 'Use \'event for clocks.')
コード例 #4
0
 def test_rule_029_edge(self):
     oRule = process.rule_029()
     oRule.clock = 'edge'
     self.assertTrue(oRule)
     self.assertEqual(oRule.name, 'process')
     self.assertEqual(oRule.identifier, '029')
     dExpected = utils.add_violation_list([17, 21, 38,50])
     oRule.analyze(oFileEvent)
     self.assertEqual(oRule.violations, dExpected)
     self.assertEqual(oRule._get_solution(0), 'Use rising_edge or falling_edge for clocks.')
コード例 #5
0
    def test_fix_rule_029_edge(self):
        oRule = process.rule_029()
        oRule.clock = 'edge'
        dExpected = []
        oRule.fix(self.oFileEvent)
        self.assertEqual(self.oFileEvent.lines[17].line, '    if (rising_edge(CLK)) then')
        self.assertEqual(self.oFileEvent.lines[21].line, '    if (falling_edge(CLK)) then')

        oRule.analyze(self.oFileEvent)
        self.assertEqual(oRule.violations, dExpected)
コード例 #6
0
    def test_fix_rule_029_edge(self):
        oRule = process.rule_029()
        oRule.clock = 'edge'

        oRule.fix(self.oFile)

        lActual = self.oFile.get_lines()

        self.assertEqual(lExpected_edge, lActual)

        oRule.analyze(self.oFile)
        self.assertEqual(oRule.violations, [])
コード例 #7
0
    def test_rule_029_edge(self):
        oRule = process.rule_029()
        oRule.clock = 'edge'
        self.assertTrue(oRule)
        self.assertEqual(oRule.name, 'process')
        self.assertEqual(oRule.identifier, '029')

        lExpected = [10, 14]
        oRule.analyze(self.oFile)
        self.assertEqual(
            lExpected,
            utils.extract_violation_lines_from_violation_object(
                oRule.violations))
コード例 #8
0
 def test_fix_rule_029_event(self):
     oRule = process.rule_029()
     dExpected = []
     oRule.fix(self.oFileEvent)
     oRule.analyze(self.oFileEvent)
     self.assertEqual(oRule.violations, dExpected)
     self.assertEqual(self.oFileEvent.lines[9].line,
                      '    if (CLK\'event and CLK = \'1\') then')
     self.assertEqual(self.oFileEvent.lines[13].line,
                      '    if (CLK\'event and CLK = \'0\') then')
     self.assertEqual(
         self.oFileEvent.lines[34].line,
         '    if (q_ff.some_flop\'event and q_ff.some_flop = \'1\') then')
     self.assertEqual(
         self.oFileEvent.lines[44].line,
         '    elsif (q_ff.some_flop\'event and q_ff.some_flop = \'0\') then'
     )