Skip to content

Fix macos ci #201

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Oct 24, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -168,13 +168,13 @@ jobs:
- name: Install newer version of Bash
run: brew install bash
- name: Checkout KLEE source code
uses: actions/checkout@v3
with:
submodules: recursive
uses: actions/checkout@v4
- name: Create virtualenv for Python3 (PEP 668)
run: python3 -m venv .venv
- name: Build KLEE
run: scripts/build/build.sh klee --debug --install-system-deps
run: source .venv/bin/activate && echo "$(which tabulate)" && scripts/build/build.sh klee --debug --install-system-deps
- name: Run tests
run: scripts/build/run-tests.sh /tmp/klee_build* --debug
run: source .venv/bin/activate && scripts/build/run-tests.sh /tmp/klee_build* --debug

Docker:
runs-on: ubuntu-latest
Expand Down
14 changes: 6 additions & 8 deletions scripts/build/p-klee-osx.inc
Original file line number Diff line number Diff line change
@@ -1,17 +1,15 @@
# Build dependencies
install_build_dependencies_klee() {
brew upgrade python # upgrade to Python 3
brew link --overwrite python

if [[ $(to_bool "${ENABLE_DOXYGEN}") -eq 1 ]]; then
brew install doxygen graphviz
fi

brew install python-tabulate lit
# Install `lit` required for testing
brew install lit

brew install pkg-config
brew install coreutils
# Get path of package location
base_path=$(python3 -m site --user-base)
export PATH="${base_path}/bin:$PATH"
}

# Install package in virtual environment
python3 -m pip install "tabulate"
}
10 changes: 7 additions & 3 deletions scripts/build/run-tests.sh
Original file line number Diff line number Diff line change
Expand Up @@ -37,10 +37,14 @@ run_tests() {
# TODO change to pinpoint specific directory
cd "${build_dir}"

# Remove klee from PATH
export PATH=${PATH/":/home/klee/klee_build/bin"/}
# Remove klee from PATH. The goal is that for test cases klee is referenced via `%klee` not accidently being picked up via PATH
if which klee; then
return 1 # should not happen
full_path_to_klee="$(which klee)"
target_directory="$(dirname "${full_path_to_klee}")"
PATH=${PATH/$target_directory/}
if which klee; then
return 1 # should not happen
fi
fi

###############################################################################
Expand Down
3 changes: 3 additions & 0 deletions test/Feature/VarArgByValOld.c
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
// Variadic functions are only supported on x86_64
// REQUIRES: x86_64

// REQUIRES: lt-llvm-15.0
/* This test checks that KLEE correctly handles variadic arguments with the
byval attribute */
Expand Down
Loading