[OE-core] [PATCH] resulttool: Add reproducible log extraction
Joshua Watt
jpewhacker at gmail.com
Fri Sep 6 13:54:37 UTC 2019
On 9/6/19 4:49 AM, Richard Purdie wrote:
> On Thu, 2019-09-05 at 08:54 -0500, Joshua Watt wrote:
>> Adds an argument to the log subcommand to extract the raw logs from
>> the
>> reproducible selftest.
>>
>> To prevent ambiguity, the "--raw" argument has been renamed
>> "--raw-ptest", although the old "--raw" argument is kept around for
>> compatibility.
>>
>> [YOCTO #13324]
>>
>> Signed-off-by: Joshua Watt <JPEWhacker at gmail.com>
>> ---
>> scripts/lib/resulttool/log.py | 33 ++++++++++++++++++++++++++++++---
>> 1 file changed, 30 insertions(+), 3 deletions(-)
>>
>> diff --git a/scripts/lib/resulttool/log.py
>> b/scripts/lib/resulttool/log.py
>> index 25c3396717e..2352c767d91 100644
>> --- a/scripts/lib/resulttool/log.py
>> +++ b/scripts/lib/resulttool/log.py
>> @@ -16,6 +16,16 @@ def show_ptest(result, ptest, logger):
>> print("ptest '%s' not found" % ptest)
>> return 1
>>
>> +def show_reproducible(result, reproducible, logger):
>> + try:
>> + print(result['reproducible'][reproducible]['diffoscope.text'
>> ])
>> + return 0
>> +
>> + except KeyError:
>> + print("reproducible '%s' not found" % reproducible)
>> + return 1
>> +
>> +
>> def log(args, logger):
>> results = resultutils.load_resultsdata(args.source)
>>
>> @@ -40,17 +50,28 @@ def log(args, logger):
>> with open(dest, 'w') as f:
>> f.write(ptest['log'])
>>
> You might want to consider this in autobuilder context:
>
> http://git.yoctoproject.org/cgit.cgi/yocto-autobuilder-helper/tree/scripts/generate-testresult-index.py#n121
>
> Since the indexer could extract reproducible logs as well as ptest
> ones.
Yes, I've though about that, but so far I've purposely not done anything
because I'm not sure what to do. Originally, I tried making the QA build
run diffoscope on the package files that failed to build reproducible,
but this took way too long and generated way too much data for the logs.
I think that alternative *might* be to include the binary data from the
packages so that diffoscope can be run on them offline, but this still
seems like too much data.
Anyway, until we decide on a reasonable thing to do, I've omitted the
--dump-reproducible option from resulttool. This does have the
unfortunate side effect that you can't easily debug non-reproducible
builds when the AB finds them, short of re-running the test locally, so
it is something we should resolve soon.
>
> Nathan: We probably need to think about the new testsuite pieces in
> this context too...
>
> Cheers,
>
> Richard
>
More information about the Openembedded-core
mailing list