Skip to content

Commit 04e9a75

Browse files
committed
switched to cmake on tests
1 parent 29fff72 commit 04e9a75

7 files changed

+323
-21
lines changed

.gitignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,10 @@
44
/build/CMakeCache.txt
55
/build/cmake_install.cmake
66
/build/CMakeFiles/
7+
8+
/tests/Makefile
9+
/tests/CMakeCache.txt
10+
/tests/cmake_install.cmake
11+
/tests/CMakeFiles/
12+
713
*.dSYM/

tests/CMakeLists.txt

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
cmake_minimum_required(VERSION 3.15)
2+
project(SocketProtocol C)
3+
4+
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/output)
5+
6+
link_directories(${CMAKE_SOURCE_DIR}/../build/output)
7+
8+
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -v")
9+
10+
file(GLOB SRC_FILES "${CMAKE_SOURCE_DIR}/src/*.c")
11+
12+
foreach(src_file IN LISTS SRC_FILES)
13+
get_filename_component(exec_name ${src_file} NAME_WE)
14+
add_executable(${exec_name} ${src_file})
15+
target_link_libraries(${exec_name} swift_net)
16+
endforeach()
17+
18+
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
19+
20+
add_executable(run_all_tests run_all_tests.c)
21+
target_link_libraries(run_all_tests swift_net)

tests/Makefile

Lines changed: 296 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,304 @@
1-
# Compiler and flags
2-
CC := clang
3-
CFLAGS := -v -L../build/output -lswift_net
1+
# CMAKE generated file: DO NOT EDIT!
2+
# Generated by "Unix Makefiles" Generator, CMake Version 4.0
43

5-
# Directories
6-
SRC_DIR := src
7-
OUT_DIR := output
4+
# Default target executed when no arguments are given to make.
5+
default_target: all
6+
.PHONY : default_target
87

9-
# Source files and targets
10-
SRCS := $(wildcard $(SRC_DIR)/*.c)
11-
BINS := $(patsubst $(SRC_DIR)/%.c,$(OUT_DIR)/%,$(SRCS))
8+
# Allow only one "make -f Makefile2" at a time, but pass parallelism.
9+
.NOTPARALLEL:
1210

13-
# Default target
14-
all: $(BINS) run_all_tests
11+
#=============================================================================
12+
# Special targets provided by cmake.
1513

16-
run_all_tests:
17-
$(CC) run_all_tests.c -o run_all_tests
14+
# Disable implicit rules so canonical targets will work.
15+
.SUFFIXES:
1816

19-
# Rule to build each binary
20-
$(OUT_DIR)/%: $(SRC_DIR)/%.c | $(OUT_DIR)
21-
$(CC) $(CFLAGS) -o $@ $<
17+
# Disable VCS-based implicit rules.
18+
% : %,v
2219

23-
# Create output directory if needed
24-
$(OUT_DIR):
25-
mkdir -p $(OUT_DIR)
20+
# Disable VCS-based implicit rules.
21+
% : RCS/%
2622

27-
# Clean rule
23+
# Disable VCS-based implicit rules.
24+
% : RCS/%,v
25+
26+
# Disable VCS-based implicit rules.
27+
% : SCCS/s.%
28+
29+
# Disable VCS-based implicit rules.
30+
% : s.%
31+
32+
.SUFFIXES: .hpux_make_needs_suffix_list
33+
34+
# Command-line flag to silence nested $(MAKE).
35+
$(VERBOSE)MAKESILENT = -s
36+
37+
#Suppress display of executed commands.
38+
$(VERBOSE).SILENT:
39+
40+
# A target that is always out of date.
41+
cmake_force:
42+
.PHONY : cmake_force
43+
44+
#=============================================================================
45+
# Set environment variables for the build.
46+
47+
# The shell in which to execute make rules.
48+
SHELL = /bin/sh
49+
50+
# The CMake executable.
51+
CMAKE_COMMAND = /opt/homebrew/bin/cmake
52+
53+
# The command to remove a file.
54+
RM = /opt/homebrew/bin/cmake -E rm -f
55+
56+
# Escaping for special characters.
57+
EQUALS = =
58+
59+
# The top-level source directory on which CMake was run.
60+
CMAKE_SOURCE_DIR = /Users/admin/Desktop/socket-protocol/tests
61+
62+
# The top-level build directory on which CMake was run.
63+
CMAKE_BINARY_DIR = /Users/admin/Desktop/socket-protocol/tests
64+
65+
#=============================================================================
66+
# Targets provided globally by CMake.
67+
68+
# Special rule for the target edit_cache
69+
edit_cache:
70+
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake cache editor..."
71+
/opt/homebrew/bin/ccmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
72+
.PHONY : edit_cache
73+
74+
# Special rule for the target edit_cache
75+
edit_cache/fast: edit_cache
76+
.PHONY : edit_cache/fast
77+
78+
# Special rule for the target rebuild_cache
79+
rebuild_cache:
80+
@$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake to regenerate build system..."
81+
/opt/homebrew/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR)
82+
.PHONY : rebuild_cache
83+
84+
# Special rule for the target rebuild_cache
85+
rebuild_cache/fast: rebuild_cache
86+
.PHONY : rebuild_cache/fast
87+
88+
# The main all target
89+
all: cmake_check_build_system
90+
$(CMAKE_COMMAND) -E cmake_progress_start /Users/admin/Desktop/socket-protocol/tests/CMakeFiles /Users/admin/Desktop/socket-protocol/tests//CMakeFiles/progress.marks
91+
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 all
92+
$(CMAKE_COMMAND) -E cmake_progress_start /Users/admin/Desktop/socket-protocol/tests/CMakeFiles 0
93+
.PHONY : all
94+
95+
# The main clean target
2896
clean:
29-
rm -rf $(OUT_DIR)
97+
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 clean
98+
.PHONY : clean
99+
100+
# The main clean target
101+
clean/fast: clean
102+
.PHONY : clean/fast
103+
104+
# Prepare targets for installation.
105+
preinstall: all
106+
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall
107+
.PHONY : preinstall
108+
109+
# Prepare targets for installation.
110+
preinstall/fast:
111+
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall
112+
.PHONY : preinstall/fast
113+
114+
# clear depends
115+
depend:
116+
$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1
117+
.PHONY : depend
118+
119+
#=============================================================================
120+
# Target rules for targets named test_basic_client_server_communication
121+
122+
# Build rule for target.
123+
test_basic_client_server_communication: cmake_check_build_system
124+
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 test_basic_client_server_communication
125+
.PHONY : test_basic_client_server_communication
126+
127+
# fast build rule for target.
128+
test_basic_client_server_communication/fast:
129+
$(MAKE) $(MAKESILENT) -f CMakeFiles/test_basic_client_server_communication.dir/build.make CMakeFiles/test_basic_client_server_communication.dir/build
130+
.PHONY : test_basic_client_server_communication/fast
131+
132+
#=============================================================================
133+
# Target rules for targets named test_client_sending_large_packet_to_server
134+
135+
# Build rule for target.
136+
test_client_sending_large_packet_to_server: cmake_check_build_system
137+
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 test_client_sending_large_packet_to_server
138+
.PHONY : test_client_sending_large_packet_to_server
139+
140+
# fast build rule for target.
141+
test_client_sending_large_packet_to_server/fast:
142+
$(MAKE) $(MAKESILENT) -f CMakeFiles/test_client_sending_large_packet_to_server.dir/build.make CMakeFiles/test_client_sending_large_packet_to_server.dir/build
143+
.PHONY : test_client_sending_large_packet_to_server/fast
144+
145+
#=============================================================================
146+
# Target rules for targets named test_server_sending_large_packet_to_client
147+
148+
# Build rule for target.
149+
test_server_sending_large_packet_to_client: cmake_check_build_system
150+
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 test_server_sending_large_packet_to_client
151+
.PHONY : test_server_sending_large_packet_to_client
152+
153+
# fast build rule for target.
154+
test_server_sending_large_packet_to_client/fast:
155+
$(MAKE) $(MAKESILENT) -f CMakeFiles/test_server_sending_large_packet_to_client.dir/build.make CMakeFiles/test_server_sending_large_packet_to_client.dir/build
156+
.PHONY : test_server_sending_large_packet_to_client/fast
157+
158+
#=============================================================================
159+
# Target rules for targets named run_all_tests
160+
161+
# Build rule for target.
162+
run_all_tests: cmake_check_build_system
163+
$(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 run_all_tests
164+
.PHONY : run_all_tests
165+
166+
# fast build rule for target.
167+
run_all_tests/fast:
168+
$(MAKE) $(MAKESILENT) -f CMakeFiles/run_all_tests.dir/build.make CMakeFiles/run_all_tests.dir/build
169+
.PHONY : run_all_tests/fast
170+
171+
run_all_tests.o: run_all_tests.c.o
172+
.PHONY : run_all_tests.o
173+
174+
# target to build an object file
175+
run_all_tests.c.o:
176+
$(MAKE) $(MAKESILENT) -f CMakeFiles/run_all_tests.dir/build.make CMakeFiles/run_all_tests.dir/run_all_tests.c.o
177+
.PHONY : run_all_tests.c.o
178+
179+
run_all_tests.i: run_all_tests.c.i
180+
.PHONY : run_all_tests.i
181+
182+
# target to preprocess a source file
183+
run_all_tests.c.i:
184+
$(MAKE) $(MAKESILENT) -f CMakeFiles/run_all_tests.dir/build.make CMakeFiles/run_all_tests.dir/run_all_tests.c.i
185+
.PHONY : run_all_tests.c.i
186+
187+
run_all_tests.s: run_all_tests.c.s
188+
.PHONY : run_all_tests.s
189+
190+
# target to generate assembly for a file
191+
run_all_tests.c.s:
192+
$(MAKE) $(MAKESILENT) -f CMakeFiles/run_all_tests.dir/build.make CMakeFiles/run_all_tests.dir/run_all_tests.c.s
193+
.PHONY : run_all_tests.c.s
194+
195+
src/test_basic_client_server_communication.o: src/test_basic_client_server_communication.c.o
196+
.PHONY : src/test_basic_client_server_communication.o
197+
198+
# target to build an object file
199+
src/test_basic_client_server_communication.c.o:
200+
$(MAKE) $(MAKESILENT) -f CMakeFiles/test_basic_client_server_communication.dir/build.make CMakeFiles/test_basic_client_server_communication.dir/src/test_basic_client_server_communication.c.o
201+
.PHONY : src/test_basic_client_server_communication.c.o
202+
203+
src/test_basic_client_server_communication.i: src/test_basic_client_server_communication.c.i
204+
.PHONY : src/test_basic_client_server_communication.i
205+
206+
# target to preprocess a source file
207+
src/test_basic_client_server_communication.c.i:
208+
$(MAKE) $(MAKESILENT) -f CMakeFiles/test_basic_client_server_communication.dir/build.make CMakeFiles/test_basic_client_server_communication.dir/src/test_basic_client_server_communication.c.i
209+
.PHONY : src/test_basic_client_server_communication.c.i
210+
211+
src/test_basic_client_server_communication.s: src/test_basic_client_server_communication.c.s
212+
.PHONY : src/test_basic_client_server_communication.s
213+
214+
# target to generate assembly for a file
215+
src/test_basic_client_server_communication.c.s:
216+
$(MAKE) $(MAKESILENT) -f CMakeFiles/test_basic_client_server_communication.dir/build.make CMakeFiles/test_basic_client_server_communication.dir/src/test_basic_client_server_communication.c.s
217+
.PHONY : src/test_basic_client_server_communication.c.s
218+
219+
src/test_client_sending_large_packet_to_server.o: src/test_client_sending_large_packet_to_server.c.o
220+
.PHONY : src/test_client_sending_large_packet_to_server.o
221+
222+
# target to build an object file
223+
src/test_client_sending_large_packet_to_server.c.o:
224+
$(MAKE) $(MAKESILENT) -f CMakeFiles/test_client_sending_large_packet_to_server.dir/build.make CMakeFiles/test_client_sending_large_packet_to_server.dir/src/test_client_sending_large_packet_to_server.c.o
225+
.PHONY : src/test_client_sending_large_packet_to_server.c.o
226+
227+
src/test_client_sending_large_packet_to_server.i: src/test_client_sending_large_packet_to_server.c.i
228+
.PHONY : src/test_client_sending_large_packet_to_server.i
229+
230+
# target to preprocess a source file
231+
src/test_client_sending_large_packet_to_server.c.i:
232+
$(MAKE) $(MAKESILENT) -f CMakeFiles/test_client_sending_large_packet_to_server.dir/build.make CMakeFiles/test_client_sending_large_packet_to_server.dir/src/test_client_sending_large_packet_to_server.c.i
233+
.PHONY : src/test_client_sending_large_packet_to_server.c.i
234+
235+
src/test_client_sending_large_packet_to_server.s: src/test_client_sending_large_packet_to_server.c.s
236+
.PHONY : src/test_client_sending_large_packet_to_server.s
237+
238+
# target to generate assembly for a file
239+
src/test_client_sending_large_packet_to_server.c.s:
240+
$(MAKE) $(MAKESILENT) -f CMakeFiles/test_client_sending_large_packet_to_server.dir/build.make CMakeFiles/test_client_sending_large_packet_to_server.dir/src/test_client_sending_large_packet_to_server.c.s
241+
.PHONY : src/test_client_sending_large_packet_to_server.c.s
242+
243+
src/test_server_sending_large_packet_to_client.o: src/test_server_sending_large_packet_to_client.c.o
244+
.PHONY : src/test_server_sending_large_packet_to_client.o
245+
246+
# target to build an object file
247+
src/test_server_sending_large_packet_to_client.c.o:
248+
$(MAKE) $(MAKESILENT) -f CMakeFiles/test_server_sending_large_packet_to_client.dir/build.make CMakeFiles/test_server_sending_large_packet_to_client.dir/src/test_server_sending_large_packet_to_client.c.o
249+
.PHONY : src/test_server_sending_large_packet_to_client.c.o
250+
251+
src/test_server_sending_large_packet_to_client.i: src/test_server_sending_large_packet_to_client.c.i
252+
.PHONY : src/test_server_sending_large_packet_to_client.i
253+
254+
# target to preprocess a source file
255+
src/test_server_sending_large_packet_to_client.c.i:
256+
$(MAKE) $(MAKESILENT) -f CMakeFiles/test_server_sending_large_packet_to_client.dir/build.make CMakeFiles/test_server_sending_large_packet_to_client.dir/src/test_server_sending_large_packet_to_client.c.i
257+
.PHONY : src/test_server_sending_large_packet_to_client.c.i
258+
259+
src/test_server_sending_large_packet_to_client.s: src/test_server_sending_large_packet_to_client.c.s
260+
.PHONY : src/test_server_sending_large_packet_to_client.s
261+
262+
# target to generate assembly for a file
263+
src/test_server_sending_large_packet_to_client.c.s:
264+
$(MAKE) $(MAKESILENT) -f CMakeFiles/test_server_sending_large_packet_to_client.dir/build.make CMakeFiles/test_server_sending_large_packet_to_client.dir/src/test_server_sending_large_packet_to_client.c.s
265+
.PHONY : src/test_server_sending_large_packet_to_client.c.s
266+
267+
# Help Target
268+
help:
269+
@echo "The following are some of the valid targets for this Makefile:"
270+
@echo "... all (the default if no target is provided)"
271+
@echo "... clean"
272+
@echo "... depend"
273+
@echo "... edit_cache"
274+
@echo "... rebuild_cache"
275+
@echo "... run_all_tests"
276+
@echo "... test_basic_client_server_communication"
277+
@echo "... test_client_sending_large_packet_to_server"
278+
@echo "... test_server_sending_large_packet_to_client"
279+
@echo "... run_all_tests.o"
280+
@echo "... run_all_tests.i"
281+
@echo "... run_all_tests.s"
282+
@echo "... src/test_basic_client_server_communication.o"
283+
@echo "... src/test_basic_client_server_communication.i"
284+
@echo "... src/test_basic_client_server_communication.s"
285+
@echo "... src/test_client_sending_large_packet_to_server.o"
286+
@echo "... src/test_client_sending_large_packet_to_server.i"
287+
@echo "... src/test_client_sending_large_packet_to_server.s"
288+
@echo "... src/test_server_sending_large_packet_to_client.o"
289+
@echo "... src/test_server_sending_large_packet_to_client.i"
290+
@echo "... src/test_server_sending_large_packet_to_client.s"
291+
.PHONY : help
292+
293+
294+
295+
#=============================================================================
296+
# Special targets to cleanup operation of make.
297+
298+
# Special rule to run CMake to check the build system integrity.
299+
# No rule that depends on this can have commands that come from listfiles
300+
# because they might be regenerated.
301+
cmake_check_build_system:
302+
$(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0
303+
.PHONY : cmake_check_build_system
304+
-16 Bytes
Binary file not shown.
Binary file not shown.
Binary file not shown.

tests/run_all_tests

0 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)