calcurse-edge/test/ical-009.sh
Lukas Fleischer 1e243dba90 Fix parallelized test runs
Do not share a common temporary directory between different test cases.

Reported-by: Tomasz Kłoczko <kloczko.tomasz@gmail.com>
Signed-off-by: Lukas Fleischer <lfleischer@calcurse.org>
2020-10-13 20:43:37 -04:00

46 lines
1.5 KiB
Bash
Executable File

#!/bin/sh
# Import with skipped items.
. "${TEST_INIT:-./test-init.sh}"
if [ "$1" = 'actual' ]; then
tmpdir=$(mktemp -d)
cp "$DATA_DIR/conf" "$tmpdir" || exit 1
out=$("$CALCURSE" -D "$tmpdir" -i "$DATA_DIR/ical-009.ical" 2>&1)
# Print the import report (stdout).
echo "$out" | awk '$1 == "Import"; $2 == "apps"'
# Find the log file and print the log messages (stderr).
logfile=$(echo "$out" | awk '$1 == "See" { print $2 }')
sed '1,18d' "$logfile"
# One empty note file.
cat "$tmpdir/notes"/* | wc | awk '{ print $1 $2 $3 }'
rm -rf "$tmpdir" || exit 1
elif [ "$1" = 'expected' ]; then
cat <<EOD
Import process report: 0121 lines read
2 apps / 0 events / 1 todo / 19 skipped
VEVENT [12]: invalid or malformed event start time.
VEVENT [17]: rrule frequency not supported.
VEVENT [23]: malformed summary line.
VTODO [28]: item priority is invalid (must be between 0 and 9).
VEVENT [32]: malformed exceptions line.
VEVENT [39]: line break in summary.
VEVENT [44]: malformed description line.
VEVENT [50]: malformed description.
VTODO [62]: malformed summary.
VEVENT [66]: only one location allowed.
VEVENT [73]: invalid duration.
VEVENT [78]: invalid or malformed event start time.
VEVENT [83]: invalid end time value type.
VEVENT [88]: invalid until format.
VEVENT [94]: invalid exception date value type.
VEVENT [101]: invalid exception.
VEVENT [108]: either end or duration.
VEVENT [114]: end must be later than start.
VTODO [119]: The ical file seems to be malformed. The end of item was not found.
101
EOD
else
./run-test "$0"
fi