⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testall.c

📁 linux subdivision ying gai ke yi le ba
💻 C
字号:
/* Copyright 2000-2005 The Apache Software Foundation or its licensors, as * applicable. * * Licensed 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;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -