| a673804c Andy McCall |
1 |
|
| 2 |
|
| 3 |
|
| 4 |
|
| 5 |
|
| 6 |
set -eu |
| 7 |
chmod +x x16emu |
| 8 |
truncate -s 262144 dummy-rom.bin |
| 9 |
export RRDC_PORT=8080 |
| 10 |
export RRDC_BOOT_TIMEOUT=60 |
| 11 |
export RRDC_EMU_CMD="SDL_VIDEODRIVER=dummy SDL_AUDIODRIVER=dummy $PWD/x16emu -rom $PWD/dummy-rom.bin -warp -controlport {port}" |
| 12 |
status=0 |
| 13 |
(cd src/extern/retro-remote-debug-controller/conformance && |
| 14 |
python3 -m pytest -v -rs -p no:cacheprovider --junitxml=/src/junit.xml) || status=$? |
| 15 |
|
| 16 |
|
| 17 |
python3 - <<'PY' |
| 18 |
import sys |
| 19 |
import xml.etree.ElementTree as ET |
| 20 |
root = ET.parse("/src/junit.xml").getroot() |
| 21 |
suites = [root] if root.tag == "testsuite" else list(root) |
| 22 |
tests = sum(int(s.get("tests", 0)) for s in suites) |
| 23 |
skipped = sum(int(s.get("skipped", 0)) for s in suites) |
| 24 |
print(f"conformance: {tests} tests, {skipped} skipped") |
| 25 |
if tests == 0 or skipped == tests: |
| 26 |
sys.exit("conformance: every test skipped: the emulator did not answer on its control port") |
| 27 |
PY |
| 28 |
exit $status |