[dpdk-dev] [PATCH 2/2] ci: enable unit tests under travis-ci

Michael Santana Francisco msantana at redhat.com
Fri Aug 2 15:40:10 CEST 2019


On Fri, Aug 2, 2019 at 9:34 AM Aaron Conole <aconole at redhat.com> wrote:
>
> Michael Santana Francisco <msantana at redhat.com> writes:
>
> > On Wed, Jul 31, 2019 at 10:50 AM Aaron Conole <aconole at redhat.com> wrote:
> >>
> >> When building under Travis (or another linux CI service), enable running the
> >> fast-tests for selected builds.  Only the shared builds are enabled at this
> >> point, since they are the ones passing.  Builds that are statically linked
> >> still show some issues in some of the eal_flags tests.  Additionally,
> >> the command to invoke fast tests includes a timeout multiplier, since
> >> some CI environments don't have enough resources to complete the tests in
> >> the default 10s timeout period.
> >>
> >> Signed-off-by: Aaron Conole <aconole at redhat.com>
> >> ---
> >>  .ci/linux-build.sh | 8 ++++++++
> >>  .ci/linux-setup.sh | 8 +++++++-
> >>  .travis.yml        | 9 ++++++++-
> >>  3 files changed, 23 insertions(+), 2 deletions(-)
> >>
> >> diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh
> >> index d5783c1a4..75f740648 100755
> >> --- a/.ci/linux-build.sh
> >> +++ b/.ci/linux-build.sh
> >> @@ -22,3 +22,11 @@ fi
> >>  OPTS="$OPTS --default-library=$DEF_LIB"
> >>  meson build --werror -Dexamples=all $OPTS
> >>  ninja -C build
> >> +
> >> +if [ "$RUN_TESTS" = "1" ]; then
> >> +    # On the test build, also build the documentation, since it's expensive
> >> +    # and we shouldn't need to build so much of it.
> >> +    ninja -C build doc
> >> +
> >> +    sudo meson test -C build --suite fast-tests -t 3
> >> +fi
> >> diff --git a/.ci/linux-setup.sh b/.ci/linux-setup.sh
> >> index acdf9f370..a40e62eaa 100755
> >> --- a/.ci/linux-setup.sh
> >> +++ b/.ci/linux-setup.sh
> >> @@ -1,3 +1,9 @@
> >>  #!/bin/sh
> >>
> >> -python3 -m pip install --upgrade meson --user
> >> +# need to install as 'root' since some of the unit tests won't run without it
> >> +sudo python3 -m pip install --upgrade meson
> >> +
> >> +# setup hugepages
> >> +cat /proc/meminfo
> >> +sudo sh -c 'echo 1024 > /proc/sys/vm/nr_hugepages'
> >> +cat /proc/meminfo
> > Can we drop cat /proc/meminfo?
> >> diff --git a/.travis.yml b/.travis.yml
> >> index 7b167fa64..c0c27bb7f 100644
> >> --- a/.travis.yml
> >> +++ b/.travis.yml
> >> @@ -30,6 +30,7 @@ env:
> >>    - DEF_LIB="shared"
> >>    - DEF_LIB="static" OPTS="-Denable_kmods=false"
> >>    - DEF_LIB="shared" OPTS="-Denable_kmods=false"
> >> +  - DEF_LIB="shared" RUN_TESTS=1
> > I don't agree with this. This is redundant. Why not put RUN_TESTS=1 on
> > an already exiting builds instead of adding two new builds like you
> > are doing here?
> > A build without the tests takes ~7 minutes, with the tests it
> > increases to ~9 minutes. These two new builds add ~18 minutes of build
> > time to the entire travis build time. We could use this ~18 minutes
> > instead to run the tests on 6 to 9 already existing builds since they
> > take 2 to 3 extra minutes on each one.
>
> Hi Michael,
>
> The ovsrobot was off for a bit due to an internal issue.  Now that it's
> back, a new build was generated.  Please have a look.  The time delta is
> about 8-12 minutes (because builds are in parallel) for a complete run
> (that's with all of the various jobs which make up a build).
>
> Do you think it's unreasonable?
This is reasonable. I didn't take parallelism into account. This looks
better now

Acked-by: Michael Santana <msantana at redhat.com>
>
> -Aaron


More information about the dev mailing list