[Lldb-commits] [lldb] r257690 - Revert changes to TestProcessLaunch.py as they are breaking a build.

Zachary Turner via lldb-commits lldb-commits at lists.llvm.org
Wed Jan 13 14:32:32 PST 2016


Author: zturner
Date: Wed Jan 13 16:32:31 2016
New Revision: 257690

URL: http://llvm.org/viewvc/llvm-project?rev=257690&view=rev
Log:
Revert changes to TestProcessLaunch.py as they are breaking a build.

Modified:
    lldb/trunk/packages/Python/lldbsuite/test/functionalities/process_launch/TestProcessLaunch.py
    lldb/trunk/packages/Python/lldbsuite/test/functionalities/process_launch/print_env.cpp

Modified: lldb/trunk/packages/Python/lldbsuite/test/functionalities/process_launch/TestProcessLaunch.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/functionalities/process_launch/TestProcessLaunch.py?rev=257690&r1=257689&r2=257690&view=diff
==============================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/functionalities/process_launch/TestProcessLaunch.py (original)
+++ lldb/trunk/packages/Python/lldbsuite/test/functionalities/process_launch/TestProcessLaunch.py Wed Jan 13 16:32:31 2016
@@ -4,15 +4,12 @@ Test lldb process launch flags.
 
 from __future__ import print_function
 
-import copy
-import os
-import time
 
+
+import os, time
 import lldb
 from lldbsuite.test.lldbtest import *
 
-import six
-
 class ProcessLaunchTestCase(TestBase):
 
     mydir = TestBase.compute_mydir(__file__)
@@ -20,18 +17,9 @@ class ProcessLaunchTestCase(TestBase):
     def setUp(self):
         # Call super's setUp().
         TestBase.setUp(self)
-        self.stdout_redirect_file = 'lldb-stdout-redirect.txt'
         # disable "There is a running process, kill it and restart?" prompt
         self.runCmd("settings set auto-confirm true")
-    def tearDown(self):
-        self.runCmd("settings clear auto-confirm")
-
-        try:
-            os.unlink(self.stdout_redirect_file)
-        except:
-            pass
-
-        super().tearDown()
+        self.addTearDownHook(lambda: self.runCmd("settings clear auto-confirm"))
 
     @not_remote_testsuite_ready
     def test_io (self):
@@ -192,9 +180,8 @@ class ProcessLaunchTestCase(TestBase):
             self.fail(err_msg)
 
     def test_environment_with_special_char (self):
-        """Test that environment variables containing '*' and '}' are handled correctly by the inferior."""
-        source = 'print_env.cpp'
-        d = {'CXX_SOURCES' : source}
+        """Test that environment variables containing '*' and '}' are communicated correctly to the lldb-server."""
+        d = {'CXX_SOURCES' : 'print_env.cpp'}
         self.build(dictionary=d)
         self.setTearDownCleanup(d)
         exe = os.path.join (os.getcwd(), "a.out")
@@ -202,19 +189,19 @@ class ProcessLaunchTestCase(TestBase):
         evil_var = 'INIT*MIDDLE}TAIL'
 
         target = self.dbg.CreateTarget(exe)
-        main_source_spec = lldb.SBFileSpec(source)
-        breakpoint = target.BreakpointCreateBySourceRegex('// Set breakpoint here.', main_source_spec)
-
         process = target.LaunchSimple(None, ['EVIL=' + evil_var], self.get_process_working_directory())
-        self.assertEqual(process.GetState(), lldb.eStateStopped, PROCESS_STOPPED)
+        self.assertEqual(process.GetState(), lldb.eStateExited, PROCESS_EXITED)
 
-        threads = lldbutil.get_threads_stopped_at_breakpoint(process, breakpoint)
-        self.assertEqual(len(threads), 1)
-        frame = threads[0].GetFrameAtIndex(0)
-        sbvalue = frame.EvaluateExpression("evil")
-        value = sbvalue.GetSummary().strip('"')
+        out = process.GetSTDOUT(len(evil_var))
+        self.assertIsNotNone(out, "Encountered an error reading the process's output")
 
-        self.assertEqual(value, evil_var)
-        process.Continue()
-        self.assertEqual(process.GetState(), lldb.eStateExited, PROCESS_EXITED)
-        pass
\ No newline at end of file
+        out = out[:len(evil_var)]
+        if out != evil_var:
+            self.fail('The environment variable was mis-coded: %s\n' % repr(out))
+
+        newline = process.GetSTDOUT(1)
+        self.assertIsNotNone(newline, "Encountered an error reading the process's output")
+
+        newline = newline[0]
+        if newline != '\r' and newline != '\n':
+            self.fail('Garbage at end of environment variable')

Modified: lldb/trunk/packages/Python/lldbsuite/test/functionalities/process_launch/print_env.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/functionalities/process_launch/print_env.cpp?rev=257690&r1=257689&r2=257690&view=diff
==============================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/functionalities/process_launch/print_env.cpp (original)
+++ lldb/trunk/packages/Python/lldbsuite/test/functionalities/process_launch/print_env.cpp Wed Jan 13 16:32:31 2016
@@ -5,6 +5,7 @@
 int main (int argc, char **argv)
 {
   char *evil = getenv("EVIL");
+  puts(evil);
 
-  return 0;  // Set breakpoint here.
+  return 0;
 }




More information about the lldb-commits mailing list