arm: add async tests

This commit is contained in:
2022-06-19 09:41:17 +02:00
parent b9a9c2be7b
commit 15488550c0
5 changed files with 363 additions and 4 deletions

View File

@@ -46,14 +46,42 @@ deps = $(app_objects:.o=.d) $(bootloader_objects:.o=.d)
clean:
rm -rf *.elf *.bin $(tests) $(app_objects) $(bootloader_objects) $(deps)
HOSTCXX = clang++
HOSTCXX = /usr/local/opt/llvm/bin/clang++
HOSTLDFLAGS = -lgmock -lgtest -lgtest_main -L/usr/local/opt/llvm/lib -L/usr/local/lib
HOSTCFLAGS = -std=c++20 -g\
-I/usr/local/opt/llvm/include \
-I/usr/local/include \
-I/usr/local/include \
-MP -MD
tests = ring_buffer_test
TSAN_CFLAGS = $(HOSTCFLAGS) -fsanitize=thread
ASAN_CFLAGS = $(HOSTCFLAGS) -fsanitize=address -fsanitize=leak
tests = ring_buffer_test async_test_asan async_test_tsan
.PRECIOUS: $(tests)
test: $(tests)
ring_buffer_test: ring_buffer_test.cc
$(HOSTCXX) -std=c++2a -o $@ $< -lgmock -lgtest -lgtest_main
./$@
mkdir test
$(HOSTCXX) $(HOSTCFLAGS) -o test/$@ $< $(HOSTLDFLAGS)
./test/$@
%.host.o: %.cc
$(HOSTCXX) $(HOSTCFLAGS) -c -o $@ $<
async_test_tsan: async_test.cc async.host.o
mkdir -p test
$(HOSTCXX) $(TSAN_CFLAGS) -o test/$@ $^ $(HOSTLDFLAGS)
TSAN_OPTIONS='suppressions=tsan.suppressions' ./test/$@
async_test_asan: async_test.cc async.host.o
mkdir -p test
$(HOSTCXX) $(ASAN_CFLAGS) -o test/$@ $^ $(HOSTLDFLAGS)
ASAN_OPTIONS=detect_leaks=1 ./test/$@
test_deps = async.host.d
-include $(deps)
-include $(test_deps)