Ejemplo n.º 1
0
    def test_resolve_multiple_defines(self):
        """second easiest test, this one requires multiple passes of the
        replacement string"""
        buf = "\n\n\
              `define B 1\n\
              `define A `B\n\
              module test ();\n\
              endmodule"

        define_dict = preprocessor.generate_define_table(buf, debug=False)
        result = preprocessor.resolve_defines("`B:`A", define_dict, debug=False)
        self.assertEqual(result, '1:1')
Ejemplo n.º 2
0
    def test_complicated_string(self):
        """Hardest test of all, filled with multiple replacements and
        all of the pre-processing techniques"""
        buf = "\n\n\
              `define B 2 \n\
              `define A `B \n\
              `define C 4 \n\
              module test ();\n\
              endmodule"

        define_dict = preprocessor.generate_define_table(buf, debug=False)
        result = preprocessor.resolve_defines("val[(`A * `B * `C):((`C)-(`A))]", define_dict, debug = self.dbg)
        result = preprocessor.evaluate_range(result, define_dict, debug=False)
        #print "result: %s" % result

        self.assertEqual(result, "val[16:2]")
Ejemplo n.º 3
0
 def test_generate_define_table(self):
     """generate a define table given a file"""
     self.module_buffer = "`define TEST_DEFINE 1"
     result = preprocessor.generate_define_table(self.module_buffer, debug = self.dbg)
     self.assertEqual(result["TEST_DEFINE"], '1')