[PATCH] D69725: [dexter] Fix feature tests on Windows

Reid Kleckner via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Nov 1 11:55:05 PDT 2019


rnk created this revision.
rnk added a reviewer: jmorse.
Herald added a subscriber: mgorny.
Herald added a project: LLVM.

First, add LLD as a dependency on Windows. The windows batch scripts
pass -fuse-ld=lld, so they need it.

Second, decode builder stdout/stderr even if the command fails.
Otherwise it gets printed as b'line 1\n\rline 2\n\r'.

Last, make the batch script one line less noisy. We might want to try to
do more here, though. It would be nice if we could get as close to
possible as lit, where you can literally copy & paste the failing
command to re-run it.

With the two changes above, now the feature tests that use clang++.bat
pass for me. The clang-cl_vs2015 ones still fail, and I'll fix them
separately.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D69725

Files:
  debuginfo-tests/CMakeLists.txt
  debuginfo-tests/dexter/dex/builder/Builder.py
  debuginfo-tests/dexter/dex/builder/scripts/windows/clang.bat


Index: debuginfo-tests/dexter/dex/builder/scripts/windows/clang.bat
===================================================================
--- debuginfo-tests/dexter/dex/builder/scripts/windows/clang.bat
+++ debuginfo-tests/dexter/dex/builder/scripts/windows/clang.bat
@@ -1,4 +1,4 @@
-setlocal EnableDelayedExpansion
+ at setlocal EnableDelayedExpansion
 
 for %%I in (%SOURCE_INDEXES%) do (
   %PATHTOCLANGPP% -fuse-ld=lld -c !COMPILER_OPTIONS_%%I! !SOURCE_FILE_%%I! -o !OBJECT_FILE_%%I!
Index: debuginfo-tests/dexter/dex/builder/Builder.py
===================================================================
--- debuginfo-tests/dexter/dex/builder/Builder.py
+++ debuginfo-tests/dexter/dex/builder/Builder.py
@@ -80,12 +80,14 @@
                 stderr=subprocess.PIPE)
             out, err = process.communicate()
             returncode = process.returncode
+        out = out.decode('utf-8')
+        err = err.decode('utf-8')
         if returncode != 0:
             raise BuildScriptException(
                 '{}: failed with returncode {}.\nstdout:\n{}\n\nstderr:\n{}\n'.
                 format(script_path, returncode, out, err),
                 script_error=err)
-        return out.decode('utf-8'), err.decode('utf-8'), builderIR
+        return out, err, builderIR
     except OSError as e:
         raise BuildScriptException('{}: {}'.format(e.strerror, script_path))
 
Index: debuginfo-tests/CMakeLists.txt
===================================================================
--- debuginfo-tests/CMakeLists.txt
+++ debuginfo-tests/CMakeLists.txt
@@ -13,6 +13,11 @@
   not
   )
 
+# The Windows builder scripts pass -fuse-ld=lld.
+if (WIN32)
+  set(DEBUGINFO_TEST_DEPS ${DEBUGINFO_TEST_DEPS} lld)
+endif()
+
 # If we don't already have Python 3, throw away any previous results and try to
 # find it again.
 set(DEBUGINFO_UNSET_PYTHON3 OFF)


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D69725.227499.patch
Type: text/x-patch
Size: 1853 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20191101/3b03eb4b/attachment.bin>


More information about the llvm-commits mailing list