[PATCH] D46440: [lit, lldbsuite] Fixes for several tests LLDB tests for Python 3 or Windows

Stella Stamenova via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri May 4 10:14:07 PDT 2018


stella.stamenova created this revision.
stella.stamenova added reviewers: asmith, labath.
Herald added a subscriber: llvm-commits.

In decorators.py, when opening streams, open them in text mode. In Py3, if they are not opened in text mode, the data is also expected to be binary, but we always use text data.
In TestLinuxCore, skip the tests that are not applicable on Windows
In the python api main.c, update the code to be compilable on Windows


Repository:
  rL LLVM

https://reviews.llvm.org/D46440

Files:
  packages/Python/lldbsuite/test/decorators.py
  packages/Python/lldbsuite/test/functionalities/postmortem/elf-core/TestLinuxCore.py
  packages/Python/lldbsuite/test/python_api/hello_world/main.c


Index: packages/Python/lldbsuite/test/python_api/hello_world/main.c
===================================================================
--- packages/Python/lldbsuite/test/python_api/hello_world/main.c
+++ packages/Python/lldbsuite/test/python_api/hello_world/main.c
@@ -1,5 +1,11 @@
 #include <stdio.h>
+#ifdef _MSC_VER
+#include <windows.h>
+#define sleep Sleep
+#else
 #include <unistd.h>
+#endif
+
 int main(int argc, char const *argv[])
 {
     lldb_enable_attach();
Index: packages/Python/lldbsuite/test/functionalities/postmortem/elf-core/TestLinuxCore.py
===================================================================
--- packages/Python/lldbsuite/test/functionalities/postmortem/elf-core/TestLinuxCore.py
+++ packages/Python/lldbsuite/test/functionalities/postmortem/elf-core/TestLinuxCore.py
@@ -46,16 +46,19 @@
         """Test that lldb can read the process information from an i386 linux core file."""
         self.do_test("linux-i386", self._i386_pid, self._i386_regions, "a.out")
 
+    @skipIf(oslist=['windows'])
     def test_mips_o32(self):
         """Test that lldb can read the process information from an MIPS O32 linux core file."""
         self.do_test("linux-mipsel-gnuabio32", self._mips_o32_pid,
                 self._mips_regions, "linux-mipsel-gn")
 
+    @skipIf(oslist=['windows'])
     def test_mips_n32(self):
         """Test that lldb can read the process information from an MIPS N32 linux core file """
         self.do_test("linux-mips64el-gnuabin32", self._mips64_n32_pid,
                 self._mips_regions, "linux-mips64el-")
 
+    @skipIf(oslist=['windows'])
     def test_mips_n64(self):
         """Test that lldb can read the process information from an MIPS N64 linux core file """
         self.do_test("linux-mips64el-gnuabi64", self._mips64_n64_pid,
Index: packages/Python/lldbsuite/test/decorators.py
===================================================================
--- packages/Python/lldbsuite/test/decorators.py
+++ packages/Python/lldbsuite/test/decorators.py
@@ -680,7 +680,7 @@
         compiler_path = self.getCompiler()
         f = tempfile.NamedTemporaryFile()
         cmd = [self.getCompiler(), "-x", "c++", "-c", "-o", f.name, "-"]
-        p = subprocess.Popen(cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
+        p = subprocess.Popen(cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, universal_newlines=True)
         stdout, stderr = p.communicate('struct __attribute__((%s)) Test {};'%attr)
         if attr in stderr:
             return "Compiler does not support attribute %s"%(attr)
@@ -715,7 +715,7 @@
 
     def is_compiler_clang_with_ubsan(self):
         # Write out a temp file which exhibits UB.
-        inputf = tempfile.NamedTemporaryFile(suffix='.c')
+        inputf = tempfile.NamedTemporaryFile(suffix='.c', mode='w')
         inputf.write('int main() { int x = 0; return x / x; }\n')
         inputf.flush()
 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D46440.145219.patch
Type: text/x-patch
Size: 2965 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180504/beaeaba8/attachment.bin>


More information about the llvm-commits mailing list