Skip to content

fix: Improve bidirectional memory allocation model #1560

fix: Improve bidirectional memory allocation model

fix: Improve bidirectional memory allocation model #1560

Workflow file for this run

---
name: CI
on:
pull_request:
branches: [main, utbot-main]
push:
branches: [main, utbot-main]
workflow_dispatch:
inputs:
warnings_as_errors:
description: 'Warnings as errors'
required: true
default: 1
# Defaults for building KLEE
env:
BASE_IMAGE: ubuntu:jammy-20230126
REPOSITORY: ghcr.io/unittestbot/klee
BUILD_SUFFIX: "default"
COVERAGE: 0
DISABLE_ASSERTIONS: 0
ENABLE_DOXYGEN: 0
ENABLE_OPTIMIZED: 1
ENABLE_DEBUG: 1
ENABLE_WARNINGS_AS_ERRORS: ${{ github.event_name == 'workflow_dispatch' && inputs.warnings_as_errors || 1}}
ENABLE_FP_RUNTIME: 1
GTEST_VERSION: 1.16.0
KLEE_RUNTIME_BUILD: "Debug+Asserts"
LLVM_VERSION: 11
MINISAT_VERSION: "master"
REQUIRES_RTTI: 0
SOLVERS: BITWUZLA:Z3:STP
STP_VERSION: 2.3.3
TCMALLOC_VERSION: 2.9.1
UCLIBC_VERSION: klee_uclibc_v1.4
USE_TCMALLOC: 1
USE_LIBCXX: 1
Z3_VERSION: 4.8.15
SQLITE_VERSION: 3400100
BITWUZLA_VERSION: 0.7.0
JSON_VERSION: v3.11.3
IMMER_VERSION: v0.8.1
jobs:
Linux:
runs-on: ubuntu-22.04
strategy:
matrix:
name: [
"ASan",
]
include:
# Sanitizer builds. Do unoptimized build otherwise the optimizer
# might remove problematic code
- name: "ASan"
env:
SANITIZER_BUILD: address
ENABLE_OPTIMIZED: 0
USE_TCMALLOC: 0
SANITIZER_LLVM_VERSION: 12
steps:
- name: Checkout KLEE source code
uses: actions/checkout@v3
with:
submodules: recursive
- name: Memory layout fix for old clang
run: |
# TODO remove this once upstream fix is available
sudo sysctl -w vm.mmap_rnd_bits=28
- name: Build KLEE
env: ${{ matrix.env }}
run: scripts/build/build.sh klee --docker --create-final-image
- name: Run tests
env: ${{ matrix.env }}
run: scripts/build/run-tests.sh --run-docker --debug
- name: Setup tmate session
if: ${{ failure() }}
uses: mxschmitt/action-tmate@v3
macOS:
runs-on: macos-latest
env:
LLVM_VERSION: 14
BASE: /tmp
SOLVERS: Z3
Z3_VERSION: 4.14.1
ENABLE_FP_RUNTIME: 0
UCLIBC_VERSION: 0
USE_TCMALLOC: 0
USE_LIBCXX: 0
steps:
- name: Install newer version of Bash
run: brew install bash
- name: Checkout KLEE source code
uses: actions/checkout@v4
- name: Create virtualenv for Python3 (PEP 668)
run: python3 -m venv .venv
- name: Build KLEE
run: source .venv/bin/activate && echo "$(which tabulate)" && scripts/build/build.sh klee --debug --install-system-deps
- name: Run tests
run: source .venv/bin/activate && scripts/build/run-tests.sh /tmp/klee_build* --debug
Docker:
runs-on: ubuntu-latest
steps:
- name: Checkout KLEE Code
uses: actions/checkout@v3
with:
submodules: recursive
- name: Build Docker image
run: docker build .
clang-format:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: 3.x
- uses: pre-commit/[email protected]