forked from mysql/mysql-server
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCMakeLists.txt
98 lines (93 loc) · 2.79 KB
/
CMakeLists.txt
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
# Copyright (c) 2016, 2023, Oracle and/or its affiliates.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License, version 2.0,
# as published by the Free Software Foundation.
#
# This program is also distributed with certain software (including
# but not limited to OpenSSL) that is licensed under separate terms,
# as designated in a particular file or component or in included license
# documentation. The authors of MySQL hereby grant you an additional
# permission to link the program and your derivative works with the
# separately licensed software that they have included with MySQL.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
SET(TEST_MODULE mysql_protocol)
FOREACH(test_file
test_classic_protocol_frame.cc
test_classic_protocol_message.cc
test_classic_protocol_session_track.cc
test_classic_protocol_wire.cc
test_classic_protocol.cc
)
ADD_GOOGLETEST_FILE(${test_file}
MODULE ${TEST_MODULE}
SYSTEM_INCLUDE_DIRS ${GMOCK_INCLUDE_DIRS}
INCLUDE_DIRS ../include/
LIB_DEPENDS harness_stdx)
ENDFOREACH()
IF(WIN32)
ADD_COMPILE_FLAGS(
test_classic_protocol_message.cc
COMPILE_FLAGS "/bigobj")
ENDIF()
FOREACH(test_file
test_microbench.cc
)
ADD_GOOGLETEST_FILE(${test_file}
EXTRA_SOURCES ${CMAKE_SOURCE_DIR}/unittest/gunit/benchmark.cc
MODULE ${TEST_MODULE}
SYSTEM_INCLUDE_DIRS ${GMOCK_INCLUDE_DIRS}
INCLUDE_DIRS ../include/
LIB_DEPENDS harness_stdx)
ENDFOREACH()
IF(LIBFUZZER_COMPILE_FLAGS)
FOREACH(CMD client_greeting
quit
init_schema
query
list_fields
# create_db
# drop_db
reload
# shutdown
statistics
# processinfo
# connect
# debug
ping
# time
# delayedinsert
change_user
binlog_dump
# table_dump
# connect_out
register_replica
stmt_prepare
stmt_execute
stmt_param_append_data
stmt_close
stmt_reset
set_option
stmt_fetch
# daemon
binlog_dump_gtid
reset_connection
clone)
MYSQL_ADD_EXECUTABLE(routertest_fuzz_mysql_protocol_${CMD}
fuzz_${CMD}.cc
COMPONENT Router
LINK_LIBRARIES mysql_protocol
SKIP_INSTALL
)
LIBFUZZER_ADD_TEST(routertest_fuzz_mysql_protocol_${CMD}
INITIAL_CORPUS_DIR ${CMAKE_CURRENT_SOURCE_DIR}/corpus/${CMD})
ENDFOREACH()
ENDIF()