diff options
author | Rusty Russell <rusty@rustcorp.com.au> | 2012-02-22 15:03:37 +1030 |
---|---|---|
committer | Amitay Isaacs <amitay@gmail.com> | 2012-03-07 13:16:16 +1100 |
commit | 9d897b0951e73a4717ae133d5b6b2493334fbf22 (patch) | |
tree | c3fcbe7b449f1384da2d132110ebfbfedce8fd3b /lib/tdb2/test/tap-interface.h | |
parent | 361f3ea9ee577c5a3e2fed687a0b417b257c31de (diff) | |
download | samba-9d897b0951e73a4717ae133d5b6b2493334fbf22.tar.gz samba-9d897b0951e73a4717ae133d5b6b2493334fbf22.tar.bz2 samba-9d897b0951e73a4717ae133d5b6b2493334fbf22.zip |
lib/tdb2: adapt unit tests to SAMBA environment.
This means changing headers, implementing a simple tap-like wrapper,
and also splitting out the helpers into those which are linked with
the api* tests (which can't use non-public tdb2 functions) and those
linked with the run* tests (which can).
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Diffstat (limited to 'lib/tdb2/test/tap-interface.h')
-rw-r--r-- | lib/tdb2/test/tap-interface.h | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/lib/tdb2/test/tap-interface.h b/lib/tdb2/test/tap-interface.h new file mode 100644 index 0000000000..9ee84aaaba --- /dev/null +++ b/lib/tdb2/test/tap-interface.h @@ -0,0 +1,41 @@ +/* + Unix SMB/CIFS implementation. + Simplistic implementation of tap interface. + + Copyright (C) Rusty Russell 2012 + + ** NOTE! The following LGPL license applies to the talloc + ** library. This does NOT imply that all of Samba is released + ** under the LGPL + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 3 of the License, or (at your option) any later version. + + This library 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, see <http://www.gnu.org/licenses/>. +*/ +#include <stdio.h> +#include <err.h> + +#ifndef __location__ +#define __TAP_STRING_LINE1__(s) #s +#define __TAP_STRING_LINE2__(s) __TAP_STRING_LINE1__(s) +#define __TAP_STRING_LINE3__ __TAP_STRING_LINE2__(__LINE__) +#define __location__ __FILE__ ":" __TAP_STRING_LINE3__ +#endif + +extern unsigned tap_ok_count, tap_ok_target; +#define plan_tests(num) do { tap_ok_target = (num); } while(0) +#define ok(e, ...) ((e) ? (printf("."), tap_ok_count++, true) : (warnx(__VA_ARGS__), false)) +#define ok1(e) ok((e), "%s:%s", __location__, #e) +#define pass(...) (printf("."), tap_ok_count++) +#define fail(...) warnx(__VA_ARGS__) +#define diag printf +#define exit_status() (tap_ok_count == tap_ok_target ? 0 : 1) |