avoid hardcoded addresses in test cases, add pre-order iterator #635
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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() }} |