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

Run tests in qemu in GitHub action #79

Draft
wants to merge 56 commits into
base: main
Choose a base branch
from

Conversation

volkertb
Copy link
Collaborator

No description provided.

@volkertb
Copy link
Collaborator Author

volkertb commented Jan 21, 2024

@crazii I opened it as a "draft pull request" this time, so that it can't accidentally get prematurely merged. 😅

This has been rebased on your previous revert push that fixed the release pipeline. 👍

@volkertb volkertb force-pushed the run-tests-in-qemu-in-github-action branch 5 times, most recently from 075013a to 5b74172 Compare January 21, 2024 13:23
@volkertb
Copy link
Collaborator Author

Okay, The 01 pipeline (build release) is now also working again in this PR. See actions results here: https://github.com/volkertb/SBEMU/actions/workflows/01-build-and-release.yml

@volkertb
Copy link
Collaborator Author

Still keeping this PR as draft, since the exit/error codes of failing DOS actions (specifically STP32.EXE not being able to detect the emulated Sound Blaster) need to be propagated to the shell script running QEMU, so that the pipeline will actually fail then as well.

volkertb and others added 20 commits August 18, 2024 16:27
…oesn't have to be downloaded and installed in each pipeline
…ase workflow (best to remove `branches` block before merging, to have this workflow triggered only on pushed tags)
…in PR Checks workflow, so the build container image does not have to include it
… (verify that args are actually being passed on when running docker)
…I can't prevent the entrypoint from being overridden by the steps, apparently)
…Hub Actions Workflow, as a sanity test (will extend this test further later)
…ake test job dependent on build job, since build job needs to complete and upload SBEMU.EXE as artifact before test job can download and run it
…, DOS/32A DOS extender and DTMF tone test WAV file to test directory for testing actual sound output
…so the test job has access to all the necessary files for running the tests in the DOS VM
@volkertb volkertb force-pushed the run-tests-in-qemu-in-github-action branch from eca0d35 to 726fbd2 Compare August 18, 2024 15:40
…is apparently not working with SBEMU in the QEMU VM, at least not for the stp32 Protected Mode audio player
@volkertb volkertb force-pushed the run-tests-in-qemu-in-github-action branch from 6e41a9c to 0e0000c Compare August 18, 2024 16:34
@volkertb
Copy link
Collaborator Author

volkertb commented Aug 18, 2024

Update:

  • I got the error exit code in the DOS session to propagate to the script in the CI/CD job, causing it to fail when the player doesn't work.
  • The sound player I've been using in this test (a protected mode command-line WAV player) kept complaining about not detecting a Sound Blaster, until I replaced the DOS/32A DOS extender with DOS/4GW version 1.97. At that point, the sound player detected the sound card in the QEMU VM instance in the test.

@crazii It was already known that there was an issue with DOS/32A (the VCPI issue that you and @viti95 encountered in FastDoom), but I suspect that this might not be the only compatibility issue between DOS/32A and DOSEMU, since this test also fails when I don't have JEMM loaded, in which case VCPI should not be enabled either.

Anway, the test is working, so this PR is ready to be merged.

In a subsequent PR, I'll make this into two tests, one that tests SBEMU with HDA and another that tests SBEMU with AC'97/ICHx (both which QEMU can emulate). I'll also add tests for real mode emulation later, since this test currently only tests SBEMU emulation with a protected mode application.

@volkertb volkertb force-pushed the run-tests-in-qemu-in-github-action branch 6 times, most recently from a0f8097 to dfd3fe9 Compare August 19, 2024 20:24
…g it, since we are testing on an Alpine image, not an Ubuntu or Debian image
@volkertb volkertb force-pushed the run-tests-in-qemu-in-github-action branch from dfd3fe9 to b273180 Compare August 19, 2024 20:27
…ile, since the output file isn't yielding any DTMF tones, according to the dtmf2num tool
… latter is apparently not working with SBEMU in the QEMU VM, at least not for the stp32 Protected Mode audio player"

This reverts commit 0e0000c.
…t emulation in Real Mode (or rather V8086 mode) and temporarily comment out Protected Mode playback with STP32.EXE
@volkertb volkertb force-pushed the run-tests-in-qemu-in-github-action branch from 5f51882 to 1420eb9 Compare August 19, 2024 22:03
…ble, so the if-statement further below has it in its context
@volkertb volkertb force-pushed the run-tests-in-qemu-in-github-action branch from 60f0969 to b4d6c42 Compare August 19, 2024 22:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant