~alinuxninja/nginx-edge/trunk

« back to all changes in this revision

Viewing changes to debian/modules/ngx_pagespeed/psol/include/third_party/apr/src/test/abts.h

  • Committer: Vivian
  • Date: 2015-12-04 18:20:11 UTC
  • Revision ID: git-v1:a36f2bc32e884f7473b3a47040e5411306144d7d
* Do not extract psol.tar.gz

Show diffs side-by-side

added added

removed removed

Lines of Context:
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
 
#ifdef WIN32
26
 
#include <io.h>
27
 
#else
28
 
#include <unistd.h>
29
 
#endif
30
 
 
31
 
#ifndef ABTS_H
32
 
#define ABTS_H
33
 
 
34
 
#ifndef FALSE
35
 
#define FALSE 0
36
 
#endif
37
 
#ifndef TRUE
38
 
#define TRUE  1
39
 
#endif
40
 
 
41
 
struct sub_suite {
42
 
    const char *name;
43
 
    int num_test;
44
 
    int failed;
45
 
    int not_run;
46
 
    int not_impl;
47
 
    struct sub_suite *next;
48
 
};
49
 
typedef struct sub_suite sub_suite;
50
 
 
51
 
struct abts_suite {
52
 
    sub_suite *head;
53
 
    sub_suite *tail;
54
 
};
55
 
typedef struct abts_suite abts_suite;
56
 
 
57
 
struct abts_case {
58
 
    int failed;
59
 
    sub_suite *suite;
60
 
};
61
 
typedef struct abts_case abts_case;
62
 
 
63
 
typedef void (*test_func)(abts_case *tc, void *data);
64
 
 
65
 
#define ADD_SUITE(suite) abts_add_suite(suite, __FILE__);
66
 
 
67
 
abts_suite *abts_add_suite(abts_suite *suite, const char *suite_name);
68
 
void abts_run_test(abts_suite *ts, test_func f, void *value);
69
 
void abts_log_message(const char *fmt, ...);
70
 
 
71
 
void abts_int_equal(abts_case *tc, const int expected, const int actual, int lineno);
72
 
void abts_int_nequal(abts_case *tc, const int expected, const int actual, int lineno);
73
 
void abts_str_equal(abts_case *tc, const char *expected, const char *actual, int lineno);
74
 
void abts_str_nequal(abts_case *tc, const char *expected, const char *actual,
75
 
                       size_t n, int lineno);
76
 
void abts_ptr_notnull(abts_case *tc, const void *ptr, int lineno);
77
 
void abts_ptr_equal(abts_case *tc, const void *expected, const void *actual, int lineno);
78
 
void abts_true(abts_case *tc, int condition, int lineno);
79
 
void abts_fail(abts_case *tc, const char *message, int lineno);
80
 
void abts_not_impl(abts_case *tc, const char *message, int lineno);
81
 
void abts_assert(abts_case *tc, const char *message, int condition, int lineno);
82
 
void abts_size_equal(abts_case *tc, size_t expected, size_t actual, 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
 
#define ABTS_SIZE_EQUAL(a, b, c)    abts_size_equal(a, b, c, __LINE__)
97
 
 
98
 
 
99
 
abts_suite *run_tests(abts_suite *suite);
100
 
abts_suite *run_tests1(abts_suite *suite);
101
 
 
102
 
 
103
 
#endif
104
 
 
105
 
#ifdef __cplusplus
106
 
}
107
 
#endif
108