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_pools.h" 18 #include "apr_general.h" 19 #include "abts.h" 20 21 #ifndef APR_TEST_UTIL 22 #define APR_TEST_UTIL 23 24 /* XXX: FIXME - these all should become much more utilitarian 25 * and part of apr, itself 26 */ 27 28 #ifdef WIN32 29 #ifdef BINPATH 30 #define TESTBINPATH APR_STRINGIFY(BINPATH) "/" 31 #else 32 #define TESTBINPATH "" 33 #endif 34 #else 35 #define TESTBINPATH "./" 36 #endif 37 38 #ifdef WIN32 39 #define EXTENSION ".exe" 40 #elif NETWARE 41 #define EXTENSION ".nlm" 42 #else 43 #define EXTENSION 44 #endif 45 46 #define STRING_MAX 8096 47 48 /* Some simple functions to make the test apps easier to write and 49 * a bit more consistent... 50 */ 51 52 extern apr_pool_t *p; 53 54 /* Assert that RV is an APR_SUCCESS value; else fail giving strerror 55 * for RV and CONTEXT message. */ 56 void apr_assert_success(abts_case* tc, const char *context, 57 apr_status_t rv, int lineno); 58 #define APR_ASSERT_SUCCESS(tc, ctxt, rv) \ 59 apr_assert_success(tc, ctxt, rv, __LINE__) 60 61 void initialize(void); 62 63 abts_suite *testatomic(abts_suite *suite); 64 abts_suite *testdir(abts_suite *suite); 65 abts_suite *testdso(abts_suite *suite); 66 abts_suite *testdup(abts_suite *suite); 67 abts_suite *testescape(abts_suite *suite); 68 abts_suite *testenv(abts_suite *suite); 69 abts_suite *testfile(abts_suite *suite); 70 abts_suite *testfilecopy(abts_suite *suite); 71 abts_suite *testfileinfo(abts_suite *suite); 72 abts_suite *testflock(abts_suite *suite); 73 abts_suite *testfmt(abts_suite *suite); 74 abts_suite *testfnmatch(abts_suite *suite); 75 abts_suite *testgetopt(abts_suite *suite); 76 abts_suite *testglobalmutex(abts_suite *suite); 77 abts_suite *testhash(abts_suite *suite); 78 abts_suite *testipsub(abts_suite *suite); 79 abts_suite *testlock(abts_suite *suite); 80 abts_suite *testcond(abts_suite *suite); 81 abts_suite *testlfs(abts_suite *suite); 82 abts_suite *testmmap(abts_suite *suite); 83 abts_suite *testnames(abts_suite *suite); 84 abts_suite *testoc(abts_suite *suite); 85 abts_suite *testpath(abts_suite *suite); 86 abts_suite *testpipe(abts_suite *suite); 87 abts_suite *testpoll(abts_suite *suite); 88 abts_suite *testpool(abts_suite *suite); 89 abts_suite *testproc(abts_suite *suite); 90 abts_suite *testprocmutex(abts_suite *suite); 91 abts_suite *testrand(abts_suite *suite); 92 abts_suite *testsleep(abts_suite *suite); 93 abts_suite *testshm(abts_suite *suite); 94 abts_suite *testsock(abts_suite *suite); 95 abts_suite *testsockets(abts_suite *suite); 96 abts_suite *testsockopt(abts_suite *suite); 97 abts_suite *teststr(abts_suite *suite); 98 abts_suite *teststrnatcmp(abts_suite *suite); 99 abts_suite *testtable(abts_suite *suite); 100 abts_suite *testtemp(abts_suite *suite); 101 abts_suite *testthread(abts_suite *suite); 102 abts_suite *testtime(abts_suite *suite); 103 abts_suite *testud(abts_suite *suite); 104 abts_suite *testuser(abts_suite *suite); 105 abts_suite *testvsn(abts_suite *suite); 106 abts_suite *testskiplist(abts_suite *suite); 107 108 #endif /* APR_TEST_INCLUDES */ 109