mirror of
https://github.com/GothenburgBitFactory/timewarrior.git
synced 2025-07-07 20:06:39 +02:00
46 lines
980 B
Bash
Executable file
46 lines
980 B
Bash
Executable file
#!/bin/bash
|
|
|
|
# parse options/arguments
|
|
until [[ -z "${1}" ]] ; do
|
|
case "${1}" in
|
|
--minute)
|
|
shift
|
|
minutes="${minutes} ${1}"
|
|
;;
|
|
--hour)
|
|
shift
|
|
hours="${hours} ${1}"
|
|
;;
|
|
--day)
|
|
shift
|
|
days="${days} ${1}"
|
|
;;
|
|
--fail-at-end)
|
|
fail_at_end=1
|
|
;;
|
|
-*)
|
|
echo "Unknown option '${1}'"
|
|
exit 1
|
|
;;
|
|
*)
|
|
tests="${tests} ${1}"
|
|
;;
|
|
esac
|
|
shift
|
|
done
|
|
|
|
for day in ${days-$(date --rfc-3339=date)} ; do
|
|
for minute in ${minutes-$(echo "0$(rand -M 60)" | sed "s|.\+\(..\)\$|\1|g")} ; do
|
|
for hour in ${hours-$(seq -w 0 23)} ; do
|
|
date="${day}T${hour}:${minute}"
|
|
for single_test in ${tests} ; do
|
|
echo "Running test ${single_test} at ${date}"
|
|
faketime "${date}" "${single_test}"
|
|
if [[ $? -ne 0 ]] ; then
|
|
echo "Test ${single_test} broke at ${date}!"
|
|
[[ ${fail_at_end-0} -ne 0 ]] || break 2
|
|
fi
|
|
done
|
|
done
|
|
done
|
|
done
|