diff options
Diffstat (limited to 'testsuite/headers')
-rw-r--r-- | testsuite/headers/test_headers.c | 45 | ||||
-rw-r--r-- | testsuite/headers/wscript_build | 35 |
2 files changed, 80 insertions, 0 deletions
diff --git a/testsuite/headers/test_headers.c b/testsuite/headers/test_headers.c new file mode 100644 index 0000000..4e63e99 --- /dev/null +++ b/testsuite/headers/test_headers.c @@ -0,0 +1,45 @@ +/* + Unix SMB/CIFS implementation. + + Copyright (C) Andrew Tridgell 2011 + + 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; either version 3 of the License, or + (at your option) any later version. + + 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, see <http://www.gnu.org/licenses/>. +*/ + +/* + this tests that all of our public headers will build + */ + +#define _GNU_SOURCE 1 + +#ifdef HAVE_PYTHON_H +# include <Python.h> +#endif +#include <stdio.h> +#include <unistd.h> +#include <stdlib.h> +#include <stdint.h> +#include <stdbool.h> + +/* pre-include some of the public headers to avoid ordering issues */ +#include "core/ntstatus.h" + +/* include all our public headers */ +#include "test_headers.h" + +int main(void) +{ + printf("All OK\n"); + return 0; +} diff --git a/testsuite/headers/wscript_build b/testsuite/headers/wscript_build new file mode 100644 index 0000000..190fe69 --- /dev/null +++ b/testsuite/headers/wscript_build @@ -0,0 +1,35 @@ +import os + +def build_test_headers(task): + '''symlink a header in the build tree''' + tgt = task.outputs[0].bldpath(task.env) + f = open(tgt, mode='w') + f.write('/* generated header test */\n') + hlist = task.env.public_headers_list[:] + hlist.sort() + + for h in hlist: + f.write('#include "%s"\n' % os.path.normpath(h)) + f.close() + +relpath1 = os.path.relpath(bld.srcnode.abspath(), bld.path.abspath()) +public_headers = [] +for h in bld.env.public_headers_list: + public_headers.append(os.path.join(relpath1, bld.env.build_public_headers, h)) + +bld.SAMBA_GENERATOR('test_headers.h', + group='main', + rule=build_test_headers, + source=public_headers, + target='test_headers.h') + +if bld.env.DEVELOPER_MODE: + bld.SAMBA_BINARY('test_headers', + source='test_headers.c', + includes="#include/public", + pyembed=True, + local_include=True, + global_include=False, + use_global_deps=False, + install=False, + deps='talloc tdb ldb tevent popt') |