Message ID | 20240621195204.2675252-1-sjg@chromium.org |
---|---|
Headers | show |
Series | labgrid: Provide an integration with Labgrid | expand |
On Fri, Jun 21, 2024 at 01:51:21PM -0600, Simon Glass wrote: > Labgrid provides access to a hardware lab in an automated way. It is > possible to boot U-Boot on boards in the lab without physically touching > them. It relies on relays, USB UARTs and SD muxes, among other things. > > By way of background, about 4 years ago I wrong a thing called Labman[1] > which allowed my lab of about 30 devices to be operated remotely, using > tbot for the console and build integration. While it worked OK and I > used it for many bisects, I didn't take it any further. > > It turns out that there was already an existing program, called Labgrid, > which I did not know about at time (thank you Tom for telling me). It is > more rounded than Labman and has a number of advantages: > > - does not need udev rules, mostly > - has several existing users who rely on it > - supports multiple machines exporting their devices > > It lacks a 'lab check' feature and a few other things, but these can be > remedied. > > On and off over the past several weeks I have been experimenting with > Labgrid. I have managed to create an initial U-Boot integration (this > series) by adding various features to Labgrid[2] and the U-Boot test > hooks. > > I hope that this might inspire others to set up boards and run tests > automatically, rather than relying on infrequent, manual test. Perhaps > it may even be possible to have a number of labs available. > > Included in the integration are a number of simple scripts which make it > easy to connect to boards and run tests: > > ub-int <target> > Build and boot on a target, starting an interactive session > > ub-cli <target> > Build and boot on a target, ensure U-Boot starts and provide an interactive > session from there > > ub-smoke <target> > Smoke test U-Boot to check that it boots to a prompt on a target > > ub-bisect > Bisect a git tree to locate a failure on a particular target > > ub-pyt <target> <testspec> > Run U-Boot pytests on a target > > Some of these help to provide the same tbot[4] workflow which I have > relied on for several years, albeit much simpler versions. > > The goal here is to create some sort of script which can collect > patches from the mailing list, apply them and test them on a selection > of boards. I suspect that script already exists, so please let me know > what you suggest. > > I hope you find this interesting and take a look! Can you please split this up in to 3-4 series so that they can be reviewed and merged? Thanks.
Hi Tom, OK will do. One I have already split out ("Bug-fixes for a few boards") so I'll split out a few more. REgards, Simon On Fri, 21 Jun 2024 at 14:07, Tom Rini <trini@konsulko.com> wrote: > > On Fri, Jun 21, 2024 at 01:51:21PM -0600, Simon Glass wrote: > > > Labgrid provides access to a hardware lab in an automated way. It is > > possible to boot U-Boot on boards in the lab without physically touching > > them. It relies on relays, USB UARTs and SD muxes, among other things. > > > > By way of background, about 4 years ago I wrong a thing called Labman[1] > > which allowed my lab of about 30 devices to be operated remotely, using > > tbot for the console and build integration. While it worked OK and I > > used it for many bisects, I didn't take it any further. > > > > It turns out that there was already an existing program, called Labgrid, > > which I did not know about at time (thank you Tom for telling me). It is > > more rounded than Labman and has a number of advantages: > > > > - does not need udev rules, mostly > > - has several existing users who rely on it > > - supports multiple machines exporting their devices > > > > It lacks a 'lab check' feature and a few other things, but these can be > > remedied. > > > > On and off over the past several weeks I have been experimenting with > > Labgrid. I have managed to create an initial U-Boot integration (this > > series) by adding various features to Labgrid[2] and the U-Boot test > > hooks. > > > > I hope that this might inspire others to set up boards and run tests > > automatically, rather than relying on infrequent, manual test. Perhaps > > it may even be possible to have a number of labs available. > > > > Included in the integration are a number of simple scripts which make it > > easy to connect to boards and run tests: > > > > ub-int <target> > > Build and boot on a target, starting an interactive session > > > > ub-cli <target> > > Build and boot on a target, ensure U-Boot starts and provide an interactive > > session from there > > > > ub-smoke <target> > > Smoke test U-Boot to check that it boots to a prompt on a target > > > > ub-bisect > > Bisect a git tree to locate a failure on a particular target > > > > ub-pyt <target> <testspec> > > Run U-Boot pytests on a target > > > > Some of these help to provide the same tbot[4] workflow which I have > > relied on for several years, albeit much simpler versions. > > > > The goal here is to create some sort of script which can collect > > patches from the mailing list, apply them and test them on a selection > > of boards. I suspect that script already exists, so please let me know > > what you suggest. > > > > I hope you find this interesting and take a look! > > Can you please split this up in to 3-4 series so that they can be > reviewed and merged? Thanks. > > -- > Tom