* bug#37202: shadowfile-tests: two failures on macOS @ 2019-08-28 0:41 Stefan Kangas 2019-08-28 8:18 ` Michael Albinus 0 siblings, 1 reply; 25+ messages in thread From: Stefan Kangas @ 2019-08-28 0:41 UTC (permalink / raw) To: 37202 I'm seeing two test failures in shadowfile-tests on macOS on current master. Running 10 tests (2019-08-28 02:27:08+0200, selector `(not (or (tag :expensive-test) (tag :unstable)))') passed 1/10 shadow-test00-clusters (4.016950 sec) passed 2/10 shadow-test01-sites (0.001616 sec) passed 3/10 shadow-test02-files (0.002011 sec) passed 4/10 shadow-test03-expand-cluster-in-file-name (0.016575 sec) passed 5/10 shadow-test04-contract-file-name (0.105286 sec) passed 6/10 shadow-test05-file-match (0.001446 sec) passed 7/10 shadow-test06-literal-groups (0.005732 sec) passed 8/10 shadow-test07-regexp-groups (0.001333 sec) 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 0x1ffc602329d1>)() 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/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-tests6rxEJv" . "/cluster2:/var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-tests6rxEJv") nil) :value nil)) FAILED 9/10 shadow-test08-shadow-todo (0.231305 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 0x1ffc60232b79>)() 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 (0.756282 sec) Ran 10 tests, 8 results as expected, 2 unexpected (2019-08-28 02:27:13+0200, 5.665292 sec) 2 unexpected results: FAILED shadow-test08-shadow-todo FAILED shadow-test09-shadow-copy-files Best regards, Stefan Kangas In GNU Emacs 27.0.50 (build 10, x86_64-apple-darwin16.7.0, NS appkit-1504.83 Version 10.12.6 (Build 16G2128)) of 2019-08-28 built on Stefans-MBP Repository revision: 4118297ae2fab4886b20d193ba511a229637aea3 Repository branch: master Windowing system distributor 'Apple', version 10.3.1504 System Description: Mac OS X 10.12.6 Configured features: NOTIFY KQUEUE ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS NS THREADS PDUMPER LCMS2 GMP Important settings: value of $LC_CTYPE: UTF-8 value of $LANG: en_SE@calendar=iso8601.UTF-8 locale-coding-system: utf-8-unix ^ permalink raw reply [flat|nested] 25+ messages in thread
* bug#37202: shadowfile-tests: two failures on macOS 2019-08-28 0:41 bug#37202: shadowfile-tests: two failures on macOS Stefan Kangas @ 2019-08-28 8:18 ` Michael Albinus 2019-08-29 13:51 ` Michael Albinus 0 siblings, 1 reply; 25+ messages in thread From: Michael Albinus @ 2019-08-28 8:18 UTC (permalink / raw) To: Stefan Kangas; +Cc: 37202 Stefan Kangas <stefan@marxist.se> writes: Hi Stefan, > I'm seeing two test failures in shadowfile-tests on macOS on current master. > 2 unexpected results: > FAILED shadow-test08-shadow-todo > FAILED shadow-test09-shadow-copy-files So you've hit me, again :-( Will check later today what's up. > Best regards, > Stefan Kangas Best regards, Michael. ^ permalink raw reply [flat|nested] 25+ messages in thread
* bug#37202: shadowfile-tests: two failures on macOS 2019-08-28 8:18 ` Michael Albinus @ 2019-08-29 13:51 ` Michael Albinus [not found] ` <CADwFkmkxp+NhTTuUg_kja-768nskD4JhbhTwTMKkwh4=QxfKjw@mail.gmail.com> 0 siblings, 1 reply; 25+ messages in thread From: Michael Albinus @ 2019-08-29 13:51 UTC (permalink / raw) To: Stefan Kangas; +Cc: 37202 Michael Albinus <michael.albinus@gmx.de> writes: Hi Stefan, >> I'm seeing two test failures in shadowfile-tests on macOS on current master. > >> 2 unexpected results: >> FAILED shadow-test08-shadow-todo >> FAILED shadow-test09-shadow-copy-files > > Will check later today what's up. After adding some trace messages (intended for you, originally), the error happens also to me. Looks like some race conditions. I still don't understand what happens, but I'm able now to debug myself. >> Best regards, >> Stefan Kangas Best regards, Michael. ^ permalink raw reply [flat|nested] 25+ messages in thread
[parent not found: <CADwFkmkxp+NhTTuUg_kja-768nskD4JhbhTwTMKkwh4=QxfKjw@mail.gmail.com>]
* bug#37202: shadowfile-tests: two failures on macOS [not found] ` <CADwFkmkxp+NhTTuUg_kja-768nskD4JhbhTwTMKkwh4=QxfKjw@mail.gmail.com> @ 2019-09-03 12:12 ` Michael Albinus 2019-09-03 13:13 ` Stefan Kangas 0 siblings, 1 reply; 25+ messages in thread From: Michael Albinus @ 2019-09-03 12:12 UTC (permalink / raw) To: Stefan Kangas; +Cc: 37202 Stefan Kangas <stefan@marxist.se> writes: Hi Stefan, >> After adding some trace messages (intended for you, originally), the >> error happens also to me. Looks like some race conditions. I still don't >> understand what happens, but I'm able now to debug myself. > > Thanks. As usual, let me know if you would like me to run any tests. I've pushed some changes to master, which fix the problem at least for me. Major change is to improve the cleanup of internal shadowfile variables between the tests. Could you, pls, check? In case it still fails, pls set shadow-debug to t (in shadowfile-tests.el, line 67), and rerun the test. > Best regards, > Stefan Kangas Best regards, Michael. ^ permalink raw reply [flat|nested] 25+ messages in thread
* bug#37202: shadowfile-tests: two failures on macOS 2019-09-03 12:12 ` Michael Albinus @ 2019-09-03 13:13 ` Stefan Kangas 2019-09-03 15:04 ` Michael Albinus 2019-09-04 12:16 ` Michael Albinus 0 siblings, 2 replies; 25+ messages in thread From: Stefan Kangas @ 2019-09-03 13:13 UTC (permalink / raw) To: Michael Albinus; +Cc: 37202 [-- Attachment #1: Type: text/plain, Size: 527 bytes --] Michael Albinus <michael.albinus@gmx.de> writes: Hi Michael, > Could you, pls, check? In case it still fails, pls set shadow-debug to t > (in shadowfile-tests.el, line 67), and rerun the test. Thanks for looking into this. Unfortunately, I'm still seeing failures on latest master (commit ea5d591f29): 2 unexpected results: FAILED shadow-test08-shadow-todo FAILED shadow-test09-shadow-copy-files I've attached the output of "make -C test shadowfile-tests" with shadow-debug set to t. Best regards, Stefan Kangas [-- Attachment #2: shadowfile-tests.log --] [-- Type: application/octet-stream, Size: 4424 bytes --] GEN lisp/shadowfile-tests.log Running 10 tests (2019-09-03 15:09:00+0200, selector `(not (tag :unstable))') passed 1/10 shadow-test00-clusters (4.038487 sec) passed 2/10 shadow-test01-sites (0.028111 sec) passed 3/10 shadow-test02-files (0.011824 sec) passed 4/10 shadow-test03-expand-cluster-in-file-name (0.012810 sec) passed 5/10 shadow-test04-contract-file-name (0.134683 sec) passed 6/10 shadow-test05-file-match (0.015192 sec) passed 7/10 shadow-test06-literal-groups (0.034533 sec) passed 8/10 shadow-test07-regexp-groups (0.030164 sec) cluster1 /Stefans-MBP: \`/Stefans-MBP:\' ((shadow-cluster cluster1 /Stefans-MBP: \`/Stefans-MBP:\')) cluster2 /mock:Stefans-MBP: \`/mock:Stefans-MBP:\' ((shadow-cluster cluster2 /mock:Stefans-MBP: \`/mock:Stefans-MBP:\') (shadow-cluster cluster1 /Stefans-MBP: \`/Stefans-MBP:\')) /var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsMVv1V3 ((/cluster1:/var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsMVv1V3 /cluster2:/var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsMVv1V3)) (/var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsMVv1V3 . /cluster2:/var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsMVv1V3) nil 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 (if (unwind-protect (setq value-549 (apply fn-547 args-548)) (setq f (let (form-description-551) (if (unwind-protect (setq value-549 (app (let ((value-549 'ert-form-evaluation-aborted-550)) (let (form-descr (let* ((fn-547 #'member) (args-548 (condition-case err (let ((signal (progn (shadow--tests-cleanup) (setq cluster1 "cluster1" primary sha (unwind-protect (progn (shadow--tests-cleanup) (setq cluster1 "clust (let ((backup-inhibited t) (shadow-info-file shadow-test-info-file) (lambda nil (let* ((fn-532 #'not) (args-533 (condition-case err (let 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 (tag :unstable)) ert-run-tests((not (tag :unstable)) #f(compiled-function (event-type ert-run-tests-batch((not (tag :unstable))) ert-run-tests-batch-and-exit((not (tag :unstable))) eval((ert-run-tests-batch-and-exit '(not (tag :unstable))) t) command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/shadowfile-tests.el" 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/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsMVv1V3" . "/cluster2:/var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsMVv1V3") nil) :value nil)) FAILED 9/10 shadow-test08-shadow-todo (0.134735 sec) Test shadow-test09-shadow-copy-files backtrace: set-buffer(nil) (save-current-buffer (set-buffer shadow-todo-buffer) (goto-char (poi (progn (shadow--tests-cleanup) (setq cluster1 "cluster1" primary sha (unwind-protect (progn (shadow--tests-cleanup) (setq cluster1 "clust (let ((backup-inhibited t) (shadow-info-file shadow-test-info-file) (lambda nil (let* ((fn-567 #'not) (args-568 (condition-case err (let 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 (tag :unstable)) ert-run-tests((not (tag :unstable)) #f(compiled-function (event-type ert-run-tests-batch((not (tag :unstable))) ert-run-tests-batch-and-exit((not (tag :unstable))) eval((ert-run-tests-batch-and-exit '(not (tag :unstable))) t) command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/shadowfile-tests.el" command-line() normal-top-level() Test shadow-test09-shadow-copy-files condition: (wrong-type-argument stringp nil) FAILED 10/10 shadow-test09-shadow-copy-files (0.580559 sec) Ran 10 tests, 8 results as expected, 2 unexpected (2019-09-03 15:09:06+0200, 5.780896 sec) 2 unexpected results: FAILED shadow-test08-shadow-todo FAILED shadow-test09-shadow-copy-files make[1]: *** [lisp/shadowfile-tests.log] Error 1 make: *** [lisp/shadowfile-tests] Error 2 ^ permalink raw reply [flat|nested] 25+ messages in thread
* bug#37202: shadowfile-tests: two failures on macOS 2019-09-03 13:13 ` Stefan Kangas @ 2019-09-03 15:04 ` Michael Albinus 2019-09-04 12:16 ` Michael Albinus 1 sibling, 0 replies; 25+ messages in thread From: Michael Albinus @ 2019-09-03 15:04 UTC (permalink / raw) To: Stefan Kangas; +Cc: 37202 Stefan Kangas <stefan@marxist.se> writes: > Hi Michael, Hi Stefan, >> Could you, pls, check? In case it still fails, pls set shadow-debug to t >> (in shadowfile-tests.el, line 67), and rerun the test. > > Thanks for looking into this. Unfortunately, I'm still seeing > failures on latest master (commit ea5d591f29): > > 2 unexpected results: > FAILED shadow-test08-shadow-todo > FAILED shadow-test09-shadow-copy-files > > I've attached the output of "make -C test shadowfile-tests" with > shadow-debug set to t. Thanks. It's a pity that the error doesn't happen anymore to me after the recent changes. Will investigate further. > Best regards, > Stefan Kangas Best regards, Michael. ^ permalink raw reply [flat|nested] 25+ messages in thread
* bug#37202: shadowfile-tests: two failures on macOS 2019-09-03 13:13 ` Stefan Kangas 2019-09-03 15:04 ` Michael Albinus @ 2019-09-04 12:16 ` Michael Albinus 2019-09-05 15:07 ` Stefan Kangas 1 sibling, 1 reply; 25+ messages in thread From: Michael Albinus @ 2019-09-04 12:16 UTC (permalink / raw) To: Stefan Kangas; +Cc: 37202 Stefan Kangas <stefan@marxist.se> writes: > Hi Michael, Hi Stefan, > Thanks for looking into this. Unfortunately, I'm still seeing > failures on latest master (commit ea5d591f29): > > 2 unexpected results: > FAILED shadow-test08-shadow-todo > FAILED shadow-test09-shadow-copy-files > > I've attached the output of "make -C test shadowfile-tests" with > shadow-debug set to t. I've made some changes in shadowfile-tests.el in order to improve robustness. Since I cannot reproduce locally, I don't know whether it solves the problem. But it might be worth to check, > Best regards, > Stefan Kangas Best regards, Michael. ^ permalink raw reply [flat|nested] 25+ messages in thread
* bug#37202: shadowfile-tests: two failures on macOS 2019-09-04 12:16 ` Michael Albinus @ 2019-09-05 15:07 ` Stefan Kangas 2019-09-07 10:33 ` Michael Albinus 0 siblings, 1 reply; 25+ messages in thread From: Stefan Kangas @ 2019-09-05 15:07 UTC (permalink / raw) To: Michael Albinus; +Cc: 37202 [-- Attachment #1: Type: text/plain, Size: 579 bytes --] Michael Albinus <michael.albinus@gmx.de> writes: > > 2 unexpected results: > > FAILED shadow-test08-shadow-todo > > FAILED shadow-test09-shadow-copy-files > > > > I've attached the output of "make -C test shadowfile-tests" with > > shadow-debug set to t. > > I've made some changes in shadowfile-tests.el in order to improve > robustness. Since I cannot reproduce locally, I don't know whether it > solves the problem. But it might be worth to check, Thanks. I tried your changes, but I still see the same failures. I've attached the log. Best regards, Stefan Kangas [-- Attachment #2: shadowfile-tests.log --] [-- Type: application/octet-stream, Size: 5021 bytes --] ELC lisp/shadowfile-tests.elc GEN lisp/shadowfile-tests.log Running 10 tests (2019-09-04 18:22:11+0200, selector `(not (tag :unstable))') passed 1/10 shadow-test00-clusters (4.057109 sec) passed 2/10 shadow-test01-sites (0.026418 sec) passed 3/10 shadow-test02-files (0.045824 sec) passed 4/10 shadow-test03-expand-cluster-in-file-name (0.020070 sec) passed 5/10 shadow-test04-contract-file-name (0.213844 sec) passed 6/10 shadow-test05-file-match (0.035365 sec) passed 7/10 shadow-test06-literal-groups (0.044261 sec) passed 8/10 shadow-test07-regexp-groups (0.022294 sec) cluster1 /Stefans-MBP: \`/Stefans-MBP:\' ((shadow-cluster cluster1 /Stefans-MBP: \`/Stefans-MBP:\')) cluster2 /mock:Stefans-MBP: \`/mock:Stefans-MBP:\' ((shadow-cluster cluster2 /mock:Stefans-MBP: \`/mock:Stefans-MBP:\') (shadow-cluster cluster1 /Stefans-MBP: \`/Stefans-MBP:\')) /var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsr3ds3A ((/cluster1:/var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsr3ds3A /cluster2:/var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsr3ds3A)) (/var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsr3ds3A . /cluster2:/var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsr3ds3A) nil 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 (if (unwind-protect (setq value-549 (apply fn-547 args-548)) (setq f (let (form-description-551) (if (unwind-protect (setq value-549 (app (let ((value-549 'ert-form-evaluation-aborted-550)) (let (form-descr (let* ((fn-547 #'member) (args-548 (condition-case err (let ((signal (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "c (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) ( (let ((backup-inhibited t) (shadow-info-file shadow-test-info-file) (lambda nil (let* ((fn-532 #'not) (args-533 (condition-case err (let 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 (tag :unstable)) ert-run-tests((not (tag :unstable)) #f(compiled-function (event-type ert-run-tests-batch((not (tag :unstable))) ert-run-tests-batch-and-exit((not (tag :unstable))) eval((ert-run-tests-batch-and-exit '(not (tag :unstable))) t) command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/shadowfile-tests.el" 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/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsr3ds3A" . "/cluster2:/var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsr3ds3A") nil) :value nil)) FAILED 9/10 shadow-test08-shadow-todo (0.415743 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 (if (unwind-protect (setq value-591 (apply fn-589 args-590)) (setq f (let (form-description-593) (if (unwind-protect (setq value-591 (app (let ((value-591 'ert-form-evaluation-aborted-592)) (let (form-descr (let* ((fn-589 #'looking-at) (args-590 (condition-case err (let ((si (save-current-buffer (set-buffer shadow-todo-buffer) (goto-char (poi (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "c (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) ( (let ((backup-inhibited t) (shadow-info-file shadow-test-info-file) (lambda nil (let* ((fn-567 #'not) (args-568 (condition-case err (let 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 (tag :unstable)) ert-run-tests((not (tag :unstable)) #f(compiled-function (event-type ert-run-tests-batch((not (tag :unstable))) ert-run-tests-batch-and-exit((not (tag :unstable))) eval((ert-run-tests-batch-and-exit '(not (tag :unstable))) t) command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/shadowfile-tests.el" 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 (0.715995 sec) Ran 10 tests, 8 results as expected, 2 unexpected (2019-09-04 18:22:18+0200, 6.632163 sec) 2 unexpected results: FAILED shadow-test08-shadow-todo FAILED shadow-test09-shadow-copy-files make[1]: *** [lisp/shadowfile-tests.log] Error 1 make: *** [lisp/shadowfile-tests] Error 2 ^ permalink raw reply [flat|nested] 25+ messages in thread
* bug#37202: shadowfile-tests: two failures on macOS 2019-09-05 15:07 ` Stefan Kangas @ 2019-09-07 10:33 ` Michael Albinus 2019-09-07 12:45 ` Stefan Kangas 0 siblings, 1 reply; 25+ messages in thread From: Michael Albinus @ 2019-09-07 10:33 UTC (permalink / raw) To: Stefan Kangas; +Cc: 37202 Stefan Kangas <stefan@marxist.se> writes: > Thanks. I tried your changes, but I still see the same failures. > I've attached the log. So I've added more traces, since it doesn't happen to me. Pls run. > Best regards, > Stefan Kangas Best regards, Michael. ^ permalink raw reply [flat|nested] 25+ messages in thread
* bug#37202: shadowfile-tests: two failures on macOS 2019-09-07 10:33 ` Michael Albinus @ 2019-09-07 12:45 ` Stefan Kangas 2019-09-08 8:21 ` Michael Albinus 0 siblings, 1 reply; 25+ messages in thread From: Stefan Kangas @ 2019-09-07 12:45 UTC (permalink / raw) To: Michael Albinus; +Cc: 37202 [-- Attachment #1: Type: text/plain, Size: 167 bytes --] Michael Albinus <michael.albinus@gmx.de> writes: > So I've added more traces, since it doesn't happen to me. Pls run. OK. Log file attached. Thanks, Stefan Kangas [-- Attachment #2: shadowfile-tests.log --] [-- Type: application/octet-stream, Size: 74052 bytes --] ELC lisp/shadowfile-tests.elc GEN lisp/shadowfile-tests.log Running 10 tests (2019-09-07 14:42:49+0200, selector `(not (tag :unstable))') passed 1/10 shadow-test00-clusters (4.052964 sec) passed 2/10 shadow-test01-sites (0.022327 sec) passed 3/10 shadow-test02-files (0.041241 sec) passed 4/10 shadow-test03-expand-cluster-in-file-name (0.027411 sec) passed 5/10 shadow-test04-contract-file-name (0.385955 sec) passed 6/10 shadow-test05-file-match (0.060554 sec) passed 7/10 shadow-test06-literal-groups (0.068872 sec) passed 8/10 shadow-test07-regexp-groups (0.032929 sec) shadow-test08-shadow-todo: cluster1 /Stefans-MBP: \`/Stefans-MBP:\' ((shadow-cluster cluster1 /Stefans-MBP: \`/Stefans-MBP:\')) shadow-test08-shadow-todo: cluster2 /mock:Stefans-MBP: \`/mock:Stefans-MBP:\' ((shadow-cluster cluster2 /mock:Stefans-MBP: \`/mock:Stefans-MBP:\') (shadow-cluster cluster1 /Stefans-MBP: \`/Stefans-MBP:\')) shadow-test08-shadow-todo: /var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsmTKsYe ((/cluster1:/var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsmTKsYe /cluster2:/var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsmTKsYe)) shadow-add-to-todo: nil nil backtrace() shadow-add-to-todo() run-hook-with-args-until-success(shadow-add-to-todo) basic-save-buffer(nil) save-buffer() (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster1 primary regexp) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s %s %s" cluster1 primary regexp shadow-clusters))) (setq cluster2 "cluster2" primary (file-remote-p shadow-test-remote-temporary-file-directory) regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster2 primary regexp) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s %s %s" cluster2 primary regexp shadow-clusters))) (setq file (make-temp-name (expand-file-name "shadowfile-tests" temporary-file-directory)) shadow-literal-groups (list (list (concat "/cluster1:" file) (concat "/cluster2:" file)))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" file shadow-literal-groups))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" (cons file (shadow-contract-file-name (concat "/cluster2:" file))) shadow-files-to-copy))) (let* ((fn-547 #'member) (args-548 (condition-case err (let ((signal-hook-function ...)) (list (cons file ...) shadow-files-to-copy)) (error (progn (setq fn-547 ...) (list ... ...)))))) (let ((value-549 'ert-form-evaluation-aborted-550)) (let (form-description-551) (if (unwind-protect (setq value-549 (apply fn-547 args-548)) (setq form-description-551 (nconc ... ... ... ...)) (ert--signal-should-execution form-description-551)) nil (ert-fail form-description-551))) value-549)) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name (concat (shadow-site-primary cluster2) file)) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" (cons (concat (shadow-site-primary cluster2) file) (shadow-contract-file-name (concat "/cluster1:" file))) shadow-files-to-copy))) (let* ((fn-552 #'member) (args-553 (condition-case err (let ((signal-hook-function ...)) (list (cons ... ...) shadow-files-to-copy)) (error (progn (setq fn-552 ...) (list ... ...)))))) (let ((value-554 'ert-form-evaluation-aborted-555)) (let (form-description-556) (if (unwind-protect (setq value-554 (apply fn-552 args-553)) (setq form-description-556 (nconc ... ... ... ...)) (ert--signal-should-execution form-description-556)) nil (ert-fail form-description-556))) value-554)) (setq shadow-files-to-copy nil shadow-regexp-groups (list (list (concat (shadow-site-primary cluster1) (shadow-regexp-superquote file)) (concat (shadow-site-primary cluster2) (shadow-regexp-superquote file))))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" file shadow-regexp-groups))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" (cons file (shadow-contract-file-name (concat "/cluster2:" file))) shadow-files-to-copy))) (let* ((fn-557 #'member) (args-558 (condition-case err (let ((signal-hook-function ...)) (list (cons file ...) shadow-files-to-copy)) (error (progn (setq fn-557 ...) (list ... ...)))))) (let ((value-559 'ert-form-evaluation-aborted-560)) (let (form-description-561) (if (unwind-protect (setq value-559 (apply fn-557 args-558)) (setq form-description-561 (nconc ... ... ... ...)) (ert--signal-should-execution form-description-561)) nil (ert-fail form-description-561))) value-559)) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name (concat (shadow-site-primary cluster2) file)) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" (cons (concat (shadow-site-primary cluster2) file) (shadow-contract-file-name (concat "/cluster1:" file))) shadow-files-to-copy))) (let* ((fn-562 #'member) (args-563 (condition-case err (let ((signal-hook-function ...)) (list (cons ... ...) shadow-files-to-copy)) (error (progn (setq fn-562 ...) (list ... ...)))))) (let ((value-564 'ert-form-evaluation-aborted-565)) (let (form-description-566) (if (unwind-protect (setq value-564 (apply fn-562 args-563)) (setq form-description-566 (nconc ... ... ... ...)) (ert--signal-should-execution form-description-566)) nil (ert-fail form-description-566))) value-564))) (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster1 primary regexp) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s %s %s" cluster1 primary regexp shadow-clusters))) (setq cluster2 "cluster2" primary (file-remote-p shadow-test-remote-temporary-file-directory) regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster2 primary regexp) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s %s %s" cluster2 primary regexp shadow-clusters))) (setq file (make-temp-name (expand-file-name "shadowfile-tests" temporary-file-directory)) shadow-literal-groups (list (list (concat "/cluster1:" file) (concat "/cluster2:" file)))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" file shadow-literal-groups))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" (cons file (shadow-contract-file-name (concat "/cluster2:" file))) shadow-files-to-copy))) (let* ((fn-547 #'member) (args-548 (condition-case err (let (...) (list ... shadow-files-to-copy)) (error (progn ... ...))))) (let ((value-549 'ert-form-evaluation-aborted-550)) (let (form-description-551) (if (unwind-protect (setq value-549 ...) (setq form-description-551 ...) (ert--signal-should-execution form-description-551)) nil (ert-fail form-description-551))) value-549)) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name (concat ... file)) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" (cons (concat (shadow-site-primary cluster2) file) (shadow-contract-file-name (concat "/cluster1:" file))) shadow-files-to-copy))) (let* ((fn-552 #'member) (args-553 (condition-case err (let (...) (list ... shadow-files-to-copy)) (error (progn ... ...))))) (let ((value-554 'ert-form-evaluation-aborted-555)) (let (form-description-556) (if (unwind-protect (setq value-554 ...) (setq form-description-556 ...) (ert--signal-should-execution form-description-556)) nil (ert-fail form-description-556))) value-554)) (setq shadow-files-to-copy nil shadow-regexp-groups (list (list (concat (shadow-site-primary cluster1) (shadow-regexp-superquote file)) (concat (shadow-site-primary cluster2) (shadow-regexp-superquote file))))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" file shadow-regexp-groups))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" (cons file (shadow-contract-file-name (concat "/cluster2:" file))) shadow-files-to-copy))) (let* ((fn-557 #'member) (args-558 (condition-case err (let (...) (list ... shadow-files-to-copy)) (error (progn ... ...))))) (let ((value-559 'ert-form-evaluation-aborted-560)) (let (form-description-561) (if (unwind-protect (setq value-559 ...) (setq form-description-561 ...) (ert--signal-should-execution form-description-561)) nil (ert-fail form-description-561))) value-559)) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name (concat ... file)) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" (cons (concat (shadow-site-primary cluster2) file) (shadow-contract-file-name (concat "/cluster1:" file))) shadow-files-to-copy))) (let* ((fn-562 #'member) (args-563 (condition-case err (let (...) (list ... shadow-files-to-copy)) (error (progn ... ...))))) (let ((value-564 'ert-form-evaluation-aborted-565)) (let (form-description-566) (if (unwind-protect (setq value-564 ...) (setq form-description-566 ...) (ert--signal-should-execution form-description-566)) nil (ert-fail form-description-566))) value-564))) (let ((--dolist-tail-- (list file (concat (shadow-site-primary cluster2) file))) elt) (while --dolist-tail-- (setq elt (car --dolist-tail--)) (condition-case nil (progn (save-current-buffer (set-buffer (get-file-buffer elt)) (set-buffer-modified-p nil) (kill-buffer))) (error nil)) (condition-case nil (progn (delete-file elt)) (error nil)) (setq --dolist-tail-- (cdr --dolist-tail--)))) (shadow--tests-cleanup)) (let ((backup-inhibited t) (shadow-info-file shadow-test-info-file) (shadow-todo-file shadow-test-todo-file) (shadow-inhibit-message t) shadow-clusters shadow-literal-groups shadow-regexp-groups shadow-files-to-copy cluster1 cluster2 primary regexp file) (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster1 primary regexp) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s %s %s" cluster1 primary regexp shadow-clusters))) (setq cluster2 "cluster2" primary (file-remote-p shadow-test-remote-temporary-file-directory) regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster2 primary regexp) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s %s %s" cluster2 primary regexp shadow-clusters))) (setq file (make-temp-name (expand-file-name "shadowfile-tests" temporary-file-directory)) shadow-literal-groups (list (list (concat "/cluster1:" file) (concat "/cluster2:" file)))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" file shadow-literal-groups))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" (cons file (shadow-contract-file-name ...)) shadow-files-to-copy))) (let* ((fn-547 #'member) (args-548 (condition-case err (let ... ...) (error ...)))) (let ((value-549 'ert-form-evaluation-aborted-550)) (let (form-description-551) (if (unwind-protect ... ... ...) nil (ert-fail form-description-551))) value-549)) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name ...) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" (cons (concat ... file) (shadow-contract-file-name ...)) shadow-files-to-copy))) (let* ((fn-552 #'member) (args-553 (condition-case err (let ... ...) (error ...)))) (let ((value-554 'ert-form-evaluation-aborted-555)) (let (form-description-556) (if (unwind-protect ... ... ...) nil (ert-fail form-description-556))) value-554)) (setq shadow-files-to-copy nil shadow-regexp-groups (list (list (concat (shadow-site-primary cluster1) (shadow-regexp-superquote file)) (concat (shadow-site-primary cluster2) (shadow-regexp-superquote file))))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" file shadow-regexp-groups))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" (cons file (shadow-contract-file-name ...)) shadow-files-to-copy))) (let* ((fn-557 #'member) (args-558 (condition-case err (let ... ...) (error ...)))) (let ((value-559 'ert-form-evaluation-aborted-560)) (let (form-description-561) (if (unwind-protect ... ... ...) nil (ert-fail form-description-561))) value-559)) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name ...) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" (cons (concat ... file) (shadow-contract-file-name ...)) shadow-files-to-copy))) (let* ((fn-562 #'member) (args-563 (condition-case err (let ... ...) (error ...)))) (let ((value-564 'ert-form-evaluation-aborted-565)) (let (form-description-566) (if (unwind-protect ... ... ...) nil (ert-fail form-description-566))) value-564))) (let ((--dolist-tail-- (list file (concat (shadow-site-primary cluster2) file))) elt) (while --dolist-tail-- (setq elt (car --dolist-tail--)) (condition-case nil (progn (save-current-buffer (set-buffer ...) (set-buffer-modified-p nil) (kill-buffer))) (error nil)) (condition-case nil (progn (delete-file elt)) (error nil)) (setq --dolist-tail-- (cdr --dolist-tail--)))) (shadow--tests-cleanup))) (lambda nil (let* ((fn-532 #'not) (args-533 (condition-case err (let ((signal-hook-function ...)) (list (memq system-type ...))) (error (progn (setq fn-532 ...) (list ... ...)))))) (let ((value-534 'ert-form-evaluation-aborted-535)) (let (form-description-536) (if (condition-case nil (progn (unwind-protect ... ... ...)) (error nil)) nil (ert-skip form-description-536))) value-534)) (let* ((fn-537 #'file-remote-p) (args-538 (condition-case err (let ((signal-hook-function ...)) (list shadow-test-remote-temporary-file-directory)) (error (progn (setq fn-537 ...) (list ... ...)))))) (let ((value-539 'ert-form-evaluation-aborted-540)) (let (form-description-541) (if (condition-case nil (progn (unwind-protect ... ... ...)) (error nil)) nil (ert-skip form-description-541))) value-539)) (let* ((fn-542 #'file-writable-p) (args-543 (condition-case err (let ((signal-hook-function ...)) (list shadow-test-remote-temporary-file-directory)) (error (progn (setq fn-542 ...) (list ... ...)))))) (let ((value-544 'ert-form-evaluation-aborted-545)) (let (form-description-546) (if (condition-case nil (progn (unwind-protect ... ... ...)) (error nil)) nil (ert-skip form-description-546))) value-544)) (let ((backup-inhibited t) (shadow-info-file shadow-test-info-file) (shadow-todo-file shadow-test-todo-file) (shadow-inhibit-message t) shadow-clusters shadow-literal-groups shadow-regexp-groups shadow-files-to-copy cluster1 cluster2 primary regexp file) (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster1 primary regexp) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s %s %s" cluster1 primary regexp shadow-clusters))) (setq cluster2 "cluster2" primary (file-remote-p shadow-test-remote-temporary-file-directory) regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster2 primary regexp) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s %s %s" cluster2 primary regexp shadow-clusters))) (setq file (make-temp-name (expand-file-name "shadowfile-tests" temporary-file-directory)) shadow-literal-groups (list (list (concat "/cluster1:" file) (concat "/cluster2:" file)))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" file shadow-literal-groups))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn ... ... ...) (and ... ...)))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" (cons file ...) shadow-files-to-copy))) (let* ((fn-547 #'member) (args-548 (condition-case err ... ...))) (let ((value-549 ...)) (let (form-description-551) (if ... nil ...)) value-549)) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn ... ... ...) (and ... ...)))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" (cons ... ...) shadow-files-to-copy))) (let* ((fn-552 #'member) (args-553 (condition-case err ... ...))) (let ((value-554 ...)) (let (form-description-556) (if ... nil ...)) value-554)) (setq shadow-files-to-copy nil shadow-regexp-groups (list (list (concat ... ...) (concat ... ...)))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" file shadow-regexp-groups))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn ... ... ...) (and ... ...)))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" (cons file ...) shadow-files-to-copy))) (let* ((fn-557 #'member) (args-558 (condition-case err ... ...))) (let ((value-559 ...)) (let (form-description-561) (if ... nil ...)) value-559)) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn ... ... ...) (and ... ...)))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" (cons ... ...) shadow-files-to-copy))) (let* ((fn-562 #'member) (args-563 (condition-case err ... ...))) (let ((value-564 ...)) (let (form-description-566) (if ... nil ...)) value-564))) (let ((--dolist-tail-- (list file (concat ... file))) elt) (while --dolist-tail-- (setq elt (car --dolist-tail--)) (condition-case nil (progn (save-current-buffer ... ... ...)) (error nil)) (condition-case nil (progn (delete-file elt)) (error nil)) (setq --dolist-tail-- (cdr --dolist-tail--)))) (shadow--tests-cleanup))))() ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test :name shadow-test08-shadow-todo :documentation "Check that needed shadows are added to todo." :body (lambda nil (let* ((fn-532 #'not) (args-533 (condition-case err ... ...))) (let ((value-534 ...)) (let (form-description-536) (if ... nil ...)) value-534)) (let* ((fn-537 #'file-remote-p) (args-538 (condition-case err ... ...))) (let ((value-539 ...)) (let (form-description-541) (if ... nil ...)) value-539)) (let* ((fn-542 #'file-writable-p) (args-543 (condition-case err ... ...))) (let ((value-544 ...)) (let (form-description-546) (if ... nil ...)) value-544)) (let ((backup-inhibited t) (shadow-info-file shadow-test-info-file) (shadow-todo-file shadow-test-todo-file) (shadow-inhibit-message t) shadow-clusters shadow-literal-groups shadow-regexp-groups shadow-files-to-copy cluster1 cluster2 primary regexp file) (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp ...) (shadow-set-cluster cluster1 primary regexp) (if shadow-debug ...) (setq cluster2 "cluster2" primary ... regexp ...) (shadow-set-cluster cluster2 primary regexp) (if shadow-debug ...) (setq file ... shadow-literal-groups ...) (if shadow-debug ...) (let ... ...) (if shadow-debug ...) (let* ... ...) (let ... ...) (if shadow-debug ...) (let* ... ...) (setq shadow-files-to-copy nil shadow-regexp-groups ...) (if shadow-debug ...) (let ... ...) (if shadow-debug ...) (let* ... ...) (let ... ...) (if shadow-debug ...) (let* ... ...)) (let (... elt) (while --dolist-tail-- ... ... ... ...)) (shadow--tests-cleanup)))) :most-recent-result nil :expected-result-type :passed :tags nil) :result #s(ert-test-aborted-with-non-local-exit :messages nil :should-forms nil :duration 0) :exit-continuation #f(compiled-function () #<bytecode 0x1feec261194d>) :next-debugger debug :ert-debug-on-error nil)) ert-run-test(#s(ert-test :name shadow-test08-shadow-todo :documentation "Check that needed shadows are added to todo." :body (lambda nil (let* ((fn-532 #'not) (args-533 (condition-case err (let ... ...) (error ...)))) (let ((value-534 'ert-form-evaluation-aborted-535)) (let (form-description-536) (if (condition-case nil ... ...) nil (ert-skip form-description-536))) value-534)) (let* ((fn-537 #'file-remote-p) (args-538 (condition-case err (let ... ...) (error ...)))) (let ((value-539 'ert-form-evaluation-aborted-540)) (let (form-description-541) (if (condition-case nil ... ...) nil (ert-skip form-description-541))) value-539)) (let* ((fn-542 #'file-writable-p) (args-543 (condition-case err (let ... ...) (error ...)))) (let ((value-544 'ert-form-evaluation-aborted-545)) (let (form-description-546) (if (condition-case nil ... ...) nil (ert-skip form-description-546))) value-544)) (let ((backup-inhibited t) (shadow-info-file shadow-test-info-file) (shadow-todo-file shadow-test-todo-file) (shadow-inhibit-message t) shadow-clusters shadow-literal-groups shadow-regexp-groups shadow-files-to-copy cluster1 cluster2 primary regexp file) (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster1 primary regexp) (if shadow-debug (progn ...)) (setq cluster2 "cluster2" primary (file-remote-p shadow-test-remote-temporary-file-directory) regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster2 primary regexp) (if shadow-debug (progn ...)) (setq file (make-temp-name ...) shadow-literal-groups (list ...)) (if shadow-debug (progn ...)) (let (...) (save-current-buffer ... ...)) (if shadow-debug (progn ...)) (let* (... ...) (let ... ... value-549)) (let (...) (save-current-buffer ... ...)) (if shadow-debug (progn ...)) (let* (... ...) (let ... ... value-554)) (setq shadow-files-to-copy nil shadow-regexp-groups (list ...)) (if shadow-debug (progn ...)) (let (...) (save-current-buffer ... ...)) (if shadow-debug (progn ...)) (let* (... ...) (let ... ... value-559)) (let (...) (save-current-buffer ... ...)) (if shadow-debug (progn ...)) (let* (... ...) (let ... ... value-564))) (let ((--dolist-tail-- ...) elt) (while --dolist-tail-- (setq elt ...) (condition-case nil ... ...) (condition-case nil ... ...) (setq --dolist-tail-- ...))) (shadow--tests-cleanup)))) :most-recent-result nil :expected-result-type :passed :tags nil)) ert-run-or-rerun-test(#s(ert--stats :selector (not (tag :unstable)) :tests [#s(ert-test :name shadow-test00-clusters :documentation "Check cluster definitions...." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test01-sites :documentation "Check site definitions.\nPe..." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test02-files :documentation "Check file manipulation fu..." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test03-expand-cluster-in-file-name :documentation "Check canonical file name ..." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test04-contract-file-name :documentation "Check canonical file name ..." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test05-file-match :documentation "Check `shadow-same-site' a..." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test06-literal-groups :documentation "Check literal group defini..." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test07-regexp-groups :documentation "Check regexp group definit..." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test08-shadow-todo :documentation "Check that needed shadows ..." :body ... :most-recent-result nil :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test09-shadow-copy-files :documentation "Check that needed shadow f..." :body ... :most-recent-result nil :expected-result-type :passed :tags nil)] :test-map #<hash-table eql 10/10 0x1feec284444d> :test-results [#s(ert-test-passed :messages "Not a valid primary!\nRegex..." :should-forms ... :duration 4.052964) #s(ert-test-passed :messages "" :should-forms ... :duration 0.022327) #s(ert-test-passed :messages "" :should-forms ... :duration 0.041241) #s(ert-test-passed :messages "" :should-forms ... :duration 0.027411) #s(ert-test-passed :messages "" :should-forms ... :duration 0.385955) #s(ert-test-passed :messages "" :should-forms ... :duration 0.060554) #s(ert-test-passed :messages "" :should-forms ... :duration 0.068872) #s(ert-test-passed :messages "" :should-forms ... :duration 0.032929) nil nil] :test-start-times [(23923 42441 364081 0) (23923 42445 417171 0) (23923 42445 439606 0) (23923 42445 480959 0) (23923 42445 508466 0) (23923 42445 894546 0) (23923 42445 955208 0) (23923 42446 24181 0) (23923 42446 57179 0) nil] :test-end-times [(23923 42445 417045 0) (23923 42445 439498 0) (23923 42445 480847 0) (23923 42445 508370 0) (23923 42445 894421 0) (23923 42445 955100 0) (23923 42446 24080 0) (23923 42446 57110 0) nil nil] :passed-expected 8 :passed-unexpected 0 :failed-expected 0 :failed-unexpected 0 :skipped 0 :start-time (23923 42441 363945 0) :end-time nil :aborted-p nil :current-test #s(ert-test :name shadow-test08-shadow-todo :documentation "Check that needed shadows ..." :body (lambda nil ... ... ... ...) :most-recent-result nil :expected-result-type :passed :tags nil) :next-redisplay 0.0) #s(ert-test :name shadow-test08-shadow-todo :documentation "Check that needed shadows ..." :body (lambda nil (let* ... ...) (let* ... ...) (let* ... ...) (let ... ...)) :most-recent-result nil :expected-result-type :passed :tags nil) #f(compiled-function (event-type &rest event-args) #<bytecode 0x1feec2621d0d>)) ert-run-tests((not (tag :unstable)) #f(compiled-function (event-type &rest event-args) #<bytecode 0x1feec2621d0d>) nil) ert-run-tests-batch((not (tag :unstable))) ert-run-tests-batch-and-exit((not (tag :unstable))) eval((ert-run-tests-batch-and-exit '(not (tag :unstable))) t) command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/shadowfile-tests.el" "--eval" "(ert-run-tests-batch-and-exit (quote (not (tag :un...")) command-line() normal-top-level() shadow-test08-shadow-todo: (/var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsmTKsYe . /cluster2:/var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsmTKsYe) nil 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 (if (unwind-protect (setq value-549 (apply fn-547 args-548)) (setq f (let (form-description-551) (if (unwind-protect (setq value-549 (app (let ((value-549 'ert-form-evaluation-aborted-550)) (let (form-descr (let* ((fn-547 #'member) (args-548 (condition-case err (let ((signal (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "c (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) ( (let ((backup-inhibited t) (shadow-info-file shadow-test-info-file) (lambda nil (let* ((fn-532 #'not) (args-533 (condition-case err (let 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 (tag :unstable)) ert-run-tests((not (tag :unstable)) #f(compiled-function (event-type ert-run-tests-batch((not (tag :unstable))) ert-run-tests-batch-and-exit((not (tag :unstable))) eval((ert-run-tests-batch-and-exit '(not (tag :unstable))) t) command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/shadowfile-tests.el" 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/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsmTKsYe" . "/cluster2:/var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsmTKsYe") nil) :value nil)) FAILED 9/10 shadow-test08-shadow-todo (0.627951 sec) shadow-add-to-todo: nil nil backtrace() shadow-add-to-todo() run-hook-with-args-until-success(shadow-add-to-todo) basic-save-buffer(nil) save-buffer() (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster1 primary regexp) (setq cluster2 "cluster2" primary (file-remote-p shadow-test-remote-temporary-file-directory) regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster2 primary regexp) (setq file (make-temp-name (expand-file-name "shadowfile-tests" temporary-file-directory)) shadow-literal-groups (list (list (concat "/cluster1:" file) (concat "/cluster2:" file))) shadow-regexp-groups (list (list (concat (shadow-site-primary cluster1) (shadow-regexp-superquote file)) (concat (shadow-site-primary cluster2) (shadow-regexp-superquote file)))) mocked-input (list (concat (shadow-site-primary cluster2) file) file)) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name (concat (shadow-site-primary cluster2) file)) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (advice--add-function :before (cons #'(lambda nil (symbol-function #'write-region)) #'(lambda (gv--val) (fset #'write-region gv--val))) #'(lambda (&rest args) (if (and (buffer-file-name) mocked-input) (progn (let* (... ...) (let ... ... value-584))))) '((name . "write-region-mock"))) (shadow-copy-files 'noquery) (let ((value-587 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-588) (if (not (unwind-protect (setq value-587 shadow-files-to-copy) (setq form-description-588 (list ... :form ... :value value-587)) (ert--signal-should-execution form-description-588))) nil (ert-fail form-description-588))) value-587) (save-current-buffer (set-buffer shadow-todo-buffer) (goto-char (point-min)) (let* ((fn-589 #'looking-at) (args-590 (condition-case err (let (...) (list ...)) (error (progn ... ...))))) (let ((value-591 'ert-form-evaluation-aborted-592)) (let (form-description-593) (if (unwind-protect (setq value-591 ...) (setq form-description-593 ...) (ert--signal-should-execution form-description-593)) nil (ert-fail form-description-593))) value-591)))) (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster1 primary regexp) (setq cluster2 "cluster2" primary (file-remote-p shadow-test-remote-temporary-file-directory) regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster2 primary regexp) (setq file (make-temp-name (expand-file-name "shadowfile-tests" temporary-file-directory)) shadow-literal-groups (list (list (concat "/cluster1:" file) (concat "/cluster2:" file))) shadow-regexp-groups (list (list (concat (shadow-site-primary cluster1) (shadow-regexp-superquote file)) (concat (shadow-site-primary cluster2) (shadow-regexp-superquote file)))) mocked-input (list (concat (shadow-site-primary cluster2) file) file)) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name (concat ... file)) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (advice--add-function :before (cons #'(lambda nil (symbol-function #'write-region)) #'(lambda (gv--val) (fset #'write-region gv--val))) #'(lambda (&rest args) (if (and (buffer-file-name) mocked-input) (progn (let* ... ...)))) '((name . "write-region-mock"))) (shadow-copy-files 'noquery) (let ((value-587 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-588) (if (not (unwind-protect (setq value-587 shadow-files-to-copy) (setq form-description-588 ...) (ert--signal-should-execution form-description-588))) nil (ert-fail form-description-588))) value-587) (save-current-buffer (set-buffer shadow-todo-buffer) (goto-char (point-min)) (let* ((fn-589 #'looking-at) (args-590 (condition-case err (let ... ...) (error ...)))) (let ((value-591 'ert-form-evaluation-aborted-592)) (let (form-description-593) (if (unwind-protect ... ... ...) nil (ert-fail form-description-593))) value-591)))) (let* ((new (advice--remove-function (symbol-function #'write-region) "write-region-mock"))) (if (eq new (symbol-function #'write-region)) nil (fset #'write-region new))) (let ((--dolist-tail-- (list file (concat (shadow-site-primary cluster2) file))) elt) (while --dolist-tail-- (setq elt (car --dolist-tail--)) (condition-case nil (progn (save-current-buffer (set-buffer (get-file-buffer elt)) (set-buffer-modified-p nil) (kill-buffer))) (error nil)) (condition-case nil (progn (delete-file elt)) (error nil)) (setq --dolist-tail-- (cdr --dolist-tail--)))) (shadow--tests-cleanup)) (let ((backup-inhibited t) (shadow-info-file shadow-test-info-file) (shadow-todo-file shadow-test-todo-file) (shadow-inhibit-message t) (shadow-noquery t) shadow-clusters shadow-files-to-copy cluster1 cluster2 primary regexp file mocked-input) (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster1 primary regexp) (setq cluster2 "cluster2" primary (file-remote-p shadow-test-remote-temporary-file-directory) regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster2 primary regexp) (setq file (make-temp-name (expand-file-name "shadowfile-tests" temporary-file-directory)) shadow-literal-groups (list (list (concat "/cluster1:" file) (concat "/cluster2:" file))) shadow-regexp-groups (list (list (concat (shadow-site-primary cluster1) (shadow-regexp-superquote file)) (concat (shadow-site-primary cluster2) (shadow-regexp-superquote file)))) mocked-input (list (concat (shadow-site-primary cluster2) file) file)) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name ...) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (advice--add-function :before (cons #'(lambda nil (symbol-function ...)) #'(lambda (gv--val) (fset ... gv--val))) #'(lambda (&rest args) (if (and ... mocked-input) (progn ...))) '((name . "write-region-mock"))) (shadow-copy-files 'noquery) (let ((value-587 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-588) (if (not (unwind-protect ... ... ...)) nil (ert-fail form-description-588))) value-587) (save-current-buffer (set-buffer shadow-todo-buffer) (goto-char (point-min)) (let* ((fn-589 #'looking-at) (args-590 (condition-case err ... ...))) (let ((value-591 ...)) (let (form-description-593) (if ... nil ...)) value-591)))) (let* ((new (advice--remove-function (symbol-function #'write-region) "write-region-mock"))) (if (eq new (symbol-function #'write-region)) nil (fset #'write-region new))) (let ((--dolist-tail-- (list file (concat (shadow-site-primary cluster2) file))) elt) (while --dolist-tail-- (setq elt (car --dolist-tail--)) (condition-case nil (progn (save-current-buffer (set-buffer ...) (set-buffer-modified-p nil) (kill-buffer))) (error nil)) (condition-case nil (progn (delete-file elt)) (error nil)) (setq --dolist-tail-- (cdr --dolist-tail--)))) (shadow--tests-cleanup))) (lambda nil (let* ((fn-567 #'not) (args-568 (condition-case err (let ((signal-hook-function ...)) (list (memq system-type ...))) (error (progn (setq fn-567 ...) (list ... ...)))))) (let ((value-569 'ert-form-evaluation-aborted-570)) (let (form-description-571) (if (condition-case nil (progn (unwind-protect ... ... ...)) (error nil)) nil (ert-skip form-description-571))) value-569)) (let* ((fn-572 #'file-remote-p) (args-573 (condition-case err (let ((signal-hook-function ...)) (list shadow-test-remote-temporary-file-directory)) (error (progn (setq fn-572 ...) (list ... ...)))))) (let ((value-574 'ert-form-evaluation-aborted-575)) (let (form-description-576) (if (condition-case nil (progn (unwind-protect ... ... ...)) (error nil)) nil (ert-skip form-description-576))) value-574)) (let* ((fn-577 #'file-writable-p) (args-578 (condition-case err (let ((signal-hook-function ...)) (list shadow-test-remote-temporary-file-directory)) (error (progn (setq fn-577 ...) (list ... ...)))))) (let ((value-579 'ert-form-evaluation-aborted-580)) (let (form-description-581) (if (condition-case nil (progn (unwind-protect ... ... ...)) (error nil)) nil (ert-skip form-description-581))) value-579)) (let ((backup-inhibited t) (shadow-info-file shadow-test-info-file) (shadow-todo-file shadow-test-todo-file) (shadow-inhibit-message t) (shadow-noquery t) shadow-clusters shadow-files-to-copy cluster1 cluster2 primary regexp file mocked-input) (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster1 primary regexp) (setq cluster2 "cluster2" primary (file-remote-p shadow-test-remote-temporary-file-directory) regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster2 primary regexp) (setq file (make-temp-name (expand-file-name "shadowfile-tests" temporary-file-directory)) shadow-literal-groups (list (list (concat "/cluster1:" file) (concat "/cluster2:" file))) shadow-regexp-groups (list (list (concat ... ...) (concat ... ...))) mocked-input (list (concat (shadow-site-primary cluster2) file) file)) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn ... ... ...) (and ... ...)))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn ... ... ...) (and ... ...)))) (advice--add-function :before (cons #'(lambda nil ...) #'(lambda ... ...)) #'(lambda (&rest args) (if ... ...)) '((name . "write-region-mock"))) (shadow-copy-files 'noquery) (let ((value-587 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-588) (if (not ...) nil (ert-fail form-description-588))) value-587) (save-current-buffer (set-buffer shadow-todo-buffer) (goto-char (point-min)) (let* ((fn-589 ...) (args-590 ...)) (let (...) (let ... ...) value-591)))) (let* ((new (advice--remove-function (symbol-function ...) "write-region-mock"))) (if (eq new (symbol-function #'write-region)) nil (fset #'write-region new))) (let ((--dolist-tail-- (list file (concat ... file))) elt) (while --dolist-tail-- (setq elt (car --dolist-tail--)) (condition-case nil (progn (save-current-buffer ... ... ...)) (error nil)) (condition-case nil (progn (delete-file elt)) (error nil)) (setq --dolist-tail-- (cdr --dolist-tail--)))) (shadow--tests-cleanup))))() ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test :name shadow-test09-shadow-copy-files :documentation "Check that needed shadow files are copied." :body (lambda nil (let* ((fn-567 #'not) (args-568 (condition-case err ... ...))) (let ((value-569 ...)) (let (form-description-571) (if ... nil ...)) value-569)) (let* ((fn-572 #'file-remote-p) (args-573 (condition-case err ... ...))) (let ((value-574 ...)) (let (form-description-576) (if ... nil ...)) value-574)) (let* ((fn-577 #'file-writable-p) (args-578 (condition-case err ... ...))) (let ((value-579 ...)) (let (form-description-581) (if ... nil ...)) value-579)) (let ((backup-inhibited t) (shadow-info-file shadow-test-info-file) (shadow-todo-file shadow-test-todo-file) (shadow-inhibit-message t) (shadow-noquery t) shadow-clusters shadow-files-to-copy cluster1 cluster2 primary regexp file mocked-input) (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp ...) (shadow-set-cluster cluster1 primary regexp) (setq cluster2 "cluster2" primary ... regexp ...) (shadow-set-cluster cluster2 primary regexp) (setq file ... shadow-literal-groups ... shadow-regexp-groups ... mocked-input ...) (let ... ...) (let ... ...) (advice--add-function :before ... ... ...) (shadow-copy-files ...) (let ... ... value-587) (save-current-buffer ... ... ...)) (let* (...) (if ... nil ...)) (let (... elt) (while --dolist-tail-- ... ... ... ...)) (shadow--tests-cleanup)))) :most-recent-result nil :expected-result-type :passed :tags nil) :result #s(ert-test-aborted-with-non-local-exit :messages nil :should-forms nil :duration 0) :exit-continuation #f(compiled-function () #<bytecode 0x1feec261194d>) :next-debugger debug :ert-debug-on-error nil)) ert-run-test(#s(ert-test :name shadow-test09-shadow-copy-files :documentation "Check that needed shadow files are copied." :body (lambda nil (let* ((fn-567 #'not) (args-568 (condition-case err (let ... ...) (error ...)))) (let ((value-569 'ert-form-evaluation-aborted-570)) (let (form-description-571) (if (condition-case nil ... ...) nil (ert-skip form-description-571))) value-569)) (let* ((fn-572 #'file-remote-p) (args-573 (condition-case err (let ... ...) (error ...)))) (let ((value-574 'ert-form-evaluation-aborted-575)) (let (form-description-576) (if (condition-case nil ... ...) nil (ert-skip form-description-576))) value-574)) (let* ((fn-577 #'file-writable-p) (args-578 (condition-case err (let ... ...) (error ...)))) (let ((value-579 'ert-form-evaluation-aborted-580)) (let (form-description-581) (if (condition-case nil ... ...) nil (ert-skip form-description-581))) value-579)) (let ((backup-inhibited t) (shadow-info-file shadow-test-info-file) (shadow-todo-file shadow-test-todo-file) (shadow-inhibit-message t) (shadow-noquery t) shadow-clusters shadow-files-to-copy cluster1 cluster2 primary regexp file mocked-input) (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster1 primary regexp) (setq cluster2 "cluster2" primary (file-remote-p shadow-test-remote-temporary-file-directory) regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster2 primary regexp) (setq file (make-temp-name ...) shadow-literal-groups (list ...) shadow-regexp-groups (list ...) mocked-input (list ... file)) (let (...) (save-current-buffer ... ...)) (let (...) (save-current-buffer ... ...)) (advice--add-function :before (cons ... ...) #'... '...) (shadow-copy-files 'noquery) (let (...) (let ... ...) value-587) (save-current-buffer (set-buffer shadow-todo-buffer) (goto-char ...) (let* ... ...))) (let* ((new ...)) (if (eq new ...) nil (fset ... new))) (let ((--dolist-tail-- ...) elt) (while --dolist-tail-- (setq elt ...) (condition-case nil ... ...) (condition-case nil ... ...) (setq --dolist-tail-- ...))) (shadow--tests-cleanup)))) :most-recent-result nil :expected-result-type :passed :tags nil)) ert-run-or-rerun-test(#s(ert--stats :selector (not (tag :unstable)) :tests [#s(ert-test :name shadow-test00-clusters :documentation "Check cluster definitions...." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test01-sites :documentation "Check site definitions.\nPe..." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test02-files :documentation "Check file manipulation fu..." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test03-expand-cluster-in-file-name :documentation "Check canonical file name ..." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test04-contract-file-name :documentation "Check canonical file name ..." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test05-file-match :documentation "Check `shadow-same-site' a..." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test06-literal-groups :documentation "Check literal group defini..." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test07-regexp-groups :documentation "Check regexp group definit..." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test08-shadow-todo :documentation "Check that needed shadows ..." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test09-shadow-copy-files :documentation "Check that needed shadow f..." :body ... :most-recent-result nil :expected-result-type :passed :tags nil)] :test-map #<hash-table eql 10/10 0x1feec284444d> :test-results [#s(ert-test-passed :messages "Not a valid primary!\nRegex..." :should-forms ... :duration 4.052964) #s(ert-test-passed :messages "" :should-forms ... :duration 0.022327) #s(ert-test-passed :messages "" :should-forms ... :duration 0.041241) #s(ert-test-passed :messages "" :should-forms ... :duration 0.027411) #s(ert-test-passed :messages "" :should-forms ... :duration 0.385955) #s(ert-test-passed :messages "" :should-forms ... :duration 0.060554) #s(ert-test-passed :messages "" :should-forms ... :duration 0.068872) #s(ert-test-passed :messages "" :should-forms ... :duration 0.032929) #s(ert-test-failed :messages "shadow-test08-shadow-todo:..." :should-forms ... :duration 0.627951 :condition ... :backtrace ... :infos nil) nil] :test-start-times [(23923 42441 364081 0) (23923 42445 417171 0) (23923 42445 439606 0) (23923 42445 480959 0) (23923 42445 508466 0) (23923 42445 894546 0) (23923 42445 955208 0) (23923 42446 24181 0) (23923 42446 57179 0) (23923 42447 141451 0)] :test-end-times [(23923 42445 417045 0) (23923 42445 439498 0) (23923 42445 480847 0) (23923 42445 508370 0) (23923 42445 894421 0) (23923 42445 955100 0) (23923 42446 24080 0) (23923 42446 57110 0) (23923 42446 685130 0) nil] :passed-expected 8 :passed-unexpected 0 :failed-expected 0 :failed-unexpected 1 :skipped 0 :start-time (23923 42441 363945 0) :end-time nil :aborted-p nil :current-test #s(ert-test :name shadow-test09-shadow-copy-files :documentation "Check that needed shadow f..." :body (lambda nil ... ... ... ...) :most-recent-result nil :expected-result-type :passed :tags nil) :next-redisplay 0.0) #s(ert-test :name shadow-test09-shadow-copy-files :documentation "Check that needed shadow f..." :body (lambda nil (let* ... ...) (let* ... ...) (let* ... ...) (let ... ...)) :most-recent-result nil :expected-result-type :passed :tags nil) #f(compiled-function (event-type &rest event-args) #<bytecode 0x1feec2621d0d>)) ert-run-tests((not (tag :unstable)) #f(compiled-function (event-type &rest event-args) #<bytecode 0x1feec2621d0d>) nil) ert-run-tests-batch((not (tag :unstable))) ert-run-tests-batch-and-exit((not (tag :unstable))) eval((ert-run-tests-batch-and-exit '(not (tag :unstable))) t) command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/shadowfile-tests.el" "--eval" "(ert-run-tests-batch-and-exit (quote (not (tag :un...")) command-line() normal-top-level() shadow-add-to-todo: nil nil backtrace() shadow-add-to-todo() run-hook-with-args-until-success(shadow-add-to-todo) basic-save-buffer(nil) save-buffer() (progn (set-visited-file-name (concat (shadow-site-primary cluster2) file)) (insert "foo") (save-buffer)) (unwind-protect (progn (set-visited-file-name (concat (shadow-site-primary cluster2) file)) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name (concat (shadow-site-primary cluster2) file)) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name (concat (shadow-site-primary cluster2) file)) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster1 primary regexp) (setq cluster2 "cluster2" primary (file-remote-p shadow-test-remote-temporary-file-directory) regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster2 primary regexp) (setq file (make-temp-name (expand-file-name "shadowfile-tests" temporary-file-directory)) shadow-literal-groups (list (list (concat "/cluster1:" file) (concat "/cluster2:" file))) shadow-regexp-groups (list (list (concat (shadow-site-primary cluster1) (shadow-regexp-superquote file)) (concat (shadow-site-primary cluster2) (shadow-regexp-superquote file)))) mocked-input (list (concat (shadow-site-primary cluster2) file) file)) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name (concat (shadow-site-primary cluster2) file)) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (advice--add-function :before (cons #'(lambda nil (symbol-function #'write-region)) #'(lambda (gv--val) (fset #'write-region gv--val))) #'(lambda (&rest args) (if (and (buffer-file-name) mocked-input) (progn (let* (... ...) (let ... ... value-584))))) '((name . "write-region-mock"))) (shadow-copy-files 'noquery) (let ((value-587 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-588) (if (not (unwind-protect (setq value-587 shadow-files-to-copy) (setq form-description-588 (list ... :form ... :value value-587)) (ert--signal-should-execution form-description-588))) nil (ert-fail form-description-588))) value-587) (save-current-buffer (set-buffer shadow-todo-buffer) (goto-char (point-min)) (let* ((fn-589 #'looking-at) (args-590 (condition-case err (let (...) (list ...)) (error (progn ... ...))))) (let ((value-591 'ert-form-evaluation-aborted-592)) (let (form-description-593) (if (unwind-protect (setq value-591 ...) (setq form-description-593 ...) (ert--signal-should-execution form-description-593)) nil (ert-fail form-description-593))) value-591)))) (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster1 primary regexp) (setq cluster2 "cluster2" primary (file-remote-p shadow-test-remote-temporary-file-directory) regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster2 primary regexp) (setq file (make-temp-name (expand-file-name "shadowfile-tests" temporary-file-directory)) shadow-literal-groups (list (list (concat "/cluster1:" file) (concat "/cluster2:" file))) shadow-regexp-groups (list (list (concat (shadow-site-primary cluster1) (shadow-regexp-superquote file)) (concat (shadow-site-primary cluster2) (shadow-regexp-superquote file)))) mocked-input (list (concat (shadow-site-primary cluster2) file) file)) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name (concat ... file)) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (advice--add-function :before (cons #'(lambda nil (symbol-function #'write-region)) #'(lambda (gv--val) (fset #'write-region gv--val))) #'(lambda (&rest args) (if (and (buffer-file-name) mocked-input) (progn (let* ... ...)))) '((name . "write-region-mock"))) (shadow-copy-files 'noquery) (let ((value-587 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-588) (if (not (unwind-protect (setq value-587 shadow-files-to-copy) (setq form-description-588 ...) (ert--signal-should-execution form-description-588))) nil (ert-fail form-description-588))) value-587) (save-current-buffer (set-buffer shadow-todo-buffer) (goto-char (point-min)) (let* ((fn-589 #'looking-at) (args-590 (condition-case err (let ... ...) (error ...)))) (let ((value-591 'ert-form-evaluation-aborted-592)) (let (form-description-593) (if (unwind-protect ... ... ...) nil (ert-fail form-description-593))) value-591)))) (let* ((new (advice--remove-function (symbol-function #'write-region) "write-region-mock"))) (if (eq new (symbol-function #'write-region)) nil (fset #'write-region new))) (let ((--dolist-tail-- (list file (concat (shadow-site-primary cluster2) file))) elt) (while --dolist-tail-- (setq elt (car --dolist-tail--)) (condition-case nil (progn (save-current-buffer (set-buffer (get-file-buffer elt)) (set-buffer-modified-p nil) (kill-buffer))) (error nil)) (condition-case nil (progn (delete-file elt)) (error nil)) (setq --dolist-tail-- (cdr --dolist-tail--)))) (shadow--tests-cleanup)) (let ((backup-inhibited t) (shadow-info-file shadow-test-info-file) (shadow-todo-file shadow-test-todo-file) (shadow-inhibit-message t) (shadow-noquery t) shadow-clusters shadow-files-to-copy cluster1 cluster2 primary regexp file mocked-input) (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster1 primary regexp) (setq cluster2 "cluster2" primary (file-remote-p shadow-test-remote-temporary-file-directory) regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster2 primary regexp) (setq file (make-temp-name (expand-file-name "shadowfile-tests" temporary-file-directory)) shadow-literal-groups (list (list (concat "/cluster1:" file) (concat "/cluster2:" file))) shadow-regexp-groups (list (list (concat (shadow-site-primary cluster1) (shadow-regexp-superquote file)) (concat (shadow-site-primary cluster2) (shadow-regexp-superquote file)))) mocked-input (list (concat (shadow-site-primary cluster2) file) file)) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name ...) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (advice--add-function :before (cons #'(lambda nil (symbol-function ...)) #'(lambda (gv--val) (fset ... gv--val))) #'(lambda (&rest args) (if (and ... mocked-input) (progn ...))) '((name . "write-region-mock"))) (shadow-copy-files 'noquery) (let ((value-587 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-588) (if (not (unwind-protect ... ... ...)) nil (ert-fail form-description-588))) value-587) (save-current-buffer (set-buffer shadow-todo-buffer) (goto-char (point-min)) (let* ((fn-589 #'looking-at) (args-590 (condition-case err ... ...))) (let ((value-591 ...)) (let (form-description-593) (if ... nil ...)) value-591)))) (let* ((new (advice--remove-function (symbol-function #'write-region) "write-region-mock"))) (if (eq new (symbol-function #'write-region)) nil (fset #'write-region new))) (let ((--dolist-tail-- (list file (concat (shadow-site-primary cluster2) file))) elt) (while --dolist-tail-- (setq elt (car --dolist-tail--)) (condition-case nil (progn (save-current-buffer (set-buffer ...) (set-buffer-modified-p nil) (kill-buffer))) (error nil)) (condition-case nil (progn (delete-file elt)) (error nil)) (setq --dolist-tail-- (cdr --dolist-tail--)))) (shadow--tests-cleanup))) (lambda nil (let* ((fn-567 #'not) (args-568 (condition-case err (let ((signal-hook-function ...)) (list (memq system-type ...))) (error (progn (setq fn-567 ...) (list ... ...)))))) (let ((value-569 'ert-form-evaluation-aborted-570)) (let (form-description-571) (if (condition-case nil (progn (unwind-protect ... ... ...)) (error nil)) nil (ert-skip form-description-571))) value-569)) (let* ((fn-572 #'file-remote-p) (args-573 (condition-case err (let ((signal-hook-function ...)) (list shadow-test-remote-temporary-file-directory)) (error (progn (setq fn-572 ...) (list ... ...)))))) (let ((value-574 'ert-form-evaluation-aborted-575)) (let (form-description-576) (if (condition-case nil (progn (unwind-protect ... ... ...)) (error nil)) nil (ert-skip form-description-576))) value-574)) (let* ((fn-577 #'file-writable-p) (args-578 (condition-case err (let ((signal-hook-function ...)) (list shadow-test-remote-temporary-file-directory)) (error (progn (setq fn-577 ...) (list ... ...)))))) (let ((value-579 'ert-form-evaluation-aborted-580)) (let (form-description-581) (if (condition-case nil (progn (unwind-protect ... ... ...)) (error nil)) nil (ert-skip form-description-581))) value-579)) (let ((backup-inhibited t) (shadow-info-file shadow-test-info-file) (shadow-todo-file shadow-test-todo-file) (shadow-inhibit-message t) (shadow-noquery t) shadow-clusters shadow-files-to-copy cluster1 cluster2 primary regexp file mocked-input) (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster1 primary regexp) (setq cluster2 "cluster2" primary (file-remote-p shadow-test-remote-temporary-file-directory) regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster2 primary regexp) (setq file (make-temp-name (expand-file-name "shadowfile-tests" temporary-file-directory)) shadow-literal-groups (list (list (concat "/cluster1:" file) (concat "/cluster2:" file))) shadow-regexp-groups (list (list (concat ... ...) (concat ... ...))) mocked-input (list (concat (shadow-site-primary cluster2) file) file)) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn ... ... ...) (and ... ...)))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn ... ... ...) (and ... ...)))) (advice--add-function :before (cons #'(lambda nil ...) #'(lambda ... ...)) #'(lambda (&rest args) (if ... ...)) '((name . "write-region-mock"))) (shadow-copy-files 'noquery) (let ((value-587 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-588) (if (not ...) nil (ert-fail form-description-588))) value-587) (save-current-buffer (set-buffer shadow-todo-buffer) (goto-char (point-min)) (let* ((fn-589 ...) (args-590 ...)) (let (...) (let ... ...) value-591)))) (let* ((new (advice--remove-function (symbol-function ...) "write-region-mock"))) (if (eq new (symbol-function #'write-region)) nil (fset #'write-region new))) (let ((--dolist-tail-- (list file (concat ... file))) elt) (while --dolist-tail-- (setq elt (car --dolist-tail--)) (condition-case nil (progn (save-current-buffer ... ... ...)) (error nil)) (condition-case nil (progn (delete-file elt)) (error nil)) (setq --dolist-tail-- (cdr --dolist-tail--)))) (shadow--tests-cleanup))))() ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test :name shadow-test09-shadow-copy-files :documentation "Check that needed shadow files are copied." :body (lambda nil (let* ((fn-567 #'not) (args-568 (condition-case err ... ...))) (let ((value-569 ...)) (let (form-description-571) (if ... nil ...)) value-569)) (let* ((fn-572 #'file-remote-p) (args-573 (condition-case err ... ...))) (let ((value-574 ...)) (let (form-description-576) (if ... nil ...)) value-574)) (let* ((fn-577 #'file-writable-p) (args-578 (condition-case err ... ...))) (let ((value-579 ...)) (let (form-description-581) (if ... nil ...)) value-579)) (let ((backup-inhibited t) (shadow-info-file shadow-test-info-file) (shadow-todo-file shadow-test-todo-file) (shadow-inhibit-message t) (shadow-noquery t) shadow-clusters shadow-files-to-copy cluster1 cluster2 primary regexp file mocked-input) (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp ...) (shadow-set-cluster cluster1 primary regexp) (setq cluster2 "cluster2" primary ... regexp ...) (shadow-set-cluster cluster2 primary regexp) (setq file ... shadow-literal-groups ... shadow-regexp-groups ... mocked-input ...) (let ... ...) (let ... ...) (advice--add-function :before ... ... ...) (shadow-copy-files ...) (let ... ... value-587) (save-current-buffer ... ... ...)) (let* (...) (if ... nil ...)) (let (... elt) (while --dolist-tail-- ... ... ... ...)) (shadow--tests-cleanup)))) :most-recent-result nil :expected-result-type :passed :tags nil) :result #s(ert-test-aborted-with-non-local-exit :messages nil :should-forms nil :duration 0) :exit-continuation #f(compiled-function () #<bytecode 0x1feec261194d>) :next-debugger debug :ert-debug-on-error nil)) ert-run-test(#s(ert-test :name shadow-test09-shadow-copy-files :documentation "Check that needed shadow files are copied." :body (lambda nil (let* ((fn-567 #'not) (args-568 (condition-case err (let ... ...) (error ...)))) (let ((value-569 'ert-form-evaluation-aborted-570)) (let (form-description-571) (if (condition-case nil ... ...) nil (ert-skip form-description-571))) value-569)) (let* ((fn-572 #'file-remote-p) (args-573 (condition-case err (let ... ...) (error ...)))) (let ((value-574 'ert-form-evaluation-aborted-575)) (let (form-description-576) (if (condition-case nil ... ...) nil (ert-skip form-description-576))) value-574)) (let* ((fn-577 #'file-writable-p) (args-578 (condition-case err (let ... ...) (error ...)))) (let ((value-579 'ert-form-evaluation-aborted-580)) (let (form-description-581) (if (condition-case nil ... ...) nil (ert-skip form-description-581))) value-579)) (let ((backup-inhibited t) (shadow-info-file shadow-test-info-file) (shadow-todo-file shadow-test-todo-file) (shadow-inhibit-message t) (shadow-noquery t) shadow-clusters shadow-files-to-copy cluster1 cluster2 primary regexp file mocked-input) (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster1 primary regexp) (setq cluster2 "cluster2" primary (file-remote-p shadow-test-remote-temporary-file-directory) regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster2 primary regexp) (setq file (make-temp-name ...) shadow-literal-groups (list ...) shadow-regexp-groups (list ...) mocked-input (list ... file)) (let (...) (save-current-buffer ... ...)) (let (...) (save-current-buffer ... ...)) (advice--add-function :before (cons ... ...) #'... '...) (shadow-copy-files 'noquery) (let (...) (let ... ...) value-587) (save-current-buffer (set-buffer shadow-todo-buffer) (goto-char ...) (let* ... ...))) (let* ((new ...)) (if (eq new ...) nil (fset ... new))) (let ((--dolist-tail-- ...) elt) (while --dolist-tail-- (setq elt ...) (condition-case nil ... ...) (condition-case nil ... ...) (setq --dolist-tail-- ...))) (shadow--tests-cleanup)))) :most-recent-result nil :expected-result-type :passed :tags nil)) ert-run-or-rerun-test(#s(ert--stats :selector (not (tag :unstable)) :tests [#s(ert-test :name shadow-test00-clusters :documentation "Check cluster definitions...." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test01-sites :documentation "Check site definitions.\nPe..." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test02-files :documentation "Check file manipulation fu..." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test03-expand-cluster-in-file-name :documentation "Check canonical file name ..." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test04-contract-file-name :documentation "Check canonical file name ..." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test05-file-match :documentation "Check `shadow-same-site' a..." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test06-literal-groups :documentation "Check literal group defini..." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test07-regexp-groups :documentation "Check regexp group definit..." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test08-shadow-todo :documentation "Check that needed shadows ..." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test09-shadow-copy-files :documentation "Check that needed shadow f..." :body ... :most-recent-result nil :expected-result-type :passed :tags nil)] :test-map #<hash-table eql 10/10 0x1feec284444d> :test-results [#s(ert-test-passed :messages "Not a valid primary!\nRegex..." :should-forms ... :duration 4.052964) #s(ert-test-passed :messages "" :should-forms ... :duration 0.022327) #s(ert-test-passed :messages "" :should-forms ... :duration 0.041241) #s(ert-test-passed :messages "" :should-forms ... :duration 0.027411) #s(ert-test-passed :messages "" :should-forms ... :duration 0.385955) #s(ert-test-passed :messages "" :should-forms ... :duration 0.060554) #s(ert-test-passed :messages "" :should-forms ... :duration 0.068872) #s(ert-test-passed :messages "" :should-forms ... :duration 0.032929) #s(ert-test-failed :messages "shadow-test08-shadow-todo:..." :should-forms ... :duration 0.627951 :condition ... :backtrace ... :infos nil) nil] :test-start-times [(23923 42441 364081 0) (23923 42445 417171 0) (23923 42445 439606 0) (23923 42445 480959 0) (23923 42445 508466 0) (23923 42445 894546 0) (23923 42445 955208 0) (23923 42446 24181 0) (23923 42446 57179 0) (23923 42447 141451 0)] :test-end-times [(23923 42445 417045 0) (23923 42445 439498 0) (23923 42445 480847 0) (23923 42445 508370 0) (23923 42445 894421 0) (23923 42445 955100 0) (23923 42446 24080 0) (23923 42446 57110 0) (23923 42446 685130 0) nil] :passed-expected 8 :passed-unexpected 0 :failed-expected 0 :failed-unexpected 1 :skipped 0 :start-time (23923 42441 363945 0) :end-time nil :aborted-p nil :current-test #s(ert-test :name shadow-test09-shadow-copy-files :documentation "Check that needed shadow f..." :body (lambda nil ... ... ... ...) :most-recent-result nil :expected-result-type :passed :tags nil) :next-redisplay 0.0) #s(ert-test :name shadow-test09-shadow-copy-files :documentation "Check that needed shadow f..." :body (lambda nil (let* ... ...) (let* ... ...) (let* ... ...) (let ... ...)) :most-recent-result nil :expected-result-type :passed :tags nil) #f(compiled-function (event-type &rest event-args) #<bytecode 0x1feec2621d0d>)) ert-run-tests((not (tag :unstable)) #f(compiled-function (event-type &rest event-args) #<bytecode 0x1feec2621d0d>) nil) ert-run-tests-batch((not (tag :unstable))) ert-run-tests-batch-and-exit((not (tag :unstable))) eval((ert-run-tests-batch-and-exit '(not (tag :unstable))) t) command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/shadowfile-tests.el" "--eval" "(ert-run-tests-batch-and-exit (quote (not (tag :un...")) command-line() normal-top-level() 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 (if (unwind-protect (setq value-591 (apply fn-589 args-590)) (setq f (let (form-description-593) (if (unwind-protect (setq value-591 (app (let ((value-591 'ert-form-evaluation-aborted-592)) (let (form-descr (let* ((fn-589 #'looking-at) (args-590 (condition-case err (let ((si (save-current-buffer (set-buffer shadow-todo-buffer) (goto-char (poi (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "c (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) ( (let ((backup-inhibited t) (shadow-info-file shadow-test-info-file) (lambda nil (let* ((fn-567 #'not) (args-568 (condition-case err (let 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 (tag :unstable)) ert-run-tests((not (tag :unstable)) #f(compiled-function (event-type ert-run-tests-batch((not (tag :unstable))) ert-run-tests-batch-and-exit((not (tag :unstable))) eval((ert-run-tests-batch-and-exit '(not (tag :unstable))) t) command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/shadowfile-tests.el" 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 (1.161314 sec) Ran 10 tests, 8 results as expected, 2 unexpected (2019-09-07 14:42:56+0200, 7.313746 sec) 2 unexpected results: FAILED shadow-test08-shadow-todo FAILED shadow-test09-shadow-copy-files make[1]: *** [lisp/shadowfile-tests.log] Error 1 make: *** [lisp/shadowfile-tests] Error 2 ^ permalink raw reply [flat|nested] 25+ messages in thread
* bug#37202: shadowfile-tests: two failures on macOS 2019-09-07 12:45 ` Stefan Kangas @ 2019-09-08 8:21 ` Michael Albinus 2019-09-08 20:23 ` Stefan Kangas 0 siblings, 1 reply; 25+ messages in thread From: Michael Albinus @ 2019-09-08 8:21 UTC (permalink / raw) To: Stefan Kangas; +Cc: 37202 Stefan Kangas <stefan@marxist.se> writes: Hi Stefan, >> So I've added more traces, since it doesn't happen to me. Pls run. > > OK. Log file attached. That helped, indeed. > passed 8/10 shadow-test07-regexp-groups (0.032929 sec) > shadow-test08-shadow-todo: cluster1 /Stefans-MBP: \`/Stefans-MBP:\' ((shadow-cluster cluster1 /Stefans-MBP: \`/Stefans-MBP:\')) > shadow-test08-shadow-todo: cluster2 /mock:Stefans-MBP: \`/mock:Stefans-MBP:\' ((shadow-cluster cluster2 /mock:Stefans-MBP: \`/mock:Stefans-MBP:\') (shadow-cluster cluster1 /Stefans-MBP: \`/Stefans-MBP:\')) > shadow-test08-shadow-todo: /var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsmTKsYe ((/cluster1:/var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsmTKsYe /cluster2:/var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsmTKsYe)) > shadow-add-to-todo: nil nil That's the first difference to my traces. Locally, I have here shadow-add-to-todo: ((/tmp/shadowfile-tests0mPIFq . /cluster2:/tmp/shadowfile-tests0mPIFq)) nil So you have a nil value of `shadows' in that trace. Looking at the code, I see that `file-truename' is used to compute `shadows'. That rings a bell - `temporary-file-directory' on macOS is located on a symlink. I ran into this trap earlier already. I hope, that my fix, pushed to master, fixes this now. > Thanks, > Stefan Kangas Best regards, Michael. ^ permalink raw reply [flat|nested] 25+ messages in thread
* bug#37202: shadowfile-tests: two failures on macOS 2019-09-08 8:21 ` Michael Albinus @ 2019-09-08 20:23 ` Stefan Kangas 2019-09-13 12:29 ` Michael Albinus 0 siblings, 1 reply; 25+ messages in thread From: Stefan Kangas @ 2019-09-08 20:23 UTC (permalink / raw) To: Michael Albinus; +Cc: 37202 [-- Attachment #1: Type: text/plain, Size: 757 bytes --] Michael Albinus <michael.albinus@gmx.de> writes: > That's the first difference to my traces. Locally, I have here > > shadow-add-to-todo: ((/tmp/shadowfile-tests0mPIFq . /cluster2:/tmp/shadowfile-tests0mPIFq)) nil > > So you have a nil value of `shadows' in that trace. Looking at the code, > I see that `file-truename' is used to compute `shadows'. That rings a > bell - `temporary-file-directory' on macOS is located on a symlink. I > ran into this trap earlier already. > > I hope, that my fix, pushed to master, fixes this now. I'm still seing failures on current master on these tests, including the line you noted above: shadow-add-to-todo: nil nil I've attached the complete log of the latest run (commit 034f9363e). Thanks again, Stefan Kangas [-- Attachment #2: shadowfile-tests.log --] [-- Type: application/octet-stream, Size: 75336 bytes --] ELC lisp/shadowfile-tests.elc GEN lisp/shadowfile-tests.log Running 10 tests (2019-09-08 22:18:08+0200, selector `(not (tag :unstable))') passed 1/10 shadow-test00-clusters (4.054058 sec) passed 2/10 shadow-test01-sites (0.019025 sec) passed 3/10 shadow-test02-files (0.031444 sec) passed 4/10 shadow-test03-expand-cluster-in-file-name (0.017081 sec) passed 5/10 shadow-test04-contract-file-name (0.188851 sec) passed 6/10 shadow-test05-file-match (0.034957 sec) passed 7/10 shadow-test06-literal-groups (0.040878 sec) passed 8/10 shadow-test07-regexp-groups (0.017809 sec) shadow-test08-shadow-todo: cluster1 /Stefans-MBP: \`/Stefans-MBP:\' ((shadow-cluster cluster1 /Stefans-MBP: \`/Stefans-MBP:\')) shadow-test08-shadow-todo: cluster2 /mock:Stefans-MBP: \`/mock:Stefans-MBP:\' ((shadow-cluster cluster2 /mock:Stefans-MBP: \`/mock:Stefans-MBP:\') (shadow-cluster cluster1 /Stefans-MBP: \`/Stefans-MBP:\')) shadow-test08-shadow-todo: /var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsQbhZHe ((/cluster1:/var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsQbhZHe /cluster2:/var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsQbhZHe)) shadow-add-to-todo: nil nil backtrace() shadow-add-to-todo() run-hook-with-args-until-success(shadow-add-to-todo) basic-save-buffer(nil) save-buffer() (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster1 primary regexp) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s %s %s" cluster1 primary regexp shadow-clusters))) (setq cluster2 "cluster2" primary (file-remote-p shadow-test-remote-temporary-file-directory) regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster2 primary regexp) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s %s %s" cluster2 primary regexp shadow-clusters))) (setq file (make-temp-name (expand-file-name "shadowfile-tests" temporary-file-directory)) shadow-literal-groups (list (list (concat "/cluster1:" file) (concat "/cluster2:" file)))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" file shadow-literal-groups))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" (cons file (shadow-contract-file-name (concat "/cluster2:" file))) shadow-files-to-copy))) (let* ((fn-547 #'member) (args-548 (condition-case err (let ((signal-hook-function ...)) (list (cons file ...) shadow-files-to-copy)) (error (progn (setq fn-547 ...) (list ... ...)))))) (let ((value-549 'ert-form-evaluation-aborted-550)) (let (form-description-551) (if (unwind-protect (setq value-549 (apply fn-547 args-548)) (setq form-description-551 (nconc ... ... ... ...)) (ert--signal-should-execution form-description-551)) nil (ert-fail form-description-551))) value-549)) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name (concat (shadow-site-primary cluster2) file)) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" (cons (concat (shadow-site-primary cluster2) file) (shadow-contract-file-name (concat "/cluster1:" file))) shadow-files-to-copy))) (let* ((fn-552 #'member) (args-553 (condition-case err (let ((signal-hook-function ...)) (list (cons ... ...) shadow-files-to-copy)) (error (progn (setq fn-552 ...) (list ... ...)))))) (let ((value-554 'ert-form-evaluation-aborted-555)) (let (form-description-556) (if (unwind-protect (setq value-554 (apply fn-552 args-553)) (setq form-description-556 (nconc ... ... ... ...)) (ert--signal-should-execution form-description-556)) nil (ert-fail form-description-556))) value-554)) (setq shadow-files-to-copy nil shadow-regexp-groups (list (list (concat (shadow-site-primary cluster1) (shadow-regexp-superquote file)) (concat (shadow-site-primary cluster2) (shadow-regexp-superquote file))))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" file shadow-regexp-groups))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" (cons file (shadow-contract-file-name (concat "/cluster2:" file))) shadow-files-to-copy))) (let* ((fn-557 #'member) (args-558 (condition-case err (let ((signal-hook-function ...)) (list (cons file ...) shadow-files-to-copy)) (error (progn (setq fn-557 ...) (list ... ...)))))) (let ((value-559 'ert-form-evaluation-aborted-560)) (let (form-description-561) (if (unwind-protect (setq value-559 (apply fn-557 args-558)) (setq form-description-561 (nconc ... ... ... ...)) (ert--signal-should-execution form-description-561)) nil (ert-fail form-description-561))) value-559)) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name (concat (shadow-site-primary cluster2) file)) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" (cons (concat (shadow-site-primary cluster2) file) (shadow-contract-file-name (concat "/cluster1:" file))) shadow-files-to-copy))) (let* ((fn-562 #'member) (args-563 (condition-case err (let ((signal-hook-function ...)) (list (cons ... ...) shadow-files-to-copy)) (error (progn (setq fn-562 ...) (list ... ...)))))) (let ((value-564 'ert-form-evaluation-aborted-565)) (let (form-description-566) (if (unwind-protect (setq value-564 (apply fn-562 args-563)) (setq form-description-566 (nconc ... ... ... ...)) (ert--signal-should-execution form-description-566)) nil (ert-fail form-description-566))) value-564))) (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster1 primary regexp) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s %s %s" cluster1 primary regexp shadow-clusters))) (setq cluster2 "cluster2" primary (file-remote-p shadow-test-remote-temporary-file-directory) regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster2 primary regexp) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s %s %s" cluster2 primary regexp shadow-clusters))) (setq file (make-temp-name (expand-file-name "shadowfile-tests" temporary-file-directory)) shadow-literal-groups (list (list (concat "/cluster1:" file) (concat "/cluster2:" file)))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" file shadow-literal-groups))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" (cons file (shadow-contract-file-name (concat "/cluster2:" file))) shadow-files-to-copy))) (let* ((fn-547 #'member) (args-548 (condition-case err (let (...) (list ... shadow-files-to-copy)) (error (progn ... ...))))) (let ((value-549 'ert-form-evaluation-aborted-550)) (let (form-description-551) (if (unwind-protect (setq value-549 ...) (setq form-description-551 ...) (ert--signal-should-execution form-description-551)) nil (ert-fail form-description-551))) value-549)) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name (concat ... file)) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" (cons (concat (shadow-site-primary cluster2) file) (shadow-contract-file-name (concat "/cluster1:" file))) shadow-files-to-copy))) (let* ((fn-552 #'member) (args-553 (condition-case err (let (...) (list ... shadow-files-to-copy)) (error (progn ... ...))))) (let ((value-554 'ert-form-evaluation-aborted-555)) (let (form-description-556) (if (unwind-protect (setq value-554 ...) (setq form-description-556 ...) (ert--signal-should-execution form-description-556)) nil (ert-fail form-description-556))) value-554)) (setq shadow-files-to-copy nil shadow-regexp-groups (list (list (concat (shadow-site-primary cluster1) (shadow-regexp-superquote file)) (concat (shadow-site-primary cluster2) (shadow-regexp-superquote file))))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" file shadow-regexp-groups))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" (cons file (shadow-contract-file-name (concat "/cluster2:" file))) shadow-files-to-copy))) (let* ((fn-557 #'member) (args-558 (condition-case err (let (...) (list ... shadow-files-to-copy)) (error (progn ... ...))))) (let ((value-559 'ert-form-evaluation-aborted-560)) (let (form-description-561) (if (unwind-protect (setq value-559 ...) (setq form-description-561 ...) (ert--signal-should-execution form-description-561)) nil (ert-fail form-description-561))) value-559)) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name (concat ... file)) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" (cons (concat (shadow-site-primary cluster2) file) (shadow-contract-file-name (concat "/cluster1:" file))) shadow-files-to-copy))) (let* ((fn-562 #'member) (args-563 (condition-case err (let (...) (list ... shadow-files-to-copy)) (error (progn ... ...))))) (let ((value-564 'ert-form-evaluation-aborted-565)) (let (form-description-566) (if (unwind-protect (setq value-564 ...) (setq form-description-566 ...) (ert--signal-should-execution form-description-566)) nil (ert-fail form-description-566))) value-564))) (let ((--dolist-tail-- (list file (concat (shadow-site-primary cluster2) file))) elt) (while --dolist-tail-- (setq elt (car --dolist-tail--)) (condition-case nil (progn (save-current-buffer (set-buffer (get-file-buffer elt)) (set-buffer-modified-p nil) (kill-buffer))) (error nil)) (condition-case nil (progn (delete-file elt)) (error nil)) (setq --dolist-tail-- (cdr --dolist-tail--)))) (shadow--tests-cleanup)) (let ((backup-inhibited t) (shadow-info-file shadow-test-info-file) (shadow-todo-file shadow-test-todo-file) (shadow-inhibit-message t) (shadow-test-remote-temporary-file-directory (file-truename shadow-test-remote-temporary-file-directory)) shadow-clusters shadow-literal-groups shadow-regexp-groups shadow-files-to-copy cluster1 cluster2 primary regexp file) (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster1 primary regexp) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s %s %s" cluster1 primary regexp shadow-clusters))) (setq cluster2 "cluster2" primary (file-remote-p shadow-test-remote-temporary-file-directory) regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster2 primary regexp) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s %s %s" cluster2 primary regexp shadow-clusters))) (setq file (make-temp-name (expand-file-name "shadowfile-tests" temporary-file-directory)) shadow-literal-groups (list (list (concat "/cluster1:" file) (concat "/cluster2:" file)))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" file shadow-literal-groups))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" (cons file (shadow-contract-file-name ...)) shadow-files-to-copy))) (let* ((fn-547 #'member) (args-548 (condition-case err (let ... ...) (error ...)))) (let ((value-549 'ert-form-evaluation-aborted-550)) (let (form-description-551) (if (unwind-protect ... ... ...) nil (ert-fail form-description-551))) value-549)) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name ...) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" (cons (concat ... file) (shadow-contract-file-name ...)) shadow-files-to-copy))) (let* ((fn-552 #'member) (args-553 (condition-case err (let ... ...) (error ...)))) (let ((value-554 'ert-form-evaluation-aborted-555)) (let (form-description-556) (if (unwind-protect ... ... ...) nil (ert-fail form-description-556))) value-554)) (setq shadow-files-to-copy nil shadow-regexp-groups (list (list (concat (shadow-site-primary cluster1) (shadow-regexp-superquote file)) (concat (shadow-site-primary cluster2) (shadow-regexp-superquote file))))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" file shadow-regexp-groups))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" (cons file (shadow-contract-file-name ...)) shadow-files-to-copy))) (let* ((fn-557 #'member) (args-558 (condition-case err (let ... ...) (error ...)))) (let ((value-559 'ert-form-evaluation-aborted-560)) (let (form-description-561) (if (unwind-protect ... ... ...) nil (ert-fail form-description-561))) value-559)) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name ...) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" (cons (concat ... file) (shadow-contract-file-name ...)) shadow-files-to-copy))) (let* ((fn-562 #'member) (args-563 (condition-case err (let ... ...) (error ...)))) (let ((value-564 'ert-form-evaluation-aborted-565)) (let (form-description-566) (if (unwind-protect ... ... ...) nil (ert-fail form-description-566))) value-564))) (let ((--dolist-tail-- (list file (concat (shadow-site-primary cluster2) file))) elt) (while --dolist-tail-- (setq elt (car --dolist-tail--)) (condition-case nil (progn (save-current-buffer (set-buffer ...) (set-buffer-modified-p nil) (kill-buffer))) (error nil)) (condition-case nil (progn (delete-file elt)) (error nil)) (setq --dolist-tail-- (cdr --dolist-tail--)))) (shadow--tests-cleanup))) (lambda nil (let* ((fn-532 #'not) (args-533 (condition-case err (let ((signal-hook-function ...)) (list (memq system-type ...))) (error (progn (setq fn-532 ...) (list ... ...)))))) (let ((value-534 'ert-form-evaluation-aborted-535)) (let (form-description-536) (if (condition-case nil (progn (unwind-protect ... ... ...)) (error nil)) nil (ert-skip form-description-536))) value-534)) (let* ((fn-537 #'file-remote-p) (args-538 (condition-case err (let ((signal-hook-function ...)) (list shadow-test-remote-temporary-file-directory)) (error (progn (setq fn-537 ...) (list ... ...)))))) (let ((value-539 'ert-form-evaluation-aborted-540)) (let (form-description-541) (if (condition-case nil (progn (unwind-protect ... ... ...)) (error nil)) nil (ert-skip form-description-541))) value-539)) (let* ((fn-542 #'file-writable-p) (args-543 (condition-case err (let ((signal-hook-function ...)) (list shadow-test-remote-temporary-file-directory)) (error (progn (setq fn-542 ...) (list ... ...)))))) (let ((value-544 'ert-form-evaluation-aborted-545)) (let (form-description-546) (if (condition-case nil (progn (unwind-protect ... ... ...)) (error nil)) nil (ert-skip form-description-546))) value-544)) (let ((backup-inhibited t) (shadow-info-file shadow-test-info-file) (shadow-todo-file shadow-test-todo-file) (shadow-inhibit-message t) (shadow-test-remote-temporary-file-directory (file-truename shadow-test-remote-temporary-file-directory)) shadow-clusters shadow-literal-groups shadow-regexp-groups shadow-files-to-copy cluster1 cluster2 primary regexp file) (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster1 primary regexp) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s %s %s" cluster1 primary regexp shadow-clusters))) (setq cluster2 "cluster2" primary (file-remote-p shadow-test-remote-temporary-file-directory) regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster2 primary regexp) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s %s %s" cluster2 primary regexp shadow-clusters))) (setq file (make-temp-name (expand-file-name "shadowfile-tests" temporary-file-directory)) shadow-literal-groups (list (list (concat "/cluster1:" file) (concat "/cluster2:" file)))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" file shadow-literal-groups))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn ... ... ...) (and ... ...)))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" (cons file ...) shadow-files-to-copy))) (let* ((fn-547 #'member) (args-548 (condition-case err ... ...))) (let ((value-549 ...)) (let (form-description-551) (if ... nil ...)) value-549)) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn ... ... ...) (and ... ...)))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" (cons ... ...) shadow-files-to-copy))) (let* ((fn-552 #'member) (args-553 (condition-case err ... ...))) (let ((value-554 ...)) (let (form-description-556) (if ... nil ...)) value-554)) (setq shadow-files-to-copy nil shadow-regexp-groups (list (list (concat ... ...) (concat ... ...)))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" file shadow-regexp-groups))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn ... ... ...) (and ... ...)))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" (cons file ...) shadow-files-to-copy))) (let* ((fn-557 #'member) (args-558 (condition-case err ... ...))) (let ((value-559 ...)) (let (form-description-561) (if ... nil ...)) value-559)) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn ... ... ...) (and ... ...)))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" (cons ... ...) shadow-files-to-copy))) (let* ((fn-562 #'member) (args-563 (condition-case err ... ...))) (let ((value-564 ...)) (let (form-description-566) (if ... nil ...)) value-564))) (let ((--dolist-tail-- (list file (concat ... file))) elt) (while --dolist-tail-- (setq elt (car --dolist-tail--)) (condition-case nil (progn (save-current-buffer ... ... ...)) (error nil)) (condition-case nil (progn (delete-file elt)) (error nil)) (setq --dolist-tail-- (cdr --dolist-tail--)))) (shadow--tests-cleanup))))() ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test :name shadow-test08-shadow-todo :documentation "Check that needed shadows are added to todo." :body (lambda nil (let* ((fn-532 #'not) (args-533 (condition-case err ... ...))) (let ((value-534 ...)) (let (form-description-536) (if ... nil ...)) value-534)) (let* ((fn-537 #'file-remote-p) (args-538 (condition-case err ... ...))) (let ((value-539 ...)) (let (form-description-541) (if ... nil ...)) value-539)) (let* ((fn-542 #'file-writable-p) (args-543 (condition-case err ... ...))) (let ((value-544 ...)) (let (form-description-546) (if ... nil ...)) value-544)) (let ((backup-inhibited t) (shadow-info-file shadow-test-info-file) (shadow-todo-file shadow-test-todo-file) (shadow-inhibit-message t) (shadow-test-remote-temporary-file-directory (file-truename shadow-test-remote-temporary-file-directory)) shadow-clusters shadow-literal-groups shadow-regexp-groups shadow-files-to-copy cluster1 cluster2 primary regexp file) (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp ...) (shadow-set-cluster cluster1 primary regexp) (if shadow-debug ...) (setq cluster2 "cluster2" primary ... regexp ...) (shadow-set-cluster cluster2 primary regexp) (if shadow-debug ...) (setq file ... shadow-literal-groups ...) (if shadow-debug ...) (let ... ...) (if shadow-debug ...) (let* ... ...) (let ... ...) (if shadow-debug ...) (let* ... ...) (setq shadow-files-to-copy nil shadow-regexp-groups ...) (if shadow-debug ...) (let ... ...) (if shadow-debug ...) (let* ... ...) (let ... ...) (if shadow-debug ...) (let* ... ...)) (let (... elt) (while --dolist-tail-- ... ... ... ...)) (shadow--tests-cleanup)))) :most-recent-result nil :expected-result-type :passed :tags nil) :result #s(ert-test-aborted-with-non-local-exit :messages nil :should-forms nil :duration 0) :exit-continuation #f(compiled-function () #<bytecode 0x1ff5b961d3cd>) :next-debugger debug :ert-debug-on-error nil)) ert-run-test(#s(ert-test :name shadow-test08-shadow-todo :documentation "Check that needed shadows are added to todo." :body (lambda nil (let* ((fn-532 #'not) (args-533 (condition-case err (let ... ...) (error ...)))) (let ((value-534 'ert-form-evaluation-aborted-535)) (let (form-description-536) (if (condition-case nil ... ...) nil (ert-skip form-description-536))) value-534)) (let* ((fn-537 #'file-remote-p) (args-538 (condition-case err (let ... ...) (error ...)))) (let ((value-539 'ert-form-evaluation-aborted-540)) (let (form-description-541) (if (condition-case nil ... ...) nil (ert-skip form-description-541))) value-539)) (let* ((fn-542 #'file-writable-p) (args-543 (condition-case err (let ... ...) (error ...)))) (let ((value-544 'ert-form-evaluation-aborted-545)) (let (form-description-546) (if (condition-case nil ... ...) nil (ert-skip form-description-546))) value-544)) (let ((backup-inhibited t) (shadow-info-file shadow-test-info-file) (shadow-todo-file shadow-test-todo-file) (shadow-inhibit-message t) (shadow-test-remote-temporary-file-directory (file-truename shadow-test-remote-temporary-file-directory)) shadow-clusters shadow-literal-groups shadow-regexp-groups shadow-files-to-copy cluster1 cluster2 primary regexp file) (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster1 primary regexp) (if shadow-debug (progn ...)) (setq cluster2 "cluster2" primary (file-remote-p shadow-test-remote-temporary-file-directory) regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster2 primary regexp) (if shadow-debug (progn ...)) (setq file (make-temp-name ...) shadow-literal-groups (list ...)) (if shadow-debug (progn ...)) (let (...) (save-current-buffer ... ...)) (if shadow-debug (progn ...)) (let* (... ...) (let ... ... value-549)) (let (...) (save-current-buffer ... ...)) (if shadow-debug (progn ...)) (let* (... ...) (let ... ... value-554)) (setq shadow-files-to-copy nil shadow-regexp-groups (list ...)) (if shadow-debug (progn ...)) (let (...) (save-current-buffer ... ...)) (if shadow-debug (progn ...)) (let* (... ...) (let ... ... value-559)) (let (...) (save-current-buffer ... ...)) (if shadow-debug (progn ...)) (let* (... ...) (let ... ... value-564))) (let ((--dolist-tail-- ...) elt) (while --dolist-tail-- (setq elt ...) (condition-case nil ... ...) (condition-case nil ... ...) (setq --dolist-tail-- ...))) (shadow--tests-cleanup)))) :most-recent-result nil :expected-result-type :passed :tags nil)) ert-run-or-rerun-test(#s(ert--stats :selector (not (tag :unstable)) :tests [#s(ert-test :name shadow-test00-clusters :documentation "Check cluster definitions...." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test01-sites :documentation "Check site definitions.\nPe..." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test02-files :documentation "Check file manipulation fu..." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test03-expand-cluster-in-file-name :documentation "Check canonical file name ..." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test04-contract-file-name :documentation "Check canonical file name ..." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test05-file-match :documentation "Check `shadow-same-site' a..." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test06-literal-groups :documentation "Check literal group defini..." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test07-regexp-groups :documentation "Check regexp group definit..." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test08-shadow-todo :documentation "Check that needed shadows ..." :body ... :most-recent-result nil :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test09-shadow-copy-files :documentation "Check that needed shadow f..." :body ... :most-recent-result nil :expected-result-type :passed :tags nil)] :test-map #<hash-table eql 10/10 0x1ff5b943554d> :test-results [#s(ert-test-passed :messages "Not a valid primary!\nRegex..." :should-forms ... :duration 4.054058) #s(ert-test-passed :messages "" :should-forms ... :duration 0.019025) #s(ert-test-passed :messages "" :should-forms ... :duration 0.031444) #s(ert-test-passed :messages "" :should-forms ... :duration 0.017081) #s(ert-test-passed :messages "" :should-forms ... :duration 0.188851) #s(ert-test-passed :messages "" :should-forms ... :duration 0.034957) #s(ert-test-passed :messages "" :should-forms ... :duration 0.040878) #s(ert-test-passed :messages "" :should-forms ... :duration 0.017809) nil nil] :test-start-times [(23925 25088 333098 0) (23925 25092 387309 0) (23925 25092 406397 0) (23925 25092 437905 0) (23925 25092 455050 0) (23925 25092 643982 0) (23925 25092 679003 0) (23925 25092 719950 0) (23925 25092 737824 0) nil] :test-end-times [(23925 25092 387156 0) (23925 25092 406334 0) (23925 25092 437841 0) (23925 25092 454986 0) (23925 25092 643901 0) (23925 25092 678939 0) (23925 25092 719881 0) (23925 25092 737759 0) nil nil] :passed-expected 8 :passed-unexpected 0 :failed-expected 0 :failed-unexpected 0 :skipped 0 :start-time (23925 25088 332964 0) :end-time nil :aborted-p nil :current-test #s(ert-test :name shadow-test08-shadow-todo :documentation "Check that needed shadows ..." :body (lambda nil ... ... ... ...) :most-recent-result nil :expected-result-type :passed :tags nil) :next-redisplay 0.0) #s(ert-test :name shadow-test08-shadow-todo :documentation "Check that needed shadows ..." :body (lambda nil (let* ... ...) (let* ... ...) (let* ... ...) (let ... ...)) :most-recent-result nil :expected-result-type :passed :tags nil) #f(compiled-function (event-type &rest event-args) #<bytecode 0x1ff5b962be0d>)) ert-run-tests((not (tag :unstable)) #f(compiled-function (event-type &rest event-args) #<bytecode 0x1ff5b962be0d>) nil) ert-run-tests-batch((not (tag :unstable))) ert-run-tests-batch-and-exit((not (tag :unstable))) eval((ert-run-tests-batch-and-exit '(not (tag :unstable))) t) command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/shadowfile-tests.el" "--eval" "(ert-run-tests-batch-and-exit (quote (not (tag :un...")) command-line() normal-top-level() shadow-test08-shadow-todo: (/var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsQbhZHe . /cluster2:/var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsQbhZHe) nil 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 (if (unwind-protect (setq value-549 (apply fn-547 args-548)) (setq f (let (form-description-551) (if (unwind-protect (setq value-549 (app (let ((value-549 'ert-form-evaluation-aborted-550)) (let (form-descr (let* ((fn-547 #'member) (args-548 (condition-case err (let ((signal (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "c (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) ( (let ((backup-inhibited t) (shadow-info-file shadow-test-info-file) (lambda nil (let* ((fn-532 #'not) (args-533 (condition-case err (let 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 (tag :unstable)) ert-run-tests((not (tag :unstable)) #f(compiled-function (event-type ert-run-tests-batch((not (tag :unstable))) ert-run-tests-batch-and-exit((not (tag :unstable))) eval((ert-run-tests-batch-and-exit '(not (tag :unstable))) t) command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/shadowfile-tests.el" 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/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsQbhZHe" . "/cluster2:/var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsQbhZHe") nil) :value nil)) FAILED 9/10 shadow-test08-shadow-todo (0.553099 sec) shadow-add-to-todo: nil nil backtrace() shadow-add-to-todo() run-hook-with-args-until-success(shadow-add-to-todo) basic-save-buffer(nil) save-buffer() (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster1 primary regexp) (setq cluster2 "cluster2" primary (file-remote-p shadow-test-remote-temporary-file-directory) regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster2 primary regexp) (setq file (make-temp-name (expand-file-name "shadowfile-tests" temporary-file-directory)) shadow-literal-groups (list (list (concat "/cluster1:" file) (concat "/cluster2:" file))) shadow-regexp-groups (list (list (concat (shadow-site-primary cluster1) (shadow-regexp-superquote file)) (concat (shadow-site-primary cluster2) (shadow-regexp-superquote file)))) mocked-input (list (concat (shadow-site-primary cluster2) file) file)) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name (concat (shadow-site-primary cluster2) file)) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (advice--add-function :before (cons #'(lambda nil (symbol-function #'write-region)) #'(lambda (gv--val) (fset #'write-region gv--val))) #'(lambda (&rest args) (if (and (buffer-file-name) mocked-input) (progn (let* (... ...) (let ... ... value-584))))) '((name . "write-region-mock"))) (shadow-copy-files 'noquery) (let ((value-587 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-588) (if (not (unwind-protect (setq value-587 shadow-files-to-copy) (setq form-description-588 (list ... :form ... :value value-587)) (ert--signal-should-execution form-description-588))) nil (ert-fail form-description-588))) value-587) (save-current-buffer (set-buffer shadow-todo-buffer) (goto-char (point-min)) (let* ((fn-589 #'looking-at) (args-590 (condition-case err (let (...) (list ...)) (error (progn ... ...))))) (let ((value-591 'ert-form-evaluation-aborted-592)) (let (form-description-593) (if (unwind-protect (setq value-591 ...) (setq form-description-593 ...) (ert--signal-should-execution form-description-593)) nil (ert-fail form-description-593))) value-591)))) (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster1 primary regexp) (setq cluster2 "cluster2" primary (file-remote-p shadow-test-remote-temporary-file-directory) regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster2 primary regexp) (setq file (make-temp-name (expand-file-name "shadowfile-tests" temporary-file-directory)) shadow-literal-groups (list (list (concat "/cluster1:" file) (concat "/cluster2:" file))) shadow-regexp-groups (list (list (concat (shadow-site-primary cluster1) (shadow-regexp-superquote file)) (concat (shadow-site-primary cluster2) (shadow-regexp-superquote file)))) mocked-input (list (concat (shadow-site-primary cluster2) file) file)) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name (concat ... file)) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (advice--add-function :before (cons #'(lambda nil (symbol-function #'write-region)) #'(lambda (gv--val) (fset #'write-region gv--val))) #'(lambda (&rest args) (if (and (buffer-file-name) mocked-input) (progn (let* ... ...)))) '((name . "write-region-mock"))) (shadow-copy-files 'noquery) (let ((value-587 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-588) (if (not (unwind-protect (setq value-587 shadow-files-to-copy) (setq form-description-588 ...) (ert--signal-should-execution form-description-588))) nil (ert-fail form-description-588))) value-587) (save-current-buffer (set-buffer shadow-todo-buffer) (goto-char (point-min)) (let* ((fn-589 #'looking-at) (args-590 (condition-case err (let ... ...) (error ...)))) (let ((value-591 'ert-form-evaluation-aborted-592)) (let (form-description-593) (if (unwind-protect ... ... ...) nil (ert-fail form-description-593))) value-591)))) (let* ((new (advice--remove-function (symbol-function #'write-region) "write-region-mock"))) (if (eq new (symbol-function #'write-region)) nil (fset #'write-region new))) (let ((--dolist-tail-- (list file (concat (shadow-site-primary cluster2) file))) elt) (while --dolist-tail-- (setq elt (car --dolist-tail--)) (condition-case nil (progn (save-current-buffer (set-buffer (get-file-buffer elt)) (set-buffer-modified-p nil) (kill-buffer))) (error nil)) (condition-case nil (progn (delete-file elt)) (error nil)) (setq --dolist-tail-- (cdr --dolist-tail--)))) (shadow--tests-cleanup)) (let ((backup-inhibited t) (shadow-info-file shadow-test-info-file) (shadow-todo-file shadow-test-todo-file) (shadow-inhibit-message t) (shadow-test-remote-temporary-file-directory (file-truename shadow-test-remote-temporary-file-directory)) (shadow-noquery t) shadow-clusters shadow-files-to-copy cluster1 cluster2 primary regexp file mocked-input) (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster1 primary regexp) (setq cluster2 "cluster2" primary (file-remote-p shadow-test-remote-temporary-file-directory) regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster2 primary regexp) (setq file (make-temp-name (expand-file-name "shadowfile-tests" temporary-file-directory)) shadow-literal-groups (list (list (concat "/cluster1:" file) (concat "/cluster2:" file))) shadow-regexp-groups (list (list (concat (shadow-site-primary cluster1) (shadow-regexp-superquote file)) (concat (shadow-site-primary cluster2) (shadow-regexp-superquote file)))) mocked-input (list (concat (shadow-site-primary cluster2) file) file)) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name ...) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (advice--add-function :before (cons #'(lambda nil (symbol-function ...)) #'(lambda (gv--val) (fset ... gv--val))) #'(lambda (&rest args) (if (and ... mocked-input) (progn ...))) '((name . "write-region-mock"))) (shadow-copy-files 'noquery) (let ((value-587 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-588) (if (not (unwind-protect ... ... ...)) nil (ert-fail form-description-588))) value-587) (save-current-buffer (set-buffer shadow-todo-buffer) (goto-char (point-min)) (let* ((fn-589 #'looking-at) (args-590 (condition-case err ... ...))) (let ((value-591 ...)) (let (form-description-593) (if ... nil ...)) value-591)))) (let* ((new (advice--remove-function (symbol-function #'write-region) "write-region-mock"))) (if (eq new (symbol-function #'write-region)) nil (fset #'write-region new))) (let ((--dolist-tail-- (list file (concat (shadow-site-primary cluster2) file))) elt) (while --dolist-tail-- (setq elt (car --dolist-tail--)) (condition-case nil (progn (save-current-buffer (set-buffer ...) (set-buffer-modified-p nil) (kill-buffer))) (error nil)) (condition-case nil (progn (delete-file elt)) (error nil)) (setq --dolist-tail-- (cdr --dolist-tail--)))) (shadow--tests-cleanup))) (lambda nil (let* ((fn-567 #'not) (args-568 (condition-case err (let ((signal-hook-function ...)) (list (memq system-type ...))) (error (progn (setq fn-567 ...) (list ... ...)))))) (let ((value-569 'ert-form-evaluation-aborted-570)) (let (form-description-571) (if (condition-case nil (progn (unwind-protect ... ... ...)) (error nil)) nil (ert-skip form-description-571))) value-569)) (let* ((fn-572 #'file-remote-p) (args-573 (condition-case err (let ((signal-hook-function ...)) (list shadow-test-remote-temporary-file-directory)) (error (progn (setq fn-572 ...) (list ... ...)))))) (let ((value-574 'ert-form-evaluation-aborted-575)) (let (form-description-576) (if (condition-case nil (progn (unwind-protect ... ... ...)) (error nil)) nil (ert-skip form-description-576))) value-574)) (let* ((fn-577 #'file-writable-p) (args-578 (condition-case err (let ((signal-hook-function ...)) (list shadow-test-remote-temporary-file-directory)) (error (progn (setq fn-577 ...) (list ... ...)))))) (let ((value-579 'ert-form-evaluation-aborted-580)) (let (form-description-581) (if (condition-case nil (progn (unwind-protect ... ... ...)) (error nil)) nil (ert-skip form-description-581))) value-579)) (let ((backup-inhibited t) (shadow-info-file shadow-test-info-file) (shadow-todo-file shadow-test-todo-file) (shadow-inhibit-message t) (shadow-test-remote-temporary-file-directory (file-truename shadow-test-remote-temporary-file-directory)) (shadow-noquery t) shadow-clusters shadow-files-to-copy cluster1 cluster2 primary regexp file mocked-input) (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster1 primary regexp) (setq cluster2 "cluster2" primary (file-remote-p shadow-test-remote-temporary-file-directory) regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster2 primary regexp) (setq file (make-temp-name (expand-file-name "shadowfile-tests" temporary-file-directory)) shadow-literal-groups (list (list (concat "/cluster1:" file) (concat "/cluster2:" file))) shadow-regexp-groups (list (list (concat ... ...) (concat ... ...))) mocked-input (list (concat (shadow-site-primary cluster2) file) file)) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn ... ... ...) (and ... ...)))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn ... ... ...) (and ... ...)))) (advice--add-function :before (cons #'(lambda nil ...) #'(lambda ... ...)) #'(lambda (&rest args) (if ... ...)) '((name . "write-region-mock"))) (shadow-copy-files 'noquery) (let ((value-587 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-588) (if (not ...) nil (ert-fail form-description-588))) value-587) (save-current-buffer (set-buffer shadow-todo-buffer) (goto-char (point-min)) (let* ((fn-589 ...) (args-590 ...)) (let (...) (let ... ...) value-591)))) (let* ((new (advice--remove-function (symbol-function ...) "write-region-mock"))) (if (eq new (symbol-function #'write-region)) nil (fset #'write-region new))) (let ((--dolist-tail-- (list file (concat ... file))) elt) (while --dolist-tail-- (setq elt (car --dolist-tail--)) (condition-case nil (progn (save-current-buffer ... ... ...)) (error nil)) (condition-case nil (progn (delete-file elt)) (error nil)) (setq --dolist-tail-- (cdr --dolist-tail--)))) (shadow--tests-cleanup))))() ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test :name shadow-test09-shadow-copy-files :documentation "Check that needed shadow files are copied." :body (lambda nil (let* ((fn-567 #'not) (args-568 (condition-case err ... ...))) (let ((value-569 ...)) (let (form-description-571) (if ... nil ...)) value-569)) (let* ((fn-572 #'file-remote-p) (args-573 (condition-case err ... ...))) (let ((value-574 ...)) (let (form-description-576) (if ... nil ...)) value-574)) (let* ((fn-577 #'file-writable-p) (args-578 (condition-case err ... ...))) (let ((value-579 ...)) (let (form-description-581) (if ... nil ...)) value-579)) (let ((backup-inhibited t) (shadow-info-file shadow-test-info-file) (shadow-todo-file shadow-test-todo-file) (shadow-inhibit-message t) (shadow-test-remote-temporary-file-directory (file-truename shadow-test-remote-temporary-file-directory)) (shadow-noquery t) shadow-clusters shadow-files-to-copy cluster1 cluster2 primary regexp file mocked-input) (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp ...) (shadow-set-cluster cluster1 primary regexp) (setq cluster2 "cluster2" primary ... regexp ...) (shadow-set-cluster cluster2 primary regexp) (setq file ... shadow-literal-groups ... shadow-regexp-groups ... mocked-input ...) (let ... ...) (let ... ...) (advice--add-function :before ... ... ...) (shadow-copy-files ...) (let ... ... value-587) (save-current-buffer ... ... ...)) (let* (...) (if ... nil ...)) (let (... elt) (while --dolist-tail-- ... ... ... ...)) (shadow--tests-cleanup)))) :most-recent-result nil :expected-result-type :passed :tags nil) :result #s(ert-test-aborted-with-non-local-exit :messages nil :should-forms nil :duration 0) :exit-continuation #f(compiled-function () #<bytecode 0x1ff5b961d3cd>) :next-debugger debug :ert-debug-on-error nil)) ert-run-test(#s(ert-test :name shadow-test09-shadow-copy-files :documentation "Check that needed shadow files are copied." :body (lambda nil (let* ((fn-567 #'not) (args-568 (condition-case err (let ... ...) (error ...)))) (let ((value-569 'ert-form-evaluation-aborted-570)) (let (form-description-571) (if (condition-case nil ... ...) nil (ert-skip form-description-571))) value-569)) (let* ((fn-572 #'file-remote-p) (args-573 (condition-case err (let ... ...) (error ...)))) (let ((value-574 'ert-form-evaluation-aborted-575)) (let (form-description-576) (if (condition-case nil ... ...) nil (ert-skip form-description-576))) value-574)) (let* ((fn-577 #'file-writable-p) (args-578 (condition-case err (let ... ...) (error ...)))) (let ((value-579 'ert-form-evaluation-aborted-580)) (let (form-description-581) (if (condition-case nil ... ...) nil (ert-skip form-description-581))) value-579)) (let ((backup-inhibited t) (shadow-info-file shadow-test-info-file) (shadow-todo-file shadow-test-todo-file) (shadow-inhibit-message t) (shadow-test-remote-temporary-file-directory (file-truename shadow-test-remote-temporary-file-directory)) (shadow-noquery t) shadow-clusters shadow-files-to-copy cluster1 cluster2 primary regexp file mocked-input) (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster1 primary regexp) (setq cluster2 "cluster2" primary (file-remote-p shadow-test-remote-temporary-file-directory) regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster2 primary regexp) (setq file (make-temp-name ...) shadow-literal-groups (list ...) shadow-regexp-groups (list ...) mocked-input (list ... file)) (let (...) (save-current-buffer ... ...)) (let (...) (save-current-buffer ... ...)) (advice--add-function :before (cons ... ...) #'... '...) (shadow-copy-files 'noquery) (let (...) (let ... ...) value-587) (save-current-buffer (set-buffer shadow-todo-buffer) (goto-char ...) (let* ... ...))) (let* ((new ...)) (if (eq new ...) nil (fset ... new))) (let ((--dolist-tail-- ...) elt) (while --dolist-tail-- (setq elt ...) (condition-case nil ... ...) (condition-case nil ... ...) (setq --dolist-tail-- ...))) (shadow--tests-cleanup)))) :most-recent-result nil :expected-result-type :passed :tags nil)) ert-run-or-rerun-test(#s(ert--stats :selector (not (tag :unstable)) :tests [#s(ert-test :name shadow-test00-clusters :documentation "Check cluster definitions...." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test01-sites :documentation "Check site definitions.\nPe..." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test02-files :documentation "Check file manipulation fu..." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test03-expand-cluster-in-file-name :documentation "Check canonical file name ..." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test04-contract-file-name :documentation "Check canonical file name ..." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test05-file-match :documentation "Check `shadow-same-site' a..." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test06-literal-groups :documentation "Check literal group defini..." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test07-regexp-groups :documentation "Check regexp group definit..." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test08-shadow-todo :documentation "Check that needed shadows ..." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test09-shadow-copy-files :documentation "Check that needed shadow f..." :body ... :most-recent-result nil :expected-result-type :passed :tags nil)] :test-map #<hash-table eql 10/10 0x1ff5b943554d> :test-results [#s(ert-test-passed :messages "Not a valid primary!\nRegex..." :should-forms ... :duration 4.054058) #s(ert-test-passed :messages "" :should-forms ... :duration 0.019025) #s(ert-test-passed :messages "" :should-forms ... :duration 0.031444) #s(ert-test-passed :messages "" :should-forms ... :duration 0.017081) #s(ert-test-passed :messages "" :should-forms ... :duration 0.188851) #s(ert-test-passed :messages "" :should-forms ... :duration 0.034957) #s(ert-test-passed :messages "" :should-forms ... :duration 0.040878) #s(ert-test-passed :messages "" :should-forms ... :duration 0.017809) #s(ert-test-failed :messages "shadow-test08-shadow-todo:..." :should-forms ... :duration 0.553099 :condition ... :backtrace ... :infos nil) nil] :test-start-times [(23925 25088 333098 0) (23925 25092 387309 0) (23925 25092 406397 0) (23925 25092 437905 0) (23925 25092 455050 0) (23925 25092 643982 0) (23925 25092 679003 0) (23925 25092 719950 0) (23925 25092 737824 0) (23925 25093 709516 0)] :test-end-times [(23925 25092 387156 0) (23925 25092 406334 0) (23925 25092 437841 0) (23925 25092 454986 0) (23925 25092 643901 0) (23925 25092 678939 0) (23925 25092 719881 0) (23925 25092 737759 0) (23925 25093 290923 0) nil] :passed-expected 8 :passed-unexpected 0 :failed-expected 0 :failed-unexpected 1 :skipped 0 :start-time (23925 25088 332964 0) :end-time nil :aborted-p nil :current-test #s(ert-test :name shadow-test09-shadow-copy-files :documentation "Check that needed shadow f..." :body (lambda nil ... ... ... ...) :most-recent-result nil :expected-result-type :passed :tags nil) :next-redisplay 0.0) #s(ert-test :name shadow-test09-shadow-copy-files :documentation "Check that needed shadow f..." :body (lambda nil (let* ... ...) (let* ... ...) (let* ... ...) (let ... ...)) :most-recent-result nil :expected-result-type :passed :tags nil) #f(compiled-function (event-type &rest event-args) #<bytecode 0x1ff5b962be0d>)) ert-run-tests((not (tag :unstable)) #f(compiled-function (event-type &rest event-args) #<bytecode 0x1ff5b962be0d>) nil) ert-run-tests-batch((not (tag :unstable))) ert-run-tests-batch-and-exit((not (tag :unstable))) eval((ert-run-tests-batch-and-exit '(not (tag :unstable))) t) command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/shadowfile-tests.el" "--eval" "(ert-run-tests-batch-and-exit (quote (not (tag :un...")) command-line() normal-top-level() shadow-add-to-todo: nil nil backtrace() shadow-add-to-todo() run-hook-with-args-until-success(shadow-add-to-todo) basic-save-buffer(nil) save-buffer() (progn (set-visited-file-name (concat (shadow-site-primary cluster2) file)) (insert "foo") (save-buffer)) (unwind-protect (progn (set-visited-file-name (concat (shadow-site-primary cluster2) file)) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name (concat (shadow-site-primary cluster2) file)) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name (concat (shadow-site-primary cluster2) file)) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster1 primary regexp) (setq cluster2 "cluster2" primary (file-remote-p shadow-test-remote-temporary-file-directory) regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster2 primary regexp) (setq file (make-temp-name (expand-file-name "shadowfile-tests" temporary-file-directory)) shadow-literal-groups (list (list (concat "/cluster1:" file) (concat "/cluster2:" file))) shadow-regexp-groups (list (list (concat (shadow-site-primary cluster1) (shadow-regexp-superquote file)) (concat (shadow-site-primary cluster2) (shadow-regexp-superquote file)))) mocked-input (list (concat (shadow-site-primary cluster2) file) file)) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name (concat (shadow-site-primary cluster2) file)) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (advice--add-function :before (cons #'(lambda nil (symbol-function #'write-region)) #'(lambda (gv--val) (fset #'write-region gv--val))) #'(lambda (&rest args) (if (and (buffer-file-name) mocked-input) (progn (let* (... ...) (let ... ... value-584))))) '((name . "write-region-mock"))) (shadow-copy-files 'noquery) (let ((value-587 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-588) (if (not (unwind-protect (setq value-587 shadow-files-to-copy) (setq form-description-588 (list ... :form ... :value value-587)) (ert--signal-should-execution form-description-588))) nil (ert-fail form-description-588))) value-587) (save-current-buffer (set-buffer shadow-todo-buffer) (goto-char (point-min)) (let* ((fn-589 #'looking-at) (args-590 (condition-case err (let (...) (list ...)) (error (progn ... ...))))) (let ((value-591 'ert-form-evaluation-aborted-592)) (let (form-description-593) (if (unwind-protect (setq value-591 ...) (setq form-description-593 ...) (ert--signal-should-execution form-description-593)) nil (ert-fail form-description-593))) value-591)))) (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster1 primary regexp) (setq cluster2 "cluster2" primary (file-remote-p shadow-test-remote-temporary-file-directory) regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster2 primary regexp) (setq file (make-temp-name (expand-file-name "shadowfile-tests" temporary-file-directory)) shadow-literal-groups (list (list (concat "/cluster1:" file) (concat "/cluster2:" file))) shadow-regexp-groups (list (list (concat (shadow-site-primary cluster1) (shadow-regexp-superquote file)) (concat (shadow-site-primary cluster2) (shadow-regexp-superquote file)))) mocked-input (list (concat (shadow-site-primary cluster2) file) file)) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name (concat ... file)) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (advice--add-function :before (cons #'(lambda nil (symbol-function #'write-region)) #'(lambda (gv--val) (fset #'write-region gv--val))) #'(lambda (&rest args) (if (and (buffer-file-name) mocked-input) (progn (let* ... ...)))) '((name . "write-region-mock"))) (shadow-copy-files 'noquery) (let ((value-587 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-588) (if (not (unwind-protect (setq value-587 shadow-files-to-copy) (setq form-description-588 ...) (ert--signal-should-execution form-description-588))) nil (ert-fail form-description-588))) value-587) (save-current-buffer (set-buffer shadow-todo-buffer) (goto-char (point-min)) (let* ((fn-589 #'looking-at) (args-590 (condition-case err (let ... ...) (error ...)))) (let ((value-591 'ert-form-evaluation-aborted-592)) (let (form-description-593) (if (unwind-protect ... ... ...) nil (ert-fail form-description-593))) value-591)))) (let* ((new (advice--remove-function (symbol-function #'write-region) "write-region-mock"))) (if (eq new (symbol-function #'write-region)) nil (fset #'write-region new))) (let ((--dolist-tail-- (list file (concat (shadow-site-primary cluster2) file))) elt) (while --dolist-tail-- (setq elt (car --dolist-tail--)) (condition-case nil (progn (save-current-buffer (set-buffer (get-file-buffer elt)) (set-buffer-modified-p nil) (kill-buffer))) (error nil)) (condition-case nil (progn (delete-file elt)) (error nil)) (setq --dolist-tail-- (cdr --dolist-tail--)))) (shadow--tests-cleanup)) (let ((backup-inhibited t) (shadow-info-file shadow-test-info-file) (shadow-todo-file shadow-test-todo-file) (shadow-inhibit-message t) (shadow-test-remote-temporary-file-directory (file-truename shadow-test-remote-temporary-file-directory)) (shadow-noquery t) shadow-clusters shadow-files-to-copy cluster1 cluster2 primary regexp file mocked-input) (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster1 primary regexp) (setq cluster2 "cluster2" primary (file-remote-p shadow-test-remote-temporary-file-directory) regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster2 primary regexp) (setq file (make-temp-name (expand-file-name "shadowfile-tests" temporary-file-directory)) shadow-literal-groups (list (list (concat "/cluster1:" file) (concat "/cluster2:" file))) shadow-regexp-groups (list (list (concat (shadow-site-primary cluster1) (shadow-regexp-superquote file)) (concat (shadow-site-primary cluster2) (shadow-regexp-superquote file)))) mocked-input (list (concat (shadow-site-primary cluster2) file) file)) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name ...) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (advice--add-function :before (cons #'(lambda nil (symbol-function ...)) #'(lambda (gv--val) (fset ... gv--val))) #'(lambda (&rest args) (if (and ... mocked-input) (progn ...))) '((name . "write-region-mock"))) (shadow-copy-files 'noquery) (let ((value-587 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-588) (if (not (unwind-protect ... ... ...)) nil (ert-fail form-description-588))) value-587) (save-current-buffer (set-buffer shadow-todo-buffer) (goto-char (point-min)) (let* ((fn-589 #'looking-at) (args-590 (condition-case err ... ...))) (let ((value-591 ...)) (let (form-description-593) (if ... nil ...)) value-591)))) (let* ((new (advice--remove-function (symbol-function #'write-region) "write-region-mock"))) (if (eq new (symbol-function #'write-region)) nil (fset #'write-region new))) (let ((--dolist-tail-- (list file (concat (shadow-site-primary cluster2) file))) elt) (while --dolist-tail-- (setq elt (car --dolist-tail--)) (condition-case nil (progn (save-current-buffer (set-buffer ...) (set-buffer-modified-p nil) (kill-buffer))) (error nil)) (condition-case nil (progn (delete-file elt)) (error nil)) (setq --dolist-tail-- (cdr --dolist-tail--)))) (shadow--tests-cleanup))) (lambda nil (let* ((fn-567 #'not) (args-568 (condition-case err (let ((signal-hook-function ...)) (list (memq system-type ...))) (error (progn (setq fn-567 ...) (list ... ...)))))) (let ((value-569 'ert-form-evaluation-aborted-570)) (let (form-description-571) (if (condition-case nil (progn (unwind-protect ... ... ...)) (error nil)) nil (ert-skip form-description-571))) value-569)) (let* ((fn-572 #'file-remote-p) (args-573 (condition-case err (let ((signal-hook-function ...)) (list shadow-test-remote-temporary-file-directory)) (error (progn (setq fn-572 ...) (list ... ...)))))) (let ((value-574 'ert-form-evaluation-aborted-575)) (let (form-description-576) (if (condition-case nil (progn (unwind-protect ... ... ...)) (error nil)) nil (ert-skip form-description-576))) value-574)) (let* ((fn-577 #'file-writable-p) (args-578 (condition-case err (let ((signal-hook-function ...)) (list shadow-test-remote-temporary-file-directory)) (error (progn (setq fn-577 ...) (list ... ...)))))) (let ((value-579 'ert-form-evaluation-aborted-580)) (let (form-description-581) (if (condition-case nil (progn (unwind-protect ... ... ...)) (error nil)) nil (ert-skip form-description-581))) value-579)) (let ((backup-inhibited t) (shadow-info-file shadow-test-info-file) (shadow-todo-file shadow-test-todo-file) (shadow-inhibit-message t) (shadow-test-remote-temporary-file-directory (file-truename shadow-test-remote-temporary-file-directory)) (shadow-noquery t) shadow-clusters shadow-files-to-copy cluster1 cluster2 primary regexp file mocked-input) (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster1 primary regexp) (setq cluster2 "cluster2" primary (file-remote-p shadow-test-remote-temporary-file-directory) regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster2 primary regexp) (setq file (make-temp-name (expand-file-name "shadowfile-tests" temporary-file-directory)) shadow-literal-groups (list (list (concat "/cluster1:" file) (concat "/cluster2:" file))) shadow-regexp-groups (list (list (concat ... ...) (concat ... ...))) mocked-input (list (concat (shadow-site-primary cluster2) file) file)) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn ... ... ...) (and ... ...)))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn ... ... ...) (and ... ...)))) (advice--add-function :before (cons #'(lambda nil ...) #'(lambda ... ...)) #'(lambda (&rest args) (if ... ...)) '((name . "write-region-mock"))) (shadow-copy-files 'noquery) (let ((value-587 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-588) (if (not ...) nil (ert-fail form-description-588))) value-587) (save-current-buffer (set-buffer shadow-todo-buffer) (goto-char (point-min)) (let* ((fn-589 ...) (args-590 ...)) (let (...) (let ... ...) value-591)))) (let* ((new (advice--remove-function (symbol-function ...) "write-region-mock"))) (if (eq new (symbol-function #'write-region)) nil (fset #'write-region new))) (let ((--dolist-tail-- (list file (concat ... file))) elt) (while --dolist-tail-- (setq elt (car --dolist-tail--)) (condition-case nil (progn (save-current-buffer ... ... ...)) (error nil)) (condition-case nil (progn (delete-file elt)) (error nil)) (setq --dolist-tail-- (cdr --dolist-tail--)))) (shadow--tests-cleanup))))() ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test :name shadow-test09-shadow-copy-files :documentation "Check that needed shadow files are copied." :body (lambda nil (let* ((fn-567 #'not) (args-568 (condition-case err ... ...))) (let ((value-569 ...)) (let (form-description-571) (if ... nil ...)) value-569)) (let* ((fn-572 #'file-remote-p) (args-573 (condition-case err ... ...))) (let ((value-574 ...)) (let (form-description-576) (if ... nil ...)) value-574)) (let* ((fn-577 #'file-writable-p) (args-578 (condition-case err ... ...))) (let ((value-579 ...)) (let (form-description-581) (if ... nil ...)) value-579)) (let ((backup-inhibited t) (shadow-info-file shadow-test-info-file) (shadow-todo-file shadow-test-todo-file) (shadow-inhibit-message t) (shadow-test-remote-temporary-file-directory (file-truename shadow-test-remote-temporary-file-directory)) (shadow-noquery t) shadow-clusters shadow-files-to-copy cluster1 cluster2 primary regexp file mocked-input) (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp ...) (shadow-set-cluster cluster1 primary regexp) (setq cluster2 "cluster2" primary ... regexp ...) (shadow-set-cluster cluster2 primary regexp) (setq file ... shadow-literal-groups ... shadow-regexp-groups ... mocked-input ...) (let ... ...) (let ... ...) (advice--add-function :before ... ... ...) (shadow-copy-files ...) (let ... ... value-587) (save-current-buffer ... ... ...)) (let* (...) (if ... nil ...)) (let (... elt) (while --dolist-tail-- ... ... ... ...)) (shadow--tests-cleanup)))) :most-recent-result nil :expected-result-type :passed :tags nil) :result #s(ert-test-aborted-with-non-local-exit :messages nil :should-forms nil :duration 0) :exit-continuation #f(compiled-function () #<bytecode 0x1ff5b961d3cd>) :next-debugger debug :ert-debug-on-error nil)) ert-run-test(#s(ert-test :name shadow-test09-shadow-copy-files :documentation "Check that needed shadow files are copied." :body (lambda nil (let* ((fn-567 #'not) (args-568 (condition-case err (let ... ...) (error ...)))) (let ((value-569 'ert-form-evaluation-aborted-570)) (let (form-description-571) (if (condition-case nil ... ...) nil (ert-skip form-description-571))) value-569)) (let* ((fn-572 #'file-remote-p) (args-573 (condition-case err (let ... ...) (error ...)))) (let ((value-574 'ert-form-evaluation-aborted-575)) (let (form-description-576) (if (condition-case nil ... ...) nil (ert-skip form-description-576))) value-574)) (let* ((fn-577 #'file-writable-p) (args-578 (condition-case err (let ... ...) (error ...)))) (let ((value-579 'ert-form-evaluation-aborted-580)) (let (form-description-581) (if (condition-case nil ... ...) nil (ert-skip form-description-581))) value-579)) (let ((backup-inhibited t) (shadow-info-file shadow-test-info-file) (shadow-todo-file shadow-test-todo-file) (shadow-inhibit-message t) (shadow-test-remote-temporary-file-directory (file-truename shadow-test-remote-temporary-file-directory)) (shadow-noquery t) shadow-clusters shadow-files-to-copy cluster1 cluster2 primary regexp file mocked-input) (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster1 primary regexp) (setq cluster2 "cluster2" primary (file-remote-p shadow-test-remote-temporary-file-directory) regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster2 primary regexp) (setq file (make-temp-name ...) shadow-literal-groups (list ...) shadow-regexp-groups (list ...) mocked-input (list ... file)) (let (...) (save-current-buffer ... ...)) (let (...) (save-current-buffer ... ...)) (advice--add-function :before (cons ... ...) #'... '...) (shadow-copy-files 'noquery) (let (...) (let ... ...) value-587) (save-current-buffer (set-buffer shadow-todo-buffer) (goto-char ...) (let* ... ...))) (let* ((new ...)) (if (eq new ...) nil (fset ... new))) (let ((--dolist-tail-- ...) elt) (while --dolist-tail-- (setq elt ...) (condition-case nil ... ...) (condition-case nil ... ...) (setq --dolist-tail-- ...))) (shadow--tests-cleanup)))) :most-recent-result nil :expected-result-type :passed :tags nil)) ert-run-or-rerun-test(#s(ert--stats :selector (not (tag :unstable)) :tests [#s(ert-test :name shadow-test00-clusters :documentation "Check cluster definitions...." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test01-sites :documentation "Check site definitions.\nPe..." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test02-files :documentation "Check file manipulation fu..." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test03-expand-cluster-in-file-name :documentation "Check canonical file name ..." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test04-contract-file-name :documentation "Check canonical file name ..." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test05-file-match :documentation "Check `shadow-same-site' a..." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test06-literal-groups :documentation "Check literal group defini..." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test07-regexp-groups :documentation "Check regexp group definit..." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test08-shadow-todo :documentation "Check that needed shadows ..." :body ... :most-recent-result ... :expected-result-type :passed :tags nil) #s(ert-test :name shadow-test09-shadow-copy-files :documentation "Check that needed shadow f..." :body ... :most-recent-result nil :expected-result-type :passed :tags nil)] :test-map #<hash-table eql 10/10 0x1ff5b943554d> :test-results [#s(ert-test-passed :messages "Not a valid primary!\nRegex..." :should-forms ... :duration 4.054058) #s(ert-test-passed :messages "" :should-forms ... :duration 0.019025) #s(ert-test-passed :messages "" :should-forms ... :duration 0.031444) #s(ert-test-passed :messages "" :should-forms ... :duration 0.017081) #s(ert-test-passed :messages "" :should-forms ... :duration 0.188851) #s(ert-test-passed :messages "" :should-forms ... :duration 0.034957) #s(ert-test-passed :messages "" :should-forms ... :duration 0.040878) #s(ert-test-passed :messages "" :should-forms ... :duration 0.017809) #s(ert-test-failed :messages "shadow-test08-shadow-todo:..." :should-forms ... :duration 0.553099 :condition ... :backtrace ... :infos nil) nil] :test-start-times [(23925 25088 333098 0) (23925 25092 387309 0) (23925 25092 406397 0) (23925 25092 437905 0) (23925 25092 455050 0) (23925 25092 643982 0) (23925 25092 679003 0) (23925 25092 719950 0) (23925 25092 737824 0) (23925 25093 709516 0)] :test-end-times [(23925 25092 387156 0) (23925 25092 406334 0) (23925 25092 437841 0) (23925 25092 454986 0) (23925 25092 643901 0) (23925 25092 678939 0) (23925 25092 719881 0) (23925 25092 737759 0) (23925 25093 290923 0) nil] :passed-expected 8 :passed-unexpected 0 :failed-expected 0 :failed-unexpected 1 :skipped 0 :start-time (23925 25088 332964 0) :end-time nil :aborted-p nil :current-test #s(ert-test :name shadow-test09-shadow-copy-files :documentation "Check that needed shadow f..." :body (lambda nil ... ... ... ...) :most-recent-result nil :expected-result-type :passed :tags nil) :next-redisplay 0.0) #s(ert-test :name shadow-test09-shadow-copy-files :documentation "Check that needed shadow f..." :body (lambda nil (let* ... ...) (let* ... ...) (let* ... ...) (let ... ...)) :most-recent-result nil :expected-result-type :passed :tags nil) #f(compiled-function (event-type &rest event-args) #<bytecode 0x1ff5b962be0d>)) ert-run-tests((not (tag :unstable)) #f(compiled-function (event-type &rest event-args) #<bytecode 0x1ff5b962be0d>) nil) ert-run-tests-batch((not (tag :unstable))) ert-run-tests-batch-and-exit((not (tag :unstable))) eval((ert-run-tests-batch-and-exit '(not (tag :unstable))) t) command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/shadowfile-tests.el" "--eval" "(ert-run-tests-batch-and-exit (quote (not (tag :un...")) command-line() normal-top-level() 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 (if (unwind-protect (setq value-591 (apply fn-589 args-590)) (setq f (let (form-description-593) (if (unwind-protect (setq value-591 (app (let ((value-591 'ert-form-evaluation-aborted-592)) (let (form-descr (let* ((fn-589 #'looking-at) (args-590 (condition-case err (let ((si (save-current-buffer (set-buffer shadow-todo-buffer) (goto-char (poi (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "c (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) ( (let ((backup-inhibited t) (shadow-info-file shadow-test-info-file) (lambda nil (let* ((fn-567 #'not) (args-568 (condition-case err (let 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 (tag :unstable)) ert-run-tests((not (tag :unstable)) #f(compiled-function (event-type ert-run-tests-batch((not (tag :unstable))) ert-run-tests-batch-and-exit((not (tag :unstable))) eval((ert-run-tests-batch-and-exit '(not (tag :unstable))) t) command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/shadowfile-tests.el" 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 (1.097443 sec) Ran 10 tests, 8 results as expected, 2 unexpected (2019-09-08 22:18:15+0200, 6.863622 sec) 2 unexpected results: FAILED shadow-test08-shadow-todo FAILED shadow-test09-shadow-copy-files make[1]: *** [lisp/shadowfile-tests.log] Error 1 make: *** [lisp/shadowfile-tests] Error 2 ^ permalink raw reply [flat|nested] 25+ messages in thread
* bug#37202: shadowfile-tests: two failures on macOS 2019-09-08 20:23 ` Stefan Kangas @ 2019-09-13 12:29 ` Michael Albinus 2019-09-14 16:39 ` Stefan Kangas 0 siblings, 1 reply; 25+ messages in thread From: Michael Albinus @ 2019-09-13 12:29 UTC (permalink / raw) To: Stefan Kangas; +Cc: 37202 Stefan Kangas <stefan@marxist.se> writes: > I'm still seing failures on current master on these tests, including > the line you noted above: I still have no idea what's up. Added more traces, for test. Best regards, Michael. ^ permalink raw reply [flat|nested] 25+ messages in thread
* bug#37202: shadowfile-tests: two failures on macOS 2019-09-13 12:29 ` Michael Albinus @ 2019-09-14 16:39 ` Stefan Kangas 2019-09-15 14:56 ` Michael Albinus 0 siblings, 1 reply; 25+ messages in thread From: Stefan Kangas @ 2019-09-14 16:39 UTC (permalink / raw) To: Michael Albinus; +Cc: 37202 [-- Attachment #1: Type: text/plain, Size: 186 bytes --] Michael Albinus <michael.albinus@gmx.de> writes: > I still have no idea what's up. Added more traces, for test. Thanks, please find attached the log file. Best regards, Stefan Kangas [-- Attachment #2: shadowfile-tests.log --] [-- Type: application/octet-stream, Size: 67558 bytes --] GEN lisp/shadowfile-tests.log Running 10 tests (2019-09-14 18:14:50+0200, selector `(not (tag :unstable))') passed 1/10 shadow-test00-clusters (4.057483 sec) passed 2/10 shadow-test01-sites (0.019834 sec) passed 3/10 shadow-test02-files (0.032502 sec) passed 4/10 shadow-test03-expand-cluster-in-file-name (0.031969 sec) passed 5/10 shadow-test04-contract-file-name (0.251036 sec) passed 6/10 shadow-test05-file-match (0.044491 sec) passed 7/10 shadow-test06-literal-groups (0.050405 sec) passed 8/10 shadow-test07-regexp-groups (0.018761 sec) shadow-test08-shadow-todo: cluster1 /Stefans-MBP: \`/Stefans-MBP:\' ((shadow-cluster cluster1 /Stefans-MBP: \`/Stefans-MBP:\')) shadow-test08-shadow-todo: cluster2 /mock:Stefans-MBP: \`/mock:Stefans-MBP:\' ((shadow-cluster cluster2 /mock:Stefans-MBP: \`/mock:Stefans-MBP:\') (shadow-cluster cluster1 /Stefans-MBP: \`/Stefans-MBP:\')) shadow-test08-shadow-todo: /var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsUMHFDw ((/cluster1:/var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsUMHFDw /cluster2:/var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsUMHFDw)) shadow-add-to-todo: /var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsUMHFDw /private/var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsUMHFDw shadow-shadows-of: /private/var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsUMHFDw /private/var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsUMHFDw /Users/skangas/wip/emacs/src/ /private/var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsUMHFDw /cluster1:/private/var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsUMHFDw shadow-add-to-todo: nil nil backtrace() shadow-add-to-todo() run-hook-with-args-until-success(shadow-add-to-todo) basic-save-buffer(nil) save-buffer() (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster1 primary regexp) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s %s %s" cluster1 primary regexp shadow-clusters))) (setq cluster2 "cluster2" primary (file-remote-p shadow-test-remote-temporary-file-directory) regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster2 primary regexp) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s %s %s" cluster2 primary regexp shadow-clusters))) (setq file (make-temp-name (expand-file-name "shadowfile-tests" temporary-file-directory)) shadow-literal-groups (list (list (concat "/cluster1:" file) (concat "/cluster2:" file)))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" file shadow-literal-groups))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" (cons file (shadow-contract-file-name (concat "/cluster2:" file))) shadow-files-to-copy))) (let* ((fn-547 #'member) (args-548 (condition-case err (let ((signal-hook-function ...)) (list (cons file ...) shadow-files-to-copy)) (error (progn (setq fn-547 ...) (list ... ...)))))) (let ((value-549 'ert-form-evaluation-aborted-550)) (let (form-description-551) (if (unwind-protect (setq value-549 (apply fn-547 args-548)) (setq form-description-551 (nconc ... ... ... ...)) (ert--signal-should-execution form-description-551)) nil (ert-fail form-description-551))) value-549)) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name (concat (shadow-site-primary cluster2) file)) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" (cons (concat (shadow-site-primary cluster2) file) (shadow-contract-file-name (concat "/cluster1:" file))) shadow-files-to-copy))) (let* ((fn-552 #'member) (args-553 (condition-case err (let ((signal-hook-function ...)) (list (cons ... ...) shadow-files-to-copy)) (error (progn (setq fn-552 ...) (list ... ...)))))) (let ((value-554 'ert-form-evaluation-aborted-555)) (let (form-description-556) (if (unwind-protect (setq value-554 (apply fn-552 args-553)) (setq form-description-556 (nconc ... ... ... ...)) (ert--signal-should-execution form-description-556)) nil (ert-fail form-description-556))) value-554)) (setq shadow-files-to-copy nil shadow-regexp-groups (list (list (concat (shadow-site-primary cluster1) (shadow-regexp-superquote file)) (concat (shadow-site-primary cluster2) (shadow-regexp-superquote file))))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" file shadow-regexp-groups))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" (cons file (shadow-contract-file-name (concat "/cluster2:" file))) shadow-files-to-copy))) (let* ((fn-557 #'member) (args-558 (condition-case err (let ((signal-hook-function ...)) (list (cons file ...) shadow-files-to-copy)) (error (progn (setq fn-557 ...) (list ... ...)))))) (let ((value-559 'ert-form-evaluation-aborted-560)) (let (form-description-561) (if (unwind-protect (setq value-559 (apply fn-557 args-558)) (setq form-description-561 (nconc ... ... ... ...)) (ert--signal-should-execution form-description-561)) nil (ert-fail form-description-561))) value-559)) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name (concat (shadow-site-primary cluster2) file)) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" (cons (concat (shadow-site-primary cluster2) file) (shadow-contract-file-name (concat "/cluster1:" file))) shadow-files-to-copy))) (let* ((fn-562 #'member) (args-563 (condition-case err (let ((signal-hook-function ...)) (list (cons ... ...) shadow-files-to-copy)) (error (progn (setq fn-562 ...) (list ... ...)))))) (let ((value-564 'ert-form-evaluation-aborted-565)) (let (form-description-566) (if (unwind-protect (setq value-564 (apply fn-562 args-563)) (setq form-description-566 (nconc ... ... ... ...)) (ert--signal-should-execution form-description-566)) nil (ert-fail form-description-566))) value-564))) (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster1 primary regexp) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s %s %s" cluster1 primary regexp shadow-clusters))) (setq cluster2 "cluster2" primary (file-remote-p shadow-test-remote-temporary-file-directory) regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster2 primary regexp) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s %s %s" cluster2 primary regexp shadow-clusters))) (setq file (make-temp-name (expand-file-name "shadowfile-tests" temporary-file-directory)) shadow-literal-groups (list (list (concat "/cluster1:" file) (concat "/cluster2:" file)))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" file shadow-literal-groups))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" (cons file (shadow-contract-file-name (concat "/cluster2:" file))) shadow-files-to-copy))) (let* ((fn-547 #'member) (args-548 (condition-case err (let (...) (list ... shadow-files-to-copy)) (error (progn ... ...))))) (let ((value-549 'ert-form-evaluation-aborted-550)) (let (form-description-551) (if (unwind-protect (setq value-549 ...) (setq form-description-551 ...) (ert--signal-should-execution form-description-551)) nil (ert-fail form-description-551))) value-549)) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name (concat ... file)) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" (cons (concat (shadow-site-primary cluster2) file) (shadow-contract-file-name (concat "/cluster1:" file))) shadow-files-to-copy))) (let* ((fn-552 #'member) (args-553 (condition-case err (let (...) (list ... shadow-files-to-copy)) (error (progn ... ...))))) (let ((value-554 'ert-form-evaluation-aborted-555)) (let (form-description-556) (if (unwind-protect (setq value-554 ...) (setq form-description-556 ...) (ert--signal-should-execution form-description-556)) nil (ert-fail form-description-556))) value-554)) (setq shadow-files-to-copy nil shadow-regexp-groups (list (list (concat (shadow-site-primary cluster1) (shadow-regexp-superquote file)) (concat (shadow-site-primary cluster2) (shadow-regexp-superquote file))))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" file shadow-regexp-groups))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" (cons file (shadow-contract-file-name (concat "/cluster2:" file))) shadow-files-to-copy))) (let* ((fn-557 #'member) (args-558 (condition-case err (let (...) (list ... shadow-files-to-copy)) (error (progn ... ...))))) (let ((value-559 'ert-form-evaluation-aborted-560)) (let (form-description-561) (if (unwind-protect (setq value-559 ...) (setq form-description-561 ...) (ert--signal-should-execution form-description-561)) nil (ert-fail form-description-561))) value-559)) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name (concat ... file)) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" (cons (concat (shadow-site-primary cluster2) file) (shadow-contract-file-name (concat "/cluster1:" file))) shadow-files-to-copy))) (let* ((fn-562 #'member) (args-563 (condition-case err (let (...) (list ... shadow-files-to-copy)) (error (progn ... ...))))) (let ((value-564 'ert-form-evaluation-aborted-565)) (let (form-description-566) (if (unwind-protect (setq value-564 ...) (setq form-description-566 ...) (ert--signal-should-execution form-description-566)) nil (ert-fail form-description-566))) value-564))) (let ((--dolist-tail-- (list file (concat (shadow-site-primary cluster2) file))) elt) (while --dolist-tail-- (setq elt (car --dolist-tail--)) (condition-case nil (progn (save-current-buffer (set-buffer (get-file-buffer elt)) (set-buffer-modified-p nil) (kill-buffer))) (error nil)) (condition-case nil (progn (delete-file elt)) (error nil)) (setq --dolist-tail-- (cdr --dolist-tail--)))) (shadow--tests-cleanup)) (let ((backup-inhibited t) (shadow-info-file shadow-test-info-file) (shadow-todo-file shadow-test-todo-file) (shadow-inhibit-message t) (shadow-test-remote-temporary-file-directory (file-truename shadow-test-remote-temporary-file-directory)) shadow-clusters shadow-literal-groups shadow-regexp-groups shadow-files-to-copy cluster1 cluster2 primary regexp file) (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster1 primary regexp) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s %s %s" cluster1 primary regexp shadow-clusters))) (setq cluster2 "cluster2" primary (file-remote-p shadow-test-remote-temporary-file-directory) regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster2 primary regexp) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s %s %s" cluster2 primary regexp shadow-clusters))) (setq file (make-temp-name (expand-file-name "shadowfile-tests" temporary-file-directory)) shadow-literal-groups (list (list (concat "/cluster1:" file) (concat "/cluster2:" file)))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" file shadow-literal-groups))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" (cons file (shadow-contract-file-name ...)) shadow-files-to-copy))) (let* ((fn-547 #'member) (args-548 (condition-case err (let ... ...) (error ...)))) (let ((value-549 'ert-form-evaluation-aborted-550)) (let (form-description-551) (if (unwind-protect ... ... ...) nil (ert-fail form-description-551))) value-549)) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name ...) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" (cons (concat ... file) (shadow-contract-file-name ...)) shadow-files-to-copy))) (let* ((fn-552 #'member) (args-553 (condition-case err (let ... ...) (error ...)))) (let ((value-554 'ert-form-evaluation-aborted-555)) (let (form-description-556) (if (unwind-protect ... ... ...) nil (ert-fail form-description-556))) value-554)) (setq shadow-files-to-copy nil shadow-regexp-groups (list (list (concat (shadow-site-primary cluster1) (shadow-regexp-superquote file)) (concat (shadow-site-primary cluster2) (shadow-regexp-superquote file))))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" file shadow-regexp-groups))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" (cons file (shadow-contract-file-name ...)) shadow-files-to-copy))) (let* ((fn-557 #'member) (args-558 (condition-case err (let ... ...) (error ...)))) (let ((value-559 'ert-form-evaluation-aborted-560)) (let (form-description-561) (if (unwind-protect ... ... ...) nil (ert-fail form-description-561))) value-559)) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name ...) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" (cons (concat ... file) (shadow-contract-file-name ...)) shadow-files-to-copy))) (let* ((fn-562 #'member) (args-563 (condition-case err (let ... ...) (error ...)))) (let ((value-564 'ert-form-evaluation-aborted-565)) (let (form-description-566) (if (unwind-protect ... ... ...) nil (ert-fail form-description-566))) value-564))) (let ((--dolist-tail-- (list file (concat (shadow-site-primary cluster2) file))) elt) (while --dolist-tail-- (setq elt (car --dolist-tail--)) (condition-case nil (progn (save-current-buffer (set-buffer ...) (set-buffer-modified-p nil) (kill-buffer))) (error nil)) (condition-case nil (progn (delete-file elt)) (error nil)) (setq --dolist-tail-- (cdr --dolist-tail--)))) (shadow--tests-cleanup))) (lambda nil (let* ((fn-532 #'not) (args-533 (condition-case err (let ((signal-hook-function ...)) (list (memq system-type ...))) (error (progn (setq fn-532 ...) (list ... ...)))))) (let ((value-534 'ert-form-evaluation-aborted-535)) (let (form-description-536) (if (condition-case nil (progn (unwind-protect ... ... ...)) (error nil)) nil (ert-skip form-description-536))) value-534)) (let* ((fn-537 #'file-remote-p) (args-538 (condition-case err (let ((signal-hook-function ...)) (list shadow-test-remote-temporary-file-directory)) (error (progn (setq fn-537 ...) (list ... ...)))))) (let ((value-539 'ert-form-evaluation-aborted-540)) (let (form-description-541) (if (condition-case nil (progn (unwind-protect ... ... ...)) (error nil)) nil (ert-skip form-description-541))) value-539)) (let* ((fn-542 #'file-writable-p) (args-543 (condition-case err (let ((signal-hook-function ...)) (list shadow-test-remote-temporary-file-directory)) (error (progn (setq fn-542 ...) (list ... ...)))))) (let ((value-544 'ert-form-evaluation-aborted-545)) (let (form-description-546) (if (condition-case nil (progn (unwind-protect ... ... ...)) (error nil)) nil (ert-skip form-description-546))) value-544)) (let ((backup-inhibited t) (shadow-info-file shadow-test-info-file) (shadow-todo-file shadow-test-todo-file) (shadow-inhibit-message t) (shadow-test-remote-temporary-file-directory (file-truename shadow-test-remote-temporary-file-directory)) shadow-clusters shadow-literal-groups shadow-regexp-groups shadow-files-to-copy cluster1 cluster2 primary regexp file) (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster1 primary regexp) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s %s %s" cluster1 primary regexp shadow-clusters))) (setq cluster2 "cluster2" primary (file-remote-p shadow-test-remote-temporary-file-directory) regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster2 primary regexp) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s %s %s" cluster2 primary regexp shadow-clusters))) (setq file (make-temp-name (expand-file-name "shadowfile-tests" temporary-file-directory)) shadow-literal-groups (list (list (concat "/cluster1:" file) (concat "/cluster2:" file)))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" file shadow-literal-groups))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn ... ... ...) (and ... ...)))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" (cons file ...) shadow-files-to-copy))) (let* ((fn-547 #'member) (args-548 (condition-case err ... ...))) (let ((value-549 ...)) (let (form-description-551) (if ... nil ...)) value-549)) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn ... ... ...) (and ... ...)))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" (cons ... ...) shadow-files-to-copy))) (let* ((fn-552 #'member) (args-553 (condition-case err ... ...))) (let ((value-554 ...)) (let (form-description-556) (if ... nil ...)) value-554)) (setq shadow-files-to-copy nil shadow-regexp-groups (list (list (concat ... ...) (concat ... ...)))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" file shadow-regexp-groups))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn ... ... ...) (and ... ...)))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" (cons file ...) shadow-files-to-copy))) (let* ((fn-557 #'member) (args-558 (condition-case err ... ...))) (let ((value-559 ...)) (let (form-description-561) (if ... nil ...)) value-559)) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn ... ... ...) (and ... ...)))) (if shadow-debug (progn (message "shadow-test08-shadow-todo: %s %s" (cons ... ...) shadow-files-to-copy))) (let* ((fn-562 #'member) (args-563 (condition-case err ... ...))) (let ((value-564 ...)) (let (form-description-566) (if ... nil ...)) value-564))) (let ((--dolist-tail-- (list file (concat ... file))) elt) (while --dolist-tail-- (setq elt (car --dolist-tail--)) (condition-case nil (progn (save-current-buffer ... ... ...)) (error nil)) (condition-case nil (progn (delete-file elt)) (error nil)) (setq --dolist-tail-- (cdr --dolist-tail--)))) (shadow--tests-cleanup))))() ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test :name shadow-test08-shadow-todo :documentation "Check that needed shadows are added to todo." :body (lambda nil (let* ((fn-532 #'not) (args-533 (condition-case err ... ...))) (let ((value-534 ...)) (let (form-description-536) (if ... nil ...)) value-534)) (let* ((fn-537 #'file-remote-p) (args-538 (condition-case err ... ...))) (let ((value-539 ...)) (let (form-description-541) (if ... nil ...)) value-539)) (let* ((fn-542 #'file-writable-p) (args-543 (condition-case err ... ...))) (let ((value-544 ...)) (let (form-description-546) (if ... nil ...)) value-544)) (let ((backup-inhibited t) (shadow-info-file shadow-test-info-file) (shadow-todo-file shadow-test-todo-file) (shadow-inhibit-message t) (shadow-test-remote-temporary-file-directory (file-truename shadow-test-remote-temporary-file-directory)) shadow-clusters shadow-literal-groups shadow-regexp-groups shadow-files-to-copy cluster1 cluster2 primary regexp file) (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp ...) (shadow-set-cluster cluster1 primary regexp) (if shadow-debug ...) (setq cluster2 "cluster2" primary ... regexp ...) (shadow-set-cluster cluster2 primary regexp) (if shadow-debug ...) (setq file ... shadow-literal-groups ...) (if shadow-debug ...) (let ... ...) (if shadow-debug ...) (let* ... ...) (let ... ...) (if shadow-debug ...) (let* ... ...) (setq shadow-files-to-copy nil shadow-regexp-groups ...) (if shadow-debug ...) (let ... ...) (if shadow-debug ...) (let* ... ...) (let ... ...) (if shadow-debug ...) (let* ... ...)) (let (... elt) (while --dolist-tail-- ... ... ... ...)) (shadow--tests-cleanup)))) :most-recent-result nil :expected-result-type :passed :tags nil) :result #s(ert-test-aborted-with-non-local-exit :messages nil :should-forms nil :duration 0) :exit-continuation #f(compiled-function () #<bytecode 0x1ff58f003e95>) :next-debugger debug :ert-debug-on-error nil)) ert-run-test(#s(ert-test :name shadow-test08-shadow-todo :documentation "Check that needed shadows are added to todo." :body (lambda nil (let* ((fn-532 #'not) (args-533 (condition-case err (let ... ...) (error ...)))) (let ((value-534 'ert-form-evaluation-aborted-535)) (let (form-description-536) (if (condition-case nil ... ...) nil (ert-skip form-description-536))) value-534)) (let* ((fn-537 #'file-remote-p) (args-538 (condition-case err (let ... ...) (error ...)))) (let ((value-539 'ert-form-evaluation-aborted-540)) (let (form-description-541) (if (condition-case nil ... ...) nil (ert-skip form-description-541))) value-539)) (let* ((fn-542 #'file-writable-p) (args-543 (condition-case err (let ... ...) (error ...)))) (let ((value-544 'ert-form-evaluation-aborted-545)) (let (form-description-546) (if (condition-case nil ... ...) nil (ert-skip form-description-546))) value-544)) (let ((backup-inhibited t) (shadow-info-file shadow-test-info-file) (shadow-todo-file shadow-test-todo-file) (shadow-inhibit-message t) (shadow-test-remote-temporary-file-directory (file-truename shadow-test-remote-temporary-file-directory)) shadow-clusters shadow-literal-groups shadow-regexp-groups shadow-files-to-copy cluster1 cluster2 primary regexp file) (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster1 primary regexp) (if shadow-debug (progn ...)) (setq cluster2 "cluster2" primary (file-remote-p shadow-test-remote-temporary-file-directory) regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster2 primary regexp) (if shadow-debug (progn ...)) (setq file (make-temp-name ...) shadow-literal-groups (list ...)) (if shadow-debug (progn ...)) (let (...) (save-current-buffer ... ...)) (if shadow-debug (progn ...)) (let* (... ...) (let ... ... value-549)) (let (...) (save-current-buffer ... ...)) (if shadow-debug (progn ...)) (let* (... ...) (let ... ... value-554)) (setq shadow-files-to-copy nil shadow-regexp-groups (list ...)) (if shadow-debug (progn ...)) (let (...) (save-current-buffer ... ...)) (if shadow-debug (progn ...)) (let* (... ...) (let ... ... value-559)) (let (...) (save-current-buffer ... ...)) (if shadow-debug (progn ...)) (let* (... ...) (let ... ... value-564))) (let ((--dolist-tail-- ...) elt) (while --dolist-tail-- (setq elt ...) (condition-case nil ... ...) (condition-case nil ... ...) (setq --dolist-tail-- ...))) (shadow--tests-cleanup)))) :most-recent-result nil :expected-result-type :passed :tags nil)) ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-map #<hash-table eql 10/10 0x1ff58ea0f81d> :test-results ... :test-start-times ... :test-end-times ... :passed-expected 8 :passed-unexpected 0 :failed-expected 0 :failed-unexpected 0 :skipped 0 :start-time ... :end-time nil :aborted-p nil ...) #s(ert-test :name shadow-test08-shadow-todo :documentation "Check that nee..." :body ... :most-recent-result nil :expected-result-type :passed :tags nil) #f(compiled-function (event-type &rest event-args) #<bytecode 0x1ff58ea0e2d9>)) ert-run-tests((not (tag :unstable)) #f(compiled-function (event-type &rest event-args) #<bytecode 0x1ff58ea0e2d9>) nil) ert-run-tests-batch((not (tag :unstable))) ert-run-tests-batch-and-exit((not (tag :unstable))) eval((ert-run-tests-batch-and-exit '(not (tag :unstable))) t) command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/shadowfile-tests.el" "--eval" "(ert-run-tests-batch-and-exit (quote (not (tag :un...")) command-line() normal-top-level() shadow-test08-shadow-todo: (/var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsUMHFDw . /cluster2:/var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsUMHFDw) nil 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 (if (unwind-protect (setq value-549 (apply fn-547 args-548)) (setq f (let (form-description-551) (if (unwind-protect (setq value-549 (app (let ((value-549 'ert-form-evaluation-aborted-550)) (let (form-descr (let* ((fn-547 #'member) (args-548 (condition-case err (let ((signal (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "c (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) ( (let ((backup-inhibited t) (shadow-info-file shadow-test-info-file) (lambda nil (let* ((fn-532 #'not) (args-533 (condition-case err (let 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 ... :tests ... :test-m ert-run-tests((not (tag :unstable)) #f(compiled-function (event-type ert-run-tests-batch((not (tag :unstable))) ert-run-tests-batch-and-exit((not (tag :unstable))) eval((ert-run-tests-batch-and-exit '(not (tag :unstable))) t) command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/shadowfile-tests.el" 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/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsUMHFDw" . "/cluster2:/var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsUMHFDw") nil) :value nil)) FAILED 9/10 shadow-test08-shadow-todo (0.444239 sec) shadow-add-to-todo: /var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsCkytW7 /private/var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsCkytW7 shadow-shadows-of: /private/var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsCkytW7 /private/var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsCkytW7 /Users/skangas/wip/emacs/src/ /private/var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsCkytW7 /cluster1:/private/var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsCkytW7 shadow-add-to-todo: nil nil backtrace() shadow-add-to-todo() run-hook-with-args-until-success(shadow-add-to-todo) basic-save-buffer(nil) save-buffer() (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster1 primary regexp) (setq cluster2 "cluster2" primary (file-remote-p shadow-test-remote-temporary-file-directory) regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster2 primary regexp) (setq file (make-temp-name (expand-file-name "shadowfile-tests" temporary-file-directory)) shadow-literal-groups (list (list (concat "/cluster1:" file) (concat "/cluster2:" file))) shadow-regexp-groups (list (list (concat (shadow-site-primary cluster1) (shadow-regexp-superquote file)) (concat (shadow-site-primary cluster2) (shadow-regexp-superquote file)))) mocked-input (list (concat (shadow-site-primary cluster2) file) file)) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name (concat (shadow-site-primary cluster2) file)) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (advice--add-function :before (cons #'(lambda nil (symbol-function #'write-region)) #'(lambda (gv--val) (fset #'write-region gv--val))) #'(lambda (&rest args) (if (and (buffer-file-name) mocked-input) (progn (let* (... ...) (let ... ... value-584))))) '((name . "write-region-mock"))) (shadow-copy-files 'noquery) (let ((value-587 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-588) (if (not (unwind-protect (setq value-587 shadow-files-to-copy) (setq form-description-588 (list ... :form ... :value value-587)) (ert--signal-should-execution form-description-588))) nil (ert-fail form-description-588))) value-587) (save-current-buffer (set-buffer shadow-todo-buffer) (goto-char (point-min)) (let* ((fn-589 #'looking-at) (args-590 (condition-case err (let (...) (list ...)) (error (progn ... ...))))) (let ((value-591 'ert-form-evaluation-aborted-592)) (let (form-description-593) (if (unwind-protect (setq value-591 ...) (setq form-description-593 ...) (ert--signal-should-execution form-description-593)) nil (ert-fail form-description-593))) value-591)))) (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster1 primary regexp) (setq cluster2 "cluster2" primary (file-remote-p shadow-test-remote-temporary-file-directory) regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster2 primary regexp) (setq file (make-temp-name (expand-file-name "shadowfile-tests" temporary-file-directory)) shadow-literal-groups (list (list (concat "/cluster1:" file) (concat "/cluster2:" file))) shadow-regexp-groups (list (list (concat (shadow-site-primary cluster1) (shadow-regexp-superquote file)) (concat (shadow-site-primary cluster2) (shadow-regexp-superquote file)))) mocked-input (list (concat (shadow-site-primary cluster2) file) file)) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name (concat ... file)) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (advice--add-function :before (cons #'(lambda nil (symbol-function #'write-region)) #'(lambda (gv--val) (fset #'write-region gv--val))) #'(lambda (&rest args) (if (and (buffer-file-name) mocked-input) (progn (let* ... ...)))) '((name . "write-region-mock"))) (shadow-copy-files 'noquery) (let ((value-587 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-588) (if (not (unwind-protect (setq value-587 shadow-files-to-copy) (setq form-description-588 ...) (ert--signal-should-execution form-description-588))) nil (ert-fail form-description-588))) value-587) (save-current-buffer (set-buffer shadow-todo-buffer) (goto-char (point-min)) (let* ((fn-589 #'looking-at) (args-590 (condition-case err (let ... ...) (error ...)))) (let ((value-591 'ert-form-evaluation-aborted-592)) (let (form-description-593) (if (unwind-protect ... ... ...) nil (ert-fail form-description-593))) value-591)))) (let* ((new (advice--remove-function (symbol-function #'write-region) "write-region-mock"))) (if (eq new (symbol-function #'write-region)) nil (fset #'write-region new))) (let ((--dolist-tail-- (list file (concat (shadow-site-primary cluster2) file))) elt) (while --dolist-tail-- (setq elt (car --dolist-tail--)) (condition-case nil (progn (save-current-buffer (set-buffer (get-file-buffer elt)) (set-buffer-modified-p nil) (kill-buffer))) (error nil)) (condition-case nil (progn (delete-file elt)) (error nil)) (setq --dolist-tail-- (cdr --dolist-tail--)))) (shadow--tests-cleanup)) (let ((backup-inhibited t) (shadow-info-file shadow-test-info-file) (shadow-todo-file shadow-test-todo-file) (shadow-inhibit-message t) (shadow-test-remote-temporary-file-directory (file-truename shadow-test-remote-temporary-file-directory)) (shadow-noquery t) shadow-clusters shadow-files-to-copy cluster1 cluster2 primary regexp file mocked-input) (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster1 primary regexp) (setq cluster2 "cluster2" primary (file-remote-p shadow-test-remote-temporary-file-directory) regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster2 primary regexp) (setq file (make-temp-name (expand-file-name "shadowfile-tests" temporary-file-directory)) shadow-literal-groups (list (list (concat "/cluster1:" file) (concat "/cluster2:" file))) shadow-regexp-groups (list (list (concat (shadow-site-primary cluster1) (shadow-regexp-superquote file)) (concat (shadow-site-primary cluster2) (shadow-regexp-superquote file)))) mocked-input (list (concat (shadow-site-primary cluster2) file) file)) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name ...) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (advice--add-function :before (cons #'(lambda nil (symbol-function ...)) #'(lambda (gv--val) (fset ... gv--val))) #'(lambda (&rest args) (if (and ... mocked-input) (progn ...))) '((name . "write-region-mock"))) (shadow-copy-files 'noquery) (let ((value-587 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-588) (if (not (unwind-protect ... ... ...)) nil (ert-fail form-description-588))) value-587) (save-current-buffer (set-buffer shadow-todo-buffer) (goto-char (point-min)) (let* ((fn-589 #'looking-at) (args-590 (condition-case err ... ...))) (let ((value-591 ...)) (let (form-description-593) (if ... nil ...)) value-591)))) (let* ((new (advice--remove-function (symbol-function #'write-region) "write-region-mock"))) (if (eq new (symbol-function #'write-region)) nil (fset #'write-region new))) (let ((--dolist-tail-- (list file (concat (shadow-site-primary cluster2) file))) elt) (while --dolist-tail-- (setq elt (car --dolist-tail--)) (condition-case nil (progn (save-current-buffer (set-buffer ...) (set-buffer-modified-p nil) (kill-buffer))) (error nil)) (condition-case nil (progn (delete-file elt)) (error nil)) (setq --dolist-tail-- (cdr --dolist-tail--)))) (shadow--tests-cleanup))) (lambda nil (let* ((fn-567 #'not) (args-568 (condition-case err (let ((signal-hook-function ...)) (list (memq system-type ...))) (error (progn (setq fn-567 ...) (list ... ...)))))) (let ((value-569 'ert-form-evaluation-aborted-570)) (let (form-description-571) (if (condition-case nil (progn (unwind-protect ... ... ...)) (error nil)) nil (ert-skip form-description-571))) value-569)) (let* ((fn-572 #'file-remote-p) (args-573 (condition-case err (let ((signal-hook-function ...)) (list shadow-test-remote-temporary-file-directory)) (error (progn (setq fn-572 ...) (list ... ...)))))) (let ((value-574 'ert-form-evaluation-aborted-575)) (let (form-description-576) (if (condition-case nil (progn (unwind-protect ... ... ...)) (error nil)) nil (ert-skip form-description-576))) value-574)) (let* ((fn-577 #'file-writable-p) (args-578 (condition-case err (let ((signal-hook-function ...)) (list shadow-test-remote-temporary-file-directory)) (error (progn (setq fn-577 ...) (list ... ...)))))) (let ((value-579 'ert-form-evaluation-aborted-580)) (let (form-description-581) (if (condition-case nil (progn (unwind-protect ... ... ...)) (error nil)) nil (ert-skip form-description-581))) value-579)) (let ((backup-inhibited t) (shadow-info-file shadow-test-info-file) (shadow-todo-file shadow-test-todo-file) (shadow-inhibit-message t) (shadow-test-remote-temporary-file-directory (file-truename shadow-test-remote-temporary-file-directory)) (shadow-noquery t) shadow-clusters shadow-files-to-copy cluster1 cluster2 primary regexp file mocked-input) (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster1 primary regexp) (setq cluster2 "cluster2" primary (file-remote-p shadow-test-remote-temporary-file-directory) regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster2 primary regexp) (setq file (make-temp-name (expand-file-name "shadowfile-tests" temporary-file-directory)) shadow-literal-groups (list (list (concat "/cluster1:" file) (concat "/cluster2:" file))) shadow-regexp-groups (list (list (concat ... ...) (concat ... ...))) mocked-input (list (concat (shadow-site-primary cluster2) file) file)) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn ... ... ...) (and ... ...)))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn ... ... ...) (and ... ...)))) (advice--add-function :before (cons #'(lambda nil ...) #'(lambda ... ...)) #'(lambda (&rest args) (if ... ...)) '((name . "write-region-mock"))) (shadow-copy-files 'noquery) (let ((value-587 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-588) (if (not ...) nil (ert-fail form-description-588))) value-587) (save-current-buffer (set-buffer shadow-todo-buffer) (goto-char (point-min)) (let* ((fn-589 ...) (args-590 ...)) (let (...) (let ... ...) value-591)))) (let* ((new (advice--remove-function (symbol-function ...) "write-region-mock"))) (if (eq new (symbol-function #'write-region)) nil (fset #'write-region new))) (let ((--dolist-tail-- (list file (concat ... file))) elt) (while --dolist-tail-- (setq elt (car --dolist-tail--)) (condition-case nil (progn (save-current-buffer ... ... ...)) (error nil)) (condition-case nil (progn (delete-file elt)) (error nil)) (setq --dolist-tail-- (cdr --dolist-tail--)))) (shadow--tests-cleanup))))() ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test :name shadow-test09-shadow-copy-files :documentation "Check that needed shadow files are copied." :body (lambda nil (let* ((fn-567 #'not) (args-568 (condition-case err ... ...))) (let ((value-569 ...)) (let (form-description-571) (if ... nil ...)) value-569)) (let* ((fn-572 #'file-remote-p) (args-573 (condition-case err ... ...))) (let ((value-574 ...)) (let (form-description-576) (if ... nil ...)) value-574)) (let* ((fn-577 #'file-writable-p) (args-578 (condition-case err ... ...))) (let ((value-579 ...)) (let (form-description-581) (if ... nil ...)) value-579)) (let ((backup-inhibited t) (shadow-info-file shadow-test-info-file) (shadow-todo-file shadow-test-todo-file) (shadow-inhibit-message t) (shadow-test-remote-temporary-file-directory (file-truename shadow-test-remote-temporary-file-directory)) (shadow-noquery t) shadow-clusters shadow-files-to-copy cluster1 cluster2 primary regexp file mocked-input) (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp ...) (shadow-set-cluster cluster1 primary regexp) (setq cluster2 "cluster2" primary ... regexp ...) (shadow-set-cluster cluster2 primary regexp) (setq file ... shadow-literal-groups ... shadow-regexp-groups ... mocked-input ...) (let ... ...) (let ... ...) (advice--add-function :before ... ... ...) (shadow-copy-files ...) (let ... ... value-587) (save-current-buffer ... ... ...)) (let* (...) (if ... nil ...)) (let (... elt) (while --dolist-tail-- ... ... ... ...)) (shadow--tests-cleanup)))) :most-recent-result nil :expected-result-type :passed :tags nil) :result #s(ert-test-aborted-with-non-local-exit :messages nil :should-forms nil :duration 0) :exit-continuation #f(compiled-function () #<bytecode 0x1ff58f003e95>) :next-debugger debug :ert-debug-on-error nil)) ert-run-test(#s(ert-test :name shadow-test09-shadow-copy-files :documentation "Check that needed shadow files are copied." :body (lambda nil (let* ((fn-567 #'not) (args-568 (condition-case err (let ... ...) (error ...)))) (let ((value-569 'ert-form-evaluation-aborted-570)) (let (form-description-571) (if (condition-case nil ... ...) nil (ert-skip form-description-571))) value-569)) (let* ((fn-572 #'file-remote-p) (args-573 (condition-case err (let ... ...) (error ...)))) (let ((value-574 'ert-form-evaluation-aborted-575)) (let (form-description-576) (if (condition-case nil ... ...) nil (ert-skip form-description-576))) value-574)) (let* ((fn-577 #'file-writable-p) (args-578 (condition-case err (let ... ...) (error ...)))) (let ((value-579 'ert-form-evaluation-aborted-580)) (let (form-description-581) (if (condition-case nil ... ...) nil (ert-skip form-description-581))) value-579)) (let ((backup-inhibited t) (shadow-info-file shadow-test-info-file) (shadow-todo-file shadow-test-todo-file) (shadow-inhibit-message t) (shadow-test-remote-temporary-file-directory (file-truename shadow-test-remote-temporary-file-directory)) (shadow-noquery t) shadow-clusters shadow-files-to-copy cluster1 cluster2 primary regexp file mocked-input) (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster1 primary regexp) (setq cluster2 "cluster2" primary (file-remote-p shadow-test-remote-temporary-file-directory) regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster2 primary regexp) (setq file (make-temp-name ...) shadow-literal-groups (list ...) shadow-regexp-groups (list ...) mocked-input (list ... file)) (let (...) (save-current-buffer ... ...)) (let (...) (save-current-buffer ... ...)) (advice--add-function :before (cons ... ...) #'... '...) (shadow-copy-files 'noquery) (let (...) (let ... ...) value-587) (save-current-buffer (set-buffer shadow-todo-buffer) (goto-char ...) (let* ... ...))) (let* ((new ...)) (if (eq new ...) nil (fset ... new))) (let ((--dolist-tail-- ...) elt) (while --dolist-tail-- (setq elt ...) (condition-case nil ... ...) (condition-case nil ... ...) (setq --dolist-tail-- ...))) (shadow--tests-cleanup)))) :most-recent-result nil :expected-result-type :passed :tags nil)) ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-map #<hash-table eql 10/10 0x1ff58ea0f81d> :test-results ... :test-start-times ... :test-end-times ... :passed-expected 8 :passed-unexpected 0 :failed-expected 0 :failed-unexpected 1 :skipped 0 :start-time ... :end-time nil :aborted-p nil ...) #s(ert-test :name shadow-test09-shadow-copy-files :documentation "Check that nee..." :body ... :most-recent-result nil :expected-result-type :passed :tags nil) #f(compiled-function (event-type &rest event-args) #<bytecode 0x1ff58ea0e2d9>)) ert-run-tests((not (tag :unstable)) #f(compiled-function (event-type &rest event-args) #<bytecode 0x1ff58ea0e2d9>) nil) ert-run-tests-batch((not (tag :unstable))) ert-run-tests-batch-and-exit((not (tag :unstable))) eval((ert-run-tests-batch-and-exit '(not (tag :unstable))) t) command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/shadowfile-tests.el" "--eval" "(ert-run-tests-batch-and-exit (quote (not (tag :un...")) command-line() normal-top-level() shadow-add-to-todo: /mock:Stefans-MBP:/var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsCkytW7 /mock:Stefans-MBP:/private/var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsCkytW7 shadow-shadows-of: /mock:Stefans-MBP:/private/var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsCkytW7 nil /Users/skangas/wip/emacs/src/ /mock:Stefans-MBP:/private/var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsCkytW7 /cluster2:/private/var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsCkytW7 shadow-add-to-todo: nil nil backtrace() shadow-add-to-todo() run-hook-with-args-until-success(shadow-add-to-todo) basic-save-buffer(nil) save-buffer() (progn (set-visited-file-name (concat (shadow-site-primary cluster2) file)) (insert "foo") (save-buffer)) (unwind-protect (progn (set-visited-file-name (concat (shadow-site-primary cluster2) file)) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name (concat (shadow-site-primary cluster2) file)) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer)))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name (concat (shadow-site-primary cluster2) file)) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster1 primary regexp) (setq cluster2 "cluster2" primary (file-remote-p shadow-test-remote-temporary-file-directory) regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster2 primary regexp) (setq file (make-temp-name (expand-file-name "shadowfile-tests" temporary-file-directory)) shadow-literal-groups (list (list (concat "/cluster1:" file) (concat "/cluster2:" file))) shadow-regexp-groups (list (list (concat (shadow-site-primary cluster1) (shadow-regexp-superquote file)) (concat (shadow-site-primary cluster2) (shadow-regexp-superquote file)))) mocked-input (list (concat (shadow-site-primary cluster2) file) file)) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name (concat (shadow-site-primary cluster2) file)) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (advice--add-function :before (cons #'(lambda nil (symbol-function #'write-region)) #'(lambda (gv--val) (fset #'write-region gv--val))) #'(lambda (&rest args) (if (and (buffer-file-name) mocked-input) (progn (let* (... ...) (let ... ... value-584))))) '((name . "write-region-mock"))) (shadow-copy-files 'noquery) (let ((value-587 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-588) (if (not (unwind-protect (setq value-587 shadow-files-to-copy) (setq form-description-588 (list ... :form ... :value value-587)) (ert--signal-should-execution form-description-588))) nil (ert-fail form-description-588))) value-587) (save-current-buffer (set-buffer shadow-todo-buffer) (goto-char (point-min)) (let* ((fn-589 #'looking-at) (args-590 (condition-case err (let (...) (list ...)) (error (progn ... ...))))) (let ((value-591 'ert-form-evaluation-aborted-592)) (let (form-description-593) (if (unwind-protect (setq value-591 ...) (setq form-description-593 ...) (ert--signal-should-execution form-description-593)) nil (ert-fail form-description-593))) value-591)))) (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster1 primary regexp) (setq cluster2 "cluster2" primary (file-remote-p shadow-test-remote-temporary-file-directory) regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster2 primary regexp) (setq file (make-temp-name (expand-file-name "shadowfile-tests" temporary-file-directory)) shadow-literal-groups (list (list (concat "/cluster1:" file) (concat "/cluster2:" file))) shadow-regexp-groups (list (list (concat (shadow-site-primary cluster1) (shadow-regexp-superquote file)) (concat (shadow-site-primary cluster2) (shadow-regexp-superquote file)))) mocked-input (list (concat (shadow-site-primary cluster2) file) file)) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name (concat ... file)) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (advice--add-function :before (cons #'(lambda nil (symbol-function #'write-region)) #'(lambda (gv--val) (fset #'write-region gv--val))) #'(lambda (&rest args) (if (and (buffer-file-name) mocked-input) (progn (let* ... ...)))) '((name . "write-region-mock"))) (shadow-copy-files 'noquery) (let ((value-587 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-588) (if (not (unwind-protect (setq value-587 shadow-files-to-copy) (setq form-description-588 ...) (ert--signal-should-execution form-description-588))) nil (ert-fail form-description-588))) value-587) (save-current-buffer (set-buffer shadow-todo-buffer) (goto-char (point-min)) (let* ((fn-589 #'looking-at) (args-590 (condition-case err (let ... ...) (error ...)))) (let ((value-591 'ert-form-evaluation-aborted-592)) (let (form-description-593) (if (unwind-protect ... ... ...) nil (ert-fail form-description-593))) value-591)))) (let* ((new (advice--remove-function (symbol-function #'write-region) "write-region-mock"))) (if (eq new (symbol-function #'write-region)) nil (fset #'write-region new))) (let ((--dolist-tail-- (list file (concat (shadow-site-primary cluster2) file))) elt) (while --dolist-tail-- (setq elt (car --dolist-tail--)) (condition-case nil (progn (save-current-buffer (set-buffer (get-file-buffer elt)) (set-buffer-modified-p nil) (kill-buffer))) (error nil)) (condition-case nil (progn (delete-file elt)) (error nil)) (setq --dolist-tail-- (cdr --dolist-tail--)))) (shadow--tests-cleanup)) (let ((backup-inhibited t) (shadow-info-file shadow-test-info-file) (shadow-todo-file shadow-test-todo-file) (shadow-inhibit-message t) (shadow-test-remote-temporary-file-directory (file-truename shadow-test-remote-temporary-file-directory)) (shadow-noquery t) shadow-clusters shadow-files-to-copy cluster1 cluster2 primary regexp file mocked-input) (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster1 primary regexp) (setq cluster2 "cluster2" primary (file-remote-p shadow-test-remote-temporary-file-directory) regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster2 primary regexp) (setq file (make-temp-name (expand-file-name "shadowfile-tests" temporary-file-directory)) shadow-literal-groups (list (list (concat "/cluster1:" file) (concat "/cluster2:" file))) shadow-regexp-groups (list (list (concat (shadow-site-primary cluster1) (shadow-regexp-superquote file)) (concat (shadow-site-primary cluster2) (shadow-regexp-superquote file)))) mocked-input (list (concat (shadow-site-primary cluster2) file) file)) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name file) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn (set-visited-file-name ...) (insert "foo") (save-buffer)) (and (buffer-name temp-buffer) (kill-buffer temp-buffer))))) (advice--add-function :before (cons #'(lambda nil (symbol-function ...)) #'(lambda (gv--val) (fset ... gv--val))) #'(lambda (&rest args) (if (and ... mocked-input) (progn ...))) '((name . "write-region-mock"))) (shadow-copy-files 'noquery) (let ((value-587 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-588) (if (not (unwind-protect ... ... ...)) nil (ert-fail form-description-588))) value-587) (save-current-buffer (set-buffer shadow-todo-buffer) (goto-char (point-min)) (let* ((fn-589 #'looking-at) (args-590 (condition-case err ... ...))) (let ((value-591 ...)) (let (form-description-593) (if ... nil ...)) value-591)))) (let* ((new (advice--remove-function (symbol-function #'write-region) "write-region-mock"))) (if (eq new (symbol-function #'write-region)) nil (fset #'write-region new))) (let ((--dolist-tail-- (list file (concat (shadow-site-primary cluster2) file))) elt) (while --dolist-tail-- (setq elt (car --dolist-tail--)) (condition-case nil (progn (save-current-buffer (set-buffer ...) (set-buffer-modified-p nil) (kill-buffer))) (error nil)) (condition-case nil (progn (delete-file elt)) (error nil)) (setq --dolist-tail-- (cdr --dolist-tail--)))) (shadow--tests-cleanup))) (lambda nil (let* ((fn-567 #'not) (args-568 (condition-case err (let ((signal-hook-function ...)) (list (memq system-type ...))) (error (progn (setq fn-567 ...) (list ... ...)))))) (let ((value-569 'ert-form-evaluation-aborted-570)) (let (form-description-571) (if (condition-case nil (progn (unwind-protect ... ... ...)) (error nil)) nil (ert-skip form-description-571))) value-569)) (let* ((fn-572 #'file-remote-p) (args-573 (condition-case err (let ((signal-hook-function ...)) (list shadow-test-remote-temporary-file-directory)) (error (progn (setq fn-572 ...) (list ... ...)))))) (let ((value-574 'ert-form-evaluation-aborted-575)) (let (form-description-576) (if (condition-case nil (progn (unwind-protect ... ... ...)) (error nil)) nil (ert-skip form-description-576))) value-574)) (let* ((fn-577 #'file-writable-p) (args-578 (condition-case err (let ((signal-hook-function ...)) (list shadow-test-remote-temporary-file-directory)) (error (progn (setq fn-577 ...) (list ... ...)))))) (let ((value-579 'ert-form-evaluation-aborted-580)) (let (form-description-581) (if (condition-case nil (progn (unwind-protect ... ... ...)) (error nil)) nil (ert-skip form-description-581))) value-579)) (let ((backup-inhibited t) (shadow-info-file shadow-test-info-file) (shadow-todo-file shadow-test-todo-file) (shadow-inhibit-message t) (shadow-test-remote-temporary-file-directory (file-truename shadow-test-remote-temporary-file-directory)) (shadow-noquery t) shadow-clusters shadow-files-to-copy cluster1 cluster2 primary regexp file mocked-input) (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster1 primary regexp) (setq cluster2 "cluster2" primary (file-remote-p shadow-test-remote-temporary-file-directory) regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster2 primary regexp) (setq file (make-temp-name (expand-file-name "shadowfile-tests" temporary-file-directory)) shadow-literal-groups (list (list (concat "/cluster1:" file) (concat "/cluster2:" file))) shadow-regexp-groups (list (list (concat ... ...) (concat ... ...))) mocked-input (list (concat (shadow-site-primary cluster2) file) file)) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn ... ... ...) (and ... ...)))) (let ((temp-buffer (generate-new-buffer " *temp*"))) (save-current-buffer (set-buffer temp-buffer) (unwind-protect (progn ... ... ...) (and ... ...)))) (advice--add-function :before (cons #'(lambda nil ...) #'(lambda ... ...)) #'(lambda (&rest args) (if ... ...)) '((name . "write-region-mock"))) (shadow-copy-files 'noquery) (let ((value-587 (gensym "ert-form-evaluation-aborted-"))) (let (form-description-588) (if (not ...) nil (ert-fail form-description-588))) value-587) (save-current-buffer (set-buffer shadow-todo-buffer) (goto-char (point-min)) (let* ((fn-589 ...) (args-590 ...)) (let (...) (let ... ...) value-591)))) (let* ((new (advice--remove-function (symbol-function ...) "write-region-mock"))) (if (eq new (symbol-function #'write-region)) nil (fset #'write-region new))) (let ((--dolist-tail-- (list file (concat ... file))) elt) (while --dolist-tail-- (setq elt (car --dolist-tail--)) (condition-case nil (progn (save-current-buffer ... ... ...)) (error nil)) (condition-case nil (progn (delete-file elt)) (error nil)) (setq --dolist-tail-- (cdr --dolist-tail--)))) (shadow--tests-cleanup))))() ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test :name shadow-test09-shadow-copy-files :documentation "Check that needed shadow files are copied." :body (lambda nil (let* ((fn-567 #'not) (args-568 (condition-case err ... ...))) (let ((value-569 ...)) (let (form-description-571) (if ... nil ...)) value-569)) (let* ((fn-572 #'file-remote-p) (args-573 (condition-case err ... ...))) (let ((value-574 ...)) (let (form-description-576) (if ... nil ...)) value-574)) (let* ((fn-577 #'file-writable-p) (args-578 (condition-case err ... ...))) (let ((value-579 ...)) (let (form-description-581) (if ... nil ...)) value-579)) (let ((backup-inhibited t) (shadow-info-file shadow-test-info-file) (shadow-todo-file shadow-test-todo-file) (shadow-inhibit-message t) (shadow-test-remote-temporary-file-directory (file-truename shadow-test-remote-temporary-file-directory)) (shadow-noquery t) shadow-clusters shadow-files-to-copy cluster1 cluster2 primary regexp file mocked-input) (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp ...) (shadow-set-cluster cluster1 primary regexp) (setq cluster2 "cluster2" primary ... regexp ...) (shadow-set-cluster cluster2 primary regexp) (setq file ... shadow-literal-groups ... shadow-regexp-groups ... mocked-input ...) (let ... ...) (let ... ...) (advice--add-function :before ... ... ...) (shadow-copy-files ...) (let ... ... value-587) (save-current-buffer ... ... ...)) (let* (...) (if ... nil ...)) (let (... elt) (while --dolist-tail-- ... ... ... ...)) (shadow--tests-cleanup)))) :most-recent-result nil :expected-result-type :passed :tags nil) :result #s(ert-test-aborted-with-non-local-exit :messages nil :should-forms nil :duration 0) :exit-continuation #f(compiled-function () #<bytecode 0x1ff58f003e95>) :next-debugger debug :ert-debug-on-error nil)) ert-run-test(#s(ert-test :name shadow-test09-shadow-copy-files :documentation "Check that needed shadow files are copied." :body (lambda nil (let* ((fn-567 #'not) (args-568 (condition-case err (let ... ...) (error ...)))) (let ((value-569 'ert-form-evaluation-aborted-570)) (let (form-description-571) (if (condition-case nil ... ...) nil (ert-skip form-description-571))) value-569)) (let* ((fn-572 #'file-remote-p) (args-573 (condition-case err (let ... ...) (error ...)))) (let ((value-574 'ert-form-evaluation-aborted-575)) (let (form-description-576) (if (condition-case nil ... ...) nil (ert-skip form-description-576))) value-574)) (let* ((fn-577 #'file-writable-p) (args-578 (condition-case err (let ... ...) (error ...)))) (let ((value-579 'ert-form-evaluation-aborted-580)) (let (form-description-581) (if (condition-case nil ... ...) nil (ert-skip form-description-581))) value-579)) (let ((backup-inhibited t) (shadow-info-file shadow-test-info-file) (shadow-todo-file shadow-test-todo-file) (shadow-inhibit-message t) (shadow-test-remote-temporary-file-directory (file-truename shadow-test-remote-temporary-file-directory)) (shadow-noquery t) shadow-clusters shadow-files-to-copy cluster1 cluster2 primary regexp file mocked-input) (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "cluster1" primary shadow-system-name regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster1 primary regexp) (setq cluster2 "cluster2" primary (file-remote-p shadow-test-remote-temporary-file-directory) regexp (shadow-regexp-superquote primary)) (shadow-set-cluster cluster2 primary regexp) (setq file (make-temp-name ...) shadow-literal-groups (list ...) shadow-regexp-groups (list ...) mocked-input (list ... file)) (let (...) (save-current-buffer ... ...)) (let (...) (save-current-buffer ... ...)) (advice--add-function :before (cons ... ...) #'... '...) (shadow-copy-files 'noquery) (let (...) (let ... ...) value-587) (save-current-buffer (set-buffer shadow-todo-buffer) (goto-char ...) (let* ... ...))) (let* ((new ...)) (if (eq new ...) nil (fset ... new))) (let ((--dolist-tail-- ...) elt) (while --dolist-tail-- (setq elt ...) (condition-case nil ... ...) (condition-case nil ... ...) (setq --dolist-tail-- ...))) (shadow--tests-cleanup)))) :most-recent-result nil :expected-result-type :passed :tags nil)) ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-map #<hash-table eql 10/10 0x1ff58ea0f81d> :test-results ... :test-start-times ... :test-end-times ... :passed-expected 8 :passed-unexpected 0 :failed-expected 0 :failed-unexpected 1 :skipped 0 :start-time ... :end-time nil :aborted-p nil ...) #s(ert-test :name shadow-test09-shadow-copy-files :documentation "Check that nee..." :body ... :most-recent-result nil :expected-result-type :passed :tags nil) #f(compiled-function (event-type &rest event-args) #<bytecode 0x1ff58ea0e2d9>)) ert-run-tests((not (tag :unstable)) #f(compiled-function (event-type &rest event-args) #<bytecode 0x1ff58ea0e2d9>) nil) ert-run-tests-batch((not (tag :unstable))) ert-run-tests-batch-and-exit((not (tag :unstable))) eval((ert-run-tests-batch-and-exit '(not (tag :unstable))) t) command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/shadowfile-tests.el" "--eval" "(ert-run-tests-batch-and-exit (quote (not (tag :un...")) command-line() normal-top-level() 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 (if (unwind-protect (setq value-591 (apply fn-589 args-590)) (setq f (let (form-description-593) (if (unwind-protect (setq value-591 (app (let ((value-591 'ert-form-evaluation-aborted-592)) (let (form-descr (let* ((fn-589 #'looking-at) (args-590 (condition-case err (let ((si (save-current-buffer (set-buffer shadow-todo-buffer) (goto-char (poi (progn (shadow--tests-cleanup) (shadow-initialize) (setq cluster1 "c (unwind-protect (progn (shadow--tests-cleanup) (shadow-initialize) ( (let ((backup-inhibited t) (shadow-info-file shadow-test-info-file) (lambda nil (let* ((fn-567 #'not) (args-568 (condition-case err (let 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 ... :tests ... :test-m ert-run-tests((not (tag :unstable)) #f(compiled-function (event-type ert-run-tests-batch((not (tag :unstable))) ert-run-tests-batch-and-exit((not (tag :unstable))) eval((ert-run-tests-batch-and-exit '(not (tag :unstable))) t) command-line-1(("-L" ":." "-l" "ert" "-l" "lisp/shadowfile-tests.el" 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 (1.148033 sec) Ran 10 tests, 8 results as expected, 2 unexpected (2019-09-14 18:14:56+0200, 6.659549 sec) 2 unexpected results: FAILED shadow-test08-shadow-todo FAILED shadow-test09-shadow-copy-files make[1]: *** [lisp/shadowfile-tests.log] Error 1 make: *** [lisp/shadowfile-tests] Error 2 ^ permalink raw reply [flat|nested] 25+ messages in thread
* bug#37202: shadowfile-tests: two failures on macOS 2019-09-14 16:39 ` Stefan Kangas @ 2019-09-15 14:56 ` Michael Albinus 2019-09-16 2:07 ` Stefan Kangas 2019-09-16 19:52 ` Glenn Morris 0 siblings, 2 replies; 25+ messages in thread From: Michael Albinus @ 2019-09-15 14:56 UTC (permalink / raw) To: Stefan Kangas; +Cc: 37202 Stefan Kangas <stefan@marxist.se> writes: Hi Stefan, > Thanks, please find attached the log file. That helps. > shadow-add-to-todo: /var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsUMHFDw /private/var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsUMHFDw This tells us, that we must not only use the truename of shadow-test-remote-temporary-file-directory, but also of temporary-file-directory. I've pushed a fix to master, let's see how it runs. > Best regards, > Stefan Kangas Best regards, Michael. ^ permalink raw reply [flat|nested] 25+ messages in thread
* bug#37202: shadowfile-tests: two failures on macOS 2019-09-15 14:56 ` Michael Albinus @ 2019-09-16 2:07 ` Stefan Kangas 2019-09-16 13:13 ` Michael Albinus 2019-09-16 19:52 ` Glenn Morris 1 sibling, 1 reply; 25+ messages in thread From: Stefan Kangas @ 2019-09-16 2:07 UTC (permalink / raw) To: Michael Albinus; +Cc: 37202 Michael Albinus <michael.albinus@gmx.de> writes: Hi Michael, > > shadow-add-to-todo: /var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsUMHFDw /private/var/folders/pj/rhx0gxy15tv3vx6l3mdy0qvm0000gn/T/shadowfile-testsUMHFDw > > This tells us, that we must not only use the truename of > shadow-test-remote-temporary-file-directory, but also of > temporary-file-directory. I've pushed a fix to master, let's see how it runs. That seems to have done the trick; I see no more failures. I'll send you the test log privately, but I think the relevant line is this one: Ran 10 tests, 10 results as expected, 0 unexpected (2019-09-15 22:02:48+0200, 8.197759 sec) Congratulations! And thanks for investigating and fixing it. Best regards, Stefan Kangas ^ permalink raw reply [flat|nested] 25+ messages in thread
* bug#37202: shadowfile-tests: two failures on macOS 2019-09-16 2:07 ` Stefan Kangas @ 2019-09-16 13:13 ` Michael Albinus 0 siblings, 0 replies; 25+ messages in thread From: Michael Albinus @ 2019-09-16 13:13 UTC (permalink / raw) To: Stefan Kangas; +Cc: 37202-done Version: 27.1 Stefan Kangas <stefan@marxist.se> writes: > Hi Michael, Hi Stefan, > That seems to have done the trick; I see no more failures. I'll send > you the test log privately, but I think the relevant line is this one: > > Ran 10 tests, 10 results as expected, 0 unexpected (2019-09-15 > 22:02:48+0200, 8.197759 sec) Thanks for your patient tests! I've disabled the traces in shadowfile-tests.el. Closing the bug. > Congratulations! And thanks for investigating and fixing it. > > Best regards, > Stefan Kangas Best regards, Michael. ^ permalink raw reply [flat|nested] 25+ messages in thread
* bug#37202: shadowfile-tests: two failures on macOS 2019-09-15 14:56 ` Michael Albinus 2019-09-16 2:07 ` Stefan Kangas @ 2019-09-16 19:52 ` Glenn Morris 2019-09-19 11:09 ` Michael Albinus 2019-09-21 7:55 ` Michael Albinus 1 sibling, 2 replies; 25+ messages in thread From: Glenn Morris @ 2019-09-16 19:52 UTC (permalink / raw) To: Michael Albinus; +Cc: Stefan Kangas, 37202 Michael Albinus wrote: > This tells us, that we must not only use the truename of > shadow-test-remote-temporary-file-directory, but also of > temporary-file-directory. I've pushed a fix to master, let's see how it runs. This change makes it fail every time on hydra.nixos.org :) https://hydra.nixos.org/build/101137999 ^ permalink raw reply [flat|nested] 25+ messages in thread
* bug#37202: shadowfile-tests: two failures on macOS 2019-09-16 19:52 ` Glenn Morris @ 2019-09-19 11:09 ` Michael Albinus 2019-09-20 0:19 ` Paul Eggert 2019-09-21 7:55 ` Michael Albinus 1 sibling, 1 reply; 25+ messages in thread From: Michael Albinus @ 2019-09-19 11:09 UTC (permalink / raw) To: Glenn Morris; +Cc: Paul Eggert, Stefan Kangas, 37202 Glenn Morris <rgm@gnu.org> writes: Hi Glenn, >> This tells us, that we must not only use the truename of >> shadow-test-remote-temporary-file-directory, but also of >> temporary-file-directory. I've pushed a fix to master, let's see how it runs. > > This change makes it fail every time on hydra.nixos.org :) > https://hydra.nixos.org/build/101137999 Analysing the backtrace, it doesn't look like "this change" is responsible. It seems rather that this is the first sign that Paul's recent changes have damaged Tramp. I mean, that file-attributes returns an error now instead of nil, if a file is not accessible. My analysis could be wrong, but the question still stands: why do we need this change in file-attributes and friends? (And I propose to start with a new bug. It is not related to shadowfile-tests at all). Best regards, Michael. ^ permalink raw reply [flat|nested] 25+ messages in thread
* bug#37202: shadowfile-tests: two failures on macOS 2019-09-19 11:09 ` Michael Albinus @ 2019-09-20 0:19 ` Paul Eggert 2019-09-20 12:35 ` Michael Albinus 0 siblings, 1 reply; 25+ messages in thread From: Paul Eggert @ 2019-09-20 0:19 UTC (permalink / raw) To: Michael Albinus, Glenn Morris; +Cc: Stefan Kangas, 37202 On 9/19/19 4:09 AM, Michael Albinus wrote: >> https://hydra.nixos.org/build/101137999 > > ... It seems rather that this is the first sign that Paul's > recent changes have damaged Tramp. I mean, that file-attributes returns > an error now instead of nil, if a file is not accessible. Could you explain how the backtrace implicates file-attributes? I see the following in the backtrace, but I don't see file-attributes listed there, and when I look at the tramp-handle-file-modes source it appears that file-attributes returned nil which is what I think you expected. Test shadow-test08-shadow-todo backtrace: signal(args-out-of-range ("([] 1)")) tramp-signal-hook-function(args-out-of-range ([] 1)) tramp-mode-string-to-int(nil) tramp-handle-file-modes(#("/mock:localhost:/build/shadowfile-tests75GTBI" 6 15 (tramp-default t))) apply(tramp-handle-file-modes #("/mock:localhost:/build/shadowfile-tests75GTBI" 6 15 (tramp-default t))) tramp-sh-file-name-handler(file-modes #("/mock:localhost:/build/shadowfile-tests75GTBI" 6 15 (tramp-default t))) apply(tramp-sh-file-name-handler file-modes #("/mock:localhost:/build/shadowfile-tests75GTBI" 6 15 (tramp-default t))) tramp-file-name-handler(file-modes #("/mock:localhost:/build/shadowfile-tests75GTBI" 6 15 (tramp-default t))) file-modes(#("/mock:localhost:/build/shadowfile-tests75GTBI" 6 15 (tramp-default t))) ^ permalink raw reply [flat|nested] 25+ messages in thread
* bug#37202: shadowfile-tests: two failures on macOS 2019-09-20 0:19 ` Paul Eggert @ 2019-09-20 12:35 ` Michael Albinus 2019-09-20 19:04 ` Paul Eggert 0 siblings, 1 reply; 25+ messages in thread From: Michael Albinus @ 2019-09-20 12:35 UTC (permalink / raw) To: Paul Eggert; +Cc: Stefan Kangas, 37202 Paul Eggert <eggert@cs.ucla.edu> writes: Hi Paul, > Could you explain how the backtrace implicates file-attributes? I see > the following in the backtrace, but I don't see file-attributes listed > there, and when I look at the tramp-handle-file-modes source it > appears that file-attributes returned nil which is what I think you > expected. > > Test shadow-test08-shadow-todo backtrace: > signal(args-out-of-range ("([] 1)")) > tramp-signal-hook-function(args-out-of-range ([] 1)) > tramp-mode-string-to-int(nil) > > tramp-handle-file-modes(#("/mock:localhost:/build/shadowfile-tests75GTBI" > 6 15 (tramp-default t))) Right, `file-attributes' does not seem to have raised an error. But it still seems to behave differently. The code is --8<---------------cut here---------------start------------->8--- (defun tramp-handle-file-modes (filename) "Like `file-modes' for Tramp files." (let ((truename (or (file-truename filename) filename))) (when (file-exists-p truename) (tramp-mode-string-to-int (tramp-compat-file-attribute-modes (file-attributes truename)))))) --8<---------------cut here---------------end--------------->8--- That means, (file-attributes truename) returns nil although (file-exists-p truename) returns non-nil. That seems to be a changed behaviour to me, I don't remember having seen this before. Arguably, the test shall better use `access-file' but `file-exists-p'. But anyway, such subtle differences could break Tramp. I still use conditional wording, because I cannot debug on hydra. And I cannot say for sure that your changes have caused the problem. For the time being, I'll adapt `tramp-handle-file-modes' in order to unbreak the errors on hydra. Best regards, Michael. ^ permalink raw reply [flat|nested] 25+ messages in thread
* bug#37202: shadowfile-tests: two failures on macOS 2019-09-20 12:35 ` Michael Albinus @ 2019-09-20 19:04 ` Paul Eggert 2019-09-20 19:13 ` Michael Albinus 0 siblings, 1 reply; 25+ messages in thread From: Paul Eggert @ 2019-09-20 19:04 UTC (permalink / raw) To: Michael Albinus; +Cc: Stefan Kangas, 37202 On 9/20/19 5:35 AM, Michael Albinus wrote: > That means, (file-attributes truename) returns nil although > (file-exists-p truename) returns non-nil. I don't see why the recent changes would cause file-attributes to return nil on a local file. If file-exists-p succeeds, the file has been confirmed to exist. In that case, when file-attributes uses fstatat (or openat+stat) the syscalls should either succeed, or should fail with an unusual errno value like EOVERFLOW, so file-attributes should either return non-nil or signal an error. Perhaps the file in question has file handlers that are interposing themselves? That might explain the situation. I should mention that under Emacs 26 file-attributes can return nil here, even for a local file: e.g., (file-exists-p F) uses faccessat which succeeds, then (file-attributes F) uses fstatat (or openat+fstat) which fails with errno==EOVERFLOW because F's timestamp or inode number is out of range for the kernel. Also, of course using two calls suffers from a race if the filesystem changes between the calls. So, regardless of the the recent access changes, it appears that this code in tramp-handle-file-modes: (when (file-exists-p truename) (tramp-mode-string-to-int (tramp-compat-file-attribute-modes (file-attributes truename)))) should be rewritten to be something like this: (when-let ((attrs (file-attributes truename))) (tramp-mode-string-to-int (tramp-compat-file-attribute-modes attrs))) ^ permalink raw reply [flat|nested] 25+ messages in thread
* bug#37202: shadowfile-tests: two failures on macOS 2019-09-20 19:04 ` Paul Eggert @ 2019-09-20 19:13 ` Michael Albinus 0 siblings, 0 replies; 25+ messages in thread From: Michael Albinus @ 2019-09-20 19:13 UTC (permalink / raw) To: Paul Eggert; +Cc: Stefan Kangas, 37202 Paul Eggert <eggert@cs.ucla.edu> writes: Hi Paul, > So, regardless of the the recent access changes, it appears that this > code in tramp-handle-file-modes: > > (when (file-exists-p truename) > (tramp-mode-string-to-int > (tramp-compat-file-attribute-modes (file-attributes truename)))) > > should be rewritten to be something like this: > > (when-let ((attrs (file-attributes truename))) > (tramp-mode-string-to-int > (tramp-compat-file-attribute-modes attrs))) Something like this, yes. Except, that when-let does not exist in Emacs 24.4. Best regards, Michael. ^ permalink raw reply [flat|nested] 25+ messages in thread
* bug#37202: shadowfile-tests: two failures on macOS 2019-09-16 19:52 ` Glenn Morris 2019-09-19 11:09 ` Michael Albinus @ 2019-09-21 7:55 ` Michael Albinus 2019-10-03 13:50 ` Michael Albinus 1 sibling, 1 reply; 25+ messages in thread From: Michael Albinus @ 2019-09-21 7:55 UTC (permalink / raw) To: Glenn Morris; +Cc: Stefan Kangas, 37202 Glenn Morris <rgm@gnu.org> writes: > This change makes it fail every time on hydra.nixos.org :) > https://hydra.nixos.org/build/101137999 Should be fixed now, hopefully. Best regards, Michael. ^ permalink raw reply [flat|nested] 25+ messages in thread
* bug#37202: shadowfile-tests: two failures on macOS 2019-09-21 7:55 ` Michael Albinus @ 2019-10-03 13:50 ` Michael Albinus 0 siblings, 0 replies; 25+ messages in thread From: Michael Albinus @ 2019-10-03 13:50 UTC (permalink / raw) To: Glenn Morris; +Cc: Stefan Kangas, 37202 Michael Albinus <michael.albinus@gmx.de> writes: > Glenn Morris <rgm@gnu.org> writes: > >> This change makes it fail every time on hydra.nixos.org :) >> https://hydra.nixos.org/build/101137999 > > Should be fixed now, hopefully. After some further iterations, hydra doesn't report an error anymore. Best regards, Michael. ^ permalink raw reply [flat|nested] 25+ messages in thread
end of thread, other threads:[~2019-10-03 13:50 UTC | newest] Thread overview: 25+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2019-08-28 0:41 bug#37202: shadowfile-tests: two failures on macOS Stefan Kangas 2019-08-28 8:18 ` Michael Albinus 2019-08-29 13:51 ` Michael Albinus [not found] ` <CADwFkmkxp+NhTTuUg_kja-768nskD4JhbhTwTMKkwh4=QxfKjw@mail.gmail.com> 2019-09-03 12:12 ` Michael Albinus 2019-09-03 13:13 ` Stefan Kangas 2019-09-03 15:04 ` Michael Albinus 2019-09-04 12:16 ` Michael Albinus 2019-09-05 15:07 ` Stefan Kangas 2019-09-07 10:33 ` Michael Albinus 2019-09-07 12:45 ` Stefan Kangas 2019-09-08 8:21 ` Michael Albinus 2019-09-08 20:23 ` Stefan Kangas 2019-09-13 12:29 ` Michael Albinus 2019-09-14 16:39 ` Stefan Kangas 2019-09-15 14:56 ` Michael Albinus 2019-09-16 2:07 ` Stefan Kangas 2019-09-16 13:13 ` Michael Albinus 2019-09-16 19:52 ` Glenn Morris 2019-09-19 11:09 ` Michael Albinus 2019-09-20 0:19 ` Paul Eggert 2019-09-20 12:35 ` Michael Albinus 2019-09-20 19:04 ` Paul Eggert 2019-09-20 19:13 ` Michael Albinus 2019-09-21 7:55 ` Michael Albinus 2019-10-03 13:50 ` Michael Albinus
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).