Skip to content

Conversation

@rory-cd
Copy link

@rory-cd rory-cd commented Jan 25, 2026

Description

Problems

Integration tests run by sktest.exe sometimes produce inconsistent results between WSL and MSYS2 environments.

  • Animation test runs at a much faster speed in MSYS2, to the point where it's not even observable
  • Camera movement in the camera test is much faster in MSYS2 than WSL
  • Ray movement in the geometry test is much faster in MSYS2 than WSL
  • Sprite movement in the sprite test is much faster in MSYS2 than WSL
  • UI test fails to load Arial.ttf on WSL (A windows default font not included in the Resources directory)

Summary of changes

Fixes have been applied where possible without editing core SplashKit functions. There are some critical issues affecting MSYS2 which cause some tests to fail, but these bugs are not caused by the tests themselves, and will be updated in separate PRs. This PR also includes some minor changes unrelated to environment consistency (such as broken URLs and output messages). These have been addressed to allow the tests to run clearly.

  • Animation: Added frame rate cap to fix MSYS2 animation playing too fast
  • Animation: Minor cout adjustments for readability
  • Audio: Updated music URL to valid path
  • Audio: Adjusted cout messages to improve result clarity
  • Audio: Stopped music after 5 seconds to improve result clarity
  • Camera: Added frame cap and camera move speed for cross-platform consistency
  • Geometry: Added frame cap and ray move speed for cross-platform consistency
  • Sprites: Added frame cap and sprite move speed for cross-platform consistency
  • TCP Networking: Added endl to improve readability
  • Text: Updated font URL to valid path
  • UI: Changed font from Arial to Hara to avoid missing font in WSL/Linux

Known issues not addressed by this PR

  • Issues with running sktest.exe in MSYS2 environment
    There have been some reported issues running sktest (at all) on MSYS2. Specifically, the animation test was found to loop indefinitely, and some users found the test runner was freezing even before tests were launched. This has been addressed in Tests investigation issues #132.

  • Issues with download paths in MSYS2
    Some download functions are buggy in MSYS2, most likely due to path differences in Windows vs Linux. This affects:

    • Audio test: download_music
    • Text test: download_font
    • Window test: download_bitmap
  • Terminal test fails
    Fails on both WSL and MSYS2. Not yet investigated.

  • UI test fails on MSYS2
    Due to an issue with interface.cpp - addressed in Fix interface out of bounds error on MSYS2 #155.

  • Bundle test fails bitmap freeing
    Addressed in Fix bundle freeing: Bitmap resources not being freed #153.

Type of change

  • Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?

  • Ran sktest in WSL and MSYS2 environments

Testing Checklist

  • Tested with sktest

Checklist

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have requested a review from ... on the Pull Request

Fixes minor inconsistencies in test output for MSYS2 and WSL.
Minor cross-platform fixes were also added to aid testing.
- Animation: Added frame rate cap to avoid MSYS2 hyperspeed
- Animation: Minor cout adjustments for readability
- Audio: Updated music URL to valid path
- Audio: Adjusted cout messages to improve result clarity
- Audio: Stopped music after 5 seconds to improve result clarity
- Camera: Added frame cap and camera move speed for cross-platform consistency
- Geometry: Added frame cap and ray move speed for cross-platform consistency
- Sprites: Added frame cap and sprite move speed for cross-platform consistency
- TCP Networking: Added endl to improve readability
- Text: Updated font URL to valid path
- UI: Changed font from Arial to Hara to avoid missing font in WSL/Linux
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