From 9ba34dec35a744f6b90b6548dadc33a62adbee9b Mon Sep 17 00:00:00 2001 From: Felix Fontein Date: Fri, 4 Dec 2020 23:10:57 +0100 Subject: [PATCH] ansible-test sanity: fix UnicodeDecodeError for `--python 2.7 --docker` (#72623) (#72866) * Store target paths as unicode. * Add changelog fragment. (cherry picked from commit f94ba68d8f287918456c5de8115dafb0c69e8e7c) --- changelogs/fragments/72623-ansible-test-unicode-paths.yml | 2 ++ test/lib/ansible_test/_internal/target.py | 6 +++--- 2 files changed, 5 insertions(+), 3 deletions(-) create mode 100644 changelogs/fragments/72623-ansible-test-unicode-paths.yml diff --git a/changelogs/fragments/72623-ansible-test-unicode-paths.yml b/changelogs/fragments/72623-ansible-test-unicode-paths.yml new file mode 100644 index 00000000000..dcc9234dd7e --- /dev/null +++ b/changelogs/fragments/72623-ansible-test-unicode-paths.yml @@ -0,0 +1,2 @@ +bugfixes: +- "ansible-test - convert target paths to unicode on Python 2 to avoid ``UnicodeDecodeError`` (https://github.com/ansible/ansible/issues/68398, https://github.com/ansible/ansible/pull/72623)." diff --git a/test/lib/ansible_test/_internal/target.py b/test/lib/ansible_test/_internal/target.py index cdbf86406b6..dbc7dbdff0c 100644 --- a/test/lib/ansible_test/_internal/target.py +++ b/test/lib/ansible_test/_internal/target.py @@ -144,7 +144,7 @@ def filter_targets(targets, # type: t.Iterable[TCompletionTarget] continue if directories and matched_directories: - yield DirectoryTarget(sorted(matched_directories, key=len)[0], target.modules) + yield DirectoryTarget(to_text(sorted(matched_directories, key=len)[0]), target.modules) else: yield target @@ -278,7 +278,7 @@ def walk_integration_targets(): paths.append(os.path.sep.join(path_tuple)) for path in paths: - yield IntegrationTarget(path, modules, prefixes) + yield IntegrationTarget(to_text(path), modules, prefixes) def load_integration_prefixes(): @@ -327,7 +327,7 @@ def walk_test_targets(path=None, module_path=None, extensions=None, prefix=None, if symlink and not include_symlinks: continue - yield TestTarget(file_path, module_path, prefix, path, symlink) + yield TestTarget(to_text(file_path), module_path, prefix, path, symlink) file_paths = []