bottleneck testcase based on rubbos
[bottlenecks.git] / rubbos / app / httpd-2.0.64 / srclib / apr / test / aprtest.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 #include "apr_errno.h"
18 #include "apr_general.h"
19 #include "apr_strings.h"
20
21 #ifndef APR_TEST_PREFIX
22 #define APR_TEST_PREFIX ""
23 #endif
24
25 #define APR_TEST_BEGIN(rv, desc, op) \
26     fprintf(stdout, "%s%.*s ", APR_TEST_PREFIX desc,                  \
27             strlen(desc) < 37 ? (int)(40 - strlen(desc)) : 3,         \
28             "........................................");              \
29     APR_TEST_MORE(rv, op)
30
31 #define APR_TEST_MORE(rv, op) \
32     if ((rv = (op)) != APR_SUCCESS) {                                 \
33         char msgbuf[256];                                             \
34         fprintf (stdout, "Failed\n");                                 \
35         fprintf (stderr, "Error (%d): %s\n%s", rv, #op,               \
36                  apr_strerror(rv, msgbuf, sizeof(msgbuf)));           \
37         exit(-1); }
38
39 #define APR_TEST_END(rv, op) \
40     APR_TEST_MORE(rv, op)                                             \
41     fprintf(stdout, "OK\n");
42
43 #define APR_TEST_SUCCESS(rv, desc, op) \
44     APR_TEST_BEGIN(rv, desc, op)                                      \
45     fprintf(stdout, "OK\n");
46
47 #define APR_TEST_INITIALIZE(rv, pool) \
48     APR_TEST_SUCCESS(rv, "Initializing", apr_initialize());           \
49     atexit(apr_terminate);                                            \
50     APR_TEST_SUCCESS(rv, "Creating context",                          \
51                      apr_pool_create(&pool, NULL));
52