Skip to content

avoid hardcoded addresses in test cases, add pre-order iterator #635

avoid hardcoded addresses in test cases, add pre-order iterator

avoid hardcoded addresses in test cases, add pre-order iterator #635

Workflow file for this run

name: Run Examples
on:
push:
branches:
- main
pull_request:
branches:
- main
workflow_dispatch:
jobs:
Compile:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
- 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: '17'
- 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
container:
image: ghcr.io/uq-pac/basil-dev:latest
credentials:
username: ${{ github.actor }}
password: ${{ secrets.github_token }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: '17'
- 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"
- 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.IRTest
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
if: ${{ ! cancelled() }}
- run: ./mill test.testOnly TaintAnalysisTests
if: ${{ ! cancelled() }}
AnalysisSystemTests:
runs-on: ubuntu-latest
container:
image: ghcr.io/uq-pac/basil-dev:latest
credentials:
username: ${{ github.actor }}
password: ${{ secrets.github_token }}
steps:
- uses: actions/checkout@v4
- run: ./mill test.compile
- 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() }}