Files

80 lines
1.9 KiB
Makefile
Raw Permalink Normal View History

2019-12-22 20:38:33 +01:00
all: test
update-test-discovery:
2020-03-02 11:20:33 +01:00
@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
2019-12-22 20:38:33 +01:00
@mkdir -p build
@cd build; cmake ..
2019-12-29 22:19:21 +05:00
build: build/Makefile
2020-02-24 13:46:50 +01:00
@cmake --build build --parallel
2019-12-29 22:19:21 +05:00
.PHONY: build
2020-03-03 18:03:49 +01:00
build/sentry_test_unit: build
@cmake --build build --target sentry_test_unit --parallel
2020-03-02 11:20:33 +01:00
test: update-test-discovery test-integration
2019-12-22 13:45:15 +01:00
.PHONY: test
2020-03-02 11:20:33 +01:00
test-integration: setup-venv
.venv/bin/pytest tests --verbose
.PHONY: test-integration
2020-01-09 10:47:57 +01:00
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 \
..
2020-03-03 18:03:49 +01:00
@cmake --build leak-build --target sentry_test_unit --parallel
@ASAN_OPTIONS=detect_leaks=1 ./leak-build/sentry_test_unit
2020-01-09 10:28:04 +01:00
.PHONY: test-leaks
2019-12-22 20:38:33 +01:00
clean: build/Makefile
@$(MAKE) -C build clean
.PHONY: clean
setup: setup-git setup-venv
2020-03-02 11:20:33 +01:00
.PHONY: setup
setup-git: .git/hooks/pre-commit
2020-02-24 13:46:50 +01:00
git submodule update --init --recursive
2020-03-02 11:20:33 +01:00
.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
2020-03-02 11:20:33 +01:00
@rm -rf .venv
@which virtualenv || sudo pip install virtualenv
virtualenv -p python3 .venv
.venv/bin/pip install --upgrade --requirement tests/requirements.txt
2020-02-24 13:46:50 +01:00
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
2019-12-22 13:45:15 +01:00
.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