summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames Cammarata <jimi@sngx.net>2014-05-01 13:39:11 -0500
committerJames Cammarata <jimi@sngx.net>2014-05-01 13:39:11 -0500
commitae7503d6fbf79ddd7444a2a4b3d19c81f74d0c39 (patch)
tree61ac1df57f22e182ad28f99cd1f914f977f032ce
parentc0f92317ef9c36b03ab183de3587784240abd324 (diff)
parent50080b37743d31ac7b2754cc9b013cdae744f662 (diff)
downloadansible-ae7503d6fbf79ddd7444a2a4b3d19c81f74d0c39.tar.gz
Merge branch 'fix-copy-recursive-issue' of https://github.com/tksmd/ansible into tksmd-fix-copy-recursive-issue
-rw-r--r--library/files/copy2
-rw-r--r--test/integration/roles/test_copy/files/subdir/subdir2/subdir3/subdir4/qux.txt1
-rw-r--r--test/integration/roles/test_copy/tasks/main.yml23
3 files changed, 24 insertions, 2 deletions
diff --git a/library/files/copy b/library/files/copy
index 08aa1d71a4..862a1ac77b 100644
--- a/library/files/copy
+++ b/library/files/copy
@@ -111,7 +111,7 @@ def split_pre_existing_dir(dirname):
(pre_existing_dir, new_directory_list) = split_pre_existing_dir(head)
else:
return (head, [ tail ])
- new_directory_list.insert(0, tail)
+ new_directory_list.append(tail)
return (pre_existing_dir, new_directory_list)
diff --git a/test/integration/roles/test_copy/files/subdir/subdir2/subdir3/subdir4/qux.txt b/test/integration/roles/test_copy/files/subdir/subdir2/subdir3/subdir4/qux.txt
new file mode 100644
index 0000000000..78df5b06bd
--- /dev/null
+++ b/test/integration/roles/test_copy/files/subdir/subdir2/subdir3/subdir4/qux.txt
@@ -0,0 +1 @@
+qux \ No newline at end of file
diff --git a/test/integration/roles/test_copy/tasks/main.yml b/test/integration/roles/test_copy/tasks/main.yml
index dcbb583a48..28c1f973c9 100644
--- a/test/integration/roles/test_copy/tasks/main.yml
+++ b/test/integration/roles/test_copy/tasks/main.yml
@@ -99,7 +99,7 @@
file: name={{output_subdir}} state=directory
- name: test recursive copy to directory
- copy: src=subdir dest={{output_subdir}}
+ copy: src=subdir dest={{output_subdir}} directory_mode=0700
register: recursive_copy_result
- debug: var=recursive_copy_result
@@ -112,11 +112,32 @@
stat: path={{output_dir}}/sub/subdir/subdir2/baz.txt
register: stat_bar2
+- name: check that a file in a directory whose parent contains a directory alone was transferred
+ stat: path={{output_dir}}/sub/subdir/subdir2/subdir3/subdir4/qux.txt
+ register: stat_bar3
+
- name: assert recursive copy things
assert:
that:
- "stat_bar.stat.exists"
- "stat_bar2.stat.exists"
+ - "stat_bar3.stat.exists"
+
+- name: stat the recursively copied directories
+ stat: path={{output_dir}}/sub/{{item}}
+ register: dir_stats
+ with_items:
+ - "subdir"
+ - "subdir/subdir2"
+ - "subdir/subdir2/subdir3"
+ - "subdir/subdir2/subdir3/subdir4"
+
+- name: assert recursive copied directories mode
+ assert:
+ that:
+ - "{{item.stat.mode}} == 0700"
+ with_items: dir_stats.results
+
# errors on this aren't presently ignored so this test is commented out. But it would be nice to fix.
#