+++ /dev/null
-# Test non-ascii archive members
-# XFAIL: system-darwin
-
-RUN: rm -rf %t && mkdir -p %t/extracted
-
-# Note: lit's Python will read this UTF-8 encoded mri-nonascii.txt file,
-# decode it to unicode. The filename in the redirection below will then
-# be encoded in the system's filename encoding (e.g. UTF-16 for
-# Microsoft Windows).
-RUN: echo "contents" > %t/£.txt
-
-RUN: echo "CREATE %t/mri.ar" > %t/script.mri
-RUN: echo "ADDMOD %t/£.txt" >> %t/script.mri
-RUN: echo "SAVE" >> %t/script.mri
-
-RUN: llvm-ar -M < %t/script.mri
-RUN: cd %t/extracted && llvm-ar x %t/mri.ar
-
-# Same as above.
-RUN: FileCheck --strict-whitespace %s <£.txt
-CHECK:{{^}}
-CHECK-SAME:{{^}}contents{{$}}
--- /dev/null
+# Test non-ascii archive members
+# XFAIL: system-darwin
+
+RUN: rm -rf %t && mkdir -p %t/extracted
+
+RUN: echo "contents" > %t/£.txt
+
+RUN: echo "CREATE %t/mri.ar" > %t/script.mri
+RUN: echo "ADDMOD %t/£.txt" >> %t/script.mri
+RUN: echo "SAVE" >> %t/script.mri
+
+RUN: llvm-ar -M < %t/script.mri
+RUN: cd %t/extracted && llvm-ar x %t/mri.ar
+
+# This works around problems launching processess that
+# include arguments with non-ascii characters.
+# Python on Linux defaults to ASCII encoding unless the
+# environment specifies otherwise, so it is explicitly set.
+# The reliance the test has on this locale is not ideal,
+# however alternate solutions have been difficult due to
+# behaviour differences with python 2 vs python 3,
+# and linux vs windows.
+RUN: env LANG=en_US.UTF-8 %python -c "assert open(u'\U000000A3.txt', 'rb').read() == b'contents\n'"