On 10/17/18 12:29 PM, Eduardo Habkost wrote:
> On Wed, Oct 17, 2018 at 01:34:41PM +0100, Peter Maydell wrote:
>> On 17 October 2018 at 00:22, Cleber Rosa <cr...@redhat.com> wrote:
>>> The host arch name is not always the target arch name, so it's
>>> necessary to have a mapping.
>>>
>>> The configure scripts contains what is the authoritative and failproof
>>> mapping, but, reusing it is not straightforward, so it's replicated in
>>> the acceptance tests supporting code.
>>
>> So, why does the test code need to care? It's not clear
>> from the patch... My expectation would be that you'd
>> just test all the testable target architectures,
>> regardless of what the host architecture is.
>
> I tend to agree. Maybe the right solution is to get rid of the
> os.uname(). I think the default should be testing all QEMU
> binaries that were built, and the host architecture shouldn't
> matter.
>
I'm in favor of exercising all built targets, but that seems to me to be
on another layer, above the test themselves. This change is about the
behavior of a test when not told about the target arch (and thus binary)
it should use.
> That said, I think the dictionary is a nice temporary workaround
> until we fix that.
>
I think even with a switch towards "use the target(s) built", we'd still
need to pick one at the test execution level. A job may include running
the same test with different targets, though. So, I'm not sure this
would be just temporary.
- Cleber.