f3b76f48

By: Tom Sydney Kerckhove <syd@cs-syd.eu>

ical-recurrence: test that an hourly recurrence rule does not crash

recurrenceRuleDateTimeOccurrences ends in a catch-all arm that calls
error, so any calendar containing one of the three sub-daily
frequencies throws an ErrorCall from pure code.  A caller cannot catch
that through Conform, which is the whole point of recurring inside it.

Hourly, minutely and secondly are legal RFC 5545 frequencies, so this
should either recur as asserted here or, until it is implemented, fail
as an unfixable RecurrenceError.  The catch-all also hides the gap from
the exhaustiveness checker, so adding a frequency would not point here.

The four pending examples in ICal.Recurrence.RecurrenceRuleSpec already
document the missing feature; this one is about the failure mode.

Suite timing

Time to Start Worker time Duration Time to finish Idle
Config 14s 1s 1s 16s 14s
Eval 3m05s 2m45s 2m45s 5m51s 2m48s
Build 1h34m51s 2m06s - - 1h29m37s
Suite 14s 4m54s - - 9h03m13s

Timeline

0s3m20s3m40s4m4m20s4m40s5m5m20s5m40s1h35m1h35m1h35m