OP
Add Recording Smoke Test
OpenAdaptAI/OpenAdapt#958

Summary

I’ve added an automated smoke test for the recording functionality to address #775.

What kind of change does this PR introduce?

  • New Feature (Automated Smoke Test)

Implementation Details:

  • Daemon Thread: The test runs openadapt.record in a background daemon thread to avoid blocking the main test execution.
  • Stop Sequence (Ctrl+C): I used pynput to simulate the Ctrl+C keyboard interrupt.
    • Note on implementation: The test explicitly catches the KeyboardInterrupt exception. This ensures that the test runner doesn’t crash (especially on Windows) and can proceed to the verification step cleanly.
  • Verification:
    • Database: It queries the SQLite DB to confirm the Recording entry was created.
    • Filesystem: It attempts to verify the existence of the video file (video_path). I added a check to handle cases where the schema version might differ, so the test remains stable across environments.
  • Windows Support: Added a ctypes hard exit strategy to prevent multiprocessing permission errors causing hanging processes on Windows.

Checklist

  • My code follows the style guidelines of OpenAdapt
  • I have performed a self-review of my code
  • I have added tests to prove my fix is functional/effective
  • I have linted my code locally prior to submission
  • I have commented my code, particularly in hard-to-understand areas
  • New and existing unit tests pass locally with my changes

Fixes

Fixes #775 /claim #775

Demo Video

https://github.com/user-attachments/assets/4641b3bd-816d-44ce-9a19-d1047f8b3f7a

Claim

Total prize pool $100
Total paid $0
Status Pending
Submitted January 16, 2026
Last updated January 16, 2026

Contributors

G-

g-irem-bas-gmail-com

@g-irem-bas-gmail-com

100%

Sponsors

OP

OpenAdaptAI

@OpenAdaptAI

$100