blob: 07c1880e9475457c660b9a82c4bac2a49f5cdbdd [file] [log] [blame] [edit]
#!/bin/zsh
# Input the path of cpplint here
cpplint="$HOME/Documents/cpplint/cpplint.py"
cd samples/ || exit 74 # EX_IOERROR
# Loop through all .def files in the given directories
folders=(${(f)"$(cat)"})
for folder in $folders; do
cd "$folder-sample/" || exit 66 # EX_NOINPUT
for file in ./*.def; do
if [[ ! -s "$file" ]]; then
echo "Skipping empty file: $file"
continue
fi
echo "Processing $file..."
# Extract the command from the first line of the file
cmd=$(head -n 1 "$file")
# Create temporary files for stdout and stderr
stdout_file=$(mktemp)
stderr_file=$(mktemp)
# Execute the command and capture stdout and stderr
uv run "$cpplint" $cmd > "$stdout_file" 2> "$stderr_file"
ret_code=$?
# Count the number of lines in stdout
(( num_lines=$(wc -l < "$stdout_file") + 1 ))
# Overwrite the original definition file
{
echo "$cmd"
echo "$ret_code"
echo "$num_lines"
cat "$stdout_file"
echo
cat "$stderr_file"
echo
} > "$file"
# Clean up temporary files
rm "$stdout_file" "$stderr_file"
done
cd ..
done