""" Test TestBase test functions. """ import io from lldbsuite.test.lldbtest import * from lldbsuite.test_event import build_exception class TestBuildMethod(Base): def setUp(self): super().setUp() self._traces = [] self.traceAlways = True # override the parent trace method def trace(self, *args, **kwargs): buf = io.StringIO() print(*args, file=buf, **kwargs) self._traces.append(buf.getvalue()) def test_build_fails_helpfully(self): try: self.build(dictionary={"CXX_SOURCES": "nonexisting-file.cpp"}) except build_exception.BuildError as e: self.assertIn("nonexisting-file.cpp", str(e)) else: self.fail("BuildError not raised!") def test_build_logs_traces(self): self.build(dictionary={"CXX_SOURCES": "return0.cpp"}) self.assertIn("CXX_SOURCES", self._traces[0]) self.assertIn("return0.o", self._traces[1])