fbzx-wii/src/z80free/z80free_testgen.py
fabio.olimpieri de19c97eae First release
2012-04-07 10:33:47 +00:00

84 lines
2.2 KiB
Python

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
# Copyright 2008-2009 (C) Raster Software Vigo (Sergio Costas)
# This file is part of Z80Free
#
# Z80Free is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# Z80Free is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import sys
infile=open("tests.in","r")
expected=open("tests.expected","r")
outfile=open("tests.z80free","w")
maximo=0
while True:
# read the test
while True:
test_name=""
test_name=infile.readline()
if test_name!="\n":
break
if test_name=="": # EOF
break
print test_name
outfile.write(test_name)
linea=infile.readline()
while linea[:2]!="-1":
outfile.write(linea)
linea=infile.readline()
outfile.write("-1\n")
while True:
test_name2=expected.readline()
if test_name2!="\n":
break
if test_name2=="": #EOF
continue
if (test_name2!=test_name):
print "error, %(entrada)s y %(salida)s no coinciden"%{"entrada":test_name,"salida":test_name2}
sys.exit(1)
port=[]
while True: # jump over event lines
linea=expected.readline()
if linea[0]!=' ':
break
pos=linea.find("PR")
if pos==-1:
continue
port.append(linea[pos+3:])
print linea
for element in port:
outfile.write(element)
outfile.write(" ")
outfile.write("-1\n")
outfile.write(linea) # registers
linea=expected.readline()
print linea
while (linea!="\n") and (linea!=""):
print linea
outfile.write(linea)
linea=expected.readline()
outfile.write("-1\n\n")
infile.close()
expected.close()
outfile.close()