changeset 30765:3236e9a8e782

maint: Merge stable to default.
author Markus Mützel <markus.muetzel@gmx.de>
date Sat, 19 Feb 2022 13:20:11 +0100
parents 61673150d947 (current diff) 81021f079387 (diff)
children 753e48aa488c
files .github/workflows/make.yaml
diffstat 1 files changed, 20 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/.github/workflows/make.yaml	Fri Feb 18 22:21:27 2022 -0500
+++ b/.github/workflows/make.yaml	Sat Feb 19 13:20:11 2022 +0100
@@ -278,14 +278,13 @@
         # if the test suite crashes.  But if we don't continue, we'll loose the
         # ccache and other jobs will be cancelled, too.
         # It would be nice if we could mark the job as "yellow" (and continue)
-        # in that case.
-        # It would also be nice if we could analyze the test suite results
-        # automatically.
+        # in that case.  The second best thing is to display a warning in the
+        # job summary (see below).
         continue-on-error: true
         timeout-minutes: 60
         run: |
           echo 'makeinfo_program ("/usr/local/opt/texinfo/bin/makeinfo");' >> ./scripts/startup/site-rcfile
-          make -C ./.build check
+          make -C ./.build check | tee ./test-suite.log
 
       - name: display test log
         continue-on-error: true
@@ -293,6 +292,13 @@
         timeout-minutes: 5
         run: cat ./.build/test/fntests.log
 
+      - name: analyze test suite results
+        # Make sure the test summary lists 0 "FAIL"s and no "REGRESSION"
+        run:  |
+          [ -n "$(grep -e "FAIL\s*0" ./test-suite.log)" ] || echo "::warning::At least one test failed"
+          [ -z "$(grep -e "REGRESSION" ./test-suite.log)" ] || echo "::warning::At least one regression in test suite"
+          echo Finished analyzing test suite results.
+
 
   windows:
     runs-on: ${{ matrix.os }}
@@ -484,9 +490,8 @@
         # if the test suite crashes.  But if we don't continue, we'll loose the
         # ccache and other jobs will be cancelled, too.
         # It would be nice if we could mark the job as "yellow" (and continue)
-        # in that case.
-        # It would also be nice if we could analyze the test suite results
-        # automatically.
+        # in that case.  The second best thing is to display a warning in the
+        # job summary (see below).
         continue-on-error: true
         timeout-minutes: 60
 
@@ -496,10 +501,17 @@
         run: |
           echo 'makeinfo_program (sprintf ("%s && cd %s/../usr/bin && perl makeinfo", OCTAVE_HOME ()(1:2), OCTAVE_HOME ()));' \
             >> "${MINGW_PREFIX}/share/octave/site/m/startup/octaverc"
-          octave --eval "__run_test_suite__"
+          octave --eval "diary ('test-suite.log'); __run_test_suite__ ();"
 
       - name: display test log
         continue-on-error: true
         # Displaying the log shouldn't take long. Cancel the step if it does.
         timeout-minutes: 5
         run: cat fntests.log
+
+      - name: analyze test suite results
+        # Make sure the test summary lists 0 "FAIL"s and no "REGRESSION"
+        run:  |
+          [ -n "$(grep -e "FAIL\s*0" ./test-suite.log)" ] || echo "::warning::At least one test failed"
+          [ -z "$(grep -e "REGRESSION" ./test-suite.log)" ] || echo "::warning::At least one regression in test suite"
+          echo Finished analyzing test suite results.