Skip to content

Valgrind

Valgrind #334

Workflow file for this run

name: Valgrind
on:
workflow_dispatch:
inputs:
test-file:
description: 'new_test/<test-file>'
required: false
default: ""
use-server-rc:
type: boolean
description: 'Use server release candidate?'
required: true
default: false
jobs:
build-manylinux-wheels:
uses: ./.github/workflows/build-wheels.yml
valgrind:
needs: build-manylinux-wheels
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
fetch-depth: 0
- uses: actions/setup-python@v2
with:
python-version: '3.8'
architecture: 'x64'
- uses: actions/download-artifact@v4
with:
name: cp38-manylinux_x86_64.build
- name: Install client
run: pip install ./*.whl
- name: Install test dependencies
run: pip install -r test/requirements.txt
- name: Run EE server
uses: ./.github/actions/run-ee-server
with:
use-server-rc: ${{ inputs.use-server-rc }}
docker-hub-username: ${{ secrets.DOCKER_HUB_BOT_USERNAME }}
docker-hub-password: ${{ secrets.DOCKER_HUB_BOT_PW }}
- name: Wait for database to be ready
# Should be ready after 3 seconds
run: sleep 3
- run: sudo apt update
- run: sudo apt install valgrind -y
# Also print details of directly and indirectly reachable blocks
- name: Fetch valgrind suppression file for Python
run: wget https://svn.python.org/projects/python/trunk/Misc/valgrind-python.supp
working-directory: test
- run: PYTHONMALLOC=malloc valgrind --leak-check=full --show-leak-kinds=all --suppressions=valgrind-python.supp --error-exitcode=1 python3 -m pytest -v new_tests/${{ github.event.inputs.test-file }}
working-directory: test