| """ |
| Test lldb-dap launch request. |
| """ |
| |
| from lldbsuite.test.decorators import ( |
| skipIfLinux, |
| expectedFailureWindows, |
| expectedFailureAll, |
| ) |
| import lldbdap_testcase |
| import os |
| |
| |
| class TestDAP_launch_shellExpandArguments_enabled(lldbdap_testcase.DAPTestCaseBase): |
| """ |
| Tests the default launch of a simple program with shell expansion |
| enabled. |
| """ |
| |
| @skipIfLinux # shell argument expansion doesn't seem to work on Linux |
| @expectedFailureAll( |
| oslist=["freebsd", "netbsd", "windows"], bugnumber="llvm.org/pr48349" |
| ) |
| def test(self): |
| program = self.getBuildArtifact("a.out") |
| program_dir = os.path.dirname(program) |
| glob = os.path.join(program_dir, "*.out") |
| self.build_and_launch(program, args=[glob], shellExpandArguments=True) |
| self.continue_to_exit() |
| # Now get the STDOUT and verify our program argument is correct |
| output = self.get_stdout() |
| self.assertTrue(output and len(output) > 0, "expect no program output") |
| lines = output.splitlines() |
| for line in lines: |
| quote_path = '"%s"' % (program) |
| if line.startswith("arg[1] ="): |
| self.assertIn( |
| quote_path, line, 'verify "%s" expanded to "%s"' % (glob, program) |
| ) |