42 lines
		
	
	
		
			968 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			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 |