Re: Diary icalendar tests still broken

Sean Whitton <[email protected]> Mon, 27 Jul 2026 10:21:13 +0100
Newsgroups gmane.emacs.devel
Message-ID <[email protected]>
Richard Lawrence [25/Jul  8:30am +02] wrote:
> Hi Sean,
>
> Sean Whitton <[email protected]> writes:
>
>> I finally figured this out.  The tests are broken, but only in the
>> context of the pretest/release tarball.  I can reproduce it like this:
>>
>>     wget https://alpha.gnu.org/gnu/emacs/pretest/emacs-31.0.91.tar.xz
>>     # check signature or checksum
>>     tar axf emacs-31.0.91.tar.xz
>>     cd emacs-31.0.91/
>>     ./configure --prefix=/tmp/emacs && make check
>>
>> This is on Debian.  Could you try reproducing it like that, please?
>
> I just tried it, also on Debian (12.15)...no errors here.  What errors
> are you seeing?  And what time zone is the system using on which you're
> running the tests?  Maybe there's something about your build environment
> that's relevantly different from mine?  Let me know what information you
> need to help narrow this down.

I've included the log below.  My timezone is BST.  It looks like the
problem may be assuming UTC?

=*=*=*=

  GEN      lisp/calendar/diary-icalendar-tests.log
Running 75 tests (2026-07-27 10:11:41+0100, selector ‘(not (or (tag :expensive-test) (tag :unstable)))’)
Parsing and indexing iCalendar data in  *UNFOLDED:import-bug-11473.ics...
Parsing and indexing iCalendar data in  *UNFOLDED:import-bug-11473.ics...Done.
   passed   1/75  diary-icalendar-test-import-bug-11473 (0.034709 sec)
Parsing and indexing iCalendar data in  *UNFOLDED:import-bug-22092.ics...
Parsing and indexing iCalendar data in  *UNFOLDED:import-bug-22092.ics...Done.
   passed   2/75  diary-icalendar-test-import-bug-22092 (0.006685 sec)
Parsing and indexing iCalendar data in  *UNFOLDED:import-bug-24199.ics...
Parsing and indexing iCalendar data in  *UNFOLDED:import-bug-24199.ics...Done.
   passed   3/75  diary-icalendar-test-import-bug-24199 (0.004667 sec)
Parsing and indexing iCalendar data in  *UNFOLDED:import-bug-33277.ics...
Parsing and indexing iCalendar data in  *UNFOLDED:import-bug-33277.ics...Done.
   passed   4/75  diary-icalendar-test-import-bug-33277 (0.005811 sec)
Parsing and indexing iCalendar data in  *UNFOLDED:import-bug-6766.ics...
Parsing and indexing iCalendar data in  *UNFOLDED:import-bug-6766.ics...Done.
   passed   5/75  diary-icalendar-test-import-bug-6766 (0.005270 sec)
Parsing and indexing iCalendar data in  *UNFOLDED:import-duration.ics...
Parsing and indexing iCalendar data in  *UNFOLDED:import-duration.ics...Done.
Parsing and indexing iCalendar data in  *UNFOLDED:import-duration-2.ics...
Parsing and indexing iCalendar data in  *UNFOLDED:import-duration-2.ics...Done.
   passed   6/75  diary-icalendar-test-import-duration (0.019044 sec)
Parsing and indexing iCalendar data in  *UNFOLDED:import-multiple-vcalendars.ics...
Parsing and indexing iCalendar data in  *UNFOLDED:import-multiple-vcalendars.ics...Done.
   passed   7/75  diary-icalendar-test-import-multiple-vcalendars (0.010971 sec)
Parsing and indexing iCalendar data in  *UNFOLDED:import-non-recurring-1.ics...
Parsing and indexing iCalendar data in  *UNFOLDED:import-non-recurring-1.ics...Done.
Parsing and indexing iCalendar data in  *UNFOLDED:import-non-recurring-all-day.ics...
Parsing and indexing iCalendar data in  *UNFOLDED:import-non-recurring-all-day.ics...Done.
Parsing and indexing iCalendar data in  *UNFOLDED:import-non-recurring-long-summary.ics...
Parsing and indexing iCalendar data in  *UNFOLDED:import-non-recurring-long-summary.ics...Done.
Parsing and indexing iCalendar data in  *UNFOLDED:import-non-recurring-block.ics...
Parsing and indexing iCalendar data in  *UNFOLDED:import-non-recurring-block.ics...Done.
Parsing and indexing iCalendar data in  *UNFOLDED:import-non-recurring-folded-summary.ics...
Parsing and indexing iCalendar data in  *UNFOLDED:import-non-recurring-folded-summary.ics...Done.
Parsing and indexing iCalendar data in  *UNFOLDED:import-non-recurring-another-example.ics...
Parsing and indexing iCalendar data in  *UNFOLDED:import-non-recurring-another-example.ics...Done.
   passed   8/75  diary-icalendar-test-import-non-recurring (0.038975 sec)
Parsing and indexing iCalendar data in  *UNFOLDED:import-real-world-2003-05-29.ics...
Parsing and indexing iCalendar data in  *UNFOLDED:import-real-world-2003-05-29.ics...Done.
Parsing and indexing iCalendar data in  *UNFOLDED:import-real-world-no-dst.ics...
Parsing and indexing iCalendar data in  *UNFOLDED:import-real-world-no-dst.ics...Done.
Parsing and indexing iCalendar data in  *UNFOLDED:import-real-world-2003-06-18a.ics...
Parsing and indexing iCalendar data in  *UNFOLDED:import-real-world-2003-06-18a.ics...Done.
Parsing and indexing iCalendar data in  *UNFOLDED:import-real-world-2004-11-19.ics...
Parsing and indexing iCalendar data in  *UNFOLDED:import-real-world-2004-11-19.ics...Done.
Parsing and indexing iCalendar data in  *UNFOLDED:import-real-world-2005-02-07.ics...
Parsing and indexing iCalendar data in  *UNFOLDED:import-real-world-2005-02-07.ics...Done.
Parsing and indexing iCalendar data in  *UNFOLDED:import-real-world-2005-03-01.ics...
Parsing and indexing iCalendar data in  *UNFOLDED:import-real-world-2005-03-01.ics...Done.
   passed   9/75  diary-icalendar-test-import-real-world (0.062372 sec)
Parsing and indexing iCalendar data in  *UNFOLDED:import-rrule-daily.ics...
Parsing and indexing iCalendar data in  *UNFOLDED:import-rrule-daily.ics...Done.
Parsing and indexing iCalendar data in  *UNFOLDED:import-rrule-daily-two-day.ics...
Parsing and indexing iCalendar data in  *UNFOLDED:import-rrule-daily-two-day.ics...Done.
Parsing and indexing iCalendar data in  *UNFOLDED:import-rrule-daily-with-exceptions.ics...
Parsing and indexing iCalendar data in  *UNFOLDED:import-rrule-daily-with-exceptions.ics...Done.
Parsing and indexing iCalendar data in  *UNFOLDED:import-rrule-weekly.ics...
Parsing and indexing iCalendar data in  *UNFOLDED:import-rrule-weekly.ics...Done.
Parsing and indexing iCalendar data in  *UNFOLDED:import-rrule-monthly-no-end.ics...
Parsing and indexing iCalendar data in  *UNFOLDED:import-rrule-monthly-no-end.ics...Done.
Parsing and indexing iCalendar data in  *UNFOLDED:import-rrule-monthly-with-end.ics...
Parsing and indexing iCalendar data in  *UNFOLDED:import-rrule-monthly-with-end.ics...Done.
Parsing and indexing iCalendar data in  *UNFOLDED:import-rrule-anniversary.ics...
Parsing and indexing iCalendar data in  *UNFOLDED:import-rrule-anniversary.ics...Done.
Parsing and indexing iCalendar data in  *UNFOLDED:import-rrule-yearly.ics...
Parsing and indexing iCalendar data in  *UNFOLDED:import-rrule-yearly.ics...Done.
Parsing and indexing iCalendar data in  *UNFOLDED:import-rrule-count-bi-weekly.ics...
Parsing and indexing iCalendar data in  *UNFOLDED:import-rrule-count-bi-weekly.ics...Done.
Parsing and indexing iCalendar data in  *UNFOLDED:import-rrule-count-daily-short.ics...
Parsing and indexing iCalendar data in  *UNFOLDED:import-rrule-count-daily-short.ics...Done.
Parsing and indexing iCalendar data in  *UNFOLDED:import-rrule-count-daily-long.ics...
Parsing and indexing iCalendar data in  *UNFOLDED:import-rrule-count-daily-long.ics...Done.
Parsing and indexing iCalendar data in  *UNFOLDED:import-rrule-count-monthly.ics...
Parsing and indexing iCalendar data in  *UNFOLDED:import-rrule-count-monthly.ics...Done.
Parsing and indexing iCalendar data in  *UNFOLDED:import-rrule-count-every-second-month.ics...
Parsing and indexing iCalendar data in  *UNFOLDED:import-rrule-count-every-second-month.ics...Done.
Parsing and indexing iCalendar data in  *UNFOLDED:import-rrule-count-yearly.ics...
Parsing and indexing iCalendar data in  *UNFOLDED:import-rrule-count-yearly.ics...Done.
Parsing and indexing iCalendar data in  *UNFOLDED:import-rrule-count-every-second-year.ics...
Parsing and indexing iCalendar data in  *UNFOLDED:import-rrule-count-every-second-year.ics...Done.
   passed  10/75  diary-icalendar-test-import-rrule (0.091527 sec)
Parsing and indexing iCalendar data in  *UNFOLDED:import-legacy-function.ics...
Parsing and indexing iCalendar data in  *UNFOLDED:import-legacy-function.ics...Done.
   passed  11/75  diary-icalendar-test-import-w/legacy-function (0.005410 sec)
Parsing and indexing iCalendar data in  *UNFOLDED:import-legacy-vars.ics...
Parsing and indexing iCalendar data in  *UNFOLDED:import-legacy-vars.ics...Done.
   passed  12/75  diary-icalendar-test-import-w/legacy-vars (0.008142 sec)
Parsing and indexing iCalendar data in  *UNFOLDED:import-time-format-12hr-blank.ics...
Parsing and indexing iCalendar data in  *UNFOLDED:import-time-format-12hr-blank.ics...Done.
   passed  13/75  diary-icalendar-test-import-w/time-format (0.003703 sec)
Parsing and indexing iCalendar data in  *UNFOLDED:import-with-attachment.ics...
Parsing and indexing iCalendar data in  *UNFOLDED:import-with-attachment.ics...Done.
   passed  14/75  diary-icalendar-test-import-with-attachment (0.005112 sec)
Parsing and indexing iCalendar data in  *UNFOLDED:import-with-timezone.ics...
Parsing and indexing iCalendar data in  *UNFOLDED:import-with-timezone.ics...Done.
   passed  15/75  diary-icalendar-test-import-with-timezone (0.008385 sec)
Parsing and indexing iCalendar data in  *UNFOLDED:import-with-uid.ics...
Parsing and indexing iCalendar data in  *UNFOLDED:import-with-uid.ics...Done.
   passed  16/75  diary-icalendar-test-import-with-uid (0.006432 sec)
   passed  17/75  diary-icalendar-test-parse-attendees-and-organizer (0.000170 sec)
   passed  18/75  diary-icalendar-test-parse-class/private (0.000034 sec)
   passed  19/75  diary-icalendar-test-parse-class/public (0.000026 sec)
   passed  20/75  diary-icalendar-test-parse-date-form/american-date (0.000158 sec)
   passed  21/75  diary-icalendar-test-parse-date-form/emacs-manual-sec33.10.1/1 (0.000123 sec)
   passed  22/75  diary-icalendar-test-parse-date-form/emacs-manual-sec33.10.1/2 (0.000068 sec)
   passed  23/75  diary-icalendar-test-parse-date-form/emacs-manual-sec33.10.1/3 (0.000218 sec)
   passed  24/75  diary-icalendar-test-parse-date-form/emacs-manual-sec33.10.1/5 (0.000119 sec)
   passed  25/75  diary-icalendar-test-parse-date-form/emacs-manual-sec33.10.1/7 (0.000167 sec)
   passed  26/75  diary-icalendar-test-parse-date-form/emacs-manual-sec33.10.1/8 (0.000216 sec)
   passed  27/75  diary-icalendar-test-parse-date-form/emacs-manual-sec33.10.1/9 (0.000161 sec)
   passed  28/75  diary-icalendar-test-parse-date-form/emacs-manual-sec33.10.3/1 (0.000113 sec)
   passed  29/75  diary-icalendar-test-parse-date-form/emacs-manual-sec33.10.3/2 (0.000163 sec)
   passed  30/75  diary-icalendar-test-parse-date-form/emacs-manual-sec33.10.3/3 (0.000062 sec)
   passed  31/75  diary-icalendar-test-parse-date-form/emacs-manual-sec33.10.3/4 (0.000067 sec)
   passed  32/75  diary-icalendar-test-parse-date-form/european-date (0.000119 sec)
   passed  33/75  diary-icalendar-test-parse-date-form/generic-day (0.010476 sec)
   passed  34/75  diary-icalendar-test-parse-date-form/generic-month (0.000117 sec)
   passed  35/75  diary-icalendar-test-parse-date-form/generic-year-american (0.000062 sec)
   passed  36/75  diary-icalendar-test-parse-date-form/generic-year-european (0.000071 sec)
   passed  37/75  diary-icalendar-test-parse-date-form/iso-date (0.000112 sec)
   passed  38/75  diary-icalendar-test-parse-date-form/iso-date-dashes (0.000103 sec)
   passed  39/75  diary-icalendar-test-parse-entry-type/vevent (0.000013 sec)
   passed  40/75  diary-icalendar-test-parse-entry-type/vjournal (0.000011 sec)
   passed  41/75  diary-icalendar-test-parse-entry-type/vtodo (0.000013 sec)
   passed  42/75  diary-icalendar-test-parse-location (0.000038 sec)
   passed  43/75  diary-icalendar-test-parse-sexp (0.000016 sec)
   passed  44/75  diary-icalendar-test-parse-sexp/multiline-sexp (0.000014 sec)
   passed  45/75  diary-icalendar-test-parse-status (0.000031 sec)
   passed  46/75  diary-icalendar-test-parse-summary-and-description (0.000044 sec)
   passed  47/75  diary-icalendar-test-parse-summary-and-description/with-summary-regexp (0.000039 sec)
   passed  48/75  diary-icalendar-test-parse-uid (0.000025 sec)
   passed  49/75  diary-icalendar-test-parse-uid/with-org-id-uuid (0.000023 sec)
   passed  50/75  diary-icalendar-test-parse-url (0.000028 sec)
   passed  51/75  diary-icalendar-test-parse-weekday-name (0.000036 sec)
   passed  52/75  diary-icalendar-test-parse-weekday-name/emacs-manual-sec33.10.1/4 (0.000031 sec)
   passed  53/75  diary-icalendar-test-parse-weekday-name/emacs-manual-sec33.10.1/6 (0.000030 sec)
   passed  54/75  diary-icalendar-test-parse-weekday-name/emacs-manual-sec33.10.3/5 (0.000028 sec)
   passed  55/75  diary-icalendar-test-rrule-bug-80460 (0.006170 sec)
   passed  56/75  diary-icalendar-test-test-entry-parser/alarms-export (0.002891 sec)
   passed  57/75  diary-icalendar-test-test-entry-parser/diary-anniversary-recurrence (0.000620 sec)
   passed  58/75  diary-icalendar-test-test-entry-parser/diary-block-recurrence (0.000596 sec)
   passed  59/75  diary-icalendar-test-test-entry-parser/diary-cyclic-recurrence (0.000642 sec)
   passed  60/75  diary-icalendar-test-test-entry-parser/diary-date-recurrence (0.000585 sec)
   passed  61/75  diary-icalendar-test-test-entry-parser/diary-float-recurrence (0.000584 sec)
   passed  62/75  diary-icalendar-test-test-entry-parser/diary-offset-recurrence (0.000606 sec)
   passed  63/75  diary-icalendar-test-test-entry-parser/diary-rrule-recurrence (0.000605 sec)
Test diary-icalendar-test-test-entry-parser/emacs-manual-sec33.10.1/10 backtrace:
  signal(icalendar-validation-error (:message "Property cannot contain
  icalendar-signal-validation-error("Property cannot contain `icalenda
  icalendar-property-w/tzid-validator((icalendar-dtstart (:standard-pr
  icalendar-ast-node-valid-p((icalendar-dtstart (:standard-properties 
  icalendar--make-property--nonlist(icalendar-dtstart (icalendar-date-
  diary-icalendar-parse-entry(54 104 (icalendar-vtimezone nil (icalend
  diary-icalendar-parse-entry-linewise(12 246 (icalendar-vtimezone nil
  diary-icalendar-parse-entry(1 246 (icalendar-vtimezone nil (icalenda
  diary-icalendar-test-entry-parser()
  #f(compiled-function () #<bytecode 0x9d1d3598b5e7710>)()
  #f(compiled-function () #<bytecode -0x1d8ac98c6133e227>)()
  handler-bind-1(#f(compiled-function () #<bytecode -0x1d8ac98c6133e22
  ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
  ert-run-test(#s(ert-test :name diary-icalendar-test-test-entry-parse
  ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m
  ert-run-tests((not (or (tag :expensive-test) (tag :unstable))) #f(co
  ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable)))
  ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :un
  eval((ert-run-tests-batch-and-exit '(not (or (tag :expensive-test) (
  command-line-1(("-L" ":." "-l" "ert" "--eval" "(setq treesit-extra-l
  command-line()
  normal-top-level()
Test diary-icalendar-test-test-entry-parser/emacs-manual-sec33.10.1/10 condition:
    (icalendar-validation-error :message
				"Property cannot contain `icalendar-tzidparam' in combination with UTC time"
				:buffer nil :position nil :severity 2
				:node ...)
   FAILED  64/75  diary-icalendar-test-test-entry-parser/emacs-manual-sec33.10.1/10 (0.002587 sec) at lisp/calendar/diary-icalendar-tests.el:1
Test diary-icalendar-test-test-entry-parser/emacs-manual-sec33.10.1/10-first-line backtrace:
  signal(icalendar-validation-error (:message "Property cannot contain
  icalendar-signal-validation-error("Property cannot contain `icalenda
  icalendar-property-w/tzid-validator((icalendar-dtstart (:standard-pr
  icalendar-ast-node-valid-p((icalendar-dtstart (:standard-properties 
  icalendar--make-property--nonlist(icalendar-dtstart (icalendar-date-
  diary-icalendar-parse-entry(20 72 (icalendar-vtimezone nil (icalenda
  diary-icalendar-parse-entry-linewise(12 222 (icalendar-vtimezone nil
  diary-icalendar-parse-entry(1 222 (icalendar-vtimezone nil (icalenda
  diary-icalendar-test-entry-parser()
  #f(compiled-function () #<bytecode 0x1943740078d5f41b>)()
  #f(compiled-function () #<bytecode -0x1d8ac98c6133e227>)()
  handler-bind-1(#f(compiled-function () #<bytecode -0x1d8ac98c6133e22
  ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
  ert-run-test(#s(ert-test :name diary-icalendar-test-test-entry-parse
  ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m
  ert-run-tests((not (or (tag :expensive-test) (tag :unstable))) #f(co
  ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable)))
  ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :un
  eval((ert-run-tests-batch-and-exit '(not (or (tag :expensive-test) (
  command-line-1(("-L" ":." "-l" "ert" "--eval" "(setq treesit-extra-l
  command-line()
  normal-top-level()
Test diary-icalendar-test-test-entry-parser/emacs-manual-sec33.10.1/10-first-line condition:
    (icalendar-validation-error :message
				"Property cannot contain `icalendar-tzidparam' in combination with UTC time"
				:buffer nil :position nil :severity 2
				:node ...)
   FAILED  65/75  diary-icalendar-test-test-entry-parser/emacs-manual-sec33.10.1/10-first-line (0.003966 sec) at lisp/calendar/diary-icalendar-tests.el:1
Test diary-icalendar-test-test-entry-parser/emacs-manual-sec33.10.1/6 backtrace:
  signal(icalendar-validation-error (:message "Property cannot contain
  icalendar-signal-validation-error("Property cannot contain `icalenda
  icalendar-property-w/tzid-validator((icalendar-dtstart (:standard-pr
  icalendar-ast-node-valid-p((icalendar-dtstart (:standard-properties 
  icalendar--make-property--nonlist(icalendar-dtstart (icalendar-date-
  diary-icalendar-parse-entry(1 36 (icalendar-vtimezone nil (icalendar
  diary-icalendar-test-entry-parser()
  #f(compiled-function () #<bytecode 0x11f29c64aa8e8315>)()
  #f(compiled-function () #<bytecode -0x1d8ac98c6133e227>)()
  handler-bind-1(#f(compiled-function () #<bytecode -0x1d8ac98c6133e22
  ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
  ert-run-test(#s(ert-test :name diary-icalendar-test-test-entry-parse
  ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m
  ert-run-tests((not (or (tag :expensive-test) (tag :unstable))) #f(co
  ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable)))
  ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :un
  eval((ert-run-tests-batch-and-exit '(not (or (tag :expensive-test) (
  command-line-1(("-L" ":." "-l" "ert" "--eval" "(setq treesit-extra-l
  command-line()
  normal-top-level()
Test diary-icalendar-test-test-entry-parser/emacs-manual-sec33.10.1/6 condition:
    (icalendar-validation-error :message
				"Property cannot contain `icalendar-tzidparam' in combination with UTC time"
				:buffer nil :position nil :severity 2
				:node ...)
   FAILED  66/75  diary-icalendar-test-test-entry-parser/emacs-manual-sec33.10.1/6 (0.003067 sec) at lisp/calendar/diary-icalendar-tests.el:1
   passed  67/75  diary-icalendar-test-test-entry-parser/emacs-manual-sec33.13.10.7 (0.001055 sec)
   passed  68/75  diary-icalendar-test-test-entry-parser/multiline-linewise (0.003194 sec)
   passed  69/75  diary-icalendar-test-test-entry-parser/multiline-single (0.002438 sec)
   passed  70/75  diary-icalendar-test-test-entry-parser/other-properties-parser (0.000444 sec)
   passed  71/75  diary-icalendar-test-test-entry-parser/tz-strategy-floating (0.000313 sec)
   passed  72/75  diary-icalendar-test-test-entry-parser/tz-strategy-local (0.001709 sec)
   passed  73/75  diary-icalendar-test-test-entry-parser/tz-strategy-sexp (0.002433 sec)
   passed  74/75  diary-icalendar-test-test-entry-parser/tz-strategy-to-utc (0.000306 sec)
   passed  75/75  diary-icalendar-test-test-parse-vevent-transparency/nonmarking (0.000033 sec)

Ran 75 tests, 72 results as expected, 3 unexpected (2026-07-27 10:11:42+0100, 0.506722 sec)

3 unexpected results:
   FAILED  diary-icalendar-test-test-entry-parser/emacs-manual-sec33.10.1/10
   FAILED  diary-icalendar-test-test-entry-parser/emacs-manual-sec33.10.1/10-first-line
   FAILED  diary-icalendar-test-test-entry-parser/emacs-manual-sec33.10.1/6

make[3]: *** [Makefile:185: lisp/calendar/diary-icalendar-tests.log] Error 1

-- 
Sean Whitton