[PATCH v2] Nokia RX-51: Add automated test for running RX-51 build in qemu
Pali Rohár
pali at kernel.org
Tue Apr 28 09:37:21 CEST 2020
On Monday 27 April 2020 14:00:47 Tom Rini wrote:
> On Sat, Apr 25, 2020 at 11:00:06AM +0200, Pali Rohár wrote:
> > This patch contains test/nokia_rx51_test.sh script which automatically
> > download and compile all needed tools in local temporary directory to
> > generate a simple MTD images for booting Maemo kernel image by U-Boot from
> > RAM, eMMC and OneNAND. MTD images are then run in virtual n900 machine
> > provided by qemu-linaro project.
> >
> > This script does not need any special privileges, so it can be run as
> > non-root nobody user.
> >
> > It can be used to check that U-Boot for Nokia N900 is not broken and can be
> > successfully booted in emulator.
> >
> > Script is registered to .azure-pipelines.yml, .gitlab-ci.yml and
> > .travis.yml so it would be automatically run on those CI services.
> >
> > Signed-off-by: Pali Rohár <pali at kernel.org>
> > ---
> > Changes in v2:
> > * Fix apt dependences for Travis CI
> > * Move definition of Travis job into own section
> > * Add definition for Azure and Gitlab CI services
> > * Add script to MAINTAINERS file
> > * Build U-Boot binary in test script too
> > * Show error message when some dependency for script is missing
> > * Fix addresses for booting kernel from OneNAND
> > * Do all stuff in nokia_rx51_tmp temporary directory
> > * Use upstream mformat (from mtools) for generating FAT32 MBR filesystems
> > (instead of mkfs.fat from dosfstools with custom patches)
> > * Show more verbose log messages
> > * Do not use sudo, instead run parts of script under fakeroot
> > (fakeroot just run binary with own LD_PRELOAD library which emulates
> > mknod() function for later usage by stat() function)
> > * So script can be now run as non-root nobody user and it put all stuff
> > in nokia_rx51_tmp temporary directory, so can be run locally without
> > any issue.
> > ---
> > .azure-pipelines.yml | 7 +
> > .gitlab-ci.yml | 6 +
> > .travis.yml | 7 +
> > board/nokia/rx51/MAINTAINERS | 1 +
> > test/nokia_rx51_test.sh | 262 +++++++++++++++++++++++++++++++++++
> > 5 files changed, 283 insertions(+)
> > create mode 100755 test/nokia_rx51_test.sh
> >
> > diff --git a/.azure-pipelines.yml b/.azure-pipelines.yml
> > index d3e7b4dd02..a812f7f906 100644
> > --- a/.azure-pipelines.yml
> > +++ b/.azure-pipelines.yml
> > @@ -151,6 +151,13 @@ jobs:
> > # seems to hang forever with pre-configured "container" environment
> > docker run -v $PWD:$(work_dir) $(ci_runner_image) /bin/bash $(work_dir)/build.sh
> >
> > + - job: nokia_rx51_test
> > + displayName: 'Run tests for Nokia RX-51 (aka N900)'
> > + pool:
> > + vmImage: $(ubuntu_vm)
> > + steps:
> > + - script: test/nokia_rx51_test.sh
> > +
> > - job: test_py
> > displayName: 'test.py'
> > pool:
> > diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> > index 08bdf81e74..678f4323a0 100644
> > --- a/.gitlab-ci.yml
> > +++ b/.gitlab-ci.yml
> > @@ -170,6 +170,12 @@ Run binman, buildman, dtoc, Kconfig and patman testsuites:
> > ./tools/patman/patman --test;
> > make testconfig
> >
> > +Run tests for Nokia RX-51 (aka N900):
> > + tags: [ 'all' ]
> > + stage: testsuites
> > + script:
> > + - test/nokia_rx51_test.sh
> > +
> > # Test sandbox with test.py
> > sandbox test.py:
> > tags: [ 'all' ]
> > diff --git a/.travis.yml b/.travis.yml
> > index 82e3b91523..b32555d89f 100644
> > --- a/.travis.yml
> > +++ b/.travis.yml
> > @@ -49,6 +49,8 @@ addons:
> > - mtools
> > - openssl
> > - sbsigntool
> > + - fakeroot
> > + - mtd-utils
>
> So the Docker container for Azure/GitLab will need an update too.
Do not forget to put arm-linux-gnueabi-gcc into PATH for rx51 test script.
> I'll take care of that shortly. Otherwise:
>
> Reviewed-by: Tom Rini <trini at konsulko.com>
Ok, thank you!
More information about the U-Boot
mailing list