pocketpy/scripts/run_tests.py
blueloveTH 7a07eefed0 up
Update main.yml

Update main.yml

up

Update main.yml

update

Update main.yml

up

Update 04_str.py

Update run_tests.sh
2023-03-17 03:51:46 +08:00

38 lines
1.1 KiB
Python

import os
import sys
import time
def test_file(filepath, cpython=False):
if cpython:
return os.system("python3 " + filepath) == 0
if sys.platform == 'win32':
return os.system("pocketpy.exe " + filepath) == 0
else:
return os.system("./pocketpy " + filepath) == 0
def test_dir(path):
print("Testing directory:", path)
for filename in sorted(os.listdir(path)):
if not filename.endswith('.py'):
continue
filepath = os.path.join(path, filename)
print("> " + filepath, flush=True)
if path == 'benchmarks/':
_0 = time.time()
if not test_file(filepath, cpython=True): exit(1)
_1 = time.time()
if not test_file(filepath): exit(1)
_2 = time.time()
print(f' cpython: {_1 - _0:.6f}s (100%)')
print(f' pocketpy: {_2 - _1:.6f}s ({(_2 - _1) / (_1 - _0) * 100:.2f}%)')
else:
if not test_file(filepath): exit(1)
if len(sys.argv) == 2:
assert 'benchmark' in sys.argv[1]
d = 'benchmarks/'
else:
d = 'tests/'
test_dir(d)
print("ALL TESTS PASSED")