cub3d/test.sh

34 lines
938 B
Bash
Executable File

#!/bin/bash
# Define the directory and log file
bu='\033[4;34m'
rb='\033[1;31m'
gb='\033[1;32m'
reset='\033[0m'
INVALID_DIR="maps/invalid"
LOG_FILE="test.log"
# Overwrite the log file
> "$LOG_FILE"
make fclean
make FLAGS+= FLAGS+=" -D START_STATE=GAME_STATE_PLAYING"
# Iterate through all files in the invalid directory
for file in "$INVALID_DIR"/*; do
test_name=$(basename "$file" | sed -e 's/\..*$//')
# echo -e "${bu}Testing $test_name...${reset}"
# Run the file with ./cub3D and send SIGINT after 1 second
timeout 1 ./cub3D "$file" > /dev/null
if [ $? -eq 1 ]; then
# Print OK! [filename] if exit status is 1
echo -e "${gb}OK!${reset} $test_name"
echo "OK! $file" >> "$LOG_FILE"
else
# Print KO! [filename] and append the file name to the log file if exit status is not 1
echo -e "${rb}KO!${reset} $test_name"
echo "KO! $file" >> "$LOG_FILE"
fi
# echo "----------------------------------------"
# echo ""
done