Subject: 30.1; Test failure in auto-revert-test07-auto-revert-several-buffers

From: Ulrich Müller <[email-masked]>
Date: Fri, 21 Feb 2025 08:47:24 +0100

I get a test failure in the 30.1-rc1 release candidate:

HOME=/nonexistent LANG=C EMACS_TEST_DIRECTORY=/tmp/portage/app-editors/emacs-30.1_rc1/work/emacs-30.1/test   "../src/emacs"  --no-init-file --no-site-file --no-site-lisp -L ":."  \
  -l ert --eval "(setq treesit-extra-load-path '(\"/tmp/portage/app-editors/emacs-30.1_rc1/homedir/.emacs.d/tree-sitter\"))" --eval '(setq ert-batch-backtrace-right-margin nil)' -l lisp/autorevert-tests \
  --batch --eval '(ert-run-tests-batch-and-exit (quote (not (or (tag :expensive-test) (tag :unstable) (tag :nativecomp)))))' > lisp/autorevert-tests.log 2>&1 || { STAT=$?; cat lisp/autorevert-tests.log; exit $STAT; }
Running 7 tests (2025-02-21 08:39:53+0100, selector ‘(not (or (tag :expensive-test) (tag :unstable) (tag :nativecomp)))’)
Note, built-in variable ‘image-scaling-factor’ not bound
Reverting buffer ‘emacs-test-zz7WkE-autorevert’
   passed  1/7  auto-revert-test00-auto-revert-mode (0.332749 sec)
(Shell command succeeded with no output)
Reverting buffer ‘auto-revert-testTTw2RV-autorevert’
Reverting buffer ‘auto-revert-testDFGyCS-autorevert’
   passed  2/7  auto-revert-test01-auto-revert-several-files (0.125704 sec)
Reverting buffer ‘emacs-test-YvlciG-autorevert’
   passed  3/7  auto-revert-test03-auto-revert-tail-mode (5.021042 sec)
Reverting buffer ‘temp’
Reverting buffer ‘temp’
   passed  4/7  auto-revert-test04-auto-revert-mode-dired (0.234765 sec)
  skipped  5/7  auto-revert-test05-global-notify (0.000185 sec)
  skipped  6/7  auto-revert-test06-write-file (0.000134 sec)
Reverting buffer ‘emacs-test-SRNQV7-autorevert’
Test auto-revert-test07-auto-revert-several-buffers backtrace:
  signal(ert-test-failed (((should (buffer-local-value 'auto-revert-notify-watch-descriptor (current-buffer))) :form (buffer-local-value auto-revert-notify-watch-descriptor #<killed buffer>) :value nil)))
  ert-fail(((should (buffer-local-value 'auto-revert-notify-watch-descriptor (current-buffer))) :form (buffer-local-value auto-revert-notify-watch-descriptor #<killed buffer>) :value nil))
  #f(compiled-function () #<bytecode 0x190994bcfdeb50f7>)()
  #f(compiled-function () #<bytecode -0x107ddfba25e26d64>)()
  handler-bind-1(#f(compiled-function () #<bytecode -0x107ddfba25e26d64>) (error quit) #f(compiled-function (err) #<bytecode -0x156eb3da8d546d41>))
  ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test :name auto-revert-test07-auto-revert-several-buffers :documentation "Check autorevert for several buffers visiting the same file." :body #f(compiled-function () #<bytecode 0x190994bcfdeb50f7>) :most-recent-result #s(ert-test-failed :messages "Reverting buffer ‘emacs-test-SRNQV7-autorevert’\n" :should-forms (... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) :duration 5.016915004 :condition (ert-test-failed ...) :backtrace (... ... ... ... ... ... ... ... ... ... ... ... ... ... ...) :infos nil) :expected-result-type :passed :tags nil :file-name "/tmp/portage/app-editors/emacs-30.1_rc1/work/emacs-30.1/test/lisp/autorevert-tests.el") :result #s(ert-test-failed :messages "Reverting buffer ‘emacs-test-SRNQV7-autorevert’\n" :should-forms ((... :form ... :value t :explanation nil) (... :form auto-revert-mode :value t) (... :form ... :value t :explanation nil) (... :form auto-revert-mode :value t) (... :form ... :value t :explanation nil) (... :form auto-revert-mode :value t) (... :form ... :value t :explanation nil) (... :form auto-revert-mode :value t) (... :form ... :value t :explanation nil) (... :form auto-revert-mode :value t) (... :form ... :value t :explanation nil) (... :form auto-revert-mode :value t) (... :form ... :value t :explanation nil) (... :form auto-revert-mode :value t) (... :form ... :value t :explanation nil) (... :form auto-revert-mode :value t) (... :form ... :value t :explanation nil) (... :form auto-revert-mode :value t) (... :form ... :value t :explanation nil) (... :form auto-revert-mode :value t) (... :form ... :value t :explanation nil) (... :form auto-revert-mode :value t) (... :form ... :value t :explanation nil) (... :form auto-revert-mode :value t) (... :form ... :value t :explanation nil) (... :form auto-revert-mode :value nil) (... :form ... :value t :explanation nil) (... :form auto-revert-mode :value nil) (... :form ... :value t :explanation nil) (... :form auto-revert-mode :value nil) (... :form ... :value t :explanation nil) (... :form auto-revert-mode :value nil) ...) :duration 5.016915004 :condition (ert-test-failed (... :form ... :value nil)) :backtrace (#s(backtrace-frame :evald t :fun signal :args ... :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-fail :args ... :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun #f(compiled-function () #<bytecode 0x190994bcfdeb50f7>) :args nil :flags nil :locals ... :buffer nil :pos nil) #s(backtrace-frame :evald t :fun #f(compiled-function () #<bytecode -0x107ddfba25e26d64>) :args nil :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun handler-bind-1 :args ... :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert--run-test-internal :args #0 :flags nil :locals ... :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-test :args ... :flags nil :locals ... :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-or-rerun-test :args ... :flags nil :locals ... :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-tests :args ... :flags nil :locals ... :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-tests-batch :args ... :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-tests-batch-and-exit :args ... :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun eval :args ... :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun command-line-1 :args ... :flags nil :locals ... :buffer nil :pos nil) #s(backtrace-frame :evald t :fun command-line :args nil :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun normal-top-level :args nil :flags nil :locals nil :buffer nil :pos nil)) :infos nil) :exit-continuation #f(compiled-function () #<bytecode 0x8e9ccf879b73c3>) :ert-debug-on-error nil))
  ert-run-test(#s(ert-test :name auto-revert-test07-auto-revert-several-buffers :documentation "Check autorevert for several buffers visiting the same file." :body #f(compiled-function () #<bytecode 0x190994bcfdeb50f7>) :most-recent-result #s(ert-test-failed :messages "Reverting buffer ‘emacs-test-SRNQV7-autorevert’\n" :should-forms ((... :form ... :value t :explanation nil) (... :form auto-revert-mode :value t) (... :form ... :value t :explanation nil) (... :form auto-revert-mode :value t) (... :form ... :value t :explanation nil) (... :form auto-revert-mode :value t) (... :form ... :value t :explanation nil) (... :form auto-revert-mode :value t) (... :form ... :value t :explanation nil) (... :form auto-revert-mode :value t) (... :form ... :value t :explanation nil) (... :form auto-revert-mode :value t) (... :form ... :value t :explanation nil) (... :form auto-revert-mode :value t) (... :form ... :value t :explanation nil) (... :form auto-revert-mode :value t) (... :form ... :value t :explanation nil) (... :form auto-revert-mode :value t) (... :form ... :value t :explanation nil) (... :form auto-revert-mode :value t) (... :form ... :value t :explanation nil) (... :form auto-revert-mode :value t) (... :form ... :value t :explanation nil) (... :form auto-revert-mode :value t) (... :form ... :value t :explanation nil) (... :form auto-revert-mode :value nil) (... :form ... :value t :explanation nil) (... :form auto-revert-mode :value nil) (... :form ... :value t :explanation nil) (... :form auto-revert-mode :value nil) (... :form ... :value t :explanation nil) (... :form auto-revert-mode :value nil) ...) :duration 5.016915004 :condition (ert-test-failed (... :form ... :value nil)) :backtrace (#s(backtrace-frame :evald t :fun signal :args ... :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-fail :args ... :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun #f(compiled-function () #<bytecode 0x190994bcfdeb50f7>) :args nil :flags nil :locals ... :buffer nil :pos nil) #s(backtrace-frame :evald t :fun #f(compiled-function () #<bytecode -0x107ddfba25e26d64>) :args nil :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun handler-bind-1 :args ... :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert--run-test-internal :args ... :flags nil :locals ... :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-test :args #0 :flags nil :locals ... :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-or-rerun-test :args ... :flags nil :locals ... :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-tests :args ... :flags nil :locals ... :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-tests-batch :args ... :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-tests-batch-and-exit :args ... :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun eval :args ... :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun command-line-1 :args ... :flags nil :locals ... :buffer nil :pos nil) #s(backtrace-frame :evald t :fun command-line :args nil :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun normal-top-level :args nil :flags nil :locals nil :buffer nil :pos nil)) :infos nil) :expected-result-type :passed :tags nil :file-name "/tmp/portage/app-editors/emacs-30.1_rc1/work/emacs-30.1/test/lisp/autorevert-tests.el"))
  ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-map #<hash-table eql 7/7 0x103ff597068e ...> :test-results ... :test-start-times ... :test-end-times ... :passed-expected 4 :passed-unexpected 0 :failed-expected 0 :failed-unexpected 1 :skipped 2 :start-time ... :end-time nil :aborted-p nil ...) #s(ert-test :name auto-revert-test07-auto-revert-several-buffers :documentation "Check autorevert for several buffers visiting the same file." :body #f(compiled-function () #<bytecode 0x190994bcfdeb50f7>) :most-recent-result ... :expected-result-type :passed :tags nil :file-name "/tmp/portage/app-editors/emacs-30.1_rc1/work/emacs-30.1/test/lisp/autorevert-tests.el") #f(compiled-function (event-type &rest event-args) #<bytecode -0x1cd638a034cb14c8>))
  ert-run-tests((not (or (tag :expensive-test) (tag :unstable) (tag :nativecomp))) #f(compiled-function (event-type &rest event-args) #<bytecode -0x1cd638a034cb14c8>) nil)
  ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable) (tag :nativecomp))))
  ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :unstable) (tag :nativecomp))))
  eval((ert-run-tests-batch-and-exit '(not (or (tag :expensive-test) (tag :unstable) (tag :nativecomp)))) t)
  command-line-1(("-L" ":." "-l" "ert" "--eval" "(setq treesit-extra-load-path '(\"/tmp/portage/app-editors/emacs-30.1_rc1/homedir/.emacs.d/tree-sitter\"))" "--eval" "(setq ert-batch-backtrace-right-margin nil)" "-l" "lisp/autorevert-tests" "--eval" "(ert-run-tests-batch-and-exit (quote (not (or (tag :expensive-test) (tag :unstable) (tag :nativecomp)))))"))
  command-line()
  normal-top-level()

Test auto-revert-test07-auto-revert-several-buffers condition:
    (ert-test-failed
     ((should
       (buffer-local-value 'auto-revert-notify-watch-descriptor
			   (current-buffer)))
      :form
      (buffer-local-value auto-revert-notify-watch-descriptor #<killed
			  buffer>)
      :value nil))
   FAILED  7/7  auto-revert-test07-auto-revert-several-buffers (5.016915 sec) at lisp/autorevert-tests.el:573

Ran 7 tests, 4 results as expected, 1 unexpected, 2 skipped (2025-02-21 08:40:03+0100, 10.796043 sec)

1 unexpected results:
   FAILED  auto-revert-test07-auto-revert-several-buffers  ((should (buffer-local-value 'auto-revert-notify-watch-descriptor (current-buffer))) :form (buffer-local-value auto-revert-notify-watch-descriptor #<killed buffer>) :value nil)

2 skipped results:
  SKIPPED  auto-revert-test05-global-notify  ((skip-unless (or file-notify--library (file-remote-p temporary-file-directory))) :form (or file-notify--library (file-remote-p temporary-file-directory)) :value nil)
  SKIPPED  auto-revert-test06-write-file  ((skip-unless (or file-notify--library (file-remote-p temporary-file-directory))) :form (or file-notify--library (file-remote-p temporary-file-directory)) :value nil)

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

In GNU Emacs 30.1 (build 1, x86_64-pc-linux-gnu) of 2025-02-21 built on
 urania
System Description: Gentoo Linux

Configured using:
 'configure --prefix=/usr --build=x86_64-pc-linux-gnu
 --host=x86_64-pc-linux-gnu --mandir=/usr/share/man
 --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc
 --localstatedir=/var/lib --datarootdir=/usr/share
 --disable-silent-rules --docdir=/usr/share/doc/emacs-30.1_rc1
 --htmldir=/usr/share/doc/emacs-30.1_rc1/html --libdir=/usr/lib64
 --program-suffix=-emacs-30 --includedir=/usr/include/emacs-30
 --infodir=/usr/share/info/emacs-30 --localstatedir=/var
 --enable-locallisppath=/etc/emacs:/usr/share/emacs/site-lisp
 --without-compress-install --without-hesiod --without-pop
 --with-file-notification=no --with-pdumper --disable-acl
 --disable-xattr --without-dbus --without-modules --without-gameuser
 --without-libgmp --without-gpm --without-native-compilation
 --without-kerberos --without-kerberos5 --without-lcms2 --without-xml2
 --without-mailutils --without-selinux --without-sqlite3
 --without-gnutls --without-libsystemd --without-threads
 --without-tree-sitter --without-wide-int --with-sound=no --without-zlib
 --without-x --without-pgtk --without-ns --with-dumping=pdumper
 'CFLAGS=-march=native -ggdb -O2 -pipe -fno-fast-math -ffp-contract=off'
 CPPFLAGS= 'LDFLAGS=-Wl,-O1 -Wl,--as-needed
 -Wl,-z,pack-relative-relocs''

Configured features:
PDUMPER SECCOMP XIM

Important settings:
  value of $LC_CTYPE: en_GB.UTF-8
  value of $LC_TIME: en_GB.UTF-8
  value of $LANG: POSIX
  locale-coding-system: utf-8-unix