forked from trdtnguyen/mysql-pmem
-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathapi_test.c.in
65 lines (52 loc) · 2.03 KB
/
api_test.c.in
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
/* Copyright (c) 2013, 2015, Oracle and/or its affiliates. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; version 2 of the License.
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 Street, Fifth Floor, Boston, MA 02110-1301, USA */
/**
@file
Application for testing if all C API functions to be exported by the client
library (as declared by CLIENT_API_FUNCTIONS in libmysql/CMakeLists.txt) are
declared by <mysql.h> header and indeed exported.
This code should fail to compile if some API function is not declared in
<mysql.h>. Assuming dynamic linking, it should fail to run if some of the
functions is not exported by the shared library.
Note: this source is generated during build configuration process from
template in libmysql/api_test.c.in. Do not edit this file - edit the template
instead.
*/
#include <my_global.h>
#include <my_sys.h>
#include <mysql.h>
#include <stdio.h>
/*
An array of pointers to C API calls to test that all of them are
declared and exported by client library.
*/
static void const* api_calls[] = { @CLIENT_API_FUNCTION_LIST@ };
int main()
{
unsigned api_count= 0;
unsigned i;
for (i=0; i < sizeof(api_calls)/sizeof(void*); ++i)
{
if (api_calls[i])
api_count++;
}
printf("There are %u API functions\n", api_count);
if (mysql_library_init(0,NULL,NULL))
{
printf("Failed to initialize MySQL client library\n");
return 1;
}
printf("MySQL client library initialized: %s\n", mysql_get_client_info());
mysql_library_end();
printf("Done!\n");
return 0;
}