mirror of
https://github.com/kolbytn/mindcraft.git
synced 2025-03-28 14:56:24 +01:00
67 lines
No EOL
1.8 KiB
Bash
Executable file
67 lines
No EOL
1.8 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
# Initialize variables
|
|
args=()
|
|
num_experiments=0
|
|
successful=0
|
|
unsuccessful=0
|
|
error=0
|
|
|
|
# Parse arguments
|
|
while [[ $# -gt 0 ]]; do
|
|
case "$1" in
|
|
--num_experiments)
|
|
num_experiments="$2"
|
|
shift 2
|
|
;;
|
|
*)
|
|
args+=("$1")
|
|
shift
|
|
;;
|
|
esac
|
|
done
|
|
|
|
# Validate num_experiments
|
|
if ! [[ "$num_experiments" =~ ^[0-9]+$ ]] || [[ "$num_experiments" -eq 0 ]]; then
|
|
echo "Error: num_experiments must be a positive integer"
|
|
echo "Usage: $0 --num_experiments <number> [other arguments]"
|
|
exit 1
|
|
fi
|
|
|
|
# Run experiments
|
|
while (( successful + unsuccessful < num_experiments )); do
|
|
node main.js "${args[@]}"
|
|
exit_code=$?
|
|
|
|
case $exit_code in
|
|
2) ((successful++));;
|
|
3) ((unsuccessful++));;
|
|
4) ((error++));;
|
|
*) echo "Unknown exit code: $exit_code";;
|
|
esac
|
|
|
|
# Calculate success percentage
|
|
if [[ $successful -eq 0 && $unsuccessful -eq 0 ]]; then
|
|
success_percentage=0
|
|
else
|
|
success_percentage=$(echo "scale=2; $successful / ($successful + $unsuccessful) * 100" | bc)
|
|
fi
|
|
|
|
echo "Success percentage: $success_percentage%"
|
|
echo "Total successful: $successful"
|
|
echo "Total unsuccessful: $unsuccessful"
|
|
echo "Total errors: $error"
|
|
echo "Total experiments run: $((successful + unsuccessful))"
|
|
done
|
|
|
|
# Generate output file with a cleaner name format
|
|
date_time=$(date +'%Y-%m-%d_%H-%M-%S')
|
|
output_file="${date_time}_results.txt"
|
|
|
|
echo "Total experiments: $num_experiments" > "$output_file"
|
|
echo "Successful experiments: $successful" >> "$output_file"
|
|
echo "Unsuccessful experiments: $unsuccessful" >> "$output_file"
|
|
echo "Experiments with errors: $error" >> "$output_file"
|
|
echo "Success percentage: $success_percentage%" >> "$output_file"
|
|
|
|
echo "Results saved in $output_file" |