Skip to content

testrunner-68k/testrunner-68k

Repository files navigation

Test runner for Amiga/680x0 code Build Status

testrunner-68k is a test runner for 680x0 code: Compile/assemble your test code into an Amiga executable, and use testrunner-68k to run the test code. The results will be printed in an easy-to-read format.

testrunner-68k includes a modified version of Musashi. It emulates a 68000 CPU. No FPU support. No machine-specific hardware support. No OS support.

INSTALLATION

Linux (Ubuntu)

echo "deb https://testrunner-68k-apt.s3-eu-west-1.amazonaws.com stable main" | sudo tee /etc/apt/sources.list.d/testrunner-68k.list
wget https://testrunner-68k-apt.s3-eu-west-1.amazonaws.com/Release.key -O - | sudo apt-key add -
sudo apt-get update
sudo apt-get install testrunner-68k

Windows

HOW TO USE

  • Write test code, as a number of "test_" prefixed labels/functions. See the example repository for inspiration.
    • Tests are considered successful if they return with a nonzero value in D0.
    • Unhandled exceptions result in immediate test failure.
  • Assemble/compile the test code into an Amiga executable with symbols present.
  • Run the tests by doing: testrunner-68k <executable>

IDEAS FOR THE FUTURE

  • Logging? Printf macro + emulator hook?
  • Assertions? Printf macro + emulator hook?
  • Performance monitoring/constraints? Begin/end macro + emulator hook?
  • Select machine configuration - either per test-suite or per-test
  • Software environment - raw vs OS/kickstart booted
    • stdout/stderr capture
    • file serving
    • floppy disk mounting

DEVELOPING

Requirements

Build & test

Windows (Command Prompt):

  • Ensure the 64-bit cl.exe is available on the command line; run build-scripts\windows\vcvars64_vs2019.bat if necessary
  • powershell build-scripts\windows\windows-build.ps1

Linux:

  • ./build-scripts/linux/linux-build.sh

Legal

testrunner-68k is licensed under the MIT license.

testrunner-68k makes use of Musashi, by Karl Stenerud. See the License and Copyright section of Musashi's readme file - it is a BSD-style license.