Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve the Headless app #839

Closed
dirkwhoffmann opened this issue Aug 24, 2024 · 2 comments
Closed

Improve the Headless app #839

dirkwhoffmann opened this issue Aug 24, 2024 · 2 comments
Labels
Enhancement New feature or request v3.0

Comments

@dirkwhoffmann
Copy link
Owner

  • Background
    The Headless app is built by the GitHub runners and is used to test the integrity of the compiled app on multiple platforms. Until yesterday, the Headless app was compiled on Windows but never executed on this platform. Thus, it was only possible to check the compile process. This is fixed, and Headless is running on all platforms now.

  • Current situation
    Up to now, the app has created an emulator instance and run a RetroShell script that checks the syntax of available commands. However, the emulator itself has never been launched because there is no Kickstart ROM.

  • Enhancement
    Add a self-test mode that installs DiagRom as a Kickstart replacement and launch the emulator. By attaching RetroShell to the Amiga's serial port, DiagRom's output will become visible on the console (and the build logs). Thus, DiagRom can be controlled as we like by setting up a diagnosis script. The script could even emulate keyboard input or joystick movements by issuing corresponding shell commands. In self-test mode, the headless app could also check the DiagRom output for some particular string and terminate once the string has been received.

@dirkwhoffmann dirkwhoffmann added the Enhancement New feature or request label Aug 24, 2024
@dirkwhoffmann
Copy link
Owner Author

Update: The new Headless app supports three test modes:

  • headless --footprint
    Prints size information about various ojects. In the past, I used to put too much data on the stack which made it impossible to create an emulator instance on some architectures. This test mode does not create any objects, it simply calls sizeof a couple of times.

  • headless --smoke
    Creates an emulator instance and runs various RetroShell commands. The purpose is to check the command syntax, nothing else. No emulator thread is running.

  • headless --diagnose
    Plugs in DiagRom 1.3 and launches the Amiga. The current script looks as follows:

     "# vAmiga Self Check",
     "# ",
     "# Dirk W. Hoffmann, 2024",
     "",
     "# Attach RetroShell to the serial port to report debug output",
     "serial set DEVICE RETROSHELL",
     "",
     "# Power up the emulator",
     "amiga power on",
     "",
     "# Let DiagRom launch and press the right mouse button after a while",
     "wait 15 seconds",
     "mouse 1 press right",
     ""
     "# Let DiagRom run for some more time",
     "wait 10 seconds",
     "",
     "# Enough testing. Terminate the application",
     "shutdown
    

Here is some output of the Windows GitHub runner... seems to work.

Bildschirmfoto 2024-08-24 um 11 57 52

@dirkwhoffmann
Copy link
Owner Author

Featured by v3.0b1.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement New feature or request v3.0
Projects
None yet
Development

No branches or pull requests

1 participant