feat: stabilize test suite and add UIDrawable methods
- Add visible, opacity properties to all UI classes (#87, #88) - Add get_bounds(), move(), resize() methods to UIDrawable (#89, #98) - Create UIDrawable_methods.h with template implementations - Fix test termination issues - all tests now exit properly - Fix test_sprite_texture_swap.py click handler signature - Fix test_drawable_base.py segfault in headless mode - Convert audio objects to pointers for cleanup (OpenAL warning persists) - Remove debug print statements from UICaption - Special handling for UIEntity to delegate drawable methods to sprite All test files are now "airtight" - they complete successfully, terminate on their own, and handle edge cases properly. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
cc9b5c8f88
commit
ee6550bf63
15 changed files with 380 additions and 35 deletions
42
tests/run_all_tests.sh
Executable file
42
tests/run_all_tests.sh
Executable file
|
|
@ -0,0 +1,42 @@
|
|||
#!/bin/bash
|
||||
# Run all tests and check for failures
|
||||
|
||||
TESTS=(
|
||||
"test_click_init.py"
|
||||
"test_drawable_base.py"
|
||||
"test_frame_children.py"
|
||||
"test_sprite_texture_swap.py"
|
||||
"test_timer_object.py"
|
||||
"test_timer_object_fixed.py"
|
||||
)
|
||||
|
||||
echo "Running all tests..."
|
||||
echo "===================="
|
||||
|
||||
failed=0
|
||||
passed=0
|
||||
|
||||
for test in "${TESTS[@]}"; do
|
||||
echo -n "Running $test... "
|
||||
if timeout 5 ./mcrogueface --headless --exec ../tests/$test > /tmp/test_output.txt 2>&1; then
|
||||
if grep -q "FAIL\|✗" /tmp/test_output.txt; then
|
||||
echo "FAILED"
|
||||
echo "Output:"
|
||||
cat /tmp/test_output.txt | grep -E "✗|FAIL|Error|error" | head -10
|
||||
((failed++))
|
||||
else
|
||||
echo "PASSED"
|
||||
((passed++))
|
||||
fi
|
||||
else
|
||||
echo "TIMEOUT/CRASH"
|
||||
((failed++))
|
||||
fi
|
||||
done
|
||||
|
||||
echo "===================="
|
||||
echo "Total: $((passed + failed)) tests"
|
||||
echo "Passed: $passed"
|
||||
echo "Failed: $failed"
|
||||
|
||||
exit $failed
|
||||
Loading…
Add table
Add a link
Reference in a new issue