llvm-project/lldb/test/API/api/multiple-targets/TestMultipleTargets.py
Dave Lee f72a150db0
[lldb] Disallow SHARED_BUILD_TESTCASE for non-default self.build() (#188523)
Change `self.build(...)` to assert if called with arguments of any kind,
for tests which have `SHARED_BUILD_TESTCASE` enabled (the default).

This also changes all tests that began asserting with this change, tests
which call `self.build(...)` with arguments.

---------

Co-authored-by: Adrian Prantl <adrian.prantl@gmail.com>
2026-03-25 14:37:20 -07:00

31 lines
1.1 KiB
Python

"""Test the lldb public C++ api when creating multiple targets simultaneously."""
import os
import lldb
from lldbsuite.test.decorators import *
from lldbsuite.test.lldbtest import *
from lldbsuite.test import lldbutil
class TestMultipleTargets(TestBase):
SHARED_BUILD_TESTCASE = False
NO_DEBUG_INFO_TESTCASE = True
@skipIf(oslist=["linux"], archs=["arm$", "aarch64"])
@skipIfNoSBHeaders
@expectedFailureAll(
oslist=["windows"], archs=["i[3-6]86", "x86_64"], bugnumber="llvm.org/pr20282"
)
@expectedFlakeyNetBSD
@skipIfHostIncompatibleWithTarget
def test_multiple_targets(self):
self.driver_exe = self.getBuildArtifact("multi-target")
self.buildDriver("main.cpp", self.driver_exe)
self.addTearDownHook(lambda: os.remove(self.driver_exe))
# check_call will raise a CalledProcessError if the executable doesn't
# return exit code 0 to indicate success. We can let this exception go
# - the test harness will recognize it as a test failure.
subprocess.check_call([self.driver_exe, self.driver_exe])