-
Notifications
You must be signed in to change notification settings - Fork 224
/
Copy pathunit_test.mk
124 lines (99 loc) · 4.17 KB
/
unit_test.mk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
#-------------------------------------------------------------------------------
# Copyright (C) 2014 Freescale Semiconductor, Inc.
# Copyright 2016 NXP
# All Rights Reserved.
#
# THIS SOFTWARE IS PROVIDED BY FREESCALE "AS IS" AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
# SHALL FREESCALE BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
# OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
# IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
# OF SUCH DAMAGE.
#-------------------------------------------------------------------------------
#Variables
.NOTPARALLEL:
BUILD_TYPE = Debug
TEST_DIR = $(ERPC_ROOT)/test
TEST_NAME = $(CUR_DIR)
CLIENT_NAME = $(TEST_NAME)_client
SERVER_NAME = $(TEST_NAME)_server
ERPCGEN_PATH = $(ERPC_ROOT)/$(BUILD_TYPE)/$(os_name)/erpcgen/erpcgen
UT_OUTPUT_DIR = $(OUTPUT_ROOT)/test/$(TEST_NAME)
TCP_CLIENT_PATH = $(UT_OUTPUT_DIR)/$(os_name)/tcp/$(CC)/$(CLIENT_NAME)/$(DEBUG_OR_RELEASE)/$(CLIENT_NAME)_tcp_test
TCP_SERVER_PATH = $(UT_OUTPUT_DIR)/$(os_name)/tcp/$(CC)/$(SERVER_NAME)/$(DEBUG_OR_RELEASE)/$(SERVER_NAME)_tcp_test
test_server_serial = test_server_serial
test_client_serial = test_client_serial
clean_serial = clean_serial
ifeq "$(is_mingw)" "1"
test_server_serial =
test_client_serial =
clean_serial =
endif
.PHONY: all
all: test_lib test_client test_server
.PHONY: test_lib
test_lib: erpcgen
@$(call printmessage,build,Building, test_lib,gray,,,\n)
@$(MAKE) $(silent_make) -j$(MAKETHREADS) -r -f $(TEST_DIR)/mk/test_lib.mk
# Unit Test Targets
.PHONY: test-tcp
test-tcp: test_lib test_client_tcp test_server_tcp
.PHONY: test-serial
test-serial: test_lib test_client_serial test_server_serial
.PHONY: fresh
fresh: clean all
.PHONY: test_client
test_client: test_client_tcp $(test_client_serial)
.PHONY: test_client_tcp
test_client_tcp: erpcgen
@$(call printmessage,build,Building, $(CUR_DIR) $@ ,gray,,,\n)
@$(MAKE) $(silent_make) -j$(MAKETHREADS) -r -f $(TEST_DIR)/mk/test.mk TEST_NAME=$(CUR_DIR) TYPE=CLIENT TRANSPORT=tcp
.PHONY: test_client_serial
test_client_serial: erpcgen
ifneq "$(TEST_NAME)" "test_arbitrator"
@$(call printmessage,build,Building, $(CUR_DIR) $@ ,gray,,,\n)
@$(MAKE) $(silent_make) -j$(MAKETHREADS) -r -f $(TEST_DIR)/mk/test.mk TEST_NAME=$(CUR_DIR) TYPE=CLIENT TRANSPORT=serial
else
@$(call printmessage,green,Skipping, $(CUR_DIR) $@ ,gray,,,\n)
endif
.PHONY: test_server
test_server: test_server_tcp $(test_server_serial)
.PHONY: test_server_tcp
test_server_tcp: erpcgen
@$(call printmessage,build,Building, $(CUR_DIR) $@ ,gray,,,\n)
@$(MAKE) $(silent_make) -j$(MAKETHREADS) -r -f $(TEST_DIR)/mk/test.mk TEST_NAME=$(CUR_DIR) TYPE=SERVER TRANSPORT=tcp
.PHONY: test_server_serial
test_server_serial: erpcgen
ifneq "$(TEST_NAME)" "test_arbitrator"
@$(call printmessage,build,Building, $(CUR_DIR) $@ ,gray,,,\n)
@$(MAKE) $(silent_make) -j$(MAKETHREADS) -r -f $(TEST_DIR)/mk/test.mk TEST_NAME=$(CUR_DIR) TYPE=SERVER TRANSPORT=serial
else
@$(call printmessage,green,Skipping, $(CUR_DIR) $@ ,gray,,,\n)
endif
.PHONY: erpcgen
erpcgen:
@$(call printmessage,build,Building, $@ ,gray,,,\n)
@$(MAKE) $(silent_make) -j$(MAKETHREADS) -r -C $(ERPC_ROOT)/erpcgen -f Makefile
.PHONY: test run-ut-server run-ut-client
test: all run-ut-server run-ut-client
run-tcp-server:
@$(TCP_SERVER_PATH) &
run-tcp-client:
@$(TCP_CLIENT_PATH) "--gtest_output=xml:$(TEST_DIR)/results/"
run-erpcgen: erpcgen
@$(ERPCGEN_PATH) $(CUR_DIR).erpc
run-erpcgen-common: erpcgen
@$(ERPCGEN_PATH) $(ERPC_ROOT)/src/unit_test_common/unit_test_common.erpc
#cleans only output directories related to this unit test
.PHONY: clean clean_serial clean_tcp
clean: $(clean_serial) clean_tcp
clean_tcp:
@echo Cleaning $(TEST_NAME)_tcp...
@$(rmc) $(UT_OUTPUT_DIR)/$(os_name)/tcp
clean_serial:
@echo Cleaning $(TEST_NAME)_serial...
@$(rmc) $(UT_OUTPUT_DIR)/$(os_name)/serial