changeset 32558:fca3a47d3702 bytecode-interpreter

GitHub-CI: Add steps that check the bytecode-interpreter * .github/workflows/make.yaml (ubuntu, alpine, macos, mingw, cygwin): Add steps that run checks for the bytecode-interpreter.
author Markus Mützel <markus.muetzel@gmx.de>
date Fri, 08 Dec 2023 17:41:11 +0100
parents 888681e1dac1
children 8a87db42c2c2
files .github/workflows/make.yaml
diffstat 1 files changed, 106 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/.github/workflows/make.yaml	Fri Dec 08 17:34:06 2023 +0100
+++ b/.github/workflows/make.yaml	Fri Dec 08 17:41:11 2023 +0100
@@ -148,11 +148,37 @@
         timeout-minutes: 5
         run: cat ./.build/test/fntests.log
 
+      - name: check with bytecode interpreter
+        timeout-minutes: 60
+        run: |
+          mv ./.build/test/fntests.log ./.build/test/fntests-no-bci.log
+          XDG_RUNTIME_DIR=$RUNNER_TEMP xvfb-run -a make -C ./.build check-bytecode-evaluator | tee ./test-suite-bci.log
+
+      - name: display test suite log with bytecode interpreter
+        continue-on-error: true
+        # Displaying the log shouldn't take long. Cancel the step if it does.
+        timeout-minutes: 5
+        run: cat ./.build/test/fntests.log
+
+      - name: difference between logs with and without bytecode interpreter
+        continue-on-error: true
+        run: |
+          echo "::group::diff test-suite.log"
+          echo "diff -urN ./test-suite.log ./test-suite-bci.log"
+          diff -urN ./test-suite.log ./test-suite-bci.log || true
+          echo "::endgroup::"
+          echo "::group::diff fntests.log"
+          echo "diff -urN ./.build/test/fntests-no-bci.log ./.build/test/fntests.log"
+          diff -urN ./.build/test/fntests-no-bci.log ./.build/test/fntests.log || true
+          echo "::endgroup::"
+
       - 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)" ] || exit 1
           [ -z "$(grep -e "REGRESSION" ./test-suite.log)" ] || exit 1
+          [ -n "$(grep -e "FAIL\s*0" ./test-suite-bci.log)" ] || exit 1
+          [ -z "$(grep -e "REGRESSION" ./test-suite-bci.log)" ] || exit 1
           echo No unknown failing tests.
 
       - name: test history file creation
@@ -355,7 +381,7 @@
         run: |
           mv ./.build/test/fntests.log ./.build/test/fntests-no-bci.log
           XDG_RUNTIME_DIR=$RUNNER_TEMP \
-            xvfb-run -a make -C ./.build check-vm | tee ./test-suite-bci.log
+            xvfb-run -a make -C ./.build check-bytecode-evaluator | tee ./test-suite-bci.log
 
       - name: display test suite log with bytecode interpreter
         continue-on-error: true
@@ -587,11 +613,37 @@
         timeout-minutes: 5
         run: cat ./.build/test/fntests.log
 
+      - name: check with bytecode interpreter
+        timeout-minutes: 60
+        run: |
+          mv ./.build/test/fntests.log ./.build/test/fntests-no-bci.log
+          make -C ./.build check-bytecode-evaluator | tee ./test-suite-bci.log
+
+      - name: display test suite log with bytecode interpreter
+        continue-on-error: true
+        # Displaying the log shouldn't take long. Cancel the step if it does.
+        timeout-minutes: 5
+        run: cat ./.build/test/fntests.log
+
+      - name: difference between logs with and without bytecode interpreter
+        continue-on-error: true
+        run: |
+          echo "::group::diff test-suite.log"
+          echo "diff -urN ./test-suite.log ./test-suite-bci.log"
+          diff -urN ./test-suite.log ./test-suite-bci.log || true
+          echo "::endgroup::"
+          echo "::group::diff fntests.log"
+          echo "diff -urN ./.build/test/fntests-no-bci.log ./.build/test/fntests.log"
+          diff -urN ./.build/test/fntests-no-bci.log ./.build/test/fntests.log || true
+          echo "::endgroup::"
+
       - 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)" ] || exit 1
           [ -z "$(grep -e "REGRESSION" ./test-suite.log)" ] || exit 1
+          [ -n "$(grep -e "FAIL\s*0" ./test-suite-bci.log)" ] || exit 1
+          [ -z "$(grep -e "REGRESSION" ./test-suite-bci.log)" ] || exit 1
           echo No unknown failing tests.
 
       - name: test history file creation
@@ -825,11 +877,37 @@
         timeout-minutes: 5
         run: cat ./.build/test/fntests.log
 
+      - name: check with bytecode interpreter
+        timeout-minutes: 60
+        run: |
+          mv ./.build/test/fntests.log ./.build/test/fntests-no-bci.log
+          make -C ./.build check-bytecode-evaluator RUN_OCTAVE_OPTIONS="--no-gui-libs" | tee ./test-suite-bci.log
+
+      - name: display test suite log with bytecode interpreter
+        continue-on-error: true
+        # Displaying the log shouldn't take long. Cancel the step if it does.
+        timeout-minutes: 5
+        run: cat ./.build/test/fntests.log
+
+      - name: difference between logs with and without bytecode interpreter
+        continue-on-error: true
+        run: |
+          echo "::group::diff test-suite.log"
+          echo "diff -urN ./test-suite.log ./test-suite-bci.log"
+          diff -urN ./test-suite.log ./test-suite-bci.log || true
+          echo "::endgroup::"
+          echo "::group::diff fntests.log"
+          echo "diff -urN ./.build/test/fntests-no-bci.log ./.build/test/fntests.log"
+          diff -urN ./.build/test/fntests-no-bci.log ./.build/test/fntests.log || true
+          echo "::endgroup::"
+
       - 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"
+          [ -n "$(grep -e "FAIL\s*0" ./test-suite-bci.log)" ] || echo "::warning::At least one test failed with bytecode interpreter"
+          [ -z "$(grep -e "REGRESSION" ./test-suite-bci.log)" ] || echo "::warning::At least one regression in test suite with bytecode interpreter"
           echo Finished analyzing test suite results.
 
       - name: test history file creation
@@ -1076,11 +1154,38 @@
         timeout-minutes: 5
         run: cat ./.build/test/fntests.log
 
+      - name: check with bytecode interpreter
+        timeout-minutes: 60
+        run: |
+          mv ./.build/test/fntests.log ./.build/test/fntests-no-bci.log
+          export PATH=$(echo "$PATH" | sed -e "s|/usr/lib/ccache/bin:||g")
+          EGREP="grep -E" make -C ./.build check-bytecode-evaluatorm | tee ./test-suite-bci.log
+
+      - name: display test suite log with bytecode interpreter
+        continue-on-error: true
+        # Displaying the log shouldn't take long. Cancel the step if it does.
+        timeout-minutes: 5
+        run: cat ./.build/test/fntests.log
+
+      - name: difference between logs with and without bytecode interpreter
+        continue-on-error: true
+        run: |
+          echo "::group::diff test-suite.log"
+          echo "diff -urN ./test-suite.log ./test-suite-bci.log"
+          diff -urN ./test-suite.log ./test-suite-bci.log || true
+          echo "::endgroup::"
+          echo "::group::diff fntests.log"
+          echo "diff -urN ./.build/test/fntests-no-bci.log ./.build/test/fntests.log"
+          diff -urN ./.build/test/fntests-no-bci.log ./.build/test/fntests.log || true
+          echo "::endgroup::"
+
       - 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"
+          [ -n "$(grep -e "FAIL\s*0" ./test-suite-bci.log)" ] || echo "::warning::At least one test failed with bytecode interpreter"
+          [ -z "$(grep -e "REGRESSION" ./test-suite-bci.log)" ] || echo "::warning::At least one regression in test suite with bytecode interpreter"
           echo Finished analyzing test suite results.
 
       - name: test history file creation