- 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>
42 lines
No EOL
968 B
Bash
Executable file
42 lines
No EOL
968 B
Bash
Executable file
#!/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 |