Apache Portable Runtime Utility Library
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
apr-util-1.5
test
abts.h
1
/* Licensed to the Apache Software Foundation (ASF) under one or more
2
* contributor license agreements. See the NOTICE file distributed with
3
* this work for additional information regarding copyright ownership.
4
* The ASF licenses this file to You under the Apache License, Version 2.0
5
* (the "License"); you may not use this file except in compliance with
6
* the License. You may obtain a copy of the License at
7
*
8
* http://www.apache.org/licenses/LICENSE-2.0
9
*
10
* Unless required by applicable law or agreed to in writing, software
11
* distributed under the License is distributed on an "AS IS" BASIS,
12
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
* See the License for the specific language governing permissions and
14
* limitations under the License.
15
*/
16
17
#ifdef __cplusplus
18
extern
"C"
{
19
#endif
20
21
#include <stdarg.h>
22
#include <stdio.h>
23
#include <stdlib.h>
24
#include <string.h>
25
26
#ifdef WIN32
27
#include <io.h>
28
#else
29
#include <unistd.h>
30
#endif
31
32
#ifndef ABTS_H
33
#define ABTS_H
34
35
#ifndef FALSE
36
#define FALSE 0
37
#endif
38
#ifndef TRUE
39
#define TRUE 1
40
#endif
41
42
struct
sub_suite
{
43
const
char
*name;
44
int
num_test;
45
int
failed;
46
int
not_run;
47
int
not_impl;
48
struct
sub_suite
*next;
49
};
50
typedef
struct
sub_suite
sub_suite
;
51
52
struct
abts_suite
{
53
sub_suite
*head;
54
sub_suite
*tail;
55
};
56
typedef
struct
abts_suite
abts_suite
;
57
58
struct
abts_case
{
59
int
failed;
60
sub_suite
*suite;
61
};
62
typedef
struct
abts_case
abts_case
;
63
64
typedef
void (*test_func)(
abts_case
*tc,
void
*data);
65
66
#define ADD_SUITE(suite) abts_add_suite(suite, __FILE__);
67
68
abts_suite
*abts_add_suite(
abts_suite
*suite,
const
char
*suite_name);
69
void
abts_run_test(
abts_suite
*ts, test_func f,
void
*value);
70
void
abts_log_message(
const
char
*fmt, ...);
71
72
void
abts_int_equal(
abts_case
*tc,
const
int
expected,
const
int
actual,
int
lineno);
73
void
abts_int_nequal(
abts_case
*tc,
const
int
expected,
const
int
actual,
int
lineno);
74
void
abts_str_equal(
abts_case
*tc,
const
char
*expected,
const
char
*actual,
int
lineno);
75
void
abts_str_nequal(
abts_case
*tc,
const
char
*expected,
const
char
*actual,
76
size_t
n,
int
lineno);
77
void
abts_ptr_notnull(
abts_case
*tc,
const
void
*ptr,
int
lineno);
78
void
abts_ptr_equal(
abts_case
*tc,
const
void
*expected,
const
void
*actual,
int
lineno);
79
void
abts_true(
abts_case
*tc,
int
condition,
int
lineno);
80
void
abts_fail(
abts_case
*tc,
const
char
*message,
int
lineno);
81
void
abts_not_impl(
abts_case
*tc,
const
char
*message,
int
lineno);
82
void
abts_assert(
abts_case
*tc,
const
char
*message,
int
condition,
int
lineno);
83
84
/* Convenience macros. Ryan hates these! */
85
#define ABTS_INT_EQUAL(a, b, c) abts_int_equal(a, b, c, __LINE__)
86
#define ABTS_INT_NEQUAL(a, b, c) abts_int_nequal(a, b, c, __LINE__)
87
#define ABTS_STR_EQUAL(a, b, c) abts_str_equal(a, b, c, __LINE__)
88
#define ABTS_STR_NEQUAL(a, b, c, d) abts_str_nequal(a, b, c, d, __LINE__)
89
#define ABTS_PTR_NOTNULL(a, b) abts_ptr_notnull(a, b, __LINE__)
90
#define ABTS_PTR_EQUAL(a, b, c) abts_ptr_equal(a, b, c, __LINE__)
91
#define ABTS_TRUE(a, b) abts_true(a, b, __LINE__);
92
#define ABTS_FAIL(a, b) abts_fail(a, b, __LINE__);
93
#define ABTS_NOT_IMPL(a, b) abts_not_impl(a, b, __LINE__);
94
#define ABTS_ASSERT(a, b, c) abts_assert(a, b, c, __LINE__);
95
96
#endif
97
98
#ifdef __cplusplus
99
}
100
#endif
101
abts_suite
Definition:
abts.h:52
abts_case
Definition:
abts.h:58
sub_suite
Definition:
abts.h:42
Generated by
1.8.10