Re: [Automated-testing] RFC Linter in meta-openembedded


Marius Kriegerowski
 

Hi,

I took a deeper dive and made the python based patchtest work (c.f. https://github.com/HerrMuellerluedenscheid/patchtest and https://github.com/HerrMuellerluedenscheid/patchtest-oe). TBH: it might have worked from the beginning but I found working through the code cumbersome as it was badly unlinted. So, I took the `black` hammer and fixed it.

There could still be some improvements made to this tool but it works. Check the docs how https://github.com/HerrMuellerluedenscheid/patchtest/blob/master/usage.adoc

TL;DR

To give it a try with one of the test files:

1. Install requirements from requirements.txt from both projects
2. Make sure to have `bitbake/lib/bb` and `patchtest` on PYTHONPATH (for tinfoil - I would rather prefer bitbake to be properly installable than hacking with PYTHONPATH but fine…)
3. run
patchtest <PATH-TO-patchtest-oe>/selftest/files/Merge.test_series_merge_on_head.fail <PATH-TO-openembedded-core> <PATCH-TO-patchtest-oe>/tests

So, I can submit an email patch with the changes but they will include style changes made by black. Thus be ready for a big change set… which was necessary.

Cheers
Marius

On 5. Sept 2022, at 13:40, Richard Purdie <richard.purdie@...> wrote:

Hi Marius,

On Mon, 2022-09-05 at 13:25 +0200, Marius Kriegerowski wrote:
Picking up on this thread now, almost half a year later :) Sorry for
the late reply but turned out (a little surprising) that I’m going to
have a daughter soon which shifted my priorities a little…
Understandable, congratulations! :)

So, I looked into patchtest a few months ago and found a couple of
issues where I considered a rewrite. So, I gave it a shot last
weekend but instead of python I used rust. You can find the demo
here: https://github.com/HerrMuellerluedenscheid/patchtest-rs
This doesn't seem like a good direction to me. I have nothing against
rust, I've spent the past couple of months trying to sort out rust
support in OE-Core. The problem is most of our tools (bitbake,
autobuilder, buildbot and so on) are python based and most of our
developers know python. Most don't know rust (myself included). Making
a core tool hard to understand by our core developer base doesn't seem
like a wise move.

The functionality is currently limited to loading a patch from the
commandline, checking that the summary is in place and applying the
patch to a repository given by a url. The repo will be cloned on the
fly.

The next step would be an smtp client that checks for incoming
messages every N seconds and runs patchtest against patches and sends
back a short report of what worked and what didn’t.

I just wanted to check that revitalising patchtest is still an open
issue and would like to ask for quick feedback.
We definitely do want to revitialise it. One change is that we do now
have publicinbox available for OE-Core and bitbake:

https://lore.kernel.org/openembedded-core/
https://lore.kernel.org/bitbake-devel/

so rather than fighting SMTP, we should be able to read patches from
there via the git representation.

Cheers,

Richard

Join openembedded-architecture@lists.openembedded.org to automatically receive all group messages.