]> granicus.if.org Git - apache/blob - test/httpdunit.c
httpdunit: a Check-based unit test suite
[apache] / test / httpdunit.c
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 "check.h"
18
19 #include "apr_general.h"
20
21 static Suite *main_test_suite(void)
22 {
23     Suite *suite = suite_create("main");
24
25     /* The list of test cases is automatically generated from the test/unit
26      * directory by the build system. */
27 #   include "test/httpdunit.cases"
28
29     return suite;
30 }
31
32 int main(int argc, const char * const argv[])
33 {
34     SRunner *runner;
35     int failed;
36
37     /* Initialize APR and create our test runner. */
38     apr_app_initialize(&argc, &argv, NULL);
39     runner = srunner_create(main_test_suite());
40
41     /* Log TAP to stdout. */
42     srunner_set_tap(runner, "-");
43
44     /* Run the tests and collect failures. */
45     srunner_run_all(runner, CK_SILENT /* output only TAP */);
46     failed = srunner_ntests_failed(runner);
47
48     /* Clean up. */
49     srunner_free(runner);
50     apr_terminate();
51
52     return failed ? 1 : 0;
53 }