[llvm-dev] [llvm-lit] Old echo causes test failure on windows

via llvm-dev llvm-dev at lists.llvm.org
Tue Oct 5 07:30:27 PDT 2021

Hi llvm-dev,

I wanted to bring discussion from D110986 to a wider audience.

After D110986 added a unicode character to the test, llvm\test\tools\llvm-cxxfilt\delimiters.test
started failing in our (Sony's) downstream Windows CI build (and locally for me) because the
unicode character was being converted to '?' at some stage in the test. The upstream Windows bots
seemed to have no such trouble. I added a workaround in D111072 that we landed because a Chromium
bot was running into the same issue.

Digging a little deeper it turns out that the echo that lit was picking up for me (`echo (GNU
coreutils) 5.3.0` from GnuWin32) converts unicode characters to '?'.

llvm-lit has its own built in echo which handles unicode without an issue. This is used in the workaround
D111072; lit's echo is used iff the echo command isn't used in a pipeline.

N.B. `echo (GNU coreutils) 8.32` shipped with git for Windows also appears to handle unicode without
an issue.

I have a few questions:
1) Is there a reason we cannot always use lit's echo, as Hans suggests in D111072?
2) If we can't always use lit's echo, maybe we could add an error/warning if a "bad" echo is
detected at build-config or test-running time?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20211005/0fbda658/attachment.html>

More information about the llvm-dev mailing list