You've already forked sentry-native
mirror of
https://github.com/encounter/sentry-native.git
synced 2026-03-30 11:37:49 -07:00
80 lines
1.9 KiB
Makefile
80 lines
1.9 KiB
Makefile
all: test
|
|
|
|
update-test-discovery:
|
|
@perl -ne 'print if s/SENTRY_TEST\(([^)]+)\)/XX(\1)/' tests/unit/*.c | sort | uniq > tests/unit/tests.inc
|
|
.PHONY: update-test-discovery
|
|
|
|
build/Makefile: CMakeLists.txt
|
|
@mkdir -p build
|
|
@cd build; cmake ..
|
|
|
|
build: build/Makefile
|
|
@cmake --build build --parallel
|
|
.PHONY: build
|
|
|
|
build/sentry_test_unit: build
|
|
@cmake --build build --target sentry_test_unit --parallel
|
|
|
|
test: update-test-discovery test-integration
|
|
.PHONY: test
|
|
|
|
test-integration: setup-venv
|
|
.venv/bin/pytest tests --verbose
|
|
.PHONY: test-integration
|
|
|
|
test-leaks: update-test-discovery CMakeLists.txt
|
|
@mkdir -p leak-build
|
|
@cd leak-build; cmake \
|
|
-DCMAKE_RUNTIME_OUTPUT_DIRECTORY=$(PWD)/leak-build \
|
|
-DSENTRY_BACKEND=none \
|
|
-DWITH_ASAN_OPTION=ON \
|
|
-DCMAKE_C_COMPILER=/usr/local/opt/llvm/bin/clang \
|
|
-DCMAKE_CXX_COMPILER=/usr/local/opt/llvm/bin/clang++ \
|
|
-DCMAKE_LINKER=/usr/local/opt/llvm/bin/clang \
|
|
..
|
|
@cmake --build leak-build --target sentry_test_unit --parallel
|
|
@ASAN_OPTIONS=detect_leaks=1 ./leak-build/sentry_test_unit
|
|
.PHONY: test-leaks
|
|
|
|
clean: build/Makefile
|
|
@$(MAKE) -C build clean
|
|
.PHONY: clean
|
|
|
|
setup: setup-git setup-venv
|
|
.PHONY: setup
|
|
|
|
setup-git: .git/hooks/pre-commit
|
|
git submodule update --init --recursive
|
|
.PHONY: setup-git
|
|
|
|
setup-venv: .venv/bin/python
|
|
.PHONY: setup-venv
|
|
|
|
.git/hooks/pre-commit:
|
|
@cd .git/hooks && ln -sf ../../scripts/git-precommit-hook.sh pre-commit
|
|
|
|
.venv/bin/python: Makefile tests/requirements.txt
|
|
@rm -rf .venv
|
|
@which virtualenv || sudo pip install virtualenv
|
|
virtualenv -p python3 .venv
|
|
.venv/bin/pip install --upgrade --requirement tests/requirements.txt
|
|
|
|
format: setup-venv
|
|
@clang-format -i \
|
|
examples/*.c \
|
|
include/*.h \
|
|
src/*.c \
|
|
src/*.h \
|
|
src/*/*.c \
|
|
src/*/*.cpp \
|
|
src/*/*.h \
|
|
tests/unit/*.c \
|
|
tests/unit/*.h
|
|
@.venv/bin/black tests
|
|
.PHONY: format
|
|
|
|
style: setup-venv
|
|
@.venv/bin/python ./scripts/check-clang-format.py -r examples include src tests/unit
|
|
@.venv/bin/black --diff --check tests
|
|
.PHONY: style
|