Skip to content

Kungfumaster integration - #336

Open
vamsi-dev-coder wants to merge 7 commits into
k4ntz:devfrom
vamsi-dev-coder:kungfumaster-integration
Open

Kungfumaster integration#336
vamsi-dev-coder wants to merge 7 commits into
k4ntz:devfrom
vamsi-dev-coder:kungfumaster-integration

Conversation

@vamsi-dev-coder

Copy link
Copy Markdown

This pull request introduces the fully functional, JIT-compliant JAX environment and custom arcade fidelity renderer for Kung-Fu Master in JAXAtari, complete with 8 proposal-backed game modifications.

Key Features Implemented:

Environment Logic (JaxKungFuMaster): Full state dynamics, physics, gravity, jump curves, and collision handling wrapped in JAX primitives.
Enemy AI & Attack States: Implemented behaviors, timers, and hitboxes for all core enemies (Gripper, Knife Thrower, Tomtom, Dragon, Vase/Snake, Exploding Ball, and Floor Bosses).
High-Fidelity Renderer (KungFuMasterRenderer): Replicated authentic Atari backdrop walls, striped pillars with red/yellow dashes, floor borders, and bottom ornamental brackets.
Custom 5x7 bitmap font rendering for the score and timer.
Real-time dynamic health bars for both the player and active bosses.
Custom Game Modifications: Added logic flags supporting 5 simple modifications (No Knives, Double Speed, Infinite Energy, No Grabs, Mirror Player) and 3 complex modifications (Boss Rush, All Knife Floor, Reversed Floors).

Testing & Verification:
Passed smoke tests and VMAP batch consistency checks.
Verified execution performance and visual accuracy via interactive testing.

Copilot AI lite review requested due to automatic review settings September 4, 2026 10:12
@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
📁 Previous CI results (run #33864173950)

Test Report

This comment was generated automatically by a GitHub Action. It summarizes the test results for this pull request. The GitHub Action run can be found here:

https://github.com/k4ntz/JAXAtari/actions/runs/33862120995

Base Branch ❌

The PR's base branch is master.
The expected base branch is dev.

Changed Files ❌

The PR changes files that should not be changed:

  • brand_new_render.png
  • jaxatari_play_state.json
  • render_test.png
  • render_test_final.png
  • scripts/create_hud_digits.py
  • scripts/create_score_digits.py
  • scripts/extract_ale_kungfu.py
  • scripts/fix_all_sprites.py
  • scripts/fix_kungfu_sprites.py
  • src/jaxatari/assets/kungfumaster/background.npy
  • src/jaxatari/assets/kungfumaster/ball.npy
  • src/jaxatari/assets/kungfumaster/boss.npy
  • src/jaxatari/assets/kungfumaster/dragon.npy
  • src/jaxatari/assets/kungfumaster/gripper.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_0.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_1.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_2.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_3.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_4.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_5.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_6.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_7.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_8.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_9.npy
  • src/jaxatari/assets/kungfumaster/knife_thrower.npy
  • src/jaxatari/assets/kungfumaster/player_kick.npy
  • src/jaxatari/assets/kungfumaster/player_punch.npy
  • src/jaxatari/assets/kungfumaster/player_stand.npy
  • src/jaxatari/assets/kungfumaster/player_walk.npy
  • src/jaxatari/assets/kungfumaster/score_0.npy
  • src/jaxatari/assets/kungfumaster/score_1.npy
  • src/jaxatari/assets/kungfumaster/score_2.npy
  • src/jaxatari/assets/kungfumaster/score_3.npy
  • src/jaxatari/assets/kungfumaster/score_4.npy
  • src/jaxatari/assets/kungfumaster/score_5.npy
  • src/jaxatari/assets/kungfumaster/score_6.npy
  • src/jaxatari/assets/kungfumaster/score_7.npy
  • src/jaxatari/assets/kungfumaster/score_8.npy
  • src/jaxatari/assets/kungfumaster/score_9.npy
  • src/jaxatari/assets/kungfumaster/snake.npy
  • src/jaxatari/assets/kungfumaster/tomtom.npy
  • src/jaxatari/assets/kungfumaster/vase.npy
  • src/jaxatari/core.py

Please ensure that only allowed files are modified. Any changes in the src/jaxatari/games/ directory are allowed.

Framework Tests ❌

Some framework tests failed. Please check the details below:

kungfumaster ❌
============================= test session starts ==============================
platform linux -- Python 3.11.16, pytest-8.4.2, pluggy-1.6.0
rootdir: /home/runner/work/JAXAtari/JAXAtari
configfile: pyproject.toml
plugins: sugar-1.1.1, github-actions-annotate-failures-0.4.2, syrupy-4.9.1, xdist-3.8.0
created: 2/2 workers
2 workers [66 items]

ssss....::error file=tests/test_environment_compatibility.py,line=203::TestBasicAPI.test_render[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F.::warning file=.venv/lib/python3.11/site-packages/pygame/pkgdata.py,line=25::pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
ssss.....ssssssss.::error file=tests/test_environment_compatibility.py,line=307::TestWrapperCompatibility.test_wrapped_reset_and_step[Pixel-kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_environment_compatibility.py,line=307::TestWrapperCompatibility.test_wrapped_reset_and_step[LoggedFlattenedPixelAndObject-kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_environment_compatibility.py,line=337::TestWrapperCompatibility.test_observation_shape_and_type[Pixel-kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_environment_compatibility.py,line=337::TestWrapperCompatibility.test_observation_shape_and_type[LoggedFlattenedPixelAndObject-kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
Fssss.::error file=tests/test_environment_compatibility.py,line=620::TestAdvancedWrapperFeatures.test_normalize_observation_wrapper[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_environment_compatibility.py,line=667::TestAdvancedWrapperFeatures.test_log_wrapper_tracking[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_environment_compatibility.py,line=705::TestAdvancedWrapperFeatures.test_multi_reward_log_wrapper[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F...............::error file=tests/test_core_and_wrappers.py,line=62::test_pixel_and_object_centric_wrapper[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F....::error file=tests/test_environment_compatibility.py,line=933::TestEdgeCasesAndErrorHandling.test_state_serialization[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_funcenv_adapter.py,line=50::TestGymnasiumApiCompliance.test_reset_method[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_funcenv_adapter.py,line=58::TestGymnasiumApiCompliance.test_step_method[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
Fs::error file=tests/test_core_and_wrappers.py,line=132::test_flatten_observation_wrapper[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_core_and_wrappers.py,line=192::test_log_wrapper_with_flatten_observation[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F       [100%]
=================================== FAILURES ===================================
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1434: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1434: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1434: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1434: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1434: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1434: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1434: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1434: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1434: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1434: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1434: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1434: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1434: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1434: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
=============================== warnings summary ===============================
tests/test_all_mods.py::test_no_duplicate_mod_keys
  /home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/pygame/pkgdata.py:25: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
    from pkg_resources import resource_stream, resource_exists

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
============================= slowest 20 durations =============================
17.60s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_atari_wrapper_features[kungfumaster]
16.47s call     tests/test_all_mods.py::test_renderer_patch_jit_staleness_fixed
8.14s call     tests/test_core_and_wrappers.py::test_object_centric_wrapper[kungfumaster]
7.02s call     tests/test_all_mods.py::test_no_duplicate_mod_keys
5.67s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_flatten_observation_wrapper_space_structure[kungfumaster]
5.11s call     tests/test_core_and_wrappers.py::test_flatten_observation_wrapper[kungfumaster]
4.42s call     tests/test_environment_compatibility.py::TestEdgeCasesAndErrorHandling::test_invalid_action_handling[kungfumaster]
4.10s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_log_wrapper_edge_cases[kungfumaster]
2.19s call     tests/test_environment_compatibility.py::TestBasicAPI::test_spaces[kungfumaster]
2.12s call     tests/test_environment_compatibility.py::TestBasicAPI::test_determinism[kungfumaster]
1.97s call     tests/test_environment_compatibility.py::TestBasicAPI::test_step[kungfumaster]
1.88s call     tests/test_spaces.py::test_tuple_space
1.88s call     tests/test_environment_compatibility.py::TestBasicAPI::test_episode_completion[kungfumaster]
1.84s call     tests/test_environment_compatibility.py::TestEdgeCasesAndErrorHandling::test_state_consistency[kungfumaster]
1.53s call     tests/test_spaces.py::test_dict_space
1.36s call     tests/test_spaces.py::test_box_space
1.03s call     tests/test_spaces.py::test_discrete_space
0.60s call     tests/test_spaces.py::test_spaces_functionality
0.57s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_normalize_observation_wrapper[kungfumaster]
0.46s call     tests/test_all_mods.py::test_jit_tripwire_warns_on_post_trace_mutation
=========================== short test summary info ============================
SKIPPED [1] tests/test_all_mods.py:273: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:348: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:372: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:389: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:700: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:723: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:751: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:763: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:829: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:852: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:870: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:890: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:910: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:932: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:945: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:967: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [2] tests/test_environment_compatibility.py:499: Skipping to debug memory issues in CI
SKIPPED [2] tests/test_environment_compatibility.py:539: Skipping to debug memory issues in CI
SKIPPED [1] tests/test_funcenv_adapter.py:164: Skipping to debug memory issues in CI
FAILED tests/test_environment_compatibility.py::TestBasicAPI::test_render[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapped_reset_and_step[Pixel-kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapped_reset_and_step[LoggedFlattenedPixelAndObject-kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestWrapperCompatibility::test_observation_shape_and_type[Pixel-kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestWrapperCompatibility::test_observation_shape_and_type[LoggedFlattenedPixelAndObject-kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_normalize_observation_wrapper[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_log_wrapper_tracking[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_multi_reward_log_wrapper[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_core_and_wrappers.py::test_pixel_and_object_centric_wrapper[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestEdgeCasesAndErrorHandling::test_state_serialization[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_reset_method[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_step_method[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_core_and_wrappers.py::test_flatten_observation_wrapper[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_core_and_wrappers.py::test_log_wrapper_with_flatten_observation[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
============ 14 failed, 31 passed, 21 skipped, 1 warning in 54.51s =============
Command exited with non-zero status 1
	Command being timed: "pytest -n 2 --dist=loadfile --game kungfumaster --snapshot-warn-unused --tb=line -ra --durations=20 --color=yes -m not serial tests/"
	User time (seconds): 158.75
	System time (seconds): 4.46
	Percent of CPU this job got: 290%
	Elapsed (wall clock) time (h:mm:ss or m:ss): 0:56.17
	Average shared text size (kbytes): 0
	Average unshared data size (kbytes): 0
	Average stack size (kbytes): 0
	Average total size (kbytes): 0
	Maximum resident set size (kbytes): 1530572
	Average resident set size (kbytes): 0
	Major (requiring I/O) page faults: 3
	Minor (reclaiming a frame) page faults: 727120
	Voluntary context switches: 33254
	Involuntary context switches: 33854
	Swaps: 0
	File system inputs: 2072
	File system outputs: 11952
	Socket messages sent: 0
	Socket messages received: 0
	Signals delivered: 0
	Page size (bytes): 4096
	Exit status: 1


This log was automatically created at 2026-09-04 10:16:11 UTC.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The renderer can crash when assets are unavailable and enemy collision logic uses the wrong direction signal, both of which can cause incorrect behavior at runtime.

Once you've addressed the issues Copilot identified, you can request another Copilot review.

Pull request overview

This PR adds a new JAX-native Atari environment for Kung-Fu Master and wires it into the game registry, alongside a custom JAX renderer and helper scripts for generating/extracting sprites.

Changes:

  • Introduces JaxKungFuMaster environment with full state, enemy/projectile systems, floor progression, and mod flags.
  • Adds KungFuMasterRenderer with HUD and scene drawing plus sprite-loading support.
  • Registers the game in core.py and adds sprite-generation/extraction scripts.
File summaries
File Description
src/jaxatari/games/kungfumaster_levels.py Placeholder level exports (currently reusing Kangaroo levels).
src/jaxatari/games/jax_kungfumaster.py New Kung-Fu Master JAX environment + renderer implementation.
src/jaxatari/core.py Registers "kungfumaster" in the game import map.
scripts/fix_kungfu_sprites.py Generates a subset of Kung-Fu Master sprites into .npy assets.
scripts/fix_all_sprites.py Generates additional enemy/object sprites into .npy assets.
scripts/extract_ale_kungfu.py Extracts background/player sprites from ALE frames into .npy assets.
scripts/create_score_digits.py Generates score digit sprites (currently not used by the renderer).
scripts/create_hud_digits.py Generates HUD timer digit sprites used by the renderer.
jaxatari_play_state.json A saved runtime play-state snapshot for kungfumaster.
Review details
  • Files reviewed: 9/45 changed files
  • Comments generated: 4
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment on lines +899 to +922
def check_enemy_contact(is_active, enemy_type, ex, ey):
extra_reach = jnp.where((enemy_type == ENEMY_BOSS) & (state.floor == 1), to_int(cfg.BOSS_STICK_RANGE), to_int(0))
effective_enemy_w = to_int(cfg.ENEMY_WIDTH) + extra_reach
adjusted_ex = jnp.where(state.en_dir[0] < 0, ex - extra_reach, ex)

overlapping = is_active & check_aabb_overlap(
player_x, effective_y, to_int(cfg.PLAYER_WIDTH), effective_height,
adjusted_ex, ey, effective_enemy_w, to_int(cfg.ENEMY_HEIGHT)
)
grab_applied = overlapping & (enemy_type == ENEMY_GRIPPER) & to_bool(not cfg.MOD_NO_GRABS)
drain_dmg = jnp.where(grab_applied & (state.grab_timer <= 0), to_int(cfg.DMG_GRAB), to_int(0))

boss_dmg = jnp.where(state.floor >= 3, to_int(cfg.DMG_BOSS + 2), to_int(cfg.DMG_BOSS))
direct_hit_dmg = (
jnp.where(overlapping & (enemy_type == ENEMY_BOSS), boss_dmg, to_int(0)) +
jnp.where(overlapping & (enemy_type == ENEMY_DRAGON), to_int(cfg.DMG_DRAGON), to_int(0)) +
jnp.where(overlapping & (enemy_type == ENEMY_SNAKE), to_int(cfg.DMG_SNAKE), to_int(0)) +
jnp.where(overlapping & (enemy_type == ENEMY_BALL), to_int(cfg.DMG_BALL), to_int(0))
)
return grab_applied, drain_dmg + direct_hit_dmg

grabbed_flags, damage_amounts = jax.vmap(check_enemy_contact)(
state.en_active, state.en_type, state.en_x, state.en_y
)
Comment thread src/jaxatari/games/jax_kungfumaster.py Outdated
Comment on lines +1397 to +1402
self.spr_hud_digits = jnp.array([np.load(os.path.join(asset_dir, f"hud_digit_{i}.npy")) for i in range(10)], dtype=jnp.uint8)

self.has_assets = True
except Exception:
self.has_assets = False

Comment thread src/jaxatari/games/jax_kungfumaster.py Outdated
Comment on lines +1381 to +1383
# load pre-extracted sprites from local numpy arrays
asset_dir = "src/jaxatari/assets/kungfumaster"
try:
Comment thread jaxatari_play_state.json Outdated
Comment on lines +1 to +5
{
"format": "jaxatari_play_state_v1",
"game": "kungfumaster",
"mods": [],
"state_tree": {
@vamsi-dev-coder
vamsi-dev-coder changed the base branch from master to dev September 4, 2026 10:38
@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
📁 Previous CI results (run #33864243872)

Test Report

This comment was generated automatically by a GitHub Action. It summarizes the test results for this pull request. The GitHub Action run can be found here:

https://github.com/k4ntz/JAXAtari/actions/runs/33864173950

Base Branch ✅

The PR's base branch is dev.
The expected base branch is dev.

Changed Files ❌

The PR changes files that should not be changed:

  • brand_new_render.png
  • jaxatari_play_state.json
  • render_test.png
  • render_test_final.png
  • scripts/create_hud_digits.py
  • scripts/create_score_digits.py
  • scripts/extract_ale_kungfu.py
  • scripts/fix_all_sprites.py
  • scripts/fix_kungfu_sprites.py
  • src/jaxatari/assets/kungfumaster/background.npy
  • src/jaxatari/assets/kungfumaster/ball.npy
  • src/jaxatari/assets/kungfumaster/boss.npy
  • src/jaxatari/assets/kungfumaster/dragon.npy
  • src/jaxatari/assets/kungfumaster/gripper.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_0.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_1.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_2.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_3.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_4.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_5.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_6.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_7.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_8.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_9.npy
  • src/jaxatari/assets/kungfumaster/knife_thrower.npy
  • src/jaxatari/assets/kungfumaster/player_kick.npy
  • src/jaxatari/assets/kungfumaster/player_punch.npy
  • src/jaxatari/assets/kungfumaster/player_stand.npy
  • src/jaxatari/assets/kungfumaster/player_walk.npy
  • src/jaxatari/assets/kungfumaster/score_0.npy
  • src/jaxatari/assets/kungfumaster/score_1.npy
  • src/jaxatari/assets/kungfumaster/score_2.npy
  • src/jaxatari/assets/kungfumaster/score_3.npy
  • src/jaxatari/assets/kungfumaster/score_4.npy
  • src/jaxatari/assets/kungfumaster/score_5.npy
  • src/jaxatari/assets/kungfumaster/score_6.npy
  • src/jaxatari/assets/kungfumaster/score_7.npy
  • src/jaxatari/assets/kungfumaster/score_8.npy
  • src/jaxatari/assets/kungfumaster/score_9.npy
  • src/jaxatari/assets/kungfumaster/snake.npy
  • src/jaxatari/assets/kungfumaster/tomtom.npy
  • src/jaxatari/assets/kungfumaster/vase.npy
  • src/jaxatari/core.py

Please ensure that only allowed files are modified. Any changes in the src/jaxatari/games/ directory are allowed.

Framework Tests ❌

Some framework tests failed. Please check the details below:

kungfumaster ❌
============================= test session starts ==============================
platform linux -- Python 3.11.16, pytest-8.4.2, pluggy-1.6.0
rootdir: /home/runner/work/JAXAtari/JAXAtari
configfile: pyproject.toml
plugins: sugar-1.1.1, github-actions-annotate-failures-0.4.2, syrupy-4.9.1, xdist-3.8.0
created: 2/2 workers
2 workers [68 items]

ssss....::error file=tests/test_environment_compatibility.py,line=203::TestBasicAPI.test_render[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F..::warning file=.venv/lib/python3.11/site-packages/pygame/pkgdata.py,line=25::pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
::error file=tests/test_environment_compatibility.py,line=307::TestWrapperCompatibility.test_wrapped_reset_and_step[Pixel-kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
Fs::error file=tests/test_environment_compatibility.py,line=337::TestWrapperCompatibility.test_observation_shape_and_type[Pixel-kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
Fssssssssss::error file=tests/test_environment_compatibility.py,line=475::TestJaxTransforms.test_jit_compilation[Pixel-kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
Fsss.....s....::error file=tests/test_environment_compatibility.py,line=617::TestAdvancedWrapperFeatures.test_normalize_observation_wrapper[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F..::error file=tests/test_environment_compatibility.py,line=664::TestAdvancedWrapperFeatures.test_log_wrapper_tracking[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_environment_compatibility.py,line=702::TestAdvancedWrapperFeatures.test_multi_reward_log_wrapper[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F......::error file=tests/test_core_and_wrappers.py,line=30::test_pixel_obs_wrapper_with_stacked_frames[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_core_and_wrappers.py,line=62::test_pixel_and_object_centric_wrapper[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F.::error file=tests/test_core_and_wrappers.py,line=132::test_flatten_observation_wrapper[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_core_and_wrappers.py,line=192::test_log_wrapper_with_flatten_observation[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_funcenv_adapter.py,line=50::TestGymnasiumApiCompliance.test_reset_method[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_funcenv_adapter.py,line=58::TestGymnasiumApiCompliance.test_step_method[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F..s...::error file=tests/test_environment_compatibility.py,line=930::TestEdgeCasesAndErrorHandling.test_state_serialization[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_environment_compatibility.py,line=307::TestWrapperCompatibility.test_wrapped_reset_and_step[LoggedFlattenedPixelAndObject-kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_environment_compatibility.py,line=337::TestWrapperCompatibility.test_observation_shape_and_type[LoggedFlattenedPixelAndObject-kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
Fss::error file=tests/test_environment_compatibility.py,line=475::TestJaxTransforms.test_jit_compilation[LoggedFlattenedPixelAndObject-kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F     [100%]
=================================== FAILURES ===================================
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1434: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1434: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1434: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1434: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1434: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1434: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1434: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1434: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1434: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1434: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1434: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1434: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1434: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1434: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1434: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1434: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1434: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
=============================== warnings summary ===============================
tests/test_all_mods.py::test_no_duplicate_mod_keys
  /home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/pygame/pkgdata.py:25: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
    from pkg_resources import resource_stream, resource_exists

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
============================= slowest 20 durations =============================
19.24s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_atari_wrapper_features[kungfumaster]
8.07s call     tests/test_core_and_wrappers.py::test_object_centric_wrapper[kungfumaster]
7.50s call     tests/test_all_mods.py::test_no_duplicate_mod_keys
6.45s call     tests/test_core_and_wrappers.py::test_flatten_observation_wrapper[kungfumaster]
5.81s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_flatten_observation_wrapper_space_structure[kungfumaster]
3.81s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_log_wrapper_edge_cases[kungfumaster]
3.23s call     tests/test_environment_compatibility.py::TestEdgeCasesAndErrorHandling::test_invalid_action_handling[kungfumaster]
2.51s call     tests/test_funcenv_adapter.py::TestJaxTransforms::test_jittable_transition[kungfumaster]
2.21s call     tests/test_environment_compatibility.py::TestBasicAPI::test_spaces[kungfumaster]
2.05s call     tests/test_environment_compatibility.py::TestBasicAPI::test_determinism[kungfumaster]
1.87s call     tests/test_environment_compatibility.py::TestBasicAPI::test_step[kungfumaster]
1.70s call     tests/test_spaces.py::test_discrete_space
1.49s call     tests/test_spaces.py::test_dict_space
1.35s call     tests/test_spaces.py::test_tuple_space
0.92s call     tests/test_spaces.py::test_box_space
0.65s call     tests/test_core_and_wrappers.py::test_pixel_obs_wrapper_with_stacked_frames[kungfumaster]
0.62s setup    tests/test_funcenv_adapter.py::TestJaxTransforms::test_jittable_transition[kungfumaster]
0.59s setup    tests/test_environment_compatibility.py::TestEdgeCasesAndErrorHandling::test_state_serialization[kungfumaster]
0.54s call     tests/test_spaces.py::test_spaces_functionality
0.47s setup    tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapped_reset_and_step[Pixel-kungfumaster]
=========================== short test summary info ============================
SKIPPED [1] tests/test_all_mods.py:243: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:348: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:372: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:389: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:746: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [2] tests/test_environment_compatibility.py:496: Skipping to debug memory issues in CI
SKIPPED [2] tests/test_environment_compatibility.py:536: Skipping to debug memory issues in CI
SKIPPED [1] tests/test_all_mods.py:769: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:797: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:802: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:861: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:877: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:895: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:915: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:935: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:957: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:970: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:992: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/conftest.py:299: Skipping 'kangaroo'-only test because --game=['kungfumaster']
SKIPPED [1] tests/test_funcenv_adapter.py:165: Skipping to debug memory issues in CI
FAILED tests/test_environment_compatibility.py::TestBasicAPI::test_render[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapped_reset_and_step[Pixel-kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestWrapperCompatibility::test_observation_shape_and_type[Pixel-kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestJaxTransforms::test_jit_compilation[Pixel-kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_normalize_observation_wrapper[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_log_wrapper_tracking[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_multi_reward_log_wrapper[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_core_and_wrappers.py::test_pixel_obs_wrapper_with_stacked_frames[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_core_and_wrappers.py::test_pixel_and_object_centric_wrapper[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_core_and_wrappers.py::test_flatten_observation_wrapper[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_core_and_wrappers.py::test_log_wrapper_with_flatten_observation[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_reset_method[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_step_method[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestEdgeCasesAndErrorHandling::test_state_serialization[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapped_reset_and_step[LoggedFlattenedPixelAndObject-kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestWrapperCompatibility::test_observation_shape_and_type[LoggedFlattenedPixelAndObject-kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestJaxTransforms::test_jit_compilation[LoggedFlattenedPixelAndObject-kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
============ 17 failed, 29 passed, 22 skipped, 1 warning in 48.08s =============
Command exited with non-zero status 1
	Command being timed: "pytest -n 2 --dist=loadfile --game kungfumaster --snapshot-warn-unused --tb=line -ra --durations=20 --color=yes -m not serial tests/"
	User time (seconds): 132.74
	System time (seconds): 3.78
	Percent of CPU this job got: 276%
	Elapsed (wall clock) time (h:mm:ss or m:ss): 0:49.35
	Average shared text size (kbytes): 0
	Average unshared data size (kbytes): 0
	Average stack size (kbytes): 0
	Average total size (kbytes): 0
	Maximum resident set size (kbytes): 915168
	Average resident set size (kbytes): 0
	Major (requiring I/O) page faults: 3
	Minor (reclaiming a frame) page faults: 533837
	Voluntary context switches: 25582
	Involuntary context switches: 27612
	Swaps: 0
	File system inputs: 2344
	File system outputs: 12552
	Socket messages sent: 0
	Socket messages received: 0
	Signals delivered: 0
	Page size (bytes): 4096
	Exit status: 1


This log was automatically created at 2026-09-04 10:40:41 UTC.

@vamsi-dev-coder
vamsi-dev-coder force-pushed the kungfumaster-integration branch from 63bcd18 to 6370f1a Compare September 4, 2026 10:42
@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
📁 Previous CI results (run #33864500037)

Test Report

This comment was generated automatically by a GitHub Action. It summarizes the test results for this pull request. The GitHub Action run can be found here:

https://github.com/k4ntz/JAXAtari/actions/runs/33864243872

Base Branch ✅

The PR's base branch is dev.
The expected base branch is dev.

Changed Files ❌

The PR changes files that should not be changed:

  • brand_new_render.png
  • jaxatari_play_state.json
  • render_test.png
  • render_test_final.png
  • scripts/create_hud_digits.py
  • scripts/create_score_digits.py
  • scripts/extract_ale_kungfu.py
  • scripts/fix_all_sprites.py
  • scripts/fix_kungfu_sprites.py
  • src/jaxatari/assets/kungfumaster/background.npy
  • src/jaxatari/assets/kungfumaster/ball.npy
  • src/jaxatari/assets/kungfumaster/boss.npy
  • src/jaxatari/assets/kungfumaster/dragon.npy
  • src/jaxatari/assets/kungfumaster/gripper.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_0.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_1.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_2.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_3.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_4.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_5.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_6.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_7.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_8.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_9.npy
  • src/jaxatari/assets/kungfumaster/knife_thrower.npy
  • src/jaxatari/assets/kungfumaster/player_kick.npy
  • src/jaxatari/assets/kungfumaster/player_punch.npy
  • src/jaxatari/assets/kungfumaster/player_stand.npy
  • src/jaxatari/assets/kungfumaster/player_walk.npy
  • src/jaxatari/assets/kungfumaster/score_0.npy
  • src/jaxatari/assets/kungfumaster/score_1.npy
  • src/jaxatari/assets/kungfumaster/score_2.npy
  • src/jaxatari/assets/kungfumaster/score_3.npy
  • src/jaxatari/assets/kungfumaster/score_4.npy
  • src/jaxatari/assets/kungfumaster/score_5.npy
  • src/jaxatari/assets/kungfumaster/score_6.npy
  • src/jaxatari/assets/kungfumaster/score_7.npy
  • src/jaxatari/assets/kungfumaster/score_8.npy
  • src/jaxatari/assets/kungfumaster/score_9.npy
  • src/jaxatari/assets/kungfumaster/snake.npy
  • src/jaxatari/assets/kungfumaster/tomtom.npy
  • src/jaxatari/assets/kungfumaster/vase.npy
  • src/jaxatari/core.py

Please ensure that only allowed files are modified. Any changes in the src/jaxatari/games/ directory are allowed.

Framework Tests ❌

Some framework tests failed. Please check the details below:

kungfumaster ❌
============================= test session starts ==============================
platform linux -- Python 3.11.16, pytest-8.4.2, pluggy-1.6.0
rootdir: /home/runner/work/JAXAtari/JAXAtari
configfile: pyproject.toml
plugins: sugar-1.1.1, github-actions-annotate-failures-0.4.2, syrupy-4.9.1, xdist-3.8.0
created: 2/2 workers
2 workers [68 items]

ssss....::error file=tests/test_environment_compatibility.py,line=203::TestBasicAPI.test_render[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F..::warning file=.venv/lib/python3.11/site-packages/pygame/pkgdata.py,line=25::pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
s::error file=tests/test_environment_compatibility.py,line=307::TestWrapperCompatibility.test_wrapped_reset_and_step[Pixel-kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
Fss::error file=tests/test_environment_compatibility.py,line=337::TestWrapperCompatibility.test_observation_shape_and_type[Pixel-kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
Fsssssssssss::error file=tests/test_environment_compatibility.py,line=475::TestJaxTransforms.test_jit_compilation[Pixel-kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F.....s.....::error file=tests/test_environment_compatibility.py,line=617::TestAdvancedWrapperFeatures.test_normalize_observation_wrapper[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F.::error file=tests/test_environment_compatibility.py,line=664::TestAdvancedWrapperFeatures.test_log_wrapper_tracking[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F.::error file=tests/test_environment_compatibility.py,line=702::TestAdvancedWrapperFeatures.test_multi_reward_log_wrapper[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F.....::error file=tests/test_core_and_wrappers.py,line=30::test_pixel_obs_wrapper_with_stacked_frames[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_core_and_wrappers.py,line=62::test_pixel_and_object_centric_wrapper[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F.::error file=tests/test_core_and_wrappers.py,line=132::test_flatten_observation_wrapper[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_core_and_wrappers.py,line=192::test_log_wrapper_with_flatten_observation[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_funcenv_adapter.py,line=50::TestGymnasiumApiCompliance.test_reset_method[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_funcenv_adapter.py,line=58::TestGymnasiumApiCompliance.test_step_method[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F..s...::error file=tests/test_environment_compatibility.py,line=930::TestEdgeCasesAndErrorHandling.test_state_serialization[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_environment_compatibility.py,line=307::TestWrapperCompatibility.test_wrapped_reset_and_step[LoggedFlattenedPixelAndObject-kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_environment_compatibility.py,line=337::TestWrapperCompatibility.test_observation_shape_and_type[LoggedFlattenedPixelAndObject-kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
Fss::error file=tests/test_environment_compatibility.py,line=475::TestJaxTransforms.test_jit_compilation[LoggedFlattenedPixelAndObject-kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F     [100%]
=================================== FAILURES ===================================
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1508: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1508: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1508: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1508: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1508: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1508: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1508: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1508: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1508: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1508: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1508: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1508: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1508: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1508: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1508: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1508: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1508: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
=============================== warnings summary ===============================
tests/test_all_mods.py::test_no_duplicate_mod_keys
  /home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/pygame/pkgdata.py:25: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
    from pkg_resources import resource_stream, resource_exists

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
============================= slowest 20 durations =============================
20.23s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_atari_wrapper_features[kungfumaster]
8.43s call     tests/test_core_and_wrappers.py::test_object_centric_wrapper[kungfumaster]
7.65s call     tests/test_all_mods.py::test_no_duplicate_mod_keys
6.88s call     tests/test_core_and_wrappers.py::test_flatten_observation_wrapper[kungfumaster]
6.23s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_flatten_observation_wrapper_space_structure[kungfumaster]
4.00s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_log_wrapper_edge_cases[kungfumaster]
3.39s call     tests/test_environment_compatibility.py::TestEdgeCasesAndErrorHandling::test_invalid_action_handling[kungfumaster]
2.57s call     tests/test_funcenv_adapter.py::TestJaxTransforms::test_jittable_transition[kungfumaster]
2.29s call     tests/test_environment_compatibility.py::TestBasicAPI::test_spaces[kungfumaster]
2.14s call     tests/test_environment_compatibility.py::TestBasicAPI::test_determinism[kungfumaster]
1.99s call     tests/test_environment_compatibility.py::TestBasicAPI::test_step[kungfumaster]
1.92s call     tests/test_spaces.py::test_tuple_space
1.56s call     tests/test_spaces.py::test_discrete_space
1.30s call     tests/test_spaces.py::test_dict_space
1.07s call     tests/test_spaces.py::test_box_space
0.68s setup    tests/test_environment_compatibility.py::TestEdgeCasesAndErrorHandling::test_state_serialization[kungfumaster]
0.66s call     tests/test_core_and_wrappers.py::test_pixel_obs_wrapper_with_stacked_frames[kungfumaster]
0.56s call     tests/test_spaces.py::test_spaces_functionality
0.49s call     tests/test_core_and_wrappers.py::test_pixel_and_object_centric_wrapper[kungfumaster]
0.47s setup    tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapped_reset_and_step[Pixel-kungfumaster]
=========================== short test summary info ============================
SKIPPED [1] tests/test_all_mods.py:243: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:348: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:372: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:389: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:746: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:769: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:797: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:802: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [2] tests/test_environment_compatibility.py:496: Skipping to debug memory issues in CI
SKIPPED [2] tests/test_environment_compatibility.py:536: Skipping to debug memory issues in CI
SKIPPED [1] tests/test_all_mods.py:861: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:877: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:895: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:915: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:935: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:957: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:970: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:992: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/conftest.py:299: Skipping 'kangaroo'-only test because --game=['kungfumaster']
SKIPPED [1] tests/test_funcenv_adapter.py:165: Skipping to debug memory issues in CI
FAILED tests/test_environment_compatibility.py::TestBasicAPI::test_render[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapped_reset_and_step[Pixel-kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestWrapperCompatibility::test_observation_shape_and_type[Pixel-kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestJaxTransforms::test_jit_compilation[Pixel-kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_normalize_observation_wrapper[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_log_wrapper_tracking[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_multi_reward_log_wrapper[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_core_and_wrappers.py::test_pixel_obs_wrapper_with_stacked_frames[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_core_and_wrappers.py::test_pixel_and_object_centric_wrapper[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_core_and_wrappers.py::test_flatten_observation_wrapper[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_core_and_wrappers.py::test_log_wrapper_with_flatten_observation[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_reset_method[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_step_method[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestEdgeCasesAndErrorHandling::test_state_serialization[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapped_reset_and_step[LoggedFlattenedPixelAndObject-kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestWrapperCompatibility::test_observation_shape_and_type[LoggedFlattenedPixelAndObject-kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestJaxTransforms::test_jit_compilation[LoggedFlattenedPixelAndObject-kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
============ 17 failed, 29 passed, 22 skipped, 1 warning in 51.58s =============
Command exited with non-zero status 1
	Command being timed: "pytest -n 2 --dist=loadfile --game kungfumaster --snapshot-warn-unused --tb=line -ra --durations=20 --color=yes -m not serial tests/"
	User time (seconds): 140.49
	System time (seconds): 3.93
	Percent of CPU this job got: 271%
	Elapsed (wall clock) time (h:mm:ss or m:ss): 0:53.15
	Average shared text size (kbytes): 0
	Average unshared data size (kbytes): 0
	Average stack size (kbytes): 0
	Average total size (kbytes): 0
	Maximum resident set size (kbytes): 950924
	Average resident set size (kbytes): 0
	Major (requiring I/O) page faults: 4
	Minor (reclaiming a frame) page faults: 547783
	Voluntary context switches: 26833
	Involuntary context switches: 27093
	Swaps: 0
	File system inputs: 2072
	File system outputs: 12024
	Socket messages sent: 0
	Socket messages received: 0
	Signals delivered: 0
	Page size (bytes): 4096
	Exit status: 1


This log was automatically created at 2026-09-04 10:42:36 UTC.

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
📁 Previous CI results (run #33864773939)

Test Report

This comment was generated automatically by a GitHub Action. It summarizes the test results for this pull request. The GitHub Action run can be found here:

https://github.com/k4ntz/JAXAtari/actions/runs/33864500037

Base Branch ✅

The PR's base branch is dev.
The expected base branch is dev.

Changed Files ❌

The PR changes files that should not be changed:

  • scripts/create_hud_digits.py
  • scripts/create_score_digits.py
  • scripts/extract_ale_kungfu.py
  • scripts/fix_all_sprites.py
  • scripts/fix_kungfu_sprites.py
  • src/jaxatari/assets/kungfumaster/background.npy
  • src/jaxatari/assets/kungfumaster/ball.npy
  • src/jaxatari/assets/kungfumaster/boss.npy
  • src/jaxatari/assets/kungfumaster/dragon.npy
  • src/jaxatari/assets/kungfumaster/gripper.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_0.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_1.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_2.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_3.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_4.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_5.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_6.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_7.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_8.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_9.npy
  • src/jaxatari/assets/kungfumaster/knife_thrower.npy
  • src/jaxatari/assets/kungfumaster/player_kick.npy
  • src/jaxatari/assets/kungfumaster/player_punch.npy
  • src/jaxatari/assets/kungfumaster/player_stand.npy
  • src/jaxatari/assets/kungfumaster/player_walk.npy
  • src/jaxatari/assets/kungfumaster/score_0.npy
  • src/jaxatari/assets/kungfumaster/score_1.npy
  • src/jaxatari/assets/kungfumaster/score_2.npy
  • src/jaxatari/assets/kungfumaster/score_3.npy
  • src/jaxatari/assets/kungfumaster/score_4.npy
  • src/jaxatari/assets/kungfumaster/score_5.npy
  • src/jaxatari/assets/kungfumaster/score_6.npy
  • src/jaxatari/assets/kungfumaster/score_7.npy
  • src/jaxatari/assets/kungfumaster/score_8.npy
  • src/jaxatari/assets/kungfumaster/score_9.npy
  • src/jaxatari/assets/kungfumaster/snake.npy
  • src/jaxatari/assets/kungfumaster/tomtom.npy
  • src/jaxatari/assets/kungfumaster/vase.npy
  • src/jaxatari/core.py

Please ensure that only allowed files are modified. Any changes in the src/jaxatari/games/ directory are allowed.

Framework Tests ❌

Some framework tests failed. Please check the details below:

kungfumaster ❌
============================= test session starts ==============================
platform linux -- Python 3.11.16, pytest-8.4.2, pluggy-1.6.0
rootdir: /home/runner/work/JAXAtari/JAXAtari
configfile: pyproject.toml
plugins: sugar-1.1.1, github-actions-annotate-failures-0.4.2, syrupy-4.9.1, xdist-3.8.0
created: 2/2 workers
2 workers [68 items]

ssss....::error file=tests/test_environment_compatibility.py,line=203::TestBasicAPI.test_render[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F..::warning file=.venv/lib/python3.11/site-packages/pygame/pkgdata.py,line=25::pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
ss::error file=tests/test_environment_compatibility.py,line=307::TestWrapperCompatibility.test_wrapped_reset_and_step[Pixel-kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
Fs::error file=tests/test_environment_compatibility.py,line=337::TestWrapperCompatibility.test_observation_shape_and_type[Pixel-kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
Fsssssssssss.::error file=tests/test_environment_compatibility.py,line=475::TestJaxTransforms.test_jit_compilation[Pixel-kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F....s......::error file=tests/test_environment_compatibility.py,line=617::TestAdvancedWrapperFeatures.test_normalize_observation_wrapper[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_environment_compatibility.py,line=664::TestAdvancedWrapperFeatures.test_log_wrapper_tracking[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F..::error file=tests/test_environment_compatibility.py,line=702::TestAdvancedWrapperFeatures.test_multi_reward_log_wrapper[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F....::error file=tests/test_core_and_wrappers.py,line=30::test_pixel_obs_wrapper_with_stacked_frames[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_core_and_wrappers.py,line=62::test_pixel_and_object_centric_wrapper[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F.::error file=tests/test_core_and_wrappers.py,line=132::test_flatten_observation_wrapper[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_core_and_wrappers.py,line=192::test_log_wrapper_with_flatten_observation[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_funcenv_adapter.py,line=50::TestGymnasiumApiCompliance.test_reset_method[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_funcenv_adapter.py,line=58::TestGymnasiumApiCompliance.test_step_method[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F..s...::error file=tests/test_environment_compatibility.py,line=930::TestEdgeCasesAndErrorHandling.test_state_serialization[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_environment_compatibility.py,line=307::TestWrapperCompatibility.test_wrapped_reset_and_step[LoggedFlattenedPixelAndObject-kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_environment_compatibility.py,line=337::TestWrapperCompatibility.test_observation_shape_and_type[LoggedFlattenedPixelAndObject-kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
Fss::error file=tests/test_environment_compatibility.py,line=475::TestJaxTransforms.test_jit_compilation[LoggedFlattenedPixelAndObject-kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F     [100%]
=================================== FAILURES ===================================
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1508: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1508: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1508: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1508: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1508: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1508: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1508: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1508: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1508: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1508: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1508: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1508: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1508: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1508: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1508: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1508: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1508: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
=============================== warnings summary ===============================
tests/test_all_mods.py::test_no_duplicate_mod_keys
  /home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/pygame/pkgdata.py:25: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
    from pkg_resources import resource_stream, resource_exists

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
============================= slowest 20 durations =============================
18.83s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_atari_wrapper_features[kungfumaster]
7.90s call     tests/test_core_and_wrappers.py::test_object_centric_wrapper[kungfumaster]
7.01s call     tests/test_all_mods.py::test_no_duplicate_mod_keys
6.09s call     tests/test_core_and_wrappers.py::test_flatten_observation_wrapper[kungfumaster]
5.82s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_flatten_observation_wrapper_space_structure[kungfumaster]
3.58s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_log_wrapper_edge_cases[kungfumaster]
3.15s call     tests/test_environment_compatibility.py::TestEdgeCasesAndErrorHandling::test_invalid_action_handling[kungfumaster]
2.52s call     tests/test_funcenv_adapter.py::TestJaxTransforms::test_jittable_transition[kungfumaster]
2.21s call     tests/test_environment_compatibility.py::TestBasicAPI::test_spaces[kungfumaster]
2.03s call     tests/test_environment_compatibility.py::TestBasicAPI::test_determinism[kungfumaster]
1.78s call     tests/test_environment_compatibility.py::TestBasicAPI::test_step[kungfumaster]
1.65s call     tests/test_spaces.py::test_tuple_space
1.49s call     tests/test_spaces.py::test_discrete_space
1.24s call     tests/test_spaces.py::test_dict_space
0.94s call     tests/test_spaces.py::test_box_space
0.65s setup    tests/test_environment_compatibility.py::TestEdgeCasesAndErrorHandling::test_state_serialization[kungfumaster]
0.56s call     tests/test_spaces.py::test_spaces_functionality
0.48s call     tests/test_core_and_wrappers.py::test_pixel_and_object_centric_wrapper[kungfumaster]
0.44s setup    tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapped_reset_and_step[Pixel-kungfumaster]
0.37s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_normalize_observation_wrapper[kungfumaster]
=========================== short test summary info ============================
SKIPPED [1] tests/test_all_mods.py:243: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:348: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:372: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:389: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:746: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:769: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:797: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:802: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [2] tests/test_environment_compatibility.py:496: Skipping to debug memory issues in CI
SKIPPED [2] tests/test_environment_compatibility.py:536: Skipping to debug memory issues in CI
SKIPPED [1] tests/test_all_mods.py:861: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:877: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:895: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:915: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:935: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:957: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:970: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:992: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/conftest.py:299: Skipping 'kangaroo'-only test because --game=['kungfumaster']
SKIPPED [1] tests/test_funcenv_adapter.py:165: Skipping to debug memory issues in CI
FAILED tests/test_environment_compatibility.py::TestBasicAPI::test_render[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapped_reset_and_step[Pixel-kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestWrapperCompatibility::test_observation_shape_and_type[Pixel-kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestJaxTransforms::test_jit_compilation[Pixel-kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_normalize_observation_wrapper[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_log_wrapper_tracking[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_multi_reward_log_wrapper[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_core_and_wrappers.py::test_pixel_obs_wrapper_with_stacked_frames[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_core_and_wrappers.py::test_pixel_and_object_centric_wrapper[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_core_and_wrappers.py::test_flatten_observation_wrapper[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_core_and_wrappers.py::test_log_wrapper_with_flatten_observation[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_reset_method[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_step_method[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestEdgeCasesAndErrorHandling::test_state_serialization[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapped_reset_and_step[LoggedFlattenedPixelAndObject-kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestWrapperCompatibility::test_observation_shape_and_type[LoggedFlattenedPixelAndObject-kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestJaxTransforms::test_jit_compilation[LoggedFlattenedPixelAndObject-kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
============ 17 failed, 29 passed, 22 skipped, 1 warning in 47.09s =============
Command exited with non-zero status 1
	Command being timed: "pytest -n 2 --dist=loadfile --game kungfumaster --snapshot-warn-unused --tb=line -ra --durations=20 --color=yes -m not serial tests/"
	User time (seconds): 129.92
	System time (seconds): 2.70
	Percent of CPU this job got: 273%
	Elapsed (wall clock) time (h:mm:ss or m:ss): 0:48.44
	Average shared text size (kbytes): 0
	Average unshared data size (kbytes): 0
	Average stack size (kbytes): 0
	Average total size (kbytes): 0
	Maximum resident set size (kbytes): 952052
	Average resident set size (kbytes): 0
	Major (requiring I/O) page faults: 14
	Minor (reclaiming a frame) page faults: 546110
	Voluntary context switches: 29521
	Involuntary context switches: 25672
	Swaps: 0
	File system inputs: 2072
	File system outputs: 12496
	Socket messages sent: 0
	Socket messages received: 0
	Signals delivered: 0
	Page size (bytes): 4096
	Exit status: 1


This log was automatically created at 2026-09-04 10:45:04 UTC.

@vamsi-dev-coder
vamsi-dev-coder force-pushed the kungfumaster-integration branch from 6370f1a to 0447200 Compare September 4, 2026 10:45
@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
📁 Previous CI results (run #33865313471)

Test Report

This comment was generated automatically by a GitHub Action. It summarizes the test results for this pull request. The GitHub Action run can be found here:

https://github.com/k4ntz/JAXAtari/actions/runs/33864773939

Base Branch ✅

The PR's base branch is dev.
The expected base branch is dev.

Changed Files ❌

The PR changes files that should not be changed:

  • scripts/create_hud_digits.py
  • scripts/create_score_digits.py
  • scripts/extract_ale_kungfu.py
  • scripts/fix_all_sprites.py
  • scripts/fix_kungfu_sprites.py
  • src/jaxatari/assets/kungfumaster/background.npy
  • src/jaxatari/assets/kungfumaster/ball.npy
  • src/jaxatari/assets/kungfumaster/boss.npy
  • src/jaxatari/assets/kungfumaster/dragon.npy
  • src/jaxatari/assets/kungfumaster/gripper.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_0.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_1.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_2.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_3.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_4.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_5.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_6.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_7.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_8.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_9.npy
  • src/jaxatari/assets/kungfumaster/knife_thrower.npy
  • src/jaxatari/assets/kungfumaster/player_kick.npy
  • src/jaxatari/assets/kungfumaster/player_punch.npy
  • src/jaxatari/assets/kungfumaster/player_stand.npy
  • src/jaxatari/assets/kungfumaster/player_walk.npy
  • src/jaxatari/assets/kungfumaster/score_0.npy
  • src/jaxatari/assets/kungfumaster/score_1.npy
  • src/jaxatari/assets/kungfumaster/score_2.npy
  • src/jaxatari/assets/kungfumaster/score_3.npy
  • src/jaxatari/assets/kungfumaster/score_4.npy
  • src/jaxatari/assets/kungfumaster/score_5.npy
  • src/jaxatari/assets/kungfumaster/score_6.npy
  • src/jaxatari/assets/kungfumaster/score_7.npy
  • src/jaxatari/assets/kungfumaster/score_8.npy
  • src/jaxatari/assets/kungfumaster/score_9.npy
  • src/jaxatari/assets/kungfumaster/snake.npy
  • src/jaxatari/assets/kungfumaster/tomtom.npy
  • src/jaxatari/assets/kungfumaster/vase.npy
  • src/jaxatari/core.py

Please ensure that only allowed files are modified. Any changes in the src/jaxatari/games/ directory are allowed.

Framework Tests ❌

Some framework tests failed. Please check the details below:

kungfumaster ❌
============================= test session starts ==============================
platform linux -- Python 3.11.16, pytest-8.4.2, pluggy-1.6.0
rootdir: /home/runner/work/JAXAtari/JAXAtari
configfile: pyproject.toml
plugins: sugar-1.1.1, github-actions-annotate-failures-0.4.2, syrupy-4.9.1, xdist-3.8.0
created: 2/2 workers
2 workers [68 items]

ssss....::error file=tests/test_environment_compatibility.py,line=203::TestBasicAPI.test_render[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F..::warning file=.venv/lib/python3.11/site-packages/pygame/pkgdata.py,line=25::pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
::error file=tests/test_environment_compatibility.py,line=307::TestWrapperCompatibility.test_wrapped_reset_and_step[Pixel-kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
Fs::error file=tests/test_environment_compatibility.py,line=337::TestWrapperCompatibility.test_observation_shape_and_type[Pixel-kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
Fsssssssssssss::error file=tests/test_environment_compatibility.py,line=475::TestJaxTransforms.test_jit_compilation[Pixel-kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F.....s......::error file=tests/test_environment_compatibility.py,line=617::TestAdvancedWrapperFeatures.test_normalize_observation_wrapper[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_environment_compatibility.py,line=664::TestAdvancedWrapperFeatures.test_log_wrapper_tracking[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F.::error file=tests/test_environment_compatibility.py,line=702::TestAdvancedWrapperFeatures.test_multi_reward_log_wrapper[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F.....::error file=tests/test_core_and_wrappers.py,line=30::test_pixel_obs_wrapper_with_stacked_frames[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_core_and_wrappers.py,line=62::test_pixel_and_object_centric_wrapper[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F.::error file=tests/test_core_and_wrappers.py,line=132::test_flatten_observation_wrapper[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_core_and_wrappers.py,line=192::test_log_wrapper_with_flatten_observation[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_funcenv_adapter.py,line=50::TestGymnasiumApiCompliance.test_reset_method[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_funcenv_adapter.py,line=58::TestGymnasiumApiCompliance.test_step_method[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F..s...::error file=tests/test_environment_compatibility.py,line=930::TestEdgeCasesAndErrorHandling.test_state_serialization[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_environment_compatibility.py,line=307::TestWrapperCompatibility.test_wrapped_reset_and_step[LoggedFlattenedPixelAndObject-kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_environment_compatibility.py,line=337::TestWrapperCompatibility.test_observation_shape_and_type[LoggedFlattenedPixelAndObject-kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
Fss::error file=tests/test_environment_compatibility.py,line=475::TestJaxTransforms.test_jit_compilation[LoggedFlattenedPixelAndObject-kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F     [100%]
=================================== FAILURES ===================================
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1508: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1508: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1508: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1508: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1508: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1508: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1508: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1508: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1508: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1508: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1508: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1508: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1508: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1508: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1508: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1508: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1508: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
=============================== warnings summary ===============================
tests/test_all_mods.py::test_no_duplicate_mod_keys
  /home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/pygame/pkgdata.py:25: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
    from pkg_resources import resource_stream, resource_exists

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
============================= slowest 20 durations =============================
18.65s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_atari_wrapper_features[kungfumaster]
7.78s call     tests/test_core_and_wrappers.py::test_object_centric_wrapper[kungfumaster]
7.25s call     tests/test_all_mods.py::test_no_duplicate_mod_keys
6.54s call     tests/test_core_and_wrappers.py::test_flatten_observation_wrapper[kungfumaster]
5.65s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_flatten_observation_wrapper_space_structure[kungfumaster]
3.65s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_log_wrapper_edge_cases[kungfumaster]
3.08s call     tests/test_environment_compatibility.py::TestEdgeCasesAndErrorHandling::test_invalid_action_handling[kungfumaster]
2.41s call     tests/test_funcenv_adapter.py::TestJaxTransforms::test_jittable_transition[kungfumaster]
2.12s call     tests/test_environment_compatibility.py::TestBasicAPI::test_spaces[kungfumaster]
2.02s call     tests/test_environment_compatibility.py::TestBasicAPI::test_determinism[kungfumaster]
1.77s call     tests/test_environment_compatibility.py::TestBasicAPI::test_step[kungfumaster]
1.71s call     tests/test_spaces.py::test_tuple_space
1.39s call     tests/test_spaces.py::test_discrete_space
1.24s call     tests/test_spaces.py::test_dict_space
1.02s call     tests/test_spaces.py::test_box_space
0.59s setup    tests/test_environment_compatibility.py::TestEdgeCasesAndErrorHandling::test_state_serialization[kungfumaster]
0.53s call     tests/test_core_and_wrappers.py::test_pixel_and_object_centric_wrapper[kungfumaster]
0.51s call     tests/test_spaces.py::test_spaces_functionality
0.48s call     tests/test_core_and_wrappers.py::test_pixel_obs_wrapper_with_stacked_frames[kungfumaster]
0.40s setup    tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapped_reset_and_step[Pixel-kungfumaster]
=========================== short test summary info ============================
SKIPPED [1] tests/test_all_mods.py:243: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:348: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:372: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:389: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:746: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:769: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [2] tests/test_environment_compatibility.py:496: Skipping to debug memory issues in CI
SKIPPED [2] tests/test_environment_compatibility.py:536: Skipping to debug memory issues in CI
SKIPPED [1] tests/test_all_mods.py:797: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:802: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:861: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:877: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:895: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:915: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:935: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:957: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:970: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:992: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/conftest.py:299: Skipping 'kangaroo'-only test because --game=['kungfumaster']
SKIPPED [1] tests/test_funcenv_adapter.py:165: Skipping to debug memory issues in CI
FAILED tests/test_environment_compatibility.py::TestBasicAPI::test_render[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapped_reset_and_step[Pixel-kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestWrapperCompatibility::test_observation_shape_and_type[Pixel-kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestJaxTransforms::test_jit_compilation[Pixel-kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_normalize_observation_wrapper[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_log_wrapper_tracking[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_multi_reward_log_wrapper[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_core_and_wrappers.py::test_pixel_obs_wrapper_with_stacked_frames[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_core_and_wrappers.py::test_pixel_and_object_centric_wrapper[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_core_and_wrappers.py::test_flatten_observation_wrapper[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_core_and_wrappers.py::test_log_wrapper_with_flatten_observation[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_reset_method[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_step_method[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestEdgeCasesAndErrorHandling::test_state_serialization[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapped_reset_and_step[LoggedFlattenedPixelAndObject-kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestWrapperCompatibility::test_observation_shape_and_type[LoggedFlattenedPixelAndObject-kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestJaxTransforms::test_jit_compilation[LoggedFlattenedPixelAndObject-kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_hud_digits'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
============ 17 failed, 29 passed, 22 skipped, 1 warning in 46.81s =============
Command exited with non-zero status 1
	Command being timed: "pytest -n 2 --dist=loadfile --game kungfumaster --snapshot-warn-unused --tb=line -ra --durations=20 --color=yes -m not serial tests/"
	User time (seconds): 128.91
	System time (seconds): 3.72
	Percent of CPU this job got: 275%
	Elapsed (wall clock) time (h:mm:ss or m:ss): 0:48.06
	Average shared text size (kbytes): 0
	Average unshared data size (kbytes): 0
	Average stack size (kbytes): 0
	Average total size (kbytes): 0
	Maximum resident set size (kbytes): 929340
	Average resident set size (kbytes): 0
	Major (requiring I/O) page faults: 4
	Minor (reclaiming a frame) page faults: 542693
	Voluntary context switches: 25911
	Involuntary context switches: 27141
	Swaps: 0
	File system inputs: 2072
	File system outputs: 11712
	Socket messages sent: 0
	Socket messages received: 0
	Signals delivered: 0
	Page size (bytes): 4096
	Exit status: 1


This log was automatically created at 2026-09-04 10:48:36 UTC.

@vamsi-dev-coder
vamsi-dev-coder force-pushed the kungfumaster-integration branch from 0447200 to 733ef69 Compare September 4, 2026 10:52
@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
📁 Previous CI results (run #33865835679)

Test Report

This comment was generated automatically by a GitHub Action. It summarizes the test results for this pull request. The GitHub Action run can be found here:

https://github.com/k4ntz/JAXAtari/actions/runs/33865313471

Base Branch ✅

The PR's base branch is dev.
The expected base branch is dev.

Changed Files ❌

The PR changes files that should not be changed:

  • scripts/create_hud_digits.py
  • scripts/create_score_digits.py
  • scripts/extract_ale_kungfu.py
  • scripts/fix_all_sprites.py
  • scripts/fix_kungfu_sprites.py
  • src/jaxatari/assets/kungfumaster/background.npy
  • src/jaxatari/assets/kungfumaster/ball.npy
  • src/jaxatari/assets/kungfumaster/boss.npy
  • src/jaxatari/assets/kungfumaster/dragon.npy
  • src/jaxatari/assets/kungfumaster/gripper.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_0.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_1.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_2.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_3.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_4.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_5.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_6.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_7.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_8.npy
  • src/jaxatari/assets/kungfumaster/hud_digit_9.npy
  • src/jaxatari/assets/kungfumaster/knife_thrower.npy
  • src/jaxatari/assets/kungfumaster/player_kick.npy
  • src/jaxatari/assets/kungfumaster/player_punch.npy
  • src/jaxatari/assets/kungfumaster/player_stand.npy
  • src/jaxatari/assets/kungfumaster/player_walk.npy
  • src/jaxatari/assets/kungfumaster/score_0.npy
  • src/jaxatari/assets/kungfumaster/score_1.npy
  • src/jaxatari/assets/kungfumaster/score_2.npy
  • src/jaxatari/assets/kungfumaster/score_3.npy
  • src/jaxatari/assets/kungfumaster/score_4.npy
  • src/jaxatari/assets/kungfumaster/score_5.npy
  • src/jaxatari/assets/kungfumaster/score_6.npy
  • src/jaxatari/assets/kungfumaster/score_7.npy
  • src/jaxatari/assets/kungfumaster/score_8.npy
  • src/jaxatari/assets/kungfumaster/score_9.npy
  • src/jaxatari/assets/kungfumaster/snake.npy
  • src/jaxatari/assets/kungfumaster/tomtom.npy
  • src/jaxatari/assets/kungfumaster/vase.npy
  • src/jaxatari/core.py

Please ensure that only allowed files are modified. Any changes in the src/jaxatari/games/ directory are allowed.

Framework Tests ❌

Some framework tests failed. Please check the details below:

kungfumaster ❌
============================= test session starts ==============================
platform linux -- Python 3.11.16, pytest-8.4.2, pluggy-1.6.0
rootdir: /home/runner/work/JAXAtari/JAXAtari
configfile: pyproject.toml
plugins: sugar-1.1.1, github-actions-annotate-failures-0.4.2, syrupy-4.9.1, xdist-3.8.0
created: 2/2 workers
2 workers [68 items]

ssss.....::warning file=.venv/lib/python3.11/site-packages/pygame/pkgdata.py,line=25::pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
..ssssssssssss.....s.............ss...........s.........ss.     [100%]
=============================== warnings summary ===============================
tests/test_all_mods.py::test_no_duplicate_mod_keys
  /home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/pygame/pkgdata.py:25: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
    from pkg_resources import resource_stream, resource_exists

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
============================= slowest 20 durations =============================
40.21s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_normalize_observation_wrapper[kungfumaster]
20.43s call     tests/test_core_and_wrappers.py::test_flatten_observation_wrapper[kungfumaster]
13.84s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_atari_wrapper_features[kungfumaster]
12.68s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_log_wrapper_tracking[kungfumaster]
12.05s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_multi_reward_log_wrapper[kungfumaster]
10.62s call     tests/test_core_and_wrappers.py::test_log_wrapper_with_flatten_observation[kungfumaster]
9.84s call     tests/test_environment_compatibility.py::TestJaxTransforms::test_jit_compilation[Pixel-kungfumaster]
9.81s call     tests/test_core_and_wrappers.py::test_pixel_obs_wrapper_with_stacked_frames[kungfumaster]
8.86s call     tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapped_reset_and_step[Pixel-kungfumaster]
7.89s call     tests/test_core_and_wrappers.py::test_object_centric_wrapper[kungfumaster]
7.59s call     tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapped_reset_and_step[LoggedFlattenedPixelAndObject-kungfumaster]
7.40s call     tests/test_all_mods.py::test_no_duplicate_mod_keys
7.18s call     tests/test_environment_compatibility.py::TestJaxTransforms::test_jit_compilation[LoggedFlattenedPixelAndObject-kungfumaster]
7.01s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_flatten_observation_wrapper_space_structure[kungfumaster]
4.13s call     tests/test_core_and_wrappers.py::test_pixel_and_object_centric_wrapper[kungfumaster]
3.81s call     tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_step_method[kungfumaster]
3.10s call     tests/test_environment_compatibility.py::TestEdgeCasesAndErrorHandling::test_invalid_action_handling[kungfumaster]
3.00s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_log_wrapper_edge_cases[kungfumaster]
2.77s call     tests/test_environment_compatibility.py::TestEdgeCasesAndErrorHandling::test_state_serialization[kungfumaster]
2.76s call     tests/test_funcenv_adapter.py::TestJaxTransforms::test_jittable_transition[kungfumaster]
=========================== short test summary info ============================
SKIPPED [1] tests/test_all_mods.py:243: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:348: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:372: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:389: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:746: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:769: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:797: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:802: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:861: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:877: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:895: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:915: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:935: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:957: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:970: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:992: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/conftest.py:299: Skipping 'kangaroo'-only test because --game=['kungfumaster']
SKIPPED [2] tests/test_environment_compatibility.py:496: Skipping to debug memory issues in CI
SKIPPED [2] tests/test_environment_compatibility.py:536: Skipping to debug memory issues in CI
SKIPPED [1] tests/test_funcenv_adapter.py:165: Skipping to debug memory issues in CI
============ 46 passed, 22 skipped, 1 warning in 144.65s (0:02:24) =============
	Command being timed: "pytest -n 2 --dist=loadfile --game kungfumaster --snapshot-warn-unused --tb=line -ra --durations=20 --color=yes -m not serial tests/"
	User time (seconds): 395.82
	System time (seconds): 7.39
	Percent of CPU this job got: 276%
	Elapsed (wall clock) time (h:mm:ss or m:ss): 2:25.99
	Average shared text size (kbytes): 0
	Average unshared data size (kbytes): 0
	Average stack size (kbytes): 0
	Average total size (kbytes): 0
	Maximum resident set size (kbytes): 1741120
	Average resident set size (kbytes): 0
	Major (requiring I/O) page faults: 3
	Minor (reclaiming a frame) page faults: 945449
	Voluntary context switches: 104997
	Involuntary context switches: 80625
	Swaps: 0
	File system inputs: 2336
	File system outputs: 11928
	Socket messages sent: 0
	Socket messages received: 0
	Signals delivered: 0
	Page size (bytes): 4096
	Exit status: 0
============================= test session starts ==============================
platform linux -- Python 3.11.16, pytest-8.4.2, pluggy-1.6.0
rootdir: /home/runner/work/JAXAtari/JAXAtari
configfile: pyproject.toml
plugins: sugar-1.1.1, github-actions-annotate-failures-0.4.2, syrupy-4.9.1, xdist-3.8.0
collected 131 items / 126 deselected / 5 selected

tests/test_all_mods.py s                                                 [ 20%]
tests/test_core_and_wrappers.py ::error file=tests/test_core_and_wrappers.py,line=224::test_native_downscaling_hot_swap[kungfumaster]%0A%0AAssertionError: Reset observation shape mismatch. Got (4, 210, 160, 3)%0Aassert (4, 210, 160, 3) == (4, 84, 84, 3)%0A  %0A  At index 1 diff: 210 != 84%0A  %0A  Full diff:%0A    (%0A        4,%0A  -     84,%0A  -     84,%0A  +     210,%0A  +     160,%0A        3,%0A    )
F::error file=tests/test_core_and_wrappers.py,line=289::test_native_downscaling_grayscale[kungfumaster]%0A%0Aassert (4, 210, 160, 3) == (4, 84, 84, 1)%0A  %0A  At index 1 diff: 210 != 84%0A  %0A  Full diff:%0A    (%0A        4,%0A  -     84,%0A  -     84,%0A  -     1,%0A  +     210,%0A  ?     + +%0A  +     160,%0A  +     3,%0A    )
F                                       [ 60%]
tests/test_all_mods.py ss                                                [100%]

=================================== FAILURES ===================================
/home/runner/work/JAXAtari/JAXAtari/tests/test_core_and_wrappers.py:276: AssertionError: Reset observation shape mismatch. Got (4, 210, 160, 3)
/home/runner/work/JAXAtari/JAXAtari/tests/test_core_and_wrappers.py:320: assert (4, 210, 160, 3) == (4, 84, 84, 1)
============================= slowest 20 durations =============================
1.65s call     tests/test_core_and_wrappers.py::test_native_downscaling_hot_swap[kungfumaster]
1.59s call     tests/test_core_and_wrappers.py::test_native_downscaling_grayscale[kungfumaster]
0.33s setup    tests/test_core_and_wrappers.py::test_native_downscaling_hot_swap[kungfumaster]
0.26s setup    tests/test_core_and_wrappers.py::test_native_downscaling_grayscale[kungfumaster]
0.08s teardown tests/test_core_and_wrappers.py::test_native_downscaling_grayscale[kungfumaster]
0.07s teardown tests/test_core_and_wrappers.py::test_native_downscaling_hot_swap[kungfumaster]
0.05s teardown tests/test_all_mods.py::TestModWithWrappers::test_representative_mod_native_downscaling
0.04s teardown tests/test_all_mods.py::test_renderer_patch_jit_staleness_fixed
0.03s teardown tests/test_all_mods.py::test_native_downscaling_clears_registered_jit_targets

(5 durations < 0.005s hidden.  Use -vv to show these durations.)
=========================== short test summary info ============================
SKIPPED [1] tests/test_all_mods.py:435: Game does not have mods registered
SKIPPED [2] tests/conftest.py:299: Skipping 'kangaroo'-only test because --game=['kungfumaster']
FAILED tests/test_core_and_wrappers.py::test_native_downscaling_hot_swap[kungfumaster] - AssertionError: Reset observation shape mismatch. Got (4, 210, 160, 3)
assert (4, 210, 160, 3) == (4, 84, 84, 3)
  
  At index 1 diff: 210 != 84
  
  Full diff:
    (
        4,
  -     84,
  -     84,
  +     210,
  +     160,
        3,
    )
FAILED tests/test_core_and_wrappers.py::test_native_downscaling_grayscale[kungfumaster] - assert (4, 210, 160, 3) == (4, 84, 84, 1)
  
  At index 1 diff: 210 != 84
  
  Full diff:
    (
        4,
  -     84,
  -     84,
  -     1,
  +     210,
  ?     + +
  +     160,
  +     3,
    )
================= 2 failed, 3 skipped, 126 deselected in 4.47s =================
Command exited with non-zero status 1
	Command being timed: "pytest --game kungfumaster --snapshot-warn-unused --tb=line -ra --durations=20 --color=yes -m serial tests/"
	User time (seconds): 7.37
	System time (seconds): 0.48
	Percent of CPU this job got: 138%
	Elapsed (wall clock) time (h:mm:ss or m:ss): 0:05.68
	Average shared text size (kbytes): 0
	Average unshared data size (kbytes): 0
	Average stack size (kbytes): 0
	Average total size (kbytes): 0
	Maximum resident set size (kbytes): 372928
	Average resident set size (kbytes): 0
	Major (requiring I/O) page faults: 0
	Minor (reclaiming a frame) page faults: 80520
	Voluntary context switches: 1880
	Involuntary context switches: 561
	Swaps: 0
	File system inputs: 0
	File system outputs: 24
	Socket messages sent: 0
	Socket messages received: 0
	Signals delivered: 0
	Page size (bytes): 4096
	Exit status: 1


This log was automatically created at 2026-09-04 10:57:22 UTC.

@vamsi-dev-coder
vamsi-dev-coder force-pushed the kungfumaster-integration branch from 733ef69 to d1e92cb Compare September 4, 2026 10:59
@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
📁 Previous CI results (run #33866389754)

Test Report

This comment was generated automatically by a GitHub Action. It summarizes the test results for this pull request. The GitHub Action run can be found here:

https://github.com/k4ntz/JAXAtari/actions/runs/33865835679

Base Branch ✅

The PR's base branch is dev.
The expected base branch is dev.

Changed Files ✅

There are no forbidden file changes. Nice 👍

Framework Tests ❌

Some framework tests failed. Please check the details below:

kungfumaster ❌
============================= test session starts ==============================
platform linux -- Python 3.11.16, pytest-8.4.2, pluggy-1.6.0
rootdir: /home/runner/work/JAXAtari/JAXAtari
configfile: pyproject.toml
plugins: sugar-1.1.1, github-actions-annotate-failures-0.4.2, syrupy-4.9.1, xdist-3.8.0
created: 2/2 workers
2 workers [68 items]

ssss......::warning file=.venv/lib/python3.11/site-packages/pygame/pkgdata.py,line=25::pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
.ssssssssssss.....s.............ss...........s.........ss.     [100%]
=============================== warnings summary ===============================
tests/test_all_mods.py::test_no_duplicate_mod_keys
  /home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/pygame/pkgdata.py:25: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
    from pkg_resources import resource_stream, resource_exists

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
============================= slowest 20 durations =============================
35.38s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_normalize_observation_wrapper[kungfumaster]
18.33s call     tests/test_core_and_wrappers.py::test_flatten_observation_wrapper[kungfumaster]
12.70s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_atari_wrapper_features[kungfumaster]
11.93s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_log_wrapper_tracking[kungfumaster]
11.22s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_multi_reward_log_wrapper[kungfumaster]
9.41s call     tests/test_core_and_wrappers.py::test_log_wrapper_with_flatten_observation[kungfumaster]
8.71s call     tests/test_environment_compatibility.py::TestJaxTransforms::test_jit_compilation[Pixel-kungfumaster]
8.33s call     tests/test_core_and_wrappers.py::test_pixel_obs_wrapper_with_stacked_frames[kungfumaster]
7.68s call     tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapped_reset_and_step[Pixel-kungfumaster]
7.24s call     tests/test_core_and_wrappers.py::test_object_centric_wrapper[kungfumaster]
6.78s call     tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapped_reset_and_step[LoggedFlattenedPixelAndObject-kungfumaster]
6.64s call     tests/test_all_mods.py::test_no_duplicate_mod_keys
6.49s call     tests/test_environment_compatibility.py::TestJaxTransforms::test_jit_compilation[LoggedFlattenedPixelAndObject-kungfumaster]
6.30s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_flatten_observation_wrapper_space_structure[kungfumaster]
3.81s call     tests/test_core_and_wrappers.py::test_pixel_and_object_centric_wrapper[kungfumaster]
3.43s call     tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_step_method[kungfumaster]
2.76s call     tests/test_environment_compatibility.py::TestEdgeCasesAndErrorHandling::test_invalid_action_handling[kungfumaster]
2.67s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_log_wrapper_edge_cases[kungfumaster]
2.50s call     tests/test_environment_compatibility.py::TestEdgeCasesAndErrorHandling::test_state_serialization[kungfumaster]
2.25s call     tests/test_funcenv_adapter.py::TestJaxTransforms::test_jittable_transition[kungfumaster]
=========================== short test summary info ============================
SKIPPED [1] tests/test_all_mods.py:243: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:348: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:372: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:389: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:746: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:769: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:797: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:802: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:861: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:877: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:895: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:915: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:935: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:957: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:970: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:992: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/conftest.py:299: Skipping 'kangaroo'-only test because --game=['kungfumaster']
SKIPPED [2] tests/test_environment_compatibility.py:496: Skipping to debug memory issues in CI
SKIPPED [2] tests/test_environment_compatibility.py:536: Skipping to debug memory issues in CI
SKIPPED [1] tests/test_funcenv_adapter.py:165: Skipping to debug memory issues in CI
============ 46 passed, 22 skipped, 1 warning in 130.04s (0:02:10) =============
	Command being timed: "pytest -n 2 --dist=loadfile --game kungfumaster --snapshot-warn-unused --tb=line -ra --durations=20 --color=yes -m not serial tests/"
	User time (seconds): 352.21
	System time (seconds): 5.50
	Percent of CPU this job got: 272%
	Elapsed (wall clock) time (h:mm:ss or m:ss): 2:11.49
	Average shared text size (kbytes): 0
	Average unshared data size (kbytes): 0
	Average stack size (kbytes): 0
	Average total size (kbytes): 0
	Maximum resident set size (kbytes): 1739316
	Average resident set size (kbytes): 0
	Major (requiring I/O) page faults: 7
	Minor (reclaiming a frame) page faults: 956528
	Voluntary context switches: 118839
	Involuntary context switches: 70814
	Swaps: 0
	File system inputs: 2344
	File system outputs: 12296
	Socket messages sent: 0
	Socket messages received: 0
	Signals delivered: 0
	Page size (bytes): 4096
	Exit status: 0
============================= test session starts ==============================
platform linux -- Python 3.11.16, pytest-8.4.2, pluggy-1.6.0
rootdir: /home/runner/work/JAXAtari/JAXAtari
configfile: pyproject.toml
plugins: sugar-1.1.1, github-actions-annotate-failures-0.4.2, syrupy-4.9.1, xdist-3.8.0
collected 131 items / 126 deselected / 5 selected

tests/test_all_mods.py s                                                 [ 20%]
tests/test_core_and_wrappers.py ::error file=tests/test_core_and_wrappers.py,line=224::test_native_downscaling_hot_swap[kungfumaster]%0A%0AAssertionError: Reset observation shape mismatch. Got (4, 210, 160, 3)%0Aassert (4, 210, 160, 3) == (4, 84, 84, 3)%0A  %0A  At index 1 diff: 210 != 84%0A  %0A  Full diff:%0A    (%0A        4,%0A  -     84,%0A  -     84,%0A  +     210,%0A  +     160,%0A        3,%0A    )
F::error file=tests/test_core_and_wrappers.py,line=289::test_native_downscaling_grayscale[kungfumaster]%0A%0Aassert (4, 210, 160, 3) == (4, 84, 84, 1)%0A  %0A  At index 1 diff: 210 != 84%0A  %0A  Full diff:%0A    (%0A        4,%0A  -     84,%0A  -     84,%0A  -     1,%0A  +     210,%0A  ?     + +%0A  +     160,%0A  +     3,%0A    )
F                                       [ 60%]
tests/test_all_mods.py ss                                                [100%]

=================================== FAILURES ===================================
/home/runner/work/JAXAtari/JAXAtari/tests/test_core_and_wrappers.py:276: AssertionError: Reset observation shape mismatch. Got (4, 210, 160, 3)
/home/runner/work/JAXAtari/JAXAtari/tests/test_core_and_wrappers.py:320: assert (4, 210, 160, 3) == (4, 84, 84, 1)
============================= slowest 20 durations =============================
1.44s call     tests/test_core_and_wrappers.py::test_native_downscaling_hot_swap[kungfumaster]
1.42s call     tests/test_core_and_wrappers.py::test_native_downscaling_grayscale[kungfumaster]
0.32s setup    tests/test_core_and_wrappers.py::test_native_downscaling_hot_swap[kungfumaster]
0.26s setup    tests/test_core_and_wrappers.py::test_native_downscaling_grayscale[kungfumaster]
0.08s teardown tests/test_core_and_wrappers.py::test_native_downscaling_grayscale[kungfumaster]
0.08s teardown tests/test_core_and_wrappers.py::test_native_downscaling_hot_swap[kungfumaster]
0.04s teardown tests/test_all_mods.py::TestModWithWrappers::test_representative_mod_native_downscaling
0.03s teardown tests/test_all_mods.py::test_renderer_patch_jit_staleness_fixed
0.03s teardown tests/test_all_mods.py::test_native_downscaling_clears_registered_jit_targets

(5 durations < 0.005s hidden.  Use -vv to show these durations.)
=========================== short test summary info ============================
SKIPPED [1] tests/test_all_mods.py:435: Game does not have mods registered
SKIPPED [2] tests/conftest.py:299: Skipping 'kangaroo'-only test because --game=['kungfumaster']
FAILED tests/test_core_and_wrappers.py::test_native_downscaling_hot_swap[kungfumaster] - AssertionError: Reset observation shape mismatch. Got (4, 210, 160, 3)
assert (4, 210, 160, 3) == (4, 84, 84, 3)
  
  At index 1 diff: 210 != 84
  
  Full diff:
    (
        4,
  -     84,
  -     84,
  +     210,
  +     160,
        3,
    )
FAILED tests/test_core_and_wrappers.py::test_native_downscaling_grayscale[kungfumaster] - assert (4, 210, 160, 3) == (4, 84, 84, 1)
  
  At index 1 diff: 210 != 84
  
  Full diff:
    (
        4,
  -     84,
  -     84,
  -     1,
  +     210,
  ?     + +
  +     160,
  +     3,
    )
================= 2 failed, 3 skipped, 126 deselected in 3.99s =================
Command exited with non-zero status 1
	Command being timed: "pytest --game kungfumaster --snapshot-warn-unused --tb=line -ra --durations=20 --color=yes -m serial tests/"
	User time (seconds): 6.54
	System time (seconds): 0.32
	Percent of CPU this job got: 135%
	Elapsed (wall clock) time (h:mm:ss or m:ss): 0:05.06
	Average shared text size (kbytes): 0
	Average unshared data size (kbytes): 0
	Average stack size (kbytes): 0
	Average total size (kbytes): 0
	Maximum resident set size (kbytes): 370836
	Average resident set size (kbytes): 0
	Major (requiring I/O) page faults: 0
	Minor (reclaiming a frame) page faults: 79848
	Voluntary context switches: 1846
	Involuntary context switches: 410
	Swaps: 0
	File system inputs: 0
	File system outputs: 24
	Socket messages sent: 0
	Socket messages received: 0
	Signals delivered: 0
	Page size (bytes): 4096
	Exit status: 1


This log was automatically created at 2026-09-04 11:04:27 UTC.

@vamsi-dev-coder
vamsi-dev-coder force-pushed the kungfumaster-integration branch from d1e92cb to 2a360e4 Compare September 4, 2026 11:06
@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
📁 Previous CI results (run #33866734231)

Test Report

This comment was generated automatically by a GitHub Action. It summarizes the test results for this pull request. The GitHub Action run can be found here:

https://github.com/k4ntz/JAXAtari/actions/runs/33866389754

Base Branch ✅

The PR's base branch is dev.
The expected base branch is dev.

Changed Files ✅

There are no forbidden file changes. Nice 👍

Framework Tests ❌

Some framework tests failed. Please check the details below:

kungfumaster ❌
============================= test session starts ==============================
platform linux -- Python 3.11.16, pytest-8.4.2, pluggy-1.6.0
rootdir: /home/runner/work/JAXAtari/JAXAtari
configfile: pyproject.toml
plugins: sugar-1.1.1, github-actions-annotate-failures-0.4.2, syrupy-4.9.1, xdist-3.8.0
created: 2/2 workers
2 workers [68 items]

ssss.......::warning file=.venv/lib/python3.11/site-packages/pygame/pkgdata.py,line=25::pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
ssssssssssss.....s.....ss...................s.........ss.     [100%]
=============================== warnings summary ===============================
tests/test_all_mods.py::test_no_duplicate_mod_keys
  /home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/pygame/pkgdata.py:25: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
    from pkg_resources import resource_stream, resource_exists

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
============================= slowest 20 durations =============================
24.55s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_normalize_observation_wrapper[kungfumaster]
12.40s call     tests/test_core_and_wrappers.py::test_flatten_observation_wrapper[kungfumaster]
9.12s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_log_wrapper_tracking[kungfumaster]
8.17s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_atari_wrapper_features[kungfumaster]
7.98s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_multi_reward_log_wrapper[kungfumaster]
6.73s call     tests/test_core_and_wrappers.py::test_log_wrapper_with_flatten_observation[kungfumaster]
5.94s call     tests/test_core_and_wrappers.py::test_pixel_obs_wrapper_with_stacked_frames[kungfumaster]
5.46s call     tests/test_environment_compatibility.py::TestJaxTransforms::test_jit_compilation[Pixel-kungfumaster]
5.11s call     tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapped_reset_and_step[Pixel-kungfumaster]
5.08s call     tests/test_all_mods.py::test_no_duplicate_mod_keys
4.70s call     tests/test_core_and_wrappers.py::test_object_centric_wrapper[kungfumaster]
4.63s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_flatten_observation_wrapper_space_structure[kungfumaster]
4.49s call     tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapped_reset_and_step[LoggedFlattenedPixelAndObject-kungfumaster]
4.27s call     tests/test_environment_compatibility.py::TestJaxTransforms::test_jit_compilation[LoggedFlattenedPixelAndObject-kungfumaster]
2.36s call     tests/test_core_and_wrappers.py::test_pixel_and_object_centric_wrapper[kungfumaster]
2.09s call     tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_step_method[kungfumaster]
1.71s call     tests/test_environment_compatibility.py::TestEdgeCasesAndErrorHandling::test_invalid_action_handling[kungfumaster]
1.70s call     tests/test_funcenv_adapter.py::TestJaxTransforms::test_jittable_transition[kungfumaster]
1.67s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_log_wrapper_edge_cases[kungfumaster]
1.56s call     tests/test_environment_compatibility.py::TestEdgeCasesAndErrorHandling::test_state_serialization[kungfumaster]
=========================== short test summary info ============================
SKIPPED [1] tests/test_all_mods.py:243: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:348: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:372: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:389: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:746: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:769: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:797: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:802: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:861: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:877: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:895: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:915: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:935: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:957: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:970: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:992: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/conftest.py:299: Skipping 'kangaroo'-only test because --game=['kungfumaster']
SKIPPED [2] tests/test_environment_compatibility.py:496: Skipping to debug memory issues in CI
SKIPPED [2] tests/test_environment_compatibility.py:536: Skipping to debug memory issues in CI
SKIPPED [1] tests/test_funcenv_adapter.py:165: Skipping to debug memory issues in CI
============= 46 passed, 22 skipped, 1 warning in 91.49s (0:01:31) =============
	Command being timed: "pytest -n 2 --dist=loadfile --game kungfumaster --snapshot-warn-unused --tb=line -ra --durations=20 --color=yes -m not serial tests/"
	User time (seconds): 240.99
	System time (seconds): 5.16
	Percent of CPU this job got: 265%
	Elapsed (wall clock) time (h:mm:ss or m:ss): 1:32.63
	Average shared text size (kbytes): 0
	Average unshared data size (kbytes): 0
	Average stack size (kbytes): 0
	Average total size (kbytes): 0
	Maximum resident set size (kbytes): 1724092
	Average resident set size (kbytes): 0
	Major (requiring I/O) page faults: 3
	Minor (reclaiming a frame) page faults: 949565
	Voluntary context switches: 110644
	Involuntary context switches: 53288
	Swaps: 0
	File system inputs: 2072
	File system outputs: 11888
	Socket messages sent: 0
	Socket messages received: 0
	Signals delivered: 0
	Page size (bytes): 4096
	Exit status: 0
============================= test session starts ==============================
platform linux -- Python 3.11.16, pytest-8.4.2, pluggy-1.6.0
rootdir: /home/runner/work/JAXAtari/JAXAtari
configfile: pyproject.toml
plugins: sugar-1.1.1, github-actions-annotate-failures-0.4.2, syrupy-4.9.1, xdist-3.8.0
collected 131 items / 126 deselected / 5 selected

tests/test_all_mods.py s                                                 [ 20%]
tests/test_core_and_wrappers.py ::error file=tests/test_core_and_wrappers.py,line=224::test_native_downscaling_hot_swap[kungfumaster]%0A%0AAssertionError: Reset observation shape mismatch. Got (4, 210, 160, 3)%0Aassert (4, 210, 160, 3) == (4, 84, 84, 3)%0A  %0A  At index 1 diff: 210 != 84%0A  %0A  Full diff:%0A    (%0A        4,%0A  -     84,%0A  -     84,%0A  +     210,%0A  +     160,%0A        3,%0A    )
F::error file=tests/test_core_and_wrappers.py,line=289::test_native_downscaling_grayscale[kungfumaster]%0A%0Aassert (4, 210, 160, 3) == (4, 84, 84, 1)%0A  %0A  At index 1 diff: 210 != 84%0A  %0A  Full diff:%0A    (%0A        4,%0A  -     84,%0A  -     84,%0A  -     1,%0A  +     210,%0A  ?     + +%0A  +     160,%0A  +     3,%0A    )
F                                       [ 60%]
tests/test_all_mods.py ss                                                [100%]

=================================== FAILURES ===================================
/home/runner/work/JAXAtari/JAXAtari/tests/test_core_and_wrappers.py:276: AssertionError: Reset observation shape mismatch. Got (4, 210, 160, 3)
/home/runner/work/JAXAtari/JAXAtari/tests/test_core_and_wrappers.py:320: assert (4, 210, 160, 3) == (4, 84, 84, 1)
============================= slowest 20 durations =============================
0.98s call     tests/test_core_and_wrappers.py::test_native_downscaling_hot_swap[kungfumaster]
0.89s call     tests/test_core_and_wrappers.py::test_native_downscaling_grayscale[kungfumaster]
0.25s setup    tests/test_core_and_wrappers.py::test_native_downscaling_hot_swap[kungfumaster]
0.19s setup    tests/test_core_and_wrappers.py::test_native_downscaling_grayscale[kungfumaster]
0.08s teardown tests/test_core_and_wrappers.py::test_native_downscaling_hot_swap[kungfumaster]
0.08s teardown tests/test_core_and_wrappers.py::test_native_downscaling_grayscale[kungfumaster]
0.06s teardown tests/test_all_mods.py::TestModWithWrappers::test_representative_mod_native_downscaling
0.03s teardown tests/test_all_mods.py::test_renderer_patch_jit_staleness_fixed
0.03s teardown tests/test_all_mods.py::test_native_downscaling_clears_registered_jit_targets

(5 durations < 0.005s hidden.  Use -vv to show these durations.)
=========================== short test summary info ============================
SKIPPED [1] tests/test_all_mods.py:435: Game does not have mods registered
SKIPPED [2] tests/conftest.py:299: Skipping 'kangaroo'-only test because --game=['kungfumaster']
FAILED tests/test_core_and_wrappers.py::test_native_downscaling_hot_swap[kungfumaster] - AssertionError: Reset observation shape mismatch. Got (4, 210, 160, 3)
assert (4, 210, 160, 3) == (4, 84, 84, 3)
  
  At index 1 diff: 210 != 84
  
  Full diff:
    (
        4,
  -     84,
  -     84,
  +     210,
  +     160,
        3,
    )
FAILED tests/test_core_and_wrappers.py::test_native_downscaling_grayscale[kungfumaster] - assert (4, 210, 160, 3) == (4, 84, 84, 1)
  
  At index 1 diff: 210 != 84
  
  Full diff:
    (
        4,
  -     84,
  -     84,
  -     1,
  +     210,
  ?     + +
  +     160,
  +     3,
    )
================= 2 failed, 3 skipped, 126 deselected in 2.83s =================
Command exited with non-zero status 1
	Command being timed: "pytest --game kungfumaster --snapshot-warn-unused --tb=line -ra --durations=20 --color=yes -m serial tests/"
	User time (seconds): 4.61
	System time (seconds): 0.33
	Percent of CPU this job got: 134%
	Elapsed (wall clock) time (h:mm:ss or m:ss): 0:03.68
	Average shared text size (kbytes): 0
	Average unshared data size (kbytes): 0
	Average stack size (kbytes): 0
	Average total size (kbytes): 0
	Maximum resident set size (kbytes): 368548
	Average resident set size (kbytes): 0
	Major (requiring I/O) page faults: 0
	Minor (reclaiming a frame) page faults: 79276
	Voluntary context switches: 1967
	Involuntary context switches: 315
	Swaps: 0
	File system inputs: 0
	File system outputs: 24
	Socket messages sent: 0
	Socket messages received: 0
	Signals delivered: 0
	Page size (bytes): 4096
	Exit status: 1


This log was automatically created at 2026-09-04 11:10:17 UTC.

@vamsi-dev-coder
vamsi-dev-coder force-pushed the kungfumaster-integration branch from 2a360e4 to 3459518 Compare September 4, 2026 11:11
@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
📁 Previous CI results (run #33867236706)

Test Report

This comment was generated automatically by a GitHub Action. It summarizes the test results for this pull request. The GitHub Action run can be found here:

https://github.com/k4ntz/JAXAtari/actions/runs/33866734231

Base Branch ✅

The PR's base branch is dev.
The expected base branch is dev.

Changed Files ✅

There are no forbidden file changes. Nice 👍

Framework Tests ❌

Some framework tests failed. Please check the details below:

kungfumaster ❌
============================= test session starts ==============================
platform linux -- Python 3.11.16, pytest-8.4.2, pluggy-1.6.0
rootdir: /home/runner/work/JAXAtari/JAXAtari
configfile: pyproject.toml
plugins: sugar-1.1.1, github-actions-annotate-failures-0.4.2, syrupy-4.9.1, xdist-3.8.0
created: 2/2 workers
2 workers [68 items]

ssss.......::warning file=.venv/lib/python3.11/site-packages/pygame/pkgdata.py,line=25::pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
ssssssssssss.....s........ss................s.........ss.     [100%]
=============================== warnings summary ===============================
tests/test_all_mods.py::test_no_duplicate_mod_keys
  /home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/pygame/pkgdata.py:25: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
    from pkg_resources import resource_stream, resource_exists

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
============================= slowest 20 durations =============================
37.85s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_normalize_observation_wrapper[kungfumaster]
19.34s call     tests/test_core_and_wrappers.py::test_flatten_observation_wrapper[kungfumaster]
13.07s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_atari_wrapper_features[kungfumaster]
12.79s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_log_wrapper_tracking[kungfumaster]
11.49s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_multi_reward_log_wrapper[kungfumaster]
9.78s call     tests/test_core_and_wrappers.py::test_log_wrapper_with_flatten_observation[kungfumaster]
9.42s call     tests/test_core_and_wrappers.py::test_pixel_obs_wrapper_with_stacked_frames[kungfumaster]
8.63s call     tests/test_environment_compatibility.py::TestJaxTransforms::test_jit_compilation[Pixel-kungfumaster]
8.33s call     tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapped_reset_and_step[Pixel-kungfumaster]
7.50s call     tests/test_all_mods.py::test_no_duplicate_mod_keys
7.24s call     tests/test_core_and_wrappers.py::test_object_centric_wrapper[kungfumaster]
7.19s call     tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapped_reset_and_step[LoggedFlattenedPixelAndObject-kungfumaster]
6.91s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_flatten_observation_wrapper_space_structure[kungfumaster]
6.75s call     tests/test_environment_compatibility.py::TestJaxTransforms::test_jit_compilation[LoggedFlattenedPixelAndObject-kungfumaster]
3.72s call     tests/test_core_and_wrappers.py::test_pixel_and_object_centric_wrapper[kungfumaster]
2.85s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_log_wrapper_edge_cases[kungfumaster]
2.79s call     tests/test_environment_compatibility.py::TestEdgeCasesAndErrorHandling::test_invalid_action_handling[kungfumaster]
2.69s call     tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_step_method[kungfumaster]
2.62s call     tests/test_environment_compatibility.py::TestEdgeCasesAndErrorHandling::test_state_serialization[kungfumaster]
2.14s call     tests/test_environment_compatibility.py::TestBasicAPI::test_spaces[kungfumaster]
=========================== short test summary info ============================
SKIPPED [1] tests/test_all_mods.py:243: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:348: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:372: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:389: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:746: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:769: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:797: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:802: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:861: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:877: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:895: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:915: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:935: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:957: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:970: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:992: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/conftest.py:299: Skipping 'kangaroo'-only test because --game=['kungfumaster']
SKIPPED [2] tests/test_environment_compatibility.py:496: Skipping to debug memory issues in CI
SKIPPED [2] tests/test_environment_compatibility.py:536: Skipping to debug memory issues in CI
SKIPPED [1] tests/test_funcenv_adapter.py:165: Skipping to debug memory issues in CI
============ 46 passed, 22 skipped, 1 warning in 138.34s (0:02:18) =============
	Command being timed: "pytest -n 2 --dist=loadfile --game kungfumaster --snapshot-warn-unused --tb=line -ra --durations=20 --color=yes -m not serial tests/"
	User time (seconds): 373.42
	System time (seconds): 8.18
	Percent of CPU this job got: 272%
	Elapsed (wall clock) time (h:mm:ss or m:ss): 2:19.90
	Average shared text size (kbytes): 0
	Average unshared data size (kbytes): 0
	Average stack size (kbytes): 0
	Average total size (kbytes): 0
	Maximum resident set size (kbytes): 1721248
	Average resident set size (kbytes): 0
	Major (requiring I/O) page faults: 4
	Minor (reclaiming a frame) page faults: 933193
	Voluntary context switches: 108709
	Involuntary context switches: 74582
	Swaps: 0
	File system inputs: 2336
	File system outputs: 11920
	Socket messages sent: 0
	Socket messages received: 0
	Signals delivered: 0
	Page size (bytes): 4096
	Exit status: 0
============================= test session starts ==============================
platform linux -- Python 3.11.16, pytest-8.4.2, pluggy-1.6.0
rootdir: /home/runner/work/JAXAtari/JAXAtari
configfile: pyproject.toml
plugins: sugar-1.1.1, github-actions-annotate-failures-0.4.2, syrupy-4.9.1, xdist-3.8.0
collected 131 items / 126 deselected / 5 selected

tests/test_all_mods.py s                                                 [ 20%]
tests/test_core_and_wrappers.py ::error file=tests/test_core_and_wrappers.py,line=224::test_native_downscaling_hot_swap[kungfumaster]%0A%0AAssertionError: Reset observation shape mismatch. Got (4, 210, 160, 3)%0Aassert (4, 210, 160, 3) == (4, 84, 84, 3)%0A  %0A  At index 1 diff: 210 != 84%0A  %0A  Full diff:%0A    (%0A        4,%0A  -     84,%0A  -     84,%0A  +     210,%0A  +     160,%0A        3,%0A    )
F::error file=tests/test_core_and_wrappers.py,line=289::test_native_downscaling_grayscale[kungfumaster]%0A%0Aassert (4, 210, 160, 3) == (4, 84, 84, 1)%0A  %0A  At index 1 diff: 210 != 84%0A  %0A  Full diff:%0A    (%0A        4,%0A  -     84,%0A  -     84,%0A  -     1,%0A  +     210,%0A  ?     + +%0A  +     160,%0A  +     3,%0A    )
F                                       [ 60%]
tests/test_all_mods.py ss                                                [100%]

=================================== FAILURES ===================================
/home/runner/work/JAXAtari/JAXAtari/tests/test_core_and_wrappers.py:276: AssertionError: Reset observation shape mismatch. Got (4, 210, 160, 3)
/home/runner/work/JAXAtari/JAXAtari/tests/test_core_and_wrappers.py:320: assert (4, 210, 160, 3) == (4, 84, 84, 1)
============================= slowest 20 durations =============================
1.55s call     tests/test_core_and_wrappers.py::test_native_downscaling_hot_swap[kungfumaster]
1.46s call     tests/test_core_and_wrappers.py::test_native_downscaling_grayscale[kungfumaster]
0.34s setup    tests/test_core_and_wrappers.py::test_native_downscaling_hot_swap[kungfumaster]
0.26s setup    tests/test_core_and_wrappers.py::test_native_downscaling_grayscale[kungfumaster]
0.09s teardown tests/test_core_and_wrappers.py::test_native_downscaling_grayscale[kungfumaster]
0.09s teardown tests/test_core_and_wrappers.py::test_native_downscaling_hot_swap[kungfumaster]
0.05s teardown tests/test_all_mods.py::TestModWithWrappers::test_representative_mod_native_downscaling
0.04s teardown tests/test_all_mods.py::test_renderer_patch_jit_staleness_fixed
0.04s teardown tests/test_all_mods.py::test_native_downscaling_clears_registered_jit_targets

(5 durations < 0.005s hidden.  Use -vv to show these durations.)
=========================== short test summary info ============================
SKIPPED [1] tests/test_all_mods.py:435: Game does not have mods registered
SKIPPED [2] tests/conftest.py:299: Skipping 'kangaroo'-only test because --game=['kungfumaster']
FAILED tests/test_core_and_wrappers.py::test_native_downscaling_hot_swap[kungfumaster] - AssertionError: Reset observation shape mismatch. Got (4, 210, 160, 3)
assert (4, 210, 160, 3) == (4, 84, 84, 3)
  
  At index 1 diff: 210 != 84
  
  Full diff:
    (
        4,
  -     84,
  -     84,
  +     210,
  +     160,
        3,
    )
FAILED tests/test_core_and_wrappers.py::test_native_downscaling_grayscale[kungfumaster] - assert (4, 210, 160, 3) == (4, 84, 84, 1)
  
  At index 1 diff: 210 != 84
  
  Full diff:
    (
        4,
  -     84,
  -     84,
  -     1,
  +     210,
  ?     + +
  +     160,
  +     3,
    )
================= 2 failed, 3 skipped, 126 deselected in 4.27s =================
Command exited with non-zero status 1
	Command being timed: "pytest --game kungfumaster --snapshot-warn-unused --tb=line -ra --durations=20 --color=yes -m serial tests/"
	User time (seconds): 6.91
	System time (seconds): 0.50
	Percent of CPU this job got: 133%
	Elapsed (wall clock) time (h:mm:ss or m:ss): 0:05.55
	Average shared text size (kbytes): 0
	Average unshared data size (kbytes): 0
	Average stack size (kbytes): 0
	Average total size (kbytes): 0
	Maximum resident set size (kbytes): 368976
	Average resident set size (kbytes): 0
	Major (requiring I/O) page faults: 0
	Minor (reclaiming a frame) page faults: 79575
	Voluntary context switches: 1922
	Involuntary context switches: 439
	Swaps: 0
	File system inputs: 0
	File system outputs: 24
	Socket messages sent: 0
	Socket messages received: 0
	Signals delivered: 0
	Page size (bytes): 4096
	Exit status: 1


This log was automatically created at 2026-09-04 11:15:01 UTC.

@vamsi-dev-coder
vamsi-dev-coder force-pushed the kungfumaster-integration branch from 3459518 to e051942 Compare September 4, 2026 11:17
@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
📁 Previous CI results (run #33867659907)

Test Report

This comment was generated automatically by a GitHub Action. It summarizes the test results for this pull request. The GitHub Action run can be found here:

https://github.com/k4ntz/JAXAtari/actions/runs/33867236706

Base Branch ✅

The PR's base branch is dev.
The expected base branch is dev.

Changed Files ✅

There are no forbidden file changes. Nice 👍

Framework Tests ❌

Some framework tests failed. Please check the details below:

kungfumaster ❌
============================= test session starts ==============================
platform linux -- Python 3.11.16, pytest-8.4.2, pluggy-1.6.0
rootdir: /home/runner/work/JAXAtari/JAXAtari
configfile: pyproject.toml
plugins: sugar-1.1.1, github-actions-annotate-failures-0.4.2, syrupy-4.9.1, xdist-3.8.0
created: 2/2 workers
2 workers [68 items]

ssss......::warning file=.venv/lib/python3.11/site-packages/pygame/pkgdata.py,line=25::pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
.ssssssssssss.....s...........ss.............s.........ss.     [100%]
=============================== warnings summary ===============================
tests/test_all_mods.py::test_no_duplicate_mod_keys
  /home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/pygame/pkgdata.py:25: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
    from pkg_resources import resource_stream, resource_exists

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
============================= slowest 20 durations =============================
42.64s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_normalize_observation_wrapper[kungfumaster]
21.73s call     tests/test_core_and_wrappers.py::test_flatten_observation_wrapper[kungfumaster]
14.66s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_atari_wrapper_features[kungfumaster]
13.98s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_log_wrapper_tracking[kungfumaster]
12.81s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_multi_reward_log_wrapper[kungfumaster]
11.05s call     tests/test_core_and_wrappers.py::test_log_wrapper_with_flatten_observation[kungfumaster]
11.00s call     tests/test_core_and_wrappers.py::test_pixel_obs_wrapper_with_stacked_frames[kungfumaster]
10.92s call     tests/test_environment_compatibility.py::TestJaxTransforms::test_jit_compilation[Pixel-kungfumaster]
9.08s call     tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapped_reset_and_step[Pixel-kungfumaster]
8.35s call     tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapped_reset_and_step[LoggedFlattenedPixelAndObject-kungfumaster]
7.96s call     tests/test_core_and_wrappers.py::test_object_centric_wrapper[kungfumaster]
7.86s call     tests/test_all_mods.py::test_no_duplicate_mod_keys
7.68s call     tests/test_environment_compatibility.py::TestJaxTransforms::test_jit_compilation[LoggedFlattenedPixelAndObject-kungfumaster]
6.72s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_flatten_observation_wrapper_space_structure[kungfumaster]
4.07s call     tests/test_core_and_wrappers.py::test_pixel_and_object_centric_wrapper[kungfumaster]
3.69s call     tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_step_method[kungfumaster]
3.18s call     tests/test_environment_compatibility.py::TestEdgeCasesAndErrorHandling::test_invalid_action_handling[kungfumaster]
3.14s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_log_wrapper_edge_cases[kungfumaster]
2.94s call     tests/test_environment_compatibility.py::TestEdgeCasesAndErrorHandling::test_state_serialization[kungfumaster]
2.89s call     tests/test_funcenv_adapter.py::TestJaxTransforms::test_jittable_transition[kungfumaster]
=========================== short test summary info ============================
SKIPPED [1] tests/test_all_mods.py:243: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:348: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:372: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:389: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:746: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:769: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:797: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:802: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:861: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:877: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:895: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:915: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:935: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:957: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:970: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:992: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/conftest.py:299: Skipping 'kangaroo'-only test because --game=['kungfumaster']
SKIPPED [2] tests/test_environment_compatibility.py:496: Skipping to debug memory issues in CI
SKIPPED [2] tests/test_environment_compatibility.py:536: Skipping to debug memory issues in CI
SKIPPED [1] tests/test_funcenv_adapter.py:165: Skipping to debug memory issues in CI
============ 46 passed, 22 skipped, 1 warning in 153.91s (0:02:33) =============
	Command being timed: "pytest -n 2 --dist=loadfile --game kungfumaster --snapshot-warn-unused --tb=line -ra --durations=20 --color=yes -m not serial tests/"
	User time (seconds): 415.64
	System time (seconds): 7.73
	Percent of CPU this job got: 272%
	Elapsed (wall clock) time (h:mm:ss or m:ss): 2:35.48
	Average shared text size (kbytes): 0
	Average unshared data size (kbytes): 0
	Average stack size (kbytes): 0
	Average total size (kbytes): 0
	Maximum resident set size (kbytes): 1727436
	Average resident set size (kbytes): 0
	Major (requiring I/O) page faults: 4
	Minor (reclaiming a frame) page faults: 945739
	Voluntary context switches: 105896
	Involuntary context switches: 84824
	Swaps: 0
	File system inputs: 2080
	File system outputs: 12496
	Socket messages sent: 0
	Socket messages received: 0
	Signals delivered: 0
	Page size (bytes): 4096
	Exit status: 0
============================= test session starts ==============================
platform linux -- Python 3.11.16, pytest-8.4.2, pluggy-1.6.0
rootdir: /home/runner/work/JAXAtari/JAXAtari
configfile: pyproject.toml
plugins: sugar-1.1.1, github-actions-annotate-failures-0.4.2, syrupy-4.9.1, xdist-3.8.0
collected 131 items / 126 deselected / 5 selected

tests/test_all_mods.py s                                                 [ 20%]
tests/test_core_and_wrappers.py ::error file=tests/test_core_and_wrappers.py,line=224::test_native_downscaling_hot_swap[kungfumaster]%0A%0AAssertionError: Reset observation shape mismatch. Got (4, 210, 160, 3)%0Aassert (4, 210, 160, 3) == (4, 84, 84, 3)%0A  %0A  At index 1 diff: 210 != 84%0A  %0A  Full diff:%0A    (%0A        4,%0A  -     84,%0A  -     84,%0A  +     210,%0A  +     160,%0A        3,%0A    )
F::error file=tests/test_core_and_wrappers.py,line=289::test_native_downscaling_grayscale[kungfumaster]%0A%0Aassert (4, 210, 160, 3) == (4, 84, 84, 1)%0A  %0A  At index 1 diff: 210 != 84%0A  %0A  Full diff:%0A    (%0A        4,%0A  -     84,%0A  -     84,%0A  -     1,%0A  +     210,%0A  ?     + +%0A  +     160,%0A  +     3,%0A    )
F                                       [ 60%]
tests/test_all_mods.py ss                                                [100%]

=================================== FAILURES ===================================
/home/runner/work/JAXAtari/JAXAtari/tests/test_core_and_wrappers.py:276: AssertionError: Reset observation shape mismatch. Got (4, 210, 160, 3)
/home/runner/work/JAXAtari/JAXAtari/tests/test_core_and_wrappers.py:320: assert (4, 210, 160, 3) == (4, 84, 84, 1)
============================= slowest 20 durations =============================
1.77s call     tests/test_core_and_wrappers.py::test_native_downscaling_hot_swap[kungfumaster]
1.70s call     tests/test_core_and_wrappers.py::test_native_downscaling_grayscale[kungfumaster]
0.37s setup    tests/test_core_and_wrappers.py::test_native_downscaling_hot_swap[kungfumaster]
0.28s setup    tests/test_core_and_wrappers.py::test_native_downscaling_grayscale[kungfumaster]
0.09s teardown tests/test_core_and_wrappers.py::test_native_downscaling_grayscale[kungfumaster]
0.08s teardown tests/test_core_and_wrappers.py::test_native_downscaling_hot_swap[kungfumaster]
0.06s teardown tests/test_all_mods.py::TestModWithWrappers::test_representative_mod_native_downscaling
0.06s teardown tests/test_all_mods.py::test_renderer_patch_jit_staleness_fixed
0.06s teardown tests/test_all_mods.py::test_native_downscaling_clears_registered_jit_targets

(5 durations < 0.005s hidden.  Use -vv to show these durations.)
=========================== short test summary info ============================
SKIPPED [1] tests/test_all_mods.py:435: Game does not have mods registered
SKIPPED [2] tests/conftest.py:299: Skipping 'kangaroo'-only test because --game=['kungfumaster']
FAILED tests/test_core_and_wrappers.py::test_native_downscaling_hot_swap[kungfumaster] - AssertionError: Reset observation shape mismatch. Got (4, 210, 160, 3)
assert (4, 210, 160, 3) == (4, 84, 84, 3)
  
  At index 1 diff: 210 != 84
  
  Full diff:
    (
        4,
  -     84,
  -     84,
  +     210,
  +     160,
        3,
    )
FAILED tests/test_core_and_wrappers.py::test_native_downscaling_grayscale[kungfumaster] - assert (4, 210, 160, 3) == (4, 84, 84, 1)
  
  At index 1 diff: 210 != 84
  
  Full diff:
    (
        4,
  -     84,
  -     84,
  -     1,
  +     210,
  ?     + +
  +     160,
  +     3,
    )
================= 2 failed, 3 skipped, 126 deselected in 4.84s =================
Command exited with non-zero status 1
	Command being timed: "pytest --game kungfumaster --snapshot-warn-unused --tb=line -ra --durations=20 --color=yes -m serial tests/"
	User time (seconds): 7.95
	System time (seconds): 0.51
	Percent of CPU this job got: 134%
	Elapsed (wall clock) time (h:mm:ss or m:ss): 0:06.29
	Average shared text size (kbytes): 0
	Average unshared data size (kbytes): 0
	Average stack size (kbytes): 0
	Average total size (kbytes): 0
	Maximum resident set size (kbytes): 371796
	Average resident set size (kbytes): 0
	Major (requiring I/O) page faults: 0
	Minor (reclaiming a frame) page faults: 80204
	Voluntary context switches: 1832
	Involuntary context switches: 706
	Swaps: 0
	File system inputs: 0
	File system outputs: 24
	Socket messages sent: 0
	Socket messages received: 0
	Signals delivered: 0
	Page size (bytes): 4096
	Exit status: 1


This log was automatically created at 2026-09-04 11:21:36 UTC.

@vamsi-dev-coder
vamsi-dev-coder force-pushed the kungfumaster-integration branch from e051942 to 08281df Compare September 4, 2026 11:22
@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
📁 Previous CI results (run #33868487195)

Test Report

This comment was generated automatically by a GitHub Action. It summarizes the test results for this pull request. The GitHub Action run can be found here:

https://github.com/k4ntz/JAXAtari/actions/runs/33867659907

Base Branch ✅

The PR's base branch is dev.
The expected base branch is dev.

Changed Files ✅

There are no forbidden file changes. Nice 👍

Framework Tests ❌

Some framework tests failed. Please check the details below:

kungfumaster ❌
============================= test session starts ==============================
platform linux -- Python 3.11.16, pytest-8.4.2, pluggy-1.6.0
rootdir: /home/runner/work/JAXAtari/JAXAtari
configfile: pyproject.toml
plugins: sugar-1.1.1, github-actions-annotate-failures-0.4.2, syrupy-4.9.1, xdist-3.8.0
created: 2/2 workers
2 workers [68 items]

ssss.......::warning file=.venv/lib/python3.11/site-packages/pygame/pkgdata.py,line=25::pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
ssssssssssss.....s........ss................s.........ss.     [100%]
=============================== warnings summary ===============================
tests/test_all_mods.py::test_no_duplicate_mod_keys
  /home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/pygame/pkgdata.py:25: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
    from pkg_resources import resource_stream, resource_exists

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
============================= slowest 20 durations =============================
40.88s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_normalize_observation_wrapper[kungfumaster]
20.87s call     tests/test_core_and_wrappers.py::test_flatten_observation_wrapper[kungfumaster]
14.72s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_atari_wrapper_features[kungfumaster]
13.87s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_log_wrapper_tracking[kungfumaster]
12.75s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_multi_reward_log_wrapper[kungfumaster]
10.50s call     tests/test_core_and_wrappers.py::test_log_wrapper_with_flatten_observation[kungfumaster]
10.34s call     tests/test_core_and_wrappers.py::test_pixel_obs_wrapper_with_stacked_frames[kungfumaster]
9.70s call     tests/test_environment_compatibility.py::TestJaxTransforms::test_jit_compilation[Pixel-kungfumaster]
8.68s call     tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapped_reset_and_step[Pixel-kungfumaster]
7.95s call     tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapped_reset_and_step[LoggedFlattenedPixelAndObject-kungfumaster]
7.94s call     tests/test_core_and_wrappers.py::test_object_centric_wrapper[kungfumaster]
7.80s call     tests/test_all_mods.py::test_no_duplicate_mod_keys
7.43s call     tests/test_environment_compatibility.py::TestJaxTransforms::test_jit_compilation[LoggedFlattenedPixelAndObject-kungfumaster]
7.15s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_flatten_observation_wrapper_space_structure[kungfumaster]
4.00s call     tests/test_core_and_wrappers.py::test_pixel_and_object_centric_wrapper[kungfumaster]
3.10s call     tests/test_environment_compatibility.py::TestEdgeCasesAndErrorHandling::test_invalid_action_handling[kungfumaster]
2.99s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_log_wrapper_edge_cases[kungfumaster]
2.88s call     tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_step_method[kungfumaster]
2.80s call     tests/test_environment_compatibility.py::TestEdgeCasesAndErrorHandling::test_state_serialization[kungfumaster]
2.29s call     tests/test_environment_compatibility.py::TestBasicAPI::test_spaces[kungfumaster]
=========================== short test summary info ============================
SKIPPED [1] tests/test_all_mods.py:243: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:348: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:372: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:389: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:746: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:769: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:797: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:802: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:861: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:877: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:895: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:915: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:935: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:957: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:970: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:992: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/conftest.py:299: Skipping 'kangaroo'-only test because --game=['kungfumaster']
SKIPPED [2] tests/test_environment_compatibility.py:496: Skipping to debug memory issues in CI
SKIPPED [2] tests/test_environment_compatibility.py:536: Skipping to debug memory issues in CI
SKIPPED [1] tests/test_funcenv_adapter.py:165: Skipping to debug memory issues in CI
============ 46 passed, 22 skipped, 1 warning in 151.38s (0:02:31) =============
	Command being timed: "pytest -n 2 --dist=loadfile --game kungfumaster --snapshot-warn-unused --tb=line -ra --durations=20 --color=yes -m not serial tests/"
	User time (seconds): 399.03
	System time (seconds): 8.39
	Percent of CPU this job got: 266%
	Elapsed (wall clock) time (h:mm:ss or m:ss): 2:32.95
	Average shared text size (kbytes): 0
	Average unshared data size (kbytes): 0
	Average stack size (kbytes): 0
	Average total size (kbytes): 0
	Maximum resident set size (kbytes): 1723876
	Average resident set size (kbytes): 0
	Major (requiring I/O) page faults: 3
	Minor (reclaiming a frame) page faults: 943864
	Voluntary context switches: 111763
	Involuntary context switches: 79998
	Swaps: 0
	File system inputs: 2072
	File system outputs: 11976
	Socket messages sent: 0
	Socket messages received: 0
	Signals delivered: 0
	Page size (bytes): 4096
	Exit status: 0
============================= test session starts ==============================
platform linux -- Python 3.11.16, pytest-8.4.2, pluggy-1.6.0
rootdir: /home/runner/work/JAXAtari/JAXAtari
configfile: pyproject.toml
plugins: sugar-1.1.1, github-actions-annotate-failures-0.4.2, syrupy-4.9.1, xdist-3.8.0
collected 131 items / 126 deselected / 5 selected

tests/test_all_mods.py s                                                 [ 20%]
tests/test_core_and_wrappers.py ::error file=tests/test_core_and_wrappers.py,line=224::test_native_downscaling_hot_swap[kungfumaster]%0A%0AAssertionError: Reset observation shape mismatch. Got (4, 210, 160, 3)%0Aassert (4, 210, 160, 3) == (4, 84, 84, 3)%0A  %0A  At index 1 diff: 210 != 84%0A  %0A  Full diff:%0A    (%0A        4,%0A  -     84,%0A  -     84,%0A  +     210,%0A  +     160,%0A        3,%0A    )
F::error file=tests/test_core_and_wrappers.py,line=289::test_native_downscaling_grayscale[kungfumaster]%0A%0Aassert (4, 210, 160, 3) == (4, 84, 84, 1)%0A  %0A  At index 1 diff: 210 != 84%0A  %0A  Full diff:%0A    (%0A        4,%0A  -     84,%0A  -     84,%0A  -     1,%0A  +     210,%0A  ?     + +%0A  +     160,%0A  +     3,%0A    )
F                                       [ 60%]
tests/test_all_mods.py ss                                                [100%]

=================================== FAILURES ===================================
/home/runner/work/JAXAtari/JAXAtari/tests/test_core_and_wrappers.py:276: AssertionError: Reset observation shape mismatch. Got (4, 210, 160, 3)
/home/runner/work/JAXAtari/JAXAtari/tests/test_core_and_wrappers.py:320: assert (4, 210, 160, 3) == (4, 84, 84, 1)
============================= slowest 20 durations =============================
1.65s call     tests/test_core_and_wrappers.py::test_native_downscaling_hot_swap[kungfumaster]
1.56s call     tests/test_core_and_wrappers.py::test_native_downscaling_grayscale[kungfumaster]
0.39s setup    tests/test_core_and_wrappers.py::test_native_downscaling_hot_swap[kungfumaster]
0.30s setup    tests/test_core_and_wrappers.py::test_native_downscaling_grayscale[kungfumaster]
0.13s teardown tests/test_core_and_wrappers.py::test_native_downscaling_grayscale[kungfumaster]
0.12s teardown tests/test_core_and_wrappers.py::test_native_downscaling_hot_swap[kungfumaster]
0.08s teardown tests/test_all_mods.py::TestModWithWrappers::test_representative_mod_native_downscaling
0.08s teardown tests/test_all_mods.py::test_renderer_patch_jit_staleness_fixed
0.07s teardown tests/test_all_mods.py::test_native_downscaling_clears_registered_jit_targets

(5 durations < 0.005s hidden.  Use -vv to show these durations.)
=========================== short test summary info ============================
SKIPPED [1] tests/test_all_mods.py:435: Game does not have mods registered
SKIPPED [2] tests/conftest.py:299: Skipping 'kangaroo'-only test because --game=['kungfumaster']
FAILED tests/test_core_and_wrappers.py::test_native_downscaling_hot_swap[kungfumaster] - AssertionError: Reset observation shape mismatch. Got (4, 210, 160, 3)
assert (4, 210, 160, 3) == (4, 84, 84, 3)
  
  At index 1 diff: 210 != 84
  
  Full diff:
    (
        4,
  -     84,
  -     84,
  +     210,
  +     160,
        3,
    )
FAILED tests/test_core_and_wrappers.py::test_native_downscaling_grayscale[kungfumaster] - assert (4, 210, 160, 3) == (4, 84, 84, 1)
  
  At index 1 diff: 210 != 84
  
  Full diff:
    (
        4,
  -     84,
  -     84,
  -     1,
  +     210,
  ?     + +
  +     160,
  +     3,
    )
================= 2 failed, 3 skipped, 126 deselected in 4.78s =================
Command exited with non-zero status 1
	Command being timed: "pytest --game kungfumaster --snapshot-warn-unused --tb=line -ra --durations=20 --color=yes -m serial tests/"
	User time (seconds): 7.80
	System time (seconds): 0.56
	Percent of CPU this job got: 131%
	Elapsed (wall clock) time (h:mm:ss or m:ss): 0:06.38
	Average shared text size (kbytes): 0
	Average unshared data size (kbytes): 0
	Average stack size (kbytes): 0
	Average total size (kbytes): 0
	Maximum resident set size (kbytes): 372476
	Average resident set size (kbytes): 0
	Major (requiring I/O) page faults: 0
	Minor (reclaiming a frame) page faults: 80402
	Voluntary context switches: 1969
	Involuntary context switches: 459
	Swaps: 0
	File system inputs: 0
	File system outputs: 24
	Socket messages sent: 0
	Socket messages received: 0
	Signals delivered: 0
	Page size (bytes): 4096
	Exit status: 1


This log was automatically created at 2026-09-04 11:27:15 UTC.

@vamsi-dev-coder
vamsi-dev-coder force-pushed the kungfumaster-integration branch from 08281df to bfd183b Compare September 4, 2026 11:33
@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
📁 Previous CI results (run #33868942637)

Test Report

This comment was generated automatically by a GitHub Action. It summarizes the test results for this pull request. The GitHub Action run can be found here:

https://github.com/k4ntz/JAXAtari/actions/runs/33868487195

Base Branch ✅

The PR's base branch is dev.
The expected base branch is dev.

Changed Files ✅

There are no forbidden file changes. Nice 👍

Framework Tests ❌

Some framework tests failed. Please check the details below:

kungfumaster ❌
============================= test session starts ==============================
platform linux -- Python 3.11.16, pytest-8.4.2, pluggy-1.6.0
rootdir: /home/runner/work/JAXAtari/JAXAtari
configfile: pyproject.toml
plugins: sugar-1.1.1, github-actions-annotate-failures-0.4.2, syrupy-4.9.1, xdist-3.8.0
created: 2/2 workers
2 workers [68 items]

ssss.....::warning file=.venv/lib/python3.11/site-packages/pygame/pkgdata.py,line=25::pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
.s.sssssssssss.....s.............ss...........s.........ss.     [100%]
=============================== warnings summary ===============================
tests/test_all_mods.py::test_no_duplicate_mod_keys
  /home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/pygame/pkgdata.py:25: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
    from pkg_resources import resource_stream, resource_exists

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
============================= slowest 20 durations =============================
32.07s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_normalize_observation_wrapper[kungfumaster]
16.84s call     tests/test_core_and_wrappers.py::test_flatten_observation_wrapper[kungfumaster]
11.52s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_atari_wrapper_features[kungfumaster]
10.49s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_log_wrapper_tracking[kungfumaster]
9.90s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_multi_reward_log_wrapper[kungfumaster]
8.36s call     tests/test_core_and_wrappers.py::test_log_wrapper_with_flatten_observation[kungfumaster]
7.77s call     tests/test_environment_compatibility.py::TestJaxTransforms::test_jit_compilation[Pixel-kungfumaster]
7.49s call     tests/test_core_and_wrappers.py::test_pixel_obs_wrapper_with_stacked_frames[kungfumaster]
7.10s call     tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapped_reset_and_step[Pixel-kungfumaster]
6.54s call     tests/test_core_and_wrappers.py::test_object_centric_wrapper[kungfumaster]
6.01s call     tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapped_reset_and_step[LoggedFlattenedPixelAndObject-kungfumaster]
5.80s call     tests/test_environment_compatibility.py::TestJaxTransforms::test_jit_compilation[LoggedFlattenedPixelAndObject-kungfumaster]
5.78s call     tests/test_all_mods.py::test_no_duplicate_mod_keys
5.70s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_flatten_observation_wrapper_space_structure[kungfumaster]
3.51s call     tests/test_core_and_wrappers.py::test_pixel_and_object_centric_wrapper[kungfumaster]
2.98s call     tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_step_method[kungfumaster]
2.44s call     tests/test_environment_compatibility.py::TestEdgeCasesAndErrorHandling::test_invalid_action_handling[kungfumaster]
2.39s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_log_wrapper_edge_cases[kungfumaster]
2.20s call     tests/test_environment_compatibility.py::TestEdgeCasesAndErrorHandling::test_state_serialization[kungfumaster]
2.06s call     tests/test_funcenv_adapter.py::TestJaxTransforms::test_jittable_transition[kungfumaster]
=========================== short test summary info ============================
SKIPPED [1] tests/test_all_mods.py:243: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:348: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:372: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:389: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:746: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:769: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:797: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:802: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:861: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:877: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:895: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:915: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:935: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:957: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:970: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:992: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/conftest.py:299: Skipping 'kangaroo'-only test because --game=['kungfumaster']
SKIPPED [2] tests/test_environment_compatibility.py:496: Skipping to debug memory issues in CI
SKIPPED [2] tests/test_environment_compatibility.py:536: Skipping to debug memory issues in CI
SKIPPED [1] tests/test_funcenv_adapter.py:165: Skipping to debug memory issues in CI
============ 46 passed, 22 skipped, 1 warning in 116.99s (0:01:56) =============
	Command being timed: "pytest -n 2 --dist=loadfile --game kungfumaster --snapshot-warn-unused --tb=line -ra --durations=20 --color=yes -m not serial tests/"
	User time (seconds): 317.25
	System time (seconds): 5.06
	Percent of CPU this job got: 272%
	Elapsed (wall clock) time (h:mm:ss or m:ss): 1:58.12
	Average shared text size (kbytes): 0
	Average unshared data size (kbytes): 0
	Average stack size (kbytes): 0
	Average total size (kbytes): 0
	Maximum resident set size (kbytes): 1727952
	Average resident set size (kbytes): 0
	Major (requiring I/O) page faults: 3
	Minor (reclaiming a frame) page faults: 946764
	Voluntary context switches: 120974
	Involuntary context switches: 63443
	Swaps: 0
	File system inputs: 2072
	File system outputs: 12352
	Socket messages sent: 0
	Socket messages received: 0
	Signals delivered: 0
	Page size (bytes): 4096
	Exit status: 0
============================= test session starts ==============================
platform linux -- Python 3.11.16, pytest-8.4.2, pluggy-1.6.0
rootdir: /home/runner/work/JAXAtari/JAXAtari
configfile: pyproject.toml
plugins: sugar-1.1.1, github-actions-annotate-failures-0.4.2, syrupy-4.9.1, xdist-3.8.0
collected 131 items / 126 deselected / 5 selected

tests/test_all_mods.py s                                                 [ 20%]
tests/test_core_and_wrappers.py ::error file=tests/test_core_and_wrappers.py,line=224::test_native_downscaling_hot_swap[kungfumaster]%0A%0AAssertionError: Reset observation shape mismatch. Got (4, 210, 160, 3)%0Aassert (4, 210, 160, 3) == (4, 84, 84, 3)%0A  %0A  At index 1 diff: 210 != 84%0A  %0A  Full diff:%0A    (%0A        4,%0A  -     84,%0A  -     84,%0A  +     210,%0A  +     160,%0A        3,%0A    )
F::error file=tests/test_core_and_wrappers.py,line=289::test_native_downscaling_grayscale[kungfumaster]%0A%0Aassert (4, 210, 160, 3) == (4, 84, 84, 1)%0A  %0A  At index 1 diff: 210 != 84%0A  %0A  Full diff:%0A    (%0A        4,%0A  -     84,%0A  -     84,%0A  -     1,%0A  +     210,%0A  ?     + +%0A  +     160,%0A  +     3,%0A    )
F                                       [ 60%]
tests/test_all_mods.py ss                                                [100%]

=================================== FAILURES ===================================
/home/runner/work/JAXAtari/JAXAtari/tests/test_core_and_wrappers.py:276: AssertionError: Reset observation shape mismatch. Got (4, 210, 160, 3)
/home/runner/work/JAXAtari/JAXAtari/tests/test_core_and_wrappers.py:320: assert (4, 210, 160, 3) == (4, 84, 84, 1)
============================= slowest 20 durations =============================
1.31s call     tests/test_core_and_wrappers.py::test_native_downscaling_hot_swap[kungfumaster]
1.21s call     tests/test_core_and_wrappers.py::test_native_downscaling_grayscale[kungfumaster]
0.28s setup    tests/test_core_and_wrappers.py::test_native_downscaling_hot_swap[kungfumaster]
0.24s setup    tests/test_core_and_wrappers.py::test_native_downscaling_grayscale[kungfumaster]
0.07s teardown tests/test_core_and_wrappers.py::test_native_downscaling_grayscale[kungfumaster]
0.07s teardown tests/test_core_and_wrappers.py::test_native_downscaling_hot_swap[kungfumaster]
0.03s teardown tests/test_all_mods.py::TestModWithWrappers::test_representative_mod_native_downscaling
0.03s teardown tests/test_all_mods.py::test_renderer_patch_jit_staleness_fixed
0.02s teardown tests/test_all_mods.py::test_native_downscaling_clears_registered_jit_targets

(5 durations < 0.005s hidden.  Use -vv to show these durations.)
=========================== short test summary info ============================
SKIPPED [1] tests/test_all_mods.py:435: Game does not have mods registered
SKIPPED [2] tests/conftest.py:299: Skipping 'kangaroo'-only test because --game=['kungfumaster']
FAILED tests/test_core_and_wrappers.py::test_native_downscaling_hot_swap[kungfumaster] - AssertionError: Reset observation shape mismatch. Got (4, 210, 160, 3)
assert (4, 210, 160, 3) == (4, 84, 84, 3)
  
  At index 1 diff: 210 != 84
  
  Full diff:
    (
        4,
  -     84,
  -     84,
  +     210,
  +     160,
        3,
    )
FAILED tests/test_core_and_wrappers.py::test_native_downscaling_grayscale[kungfumaster] - assert (4, 210, 160, 3) == (4, 84, 84, 1)
  
  At index 1 diff: 210 != 84
  
  Full diff:
    (
        4,
  -     84,
  -     84,
  -     1,
  +     210,
  ?     + +
  +     160,
  +     3,
    )
================= 2 failed, 3 skipped, 126 deselected in 3.53s =================
Command exited with non-zero status 1
	Command being timed: "pytest --game kungfumaster --snapshot-warn-unused --tb=line -ra --durations=20 --color=yes -m serial tests/"
	User time (seconds): 5.79
	System time (seconds): 0.28
	Percent of CPU this job got: 136%
	Elapsed (wall clock) time (h:mm:ss or m:ss): 0:04.46
	Average shared text size (kbytes): 0
	Average unshared data size (kbytes): 0
	Average stack size (kbytes): 0
	Average total size (kbytes): 0
	Maximum resident set size (kbytes): 371188
	Average resident set size (kbytes): 0
	Major (requiring I/O) page faults: 0
	Minor (reclaiming a frame) page faults: 79970
	Voluntary context switches: 1905
	Involuntary context switches: 562
	Swaps: 0
	File system inputs: 0
	File system outputs: 24
	Socket messages sent: 0
	Socket messages received: 0
	Signals delivered: 0
	Page size (bytes): 4096
	Exit status: 1


This log was automatically created at 2026-09-04 11:37:13 UTC.

@vamsi-dev-coder
vamsi-dev-coder force-pushed the kungfumaster-integration branch from bfd183b to c5d9c7c Compare September 4, 2026 11:38
@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
📁 Previous CI results (run #33869401076)

Test Report

This comment was generated automatically by a GitHub Action. It summarizes the test results for this pull request. The GitHub Action run can be found here:

https://github.com/k4ntz/JAXAtari/actions/runs/33868942637

Base Branch ✅

The PR's base branch is dev.
The expected base branch is dev.

Changed Files ✅

There are no forbidden file changes. Nice 👍

Framework Tests ❌

Some framework tests failed. Please check the details below:

kungfumaster ❌
============================= test session starts ==============================
platform linux -- Python 3.11.16, pytest-8.4.2, pluggy-1.6.0
rootdir: /home/runner/work/JAXAtari/JAXAtari
configfile: pyproject.toml
plugins: sugar-1.1.1, github-actions-annotate-failures-0.4.2, syrupy-4.9.1, xdist-3.8.0
created: 2/2 workers
2 workers [68 items]

ssss.......::warning file=.venv/lib/python3.11/site-packages/pygame/pkgdata.py,line=25::pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
ssssssssssss.....s........ss................s.........ss.     [100%]
=============================== warnings summary ===============================
tests/test_all_mods.py::test_no_duplicate_mod_keys
  /home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/pygame/pkgdata.py:25: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
    from pkg_resources import resource_stream, resource_exists

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
============================= slowest 20 durations =============================
42.28s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_normalize_observation_wrapper[kungfumaster]
21.20s call     tests/test_core_and_wrappers.py::test_flatten_observation_wrapper[kungfumaster]
14.96s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_atari_wrapper_features[kungfumaster]
13.75s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_log_wrapper_tracking[kungfumaster]
13.20s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_multi_reward_log_wrapper[kungfumaster]
10.58s call     tests/test_core_and_wrappers.py::test_log_wrapper_with_flatten_observation[kungfumaster]
10.24s call     tests/test_core_and_wrappers.py::test_pixel_obs_wrapper_with_stacked_frames[kungfumaster]
9.97s call     tests/test_environment_compatibility.py::TestJaxTransforms::test_jit_compilation[Pixel-kungfumaster]
8.94s call     tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapped_reset_and_step[Pixel-kungfumaster]
8.11s call     tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapped_reset_and_step[LoggedFlattenedPixelAndObject-kungfumaster]
7.99s call     tests/test_all_mods.py::test_no_duplicate_mod_keys
7.86s call     tests/test_core_and_wrappers.py::test_object_centric_wrapper[kungfumaster]
7.59s call     tests/test_environment_compatibility.py::TestJaxTransforms::test_jit_compilation[LoggedFlattenedPixelAndObject-kungfumaster]
6.90s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_flatten_observation_wrapper_space_structure[kungfumaster]
4.06s call     tests/test_core_and_wrappers.py::test_pixel_and_object_centric_wrapper[kungfumaster]
3.72s call     tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_step_method[kungfumaster]
3.17s call     tests/test_environment_compatibility.py::TestEdgeCasesAndErrorHandling::test_invalid_action_handling[kungfumaster]
3.12s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_log_wrapper_edge_cases[kungfumaster]
2.89s call     tests/test_environment_compatibility.py::TestEdgeCasesAndErrorHandling::test_state_serialization[kungfumaster]
2.72s call     tests/test_funcenv_adapter.py::TestJaxTransforms::test_jittable_transition[kungfumaster]
=========================== short test summary info ============================
SKIPPED [1] tests/test_all_mods.py:243: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:348: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:372: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:389: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:746: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:769: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:797: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:802: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:861: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:877: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:895: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:915: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:935: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:957: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:970: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:992: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/conftest.py:299: Skipping 'kangaroo'-only test because --game=['kungfumaster']
SKIPPED [2] tests/test_environment_compatibility.py:496: Skipping to debug memory issues in CI
SKIPPED [2] tests/test_environment_compatibility.py:536: Skipping to debug memory issues in CI
SKIPPED [1] tests/test_funcenv_adapter.py:165: Skipping to debug memory issues in CI
============ 46 passed, 22 skipped, 1 warning in 153.46s (0:02:33) =============
	Command being timed: "pytest -n 2 --dist=loadfile --game kungfumaster --snapshot-warn-unused --tb=line -ra --durations=20 --color=yes -m not serial tests/"
	User time (seconds): 404.95
	System time (seconds): 8.44
	Percent of CPU this job got: 266%
	Elapsed (wall clock) time (h:mm:ss or m:ss): 2:35.15
	Average shared text size (kbytes): 0
	Average unshared data size (kbytes): 0
	Average stack size (kbytes): 0
	Average total size (kbytes): 0
	Maximum resident set size (kbytes): 1718500
	Average resident set size (kbytes): 0
	Major (requiring I/O) page faults: 4
	Minor (reclaiming a frame) page faults: 934301
	Voluntary context switches: 111743
	Involuntary context switches: 77377
	Swaps: 0
	File system inputs: 2352
	File system outputs: 11864
	Socket messages sent: 0
	Socket messages received: 0
	Signals delivered: 0
	Page size (bytes): 4096
	Exit status: 0
============================= test session starts ==============================
platform linux -- Python 3.11.16, pytest-8.4.2, pluggy-1.6.0
rootdir: /home/runner/work/JAXAtari/JAXAtari
configfile: pyproject.toml
plugins: sugar-1.1.1, github-actions-annotate-failures-0.4.2, syrupy-4.9.1, xdist-3.8.0
collected 131 items / 126 deselected / 5 selected

tests/test_all_mods.py s                                                 [ 20%]
tests/test_core_and_wrappers.py ::error file=tests/test_core_and_wrappers.py,line=224::test_native_downscaling_hot_swap[kungfumaster]%0A%0AAssertionError: Reset observation shape mismatch. Got (4, 210, 160, 3)%0Aassert (4, 210, 160, 3) == (4, 84, 84, 3)%0A  %0A  At index 1 diff: 210 != 84%0A  %0A  Full diff:%0A    (%0A        4,%0A  -     84,%0A  -     84,%0A  +     210,%0A  +     160,%0A        3,%0A    )
F::error file=tests/test_core_and_wrappers.py,line=289::test_native_downscaling_grayscale[kungfumaster]%0A%0Aassert (4, 210, 160, 3) == (4, 84, 84, 1)%0A  %0A  At index 1 diff: 210 != 84%0A  %0A  Full diff:%0A    (%0A        4,%0A  -     84,%0A  -     84,%0A  -     1,%0A  +     210,%0A  ?     + +%0A  +     160,%0A  +     3,%0A    )
F                                       [ 60%]
tests/test_all_mods.py ss                                                [100%]

=================================== FAILURES ===================================
/home/runner/work/JAXAtari/JAXAtari/tests/test_core_and_wrappers.py:276: AssertionError: Reset observation shape mismatch. Got (4, 210, 160, 3)
/home/runner/work/JAXAtari/JAXAtari/tests/test_core_and_wrappers.py:320: assert (4, 210, 160, 3) == (4, 84, 84, 1)
============================= slowest 20 durations =============================
1.69s call     tests/test_core_and_wrappers.py::test_native_downscaling_grayscale[kungfumaster]
1.61s call     tests/test_core_and_wrappers.py::test_native_downscaling_hot_swap[kungfumaster]
0.39s setup    tests/test_core_and_wrappers.py::test_native_downscaling_hot_swap[kungfumaster]
0.31s setup    tests/test_core_and_wrappers.py::test_native_downscaling_grayscale[kungfumaster]
0.12s teardown tests/test_core_and_wrappers.py::test_native_downscaling_grayscale[kungfumaster]
0.11s teardown tests/test_core_and_wrappers.py::test_native_downscaling_hot_swap[kungfumaster]
0.08s teardown tests/test_all_mods.py::test_native_downscaling_clears_registered_jit_targets
0.08s teardown tests/test_all_mods.py::test_renderer_patch_jit_staleness_fixed
0.07s teardown tests/test_all_mods.py::TestModWithWrappers::test_representative_mod_native_downscaling

(5 durations < 0.005s hidden.  Use -vv to show these durations.)
=========================== short test summary info ============================
SKIPPED [1] tests/test_all_mods.py:435: Game does not have mods registered
SKIPPED [2] tests/conftest.py:299: Skipping 'kangaroo'-only test because --game=['kungfumaster']
FAILED tests/test_core_and_wrappers.py::test_native_downscaling_hot_swap[kungfumaster] - AssertionError: Reset observation shape mismatch. Got (4, 210, 160, 3)
assert (4, 210, 160, 3) == (4, 84, 84, 3)
  
  At index 1 diff: 210 != 84
  
  Full diff:
    (
        4,
  -     84,
  -     84,
  +     210,
  +     160,
        3,
    )
FAILED tests/test_core_and_wrappers.py::test_native_downscaling_grayscale[kungfumaster] - assert (4, 210, 160, 3) == (4, 84, 84, 1)
  
  At index 1 diff: 210 != 84
  
  Full diff:
    (
        4,
  -     84,
  -     84,
  -     1,
  +     210,
  ?     + +
  +     160,
  +     3,
    )
================= 2 failed, 3 skipped, 126 deselected in 4.83s =================
Command exited with non-zero status 1
	Command being timed: "pytest --game kungfumaster --snapshot-warn-unused --tb=line -ra --durations=20 --color=yes -m serial tests/"
	User time (seconds): 7.84
	System time (seconds): 0.56
	Percent of CPU this job got: 130%
	Elapsed (wall clock) time (h:mm:ss or m:ss): 0:06.44
	Average shared text size (kbytes): 0
	Average unshared data size (kbytes): 0
	Average stack size (kbytes): 0
	Average total size (kbytes): 0
	Maximum resident set size (kbytes): 370012
	Average resident set size (kbytes): 0
	Major (requiring I/O) page faults: 0
	Minor (reclaiming a frame) page faults: 79716
	Voluntary context switches: 1835
	Involuntary context switches: 509
	Swaps: 0
	File system inputs: 0
	File system outputs: 24
	Socket messages sent: 0
	Socket messages received: 0
	Signals delivered: 0
	Page size (bytes): 4096
	Exit status: 1


This log was automatically created at 2026-09-04 11:43:23 UTC.

@vamsi-dev-coder
vamsi-dev-coder force-pushed the kungfumaster-integration branch from c5d9c7c to ee0cd37 Compare September 4, 2026 11:44
@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
📁 Previous CI results (run #33869856356)

Test Report

This comment was generated automatically by a GitHub Action. It summarizes the test results for this pull request. The GitHub Action run can be found here:

https://github.com/k4ntz/JAXAtari/actions/runs/33869401076

Base Branch ✅

The PR's base branch is dev.
The expected base branch is dev.

Changed Files ✅

There are no forbidden file changes. Nice 👍

Framework Tests ❌

Some framework tests failed. Please check the details below:

kungfumaster ❌
============================= test session starts ==============================
platform linux -- Python 3.11.16, pytest-8.4.2, pluggy-1.6.0
rootdir: /home/runner/work/JAXAtari/JAXAtari
configfile: pyproject.toml
plugins: sugar-1.1.1, github-actions-annotate-failures-0.4.2, syrupy-4.9.1, xdist-3.8.0
created: 2/2 workers
2 workers [68 items]

ssss.....::warning file=.venv/lib/python3.11/site-packages/pygame/pkgdata.py,line=25::pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
..ssssssssssss.....s...........ss.............s.........ss.     [100%]
=============================== warnings summary ===============================
tests/test_all_mods.py::test_no_duplicate_mod_keys
  /home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/pygame/pkgdata.py:25: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
    from pkg_resources import resource_stream, resource_exists

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
============================= slowest 20 durations =============================
40.07s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_normalize_observation_wrapper[kungfumaster]
20.63s call     tests/test_core_and_wrappers.py::test_flatten_observation_wrapper[kungfumaster]
14.17s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_atari_wrapper_features[kungfumaster]
13.24s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_log_wrapper_tracking[kungfumaster]
12.29s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_multi_reward_log_wrapper[kungfumaster]
10.52s call     tests/test_core_and_wrappers.py::test_log_wrapper_with_flatten_observation[kungfumaster]
10.21s call     tests/test_core_and_wrappers.py::test_pixel_obs_wrapper_with_stacked_frames[kungfumaster]
10.14s call     tests/test_environment_compatibility.py::TestJaxTransforms::test_jit_compilation[Pixel-kungfumaster]
8.67s call     tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapped_reset_and_step[Pixel-kungfumaster]
7.96s call     tests/test_core_and_wrappers.py::test_object_centric_wrapper[kungfumaster]
7.74s call     tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapped_reset_and_step[LoggedFlattenedPixelAndObject-kungfumaster]
7.54s call     tests/test_all_mods.py::test_no_duplicate_mod_keys
7.24s call     tests/test_environment_compatibility.py::TestJaxTransforms::test_jit_compilation[LoggedFlattenedPixelAndObject-kungfumaster]
7.10s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_flatten_observation_wrapper_space_structure[kungfumaster]
3.84s call     tests/test_core_and_wrappers.py::test_pixel_and_object_centric_wrapper[kungfumaster]
3.48s call     tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_step_method[kungfumaster]
3.10s call     tests/test_environment_compatibility.py::TestEdgeCasesAndErrorHandling::test_invalid_action_handling[kungfumaster]
3.06s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_log_wrapper_edge_cases[kungfumaster]
2.80s call     tests/test_environment_compatibility.py::TestEdgeCasesAndErrorHandling::test_state_serialization[kungfumaster]
2.69s call     tests/test_funcenv_adapter.py::TestJaxTransforms::test_jittable_transition[kungfumaster]
=========================== short test summary info ============================
SKIPPED [1] tests/test_all_mods.py:243: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:348: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:372: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:389: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:746: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:769: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:797: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:802: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:861: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:877: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:895: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:915: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:935: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:957: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:970: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:992: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/conftest.py:299: Skipping 'kangaroo'-only test because --game=['kungfumaster']
SKIPPED [2] tests/test_environment_compatibility.py:496: Skipping to debug memory issues in CI
SKIPPED [2] tests/test_environment_compatibility.py:536: Skipping to debug memory issues in CI
SKIPPED [1] tests/test_funcenv_adapter.py:165: Skipping to debug memory issues in CI
============ 46 passed, 22 skipped, 1 warning in 146.57s (0:02:26) =============
	Command being timed: "pytest -n 2 --dist=loadfile --game kungfumaster --snapshot-warn-unused --tb=line -ra --durations=20 --color=yes -m not serial tests/"
	User time (seconds): 399.24
	System time (seconds): 7.26
	Percent of CPU this job got: 274%
	Elapsed (wall clock) time (h:mm:ss or m:ss): 2:27.94
	Average shared text size (kbytes): 0
	Average unshared data size (kbytes): 0
	Average stack size (kbytes): 0
	Average total size (kbytes): 0
	Maximum resident set size (kbytes): 1731088
	Average resident set size (kbytes): 0
	Major (requiring I/O) page faults: 3
	Minor (reclaiming a frame) page faults: 936597
	Voluntary context switches: 105131
	Involuntary context switches: 80222
	Swaps: 0
	File system inputs: 2336
	File system outputs: 11624
	Socket messages sent: 0
	Socket messages received: 0
	Signals delivered: 0
	Page size (bytes): 4096
	Exit status: 0
============================= test session starts ==============================
platform linux -- Python 3.11.16, pytest-8.4.2, pluggy-1.6.0
rootdir: /home/runner/work/JAXAtari/JAXAtari
configfile: pyproject.toml
plugins: sugar-1.1.1, github-actions-annotate-failures-0.4.2, syrupy-4.9.1, xdist-3.8.0
collected 131 items / 126 deselected / 5 selected

tests/test_all_mods.py s                                                 [ 20%]
tests/test_core_and_wrappers.py ::error file=tests/test_core_and_wrappers.py,line=224::test_native_downscaling_hot_swap[kungfumaster]%0A%0AAssertionError: Reset observation shape mismatch. Got (4, 210, 160, 3)%0Aassert (4, 210, 160, 3) == (4, 84, 84, 3)%0A  %0A  At index 1 diff: 210 != 84%0A  %0A  Full diff:%0A    (%0A        4,%0A  -     84,%0A  -     84,%0A  +     210,%0A  +     160,%0A        3,%0A    )
F::error file=tests/test_core_and_wrappers.py,line=289::test_native_downscaling_grayscale[kungfumaster]%0A%0Aassert (4, 210, 160, 3) == (4, 84, 84, 1)%0A  %0A  At index 1 diff: 210 != 84%0A  %0A  Full diff:%0A    (%0A        4,%0A  -     84,%0A  -     84,%0A  -     1,%0A  +     210,%0A  ?     + +%0A  +     160,%0A  +     3,%0A    )
F                                       [ 60%]
tests/test_all_mods.py ss                                                [100%]

=================================== FAILURES ===================================
/home/runner/work/JAXAtari/JAXAtari/tests/test_core_and_wrappers.py:276: AssertionError: Reset observation shape mismatch. Got (4, 210, 160, 3)
/home/runner/work/JAXAtari/JAXAtari/tests/test_core_and_wrappers.py:320: assert (4, 210, 160, 3) == (4, 84, 84, 1)
============================= slowest 20 durations =============================
1.71s call     tests/test_core_and_wrappers.py::test_native_downscaling_hot_swap[kungfumaster]
1.65s call     tests/test_core_and_wrappers.py::test_native_downscaling_grayscale[kungfumaster]
0.36s setup    tests/test_core_and_wrappers.py::test_native_downscaling_hot_swap[kungfumaster]
0.27s setup    tests/test_core_and_wrappers.py::test_native_downscaling_grayscale[kungfumaster]
0.09s teardown tests/test_core_and_wrappers.py::test_native_downscaling_hot_swap[kungfumaster]
0.08s teardown tests/test_core_and_wrappers.py::test_native_downscaling_grayscale[kungfumaster]
0.06s teardown tests/test_all_mods.py::TestModWithWrappers::test_representative_mod_native_downscaling
0.04s teardown tests/test_all_mods.py::test_renderer_patch_jit_staleness_fixed
0.04s teardown tests/test_all_mods.py::test_native_downscaling_clears_registered_jit_targets

(5 durations < 0.005s hidden.  Use -vv to show these durations.)
=========================== short test summary info ============================
SKIPPED [1] tests/test_all_mods.py:435: Game does not have mods registered
SKIPPED [2] tests/conftest.py:299: Skipping 'kangaroo'-only test because --game=['kungfumaster']
FAILED tests/test_core_and_wrappers.py::test_native_downscaling_hot_swap[kungfumaster] - AssertionError: Reset observation shape mismatch. Got (4, 210, 160, 3)
assert (4, 210, 160, 3) == (4, 84, 84, 3)
  
  At index 1 diff: 210 != 84
  
  Full diff:
    (
        4,
  -     84,
  -     84,
  +     210,
  +     160,
        3,
    )
FAILED tests/test_core_and_wrappers.py::test_native_downscaling_grayscale[kungfumaster] - assert (4, 210, 160, 3) == (4, 84, 84, 1)
  
  At index 1 diff: 210 != 84
  
  Full diff:
    (
        4,
  -     84,
  -     84,
  -     1,
  +     210,
  ?     + +
  +     160,
  +     3,
    )
================= 2 failed, 3 skipped, 126 deselected in 4.66s =================
Command exited with non-zero status 1
	Command being timed: "pytest --game kungfumaster --snapshot-warn-unused --tb=line -ra --durations=20 --color=yes -m serial tests/"
	User time (seconds): 7.48
	System time (seconds): 0.50
	Percent of CPU this job got: 134%
	Elapsed (wall clock) time (h:mm:ss or m:ss): 0:05.94
	Average shared text size (kbytes): 0
	Average unshared data size (kbytes): 0
	Average stack size (kbytes): 0
	Average total size (kbytes): 0
	Maximum resident set size (kbytes): 370764
	Average resident set size (kbytes): 0
	Major (requiring I/O) page faults: 0
	Minor (reclaiming a frame) page faults: 79975
	Voluntary context switches: 1831
	Involuntary context switches: 634
	Swaps: 0
	File system inputs: 0
	File system outputs: 24
	Socket messages sent: 0
	Socket messages received: 0
	Signals delivered: 0
	Page size (bytes): 4096
	Exit status: 1


This log was automatically created at 2026-09-04 11:49:15 UTC.

@vamsi-dev-coder
vamsi-dev-coder force-pushed the kungfumaster-integration branch from ee0cd37 to 9e238b1 Compare September 4, 2026 11:50
@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
📁 Previous CI results (run #33870310042)

Test Report

This comment was generated automatically by a GitHub Action. It summarizes the test results for this pull request. The GitHub Action run can be found here:

https://github.com/k4ntz/JAXAtari/actions/runs/33869856356

Base Branch ✅

The PR's base branch is dev.
The expected base branch is dev.

Changed Files ✅

There are no forbidden file changes. Nice 👍

Framework Tests ❌

Some framework tests failed. Please check the details below:

kungfumaster ❌
============================= test session starts ==============================
platform linux -- Python 3.11.16, pytest-8.4.2, pluggy-1.6.0
rootdir: /home/runner/work/JAXAtari/JAXAtari
configfile: pyproject.toml
plugins: sugar-1.1.1, github-actions-annotate-failures-0.4.2, syrupy-4.9.1, xdist-3.8.0
created: 2/2 workers
2 workers [68 items]

ssss......::warning file=.venv/lib/python3.11/site-packages/pygame/pkgdata.py,line=25::pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
.ssssssssssss.....s.........ss...............s.........ss.     [100%]
=============================== warnings summary ===============================
tests/test_all_mods.py::test_no_duplicate_mod_keys
  /home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/pygame/pkgdata.py:25: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
    from pkg_resources import resource_stream, resource_exists

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
============================= slowest 20 durations =============================
39.96s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_normalize_observation_wrapper[kungfumaster]
20.70s call     tests/test_core_and_wrappers.py::test_flatten_observation_wrapper[kungfumaster]
14.02s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_atari_wrapper_features[kungfumaster]
13.41s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_log_wrapper_tracking[kungfumaster]
12.23s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_multi_reward_log_wrapper[kungfumaster]
10.64s call     tests/test_core_and_wrappers.py::test_log_wrapper_with_flatten_observation[kungfumaster]
10.29s call     tests/test_core_and_wrappers.py::test_pixel_obs_wrapper_with_stacked_frames[kungfumaster]
10.23s call     tests/test_environment_compatibility.py::TestJaxTransforms::test_jit_compilation[Pixel-kungfumaster]
8.49s call     tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapped_reset_and_step[Pixel-kungfumaster]
7.74s call     tests/test_core_and_wrappers.py::test_object_centric_wrapper[kungfumaster]
7.69s call     tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapped_reset_and_step[LoggedFlattenedPixelAndObject-kungfumaster]
7.42s call     tests/test_all_mods.py::test_no_duplicate_mod_keys
7.25s call     tests/test_environment_compatibility.py::TestJaxTransforms::test_jit_compilation[LoggedFlattenedPixelAndObject-kungfumaster]
6.38s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_flatten_observation_wrapper_space_structure[kungfumaster]
3.92s call     tests/test_core_and_wrappers.py::test_pixel_and_object_centric_wrapper[kungfumaster]
3.12s call     tests/test_environment_compatibility.py::TestEdgeCasesAndErrorHandling::test_invalid_action_handling[kungfumaster]
3.08s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_log_wrapper_edge_cases[kungfumaster]
2.92s call     tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_step_method[kungfumaster]
2.76s call     tests/test_environment_compatibility.py::TestEdgeCasesAndErrorHandling::test_state_serialization[kungfumaster]
2.13s call     tests/test_environment_compatibility.py::TestBasicAPI::test_spaces[kungfumaster]
=========================== short test summary info ============================
SKIPPED [1] tests/test_all_mods.py:243: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:348: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:372: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:389: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:746: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:769: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:797: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:802: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:861: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:877: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:895: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:915: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:935: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:957: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:970: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:992: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/conftest.py:299: Skipping 'kangaroo'-only test because --game=['kungfumaster']
SKIPPED [2] tests/test_environment_compatibility.py:496: Skipping to debug memory issues in CI
SKIPPED [2] tests/test_environment_compatibility.py:536: Skipping to debug memory issues in CI
SKIPPED [1] tests/test_funcenv_adapter.py:165: Skipping to debug memory issues in CI
============ 46 passed, 22 skipped, 1 warning in 145.27s (0:02:25) =============
	Command being timed: "pytest -n 2 --dist=loadfile --game kungfumaster --snapshot-warn-unused --tb=line -ra --durations=20 --color=yes -m not serial tests/"
	User time (seconds): 398.53
	System time (seconds): 7.47
	Percent of CPU this job got: 275%
	Elapsed (wall clock) time (h:mm:ss or m:ss): 2:27.12
	Average shared text size (kbytes): 0
	Average unshared data size (kbytes): 0
	Average stack size (kbytes): 0
	Average total size (kbytes): 0
	Maximum resident set size (kbytes): 1731792
	Average resident set size (kbytes): 0
	Major (requiring I/O) page faults: 4
	Minor (reclaiming a frame) page faults: 947718
	Voluntary context switches: 106926
	Involuntary context switches: 82201
	Swaps: 0
	File system inputs: 2072
	File system outputs: 12128
	Socket messages sent: 0
	Socket messages received: 0
	Signals delivered: 0
	Page size (bytes): 4096
	Exit status: 0
============================= test session starts ==============================
platform linux -- Python 3.11.16, pytest-8.4.2, pluggy-1.6.0
rootdir: /home/runner/work/JAXAtari/JAXAtari
configfile: pyproject.toml
plugins: sugar-1.1.1, github-actions-annotate-failures-0.4.2, syrupy-4.9.1, xdist-3.8.0
collected 131 items / 126 deselected / 5 selected

tests/test_all_mods.py s                                                 [ 20%]
tests/test_core_and_wrappers.py ::error file=tests/test_core_and_wrappers.py,line=224::test_native_downscaling_hot_swap[kungfumaster]%0A%0AAssertionError: Reset observation shape mismatch. Got (4, 210, 160, 3)%0Aassert (4, 210, 160, 3) == (4, 84, 84, 3)%0A  %0A  At index 1 diff: 210 != 84%0A  %0A  Full diff:%0A    (%0A        4,%0A  -     84,%0A  -     84,%0A  +     210,%0A  +     160,%0A        3,%0A    )
F::error file=tests/test_core_and_wrappers.py,line=289::test_native_downscaling_grayscale[kungfumaster]%0A%0Aassert (4, 210, 160, 3) == (4, 84, 84, 1)%0A  %0A  At index 1 diff: 210 != 84%0A  %0A  Full diff:%0A    (%0A        4,%0A  -     84,%0A  -     84,%0A  -     1,%0A  +     210,%0A  ?     + +%0A  +     160,%0A  +     3,%0A    )
F                                       [ 60%]
tests/test_all_mods.py ss                                                [100%]

=================================== FAILURES ===================================
/home/runner/work/JAXAtari/JAXAtari/tests/test_core_and_wrappers.py:276: AssertionError: Reset observation shape mismatch. Got (4, 210, 160, 3)
/home/runner/work/JAXAtari/JAXAtari/tests/test_core_and_wrappers.py:320: assert (4, 210, 160, 3) == (4, 84, 84, 1)
============================= slowest 20 durations =============================
1.66s call     tests/test_core_and_wrappers.py::test_native_downscaling_hot_swap[kungfumaster]
1.61s call     tests/test_core_and_wrappers.py::test_native_downscaling_grayscale[kungfumaster]
0.34s setup    tests/test_core_and_wrappers.py::test_native_downscaling_hot_swap[kungfumaster]
0.26s setup    tests/test_core_and_wrappers.py::test_native_downscaling_grayscale[kungfumaster]
0.08s teardown tests/test_core_and_wrappers.py::test_native_downscaling_grayscale[kungfumaster]
0.08s teardown tests/test_core_and_wrappers.py::test_native_downscaling_hot_swap[kungfumaster]
0.04s teardown tests/test_all_mods.py::TestModWithWrappers::test_representative_mod_native_downscaling
0.04s teardown tests/test_all_mods.py::test_native_downscaling_clears_registered_jit_targets
0.04s teardown tests/test_all_mods.py::test_renderer_patch_jit_staleness_fixed

(5 durations < 0.005s hidden.  Use -vv to show these durations.)
=========================== short test summary info ============================
SKIPPED [1] tests/test_all_mods.py:435: Game does not have mods registered
SKIPPED [2] tests/conftest.py:299: Skipping 'kangaroo'-only test because --game=['kungfumaster']
FAILED tests/test_core_and_wrappers.py::test_native_downscaling_hot_swap[kungfumaster] - AssertionError: Reset observation shape mismatch. Got (4, 210, 160, 3)
assert (4, 210, 160, 3) == (4, 84, 84, 3)
  
  At index 1 diff: 210 != 84
  
  Full diff:
    (
        4,
  -     84,
  -     84,
  +     210,
  +     160,
        3,
    )
FAILED tests/test_core_and_wrappers.py::test_native_downscaling_grayscale[kungfumaster] - assert (4, 210, 160, 3) == (4, 84, 84, 1)
  
  At index 1 diff: 210 != 84
  
  Full diff:
    (
        4,
  -     84,
  -     84,
  -     1,
  +     210,
  ?     + +
  +     160,
  +     3,
    )
================= 2 failed, 3 skipped, 126 deselected in 4.51s =================
Command exited with non-zero status 1
	Command being timed: "pytest --game kungfumaster --snapshot-warn-unused --tb=line -ra --durations=20 --color=yes -m serial tests/"
	User time (seconds): 7.36
	System time (seconds): 0.50
	Percent of CPU this job got: 136%
	Elapsed (wall clock) time (h:mm:ss or m:ss): 0:05.74
	Average shared text size (kbytes): 0
	Average unshared data size (kbytes): 0
	Average stack size (kbytes): 0
	Average total size (kbytes): 0
	Maximum resident set size (kbytes): 371096
	Average resident set size (kbytes): 0
	Major (requiring I/O) page faults: 0
	Minor (reclaiming a frame) page faults: 80069
	Voluntary context switches: 1860
	Involuntary context switches: 489
	Swaps: 0
	File system inputs: 0
	File system outputs: 24
	Socket messages sent: 0
	Socket messages received: 0
	Signals delivered: 0
	Page size (bytes): 4096
	Exit status: 1


This log was automatically created at 2026-09-04 11:55:15 UTC.

@vamsi-dev-coder
vamsi-dev-coder force-pushed the kungfumaster-integration branch from 9e238b1 to 6dda1bb Compare September 4, 2026 11:56
@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
📁 Previous CI results (run #33871880209)

Test Report

This comment was generated automatically by a GitHub Action. It summarizes the test results for this pull request. The GitHub Action run can be found here:

https://github.com/k4ntz/JAXAtari/actions/runs/33870310042

Base Branch ✅

The PR's base branch is dev.
The expected base branch is dev.

Changed Files ✅

There are no forbidden file changes. Nice 👍

Framework Tests ❌

Some framework tests failed. Please check the details below:

kungfumaster ❌
============================= test session starts ==============================
platform linux -- Python 3.11.16, pytest-8.4.2, pluggy-1.6.0
rootdir: /home/runner/work/JAXAtari/JAXAtari
configfile: pyproject.toml
plugins: sugar-1.1.1, github-actions-annotate-failures-0.4.2, syrupy-4.9.1, xdist-3.8.0
created: 2/2 workers
2 workers [68 items]

ssss.....::warning file=.venv/lib/python3.11/site-packages/pygame/pkgdata.py,line=25::pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
..ssssssssssss.....s.............ss...........s.........ss.     [100%]
=============================== warnings summary ===============================
tests/test_all_mods.py::test_no_duplicate_mod_keys
  /home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/pygame/pkgdata.py:25: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
    from pkg_resources import resource_stream, resource_exists

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
============================= slowest 20 durations =============================
26.88s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_normalize_observation_wrapper[kungfumaster]
13.58s call     tests/test_core_and_wrappers.py::test_flatten_observation_wrapper[kungfumaster]
10.07s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_atari_wrapper_features[kungfumaster]
9.02s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_log_wrapper_tracking[kungfumaster]
8.52s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_multi_reward_log_wrapper[kungfumaster]
7.13s call     tests/test_core_and_wrappers.py::test_log_wrapper_with_flatten_observation[kungfumaster]
6.45s call     tests/test_core_and_wrappers.py::test_pixel_obs_wrapper_with_stacked_frames[kungfumaster]
6.34s call     tests/test_environment_compatibility.py::TestJaxTransforms::test_jit_compilation[Pixel-kungfumaster]
5.77s call     tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapped_reset_and_step[Pixel-kungfumaster]
5.39s call     tests/test_core_and_wrappers.py::test_object_centric_wrapper[kungfumaster]
5.33s call     tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapped_reset_and_step[LoggedFlattenedPixelAndObject-kungfumaster]
5.04s call     tests/test_environment_compatibility.py::TestJaxTransforms::test_jit_compilation[LoggedFlattenedPixelAndObject-kungfumaster]
4.82s call     tests/test_all_mods.py::test_no_duplicate_mod_keys
4.53s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_flatten_observation_wrapper_space_structure[kungfumaster]
2.62s call     tests/test_core_and_wrappers.py::test_pixel_and_object_centric_wrapper[kungfumaster]
2.25s call     tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_step_method[kungfumaster]
2.15s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_log_wrapper_edge_cases[kungfumaster]
2.12s call     tests/test_environment_compatibility.py::TestEdgeCasesAndErrorHandling::test_invalid_action_handling[kungfumaster]
1.91s call     tests/test_environment_compatibility.py::TestEdgeCasesAndErrorHandling::test_state_serialization[kungfumaster]
1.62s call     tests/test_funcenv_adapter.py::TestJaxTransforms::test_jittable_transition[kungfumaster]
=========================== short test summary info ============================
SKIPPED [1] tests/test_all_mods.py:243: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:348: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:372: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:389: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:746: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:769: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:797: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:802: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:861: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:877: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:895: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:915: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:935: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:957: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:970: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:992: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/conftest.py:299: Skipping 'kangaroo'-only test because --game=['kungfumaster']
SKIPPED [2] tests/test_environment_compatibility.py:496: Skipping to debug memory issues in CI
SKIPPED [2] tests/test_environment_compatibility.py:536: Skipping to debug memory issues in CI
SKIPPED [1] tests/test_funcenv_adapter.py:165: Skipping to debug memory issues in CI
============= 46 passed, 22 skipped, 1 warning in 99.76s (0:01:39) =============
	Command being timed: "pytest -n 2 --dist=loadfile --game kungfumaster --snapshot-warn-unused --tb=line -ra --durations=20 --color=yes -m not serial tests/"
	User time (seconds): 261.70
	System time (seconds): 4.62
	Percent of CPU this job got: 264%
	Elapsed (wall clock) time (h:mm:ss or m:ss): 1:40.71
	Average shared text size (kbytes): 0
	Average unshared data size (kbytes): 0
	Average stack size (kbytes): 0
	Average total size (kbytes): 0
	Maximum resident set size (kbytes): 1734020
	Average resident set size (kbytes): 0
	Major (requiring I/O) page faults: 3
	Minor (reclaiming a frame) page faults: 953756
	Voluntary context switches: 124562
	Involuntary context switches: 52021
	Swaps: 0
	File system inputs: 2072
	File system outputs: 12080
	Socket messages sent: 0
	Socket messages received: 0
	Signals delivered: 0
	Page size (bytes): 4096
	Exit status: 0
============================= test session starts ==============================
platform linux -- Python 3.11.16, pytest-8.4.2, pluggy-1.6.0
rootdir: /home/runner/work/JAXAtari/JAXAtari
configfile: pyproject.toml
plugins: sugar-1.1.1, github-actions-annotate-failures-0.4.2, syrupy-4.9.1, xdist-3.8.0
collected 131 items / 126 deselected / 5 selected

tests/test_all_mods.py s                                                 [ 20%]
tests/test_core_and_wrappers.py ::error file=tests/test_core_and_wrappers.py,line=224::test_native_downscaling_hot_swap[kungfumaster]%0A%0AAssertionError: Reset observation shape mismatch. Got (4, 210, 160, 3)%0Aassert (4, 210, 160, 3) == (4, 84, 84, 3)%0A  %0A  At index 1 diff: 210 != 84%0A  %0A  Full diff:%0A    (%0A        4,%0A  -     84,%0A  -     84,%0A  +     210,%0A  +     160,%0A        3,%0A    )
F::error file=tests/test_core_and_wrappers.py,line=289::test_native_downscaling_grayscale[kungfumaster]%0A%0Aassert (4, 210, 160, 3) == (4, 84, 84, 1)%0A  %0A  At index 1 diff: 210 != 84%0A  %0A  Full diff:%0A    (%0A        4,%0A  -     84,%0A  -     84,%0A  -     1,%0A  +     210,%0A  ?     + +%0A  +     160,%0A  +     3,%0A    )
F                                       [ 60%]
tests/test_all_mods.py ss                                                [100%]

=================================== FAILURES ===================================
/home/runner/work/JAXAtari/JAXAtari/tests/test_core_and_wrappers.py:276: AssertionError: Reset observation shape mismatch. Got (4, 210, 160, 3)
/home/runner/work/JAXAtari/JAXAtari/tests/test_core_and_wrappers.py:320: assert (4, 210, 160, 3) == (4, 84, 84, 1)
============================= slowest 20 durations =============================
1.07s call     tests/test_core_and_wrappers.py::test_native_downscaling_grayscale[kungfumaster]
1.07s call     tests/test_core_and_wrappers.py::test_native_downscaling_hot_swap[kungfumaster]
0.25s setup    tests/test_core_and_wrappers.py::test_native_downscaling_hot_swap[kungfumaster]
0.22s setup    tests/test_core_and_wrappers.py::test_native_downscaling_grayscale[kungfumaster]
0.08s teardown tests/test_core_and_wrappers.py::test_native_downscaling_hot_swap[kungfumaster]
0.08s teardown tests/test_core_and_wrappers.py::test_native_downscaling_grayscale[kungfumaster]
0.04s teardown tests/test_all_mods.py::TestModWithWrappers::test_representative_mod_native_downscaling
0.03s teardown tests/test_all_mods.py::test_renderer_patch_jit_staleness_fixed
0.02s teardown tests/test_all_mods.py::test_native_downscaling_clears_registered_jit_targets

(5 durations < 0.005s hidden.  Use -vv to show these durations.)
=========================== short test summary info ============================
SKIPPED [1] tests/test_all_mods.py:435: Game does not have mods registered
SKIPPED [2] tests/conftest.py:299: Skipping 'kangaroo'-only test because --game=['kungfumaster']
FAILED tests/test_core_and_wrappers.py::test_native_downscaling_hot_swap[kungfumaster] - AssertionError: Reset observation shape mismatch. Got (4, 210, 160, 3)
assert (4, 210, 160, 3) == (4, 84, 84, 3)
  
  At index 1 diff: 210 != 84
  
  Full diff:
    (
        4,
  -     84,
  -     84,
  +     210,
  +     160,
        3,
    )
FAILED tests/test_core_and_wrappers.py::test_native_downscaling_grayscale[kungfumaster] - assert (4, 210, 160, 3) == (4, 84, 84, 1)
  
  At index 1 diff: 210 != 84
  
  Full diff:
    (
        4,
  -     84,
  -     84,
  -     1,
  +     210,
  ?     + +
  +     160,
  +     3,
    )
================= 2 failed, 3 skipped, 126 deselected in 3.10s =================
Command exited with non-zero status 1
	Command being timed: "pytest --game kungfumaster --snapshot-warn-unused --tb=line -ra --durations=20 --color=yes -m serial tests/"
	User time (seconds): 5.06
	System time (seconds): 0.27
	Percent of CPU this job got: 135%
	Elapsed (wall clock) time (h:mm:ss or m:ss): 0:03.93
	Average shared text size (kbytes): 0
	Average unshared data size (kbytes): 0
	Average stack size (kbytes): 0
	Average total size (kbytes): 0
	Maximum resident set size (kbytes): 369436
	Average resident set size (kbytes): 0
	Major (requiring I/O) page faults: 0
	Minor (reclaiming a frame) page faults: 79562
	Voluntary context switches: 1901
	Involuntary context switches: 469
	Swaps: 0
	File system inputs: 0
	File system outputs: 24
	Socket messages sent: 0
	Socket messages received: 0
	Signals delivered: 0
	Page size (bytes): 4096
	Exit status: 1


This log was automatically created at 2026-09-04 12:00:06 UTC.

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
📁 Previous CI results (run #33874563897)

Test Report

This comment was generated automatically by a GitHub Action. It summarizes the test results for this pull request. The GitHub Action run can be found here:

https://github.com/k4ntz/JAXAtari/actions/runs/33871880209

Base Branch ✅

The PR's base branch is dev.
The expected base branch is dev.

Changed Files ✅

There are no forbidden file changes. Nice 👍

Framework Tests ✅

All framework tests passed. Good work! 🎉


This log was automatically created at 2026-09-04 12:20:19 UTC.

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
📁 Previous CI results (run #33875178504)

Test Report

This comment was generated automatically by a GitHub Action. It summarizes the test results for this pull request. The GitHub Action run can be found here:

https://github.com/k4ntz/JAXAtari/actions/runs/33874563897

Base Branch ✅

The PR's base branch is dev.
The expected base branch is dev.

Changed Files ✅

There are no forbidden file changes. Nice 👍

Framework Tests ❌

Some framework tests failed. Please check the details below:

kungfumaster ❌
============================= test session starts ==============================
platform linux -- Python 3.11.16, pytest-8.4.2, pluggy-1.6.0
rootdir: /home/runner/work/JAXAtari/JAXAtari
configfile: pyproject.toml
plugins: sugar-1.1.1, github-actions-annotate-failures-0.4.2, syrupy-4.9.1, xdist-3.8.0
created: 2/2 workers
2 workers [68 items]

ssss....::error file=tests/test_environment_compatibility.py,line=203::TestBasicAPI.test_render[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F..::error file=tests/test_environment_compatibility.py,line=307::TestWrapperCompatibility.test_wrapped_reset_and_step[Pixel-kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_environment_compatibility.py,line=337::TestWrapperCompatibility.test_observation_shape_and_type[Pixel-kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
Fss::warning file=.venv/lib/python3.11/site-packages/pygame/pkgdata.py,line=25::pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
sssss::error file=tests/test_environment_compatibility.py,line=475::TestJaxTransforms.test_jit_compilation[Pixel-kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
Fsssssss.....s....::error file=tests/test_environment_compatibility.py,line=617::TestAdvancedWrapperFeatures.test_normalize_observation_wrapper[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_environment_compatibility.py,line=664::TestAdvancedWrapperFeatures.test_log_wrapper_tracking[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_environment_compatibility.py,line=702::TestAdvancedWrapperFeatures.test_multi_reward_log_wrapper[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F........::error file=tests/test_core_and_wrappers.py,line=30::test_pixel_obs_wrapper_with_stacked_frames[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_core_and_wrappers.py,line=62::test_pixel_and_object_centric_wrapper[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F.::error file=tests/test_core_and_wrappers.py,line=132::test_flatten_observation_wrapper[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_core_and_wrappers.py,line=192::test_log_wrapper_with_flatten_observation[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_funcenv_adapter.py,line=50::TestGymnasiumApiCompliance.test_reset_method[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F.::error file=tests/test_funcenv_adapter.py,line=58::TestGymnasiumApiCompliance.test_step_method[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F.s...::error file=tests/test_environment_compatibility.py,line=930::TestEdgeCasesAndErrorHandling.test_state_serialization[kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_environment_compatibility.py,line=307::TestWrapperCompatibility.test_wrapped_reset_and_step[LoggedFlattenedPixelAndObject-kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F::error file=tests/test_environment_compatibility.py,line=337::TestWrapperCompatibility.test_observation_shape_and_type[LoggedFlattenedPixelAndObject-kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
Fss::error file=tests/test_environment_compatibility.py,line=475::TestJaxTransforms.test_jit_compilation[LoggedFlattenedPixelAndObject-kungfumaster]%0A%0AAttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'%0A--------------------%0AFor simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
F     [100%]
=================================== FAILURES ===================================
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1447: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1447: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1447: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1447: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1447: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1447: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1447: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1447: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1447: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1447: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1447: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1447: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1447: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1447: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1447: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1447: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
/home/runner/work/JAXAtari/JAXAtari/src/jaxatari/games/jax_kungfumaster.py:1447: AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
=============================== warnings summary ===============================
tests/test_all_mods.py::test_no_duplicate_mod_keys
  /home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/pygame/pkgdata.py:25: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
    from pkg_resources import resource_stream, resource_exists

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
============================= slowest 20 durations =============================
18.04s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_atari_wrapper_features[kungfumaster]
7.63s call     tests/test_core_and_wrappers.py::test_object_centric_wrapper[kungfumaster]
7.16s call     tests/test_all_mods.py::test_no_duplicate_mod_keys
5.64s call     tests/test_core_and_wrappers.py::test_flatten_observation_wrapper[kungfumaster]
5.34s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_flatten_observation_wrapper_space_structure[kungfumaster]
3.73s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_log_wrapper_edge_cases[kungfumaster]
2.94s call     tests/test_environment_compatibility.py::TestEdgeCasesAndErrorHandling::test_invalid_action_handling[kungfumaster]
2.18s call     tests/test_funcenv_adapter.py::TestJaxTransforms::test_jittable_transition[kungfumaster]
2.11s call     tests/test_environment_compatibility.py::TestBasicAPI::test_spaces[kungfumaster]
1.85s call     tests/test_environment_compatibility.py::TestBasicAPI::test_determinism[kungfumaster]
1.61s call     tests/test_environment_compatibility.py::TestBasicAPI::test_step[kungfumaster]
1.58s call     tests/test_spaces.py::test_discrete_space
1.53s call     tests/test_spaces.py::test_dict_space
1.19s call     tests/test_spaces.py::test_tuple_space
0.81s call     tests/test_spaces.py::test_box_space
0.62s setup    tests/test_environment_compatibility.py::TestEdgeCasesAndErrorHandling::test_state_serialization[kungfumaster]
0.54s call     tests/test_spaces.py::test_spaces_functionality
0.45s call     tests/test_spaces.py::test_repr
0.44s setup    tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapped_reset_and_step[Pixel-kungfumaster]
0.38s call     tests/test_core_and_wrappers.py::test_pixel_and_object_centric_wrapper[kungfumaster]
=========================== short test summary info ============================
SKIPPED [1] tests/test_all_mods.py:243: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:348: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:372: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:389: Game does not have mods registered
SKIPPED [2] tests/test_environment_compatibility.py:496: Skipping to debug memory issues in CI
SKIPPED [2] tests/test_environment_compatibility.py:536: Skipping to debug memory issues in CI
SKIPPED [1] tests/test_all_mods.py:746: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:769: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:797: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:802: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:861: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:877: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:895: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:915: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:935: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:957: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:970: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:992: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/conftest.py:299: Skipping 'kangaroo'-only test because --game=['kungfumaster']
SKIPPED [1] tests/test_funcenv_adapter.py:165: Skipping to debug memory issues in CI
FAILED tests/test_environment_compatibility.py::TestBasicAPI::test_render[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapped_reset_and_step[Pixel-kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestWrapperCompatibility::test_observation_shape_and_type[Pixel-kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestJaxTransforms::test_jit_compilation[Pixel-kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_normalize_observation_wrapper[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_log_wrapper_tracking[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_multi_reward_log_wrapper[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_core_and_wrappers.py::test_pixel_obs_wrapper_with_stacked_frames[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_core_and_wrappers.py::test_pixel_and_object_centric_wrapper[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_core_and_wrappers.py::test_flatten_observation_wrapper[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_core_and_wrappers.py::test_log_wrapper_with_flatten_observation[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_reset_method[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_step_method[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestEdgeCasesAndErrorHandling::test_state_serialization[kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapped_reset_and_step[LoggedFlattenedPixelAndObject-kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestWrapperCompatibility::test_observation_shape_and_type[LoggedFlattenedPixelAndObject-kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
FAILED tests/test_environment_compatibility.py::TestJaxTransforms::test_jit_compilation[LoggedFlattenedPixelAndObject-kungfumaster] - AttributeError: 'KungFuMasterRenderer' object has no attribute 'spr_bg'
--------------------
For simplicity, JAX has removed its internal frames from the traceback of the following exception. Set JAX_TRACEBACK_FILTERING=off to include these.
============ 17 failed, 29 passed, 22 skipped, 1 warning in 45.19s =============
Command exited with non-zero status 1
	Command being timed: "pytest -n 2 --dist=loadfile --game kungfumaster --snapshot-warn-unused --tb=line -ra --durations=20 --color=yes -m not serial tests/"
	User time (seconds): 123.80
	System time (seconds): 3.86
	Percent of CPU this job got: 274%
	Elapsed (wall clock) time (h:mm:ss or m:ss): 0:46.52
	Average shared text size (kbytes): 0
	Average unshared data size (kbytes): 0
	Average stack size (kbytes): 0
	Average total size (kbytes): 0
	Maximum resident set size (kbytes): 930656
	Average resident set size (kbytes): 0
	Major (requiring I/O) page faults: 4
	Minor (reclaiming a frame) page faults: 530275
	Voluntary context switches: 26688
	Involuntary context switches: 25787
	Swaps: 0
	File system inputs: 2072
	File system outputs: 11832
	Socket messages sent: 0
	Socket messages received: 0
	Signals delivered: 0
	Page size (bytes): 4096
	Exit status: 1


This log was automatically created at 2026-09-04 12:50:12 UTC.

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
📁 Previous CI results (run #33879810242)

Test Report

This comment was generated automatically by a GitHub Action. It summarizes the test results for this pull request. The GitHub Action run can be found here:

https://github.com/k4ntz/JAXAtari/actions/runs/33875178504

Base Branch ✅

The PR's base branch is dev.
The expected base branch is dev.

Changed Files ✅

There are no forbidden file changes. Nice 👍

Framework Tests ✅

All framework tests passed. Good work! 🎉


This log was automatically created at 2026-09-04 12:59:00 UTC.

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
📁 Previous CI results (run #33882739406)

Test Report

This comment was generated automatically by a GitHub Action. It summarizes the test results for this pull request. The GitHub Action run can be found here:

https://github.com/k4ntz/JAXAtari/actions/runs/33879810242

Base Branch ✅

The PR's base branch is dev.
The expected base branch is dev.

Changed Files ✅

There are no forbidden file changes. Nice 👍

Framework Tests ❌

Some framework tests failed. Please check the details below:

kungfumaster ❌
============================= test session starts ==============================
platform linux -- Python 3.11.16, pytest-8.4.2, pluggy-1.6.0
rootdir: /home/runner/work/JAXAtari/JAXAtari
configfile: pyproject.toml
plugins: sugar-1.1.1, github-actions-annotate-failures-0.4.2, syrupy-4.9.1, xdist-3.8.0
created: 2/2 workers
2 workers [68 items]

ssss......::warning file=.venv/lib/python3.11/site-packages/pygame/pkgdata.py,line=25::pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
.ssssssssssss.....s.........ss...............s.........ss.     [100%]
=============================== warnings summary ===============================
tests/test_all_mods.py::test_no_duplicate_mod_keys
  /home/runner/work/JAXAtari/JAXAtari/.venv/lib/python3.11/site-packages/pygame/pkgdata.py:25: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
    from pkg_resources import resource_stream, resource_exists

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
============================= slowest 20 durations =============================
45.61s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_normalize_observation_wrapper[kungfumaster]
22.91s call     tests/test_core_and_wrappers.py::test_flatten_observation_wrapper[kungfumaster]
15.60s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_atari_wrapper_features[kungfumaster]
14.73s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_log_wrapper_tracking[kungfumaster]
13.75s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_multi_reward_log_wrapper[kungfumaster]
11.82s call     tests/test_core_and_wrappers.py::test_pixel_obs_wrapper_with_stacked_frames[kungfumaster]
11.70s call     tests/test_environment_compatibility.py::TestJaxTransforms::test_jit_compilation[Pixel-kungfumaster]
11.59s call     tests/test_core_and_wrappers.py::test_log_wrapper_with_flatten_observation[kungfumaster]
9.67s call     tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapped_reset_and_step[Pixel-kungfumaster]
8.75s call     tests/test_core_and_wrappers.py::test_object_centric_wrapper[kungfumaster]
8.47s call     tests/test_environment_compatibility.py::TestWrapperCompatibility::test_wrapped_reset_and_step[LoggedFlattenedPixelAndObject-kungfumaster]
8.14s call     tests/test_all_mods.py::test_no_duplicate_mod_keys
8.10s call     tests/test_environment_compatibility.py::TestJaxTransforms::test_jit_compilation[LoggedFlattenedPixelAndObject-kungfumaster]
7.04s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_flatten_observation_wrapper_space_structure[kungfumaster]
4.56s call     tests/test_core_and_wrappers.py::test_pixel_and_object_centric_wrapper[kungfumaster]
3.84s call     tests/test_funcenv_adapter.py::TestGymnasiumApiCompliance::test_step_method[kungfumaster]
3.28s call     tests/test_environment_compatibility.py::TestEdgeCasesAndErrorHandling::test_invalid_action_handling[kungfumaster]
3.24s call     tests/test_environment_compatibility.py::TestAdvancedWrapperFeatures::test_log_wrapper_edge_cases[kungfumaster]
2.93s call     tests/test_environment_compatibility.py::TestEdgeCasesAndErrorHandling::test_state_serialization[kungfumaster]
2.82s call     tests/test_funcenv_adapter.py::TestJaxTransforms::test_jittable_transition[kungfumaster]
=========================== short test summary info ============================
SKIPPED [1] tests/test_all_mods.py:243: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:348: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:372: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:389: Game does not have mods registered
SKIPPED [1] tests/test_all_mods.py:746: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:769: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:797: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:802: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:861: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:877: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:895: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:915: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:935: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:957: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:970: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/test_all_mods.py:992: Game 'kungfumaster' is not in core.GAME_MODULES
SKIPPED [1] tests/conftest.py:299: Skipping 'kangaroo'-only test because --game=['kungfumaster']
SKIPPED [2] tests/test_environment_compatibility.py:496: Skipping to debug memory issues in CI
SKIPPED [2] tests/test_environment_compatibility.py:536: Skipping to debug memory issues in CI
SKIPPED [1] tests/test_funcenv_adapter.py:165: Skipping to debug memory issues in CI
============ 46 passed, 22 skipped, 1 warning in 162.55s (0:02:42) =============
	Command being timed: "pytest -n 2 --dist=loadfile --game kungfumaster --snapshot-warn-unused --tb=line -ra --durations=20 --color=yes -m not serial tests/"
	User time (seconds): 436.27
	System time (seconds): 7.80
	Percent of CPU this job got: 270%
	Elapsed (wall clock) time (h:mm:ss or m:ss): 2:44.21
	Average shared text size (kbytes): 0
	Average unshared data size (kbytes): 0
	Average stack size (kbytes): 0
	Average total size (kbytes): 0
	Maximum resident set size (kbytes): 1729196
	Average resident set size (kbytes): 0
	Major (requiring I/O) page faults: 4
	Minor (reclaiming a frame) page faults: 935592
	Voluntary context switches: 109796
	Involuntary context switches: 86577
	Swaps: 0
	File system inputs: 2072
	File system outputs: 12040
	Socket messages sent: 0
	Socket messages received: 0
	Signals delivered: 0
	Page size (bytes): 4096
	Exit status: 0
============================= test session starts ==============================
platform linux -- Python 3.11.16, pytest-8.4.2, pluggy-1.6.0
rootdir: /home/runner/work/JAXAtari/JAXAtari
configfile: pyproject.toml
plugins: sugar-1.1.1, github-actions-annotate-failures-0.4.2, syrupy-4.9.1, xdist-3.8.0
collected 131 items / 126 deselected / 5 selected

tests/test_all_mods.py s                                                 [ 20%]
tests/test_core_and_wrappers.py ::error file=tests/test_core_and_wrappers.py,line=224::test_native_downscaling_hot_swap[kungfumaster]%0A%0AAssertionError: Reset observation shape mismatch. Got (4, 210, 160, 3)%0Aassert (4, 210, 160, 3) == (4, 84, 84, 3)%0A  %0A  At index 1 diff: 210 != 84%0A  %0A  Full diff:%0A    (%0A        4,%0A  -     84,%0A  -     84,%0A  +     210,%0A  +     160,%0A        3,%0A    )
F::error file=tests/test_core_and_wrappers.py,line=289::test_native_downscaling_grayscale[kungfumaster]%0A%0Aassert (4, 210, 160, 3) == (4, 84, 84, 1)%0A  %0A  At index 1 diff: 210 != 84%0A  %0A  Full diff:%0A    (%0A        4,%0A  -     84,%0A  -     84,%0A  -     1,%0A  +     210,%0A  ?     + +%0A  +     160,%0A  +     3,%0A    )
F                                       [ 60%]
tests/test_all_mods.py ss                                                [100%]

=================================== FAILURES ===================================
/home/runner/work/JAXAtari/JAXAtari/tests/test_core_and_wrappers.py:276: AssertionError: Reset observation shape mismatch. Got (4, 210, 160, 3)
/home/runner/work/JAXAtari/JAXAtari/tests/test_core_and_wrappers.py:320: assert (4, 210, 160, 3) == (4, 84, 84, 1)
============================= slowest 20 durations =============================
1.75s call     tests/test_core_and_wrappers.py::test_native_downscaling_hot_swap[kungfumaster]
1.66s call     tests/test_core_and_wrappers.py::test_native_downscaling_grayscale[kungfumaster]
0.34s setup    tests/test_core_and_wrappers.py::test_native_downscaling_hot_swap[kungfumaster]
0.26s setup    tests/test_core_and_wrappers.py::test_native_downscaling_grayscale[kungfumaster]
0.10s teardown tests/test_core_and_wrappers.py::test_native_downscaling_grayscale[kungfumaster]
0.10s teardown tests/test_core_and_wrappers.py::test_native_downscaling_hot_swap[kungfumaster]
0.07s teardown tests/test_all_mods.py::test_native_downscaling_clears_registered_jit_targets
0.06s teardown tests/test_all_mods.py::TestModWithWrappers::test_representative_mod_native_downscaling
0.06s teardown tests/test_all_mods.py::test_renderer_patch_jit_staleness_fixed

(5 durations < 0.005s hidden.  Use -vv to show these durations.)
=========================== short test summary info ============================
SKIPPED [1] tests/test_all_mods.py:435: Game does not have mods registered
SKIPPED [2] tests/conftest.py:299: Skipping 'kangaroo'-only test because --game=['kungfumaster']
FAILED tests/test_core_and_wrappers.py::test_native_downscaling_hot_swap[kungfumaster] - AssertionError: Reset observation shape mismatch. Got (4, 210, 160, 3)
assert (4, 210, 160, 3) == (4, 84, 84, 3)
  
  At index 1 diff: 210 != 84
  
  Full diff:
    (
        4,
  -     84,
  -     84,
  +     210,
  +     160,
        3,
    )
FAILED tests/test_core_and_wrappers.py::test_native_downscaling_grayscale[kungfumaster] - assert (4, 210, 160, 3) == (4, 84, 84, 1)
  
  At index 1 diff: 210 != 84
  
  Full diff:
    (
        4,
  -     84,
  -     84,
  -     1,
  +     210,
  ?     + +
  +     160,
  +     3,
    )
================= 2 failed, 3 skipped, 126 deselected in 4.78s =================
Command exited with non-zero status 1
	Command being timed: "pytest --game kungfumaster --snapshot-warn-unused --tb=line -ra --durations=20 --color=yes -m serial tests/"
	User time (seconds): 7.95
	System time (seconds): 0.54
	Percent of CPU this job got: 133%
	Elapsed (wall clock) time (h:mm:ss or m:ss): 0:06.33
	Average shared text size (kbytes): 0
	Average unshared data size (kbytes): 0
	Average stack size (kbytes): 0
	Average total size (kbytes): 0
	Maximum resident set size (kbytes): 369624
	Average resident set size (kbytes): 0
	Major (requiring I/O) page faults: 0
	Minor (reclaiming a frame) page faults: 79610
	Voluntary context switches: 1915
	Involuntary context switches: 607
	Swaps: 0
	File system inputs: 0
	File system outputs: 24
	Socket messages sent: 0
	Socket messages received: 0
	Signals delivered: 0
	Page size (bytes): 4096
	Exit status: 1


This log was automatically created at 2026-09-04 13:49:58 UTC.

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
📁 Previous CI results (run #34362818105)

Test Report

This comment was generated automatically by a GitHub Action. It summarizes the test results for this pull request. The GitHub Action run can be found here:

https://github.com/k4ntz/JAXAtari/actions/runs/33882739406

Base Branch ✅

The PR's base branch is dev.
The expected base branch is dev.

Changed Files ✅

There are no forbidden file changes. Nice 👍

Framework Tests ✅

All framework tests passed. Good work! 🎉


This log was automatically created at 2026-09-04 14:21:08 UTC.

@github-actions

github-actions Bot commented Sep 9, 2026

Copy link
Copy Markdown

Test Report

This comment was generated automatically by a GitHub Action. It summarizes the test results for this pull request. The GitHub Action run can be found here:

https://github.com/k4ntz/JAXAtari/actions/runs/34362818105

Base Branch ✅

The PR's base branch is dev.
The expected base branch is dev.

Changed Files ✅

There are no forbidden file changes. Nice 👍

Framework Tests ✅

All framework tests passed. Good work! 🎉


This log was automatically created at 2026-09-09 14:24:00 UTC.

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.

2 participants