mirror of
https://github.com/libretro/ppsspp.git
synced 2024-12-04 23:16:41 +00:00
78 lines
1.6 KiB
Python
78 lines
1.6 KiB
Python
# Utility to make it slightly easier to get the results from a test back
|
|
# and put it as an "expected" file.
|
|
# I can't seem to get pspsh to automatically wait for the psp app to exit,
|
|
# unfortunately.
|
|
|
|
import sys
|
|
import io
|
|
import os
|
|
import subprocess
|
|
import shutil
|
|
import time
|
|
|
|
PSPSH = "pspsh"
|
|
TEST_ROOT = "pspautotests/tests/"
|
|
PORT = 3000
|
|
TEST = "cpu/cpu/cpu"
|
|
OUTFILE = "__testoutput.txt"
|
|
OUTFILE2 = "__testerror.txt"
|
|
|
|
|
|
tests_to_generate = [
|
|
"cpu/cpu/cpu",
|
|
"cpu/icache/icache",
|
|
"cpu/lsu/lsu",
|
|
"cpu/fpu/fpu",
|
|
]
|
|
|
|
|
|
def gen_test(test):
|
|
print("Running test " + test + " on the PSP...")
|
|
|
|
if os.path.exists(OUTFILE):
|
|
os.unlink(OUTFILE)
|
|
if os.path.exists(OUTFILE2):
|
|
os.unlink(OUTFILE2)
|
|
|
|
prx_path = TEST_ROOT + test + ".prx"
|
|
expected_path = TEST_ROOT + test + ".expected"
|
|
|
|
if not os.path.exists(prx_path):
|
|
print "You must compile the test into a PRX first (" + prx_path + ")"
|
|
return
|
|
|
|
# First, write a command file for PSPSH
|
|
|
|
f = open("cmdfile.txt", "w")
|
|
f.write(prx_path)
|
|
f.close()
|
|
|
|
os.system("pspsh -p %i cmdfile.txt" % (PORT,))
|
|
|
|
# Allow the test a second to execute - TODO: tweak
|
|
time.sleep(1)
|
|
|
|
if os.path.exists(OUTFILE):
|
|
# Should check for size as well...
|
|
shutil.copyfile(OUTFILE, expected_path)
|
|
print "Expected file written: " + expected_path
|
|
else:
|
|
print "ERROR: No " + OUTFILE + " was written, can't write .expected"
|
|
|
|
os.unlink("cmdfile.txt")
|
|
|
|
# Allow the system a couple of seconds to reconnect to the PSP
|
|
time.sleep(2)
|
|
|
|
def main():
|
|
args = sys.argv[1:]
|
|
|
|
tests = tests_to_generate
|
|
if len(args):
|
|
tests = args
|
|
|
|
for test in tests:
|
|
gen_test(test)
|
|
|
|
main()
|