[lit] Fix Python 2/3 compat in new winreg search code
This should fix the test failures on the clang win64 bot: http://lab.llvm.org:8011/builders/clang-x64-windows-msvc/builds/18830 It has been red since Sept 23-ish. This was subtle to debug. Windows has 'find' and 'sort' utilities in C:\Windows\system32, but they don't support all the same flags as the coreutils programs. I configured the buildbot above with Python 2.7 64-bit (hey, it was set up in 2016). When I installed git for Windows, I opted to add all the Unix utilities that come with git to the system PATH. This is *almost* enough to make the LLVM tests pass, but not quite, because if you use the system PATH, the Windows version of find and sort come first, but the tests that use diff, cmp, etc, will all pass. So only a handful of tests will fail, and with cryptic error messages. The code changed in this CL doesn't work with Python 2. Before Python 3.2, the winreg.OpenKey function did not accept the `access=` keyword argument, the caller was required to pass an unused `reserved` positional argument of 0. The try/except/pass around the OpenKey operation masked this usage error in Python 2. Further, the result of the registry operation has to be converted from unicode to add it to the environment, but that was incidental.
Loading
Please sign in to comment