[lldb/Test] Cleanup TestJITLoaderGDB and make it compatible with reproducers
This commit is contained in:
		
							parent
							
								
									30db177693
								
							
						
					
					
						commit
						c151230533
					
				| 
						 | 
					@ -8,7 +8,6 @@ from lldbsuite.test import lldbutil
 | 
				
			||||||
from lldbsuite.test.decorators import *
 | 
					from lldbsuite.test.decorators import *
 | 
				
			||||||
from lldbsuite.test.lldbtest import *
 | 
					from lldbsuite.test.lldbtest import *
 | 
				
			||||||
 | 
					
 | 
				
			||||||
file_index = 0
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
class JITLoaderGDBTestCase(TestBase):
 | 
					class JITLoaderGDBTestCase(TestBase):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -27,25 +26,18 @@ class JITLoaderGDBTestCase(TestBase):
 | 
				
			||||||
        target = self.dbg.CreateTarget(exe)
 | 
					        target = self.dbg.CreateTarget(exe)
 | 
				
			||||||
        self.assertTrue(target, VALID_TARGET)
 | 
					        self.assertTrue(target, VALID_TARGET)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # launch the process, do not stop at entry point.
 | 
					        # Launch the process, do not stop at entry point.
 | 
				
			||||||
        process = target.LaunchSimple(
 | 
					        process = target.LaunchSimple(
 | 
				
			||||||
            None, None, self.get_process_working_directory())
 | 
					            None, None, self.get_process_working_directory())
 | 
				
			||||||
        self.assertTrue(process, PROCESS_IS_VALID)
 | 
					        self.assertTrue(process, PROCESS_IS_VALID)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # The inferior will now pass bogus values over the interface. Make sure
 | 
					        # The inferior will now pass bogus values over the interface. Make sure
 | 
				
			||||||
        # we don't crash.
 | 
					        # we don't crash.
 | 
				
			||||||
 | 
					 | 
				
			||||||
        self.assertEqual(process.GetState(), lldb.eStateExited)
 | 
					        self.assertEqual(process.GetState(), lldb.eStateExited)
 | 
				
			||||||
        self.assertEqual(process.GetExitStatus(), 0)
 | 
					        self.assertEqual(process.GetExitStatus(), 0)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def gen_log_file(self):
 | 
					    def gen_log_file(self):
 | 
				
			||||||
        global file_index
 | 
					        logfile = self.getBuildArtifact("jitintgdb-{}.txt".format(self.getArchitecture()))
 | 
				
			||||||
        ++file_index
 | 
					 | 
				
			||||||
        logfile = os.path.join(
 | 
					 | 
				
			||||||
            self.getBuildDir(),
 | 
					 | 
				
			||||||
            "jitintgdb-" + self.getArchitecture() + "-" +
 | 
					 | 
				
			||||||
                str(file_index) + ".txt")
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        def cleanup():
 | 
					        def cleanup():
 | 
				
			||||||
            if os.path.exists(logfile):
 | 
					            if os.path.exists(logfile):
 | 
				
			||||||
                os.unlink(logfile)
 | 
					                os.unlink(logfile)
 | 
				
			||||||
| 
						 | 
					@ -70,7 +62,7 @@ class JITLoaderGDBTestCase(TestBase):
 | 
				
			||||||
            self.runCmd("settings set plugin.jit-loader.gdb.enable default")
 | 
					            self.runCmd("settings set plugin.jit-loader.gdb.enable default")
 | 
				
			||||||
        self.addTearDownHook(cleanup)
 | 
					        self.addTearDownHook(cleanup)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # launch the process
 | 
					        # Launch the process.
 | 
				
			||||||
        target = self.dbg.CreateTarget(exe)
 | 
					        target = self.dbg.CreateTarget(exe)
 | 
				
			||||||
        self.assertTrue(target, VALID_TARGET)
 | 
					        self.assertTrue(target, VALID_TARGET)
 | 
				
			||||||
        process = target.LaunchSimple(
 | 
					        process = target.LaunchSimple(
 | 
				
			||||||
| 
						 | 
					@ -80,11 +72,10 @@ class JITLoaderGDBTestCase(TestBase):
 | 
				
			||||||
        self.assertEqual(process.GetState(), lldb.eStateExited)
 | 
					        self.assertEqual(process.GetState(), lldb.eStateExited)
 | 
				
			||||||
        self.assertEqual(process.GetExitStatus(), 0)
 | 
					        self.assertEqual(process.GetExitStatus(), 0)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        logcontent = ""
 | 
					        if not configuration.is_reproducer():
 | 
				
			||||||
        if os.path.exists(logfile):
 | 
					            self.assertTrue(os.path.exists(logfile))
 | 
				
			||||||
            logcontent = open(logfile).read()
 | 
					            logcontent = open(logfile).read()
 | 
				
			||||||
        self.assertIn(
 | 
					            self.assertIn("SetJITBreakpoint setting JIT breakpoint", logcontent)
 | 
				
			||||||
            "SetJITBreakpoint setting JIT breakpoint", logcontent)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @skipIfWindows # This test fails on Windows during C code build
 | 
					    @skipIfWindows # This test fails on Windows during C code build
 | 
				
			||||||
    def test_jit_int_off(self):
 | 
					    def test_jit_int_off(self):
 | 
				
			||||||
| 
						 | 
					@ -100,7 +91,7 @@ class JITLoaderGDBTestCase(TestBase):
 | 
				
			||||||
            self.runCmd("settings set plugin.jit-loader.gdb.enable default")
 | 
					            self.runCmd("settings set plugin.jit-loader.gdb.enable default")
 | 
				
			||||||
        self.addTearDownHook(cleanup)
 | 
					        self.addTearDownHook(cleanup)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # launch the process
 | 
					        # Launch the process.
 | 
				
			||||||
        target = self.dbg.CreateTarget(exe)
 | 
					        target = self.dbg.CreateTarget(exe)
 | 
				
			||||||
        self.assertTrue(target, VALID_TARGET)
 | 
					        self.assertTrue(target, VALID_TARGET)
 | 
				
			||||||
        process = target.LaunchSimple(
 | 
					        process = target.LaunchSimple(
 | 
				
			||||||
| 
						 | 
					@ -110,9 +101,7 @@ class JITLoaderGDBTestCase(TestBase):
 | 
				
			||||||
        self.assertEqual(process.GetState(), lldb.eStateExited)
 | 
					        self.assertEqual(process.GetState(), lldb.eStateExited)
 | 
				
			||||||
        self.assertEqual(process.GetExitStatus(), 0)
 | 
					        self.assertEqual(process.GetExitStatus(), 0)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if os.path.exists(logfile):
 | 
					        if not configuration.is_reproducer():
 | 
				
			||||||
 | 
					            self.assertTrue(os.path.exists(logfile))
 | 
				
			||||||
            logcontent = open(logfile).read()
 | 
					            logcontent = open(logfile).read()
 | 
				
			||||||
            self.assertNotIn(
 | 
					            self.assertNotIn("SetJITBreakpoint setting JIT breakpoint", logcontent)
 | 
				
			||||||
              "SetJITBreakpoint setting JIT breakpoint", logcontent)
 | 
					 | 
				
			||||||
        else:
 | 
					 | 
				
			||||||
            self.assertTrue(false)
 | 
					 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue