* automated/tramp-tests.el (tramp--test-smb-or-windows-nt-p):

New defun.
(tramp-test30-special-characters): Use it.
(tramp--test-check-files): Filter nil file names out.
This commit is contained in:
Michael Albinus 2014-12-30 12:45:48 +01:00
parent 9278f05860
commit d2612290f9
2 changed files with 25 additions and 13 deletions

View 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> 2014-12-29 Michael Albinus <michael.albinus@gmx.de>
Sync with Tramp 2.2.11. Sync with Tramp 2.2.11.

View 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))))) (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) (defun tramp--test-check-files (&rest files)
"Runs a simple but comprehensive test over every file in FILES." "Runs a simple but comprehensive test over every file in FILES."
(let ((tmp-name1 (tramp--test-make-temp-name)) (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 (progn
(make-directory tmp-name1) (make-directory tmp-name1)
(make-directory tmp-name2) (make-directory tmp-name2)
(dolist (elt files) (dolist (elt (delq nil files))
(let ((file1 (expand-file-name elt tmp-name1)) (let ((file1 (expand-file-name elt tmp-name1))
(file2 (expand-file-name elt tmp-name2))) (file2 (expand-file-name elt tmp-name2)))
(write-region elt nil file1) (write-region elt nil file1)
@ -1545,26 +1553,23 @@ This tests also `make-symbolic-link', `file-truename' and `add-name-to-file'."
(memq (memq
(tramp-find-foreign-file-name-handler tramp-test-temporary-file-directory) (tramp-find-foreign-file-name-handler tramp-test-temporary-file-directory)
'(tramp-adb-file-name-handler '(tramp-adb-file-name-handler
tramp-gvfs-file-name-handler tramp-gvfs-file-name-handler))))
tramp-smb-file-name-handler))))
;; Bug#19463.
(skip-unless (not (eq system-type 'windows-nt)))
;; Newlines, slashes and backslashes in file names are not supported. ;; Newlines, slashes and backslashes in file names are not supported.
;; So we don't test. ;; So we don't test.
(tramp--test-check-files (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&" "&foo&bar&baz&"
"?foo?bar?baz?" (unless (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\"" (if (tramp--test-smb-or-windows-nt-p) "'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|")
":foo;bar:baz;" (if (tramp--test-smb-or-windows-nt-p) ";foo;bar;baz;" ":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]" "[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. ;; doesn't work well when an interactive password must be provided.
;; * Fix `tramp-test27-start-file-process' for `nc' and on MS ;; * Fix `tramp-test27-start-file-process' for `nc' and on MS
;; Windows (`process-send-eof'?). ;; 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 ;; * Fix `tramp-test31-utf8' for `nc'/`telnet' (when target is a dumb
;; busybox). Seems to be in `directory-files'. ;; busybox). Seems to be in `directory-files'.
;; * Fix Bug#16928. Set expected error of `tramp-test32-asynchronous-requests'. ;; * Fix Bug#16928. Set expected error of `tramp-test32-asynchronous-requests'.