Author: jankratochvil Date: Wed Dec 19 00:57:10 2018 New Revision: 349607 URL: http://llvm.org/viewvc/llvm-project?rev=349607&view=rev Log: refactor testsuite spawnLldbMi args->exe+args
Currently spawnLldbMi accepts both lldb-mi options and executable to debug as a single parameter. Split them. As in D55859 we will need to execute one lldb-mi command before loading the exe. Therefore we can no longer use the exe as lldb-mi command-line parameter as then there is no way to execute a command before loading exe specified as lldb-mi command-line parameter. LocateExecutableSymbolFileDsym should be static, that is also a little refactorization. Differential Revision: https://reviews.llvm.org/D55858 Modified: lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-mi/lldbmi_testcase.py lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-mi/startup_options/TestMiStartupOptions.py lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-mi/syntax/TestMiSyntax.py lldb/trunk/source/Host/common/Symbols.cpp Modified: lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-mi/lldbmi_testcase.py URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-mi/lldbmi_testcase.py?rev=349607&r1=349606&r2=349607&view=diff ============================================================================== --- lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-mi/lldbmi_testcase.py (original) +++ lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-mi/lldbmi_testcase.py Wed Dec 19 00:57:10 2018 @@ -40,7 +40,7 @@ class MiTestCaseBase(Base): pass Base.tearDown(self) - def spawnLldbMi(self, args=None): + def spawnLldbMi(self, exe=None, args=None): import pexpect self.child = pexpect.spawn("%s --interpreter %s" % ( self.lldbMiExec, args if args else ""), cwd=self.getBuildDir()) @@ -49,6 +49,10 @@ class MiTestCaseBase(Base): self.child.logfile_read = open(self.mylog, "w") # wait until lldb-mi has started up and is ready to go self.expect(self.child_prompt, exactly=True) + if exe: + self.runCmd("-file-exec-and-symbols \"%s\"" % exe) + # Testcases expect to be able to match output of this command, + # see test_lldbmi_specialchars. def runCmd(self, cmd): self.child.sendline(cmd) Modified: lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-mi/startup_options/TestMiStartupOptions.py URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-mi/startup_options/TestMiStartupOptions.py?rev=349607&r1=349606&r2=349607&view=diff ============================================================================== --- lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-mi/startup_options/TestMiStartupOptions.py (original) +++ lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-mi/startup_options/TestMiStartupOptions.py Wed Dec 19 00:57:10 2018 @@ -22,7 +22,7 @@ class MiStartupOptionsTestCase(lldbmi_te def test_lldbmi_executable_option_file(self): """Test that 'lldb-mi --interpreter %s' loads executable file.""" - self.spawnLldbMi(args="%s" % self.myexe) + self.spawnLldbMi(exe=self.myexe) # Test that the executable is loaded when file was specified self.expect("-file-exec-and-symbols \"%s\"" % self.myexe) @@ -52,7 +52,7 @@ class MiStartupOptionsTestCase(lldbmi_te # Prepare path to executable path = "unknown_file" - self.spawnLldbMi(args="%s" % path) + self.spawnLldbMi(exe=path) # Test that the executable isn't loaded when unknown file was specified self.expect("-file-exec-and-symbols \"%s\"" % path) @@ -71,7 +71,7 @@ class MiStartupOptionsTestCase(lldbmi_te """Test that 'lldb-mi --interpreter %s' loads executable which is specified via absolute path.""" # Prepare path to executable - self.spawnLldbMi(args="%s" % self.myexe) + self.spawnLldbMi(exe=self.myexe) # Test that the executable is loaded when file was specified using # absolute path @@ -95,7 +95,7 @@ class MiStartupOptionsTestCase(lldbmi_te # Prepare path to executable path = os.path.relpath(self.myexe, self.getBuildDir()) - self.spawnLldbMi(args="%s" % path) + self.spawnLldbMi(exe=path) # Test that the executable is loaded when file was specified using # relative path @@ -119,7 +119,7 @@ class MiStartupOptionsTestCase(lldbmi_te # Prepare path to executable path = "unknown_dir" + self.myexe - self.spawnLldbMi(args="%s" % path) + self.spawnLldbMi(exe=path) # Test that the executable isn't loaded when file was specified using # unknown path @@ -259,7 +259,7 @@ class MiStartupOptionsTestCase(lldbmi_te """Test that 'lldb-mi --log' creates a log file in the current directory.""" logDirectory = self.getBuildDir() - self.spawnLldbMi(args="%s --log" % self.myexe) + self.spawnLldbMi(exe=self.myexe, args="--log") # Test that the executable is loaded when file was specified self.expect("-file-exec-and-symbols \"%s\"" % self.myexe) @@ -296,9 +296,8 @@ class MiStartupOptionsTestCase(lldbmi_te import tempfile logDirectory = tempfile.gettempdir() - self.spawnLldbMi( - args="%s --log --log-dir=%s" % - (self.myexe, logDirectory)) + self.spawnLldbMi(exe=self.myexe, + args="--log --log-dir=%s" % logDirectory) # Test that the executable is loaded when file was specified self.expect("-file-exec-and-symbols \"%s\"" % self.myexe) Modified: lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-mi/syntax/TestMiSyntax.py URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-mi/syntax/TestMiSyntax.py?rev=349607&r1=349606&r2=349607&view=diff ============================================================================== --- lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-mi/syntax/TestMiSyntax.py (original) +++ lldb/trunk/packages/Python/lldbsuite/test/tools/lldb-mi/syntax/TestMiSyntax.py Wed Dec 19 00:57:10 2018 @@ -53,7 +53,7 @@ class MiSyntaxTestCase(lldbmi_testcase.M os.symlink(self.myexe, complicated_myexe) self.addTearDownHook(lambda: os.unlink(complicated_myexe)) - self.spawnLldbMi(args="\"%s\"" % complicated_myexe) + self.spawnLldbMi(exe=complicated_myexe) # Test that the executable was loaded self.expect( Modified: lldb/trunk/source/Host/common/Symbols.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Host/common/Symbols.cpp?rev=349607&r1=349606&r2=349607&view=diff ============================================================================== --- lldb/trunk/source/Host/common/Symbols.cpp (original) +++ lldb/trunk/source/Host/common/Symbols.cpp Wed Dec 19 00:57:10 2018 @@ -199,7 +199,7 @@ static bool LocateDSYMInVincinityOfExecu return false; } -FileSpec LocateExecutableSymbolFileDsym(const ModuleSpec &module_spec) { +static FileSpec LocateExecutableSymbolFileDsym(const ModuleSpec &module_spec) { const FileSpec *exec_fspec = module_spec.GetFileSpecPtr(); const ArchSpec *arch = module_spec.GetArchitecturePtr(); const UUID *uuid = module_spec.GetUUIDPtr(); _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits