From 6b162142a7e5d911f72f23a21abc0bfd4b946355 Mon Sep 17 00:00:00 2001 From: Nathaniel Case Date: Thu, 12 Jul 2018 02:56:14 -0400 Subject: [PATCH] ios_file: Don't leave leftover files behind (#42622) * Don't leave leftover files behind * Fix writing files in python3 * Replace nonascii.bin with one that will not pass for unicode --- lib/ansible/plugins/action/net_put.py | 10 +++++-- .../integration/targets/ios_file/nonascii.bin | Bin 38 -> 32768 bytes .../targets/ios_file/tests/cli/net_get.yaml | 12 ++++++-- .../targets/ios_file/tests/cli/net_put.yaml | 28 ++++++++---------- 4 files changed, 28 insertions(+), 22 deletions(-) diff --git a/lib/ansible/plugins/action/net_put.py b/lib/ansible/plugins/action/net_put.py index 65acfc97f1..30fa7dff92 100644 --- a/lib/ansible/plugins/action/net_put.py +++ b/lib/ansible/plugins/action/net_put.py @@ -83,9 +83,13 @@ class ActionModule(ActionBase): src = self._task.args.get('src') filename = str(uuid.uuid4()) cwd = self._loader.get_basedir() - output_file = cwd + '/' + filename - with open(output_file, 'w') as f: - f.write(src) + output_file = os.path.join(cwd, filename) + try: + with open(output_file, 'wb') as f: + f.write(to_bytes(src, encoding='utf-8')) + except Exception: + os.remove(output_file) + raise else: try: output_file = self._get_binary_src_file(src) diff --git a/test/integration/targets/ios_file/nonascii.bin b/test/integration/targets/ios_file/nonascii.bin index 7f914adc9d2dc0b859a84b39f4d0a3d4f173d091..14c6ddb1b89289430c975940232429e8cb77ec1a 100644 GIT binary patch literal 32768 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