logs=($(sdb_shell_verbose find "${log_dir}" -name "fuzz-*.log" | sort | tr "\n\r" " "))
crashes_num=0
-printf "\nFound ${#logs[@]} logs:\n"
+printf_err "\nFound ${#logs[@]} logs:\n"
for i in "${!logs[@]}"; do
# create destination directory for current run
run_dir="${DEST_DIR}/runs/$i"
mkdir -p "${run_dir}"
- printf "%d:\t%s" "$i" "${run_dir}"
+ printf_err "%d:\t%s" "$i" "${run_dir}"
# symbolize log
log=$(basename "${logs[i]}")
if [[ "${#crash_inputs[@]}" -gt 0 ]]; then
(( ++crashes_num ))
- printf " [CRASH]"
+ printf_err " [CRASH]"
fi
- echo
+ printf_err "\n"
done
-echo "Result: ${crashes_num} crashes in ${#logs[@]} runs."
+printf_err "Result: ${crashes_num} crashes in ${#logs[@]} runs.\n"
if (( COVERAGE == 1 )); then
printf "\nCollecting coverage...\n"
popd
rm -f "${DEST_DIR}/coverage.zip"
- echo "Created coverage report in ${host_cov_dir}"
+ printf_err "Created coverage report in ${host_cov_dir}\n"
else
- echo "No .sancov files found. Skipping coverage report creation..."
+ printf_err "No .sancov files found. Skipping coverage report creation...\n"
fi
fi
return 1
}
+function printf_err() {
+ printf "${@}" 1>&2
+}
+
# Exports all current environment
function export_all {
export $( (set -o posix ; set) | awk -F "=" 'BEGIN{ORS=" "}1 $1~/[a-zA-Z]/ {print $1}' )
export -f check_and_install_deps
export -f prepare_device
export -f contains_element
+ export -f printf_err
export -f export_all
}