[llvm-cxxfilt][NFC] Fix test for running in Windows cmd
authorgbhyamso <orlando.hyams@sony.com>
Tue, 5 Oct 2021 11:04:01 +0000 (12:04 +0100)
committergbhyamso <orlando.hyams@sony.com>
Tue, 5 Oct 2021 11:10:06 +0000 (12:10 +0100)
The test llvm\test\tools\llvm-cxxfilt\delimiters.test started failling when run
from cmd.exe on Windows after D110986 which added a unicode character (⦙) to it.
Piping the unicode character in cmd.exe causes it to be converted to a '?'.
That causes the test to fail because the llvm-cxxfilt output becomes Foo?Bar
rather than the expected Foo⦙Bar.

Redirect the echo output to and from a temporary file to get around this
problem.

It's not entirely clear what the root cause is, but two separate downstream
builders are tripping up on this, so we are landing the work around for the
time being.

Differential Revision: https://reviews.llvm.org/D111072

llvm/test/tools/llvm-cxxfilt/delimiters.test

index c1eb05d..9a5b690 100644 (file)
@@ -29,7 +29,11 @@ RUN:      '_Z3Foo}'   \
 RUN:      '_Z3Foo~,,' \
 RUN:      '_Z3Foo⦙_Z3Bar' \
 RUN:      '_Z3Foo,,_Z3Bar::_Z3Baz  _Z3Foo,_Z3Bar:_Z3Baz' \
-RUN:      '_Z3Foo$ ._Z3Foo' | llvm-cxxfilt -n | FileCheck %s
+COM: Piping the echo output causes '⦙' to be converted to '?' in some
+COM: builds/environments. Redirect echo output to and from %t to work
+COM: around this. See D111072.
+RUN:      '_Z3Foo$ ._Z3Foo' > %t
+RUN:      llvm-cxxfilt -n < %t | FileCheck %s
 
 CHECK: ,,Foo!
 CHECK: Foo"