Skip to content

preface

preface #358

Workflow file for this run

name: valgrind
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Debug
jobs:
build:
# The CMake configure and build commands are platform agnostic and should work equally
# well on Windows or Mac. You can convert this to a matrix build if you need
# cross-platform coverage.
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: true
- name: Install boost & capnproto & valgrind
# install dependencies
run: |
sudo apt-get update
sudo apt-get -yq install libboost-dev libfl-dev capnproto libcapnp-dev valgrind libtbb-dev
- name: Configure CMake
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DLONG_TESTS=ON
- name: Build
# Build your program with the given configuration
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} --parallel
- name: TestNajaCore
working-directory: ${{github.workspace}}/build/test/core
run: valgrind --error-exitcode=1 --show-leak-kinds=all --leak-check=full --errors-for-leak-kinds=all ./najaCoreTests
- name: TestSNLKernel
working-directory: ${{github.workspace}}/build/test/snl/snl/kernel
run: valgrind --error-exitcode=1 --show-leak-kinds=all --leak-check=full --errors-for-leak-kinds=all ./snlTests
- name: TestDecoratorsTest
working-directory: ${{github.workspace}}/build/test/snl/snl/decorators
run: valgrind --error-exitcode=1 --show-leak-kinds=all --leak-check=full --errors-for-leak-kinds=all ./snlDecoratorsTests
- name: TestSNLKernelWithPyLoader
working-directory: ${{github.workspace}}/build/test/snl/snl/kernel
env:
PYTHONPATH: ${{env.PYTHONPATH}}:${{github.workspace}}/build/src/snl/python/snl_wrapping
PYTHONMALLOC: malloc
run: valgrind --error-exitcode=1 --show-leak-kinds=definite --leak-check=full --errors-for-leak-kinds=definite ./snlTestsWithPyLoader
- name: TestSNLDump
working-directory: ${{github.workspace}}/build/test/snl/snl/serialization/capnp
run: valgrind --error-exitcode=1 --show-leak-kinds=all --leak-check=full --errors-for-leak-kinds=all ./snlCapnPTests
- name: TestSNLNetlists
working-directory: ${{github.workspace}}/build/test/snl/netlists
run: valgrind --error-exitcode=1 --show-leak-kinds=all --leak-check=full --errors-for-leak-kinds=all ./snlNetlistTests
- name: TestSNLVRLConstructor
working-directory: ${{github.workspace}}/build/test/snl/formats/verilog/frontend
env:
PYTHONPATH: ${{env.PYTHONPATH}}:${{github.workspace}}/build/src/snl/python/snl_wrapping
PYTHONMALLOC: malloc
run: valgrind --error-exitcode=1 --show-leak-kinds=definite --leak-check=full --errors-for-leak-kinds=definite ./snlVRLConstructorTests
- name: TestLiberty
working-directory: ${{github.workspace}}/build/test/snl/formats/liberty
run: valgrind --error-exitcode=1 --show-leak-kinds=all --leak-check=full --errors-for-leak-kinds=all ./snl_liberty_tests
- name: TestSNLVRLDumper
working-directory: ${{github.workspace}}/build/test/snl/formats/verilog/backend
run: valgrind --error-exitcode=1 --show-leak-kinds=all --leak-check=full --errors-for-leak-kinds=all ./snlVRLDumperTests
- name: TestSNLPyLoader
working-directory: ${{github.workspace}}/build/test/snl/python/pyloader
env:
PYTHONPATH: ${{env.PYTHONPATH}}:${{github.workspace}}/build/src/snl/python/snl_wrapping
PYTHONMALLOC: malloc
run: valgrind --error-exitcode=1 --show-leak-kinds=definite --leak-check=full --errors-for-leak-kinds=definite ./snlPyLoaderTests --gtest_filter=-"*testFaultyPythonScript*"
- name: TestSNLVisualsTest
working-directory: ${{github.workspace}}/build/test/snl/visual
run: valgrind --error-exitcode=1 ./snl_visual_tests
#run: valgrind --error-exitcode=1 --show-leak-kinds=all --leak-check=full --errors-for-leak-kinds=all ./snl_visual_tests
- name: TestDNL
working-directory: ${{github.workspace}}/build/test/dnl
run: valgrind --error-exitcode=1 ./dnlTests
#run: valgrind --error-exitcode=1 --show-leak-kinds=all --leak-check=full --errors-for-leak-kinds=all ./dnlTests
- name: TestDLE
working-directory: ${{github.workspace}}/build/test/logic_opt
run: valgrind --error-exitcode=1 ./loadlessLogicRemoverTests
#run: valgrind --error-exitcode=1 --show-leak-kinds=all --leak-check=full --errors-for-leak-kinds=all ./loadlessLogicRemoverTests
- name: TestConstantPropagation
working-directory: ${{github.workspace}}/build/test/logic_opt
run: valgrind --error-exitcode=1 --show-leak-kinds=all --leak-check=full --errors-for-leak-kinds=all ./constantPropagationTests
#- name: TestReductionOpt
# working-directory: ${{github.workspace}}/build/test/logic_opt
# env:
# PYTHONPATH: ${{env.PYTHONPATH}}:${{github.workspace}}/build/src/snl/python/snl_wrapping
# PYTHONMALLOC: malloc
# run: valgrind --error-exitcode=1 --show-leak-kinds=all --leak-check=full --errors-for-leak-kinds=all ./reductionOptTests
# #run: valgrind --error-exitcode=1 ./reductionOptTests
- name: TestBNE
working-directory: ${{github.workspace}}/build/test/bne
run: valgrind --error-exitcode=1 ./bneTests
#run: valgrind --error-exitcode=1 --show-leak-kinds=all --leak-check=full --errors-for-leak-kinds=all ./bneTests