At the moment nearly every test calls something similar to self.dbg.CreateTarget(self.getBuildArtifact("a.out"))
and them sometimes checks if the created target is actually valid with something like self.assertTrue(target.IsValid(), "some useless text").
Beside being really verbose the error messages generated by this pattern are always just indicating that the target
failed to be created but now why.
This patch introduces a helper function createTestTarget to our Test class that creates the target with the much more
verbose CreateTarget overload that gives us back an SBError (with a fancy error). If the target couldn't be created the
function prints out the SBError that LLDB returned and asserts for us. It also defaults to the "a.out" build artifact path
that nearly all tests are using to avoid to hardcode "a.out" in every test.
I converted a bunch of tests to the new function but I'll do the rest of the test suite as follow ups.
You can ommit the + here.