Skip to content

tests: thread-safe test suites #851

tests: thread-safe test suites

tests: thread-safe test suites #851

Workflow file for this run

name: Run Examples
on:
push:
branches:
- main
pull_request:
branches:
- main
workflow_dispatch:
jobs:
Scalafmt:
runs-on: ubuntu-latest
steps:
- uses: olafurpg/setup-scala@v11
with:
java-version: [email protected]
- uses: actions/checkout@v1
- name: Check Source Formatting
run: sbt scalafmtCheckAll
Compile:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '21'
- name: Compile BASIL Mill
run: ./mill compile
StandardSystemTests:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '21'
- uses: actions/setup-dotnet@v4
with:
dotnet-version: '6.0.x'
- run: sudo apt-get update
- run: sudo apt-get install -y z3='4.8.12-*'
- run: dotnet tool install --global boogie --version '3.4.3'
- name: System Tests
run: ./mill test.testOnly 'SystemTests*'
- uses: actions/upload-artifact@v4
with:
name: testresult-${{ github.run_number }}
path: |
src/test/*.csv
src/test/*.svg
- run: |
pushd src/test
tail -n+1 summary-*.csv
pasted="$(paste headers.md.part summary-*.md.part)"
for part in summary-*.md.part; do
# basename, then everything after "summary-", then everything before ".md.part" (via two rev passes)
testname="$(basename $part | cut -d- -f2- | rev | cut -d. -f3- | rev)"
[[ -n "$testname" ]]
svg="verifyTime-$testname.svg"
ls -l "$svg"
# 1920 hours = 80 days
#url="$(curl -F"file=@$svg" -Fexpires=1920 http://0x0.st)"
#[[ -n "$url" ]]
#pasted="$(echo "$pasted" | sed "s#HISTO${testname}HISTO#$url#g")"
done
popd
echo "$pasted" > $GITHUB_STEP_SUMMARY
shell: "bash -xe {0}"
UnitTests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '21'
- uses: actions/setup-dotnet@v4
with:
dotnet-version: '6.0.x'
- run: sudo apt-get update
- run: sudo apt-get install -y z3='4.8.12-*'
- run: dotnet tool install --global boogie --version '3.4.3'
- run: ./mill test.compile
# every test with package prefix:
# sbt "show test:definedTests"
# note: tests prefixed with '!' are expected to fail.
# if they are fixed, the '!' should be removed.
- run: ./mill test.testOnly IrreducibleLoop
if: ${{ ! cancelled() }}
- run: ./mill test.testOnly BitVectorAnalysisTests
if: ${{ ! cancelled() }}
- run: ./mill test.testOnly '*IntrusiveListPublicInterfaceTest'
if: ${{ ! cancelled() }}
- run: ./mill test.testOnly util.intrusive_list.IntrusiveListTest
if: ${{ ! cancelled() }}
- run: ./mill test.testOnly DataStructureAnalysisTest
if: ${{ ! cancelled() }}
- run: ./mill test.testOnly ParamAnalysisTests
if: ${{ ! cancelled() }}
- run: ./mill test.testOnly LiveVarsAnalysisTests
if: ${{ ! cancelled() }}
- run: ./mill test.testOnly ir.ToScalaTest
if: ${{ ! cancelled() }}
- run: ./mill test.testOnly ir.IRTest
if: ${{ ! cancelled() }}
- run: ./mill test.testOnly ir.IRToDSLTest
if: ${{ ! cancelled() }}
- run: ./mill test.testOnly ir.CILVisitorTest
if: ${{ ! cancelled() }}
- run: ./mill test.testOnly ir.InterpreterTests
if: ${{ ! cancelled() }}
- run: ./mill test.testOnly ir.InvariantTest
if: ${{ ! cancelled() }}
- run: ./mill test.testOnly ProcedureSummaryTests || true
if: ${{ ! cancelled() }}
- run: ./mill test.testOnly TaintAnalysisTests
if: ${{ ! cancelled() }}
AnalysisSystemTests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: ./mill test.compile
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '21'
- uses: actions/setup-dotnet@v4
with:
dotnet-version: '6.0.x'
- run: sudo apt-get update
- run: sudo apt-get install -y z3='4.8.12-*'
- run: dotnet tool install --global boogie --version '3.4.3'
- run: echo "All systemtest suites:" & ./mill test.testOnly '*SystemTests*' -- -z 'xxxx'
- run: ./mill test.testOnly DSAMemoryRegionSystemTestsBAP
if: ${{ ! cancelled() }}
- run: ./mill test.testOnly DSAMemoryRegionSystemTestsGTIRB
if: ${{ ! cancelled() }}
- run: ./mill test.testOnly AnalysisSystemTestsBAP
if: ${{ ! cancelled() }}
- run: ./mill test.testOnly AnalysisSystemTestsGTIRB
if: ${{ ! cancelled() }}
- run: ./mill test.testOnly SimplifySystemTests
if: ${{ ! cancelled() }}