Пример #1
0
def run_tests(check_prefix, check_path, output_filename, target_arch,
              debuggable_mode, print_cfg):
    c1_file = parse_c1_visualizer_stream(output_filename,
                                         open(output_filename, "r"))
    for check_filename in find_checker_files(check_path):
        checker_file = parse_checker_stream(os.path.basename(check_filename),
                                            check_prefix,
                                            open(check_filename,
                                                 "r"), target_arch)
        match_files(checker_file, c1_file, target_arch, debuggable_mode,
                    print_cfg)
Пример #2
0
def dump_pass(output_filename, pass_name):
    c1_file = parse_c1_visualizer_stream(output_filename,
                                         open(output_filename, "r"))
    compiler_pass = c1_file.find_pass(pass_name)
    if compiler_pass:
        max_line_no = compiler_pass.start_line_no + len(compiler_pass.body)
        len_line_no = len(str(max_line_no)) + 2
        cur_line_no = compiler_pass.start_line_no
        for line in compiler_pass.body:
            Logger.log((str(cur_line_no) + ":").ljust(len_line_no) + line)
            cur_line_no += 1
    else:
        Logger.fail('Pass "{}" not found in the output'.format(pass_name))
Пример #3
0
def list_passes(output_filename):
    c1_file = parse_c1_visualizer_stream(output_filename,
                                         open(output_filename, "r"))
    for compiler_pass in c1_file.passes:
        Logger.log(compiler_pass.name)
Пример #4
0
 def assertParsesTo(self, c1_text, expected_data):
     expected_file = self.create_file(expected_data)
     actual_file = parse_c1_visualizer_stream("<c1_file>",
                                              io.StringIO(c1_text))
     return self.assertEqual(expected_file, actual_file)