[lldb] Explicitly use the configuration architecture when building test executables
The Darwin builder currently assumes in getArchCFlags that the passed arch
value is an actual string it can string.join with vendor/os/version/env strings:
triple = '-'.join([arch, vendor, os, version, env])
However this is not true for most tests as we just pass down the arch=None
default value from TestBase.build. This causes that if we actually end up in
this function we just error out when concatenating None with the other actual
strings of vendor/os/version/env. What we should do instead is check that if
there is no test-specific architecture that we fall back to the configuration's
It seems we already worked around this in builder.getArchSpec by explicitly
falling back to the architecture specified in the configuration.
This patch just moves this fallback logic to the top build function so that it
affects all functions called from TestBase.build.
Reviewed By: JDevlieghere
Differential Revision: https://reviews.llvm.org/D89056