]> git.eshelyaron.com Git - emacs.git/commitdiff
* automated/tramp-tests.el (tramp--test-smb-or-windows-nt-p):
authorMichael Albinus <michael.albinus@gmx.de>
Tue, 30 Dec 2014 11:45:48 +0000 (12:45 +0100)
committerMichael Albinus <michael.albinus@gmx.de>
Tue, 30 Dec 2014 11:45:48 +0000 (12:45 +0100)
New defun.
(tramp-test30-special-characters): Use it.
(tramp--test-check-files): Filter nil file names out.

test/ChangeLog
test/automated/tramp-tests.el

index 0e4e852bf8a3443609798c376b985cf29f554cf2..720f60bb7e62b29ce481cb3416f19161a4e41eff 100644 (file)
@@ -1,3 +1,10 @@
+2014-12-30  Michael Albinus  <michael.albinus@gmx.de>
+
+       * automated/tramp-tests.el (tramp--test-smb-or-windows-nt-p):
+       New defun.
+       (tramp-test30-special-characters): Use it.  (Bug#19463)
+       (tramp--test-check-files): Filter nil file names out.
+
 2014-12-29  Michael Albinus  <michael.albinus@gmx.de>
 
        Sync with Tramp 2.2.11.
index f80b7d4b8a4bb3901d64d9e53914c4ff81adf33e..8e48b2804215f763a8707dca2327d9c5de439250 100644 (file)
@@ -1481,6 +1481,14 @@ This tests also `make-symbolic-link', `file-truename' and `add-name-to-file'."
 
        (ignore-errors (delete-directory tmp-name1 'recursive)))))
 
+(defun tramp--test-smb-or-windows-nt-p ()
+  "Check, whether the locale or remote host runs MS Windows.
+This requires restrictions of file name syntax."
+  (or (eq system-type 'windows-nt)
+      (eq (tramp-find-foreign-file-name-handler
+          tramp-test-temporary-file-directory)
+       'tramp-smb-file-name-handler)))
+
 (defun tramp--test-check-files (&rest files)
   "Runs a simple but comprehensive test over every file in FILES."
   (let ((tmp-name1 (tramp--test-make-temp-name))
@@ -1489,7 +1497,7 @@ This tests also `make-symbolic-link', `file-truename' and `add-name-to-file'."
        (progn
          (make-directory tmp-name1)
          (make-directory tmp-name2)
-         (dolist (elt files)
+         (dolist (elt (delq nil files))
            (let ((file1 (expand-file-name elt tmp-name1))
                  (file2 (expand-file-name elt tmp-name2)))
              (write-region elt nil file1)
@@ -1545,26 +1553,23 @@ This tests also `make-symbolic-link', `file-truename' and `add-name-to-file'."
     (memq
      (tramp-find-foreign-file-name-handler tramp-test-temporary-file-directory)
      '(tramp-adb-file-name-handler
-       tramp-gvfs-file-name-handler
-       tramp-smb-file-name-handler))))
-  ;; Bug#19463.
-  (skip-unless (not (eq system-type 'windows-nt)))
+       tramp-gvfs-file-name-handler))))
 
   ;; Newlines, slashes and backslashes in file names are not supported.
   ;; So we don't test.
   (tramp--test-check-files
-   " foo\tbar baz\t"
+   (if (tramp--test-smb-or-windows-nt-p) "foo bar baz" " foo\tbar baz\t")
    "$foo$bar$$baz$"
    "-foo-bar-baz-"
    "%foo%bar%baz%"
    "&foo&bar&baz&"
-   "?foo?bar?baz?"
-   "*foo*bar*baz*"
-   "'foo\"bar'baz\""
+   (unless (tramp--test-smb-or-windows-nt-p) "?foo?bar?baz?")
+   (unless (tramp--test-smb-or-windows-nt-p) "*foo*bar*baz*")
+   (if (tramp--test-smb-or-windows-nt-p) "'foo'bar'baz'" "'foo\"bar'baz\"")
    "#foo~bar#baz~"
-   "!foo|bar!baz|"
-   ":foo;bar:baz;"
-   "<foo>bar<baz>"
+   (if (tramp--test-smb-or-windows-nt-p) "!foo!bar!baz!" "!foo|bar!baz|")
+   (if (tramp--test-smb-or-windows-nt-p) ";foo;bar;baz;" ":foo;bar:baz;")
+   (unless (tramp--test-smb-or-windows-nt-p) "<foo>bar<baz>")
    "(foo)bar(baz)"
    "[foo]bar[baz]"
    "{foo}bar{baz}"))
@@ -1744,7 +1749,7 @@ Since it unloads Tramp, it shall be the last test to run."
 ;;   doesn't work well when an interactive password must be provided.
 ;; * Fix `tramp-test27-start-file-process' for `nc' and on MS
 ;;   Windows (`process-send-eof'?).
-;; * Fix `tramp-test30-special-characters' for `adb', `nc' and `smb'.
+;; * Fix `tramp-test30-special-characters' for `adb' and `nc'.
 ;; * Fix `tramp-test31-utf8' for `nc'/`telnet' (when target is a dumb
 ;;   busybox).  Seems to be in `directory-files'.
 ;; * Fix Bug#16928.  Set expected error of `tramp-test32-asynchronous-requests'.