[Fuego] [PATCH] kselftest: add linux kernel selftests to fuego

Bird, Timothy Tim.Bird at sony.com
Tue May 23 00:43:57 UTC 2017


OK - I was about to apply, but I'll hold off.
 -- Tim


> -----Original Message-----
> From: fuego-bounces at lists.linuxfoundation.org [mailto:fuego-
> bounces at lists.linuxfoundation.org] On Behalf Of Daniel Sangorrin
> Sent: Monday, May 22, 2017 5:38 PM
> To: fuego at lists.linuxfoundation.org
> Subject: Re: [Fuego] [PATCH] kselftest: add linux kernel selftests to fuego
> 
> Hi Tim,
> 
> I made a mistake on the cross-compilation code. I will fix it and resend once I
> test it properly.
> 
> Thanks,
> Daniel
> 
> > -----Original Message-----
> > From: fuego-bounces at lists.linuxfoundation.org [mailto:fuego-
> bounces at lists.linuxfoundation.org] On Behalf Of Daniel Sangorrin
> > Sent: Monday, May 22, 2017 6:04 PM
> > To: fuego at lists.linuxfoundation.org
> > Subject: [Fuego] [PATCH] kselftest: add linux kernel selftests to fuego
> >
> > This test has a very similar format to kernel_build but it
> > skips the build of the whole kernel and only builds the tests.
> > The test is working for me in docker.
> >
> > Next, I want to cover corner cases such as support for different
> > kernel versions, support for build/run only specs, and improve
> > the specs by adding more cases and separating tests that
> > need root privileges from those that do not.
> >
> > Signed-off-by: Daniel Sangorrin <daniel.sangorrin at toshiba.co.jp>
> > ---
> >  engine/tests/Functional.kselftest/fuego_test.sh | 41
> +++++++++++++++++++++++++
> >  engine/tests/Functional.kselftest/spec.json     | 24 +++++++++++++++
> >  2 files changed, 65 insertions(+)
> >  create mode 100755 engine/tests/Functional.kselftest/fuego_test.sh
> >  create mode 100644 engine/tests/Functional.kselftest/spec.json
> >
> > diff --git a/engine/tests/Functional.kselftest/fuego_test.sh
> b/engine/tests/Functional.kselftest/fuego_test.sh
> > new file mode 100755
> > index 0000000..9ab08f5
> > --- /dev/null
> > +++ b/engine/tests/Functional.kselftest/fuego_test.sh
> > @@ -0,0 +1,41 @@
> > +function test_build {
> > +    # default architecture
> > +    if [ -z ${FUNCTIONAL_KSELFTEST_ARCH+x} ]; then
> > +        FUNCTIONAL_KSELFTEST_ARCH="x86_64"
> > +    fi
> > +
> > +    # cross-compiler platform
> > +    if [ ! -z ${FUNCTIONAL_KSELFTEST_PLATFORM+x} ]; then
> > +        OLD_PLATFORM=$PLATFORM
> > +        PLATFORM=$FUNCTIONAL_KSELFTEST_PLATFORM
> > +        source $FUEGO_RO/toolchains/tools.sh
> > +        PLATFORM=$OLD_PLATFORM
> > +    fi
> > +
> > +    make ARCH=$FUNCTIONAL_KSELFTEST_ARCH defconfig
> > +    make ARCH=$FUNCTIONAL_KSELFTEST_ARCH headers_install
> > +    make ARCH=$FUNCTIONAL_KSELFTEST_ARCH -C tools/testing/selftests
> > +}
> > +
> > +function test_deploy {
> > +    pushd tools/testing/selftests
> > +    mkdir fuego
> > +    # kselftest targets (see tools/testing/selftests/Makefile)
> > +    if [ ! -z ${FUNCTIONAL_KSELFTEST_TARGETS+x} ]; then
> > +        INSTALL_PATH=fuego make
> TARGETS="$FUNCTIONAL_KSELFTEST_TARGETS" install
> > +    else
> > +        INSTALL_PATH=fuego make install
> > +    fi
> > +    put ./fuego/* $BOARD_TESTDIR/fuego.$TESTDIR/
> > +    rm -rf fuego
> > +    popd
> > +}
> > +
> > +function test_run {
> > +    report "cd $BOARD_TESTDIR/fuego.$TESTDIR; ./run_kselftest.sh"
> > +}
> > +
> > +function test_processing {
> > +    echo "Processing kselftest log"
> > +    log_compare "$TESTDIR" "0" "^selftests: .* \[FAIL\]" "n"
> > +}
> > diff --git a/engine/tests/Functional.kselftest/spec.json
> b/engine/tests/Functional.kselftest/spec.json
> > new file mode 100644
> > index 0000000..c1d64ec
> > --- /dev/null
> > +++ b/engine/tests/Functional.kselftest/spec.json
> > @@ -0,0 +1,24 @@
> > +{
> > +    "testName": "Functional.kselftest",
> > +    "specs": {
> > +        "default": {
> > +            "gitrepo": "https://github.com/torvalds/linux.git"
> > +        },
> > +         "cip-x86": {
> > +            "gitrepo": "https://github.com/cip-project/linux-cip.git",
> > +            "targets": "memfd"
> > +        },
> > +        "cip-arm64": {
> > +            "gitrepo": "https://github.com/cip-project/linux-cip.git",
> > +            "platform": "aarch64",
> > +            "arch": "arm64"
> > +        },
> > +        "template": {
> > +            "gitrepo": "https://xxx/yyy.git",
> > +            "gitref": "my_tag_branch_or_commit_id",
> > +            "platform": "aarch64",
> > +            "arch": "arm64",
> > +            "targets": "breakpoints cpu-hotplug efivarfs exec firmware ftrace
> futex kcmp lib membarrier memfd memory-hotplug mount
> > mqueue net powerpc pstore ptrace seccomp size static_keys sysctl timers
> user vm x86 zram"
> > +        }
> > +    }
> > +}
> > --
> > 2.7.4
> >
> >
> > _______________________________________________
> > Fuego mailing list
> > Fuego at lists.linuxfoundation.org
> > https://lists.linuxfoundation.org/mailman/listinfo/fuego
> 
> 
> 
> _______________________________________________
> Fuego mailing list
> Fuego at lists.linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/fuego


More information about the Fuego mailing list