Jacob Marble | 7e72437 | 2016-01-07 16:16:47 -0800 | [diff] [blame] | 1 | # Copyright 2015 The Weave Authors. All rights reserved. |
| 2 | # Use of this source code is governed by a BSD-style license that can be |
| 3 | # found in the LICENSE file. |
| 4 | |
| 5 | ### |
| 6 | # tests |
| 7 | |
Jacob Marble | e785ec9 | 2016-01-13 13:49:44 -0800 | [diff] [blame] | 8 | TEST_FLAGS ?= \ |
| 9 | --gtest_break_on_failure |
| 10 | |
| 11 | TEST_ENV ?= |
| 12 | ifeq (1, $(CLANG)) |
| 13 | TEST_ENV += ASAN_SYMBOLIZER_PATH=$(shell which llvm-symbolizer-3.6) |
| 14 | endif |
| 15 | |
Jacob Marble | 7e72437 | 2016-01-07 16:16:47 -0800 | [diff] [blame] | 16 | weave_test_obj_files := $(WEAVE_TEST_SRC_FILES:%.cc=out/$(BUILD_MODE)/%.o) |
| 17 | |
Mike Frysinger | d70a965 | 2016-03-17 04:14:27 -0400 | [diff] [blame] | 18 | $(weave_test_obj_files) : out/$(BUILD_MODE)/%.o : %.cc |
Jacob Marble | 7e72437 | 2016-01-07 16:16:47 -0800 | [diff] [blame] | 19 | mkdir -p $(dir $@) |
| 20 | $(CXX) $(DEFS_$(BUILD_MODE)) $(INCLUDES) $(CFLAGS) $(CFLAGS_$(BUILD_MODE)) $(CFLAGS_CC) -c -o $@ $< |
| 21 | |
| 22 | out/$(BUILD_MODE)/libweave-test.a : $(weave_test_obj_files) |
| 23 | $(AR) crs $@ $^ |
| 24 | |
| 25 | weave_unittest_obj_files := $(WEAVE_UNITTEST_SRC_FILES:%.cc=out/$(BUILD_MODE)/%.o) |
| 26 | |
Mike Frysinger | d70a965 | 2016-03-17 04:14:27 -0400 | [diff] [blame] | 27 | $(weave_unittest_obj_files) : out/$(BUILD_MODE)/%.o : %.cc |
Jacob Marble | 7e72437 | 2016-01-07 16:16:47 -0800 | [diff] [blame] | 28 | mkdir -p $(dir $@) |
Vitaly Buka | e03c094 | 2016-01-22 20:16:21 -0800 | [diff] [blame] | 29 | $(CXX) $(DEFS_TEST) $(INCLUDES) $(CFLAGS) $(CFLAGS_$(BUILD_MODE)) $(CFLAGS_CC) -c -o $@ $< |
Jacob Marble | 7e72437 | 2016-01-07 16:16:47 -0800 | [diff] [blame] | 30 | |
Vitaly Buka | 43bf6b7 | 2016-01-22 21:10:07 -0800 | [diff] [blame] | 31 | out/$(BUILD_MODE)/libweave_testrunner : \ |
| 32 | $(weave_unittest_obj_files) \ |
| 33 | $(third_party_chromium_crypto_unittest_obj_files) \ |
| 34 | $(third_party_chromium_base_unittest_obj_files) \ |
| 35 | out/$(BUILD_MODE)/libweave_common.a \ |
Jacob Marble | 51c4d0d | 2016-02-03 13:42:56 -0800 | [diff] [blame] | 36 | out/$(BUILD_MODE)/libweave-test.a \ |
Mike Frysinger | d70a965 | 2016-03-17 04:14:27 -0400 | [diff] [blame] | 37 | $(third_party_gtest_lib) \ |
| 38 | $(third_party_gmock_lib) |
Jacob Marble | 51c4d0d | 2016-02-03 13:42:56 -0800 | [diff] [blame] | 39 | $(CXX) -o $@ $^ $(CFLAGS) -lcrypto -lexpat -lpthread -lrt -Lthird_party/lib |
Jacob Marble | 7e72437 | 2016-01-07 16:16:47 -0800 | [diff] [blame] | 40 | |
| 41 | test : out/$(BUILD_MODE)/libweave_testrunner |
Jacob Marble | e785ec9 | 2016-01-13 13:49:44 -0800 | [diff] [blame] | 42 | $(TEST_ENV) $< $(TEST_FLAGS) |
Jacob Marble | 7e72437 | 2016-01-07 16:16:47 -0800 | [diff] [blame] | 43 | |
| 44 | ### |
| 45 | # export tests |
| 46 | |
| 47 | weave_exports_unittest_obj_files := $(WEAVE_EXPORTS_UNITTEST_SRC_FILES:%.cc=out/$(BUILD_MODE)/%.o) |
| 48 | |
Mike Frysinger | d70a965 | 2016-03-17 04:14:27 -0400 | [diff] [blame] | 49 | $(weave_exports_unittest_obj_files) : out/$(BUILD_MODE)/%.o : %.cc |
Jacob Marble | 7e72437 | 2016-01-07 16:16:47 -0800 | [diff] [blame] | 50 | mkdir -p $(dir $@) |
Vitaly Buka | e03c094 | 2016-01-22 20:16:21 -0800 | [diff] [blame] | 51 | $(CXX) $(DEFS_TEST) $(INCLUDES) $(CFLAGS) $(CFLAGS_$(BUILD_MODE)) $(CFLAGS_CC) -c -o $@ $< |
Jacob Marble | 7e72437 | 2016-01-07 16:16:47 -0800 | [diff] [blame] | 52 | |
Vitaly Buka | 43bf6b7 | 2016-01-22 21:10:07 -0800 | [diff] [blame] | 53 | out/$(BUILD_MODE)/libweave_exports_testrunner : \ |
| 54 | $(weave_exports_unittest_obj_files) \ |
| 55 | out/$(BUILD_MODE)/libweave.so \ |
| 56 | out/$(BUILD_MODE)/libweave-test.a \ |
Jacob Marble | 51c4d0d | 2016-02-03 13:42:56 -0800 | [diff] [blame] | 57 | out/$(BUILD_MODE)/src/test/weave_testrunner.o \ |
Mike Frysinger | d70a965 | 2016-03-17 04:14:27 -0400 | [diff] [blame] | 58 | $(third_party_gtest_lib) \ |
| 59 | $(third_party_gmock_lib) |
Jacob Marble | 51c4d0d | 2016-02-03 13:42:56 -0800 | [diff] [blame] | 60 | $(CXX) -o $@ $^ $(CFLAGS) -lcrypto -lexpat -lpthread -lrt -Lthird_party/lib -Wl,-rpath=out/$(BUILD_MODE)/ |
Jacob Marble | 7e72437 | 2016-01-07 16:16:47 -0800 | [diff] [blame] | 61 | |
| 62 | export-test : out/$(BUILD_MODE)/libweave_exports_testrunner |
Jacob Marble | e785ec9 | 2016-01-13 13:49:44 -0800 | [diff] [blame] | 63 | $(TEST_ENV) $< $(TEST_FLAGS) |
Jacob Marble | 7e72437 | 2016-01-07 16:16:47 -0800 | [diff] [blame] | 64 | |
Jacob Marble | e785ec9 | 2016-01-13 13:49:44 -0800 | [diff] [blame] | 65 | testall : test export-test |
| 66 | |
| 67 | .PHONY : test export-test testall |
Jacob Marble | 7e72437 | 2016-01-07 16:16:47 -0800 | [diff] [blame] | 68 | |