From a44b88936ba89fe05237ddf130bb69c05df1bdd0 Mon Sep 17 00:00:00 2001 From: Matt Clay Date: Fri, 11 Mar 2016 16:55:14 -0800 Subject: [PATCH 1/2] Add unicode dir to connection tests. --- test/integration/test_connection.yml | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/test/integration/test_connection.yml b/test/integration/test_connection.yml index 5b3d4f1bc3..27f24aafd6 100644 --- a/test/integration/test_connection.yml +++ b/test/integration/test_connection.yml @@ -14,18 +14,20 @@ ### copy local file with unicode filename and content - name: create local file with unicode filename and content - local_action: lineinfile dest=/tmp/ansible-local-汉语 create=true line=汉语 + local_action: lineinfile dest=/tmp/ansible-local-汉语/汉语.txt create=true line=汉语 - name: remove remote file with unicode filename and content - file: path=/tmp/ansible-remote-汉语 state=absent + file: path=/tmp/ansible-remote-汉语/汉语.txt state=absent + - name: create remote directory with unicode name + file: path=/tmp/ansible-remote-汉语 state=directory - name: copy local file with unicode filename and content - copy: src=/tmp/ansible-local-汉语 dest=/tmp/ansible-remote-汉语 + copy: src=/tmp/ansible-local-汉语/汉语.txt dest=/tmp/ansible-remote-汉语/汉语.txt ### fetch remote file with unicode filename and content - name: remove local file with unicode filename and content - local_action: file path=/tmp/ansible-local-汉语 state=absent + local_action: file path=/tmp/ansible-local-汉语/汉语.txt state=absent - name: fetch remote file with unicode filename and content - fetch: src=/tmp/ansible-remote-汉语 dest=/tmp/ansible-local-汉语 fail_on_missing=true validate_checksum=true flat=true + fetch: src=/tmp/ansible-remote-汉语/汉语.txt dest=/tmp/ansible-local-汉语/汉语.txt fail_on_missing=true validate_checksum=true flat=true ### remove local and remote temp files From 1e1852c34d25fd083013818097ad2d7b64f7dd7e Mon Sep 17 00:00:00 2001 From: Matt Clay Date: Fri, 11 Mar 2016 16:55:51 -0800 Subject: [PATCH 2/2] Add missing to_bytes on directory path. --- lib/ansible/utils/path.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/ansible/utils/path.py b/lib/ansible/utils/path.py index d8dc423426..1fe62e8594 100644 --- a/lib/ansible/utils/path.py +++ b/lib/ansible/utils/path.py @@ -19,6 +19,7 @@ __metaclass__ = type import os from errno import EEXIST +from ansible.utils.unicode import to_bytes __all__ = ['unfrackpath'] @@ -33,7 +34,7 @@ def unfrackpath(path): def makedirs_safe(path, mode=None): '''Safe way to create dirs in muliprocess/thread environments''' - if not os.path.exists(path): + if not os.path.exists(to_bytes(path, errors='strict')): try: if mode: os.makedirs(path, mode)