Subject: 30.1; Test failure in image-supported-file-p/optional

From: Ulrich Müller <[email-masked]>
Date: Fri, 21 Feb 2025 12:00:48 +0100

Yet another test failure in the 30.1-rc1 release candidate.

Running 20 tests (2025-02-21 11:53:43+0100, selector ‘(not (or (tag :expensive-test) (tag :unstable) (tag :nativecomp)))’)
  skipped   1/20  image--compute-map-and-original-map (0.000149 sec)
   passed   2/20  image--set-property (0.000078 sec)
  skipped   3/20  image-create-image-with-map (0.000092 sec)
   passed   4/20  image-find-image (0.005288 sec)
Use +, -, r for further adjustments
Use +, -, r for further adjustments
Use +, -, r for further adjustments
Use +, -, r for further adjustments
Use +, -, r for further adjustments
Use +, -, r for further adjustments
Use +, -, r for further adjustments
   passed   5/20  image-rotate (0.001056 sec)
  skipped   6/20  image-supported-file-p/built-in (0.000100 sec)
Test image-supported-file-p/optional backtrace:
  signal(ert-test-failed (((should-not (image-supported-file-p "foo.jpg")) :form (image-supported-file-p "foo.jpg") :value imagemagick)))
  ert-fail(((should-not (image-supported-file-p "foo.jpg")) :form (image-supported-file-p "foo.jpg") :value imagemagick))
  #f(compiled-function () #<bytecode 0xf3e0efa6ef7d4d8>)()
  #f(compiled-function () #<bytecode -0x89eca9a47261aa5>)()
  handler-bind-1(#f(compiled-function () #<bytecode -0x89eca9a47261aa5>) (error quit) #f(compiled-function (err) #<bytecode -0x1579e396ec51e341>))
  ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test :name image-supported-file-p/optional :documentation nil :body #f(compiled-function () #<bytecode 0xf3e0efa6ef7d4d8>) :most-recent-result #s(ert-test-failed :messages "" :should-forms ((... :form ... :value imagemagick)) :duration 0.000113023 :condition (ert-test-failed (... :form ... :value imagemagick)) :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 0xf3e0efa6ef7d4d8>) :args nil :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun #f(compiled-function () #<bytecode -0x89eca9a47261aa5>) :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) :expected-result-type :passed :tags nil :file-name "/tmp/portage/app-editors/emacs-30.1_rc1/work/emacs-30.1/test/lisp/image-tests.el") :result #s(ert-test-failed :messages "" :should-forms (((should-not ...) :form (image-supported-file-p "foo.jpg") :value imagemagick)) :duration 0.000113023 :condition (ert-test-failed ((should-not ...) :form (image-supported-file-p "foo.jpg") :value imagemagick)) :backtrace (#s(backtrace-frame :evald t :fun signal :args (ert-test-failed ...) :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 0xf3e0efa6ef7d4d8>) :args nil :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun #f(compiled-function () #<bytecode -0x89eca9a47261aa5>) :args nil :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun handler-bind-1 :args (#f(compiled-function () #<bytecode -0x89eca9a47261aa5>) ... #f(compiled-function (err) #<bytecode -0x1579e396ec51e341>)) :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 (... ... #f(compiled-function (event-type &rest event-args) #<bytecode -0x1cc6ab1dfc4a8548>)) :flags nil :locals (...) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-tests :args (... #f(compiled-function (event-type &rest event-args) #<bytecode -0x1cc6ab1dfc4a8548>) nil) :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 (... t) :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 0x8d7a958437a5c3>) :ert-debug-on-error nil))
  ert-run-test(#s(ert-test :name image-supported-file-p/optional :documentation nil :body #f(compiled-function () #<bytecode 0xf3e0efa6ef7d4d8>) :most-recent-result #s(ert-test-failed :messages "" :should-forms (((should-not (image-supported-file-p "foo.jpg")) :form (image-supported-file-p "foo.jpg") :value imagemagick)) :duration 0.000113023 :condition (ert-test-failed ((should-not (image-supported-file-p "foo.jpg")) :form (image-supported-file-p "foo.jpg") :value imagemagick)) :backtrace (#s(backtrace-frame :evald t :fun signal :args (ert-test-failed ((... :form ... :value imagemagick))) :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-fail :args (((should-not ...) :form (image-supported-file-p "foo.jpg") :value imagemagick)) :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun #f(compiled-function () #<bytecode 0xf3e0efa6ef7d4d8>) :args nil :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun #f(compiled-function () #<bytecode -0x89eca9a47261aa5>) :args nil :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun handler-bind-1 :args (#f(compiled-function () #<bytecode -0x89eca9a47261aa5>) (error quit) #f(compiled-function (err) #<bytecode -0x1579e396ec51e341>)) :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert--run-test-internal :args (#s(ert--test-execution-info :test #1 :result #2 :exit-continuation #f(compiled-function () #<bytecode 0x8d7a958437a5c3>) :ert-debug-on-error nil)) :flags nil :locals ((ert--infos) (lexical-binding . t)) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-test :args #0 :flags nil :locals ((ert--running-tests #1) (message-log-max . t) (ert--should-execution-observer . #f(compiled-function (form-description) #<bytecode -0x1ddeb65f144f4091>))) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-or-rerun-test :args (#s(ert--stats :selector (not ...) :tests [... ... ... ... ... ... #1 ... ... ... ... ... ... ... ... ... ... ... ... ...] :test-map #<hash-table eql 20/20 0x10ed2ec696bb ...> :test-results [... ... ... ... ... ... #2 nil nil nil nil nil nil nil nil nil nil nil nil nil] :test-start-times [... ... ... ... ... ... ... nil nil nil nil nil nil nil nil nil nil nil nil nil] :test-end-times [... ... ... ... ... ... ... nil nil nil nil nil nil nil nil nil nil nil nil nil] :passed-expected 3 :passed-unexpected 0 :failed-expected 0 :failed-unexpected 1 :skipped 3 :start-time (26552 23351 685490 426000) :end-time nil :aborted-p nil :current-test #1 :next-redisplay 0.0) #1 #f(compiled-function (event-type &rest event-args) #<bytecode -0x1cc6ab1dfc4a8548>)) :flags nil :locals ((ert--current-run-stats . #s(ert--stats :selector ... :tests ... :test-map #<hash-table eql 20/20 0x10ed2ec696bb ...> :test-results ... :test-start-times ... :test-end-times ... :passed-expected 3 :passed-unexpected 0 :failed-expected 0 :failed-unexpected 1 :skipped 3 :start-time ... :end-time nil :aborted-p nil :current-test #1 :next-redisplay 0.0))) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-tests :args ((not (or ... ... ...)) #f(compiled-function (event-type &rest event-args) #<bytecode -0x1cc6ab1dfc4a8548>) nil) :flags nil :locals ((ert--current-run-stats . #s(ert--stats :selector ... :tests ... :test-map #<hash-table eql 20/20 0x10ed2ec696bb ...> :test-results ... :test-start-times ... :test-end-times ... :passed-expected 3 :passed-unexpected 0 :failed-expected 0 :failed-unexpected 1 :skipped 3 :start-time ... :end-time nil :aborted-p nil :current-test #1 :next-redisplay 0.0))) :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-tests-batch :args ((not (or ... ... ...))) :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun ert-run-tests-batch-and-exit :args ((not (or ... ... ...))) :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun eval :args ((ert-run-tests-batch-and-exit '...) t) :flags nil :locals nil :buffer nil :pos nil) #s(backtrace-frame :evald t :fun command-line-1 :args (("-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/image-tests" "--eval" "(ert-run-tests-batch-and-exit (quote (not (or (tag :expensive-test) (tag :unstable) (tag :nativecomp)))))")) :flags nil :locals ((command-line-args-left) (argi . "-eval")) :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/image-tests.el"))
  ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-map #<hash-table eql 20/20 0x10ed2ec696bb ...> :test-results ... :test-start-times ... :test-end-times ... :passed-expected 3 :passed-unexpected 0 :failed-expected 0 :failed-unexpected 1 :skipped 3 :start-time ... :end-time nil :aborted-p nil ...) #s(ert-test :name image-supported-file-p/optional :documentation nil :body #f(compiled-function () #<bytecode 0xf3e0efa6ef7d4d8>) :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/image-tests.el") #f(compiled-function (event-type &rest event-args) #<bytecode -0x1cc6ab1dfc4a8548>))
  ert-run-tests((not (or (tag :expensive-test) (tag :unstable) (tag :nativecomp))) #f(compiled-function (event-type &rest event-args) #<bytecode -0x1cc6ab1dfc4a8548>) 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/image-tests" "--eval" "(ert-run-tests-batch-and-exit (quote (not (or (tag :expensive-test) (tag :unstable) (tag :nativecomp)))))"))
  command-line()
  normal-top-level()

Test image-supported-file-p/optional condition:
    (ert-test-failed
     ((should-not (image-supported-file-p "foo.jpg")) :form
      (image-supported-file-p "foo.jpg") :value imagemagick))
   FAILED   7/20  image-supported-file-p/optional (0.000113 sec) at lisp/image-tests.el:82
   passed   8/20  image-supported-file-p/unsupported-returns-nil (0.000083 sec)
   passed   9/20  image-transform-map (0.000104 sec)
   passed  10/20  image-type-from-file-header-test/gif (0.000320 sec)
   passed  11/20  image-type-from-file-header-test/jpeg (0.000300 sec)
   passed  12/20  image-type-from-file-header-test/pbm (0.000296 sec)
   passed  13/20  image-type-from-file-header-test/png (0.000284 sec)
   passed  14/20  image-type-from-file-header-test/svg (0.000498 sec)
   passed  15/20  image-type-from-file-header-test/tiff (0.000324 sec)
   passed  16/20  image-type-from-file-header-test/webp (0.000292 sec)
   passed  17/20  image-type-from-file-header-test/xbm (0.000290 sec)
   passed  18/20  image-type-from-file-header-test/xpm (0.000301 sec)
  skipped  19/20  image-type-from-file-name (0.000064 sec)
  skipped  20/20  image-type/from-filename (0.000054 sec)

Ran 20 tests, 14 results as expected, 1 unexpected, 5 skipped (2025-02-21 11:53:43+0100, 0.126387 sec)

1 unexpected results:
   FAILED  image-supported-file-p/optional  ((should-not (image-supported-file-p "foo.jpg")) :form (image-supported-file-p "foo.jpg") :value imagemagick)

5 skipped results:
  SKIPPED  image--compute-map-and-original-map  ((skip-unless (display-images-p)) :form (display-images-p) :value nil)
  SKIPPED  image-create-image-with-map  ((skip-unless (display-images-p)) :form (display-images-p) :value nil)
  SKIPPED  image-supported-file-p/built-in  ((skip-unless (display-images-p)) :form (display-images-p) :value nil)
  SKIPPED  image-type-from-file-name  ((skip-unless (and (image-type-available-p 'jpeg) (image-type-available-p 'png) (image-type-available-p 'webp))) :form (and (image-type-available-p 'jpeg) (image-type-available-p 'png) (image-type-available-p 'webp)) :value nil)
  SKIPPED  image-type/from-filename  ((skip-unless (and (bound-and-true-p image-types) (bound-and-true-p image-load-path) (image-type-available-p 'jpeg))) :form (and (and (boundp 'image-types) image-types) (and (boundp 'image-load-path) image-load-path) (image-type-available-p 'jpeg)) :value nil)

In GNU Emacs 30.1 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo
 version 1.18.2) of 2025-02-21 built on urania
Windowing system distributor 'The X.Org Foundation', version 11.0.12101015
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=inotify --with-pdumper --enable-acl
 --enable-xattr --with-dbus --with-modules --with-gameuser=:gamestat
 --with-libgmp --with-gpm --without-native-compilation
 --without-kerberos --without-kerberos5 --with-lcms2 --with-xml2
 --without-mailutils --without-selinux --without-sqlite3 --with-gnutls
 --without-libsystemd --with-threads --without-tree-sitter
 --without-wide-int --with-sound=alsa --with-zlib --with-x
 --without-pgtk --without-ns --without-gconf --with-gsettings
 --without-toolkit-scroll-bars --with-xpm --with-xft --with-cairo
 --with-harfbuzz --with-libotf --with-m17n-flt --with-x-toolkit=lucid
 --with-xaw3d --with-gif --without-jpeg --with-png --with-rsvg
 --with-tiff --without-webp --with-imagemagick --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:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ
IMAGEMAGICK LCMS2 LIBOTF LIBXML2 M17N_FLT MODULES NOTIFY INOTIFY PDUMPER
PNG RSVG SECCOMP SOUND THREADS TIFF X11 XAW3D XDBE XIM XINPUT2 XPM LUCID
ZLIB

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