[RFC PATCH 01/16] patman: Use test_util to show test results

Daniel Axtens dja at axtens.net
Mon Jul 6 14:50:04 AEST 2020


Daniel Axtens <dja at axtens.net> writes:

> Hi Simon,
>
> I can't see a cover letter so apologies if I've misunderstood something
> basic, but this doesn't appear to apply to the patchwork tree - I'm
> guessing the patchwork relevance is with regards to the last few patches
> that (AFAICT) parse the patchwork web interface for information?

Ah, nevermind, the cover letter got caught in moderation. I've released it.

pwclient speaks the old, less documented XML-RPC API. We have a new
REST API which is much better documented, and is explorable
(e.g. https://patchwork.ozlabs.org/api/ and
https://patchwork.readthedocs.io/en/latest/api/rest/ )

> I haven't fully digested the patches (and I lack a lot of context) but
> is there a reason the patchwork API isn't able to meet your needs here?
> (And if so, could we extend it rather than having you parse the frontend?)

So these questions still stand but for the REST API.

Regards,
Daniel

>
> Regards,
> Daniel
>
>> This handles skipped tests correctly, so use it instead of the existing
>> code.
>>
>> Signed-off-by: Simon Glass <sjg at chromium.org>
>> ---
>>
>>  tools/patman/main.py      | 8 ++------
>>  tools/patman/test_util.py | 6 +++---
>>  2 files changed, 5 insertions(+), 9 deletions(-)
>>
>> diff --git a/tools/patman/main.py b/tools/patman/main.py
>> index 28a9a26087..03668d1bb8 100755
>> --- a/tools/patman/main.py
>> +++ b/tools/patman/main.py
>> @@ -25,6 +25,7 @@ from patman import patchstream
>>  from patman import project
>>  from patman import settings
>>  from patman import terminal
>> +from patman import test_util
>>  from patman import test_checkpatch
>>  
>>  
>> @@ -101,12 +102,7 @@ elif options.test:
>>          suite = doctest.DocTestSuite(module)
>>          suite.run(result)
>>  
>> -    # TODO: Surely we can just 'print' result?
>> -    print(result)
>> -    for test, err in result.errors:
>> -        print(err)
>> -    for test, err in result.failures:
>> -        print(err)
>> +    sys.exit(test_util.ReportResult('patman', None, result))
>>  
>>  # Called from git with a patch filename as argument
>>  # Printout a list of additional CC recipients for this patch
>> diff --git a/tools/patman/test_util.py b/tools/patman/test_util.py
>> index aac58fb72f..0827488f33 100644
>> --- a/tools/patman/test_util.py
>> +++ b/tools/patman/test_util.py
>> @@ -123,12 +123,12 @@ def ReportResult(toolname:str, test_name: str, result: unittest.TestResult):
>>      for test, err in result.failures:
>>          print(err, result.failures)
>>      if result.skipped:
>> -        print('%d binman test%s SKIPPED:' %
>> -              (len(result.skipped), 's' if len(result.skipped) > 1 else ''))
>> +        print('%d %s test%s SKIPPED:' % (len(result.skipped), toolname,
>> +            's' if len(result.skipped) > 1 else ''))
>>          for skip_info in result.skipped:
>>              print('%s: %s' % (skip_info[0], skip_info[1]))
>>      if result.errors or result.failures:
>> -        print('binman tests FAILED')
>> +        print('%s tests FAILED' % toolname)
>>          return 1
>>      return 0
>>  
>> -- 
>> 2.27.0.212.ge8ba1cc988-goog
>>
>> _______________________________________________
>> Patchwork mailing list
>> Patchwork at lists.ozlabs.org
>> https://lists.ozlabs.org/listinfo/patchwork


More information about the Patchwork mailing list