The log directory is removed with each distcheck run. This would remove logs from failed jobs in the "stable" part of the run. In order to prevent that run all test just as check and add extra line for the distcheck that will not run any test. This also saves some run time as the distcheck was doing the compilation again which doesn't have to be done twice.
Signed-off-by: Ales Musil <[email protected]> --- .ci/ci.sh | 2 +- .ci/linux-build.sh | 34 +++++++++++++++++++++++++++------- .github/workflows/test.yml | 1 + 3 files changed, 29 insertions(+), 8 deletions(-) diff --git a/.ci/ci.sh b/.ci/ci.sh index 8f34215d9..3640d3243 100755 --- a/.ci/ci.sh +++ b/.ci/ci.sh @@ -48,7 +48,7 @@ function archive_logs() { && \ cp $CONTAINER_WORKDIR/config.log $log_dir \ && \ - cp -r $CONTAINER_WORKDIR/*/_build/sub/tests/testsuite.* \ + cp -r $CONTAINER_WORKDIR/tests/testsuite.* \ $log_dir || true \ && \ cp -r $CONTAINER_WORKDIR/tests/system-*-testsuite.* \ diff --git a/.ci/linux-build.sh b/.ci/linux-build.sh index 82fcf7b80..048d4221a 100755 --- a/.ci/linux-build.sh +++ b/.ci/linux-build.sh @@ -104,26 +104,42 @@ function configure_clang() COMMON_CFLAGS="${COMMON_CFLAGS} -Wno-error=unused-command-line-argument" } -function run_tests() +function execute_dist_tests() { + # 'distcheck' will reconfigure with required options. + # Now we only need to prepare the Makefile without sparse-wrapped CC. + configure_ovn + + export DISTCHECK_CONFIGURE_FLAGS="$OPTS" + + # Just list the tests during distcheck if ! timeout -k 5m -v $TIMEOUT make distcheck \ + CFLAGS="${COMMON_CFLAGS} ${OVN_CFLAGS}" $JOBS \ + TESTSUITEFLAGS="-l" + then + # testsuite.log is necessary for debugging. + cat config.log + exit 1 + fi +} + +function run_tests() +{ + if ! timeout -k 5m -v $TIMEOUT make check \ CFLAGS="${COMMON_CFLAGS} ${OVN_CFLAGS}" $JOBS \ TESTSUITEFLAGS="$JOBS $TEST_RANGE" RECHECK=$RECHECK \ SKIP_UNSTABLE=$SKIP_UNSTABLE then # testsuite.log is necessary for debugging. - cat */_build/sub/tests/testsuite.log + cat tests/testsuite.log return 1 fi } function execute_tests() { - # 'distcheck' will reconfigure with required options. - # Now we only need to prepare the Makefile without sparse-wrapped CC. - configure_ovn - - export DISTCHECK_CONFIGURE_FLAGS="$OPTS" + configure_ovn $OPTS + make $JOBS || { cat config.log; exit 1; } local stable_rc=0 local unstable_rc=0 @@ -190,6 +206,10 @@ if [ "$TESTSUITE" ]; then execute_tests ;; + "dist-test") + execute_dist_tests + ;; + "system-test") execute_system_tests "check-kernel" "system-kmod-testsuite.log" ;; diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a4c0fc08b..a947f103e 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -91,6 +91,7 @@ jobs: cfg: - { compiler: gcc, opts: --disable-ssl } - { compiler: clang, opts: --disable-ssl } + - { compiler: gcc, testsuite: dist-test } - { compiler: gcc, testsuite: test, test_range: "-300" } - { compiler: gcc, testsuite: test, test_range: "301-600" } - { compiler: gcc, testsuite: test, test_range: "601-", unstable: unstable } -- 2.48.1 _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
