Repository: model-checking/cbmc-starter-kit (language: python)

Issue:
    Add optional flag to Python run-script that summarizes CBMC proofs results
*Issue #, if available:*

*Description of changes:*

The Python run-script will now print 2 tables in GitHub flavored Markdown, which summarize CBMC proof results. If the `--summarize` flag is used then these tables will be printed.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.



Discussion / hints:

Fix patch:
diff --git a/src/cbmc_starter_kit/template-for-repository/proofs/run-cbmc-proofs.py b/src/cbmc_starter_kit/template-for-repository/proofs/run-cbmc-proofs.py
index fbbfd6da..b73df093 100755
--- a/src/cbmc_starter_kit/template-for-repository/proofs/run-cbmc-proofs.py
+++ b/src/cbmc_starter_kit/template-for-repository/proofs/run-cbmc-proofs.py
@@ -295,7 +295,7 @@ async def configure_proof_dirs(
 
         # Allow interactive tasks to preempt proof configuration
         proc = await asyncio.create_subprocess_exec(
-            "nice", "-n", "15", "make", "VERBOSE=1" if debug else "", *pools,
+            "nice", "-n", "15", "make", *pools,
             *profiling, "-B", "_report", "" if debug else "--quiet", cwd=path,
             stdout=asyncio.subprocess.PIPE, stderr=asyncio.subprocess.PIPE)
         stdout, stderr = await proc.communicate()


Test patch:
diff --git a/.github/workflows/makefile-test.yaml b/.github/workflows/makefile-test.yaml
new file mode 100644
index 00000000..420e7b07
--- /dev/null
+++ b/.github/workflows/makefile-test.yaml
@@ -0,0 +1,29 @@
+name: Test CBMC starter-kit by using coreHTTP
+on:
+  pull_request:
+    types: [opened, synchronize, reopened, labeled, unlabeled]
+  push:
+    branches: [ master ]
+
+jobs:
+  run-tests:
+    if: "!contains(github.event.pull_request.labels.*.name, 'no-test')"
+    runs-on: ubuntu-latest
+    strategy:
+      matrix:
+        python-version: [ '3.8', '3.9', '3.10' ]
+    name: Python ${{ matrix.python-version }}
+    steps:
+      - uses: actions/checkout@v3
+      - name: Set up Python
+        uses: actions/setup-python@v3
+        with:
+          python-version: ${{ matrix.python-version }}
+      - name: Install dependencies
+        run: |
+          brew install scdoc mandoc coreutils ninja cbmc aws/tap/cbmc-viewer
+          python3 -m pip install pyyaml jinja2
+      - name: Run test target in Makefile
+        run: |
+          cd test/repo
+          make test