[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: dired-tests.el fails on MS-Windows

From: Eli Zaretskii
Subject: Re: dired-tests.el fails on MS-Windows
Date: Tue, 01 Aug 2017 22:04:26 +0300

> From: Tino Calancha <address@hidden>
> Cc: address@hidden, address@hidden
> Date: Wed, 02 Aug 2017 02:02:32 +0900
> > dired-tests.log:
> >   Test dired-test-bug25609 condition:
> >       (ert-test-failed
> >        ((should
> >      (file-exists-p target))
> >     :form
> >     (file-exists-p 
> > "c:/DOCUME~1/Zaretzky/LOCALS~1/Temp/bar6828Ler/foo6828WPJ")
> >     :value nil))
> Could you check the following?

I could, but I don't understand the purpose.  This form is almost
identical to what's in dired-tests.el, and I already established that
the failure is indeed because 'target' doesn't exist at that moment.
I just didn't dig deep enough to understand why, because I didn't
really understand what the code wants to do, e.g. why it calls
dired-do-copy twice, and more importantly why 'target' is supposed to
exist after all that.

What I see here is that at the point where file-exists-p is called,
there are two directories: /bla/blah/foNNNNNN and /bla/bla/barKKKKKK,
but not /bla/bla/fooNNNNN/barKKKKKK, as I think the code expects.

maybe if you could explain the idea behind the code I could think of a
reason why it doesn't work here.

> >   Test dired-test-bug27631 backtrace:
> >     signal(error ("em-ls is not a currently loaded feature"))
> >     error("%s is not a currently loaded feature" "em-ls")
> >     unload-feature(em-ls force)
> >     (unwind-protect (progn (make-directory dir1) (make-directory dir2) (
> >     (let* ((dir (make-temp-file "bug27631" 'dir)) (dir1 (expand-file-nam
> >     (closure (t) nil (let* ((dir (make-temp-file "bug27631" 'dir)) (dir1
> >     ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
> >     ert-run-test(#s(ert-test :name dired-test-bug27631 :documentation "T
> >     ert-run-or-rerun-test(#s(ert--stats :selector t :tests [#s(ert-test 
> >     ert-run-tests(t #f(compiled-function (event-type &rest event-args) #
> >     ert-run-tests-batch(nil)
> >     ert-run-tests-batch-and-exit(nil)
> >     eval((ert-run-tests-batch-and-exit nil))
> >     command-line-1(("-L" ";." "-l" "ert" "-l" "lisp/dired-tests.el" "--e
> >     command-line()
> >     normal-top-level()
> >   Test dired-test-bug27631 condition:
> >       (error "em-ls is not a currently loaded feature")
> I don't get this error, but the idea of require
> those libs and unload them looks ugly.

I think we need to understand why the problem happens before we decide
how to proceed.

> > ediff-ptch-tests.log:
> >
> >   Running 2 tests (2017-08-01 18:21:40+0300)
> >      passed  1/2  ediff-ptch-test-bug25010
> >   Test ediff-ptch-test-bug26084 backtrace:
> >   Test ediff-ptch-test-bug26084 condition:
> >       (wrong-type-argument stringp nil)
> >      FAILED  2/2  ediff-ptch-test-bug26084
> I think this test for Bug#26084 is more complicated than the
> fix of the bug itself.  It has also problems because the different
> idiosyncrasy respect to "-b" option for different versions of "patch".
> Delete it?

I don't know.  What does it try to test?

> Skipped it unless in a GNU system?

Only if there's no better way.  The Patch invocation definitely needs
the --binary switch on Windows, though.  But the failure above is not
about that, it's about something else, because directory-files returns
an empty list.  Something prevents Patch from creating backup files.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]