Subject: Re: bug#30700: 27.0.50; Broken tests on macOS

From: Philipp Stephani <[email-masked]>
Date: Wed, 17 Apr 2019 21:25:37 +0200

Am So., 4. März 2018 um 20:06 Uhr schrieb Philipp <[email-masked]>:
>
>
> The following tests fail for me on macOS with a recent master build:

An update: I've run the testsuite again. The errors I got this time are:

Test tramp-test19-directory-files-and-attributes backtrace:
  signal(ert-test-failed (((should (tramp--test-file-attributes-equal-
  ert-fail(((should (tramp--test-file-attributes-equal-p (file-attribu
  #f(compiled-function () #<bytecode 0x1fe0c361f401>)()
  ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
  ert-run-test(#s(ert-test :name tramp-test19-directory-files-and-attr
  ert-run-or-rerun-test(#s(ert--stats :selector (not ...) :tests [...
  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" "-l" "lisp/net/tramp-tests" "--
  command-line()
  normal-top-level()
Test tramp-test19-directory-files-and-attributes condition:
    (ert-test-failed
     ((should
       (tramp--test-file-attributes-equal-p
(file-attributes ...)
(cdr elt)))
      :form
      (tramp--test-file-attributes-equal-p
       (t 5 501 20
  (0 0 0 1000)
  (23735 29792)
  (23735 29792)
  160 "drwxr-xr-x" nil ...)
       (t 5 501 20
  (0 0 0 1000)
  (23735 29792)
  (23735 29792)
  160 "drwxr-xr-x" nil ...))
      :value nil))
   FAILED  25/46  tramp-test19-directory-files-and-attributes (1.931638 sec)

When using the explainer for equal, I get

(list-elt 10
(different-types 8887934387
(4547 . 7603)))

i.e. the inode numbers are different. I also don't understand why it
used the dotted format for the RHS; with big integers this should
never be necessary.

Test tramp-test22-file-times backtrace:
  signal(ert-test-failed (((should (equal (nth 5 (file-attributes tmp-
  ert-fail(((should (equal (nth 5 (file-attributes tmp-name1)) (second
  #f(compiled-function () #<bytecode 0x1fe0c361faad>)()
  ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
  ert-run-test(#s(ert-test :name tramp-test22-file-times :documentatio
  ert-run-or-rerun-test(#s(ert--stats :selector (not ...) :tests [...
  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" "-l" "lisp/net/tramp-tests" "--
  command-line()
  normal-top-level()
Test tramp-test22-file-times condition:
    (ert-test-failed
     ((should
       (equal
(nth 5 ...)
(seconds-to-time 1)))
      :form
      (equal
       (0 1)
       (0 1 0 0))
      :value nil :explanation
      (proper-lists-of-different-length 2 4
(0 1)
(0 1 0 0)
first-mismatch-at 2)))
   FAILED  28/46  tramp-test22-file-times (2.090504 sec)

These are two different representations of the same time. Probably
something should normalize the return values to the canonical format.

Test echo-server-with-dns backtrace:
  make-network-process(:name "server" :server t :noquery t :family ipv
  make-server("p")
  #f(compiled-function () #<bytecode 0x1fe754a46039>)()
  ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
  ert-run-test(#s(ert-test :name echo-server-with-dns :documentation n
  ert-run-or-rerun-test(#s(ert--stats :selector (not ...) :tests [...
  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" "-l" "lisp/net/network-stream-t
  command-line()
  normal-top-level()
Test echo-server-with-dns condition:
    (error "p/0 nodename nor servname provided, or not known")
   FAILED   5/24  echo-server-with-dns (0.003934 sec)

Same as before.

Test shadow-test08-shadow-todo backtrace:
  signal(ert-test-failed (((should (member (cons file (shadow-contract
  ert-fail(((should (member (cons file (shadow-contract-file-name (con
  #f(compiled-function () #<bytecode 0x1fef4521fecd>)()
  ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
  ert-run-test(#s(ert-test :name shadow-test08-shadow-todo :documentat
  ert-run-or-rerun-test(#s(ert--stats :selector (not (or ... ...)) :te
  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" "-l" "lisp/shadowfile-tests" "-
  command-line()
  normal-top-level()
Test shadow-test08-shadow-todo condition:
    (ert-test-failed
     ((should
       (member
(cons file ...)
shadow-files-to-copy))
      :form
      (member
       ("/var/folders/ks/sxl3n3w51td0ry21j3tjs1wh0000gn/T/shadowfile-testsoznrLv"
. "/cluster2:/var/folders/ks/sxl3n3w51td0ry21j3tjs1wh0000gn/T/shadowfile-testsoznrLv")
       nil)
      :value nil))
   FAILED   9/10  shadow-test08-shadow-todo (0.170742 sec)

Test shadow-test09-shadow-copy-files backtrace:
  signal(ert-test-failed (((should (looking-at (regexp-quote "(setq sh
  ert-fail(((should (looking-at (regexp-quote "(setq shadow-files-to-c
  #f(compiled-function () #<bytecode 0x1fef45220eb5>)()
  ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
  ert-run-test(#s(ert-test :name shadow-test09-shadow-copy-files :docu
  ert-run-or-rerun-test(#s(ert--stats :selector (not (or ... ...)) :te
  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" "-l" "lisp/shadowfile-tests" "-
  command-line()
  normal-top-level()
Test shadow-test09-shadow-copy-files condition:
    (ert-test-failed
     ((should
       (looking-at
(regexp-quote "(setq shadow-files-to-copy nil)")))
      :form
      (looking-at "(setq shadow-files-to-copy nil)")
      :value nil))
   FAILED  10/10  shadow-test09-shadow-copy-files (2.697340 sec)

I don't understand these yet.

That is, some tests are fixed, but there are also a few new failures.