2d1c1a596c14c2eb15eb5b5fc572618f8a0f5c76
9 parser
= argparse
.ArgumentParser()
10 parser
.add_argument('--i965_asm',
11 help='path to i965_asm binary')
12 parser
.add_argument('--gen_name',
13 help='name of the hardware generation (as understood by i965_asm)')
14 parser
.add_argument('--gen_folder',
16 help='name of the folder for the generation')
17 args
= parser
.parse_args()
21 for asm_file
in args
.gen_folder
.glob('*.asm'):
22 expected_file
= asm_file
.stem
+ '.expected'
23 expected_path
= args
.gen_folder
/ expected_file
24 out_path
= tempfile
.NamedTemporaryFile()
26 subprocess
.run([args
.i965_asm
,
28 '--gen', args
.gen_name
,
29 '--output', out_path
.name
,
31 stdout
=subprocess
.DEVNULL
,
32 stderr
=subprocess
.STDOUT
)
34 with expected_path
.open() as f
:
35 lines_before
= f
.readlines()
36 lines_after
= [line
.decode('ascii') for line
in out_path
]
38 diff
= ''.join(difflib
.unified_diff(lines_before
, lines_after
,
39 expected_file
, asm_file
.stem
+ '.out'))
42 print('Output comparison for {}:'.format(asm_file
.name
))
46 print('{} : PASS'.format(asm_file
.name
))