summaryrefslogtreecommitdiffstats
path: root/rubbos/app/httpd-2.0.64/srclib/apr/test/testall.c
diff options
context:
space:
mode:
authorhongbotian <hongbo.tianhongbo@huawei.com>2015-11-30 01:45:08 -0500
committerhongbotian <hongbo.tianhongbo@huawei.com>2015-11-30 01:45:08 -0500
commite8ec7aa8e38a93f5b034ac74cebce5de23710317 (patch)
treeaa031937bf856c1f8d6ad7877b8d2cb0224da5ef /rubbos/app/httpd-2.0.64/srclib/apr/test/testall.c
parentcc40af334e619bb549038238507407866f774f8f (diff)
upload http
JIRA: BOTTLENECK-10 Change-Id: I7598427ff904df438ce77c2819ee48ac75ffa8da Signed-off-by: hongbotian <hongbo.tianhongbo@huawei.com>
Diffstat (limited to 'rubbos/app/httpd-2.0.64/srclib/apr/test/testall.c')
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/testall.c167
1 files changed, 167 insertions, 0 deletions
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/testall.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/testall.c
new file mode 100644
index 00000000..c7e8fe9c
--- /dev/null
+++ b/rubbos/app/httpd-2.0.64/srclib/apr/test/testall.c
@@ -0,0 +1,167 @@
+/* Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#include <stdio.h>
+#include <stdlib.h>
+
+#include "test_apr.h"
+
+/* Top-level pool which can be used by tests. */
+apr_pool_t *p;
+
+void apr_assert_success(CuTest* tc, const char* context, apr_status_t rv)
+{
+ if (rv == APR_ENOTIMPL) {
+ CuNotImpl(tc, context);
+ }
+
+ if (rv != APR_SUCCESS) {
+ char buf[STRING_MAX], ebuf[128];
+ sprintf(buf, "%s (%d): %s\n", context, rv,
+ apr_strerror(rv, ebuf, sizeof ebuf));
+ CuFail(tc, buf);
+ }
+}
+
+static const struct testlist {
+ const char *testname;
+ CuSuite *(*func)(void);
+} tests[] = {
+ {"teststr", teststr},
+ {"testtime", testtime},
+ {"testvsn", testvsn},
+ {"testipsub", testipsub},
+ {"testmmap", testmmap},
+ {"testud", testud},
+ {"testtable", testtable},
+ {"testhash", testhash},
+ {"testsleep", testsleep},
+ {"testpool", testpool},
+ {"testfmt", testfmt},
+ {"testfile", testfile},
+ {"testfileinfo", testfileinfo},
+ {"testpipe", testpipe},
+ {"testdup", testdup},
+ {"testdir", testdir},
+ {"testrand", testrand},
+ {"testdso", testdso},
+ {"testoc", testoc},
+ {"testsockets", testsockets},
+ {"testsockopt", testsockopt},
+ {"testproc", testproc},
+ {"testprocmutex", testprocmutex},
+ {"testpoll", testpoll},
+ {"testlock", testlock},
+ {"testthread", testthread},
+ {"testargs", testgetopt},
+ {"testnames", testnames},
+ {"testuser", testuser},
+ {"testpath", testpath},
+ {"testenv", testenv},
+ {"LastTest", NULL}
+};
+
+int main(int argc, char *argv[])
+{
+ CuSuiteList *alltests = NULL;
+ CuString *output = CuStringNew();
+ int i;
+ int exclude = 0;
+ int list_provided = 0;
+
+ apr_initialize();
+ atexit(apr_terminate);
+
+ CuInit(argc, argv);
+
+ apr_pool_create(&p, NULL);
+
+ /* see if we're in exclude mode, see if list of testcases provided */
+ for (i = 1; i < argc; i++) {
+ if (!strcmp(argv[i], "-v")) {
+ continue;
+ }
+ if (!strcmp(argv[i], "-x")) {
+ exclude = 1;
+ continue;
+ }
+ if (!strcmp(argv[i], "-l")) {
+ for (i = 0; tests[i].func != NULL; i++) {
+ printf("%s\n", tests[i].testname);
+ }
+ exit(0);
+ }
+ if (argv[i][0] == '-') {
+ fprintf(stderr, "invalid option: `%s'\n", argv[i]);
+ exit(1);
+ }
+ list_provided = 1;
+ }
+
+ if (!list_provided) {
+ /* add everything */
+ alltests = CuSuiteListNew("All APR Tests");
+ for (i = 0; tests[i].func != NULL; i++) {
+ CuSuiteListAdd(alltests, tests[i].func());
+ }
+ }
+ else if (exclude) {
+ /* add everything but the tests listed */
+ alltests = CuSuiteListNew("Partial APR Tests");
+ for (i = 0; tests[i].func != NULL; i++) {
+ int this_test_excluded = 0;
+ int j;
+
+ for (j = 1; j < argc && !this_test_excluded; j++) {
+ if (!strcmp(argv[j], tests[i].testname)) {
+ this_test_excluded = 1;
+ }
+ }
+ if (!this_test_excluded) {
+ CuSuiteListAdd(alltests, tests[i].func());
+ }
+ }
+ }
+ else {
+ /* add only the tests listed */
+ alltests = CuSuiteListNew("Partial APR Tests");
+ for (i = 1; i < argc; i++) {
+ int j;
+ int found = 0;
+
+ if (argv[i][0] == '-') {
+ continue;
+ }
+ for (j = 0; tests[j].func != NULL; j++) {
+ if (!strcmp(argv[i], tests[j].testname)) {
+ CuSuiteListAdd(alltests, tests[j].func());
+ found = 1;
+ }
+ }
+ if (!found) {
+ fprintf(stderr, "invalid test name: `%s'\n", argv[i]);
+ exit(1);
+ }
+ }
+ }
+
+ CuSuiteListRunWithSummary(alltests);
+ i = CuSuiteListDetails(alltests, output);
+ printf("%s\n", output->buffer);
+
+ return i > 0 ? 1 : 0;
+}
+