summaryrefslogtreecommitdiffstats
path: root/rubbos/app/httpd-2.0.64/srclib/apr/test
diff options
context:
space:
mode:
Diffstat (limited to 'rubbos/app/httpd-2.0.64/srclib/apr/test')
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/CuTest.c475
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/CuTest.h140
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/MakeWin32Make.awk53
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/Makefile123
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/Makefile.in123
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/Makefile.win113
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/NWGNUaprtest287
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/NWGNUmakefile260
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/NWGNUmod_test254
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/NWGNUproc_child252
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/NWGNUtestatmc255
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/README248
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/aprtest.def3
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/aprtest.dsp199
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/aprtest.h52
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/aprtest.win18
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/client.c153
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/data/file_datafile.txt1
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/data/mmap_datafile.txt1
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/internal/Makefile37
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/internal/Makefile.in37
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/internal/testregex.c91
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/internal/testucs.c176
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/mod_test.c32
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/nw_misc.c15
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/occhild.c26
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/proc_child.c21
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/readchild.c46
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/sendfile.c749
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/server.c167
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/test_apr.h68
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/testall.c167
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/testall.dsp253
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/testall.dsw122
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/testapp.c10
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/testapp.dsp90
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/testappnt.dsp101
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/testargs.c236
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/testatomic.c344
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/testdir.c275
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/testdso.c247
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/testdup.c194
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/testenv.c144
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/testfile.c782
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/testfileinfo.c263
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/testflock.c156
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/testfmt.c113
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/testglobalmutex.c158
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/testhash.c403
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/testipsub.c173
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/testlock.c322
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/testlockperf.c282
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/testmmap.c154
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/testmutexscope.c218
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/testnames.c273
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/testoc.c126
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/testpath.c138
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/testpipe.c204
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/testpoll.c526
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/testpools.c108
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/testproc.c178
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/testprocmutex.c147
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/testrand.c46
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/testshm.c293
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/testshmconsumer.c116
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/testshmproducer.c109
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/testsleep.c54
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/testsock.c175
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/testsockets.c174
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/testsockopt.c137
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/teststr.c307
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/testtable.c168
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/testthread.c133
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/testtime.c305
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/testud.c91
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/testuser.c171
-rw-r--r--rubbos/app/httpd-2.0.64/srclib/apr/test/testvsn.c49
77 files changed, 0 insertions, 13710 deletions
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/CuTest.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/CuTest.c
deleted file mode 100644
index 8356b9b2..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/CuTest.c
+++ /dev/null
@@ -1,475 +0,0 @@
-/*
- * Copyright (c) 2002-2006 Asim Jalis
- *
- * This library is released under the zlib/libpng license as described at
- *
- * http://www.opensource.org/licenses/zlib-license.html
- *
- * Here is the statement of the license:
- *
- * This software is provided 'as-is', without any express or implied warranty.
- * In no event will the authors be held liable for any damages arising from
- * the use of this software.
- *
- * Permission is granted to anyone to use this software for any purpose,
- * including commercial applications, and to alter it and redistribute it
- * freely, subject to the following restrictions:
- *
- * 1. The origin of this software must not be misrepresented; you must not
- * claim that you wrote the original software. If you use this software in a
- * product, an acknowledgment in the product documentation would be
- * appreciated but is not required.
- *
- * 2. Altered source versions must be plainly marked as such, and must not be
- * misrepresented as being the original software.
- *
- * 3. This notice may not be removed or altered from any source distribution.
- */
-/*
- * This file has been modified from the original distribution.
- */
-
-#include <assert.h>
-#include <setjmp.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-
-#include "CuTest.h"
-
-static int verbose = 0;
-
-void CuInit(int argc, char *argv[])
-{
- int i;
-
- /* Windows doesn't have getopt, so we have to fake it. We can't use
- * apr_getopt, because CuTest is meant to be a stand-alone test suite
- */
- for (i = 0; i < argc; i++) {
- if (!strcmp(argv[i], "-v")) {
- verbose = 1;
- }
- }
-}
-
-/*-------------------------------------------------------------------------*
- * CuStr
- *-------------------------------------------------------------------------*/
-
-char* CuStrAlloc(int size)
-{
- char* new = (char*) malloc( sizeof(char) * (size) );
- return new;
-}
-
-char* CuStrCopy(const char* old)
-{
- int len = strlen(old);
- char* new = CuStrAlloc(len + 1);
- strcpy(new, old);
- return new;
-}
-
-/*-------------------------------------------------------------------------*
- * CuString
- *-------------------------------------------------------------------------*/
-
-void CuStringInit(CuString* str)
-{
- str->length = 0;
- str->size = STRING_MAX;
- str->buffer = (char*) malloc(sizeof(char) * str->size);
- str->buffer[0] = '\0';
-}
-
-CuString* CuStringNew(void)
-{
- CuString* str = (CuString*) malloc(sizeof(CuString));
- str->length = 0;
- str->size = STRING_MAX;
- str->buffer = (char*) malloc(sizeof(char) * str->size);
- str->buffer[0] = '\0';
- return str;
-}
-
-void CuStringResize(CuString* str, int newSize)
-{
- str->buffer = (char*) realloc(str->buffer, sizeof(char) * newSize);
- str->size = newSize;
-}
-
-void CuStringAppend(CuString* str, const char* text)
-{
- int length = strlen(text);
- if (str->length + length + 1 >= str->size)
- CuStringResize(str, str->length + length + 1 + STRING_INC);
- str->length += length;
- strcat(str->buffer, text);
-}
-
-void CuStringAppendChar(CuString* str, char ch)
-{
- char text[2];
- text[0] = ch;
- text[1] = '\0';
- CuStringAppend(str, text);
-}
-
-void CuStringAppendFormat(CuString* str, const char* format, ...)
-{
- va_list argp;
- char buf[HUGE_STRING_LEN];
- va_start(argp, format);
- vsprintf(buf, format, argp);
- va_end(argp);
- CuStringAppend(str, buf);
-}
-
-void CuStringRead(CuString *str, char *path)
-{
- path = strdup(str->buffer);
-}
-
-/*-------------------------------------------------------------------------*
- * CuTest
- *-------------------------------------------------------------------------*/
-
-void CuTestInit(CuTest* t, char* name, TestFunction function)
-{
- t->name = CuStrCopy(name);
- t->notimpl = 0;
- t->failed = 0;
- t->ran = 0;
- t->message = NULL;
- t->function = function;
- t->jumpBuf = NULL;
-}
-
-CuTest* CuTestNew(char* name, TestFunction function)
-{
- CuTest* tc = CU_ALLOC(CuTest);
- CuTestInit(tc, name, function);
- return tc;
-}
-
-void CuNotImpl(CuTest* tc, const char* message)
-{
- CuString* newstr = CuStringNew();
- CuStringAppend(newstr, message);
- CuStringAppend(newstr, " not implemented on this platform");
- tc->notimpl = 1;
- tc->message = CuStrCopy(newstr->buffer);
- if (tc->jumpBuf != 0) longjmp(*(tc->jumpBuf), 0);
-}
-
-void CuFail(CuTest* tc, const char* message)
-{
- tc->failed = 1;
- tc->message = CuStrCopy(message);
- if (tc->jumpBuf != 0) longjmp(*(tc->jumpBuf), 0);
-}
-
-void CuAssert(CuTest* tc, const char* message, int condition)
-{
- if (condition) return;
- CuFail(tc, message);
-}
-
-void CuAssertTrue(CuTest* tc, int condition)
-{
- if (condition) return;
- CuFail(tc, "assert failed");
-}
-
-void CuAssertStrNEquals(CuTest* tc, const char* expected, const char* actual,
- int n)
-{
- CuString* message;
- if (strncmp(expected, actual, n) == 0) return;
- message = CuStringNew();
- CuStringAppend(message, "expected\n---->\n");
- CuStringAppend(message, expected);
- CuStringAppend(message, "\n<----\nbut saw\n---->\n");
- CuStringAppend(message, actual);
- CuStringAppend(message, "\n<----");
- CuFail(tc, message->buffer);
-}
-
-void CuAssertStrEquals(CuTest* tc, const char* expected, const char* actual)
-{
- CuString* message;
- if (strcmp(expected, actual) == 0) return;
- message = CuStringNew();
- CuStringAppend(message, "expected\n---->\n");
- CuStringAppend(message, expected);
- CuStringAppend(message, "\n<----\nbut saw\n---->\n");
- CuStringAppend(message, actual);
- CuStringAppend(message, "\n<----");
- CuFail(tc, message->buffer);
-}
-
-void CuAssertIntEquals(CuTest* tc, int expected, int actual)
-{
- char buf[STRING_MAX];
- if (expected == actual) return;
- sprintf(buf, "expected <%d> but was <%d>", expected, actual);
- CuFail(tc, buf);
-}
-
-void CuAssertPtrEquals(CuTest* tc, const void* expected, const void* actual)
-{
- char buf[STRING_MAX];
- if (expected == actual) return;
- sprintf(buf, "expected pointer <%p> but was <%p>", expected, actual);
- CuFail(tc, buf);
-}
-
-void CuAssertPtrNotNull(CuTest* tc, const void* pointer)
-{
- char buf[STRING_MAX];
- if (pointer != NULL ) return;
- sprintf(buf, "null pointer unexpected, but was <%p>", pointer);
- CuFail(tc, buf);
-}
-
-void CuTestRun(CuTest* tc)
-{
- jmp_buf buf;
- tc->jumpBuf = &buf;
- if (setjmp(buf) == 0)
- {
- tc->ran = 1;
- (tc->function)(tc);
- }
- tc->jumpBuf = 0;
-}
-
-/*-------------------------------------------------------------------------*
- * CuSuite
- *-------------------------------------------------------------------------*/
-
-void CuSuiteInit(CuSuite* testSuite, char *name)
-{
- testSuite->name = strdup(name);
- testSuite->count = 0;
- testSuite->failCount = 0;
- testSuite->notimplCount = 0;
-}
-
-CuSuite* CuSuiteNew(char *name)
-{
- CuSuite* testSuite = CU_ALLOC(CuSuite);
- CuSuiteInit(testSuite, name);
- return testSuite;
-}
-
-void CuSuiteAdd(CuSuite* testSuite, CuTest *testCase)
-{
- assert(testSuite->count < MAX_TEST_CASES);
- testSuite->list[testSuite->count] = testCase;
- testSuite->count++;
-}
-
-void CuSuiteAddSuite(CuSuite* testSuite, CuSuite* testSuite2)
-{
- int i;
- for (i = 0 ; i < testSuite2->count ; ++i)
- {
- CuTest* testCase = testSuite2->list[i];
- CuSuiteAdd(testSuite, testCase);
- }
-}
-
-void CuSuiteRun(CuSuite* testSuite)
-{
- int i;
- for (i = 0 ; i < testSuite->count ; ++i)
- {
- CuTest* testCase = testSuite->list[i];
- CuTestRun(testCase);
- if (testCase->failed) { testSuite->failCount += 1; }
- if (testCase->notimpl) { testSuite->notimplCount += 1; }
- }
-}
-
-void CuSuiteSummary(CuSuite* testSuite, CuString* summary)
-{
- int i;
- for (i = 0 ; i < testSuite->count ; ++i)
- {
- CuTest* testCase = testSuite->list[i];
- CuStringAppend(summary, testCase->failed ? "F" :
- testCase->notimpl ? "N": ".");
- }
- CuStringAppend(summary, "\n");
-}
-
-void CuSuiteOverView(CuSuite* testSuite, CuString* details)
-{
- CuStringAppendFormat(details, "%d %s run: %d passed, %d failed, "
- "%d not implemented.\n",
- testSuite->count,
- testSuite->count == 1 ? "test" : "tests",
- testSuite->count - testSuite->failCount -
- testSuite->notimplCount,
- testSuite->failCount, testSuite->notimplCount);
-}
-
-void CuSuiteDetails(CuSuite* testSuite, CuString* details)
-{
- int i;
- int failCount = 0;
-
- if (testSuite->failCount != 0 && verbose)
- {
- CuStringAppendFormat(details, "\nFailed tests in %s:\n", testSuite->name);
- for (i = 0 ; i < testSuite->count ; ++i)
- {
- CuTest* testCase = testSuite->list[i];
- if (testCase->failed)
- {
- failCount++;
- CuStringAppendFormat(details, "%d) %s: %s\n",
- failCount, testCase->name, testCase->message);
- }
- }
- }
- if (testSuite->notimplCount != 0 && verbose)
- {
- CuStringAppendFormat(details, "\nNot Implemented tests in %s:\n", testSuite->name);
- for (i = 0 ; i < testSuite->count ; ++i)
- {
- CuTest* testCase = testSuite->list[i];
- if (testCase->notimpl)
- {
- failCount++;
- CuStringAppendFormat(details, "%d) %s: %s\n",
- failCount, testCase->name, testCase->message);
- }
- }
- }
-}
-
-/*-------------------------------------------------------------------------*
- * CuSuiteList
- *-------------------------------------------------------------------------*/
-
-CuSuiteList* CuSuiteListNew(char *name)
-{
- CuSuiteList* testSuite = CU_ALLOC(CuSuiteList);
- testSuite->name = strdup(name);
- testSuite->count = 0;
- return testSuite;
-}
-
-void CuSuiteListAdd(CuSuiteList *suites, CuSuite *origsuite)
-{
- assert(suites->count < MAX_TEST_CASES);
- suites->list[suites->count] = origsuite;
- suites->count++;
-}
-
-void CuSuiteListRun(CuSuiteList* testSuite)
-{
- int i;
- for (i = 0 ; i < testSuite->count ; ++i)
- {
- CuSuite* testCase = testSuite->list[i];
- CuSuiteRun(testCase);
- }
-}
-
-static const char *genspaces(int i)
-{
- char *str = malloc((i + 1) * sizeof(char));
- memset(str, ' ', i);
- str[i] = '\0';
- return str;
-}
-
-void CuSuiteListRunWithSummary(CuSuiteList* testSuite)
-{
- int i;
-
- printf("%s:\n", testSuite->name);
- for (i = 0 ; i < testSuite->count ; ++i)
- {
- CuSuite* testCase = testSuite->list[i];
- CuString *str = CuStringNew();
-
- printf(" %s:%s", testCase->name,
- genspaces(21 - strlen(testCase->name)));
- fflush(stdout);
- CuSuiteRun(testCase);
- CuSuiteSummary(testCase, str);
- printf(" %s", str->buffer);
-
- }
- printf("\n");
-}
-
-void CuSuiteListSummary(CuSuiteList* testSuite, CuString* summary)
-{
- int i;
- CuStringAppendFormat(summary, "%s:\n", testSuite->name);
- for (i = 0 ; i < testSuite->count ; ++i)
- {
- CuSuite* testCase = testSuite->list[i];
- CuString *str = CuStringNew();
- CuSuiteSummary(testCase, str);
- CuStringAppend(summary, " ");
- CuStringAppend(summary, str->buffer);
- }
- CuStringAppend(summary, "\n");
-}
-
-int CuSuiteListDetails(CuSuiteList* testSuite, CuString* details)
-{
- int i;
- int failCount = 0;
- int notImplCount = 0;
- int count = 0;
-
- for (i = 0 ; i < testSuite->count ; ++i)
- {
- failCount += testSuite->list[i]->failCount;
- notImplCount += testSuite->list[i]->notimplCount;
- count += testSuite->list[i]->count;
- }
- CuStringAppendFormat(details, "%d %s run: %d passed, %d failed, "
- "%d not implemented.\n",
- count,
- count == 1 ? "test" : "tests",
- count - failCount - notImplCount,
- failCount, notImplCount);
-
- if (failCount != 0 && verbose)
- {
- for (i = 0 ; i < testSuite->count ; ++i)
- {
- CuString *str = CuStringNew();
- CuSuite* testCase = testSuite->list[i];
- if (testCase->failCount)
- {
- CuSuiteDetails(testCase, str);
- CuStringAppend(details, str->buffer);
- }
- }
- }
- if (notImplCount != 0 && verbose)
- {
- for (i = 0 ; i < testSuite->count ; ++i)
- {
- CuString *str = CuStringNew();
- CuSuite* testCase = testSuite->list[i];
- if (testCase->notimplCount)
- {
- CuSuiteDetails(testCase, str);
- CuStringAppend(details, str->buffer);
- }
- }
- }
- return failCount;
-}
-
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/CuTest.h b/rubbos/app/httpd-2.0.64/srclib/apr/test/CuTest.h
deleted file mode 100644
index e607d3ac..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/CuTest.h
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * Copyright (c) 2002-2006 Asim Jalis
- *
- * This library is released under the zlib/libpng license as described at
- *
- * http://www.opensource.org/licenses/zlib-license.html
- *
- * Here is the statement of the license:
- *
- * This software is provided 'as-is', without any express or implied warranty.
- * In no event will the authors be held liable for any damages arising from
- * the use of this software.
- *
- * Permission is granted to anyone to use this software for any purpose,
- * including commercial applications, and to alter it and redistribute it
- * freely, subject to the following restrictions:
- *
- * 1. The origin of this software must not be misrepresented; you must not
- * claim that you wrote the original software. If you use this software in a
- * product, an acknowledgment in the product documentation would be
- * appreciated but is not required.
- *
- * 2. Altered source versions must be plainly marked as such, and must not be
- * misrepresented as being the original software.
- *
- * 3. This notice may not be removed or altered from any source distribution.
- */
-/*
- * This file has been modified from the original distribution.
- */
-
-#ifndef CU_TEST_H
-#define CU_TEST_H
-
-#include <setjmp.h>
-#include <stdarg.h>
-
-/* CuString */
-
-char* CuStrAlloc(int size);
-char* CuStrCopy(const char* old);
-
-#define CU_ALLOC(TYPE) ((TYPE*) malloc(sizeof(TYPE)))
-
-#define HUGE_STRING_LEN 8192
-#define STRING_MAX 256
-#define STRING_INC 256
-
-typedef struct
-{
- int length;
- int size;
- char* buffer;
-} CuString;
-
-void CuStringInit(CuString* str);
-CuString* CuStringNew(void);
-void CuStringRead(CuString* str, char* path);
-void CuStringAppend(CuString* str, const char* text);
-void CuStringAppendChar(CuString* str, char ch);
-void CuStringAppendFormat(CuString* str, const char* format, ...);
-void CuStringResize(CuString* str, int newSize);
-
-/* CuTest */
-
-typedef struct CuTest CuTest;
-
-typedef void (*TestFunction)(CuTest *);
-
-struct CuTest
-{
- char* name;
- TestFunction function;
- int notimpl;
- int failed;
- int ran;
- char* message;
- jmp_buf *jumpBuf;
-};
-
-void CuInit(int argc, char *argv[]);
-void CuTestInit(CuTest* t, char* name, TestFunction function);
-CuTest* CuTestNew(char* name, TestFunction function);
-void CuFail(CuTest* tc, const char* message);
-void CuNotImpl(CuTest* tc, const char* message);
-void CuAssert(CuTest* tc, const char* message, int condition);
-void CuAssertTrue(CuTest* tc, int condition);
-void CuAssertStrEquals(CuTest* tc, const char* expected, const char* actual);
-void CuAssertStrNEquals(CuTest* tc, const char* expected, const char* actual,
- int n);
-void CuAssertIntEquals(CuTest* tc, int expected, int actual);
-void CuAssertPtrEquals(CuTest* tc, const void* expected, const void* actual);
-void CuAssertPtrNotNull(CuTest* tc, const void* pointer);
-
-void CuTestRun(CuTest* tc);
-
-/* CuSuite */
-
-#define MAX_TEST_CASES 1024
-
-#define SUITE_ADD_TEST(SUITE,TEST) CuSuiteAdd(SUITE, CuTestNew(#TEST, TEST))
-
-typedef struct
-{
- char *name;
- int count;
- CuTest* list[MAX_TEST_CASES];
- int failCount;
- int notimplCount;
-
-} CuSuite;
-
-
-void CuSuiteInit(CuSuite* testSuite, char* name);
-CuSuite* CuSuiteNew(char* name);
-void CuSuiteAdd(CuSuite* testSuite, CuTest *testCase);
-void CuSuiteAddSuite(CuSuite* testSuite, CuSuite* testSuite2);
-void CuSuiteRun(CuSuite* testSuite);
-void CuSuiteSummary(CuSuite* testSuite, CuString* summary);
-void CuSuiteOverView(CuSuite* testSuite, CuString* details);
-void CuSuiteDetails(CuSuite* testSuite, CuString* details);
-
-typedef struct
-{
- char *name;
- int count;
- CuSuite* list[MAX_TEST_CASES];
-} CuSuiteList;
-
-
-CuSuiteList* CuSuiteListNew(char* name);
-void CuSuiteListAdd(CuSuiteList* testSuite, CuSuite *testCase);
-void CuSuiteListRun(CuSuiteList* testSuite);
-void CuSuiteListRunWithSummary(CuSuiteList* testSuite);
-void CuSuiteListSummary(CuSuiteList* testSuite, CuString* summary);
-/* Print details of test suite results; returns total number of
- * tests which failed. */
-int CuSuiteListDetails(CuSuiteList* testSuite, CuString* details);
-#endif /* CU_TEST_H */
-
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/MakeWin32Make.awk b/rubbos/app/httpd-2.0.64/srclib/apr/test/MakeWin32Make.awk
deleted file mode 100644
index c5529f8f..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/MakeWin32Make.awk
+++ /dev/null
@@ -1,53 +0,0 @@
-{
-
- if (match($0, /\@INCLUDE_RULES\@/ ) ) {
- print "ALL: \$(TARGETS)";
- print "";
- print "CL = cl.exe";
- print "LINK = link.exe /nologo /debug /machine:I386 /subsystem:console /incremental:no ";
- print "";
- print "CFLAGS = /nologo /c /MDd /W3 /Gm /GX /Zi /Od /D _DEBUG /D WIN32 /D APR_DECLARE_STATIC /FD ";
- print "";
- print ".c.obj::";
- $0 = "\t\$(CL) -c \$< \$(CFLAGS) \$(INCLUDES)";
- }
- if ( match( $0, /^ALL_LIBS=/ ) ) {
- $0 = "";
- }
- if ( match( $0, /^LOCAL_LIBS=/ ) ) {
- print "LOCAL_LIBS= ../LibD/apr.lib ";
- print "ALL_LIBS= kernel32\.lib user32\.lib advapi32\.lib Rpcrt4\.lib ws2_32\.lib wsock32\.lib ole32\.lib ";
- $0 = ""
- }
- if ( match( $0, /\@CFLAGS\@/ ) ) {
- $0 = "";
- }
- gsub( /\$\([^\)]* [^\)]*\)/, "", $0 );
- gsub( /\$\{LD_FLAGS\}/, "", $0 );
- gsub( /\.\.\/libapr\.la/, "../LibD/apr.lib", $0 );
- gsub( /\@RM\@/, "del", $0 );
- if (gsub( /\$\(RM\) -f/, "del" ) ) {
- gsub( /\*\.a/, "*.lib *.exp *.idb *.ilk *.pdb", $0 );
- gsub( /Makefile/, "Makefile *.ncb *.opt", $0 );
- }
- gsub( /\@CC\@/, "cl", $0);
- gsub( /\@RANLIB\@/, "", $0);
- gsub( /-I\$\(INCDIR\)/, "/I \"$(INCDIR)\"", $0);
-
- gsub( /\.\.\/libapr\.a/, "../LibD/apr.lib", $0 );
- if ( gsub( /\@EXEEXT\@/, ".exe", $0 ) ) {
- gsub( /\$\(CC\) \$\(CFLAGS\)/, "\$\(LINK\) /subsystem:console", $0 );
- gsub( /-o (\S+)/, "/out:\"$1\"", $0 );
- gsub( /--export-dynamic /, "", $0 );
- gsub( /-fPIC /, "", $0 );
- }
- if ( gsub( /-shared/, "/subsystem:windows /dll", $0 ) ) {
- gsub( /-o (\S+)/ "/out:\"$1\"", $0 );
- }
- gsub( /\$\(NONPORTABLE\)/, "", $0 );
- gsub( /\.a /, ".lib ", $0 );
- gsub( /\.o /, ".obj ", $0 );
- gsub( /\.lo /, ".obj ", $0 );
-
- print $0;
-}
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/Makefile b/rubbos/app/httpd-2.0.64/srclib/apr/test/Makefile
deleted file mode 100644
index bb66cf89..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/Makefile
+++ /dev/null
@@ -1,123 +0,0 @@
-srcdir = .
-
-
-# PROGRAMS includes all test programs built on this platform.
-# STDTEST_PORTABLE
-# test programs invoked via standard user interface, run on all platforms
-# STDTEST_NONPORTABLE
-# test programs invoked via standard user interface, not portable
-# OTHER_PROGRAMS
-# programs such as sendfile, that have to be invoked in a special sequence
-# or with special parameters
-
-STDTEST_PORTABLE = \
- testflock \
- testsock \
- testlockperf \
- testatomic \
- testmutexscope \
- testall
-
-STDTEST_NONPORTABLE = \
- testshm \
- testglobalmutex
-
-OTHER_PROGRAMS = client sendfile \
- server
-
-PROGRAMS = $(STDTEST_PORTABLE) $(STDTEST_NONPORTABLE) $(OTHER_PROGRAMS)
-
-TARGETS = $(PROGRAMS)
-
-# bring in rules.mk for standard functionality
-include /bottlenecks/rubbos/app/httpd-2.0.64/srclib/apr/build/apr_rules.mk
-
-LOCAL_LIBS=../libapr-${APR_MAJOR_VERSION}.la
-
-CLEAN_TARGETS = testfile.tmp mod_test.slo proc_child occhild \
-readchild
-
-INCDIR=../include
-INCLUDES=-I$(INCDIR)
-
-check: $(STDTEST_PORTABLE) $(STDTEST_NONPORTABLE)
- for prog in $(STDTEST_PORTABLE) $(STDTEST_NONPORTABLE); do \
- ./$$prog; \
- if test $$? = 255; then \
- echo "$$prog failed"; \
- break; \
- fi; \
- done
-
-testflock: testflock.lo $(LOCAL_LIBS)
- $(LINK) testflock.lo $(LOCAL_LIBS) $(ALL_LIBS)
-
-occhild: occhild.lo $(LOCAL_LIBS)
- $(LINK) occhild.lo $(LOCAL_LIBS) $(ALL_LIBS)
-
-readchild: readchild.lo $(LOCAL_LIBS)
- $(LINK) readchild.lo $(LOCAL_LIBS) $(ALL_LIBS)
-
-proc_child: proc_child.lo $(LOCAL_LIBS)
- $(LINK) proc_child.lo $(LOCAL_LIBS) $(ALL_LIBS)
-
-# FIXME: -prefer-pic is only supported with libtool-1.4+
-mod_test.slo: $(srcdir)/mod_test.c
- $(LIBTOOL) --mode=compile $(COMPILE) -prefer-pic -c $(srcdir)/mod_test.c && touch $@
-
-mod_test.la: mod_test.slo $(LOCAL_LIBS)
- $(LIBTOOL) --mode=link $(COMPILE) -rpath `pwd` -avoid-version -module mod_test.lo $(LT_LDFLAGS) $(ALL_LDFLAGS) -o $@
-
-libmod_test.la: mod_test.slo $(LOCAL_LIBS)
- $(LIBTOOL) --mode=link $(COMPILE) -rpath `pwd` -avoid-version mod_test.lo $(LT_LDFLAGS) $(ALL_LDFLAGS) -o $@
-
-testlockperf: testlockperf.lo $(LOCAL_LIBS)
- $(LINK) testlockperf.lo $(LOCAL_LIBS) $(ALL_LIBS)
-
-testsock: testsock.lo client server sendfile $(LOCAL_LIBS)
- $(LINK) testsock.lo $(LOCAL_LIBS) $(ALL_LIBS)
-
-client: client.lo $(LOCAL_LIBS)
- $(LINK) client.lo $(LOCAL_LIBS) $(ALL_LIBS)
-
-server: server.lo $(LOCAL_LIBS)
- $(LINK) server.lo $(LOCAL_LIBS) $(ALL_LIBS)
-
-sendfile: sendfile.lo $(LOCAL_LIBS)
- $(LINK) sendfile.lo $(LOCAL_LIBS) $(ALL_LIBS)
-
-testshm: testshm.lo $(LOCAL_LIBS) testshmproducer testshmconsumer
- $(LINK) testshm.lo $(LOCAL_LIBS) $(ALL_LIBS)
-
-testshmproducer: testshmproducer.lo $(LOCAL_LIBS)
- $(LINK) testshmproducer.lo $(LOCAL_LIBS) $(ALL_LIBS)
-
-testshmconsumer: testshmconsumer.lo $(LOCAL_LIBS)
- $(LINK) testshmconsumer.lo $(LOCAL_LIBS) $(ALL_LIBS)
-
-testprocmutex: testprocmutex.lo $(LOCAL_LIBS)
- $(LINK) testprocmutex.lo $(LOCAL_LIBS) $(ALL_LIBS)
-
-testglobalmutex: testglobalmutex.lo $(LOCAL_LIBS)
- $(LINK) testglobalmutex.lo $(LOCAL_LIBS) $(ALL_LIBS)
-
-testatomic: testatomic.lo $(LOCAL_LIBS)
- $(LINK) testatomic.lo $(LOCAL_LIBS) $(ALL_LIBS)
-
-testmutexscope: testmutexscope.lo $(LOCAL_LIBS)
- $(LINK) testmutexscope.lo $(LOCAL_LIBS) $(ALL_LIBS)
-
-TESTS = testall.lo testtime.lo teststr.lo testvsn.lo testipsub.lo \
- testmmap.lo testud.lo testtable.lo testsleep.lo testpools.lo \
- testfmt.lo testfile.lo testdir.lo testfileinfo.lo testrand.lo \
- testdso.lo testoc.lo testdup.lo testsockets.lo testproc.lo \
- testpoll.lo testlock.lo testsockopt.lo testpipe.lo testthread.lo \
- testhash.lo testargs.lo testnames.lo testuser.lo testpath.lo \
- testenv.lo testprocmutex.lo
-
-testall: $(TESTS) mod_test.la libmod_test.la occhild \
- readchild CuTest.lo proc_child $(LOCAL_LIBS)
- $(LINK) $(TESTS) CuTest.lo $(LOCAL_LIBS) $(ALL_LIBS)
-
-
-# DO NOT REMOVE
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/Makefile.in b/rubbos/app/httpd-2.0.64/srclib/apr/test/Makefile.in
deleted file mode 100644
index 1f7d047e..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/Makefile.in
+++ /dev/null
@@ -1,123 +0,0 @@
-srcdir = @srcdir@
-VPATH = @srcdir@
-
-# PROGRAMS includes all test programs built on this platform.
-# STDTEST_PORTABLE
-# test programs invoked via standard user interface, run on all platforms
-# STDTEST_NONPORTABLE
-# test programs invoked via standard user interface, not portable
-# OTHER_PROGRAMS
-# programs such as sendfile, that have to be invoked in a special sequence
-# or with special parameters
-
-STDTEST_PORTABLE = \
- testflock@EXEEXT@ \
- testsock@EXEEXT@ \
- testlockperf@EXEEXT@ \
- testatomic@EXEEXT@ \
- testmutexscope@EXEEXT@ \
- testall@EXEEXT@
-
-STDTEST_NONPORTABLE = \
- testshm@EXEEXT@ \
- testglobalmutex@EXEEXT@
-
-OTHER_PROGRAMS = client@EXEEXT@ sendfile@EXEEXT@ \
- server@EXEEXT@
-
-PROGRAMS = $(STDTEST_PORTABLE) $(STDTEST_NONPORTABLE) $(OTHER_PROGRAMS)
-
-TARGETS = $(PROGRAMS)
-
-# bring in rules.mk for standard functionality
-@INCLUDE_RULES@
-
-LOCAL_LIBS=../lib@APR_LIBNAME@.la
-
-CLEAN_TARGETS = testfile.tmp mod_test.slo proc_child@EXEEXT@ occhild@EXEEXT@ \
-readchild@EXEEXT@
-
-INCDIR=../include
-INCLUDES=-I$(INCDIR)
-
-check: $(STDTEST_PORTABLE) $(STDTEST_NONPORTABLE)
- for prog in $(STDTEST_PORTABLE) $(STDTEST_NONPORTABLE); do \
- ./$$prog; \
- if test $$? = 255; then \
- echo "$$prog failed"; \
- break; \
- fi; \
- done
-
-testflock@EXEEXT@: testflock.lo $(LOCAL_LIBS)
- $(LINK) testflock.lo $(LOCAL_LIBS) $(ALL_LIBS)
-
-occhild@EXEEXT@: occhild.lo $(LOCAL_LIBS)
- $(LINK) occhild.lo $(LOCAL_LIBS) $(ALL_LIBS)
-
-readchild@EXEEXT@: readchild.lo $(LOCAL_LIBS)
- $(LINK) readchild.lo $(LOCAL_LIBS) $(ALL_LIBS)
-
-proc_child@EXEEXT@: proc_child.lo $(LOCAL_LIBS)
- $(LINK) proc_child.lo $(LOCAL_LIBS) $(ALL_LIBS)
-
-# FIXME: -prefer-pic is only supported with libtool-1.4+
-mod_test.slo: $(srcdir)/mod_test.c
- $(LIBTOOL) --mode=compile $(COMPILE) -prefer-pic -c $(srcdir)/mod_test.c && touch $@
-
-mod_test.la: mod_test.slo $(LOCAL_LIBS)
- $(LIBTOOL) --mode=link $(COMPILE) -rpath `pwd` -avoid-version -module mod_test.lo $(LT_LDFLAGS) $(ALL_LDFLAGS) -o $@
-
-libmod_test.la: mod_test.slo $(LOCAL_LIBS)
- $(LIBTOOL) --mode=link $(COMPILE) -rpath `pwd` -avoid-version mod_test.lo $(LT_LDFLAGS) $(ALL_LDFLAGS) -o $@
-
-testlockperf@EXEEXT@: testlockperf.lo $(LOCAL_LIBS)
- $(LINK) testlockperf.lo $(LOCAL_LIBS) $(ALL_LIBS)
-
-testsock@EXEEXT@: testsock.lo client@EXEEXT@ server@EXEEXT@ sendfile@EXEEXT@ $(LOCAL_LIBS)
- $(LINK) testsock.lo $(LOCAL_LIBS) $(ALL_LIBS)
-
-client@EXEEXT@: client.lo $(LOCAL_LIBS)
- $(LINK) client.lo $(LOCAL_LIBS) $(ALL_LIBS)
-
-server@EXEEXT@: server.lo $(LOCAL_LIBS)
- $(LINK) server.lo $(LOCAL_LIBS) $(ALL_LIBS)
-
-sendfile@EXEEXT@: sendfile.lo $(LOCAL_LIBS)
- $(LINK) sendfile.lo $(LOCAL_LIBS) $(ALL_LIBS)
-
-testshm@EXEEXT@: testshm.lo $(LOCAL_LIBS) testshmproducer@EXEEXT@ testshmconsumer@EXEEXT@
- $(LINK) testshm.lo $(LOCAL_LIBS) $(ALL_LIBS)
-
-testshmproducer@EXEEXT@: testshmproducer.lo $(LOCAL_LIBS)
- $(LINK) testshmproducer.lo $(LOCAL_LIBS) $(ALL_LIBS)
-
-testshmconsumer@EXEEXT@: testshmconsumer.lo $(LOCAL_LIBS)
- $(LINK) testshmconsumer.lo $(LOCAL_LIBS) $(ALL_LIBS)
-
-testprocmutex@EXEEXT@: testprocmutex.lo $(LOCAL_LIBS)
- $(LINK) testprocmutex.lo $(LOCAL_LIBS) $(ALL_LIBS)
-
-testglobalmutex@EXEEXT@: testglobalmutex.lo $(LOCAL_LIBS)
- $(LINK) testglobalmutex.lo $(LOCAL_LIBS) $(ALL_LIBS)
-
-testatomic@EXEEXT@: testatomic.lo $(LOCAL_LIBS)
- $(LINK) testatomic.lo $(LOCAL_LIBS) $(ALL_LIBS)
-
-testmutexscope@EXEEXT@: testmutexscope.lo $(LOCAL_LIBS)
- $(LINK) testmutexscope.lo $(LOCAL_LIBS) $(ALL_LIBS)
-
-TESTS = testall.lo testtime.lo teststr.lo testvsn.lo testipsub.lo \
- testmmap.lo testud.lo testtable.lo testsleep.lo testpools.lo \
- testfmt.lo testfile.lo testdir.lo testfileinfo.lo testrand.lo \
- testdso.lo testoc.lo testdup.lo testsockets.lo testproc.lo \
- testpoll.lo testlock.lo testsockopt.lo testpipe.lo testthread.lo \
- testhash.lo testargs.lo testnames.lo testuser.lo testpath.lo \
- testenv.lo testprocmutex.lo
-
-testall: $(TESTS) mod_test.la libmod_test.la occhild@EXEEXT@ \
- readchild@EXEEXT@ CuTest.lo proc_child@EXEEXT@ $(LOCAL_LIBS)
- $(LINK) $(TESTS) CuTest.lo $(LOCAL_LIBS) $(ALL_LIBS)
-
-
-# DO NOT REMOVE
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/Makefile.win b/rubbos/app/httpd-2.0.64/srclib/apr/test/Makefile.win
deleted file mode 100644
index bdedc4d4..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/Makefile.win
+++ /dev/null
@@ -1,113 +0,0 @@
-
-LINK=link /nologo
-
-NONPORTABLE = \
- testshm.exe \
- testglobalmutex.exe
-
-PROGRAMS = \
- client.exe \
- sendfile.exe \
- server.exe \
- proc_child.exe \
- occhild.exe \
- readchild.exe \
- testflock.exe \
- testsock.exe \
- testlockperf.exe \
- testshmproducer.exe \
- testshmconsumer.exe \
- testatomic.exe \
- testmutexscope.exe \
- testall.exe \
- mod_test.so
-
-
-TARGETS = $(PROGRAMS)
-
-LOCAL_LIBS=..\LibD\apr.lib
-ALL_LIBS=kernel32.lib advapi32.lib ws2_32.lib mswsock.lib ole32.lib shell32.lib rpcrt4.lib
-
-CLEAN_TARGETS = mod_test.lib mod_test.exp
-
-INCDIR=../include
-INCLUDES=/I "$(INCDIR)"
-
-all: $(TARGETS)
-
-clean:
- -del $(CLEAN_TARGETS) $(PROGRAMS) *.obj *.pdb *.ilk 2>NUL
-
-.c.obj:
- cl /nologo /c /MDd /W3 /EHsc /Zi /Od /DWIN32 /D_DEBUG /D_WINDOWS /DAPR_DECLARE_STATIC $(INCLUDES) $<
-
-testflock.exe: testflock.obj $(LOCAL_LIBS)
- $(LINK) testflock.obj $(LOCAL_LIBS) $(ALL_LIBS)
-
-occhild.exe: occhild.obj $(LOCAL_LIBS)
- $(LINK) occhild.obj $(LOCAL_LIBS) $(ALL_LIBS)
-
-readchild.exe: readchild.obj $(LOCAL_LIBS)
- $(LINK) readchild.obj $(LOCAL_LIBS) $(ALL_LIBS)
-
-proc_child.exe: proc_child.obj $(LOCAL_LIBS)
- $(LINK) /debug /subsystem:console \
- proc_child.obj $(LOCAL_LIBS) $(ALL_LIBS)
-
-# FIXME: This is BS ... we should deal with namespace decoration within the
-# apr_dso_sym() function or within the test (take y'r pick) since many platforms
-# have decoration and decoration issues.
-mod_test.so: mod_test.obj
- $(LINK) mod_test.obj /dll /out:mod_test.so $(LOCAL_LIBS) $(ALL_LIBS) \
- /export:print_hello /export:count_reps
-
-testlockperf.exe: testlockperf.obj $(LOCAL_LIBS)
- $(LINK) testlockperf.obj $(LOCAL_LIBS) $(ALL_LIBS)
-
-testsock.exe: testsock.obj client.exe server.exe sendfile.exe $(LOCAL_LIBS)
- $(LINK) testsock.obj $(LOCAL_LIBS) $(ALL_LIBS)
-
-client.exe: client.obj $(LOCAL_LIBS)
- $(LINK) client.obj $(LOCAL_LIBS) $(ALL_LIBS)
-
-server.exe: server.obj $(LOCAL_LIBS)
- $(LINK) server.obj $(LOCAL_LIBS) $(ALL_LIBS)
-
-sendfile.exe: sendfile.obj $(LOCAL_LIBS)
- $(LINK) sendfile.obj $(LOCAL_LIBS) $(ALL_LIBS)
-
-testshm.exe: testshm.obj $(LOCAL_LIBS) testshmproducer.exe testshmconsumer.exe
- $(LINK) testshm.obj $(LOCAL_LIBS) $(ALL_LIBS)
-
-testshmproducer.exe: testshmproducer.obj $(LOCAL_LIBS)
- $(LINK) testshmproducer.obj $(LOCAL_LIBS) $(ALL_LIBS)
-
-testshmconsumer.exe: testshmconsumer.obj $(LOCAL_LIBS)
- $(LINK) testshmconsumer.obj $(LOCAL_LIBS) $(ALL_LIBS)
-
-testprocmutex.exe: testprocmutex.obj $(LOCAL_LIBS)
- $(LINK) testprocmutex.obj $(LOCAL_LIBS) $(ALL_LIBS)
-
-testglobalmutex.exe: testglobalmutex.obj $(LOCAL_LIBS)
- $(LINK) testglobalmutex.obj $(LOCAL_LIBS) $(ALL_LIBS)
-
-testatomic.exe: testatomic.obj $(LOCAL_LIBS)
- $(LINK) testatomic.obj $(LOCAL_LIBS) $(ALL_LIBS)
-
-testmutexscope.exe: testmutexscope.obj $(LOCAL_LIBS)
- $(LINK) testmutexscope.obj $(LOCAL_LIBS) $(ALL_LIBS)
-
-TESTS = testall.obj testtime.obj teststr.obj testvsn.obj testipsub.obj \
- testmmap.obj testud.obj testtable.obj testsleep.obj testpools.obj \
- testfmt.obj testfile.obj testdir.obj testfileinfo.obj testrand.obj \
- testdso.obj testoc.obj testdup.obj testsockets.obj testproc.obj \
- testpoll.obj testlock.obj testsockopt.obj testpipe.obj testthread.obj \
- testhash.obj testargs.obj testnames.obj testuser.obj testpath.obj \
- testenv.obj testprocmutex.obj
-
-testall.exe: $(TESTS) CuTest.obj $(LOCAL_LIBS)
- $(LINK) /debug /subsystem:console $(TESTS) CuTest.obj \
- $(LOCAL_LIBS) $(ALL_LIBS)
-
-
-# DO NOT REMOVE
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/NWGNUaprtest b/rubbos/app/httpd-2.0.64/srclib/apr/test/NWGNUaprtest
deleted file mode 100644
index 76d1ca4c..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/NWGNUaprtest
+++ /dev/null
@@ -1,287 +0,0 @@
-#
-# Make sure all needed macro's are defined
-#
-
-#
-# Get the 'head' of the build environment if necessary. This includes default
-# targets and paths to tools
-#
-
-ifndef EnvironmentDefined
-include $(APR_WORK)\build\NWGNUhead.inc
-endif
-
-#
-# These directories will be at the beginning of the include list, followed by
-# INCDIRS
-#
-XINCDIRS += \
- $(APR_WORK)/include \
- $(APR_WORK)/include/arch/NetWare \
- $(EOLIST)
-
-#
-# These flags will come after CFLAGS
-#
-XCFLAGS += \
- $(EOLIST)
-
-#
-# These defines will come after DEFINES
-#
-XDEFINES += \
- $(EOLIST)
-
-#
-# These flags will be added to the link.opt file
-#
-XLFLAGS += \
- $(EOLIST)
-
-#
-# These values will be appended to the correct variables based on the value of
-# RELEASE
-#
-ifeq "$(RELEASE)" "debug"
-XINCDIRS += \
- $(EOLIST)
-
-XCFLAGS += \
- $(EOLIST)
-
-XDEFINES += \
- $(EOLIST)
-
-XLFLAGS += \
- $(EOLIST)
-endif
-
-ifeq "$(RELEASE)" "noopt"
-XINCDIRS += \
- $(EOLIST)
-
-XCFLAGS += \
- $(EOLIST)
-
-XDEFINES += \
- $(EOLIST)
-
-XLFLAGS += \
- $(EOLIST)
-endif
-
-ifeq "$(RELEASE)" "release"
-XINCDIRS += \
- $(EOLIST)
-
-XCFLAGS += \
- $(EOLIST)
-
-XDEFINES += \
- $(EOLIST)
-
-XLFLAGS += \
- $(EOLIST)
-endif
-
-#
-# These are used by the link target if an NLM is being generated
-# This is used by the link 'name' directive to name the nlm. If left blank
-# TARGET_nlm (see below) will be used.
-#
-NLM_NAME = aprtest
-#
-# This is used by the link '-desc ' directive.
-# If left blank, NLM_NAME will be used.
-#
-NLM_DESCRIPTION = NLM is to test the apr layer
-
-#
-# This is used by the '-threadname' directive. If left blank,
-# NLM_NAME Thread will be used.
-#
-NLM_THREAD_NAME = $(NLM_NAME) Thread
-
-#
-# This is used by the '-screenname' directive. If left blank,
-# 'Apache for NetWare' Thread will be used.
-#
-NLM_SCREEN_NAME = $(NLM_NAME)
-
-#
-# If this is specified, it will override VERSION value in
-# $(APR_WORK)\build\NWGNUenvironment.inc
-#
-NLM_VERSION =
-
-#
-# If this is specified, it will override the default of 64K
-#
-NLM_STACK_SIZE = 524288
-
-#
-# If this is specified it will be used by the link '-entry' directive
-#
-NLM_ENTRY_SYM = _LibCPrelude
-
-#
-# If this is specified it will be used by the link '-exit' directive
-#
-NLM_EXIT_SYM = _LibCPostlude
-
-#
-# If this is specified it will be used by the link '-check' directive
-#
-NLM_CHECK_SYM =
-
-#
-# If this is specified it will be used by the link '-flags' directive
-#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
-
-#
-# If this is specified it will be linked in with the XDCData option in the def
-# file instead of the default of $(APR)/misc/netware/apache.xdc. XDCData can
-# be disabled by setting APACHE_UNIPROC in the environment
-#
-XDCDATA =
-
-#
-# Declare all target files (you must add your files here)
-#
-
-#
-# If there is an NLM target, put it here
-#
-TARGET_nlm = \
- $(OBJDIR)/aprtest.nlm \
- $(EOLIST)
-
-#
-# If there is an LIB target, put it here
-#
-TARGET_lib = \
- $(EOLIST)
-
-#
-# These are the OBJ files needed to create the NLM target above.
-# Paths must all use the '/' character
-#
-FILES_nlm_objs = \
- $(OBJDIR)/CuTest.o \
- $(OBJDIR)/testall.o \
- $(OBJDIR)/testargs.o \
- $(OBJDIR)/testdir.o \
- $(OBJDIR)/testdup.o \
- $(OBJDIR)/testdso.o \
- $(OBJDIR)/testenv.o \
- $(OBJDIR)/testfileinfo.o \
- $(OBJDIR)/testfile.o \
- $(OBJDIR)/testfmt.o \
- $(OBJDIR)/testhash.o \
- $(OBJDIR)/testipsub.o \
- $(OBJDIR)/testlock.o \
- $(OBJDIR)/testmmap.o \
- $(OBJDIR)/testnames.o \
- $(OBJDIR)/testoc.o \
- $(OBJDIR)/testpath.o \
- $(OBJDIR)/testpoll.o \
- $(OBJDIR)/testpools.o \
- $(OBJDIR)/testproc.o \
- $(OBJDIR)/testprocmutex.o \
- $(OBJDIR)/testrand.o \
- $(OBJDIR)/testsleep.o \
- $(OBJDIR)/testsockets.o \
- $(OBJDIR)/testsockopt.o \
- $(OBJDIR)/teststr.o \
- $(OBJDIR)/testthread.o \
- $(OBJDIR)/testtime.o \
- $(OBJDIR)/testtable.o \
- $(OBJDIR)/testud.o \
- $(OBJDIR)/testuser.o \
- $(OBJDIR)/testvsn.o \
- $(OBJDIR)/nw_misc.o \
- $(OBJDIR)/testpipe.o \
- $(EOLIST)
-
-# Pending tests
-
-#
-# These are the LIB files needed to create the NLM target above.
-# These will be added as a library command in the link.opt file.
-#
-FILES_nlm_libs = \
- libcpre.o \
- $(EOLIST)
-
-#
-# These are the modules that the above NLM target depends on to load.
-# These will be added as a module command in the link.opt file.
-#
-FILES_nlm_modules = \
- Libc \
- APRLIB \
- $(EOLIST)
-
-#
-# If the nlm has a msg file, put it's path here
-#
-FILE_nlm_msg =
-
-#
-# If the nlm has a hlp file put it's path here
-#
-FILE_nlm_hlp =
-
-#
-# If this is specified, it will override the default copyright.
-#
-FILE_nlm_copyright =
-
-#
-# Any additional imports go here
-#
-FILES_nlm_Ximports = \
- @libc.imp \
- @$(APR)/aprlib.imp \
- $(EOLIST)
-
-#
-# Any symbols exported to here
-#
-FILES_nlm_exports = \
- $(EOLIST)
-
-#
-# These are the OBJ files needed to create the LIB target above.
-# Paths must all use the '/' character
-#
-FILES_lib_objs = \
- $(EOLIST)
-
-#
-# implement targets and dependancies (leave this section alone)
-#
-
-libs :: $(OBJDIR) $(TARGET_lib)
-
-nlms :: libs $(TARGET_nlm)
-
-#
-# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(APR_WORK)\build\NWGNUhead.inc for examples)
-#
-install :: nlms FORCE
-
-#
-# Any specialized rules here
-#
-
-
-#
-# Include the 'tail' makefile that has targets that depend on variables defined
-# in this makefile
-#
-
-include $(APR_WORK)\build\NWGNUtail.inc
-
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/NWGNUmakefile b/rubbos/app/httpd-2.0.64/srclib/apr/test/NWGNUmakefile
deleted file mode 100644
index c63714a5..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/NWGNUmakefile
+++ /dev/null
@@ -1,260 +0,0 @@
-#
-# Declare the sub-directories to be built here
-#
-
-SUBDIRS = \
- $(EOLIST)
-
-#
-# Get the 'head' of the build environment. This includes default targets and
-# paths to tools
-#
-
-include $(APR_WORK)\build\NWGNUhead.inc
-
-#
-# build this level's files
-
-#
-# Make sure all needed macro's are defined
-#
-
-
-#
-# These directories will be at the beginning of the include list, followed by
-# INCDIRS
-#
-XINCDIRS += \
- $(APR_WORK)/include \
- $(APR_WORK)/include/arch/NetWare \
- $(EOLIST)
-
-#
-# These flags will come after CFLAGS
-#
-XCFLAGS += \
- $(EOLIST)
-
-#
-# These defines will come after DEFINES
-#
-XDEFINES += \
- $(EOLIST)
-
-#
-# These flags will be added to the link.opt file
-#
-XLFLAGS += \
- $(EOLIST)
-
-#
-# These values will be appended to the correct variables based on the value of
-# RELEASE
-#
-ifeq "$(RELEASE)" "debug"
-XINCDIRS += \
- $(EOLIST)
-
-XCFLAGS += \
- $(EOLIST)
-
-XDEFINES += \
- $(EOLIST)
-
-XLFLAGS += \
- $(EOLIST)
-
-endif
-
-ifeq "$(RELEASE)" "noopt"
-XINCDIRS += \
- $(EOLIST)
-
-XCFLAGS += \
- $(EOLIST)
-
-XDEFINES += \
- $(EOLIST)
-
-XLFLAGS += \
- $(EOLIST)
-endif
-
-ifeq "$(RELEASE)" "release"
-XINCDIRS += \
- $(EOLIST)
-
-XCFLAGS += \
- $(EOLIST)
-
-XDEFINES += \
- $(EOLIST)
-
-XLFLAGS += \
- $(EOLIST)
-endif
-
-#
-# These are used by the link target if an NLM is being generated
-# This is used by the link 'name' directive to name the nlm. If left blank
-# TARGET_nlm (see below) will be used.
-#
-NLM_NAME =
-
-#
-# This is used by the link '-desc ' directive.
-# If left blank, NLM_NAME will be used.
-#
-NLM_DESCRIPTION = NLM is to test the apr layer
-
-#
-# This is used by the '-threadname' directive. If left blank,
-# NLM_NAME Thread will be used.
-#
-NLM_THREAD_NAME =
-
-#
-# This is used by the '-screenname' directive. If left blank,
-# 'Apache for NetWare' Thread will be used.
-#
-NLM_SCREEN_NAME =
-
-#
-# If this is specified, it will override VERSION value in
-# $(APR_WORK)\build\NWGNUenvironment.inc
-#
-NLM_VERSION =
-
-#
-# If this is specified, it will override the default of 64K
-#
-NLM_STACK_SIZE =
-
-#
-# If this is specified it will be used by the link '-entry' directive
-#
-NLM_ENTRY_SYM =
-
-#
-# If this is specified it will be used by the link '-exit' directive
-#
-NLM_EXIT_SYM =
-
-#
-# If this is specified it will be used by the link '-check' directive
-#
-NLM_CHECK_SYM =
-
-#
-# If this is specified it will be used by the link '-flags' directive
-#
-NLM_FLAGS =
-
-#
-# If this is specified it will be linked in with the XDCData option in the def
-# file instead of the default of $(APR)/misc/netware/apache.xdc. XDCData can
-# be disabled by setting APACHE_UNIPROC in the environment
-#
-XDCDATA =
-
-#
-# Declare all target files (you must add your files here)
-#
-
-#
-# If there is an NLM target, put it here
-#
-TARGET_nlm = \
- $(OBJDIR)/aprtest.nlm \
- $(OBJDIR)/mod_test.nlm \
- $(OBJDIR)/proc_child.nlm \
- $(OBJDIR)/testatmc.nlm \
- $(EOLIST)
-#
-# If there is an LIB target, put it here
-#
-TARGET_lib = \
- $(EOLIST)
-
-#
-# These are the OBJ files needed to create the NLM target above.
-# Paths must all use the '/' character
-#
-FILES_nlm_objs = \
- $(EOLIST)
-
-#
-# These are the LIB files needed to create the NLM target above.
-# These will be added as a library command in the link.opt file.
-#
-FILES_nlm_libs = \
- $(EOLIST)
-
-#
-# These are the modules that the above NLM target depends on to load.
-# These will be added as a module command in the link.opt file.
-#
-FILES_nlm_modules = \
- aprlib \
- $(EOLIST)
-
-#
-# If the nlm has a msg file, put it's path here
-#
-FILE_nlm_msg =
-
-#
-# If the nlm has a hlp file put it's path here
-#
-FILE_nlm_hlp =
-
-#
-# If this is specified, it will override the default copyright.
-#
-FILE_nlm_copyright =
-
-#
-# Any additional imports go here
-#
-FILES_nlm_Ximports = \
- $(EOLIST)
-
-#
-# Any symbols exported to here
-#
-FILES_nlm_exports = \
- $(EOLIST)
-
-#
-# These are the OBJ files needed to create the LIB target above.
-# Paths must all use the '/' character
-#
-FILES_lib_objs = \
- $(EOLIST)
-
-#
-# implement targets and dependancies (leave this section alone)
-#
-
-libs :: $(OBJDIR) $(TARGET_lib)
-
-nlms :: libs $(TARGET_nlm)
-
-#
-# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(APR_WORK)\build\NWGNUhead.inc for examples)
-#
-install :: nlms FORCE
- copy $(OBJDIR)\*.nlm $(INSTALL)\Apache2
-
-#
-# Any specialized rules here
-#
-
-#
-# Include the 'tail' makefile that has targets that depend on variables defined
-# in this makefile
-#
-
-include $(APR_WORK)\build\NWGNUtail.inc
-
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/NWGNUmod_test b/rubbos/app/httpd-2.0.64/srclib/apr/test/NWGNUmod_test
deleted file mode 100644
index a454ef0c..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/NWGNUmod_test
+++ /dev/null
@@ -1,254 +0,0 @@
-#
-# Make sure all needed macro's are defined
-#
-
-#
-# Get the 'head' of the build environment if necessary. This includes default
-# targets and paths to tools
-#
-
-ifndef EnvironmentDefined
-include $(APR_WORK)\build\NWGNUhead.inc
-endif
-
-#
-# These directories will be at the beginning of the include list, followed by
-# INCDIRS
-#
-XINCDIRS += \
- $(APR_WORK)/include \
- $(APR_WORK)/include/arch/NetWare \
- $(EOLIST)
-
-#
-# These flags will come after CFLAGS
-#
-XCFLAGS += \
- $(EOLIST)
-
-#
-# These defines will come after DEFINES
-#
-XDEFINES += \
- $(EOLIST)
-
-#
-# These flags will be added to the link.opt file
-#
-XLFLAGS += \
- $(EOLIST)
-
-#
-# These values will be appended to the correct variables based on the value of
-# RELEASE
-#
-ifeq "$(RELEASE)" "debug"
-XINCDIRS += \
- $(EOLIST)
-
-XCFLAGS += \
- $(EOLIST)
-
-XDEFINES += \
- $(EOLIST)
-
-XLFLAGS += \
- $(EOLIST)
-endif
-
-ifeq "$(RELEASE)" "noopt"
-XINCDIRS += \
- $(EOLIST)
-
-XCFLAGS += \
- $(EOLIST)
-
-XDEFINES += \
- $(EOLIST)
-
-XLFLAGS += \
- $(EOLIST)
-endif
-
-ifeq "$(RELEASE)" "release"
-XINCDIRS += \
- $(EOLIST)
-
-XCFLAGS += \
- $(EOLIST)
-
-XDEFINES += \
- $(EOLIST)
-
-XLFLAGS += \
- $(EOLIST)
-endif
-
-#
-# These are used by the link target if an NLM is being generated
-# This is used by the link 'name' directive to name the nlm. If left blank
-# TARGET_nlm (see below) will be used.
-#
-NLM_NAME = mod_test
-
-#
-# This is used by the link '-desc ' directive.
-# If left blank, NLM_NAME will be used.
-#
-NLM_DESCRIPTION = DSO NLM to test the apr DSO loading layer
-
-#
-# This is used by the '-threadname' directive. If left blank,
-# NLM_NAME Thread will be used.
-#
-NLM_THREAD_NAME = $(NLM_NAME) Thread
-
-#
-# This is used by the '-screenname' directive. If left blank,
-# 'Apache for NetWare' Thread will be used.
-#
-NLM_SCREEN_NAME = DEFAULT
-
-#
-# If this is specified, it will override VERSION value in
-# $(APR_WORK)\build\NWGNUenvironment.inc
-#
-NLM_VERSION =
-
-#
-# If this is specified, it will override the default of 64K
-#
-NLM_STACK_SIZE =
-
-#
-# If this is specified it will be used by the link '-entry' directive
-#
-NLM_ENTRY_SYM = _LibCPrelude
-
-#
-# If this is specified it will be used by the link '-exit' directive
-#
-NLM_EXIT_SYM = _LibCPostlude
-
-#
-# If this is specified it will be used by the link '-check' directive
-#
-NLM_CHECK_SYM =
-
-#
-# If this is specified it will be used by the link '-flags' directive
-#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
-
-#
-# If this is specified it will be linked in with the XDCData option in the def
-# file instead of the default of $(APR)/misc/netware/apache.xdc. XDCData can
-# be disabled by setting APACHE_UNIPROC in the environment
-#
-XDCDATA =
-
-#
-# Declare all target files (you must add your files here)
-#
-
-#
-# If there is an NLM target, put it here
-#
-TARGET_nlm = \
- $(OBJDIR)/mod_test.nlm \
- $(EOLIST)
-
-#
-# If there is an LIB target, put it here
-#
-TARGET_lib = \
- $(EOLIST)
-
-#
-# These are the OBJ files needed to create the NLM target above.
-# Paths must all use the '/' character
-#
-FILES_nlm_objs = \
- $(OBJDIR)/mod_test.o \
- $(EOLIST)
-
-#
-# These are the LIB files needed to create the NLM target above.
-# These will be added as a library command in the link.opt file.
-#
-FILES_nlm_libs = \
- libcpre.o \
- $(EOLIST)
-
-#
-# These are the modules that the above NLM target depends on to load.
-# These will be added as a module command in the link.opt file.
-#
-FILES_nlm_modules = \
- aprlib \
- Libc \
- $(EOLIST)
-
-#
-# If the nlm has a msg file, put it's path here
-#
-FILE_nlm_msg =
-
-#
-# If the nlm has a hlp file put it's path here
-#
-FILE_nlm_hlp =
-
-#
-# If this is specified, it will override the default copyright.
-#
-FILE_nlm_copyright =
-
-#
-# Any additional imports go here
-#
-FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @libc.imp \
- $(EOLIST)
-
-#
-# Any symbols exported to here
-#
-FILES_nlm_exports = \
- print_hello \
- count_reps \
- $(EOLIST)
-
-#
-# These are the OBJ files needed to create the LIB target above.
-# Paths must all use the '/' character
-#
-FILES_lib_objs = \
- $(EOLIST)
-
-#
-# implement targets and dependancies (leave this section alone)
-#
-
-libs :: $(OBJDIR) $(TARGET_lib)
-
-nlms :: libs $(TARGET_nlm)
-
-#
-# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(APR_WORK)\build\NWGNUhead.inc for examples)
-#
-install :: nlms FORCE
-
-#
-# Any specialized rules here
-#
-
-#
-# Include the 'tail' makefile that has targets that depend on variables defined
-# in this makefile
-#
-
-include $(APR_WORK)\build\NWGNUtail.inc
-
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/NWGNUproc_child b/rubbos/app/httpd-2.0.64/srclib/apr/test/NWGNUproc_child
deleted file mode 100644
index 090bbddf..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/NWGNUproc_child
+++ /dev/null
@@ -1,252 +0,0 @@
-#
-# Make sure all needed macro's are defined
-#
-
-#
-# Get the 'head' of the build environment if necessary. This includes default
-# targets and paths to tools
-#
-
-ifndef EnvironmentDefined
-include $(APR_WORK)\build\NWGNUhead.inc
-endif
-
-#
-# These directories will be at the beginning of the include list, followed by
-# INCDIRS
-#
-XINCDIRS += \
- $(APR_WORK)/include \
- $(APR_WORK)/include/arch/NetWare \
- $(EOLIST)
-
-#
-# These flags will come after CFLAGS
-#
-XCFLAGS += \
- $(EOLIST)
-
-#
-# These defines will come after DEFINES
-#
-XDEFINES += \
- $(EOLIST)
-
-#
-# These flags will be added to the link.opt file
-#
-XLFLAGS += \
- $(EOLIST)
-
-#
-# These values will be appended to the correct variables based on the value of
-# RELEASE
-#
-ifeq "$(RELEASE)" "debug"
-XINCDIRS += \
- $(EOLIST)
-
-XCFLAGS += \
- $(EOLIST)
-
-XDEFINES += \
- $(EOLIST)
-
-XLFLAGS += \
- $(EOLIST)
-endif
-
-ifeq "$(RELEASE)" "noopt"
-XINCDIRS += \
- $(EOLIST)
-
-XCFLAGS += \
- $(EOLIST)
-
-XDEFINES += \
- $(EOLIST)
-
-XLFLAGS += \
- $(EOLIST)
-endif
-
-ifeq "$(RELEASE)" "release"
-XINCDIRS += \
- $(EOLIST)
-
-XCFLAGS += \
- $(EOLIST)
-
-XDEFINES += \
- $(EOLIST)
-
-XLFLAGS += \
- $(EOLIST)
-endif
-
-#
-# These are used by the link target if an NLM is being generated
-# This is used by the link 'name' directive to name the nlm. If left blank
-# TARGET_nlm (see below) will be used.
-#
-NLM_NAME = proc_child
-
-#
-# This is used by the link '-desc ' directive.
-# If left blank, NLM_NAME will be used.
-#
-NLM_DESCRIPTION = child NLM to test the proc layer
-
-#
-# This is used by the '-threadname' directive. If left blank,
-# NLM_NAME Thread will be used.
-#
-NLM_THREAD_NAME = $(NLM_NAME) Thread
-
-#
-# This is used by the '-screenname' directive. If left blank,
-# 'Apache for NetWare' Thread will be used.
-#
-NLM_SCREEN_NAME = DEFAULT
-
-#
-# If this is specified, it will override VERSION value in
-# $(APR_WORK)\build\NWGNUenvironment.inc
-#
-NLM_VERSION =
-
-#
-# If this is specified, it will override the default of 64K
-#
-NLM_STACK_SIZE =
-
-#
-# If this is specified it will be used by the link '-entry' directive
-#
-NLM_ENTRY_SYM = _LibCPrelude
-
-#
-# If this is specified it will be used by the link '-exit' directive
-#
-NLM_EXIT_SYM = _LibCPostlude
-
-#
-# If this is specified it will be used by the link '-check' directive
-#
-NLM_CHECK_SYM =
-
-#
-# If this is specified it will be used by the link '-flags' directive
-#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION, MULTIPLE
-
-#
-# If this is specified it will be linked in with the XDCData option in the def
-# file instead of the default of $(APR)/misc/netware/apache.xdc. XDCData can
-# be disabled by setting APACHE_UNIPROC in the environment
-#
-XDCDATA =
-
-#
-# Declare all target files (you must add your files here)
-#
-
-#
-# If there is an NLM target, put it here
-#
-TARGET_nlm = \
- $(OBJDIR)/proc_child.nlm \
- $(EOLIST)
-
-#
-# If there is an LIB target, put it here
-#
-TARGET_lib = \
- $(EOLIST)
-
-#
-# These are the OBJ files needed to create the NLM target above.
-# Paths must all use the '/' character
-#
-FILES_nlm_objs = \
- $(OBJDIR)/proc_child.o \
- $(EOLIST)
-
-#
-# These are the LIB files needed to create the NLM target above.
-# These will be added as a library command in the link.opt file.
-#
-FILES_nlm_libs = \
- libcpre.o \
- $(EOLIST)
-
-#
-# These are the modules that the above NLM target depends on to load.
-# These will be added as a module command in the link.opt file.
-#
-FILES_nlm_modules = \
- aprlib \
- Libc \
- $(EOLIST)
-
-#
-# If the nlm has a msg file, put it's path here
-#
-FILE_nlm_msg =
-
-#
-# If the nlm has a hlp file put it's path here
-#
-FILE_nlm_hlp =
-
-#
-# If this is specified, it will override the default copyright.
-#
-FILE_nlm_copyright =
-
-#
-# Any additional imports go here
-#
-FILES_nlm_Ximports = \
- @$(APR)/aprlib.imp \
- @libc.imp \
- $(EOLIST)
-
-#
-# Any symbols exported to here
-#
-FILES_nlm_exports = \
- $(EOLIST)
-
-#
-# These are the OBJ files needed to create the LIB target above.
-# Paths must all use the '/' character
-#
-FILES_lib_objs = \
- $(EOLIST)
-
-#
-# implement targets and dependancies (leave this section alone)
-#
-
-libs :: $(OBJDIR) $(TARGET_lib)
-
-nlms :: libs $(TARGET_nlm)
-
-#
-# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(APR_WORK)\build\NWGNUhead.inc for examples)
-#
-install :: nlms FORCE
-
-#
-# Any specialized rules here
-#
-
-#
-# Include the 'tail' makefile that has targets that depend on variables defined
-# in this makefile
-#
-
-include $(APR_WORK)\build\NWGNUtail.inc
-
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/NWGNUtestatmc b/rubbos/app/httpd-2.0.64/srclib/apr/test/NWGNUtestatmc
deleted file mode 100644
index e24bf36a..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/NWGNUtestatmc
+++ /dev/null
@@ -1,255 +0,0 @@
-#
-# Make sure all needed macro's are defined
-#
-
-#
-# Get the 'head' of the build environment if necessary. This includes default
-# targets and paths to tools
-#
-
-ifndef EnvironmentDefined
-include $(APR_WORK)\build\NWGNUhead.inc
-endif
-
-#
-# These directories will be at the beginning of the include list, followed by
-# INCDIRS
-#
-XINCDIRS += \
- $(APR_WORK)/include \
- $(APR_WORK)/include/arch/NetWare \
- $(EOLIST)
-
-#
-# These flags will come after CFLAGS
-#
-XCFLAGS += \
- $(EOLIST)
-
-#
-# These defines will come after DEFINES
-#
-XDEFINES += \
- $(EOLIST)
-
-#
-# These flags will be added to the link.opt file
-#
-XLFLAGS += \
- $(EOLIST)
-
-#
-# These values will be appended to the correct variables based on the value of
-# RELEASE
-#
-ifeq "$(RELEASE)" "debug"
-XINCDIRS += \
- $(EOLIST)
-
-XCFLAGS += \
- $(EOLIST)
-
-XDEFINES += \
- $(EOLIST)
-
-XLFLAGS += \
- $(EOLIST)
-endif
-
-ifeq "$(RELEASE)" "noopt"
-XINCDIRS += \
- $(EOLIST)
-
-XCFLAGS += \
- $(EOLIST)
-
-XDEFINES += \
- $(EOLIST)
-
-XLFLAGS += \
- $(EOLIST)
-endif
-
-ifeq "$(RELEASE)" "release"
-XINCDIRS += \
- $(EOLIST)
-
-XCFLAGS += \
- $(EOLIST)
-
-XDEFINES += \
- $(EOLIST)
-
-XLFLAGS += \
- $(EOLIST)
-endif
-
-#
-# These are used by the link target if an NLM is being generated
-# This is used by the link 'name' directive to name the nlm. If left blank
-# TARGET_nlm (see below) will be used.
-#
-NLM_NAME = testatmc
-#
-# This is used by the link '-desc ' directive.
-# If left blank, NLM_NAME will be used.
-#
-NLM_DESCRIPTION = NLM is to test the atomic functions
-
-#
-# This is used by the '-threadname' directive. If left blank,
-# NLM_NAME Thread will be used.
-#
-NLM_THREAD_NAME = $(NLM_NAME) Thread
-
-#
-# This is used by the '-screenname' directive. If left blank,
-# 'Apache for NetWare' Thread will be used.
-#
-NLM_SCREEN_NAME = $(NLM_NAME)
-
-#
-# If this is specified, it will override VERSION value in
-# $(APR_WORK)\build\NWGNUenvironment.inc
-#
-NLM_VERSION =
-
-#
-# If this is specified, it will override the default of 64K
-#
-NLM_STACK_SIZE =
-
-#
-# If this is specified it will be used by the link '-entry' directive
-#
-NLM_ENTRY_SYM = _LibCPrelude
-
-#
-# If this is specified it will be used by the link '-exit' directive
-#
-NLM_EXIT_SYM = _LibCPostlude
-
-#
-# If this is specified it will be used by the link '-check' directive
-#
-NLM_CHECK_SYM =
-
-#
-# If this is specified it will be used by the link '-flags' directive
-#
-NLM_FLAGS = AUTOUNLOAD, PSEUDOPREEMPTION
-
-#
-# If this is specified it will be linked in with the XDCData option in the def
-# file instead of the default of $(APR)/misc/netware/apache.xdc. XDCData can
-# be disabled by setting APACHE_UNIPROC in the environment
-#
-XDCDATA =
-
-#
-# Declare all target files (you must add your files here)
-#
-
-#
-# If there is an NLM target, put it here
-#
-TARGET_nlm = \
- $(OBJDIR)/testatmc.nlm \
- $(EOLIST)
-
-#
-# If there is an LIB target, put it here
-#
-TARGET_lib = \
- $(EOLIST)
-
-#
-# These are the OBJ files needed to create the NLM target above.
-# Paths must all use the '/' character
-#
-FILES_nlm_objs = \
- $(OBJDIR)/testatomic.o \
- $(OBJDIR)/nw_misc.o \
- $(EOLIST)
-
-# Pending tests
-
-#
-# These are the LIB files needed to create the NLM target above.
-# These will be added as a library command in the link.opt file.
-#
-FILES_nlm_libs = \
- libcpre.o \
- $(EOLIST)
-
-#
-# These are the modules that the above NLM target depends on to load.
-# These will be added as a module command in the link.opt file.
-#
-FILES_nlm_modules = \
- Libc \
- APRLIB \
- $(EOLIST)
-
-#
-# If the nlm has a msg file, put it's path here
-#
-FILE_nlm_msg =
-
-#
-# If the nlm has a hlp file put it's path here
-#
-FILE_nlm_hlp =
-
-#
-# If this is specified, it will override the default copyright.
-#
-FILE_nlm_copyright =
-
-#
-# Any additional imports go here
-#
-FILES_nlm_Ximports = \
- @libc.imp \
- @$(APR)/aprlib.imp \
- $(EOLIST)
-
-#
-# Any symbols exported to here
-#
-FILES_nlm_exports = \
- $(EOLIST)
-
-#
-# These are the OBJ files needed to create the LIB target above.
-# Paths must all use the '/' character
-#
-FILES_lib_objs = \
- $(EOLIST)
-
-#
-# implement targets and dependancies (leave this section alone)
-#
-
-libs :: $(OBJDIR) $(TARGET_lib)
-
-nlms :: libs $(TARGET_nlm)
-
-#
-# Updated this target to create necessary directories and copy files to the
-# correct place. (See $(APR_WORK)\build\NWGNUhead.inc for examples)
-#
-install :: nlms FORCE
-
-#
-# Any specialized rules here
-#
-
-
-#
-# Include the 'tail' makefile that has targets that depend on variables defined
-# in this makefile
-#
-
-include $(APR_WORK)\build\NWGNUtail.inc
-
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/README b/rubbos/app/httpd-2.0.64/srclib/apr/test/README
deleted file mode 100644
index 42ecdd47..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/README
+++ /dev/null
@@ -1,248 +0,0 @@
-Writing APR tests
-
-All APR tests should be executable in 2 ways, as an individual program, or
-as a part of the full test suite. The full test suite is controlled with
-the testall program. At the beginning of the testall.c file, there is an
-array of functions called tests. The testall program loops through this
-array calling each function. Each function returns a CuSuite variable, which
-is then added to the SuiteList. Once all Suites have been added, the SuiteList
-is executed, and the output is printed to the screen. All functions in the
-array should follow the same basic format:
-
-The Full Suite
---------------
-
-/* The driver function. This must return a CuSuite variable, which will
- * then be used to actually run the tests. Essentially, all Suites are a
- * collection of tests. The driver will take each Suite, and put it in a
- * SuiteList, which is a collection of Suites.
- */
-CuSuite *testtime(void)
-{
- /* The actual suite, this must be created for each test program. Please
- * give it a useful name, that will inform the user of the feature being
- * tested.
- */
- CuSuite *suite = CuSuiteNew("Test Time");
-
- /* Each function must be added to the suite. Each function represents
- * a single test. It is possible to test multiple features in a single
- * function, although no tests currently do that.
- */
- SUITE_ADD_TEST(suite, test_now);
- SUITE_ADD_TEST(suite, test_gmtstr);
- SUITE_ADD_TEST(suite, test_localstr);
- SUITE_ADD_TEST(suite, test_exp_get_gmt);
- SUITE_ADD_TEST(suite, test_exp_get_lt);
- SUITE_ADD_TEST(suite, test_imp_gmt);
- SUITE_ADD_TEST(suite, test_rfcstr);
- SUITE_ADD_TEST(suite, test_ctime);
- SUITE_ADD_TEST(suite, test_strftime);
- SUITE_ADD_TEST(suite, test_strftimesmall);
- SUITE_ADD_TEST(suite, test_exp_tz);
- SUITE_ADD_TEST(suite, test_strftimeoffset);
-
- /* You must return the suite so that the driver knows which suites to
- * run.
- */
- return suite;
-}
-
-Building the full driver
-------------------------
-
-All you need to do to build the full driver is run:
-
- make testall
-
-To run it, run:
-
- ./testall
-
-Caveats
--------
-
-Currently, some tests are known to fail in certain circumstances:
-
- * 'testpoll' opens 64 sockets concurrently; ensure that resource
-limits are high enough to allow this (using ulimit or limit); for
-instance, Solaris <=2.7 and HP-UX 11.00 both set the limit to <=64 by
-default
-
- * 'testipsub' will tickle the Solaris 8 getaddrinfo() IPv6
-bug, causing the test to hang. Configure with --disable-ipv6 if using
-an unpatched Solaris 8 installation.
-
- * The 'testdso' tests will not work if configured with
---disable-shared since the loadable modules cannot be built.
-
-Running individual tests
----------------------------------
-
-It is not possible to build individual tests, however it is possible to
-run individual tests. When running the test suite, specify the name of the
-tests that you want to run on the command line. For example:
-
- ./testall teststr testrand
-
-Will run the Strings and Random generator tests.
-
-Reading the test suite output
------------------------------
-
-Once you run the test suite, you will get output like:
-
-All APR Tests:
- Test Strings: ....
- Test Time: ............
-
-16 tests run: 16 passed, 0 failed, 0 not implemented.
-
-There are a couple of things to look at with this. First, if you look at the
-first function in this document, you should notice that the string passed to
-the CuSuiteNew function is in the output. That is why the string should
-explain the feature you are testing.
-
-Second, this test passed completely. This is obvious in two ways. First, and
-most obvious, the summary line tells you that 16 tests were run and 16 tests
-passed. However, the results can also be found in the lines above. Every
-'.' in the output represents a passed test.
-
-If a test fails, the output will look like:
-
-All APR Tests:
- Test Strings: ....
- Test Time: ..F.........
-
-16 tests run: 15 passed, 1 failed, 0 not implemented.
-
-This is not very useful, because you don't know which test failed. However,
-once you know that a test failed, you can run the suite again, with the
--v option. If you do this, you will get something like:
-
-All APR Tests:
- Test Strings: ....
- Test Time: ..F.........
-
-16 tests run: 15 passed, 1 failed, 0 not implemented.
-Failed tests:
-1) test_localstr: assert failed
-
-In this case, we know the test_localstr function failed, and there is an
-Assert in this that failed (I modified the test to fail for this document).
-Now, you can look at what that test does, and why it would have failed.
-
-There is one other possible output for the test suite (run with -v):
-
-All APR Tests:
- Test Strings: ....
- Test Time: ..N.........
-
-16 tests run: 15 passed, 0 failed, 1 not implemented.
-
-Not Implemented tests:
-
-Not Implemented tests:
-1) test_localstr: apr_time_exp_lt not implemented on this platform
-
-The 'N' means that a function has returned APR_ENOTIMPL. This should be
-treated as an error, and the function should be implemented as soon as
-possible.
-
-Adding New test Suites to the full driver
--------------------------------------------
-
-To add a new Suite to the full driver, you must make a couple of modifications.
-
-1) Edit test_apr.h, and add the prototype for the function.
-2) Edit testall.c, and add the function and name to the tests array.
-3) Edit Makefile.in, and add the .lo file to the testall target.
-
-Once those four things are done, your tests will automatically be added
-to the suite.
-
-Writing tests
--------------
-
-There are a couple of rules for writing good tests for the test suite.
-
-1) All tests can determine for themselves if it passed or not. This means
-that there is no reason for the person running the test suite to interpret
-the results of the tests.
-2) Never use printf to add to the output of the test suite. The suite
-library should be able to print all of the information required to debug
-a problem.
-3) Functions should be tested with both positive and negative tests. This
-means that you should test things that should both succeed and fail.
-4) Just checking the return code does _NOT_ make a useful test. You must
-check to determine that the test actually did what you expected it to do.
-
-An example test
----------------
-
-Finally, we will look at a quick test:
-
-/* All tests are passed a CuTest variable. This is how the suite determines
- * if the test succeeded or failed.
- */
-static void test_localstr(CuTest *tc)
-{
- apr_status_t rv;
- apr_time_exp_t xt;
- time_t os_now;
-
- rv = apr_time_exp_lt(&xt, now);
- os_now = now / APR_USEC_PER_SEC;
-
- /* If the function can return APR_ENOTIMPL, then you should check for it.
- * This allows platform implementors to know if they have to implement
- * the function.
- */
- if (rv == APR_ENOTIMPL) {
- CuNotImpl(tc, "apr_time_exp_lt");
- }
-
- /* It often helps to ensure that the return code was APR_SUCESS. If it
- * wasn't, then we know the test failed.
- */
- CuAssertTrue(tc, rv == APR_SUCCESS);
-
- /* Now that we know APR thinks it worked properly, we need to check the
- * output to ensure that we got what we expected.
- */
- CuAssertStrEquals(tc, "2002-08-14 12:05:36.186711 -25200 [257 Sat] DST",
- print_time(p, &xt));
-}
-
-Notice, the same test can fail for any of a number of reasons. The first
-test to fail ends the test.
-
-CuTest
-------
-
-CuTest is an open source test suite written by Asim Jalis. It has been
-released under the zlib/libpng license. That license can be found in the
-CuTest.c and CuTest.h files.
-
-The version of CuTest that is included in the APR test suite has been modified
-from the original distribution in the following ways:
-
-1) The original distribution does not have a -v flag, the details are always
-printed.
-2) The NotImplemented result does not exist.
-3) SuiteLists do not exist. In the original distribution, you can add suites
-to suites, but it just adds the tests in the first suite to the list of tests
-in the original suite. The output wasn't as detailed as I wanted, so I created
-SuiteLists.
-
-The first two modifications have been sent to the original author of CuTest,
-but they have not been integrated into the base distribution. The SuiteList
-changes will be sent to the original author soon.
-
-The modified version of CuTest is not currently in any CVS or Subversion
-server. In time, it will be hosted at rkbloom.net.
-
-There are currently no docs for how to write tests, but the teststr and
-testtime programs should give an idea of how it is done. In time, a document
-should be written to define how tests are written.
-
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/aprtest.def b/rubbos/app/httpd-2.0.64/srclib/apr/test/aprtest.def
deleted file mode 100644
index bfea210d..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/aprtest.def
+++ /dev/null
@@ -1,3 +0,0 @@
-MODULE LIBC.NLM
-MODULE APRLIB.NLM
-
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/aprtest.dsp b/rubbos/app/httpd-2.0.64/srclib/apr/test/aprtest.dsp
deleted file mode 100644
index e31b898d..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/aprtest.dsp
+++ /dev/null
@@ -1,199 +0,0 @@
-# Microsoft Developer Studio Project File - Name="aprtest" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) External Target" 0x0106
-
-CFG=aprtest - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "aprtest.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "aprtest.mak" CFG="aprtest - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "aprtest - Win32 Release" (based on "Win32 (x86) External Target")
-!MESSAGE "aprtest - Win32 Debug" (based on "Win32 (x86) External Target")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-
-!IF "$(CFG)" == "aprtest - Win32 Release"
-
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Cmd_Line "NMAKE /f Makefile"
-# PROP BASE Rebuild_Opt "/a"
-# PROP BASE Target_File "aprtest.exe"
-# PROP BASE Bsc_Name "aprtest.bsc"
-# PROP BASE Target_Dir ""
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Cmd_Line "NMAKE /f aprtest.win"
-# PROP Rebuild_Opt "/a"
-# PROP Bsc_Name ""
-# PROP Target_Dir ""
-
-!ELSEIF "$(CFG)" == "aprtest - Win32 Debug"
-
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Cmd_Line "NMAKE /f aprtest.mak"
-# PROP BASE Rebuild_Opt "/a"
-# PROP BASE Target_File "aprtest.exe"
-# PROP BASE Bsc_Name "aprtest.bsc"
-# PROP BASE Target_Dir ""
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "Debug"
-# PROP Intermediate_Dir "Debug"
-# PROP Cmd_Line "NMAKE /f aprtest.win"
-# PROP Rebuild_Opt "/a"
-# PROP Bsc_Name ""
-# PROP Target_Dir ""
-
-!ENDIF
-
-# Begin Target
-
-# Name "aprtest - Win32 Release"
-# Name "aprtest - Win32 Debug"
-
-!IF "$(CFG)" == "aprtest - Win32 Release"
-
-!ELSEIF "$(CFG)" == "aprtest - Win32 Debug"
-
-!ENDIF
-
-# Begin Group "Sources"
-
-# PROP Default_Filter ""
-# Begin Source File
-
-SOURCE=.\abc.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\client.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\mod_test.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\occhild.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\sendfile.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\server.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testargs.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testcontext.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testdso.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testfile.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testflock.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testlock.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testmmap.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testnames.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testoc.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testpath.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testpipe.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testproc.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testshm.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testsock.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testthread.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testtime.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testucs.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testuser.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testuuid.c
-# End Source File
-# End Group
-# Begin Source File
-
-SOURCE=.\aprtest.win
-# End Source File
-# Begin Source File
-
-SOURCE=.\Makefile
-# End Source File
-# Begin Source File
-
-SOURCE=.\Makefile.in
-# End Source File
-# Begin Source File
-
-SOURCE=.\MakeWin32Make.awk
-# End Source File
-# End Target
-# End Project
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/aprtest.h b/rubbos/app/httpd-2.0.64/srclib/apr/test/aprtest.h
deleted file mode 100644
index 9da542b3..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/aprtest.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/* 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 "apr_errno.h"
-#include "apr_general.h"
-#include "apr_strings.h"
-
-#ifndef APR_TEST_PREFIX
-#define APR_TEST_PREFIX ""
-#endif
-
-#define APR_TEST_BEGIN(rv, desc, op) \
- fprintf(stdout, "%s%.*s ", APR_TEST_PREFIX desc, \
- strlen(desc) < 37 ? (int)(40 - strlen(desc)) : 3, \
- "........................................"); \
- APR_TEST_MORE(rv, op)
-
-#define APR_TEST_MORE(rv, op) \
- if ((rv = (op)) != APR_SUCCESS) { \
- char msgbuf[256]; \
- fprintf (stdout, "Failed\n"); \
- fprintf (stderr, "Error (%d): %s\n%s", rv, #op, \
- apr_strerror(rv, msgbuf, sizeof(msgbuf))); \
- exit(-1); }
-
-#define APR_TEST_END(rv, op) \
- APR_TEST_MORE(rv, op) \
- fprintf(stdout, "OK\n");
-
-#define APR_TEST_SUCCESS(rv, desc, op) \
- APR_TEST_BEGIN(rv, desc, op) \
- fprintf(stdout, "OK\n");
-
-#define APR_TEST_INITIALIZE(rv, pool) \
- APR_TEST_SUCCESS(rv, "Initializing", apr_initialize()); \
- atexit(apr_terminate); \
- APR_TEST_SUCCESS(rv, "Creating context", \
- apr_pool_create(&pool, NULL));
-
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/aprtest.win b/rubbos/app/httpd-2.0.64/srclib/apr/test/aprtest.win
deleted file mode 100644
index 85ad5b4d..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/aprtest.win
+++ /dev/null
@@ -1,18 +0,0 @@
-# Note:
-#
-# You may need to modify the configuration of Build - Options - Directories
-# for the Executable path to include the perl interpreter within DevStudio.
-# E.g. add c:\program files\perl\bin to the list of directories
-
-!IF "$(TARGET)" == ""
-TARGET=ALL
-!ENDIF
-
-$(TARGET): Makefile
- $(MAKE) /nologo /f Makefile $(TARGET)
-
-Makefile: Makefile.in MakeWin32Make.awk
- awk -f MakeWin32Make.awk <Makefile.in >Makefile
-
-clean:
- del Makefile *.obj *.exe *.idb *.pdb
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/client.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/client.c
deleted file mode 100644
index bab7fe59..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/client.c
+++ /dev/null
@@ -1,153 +0,0 @@
-/* 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 <stdlib.h>
-#include "apr_network_io.h"
-#include "apr_errno.h"
-#include "apr_general.h"
-#include <errno.h>
-
-#define STRLEN 15
-
-int main(int argc, char *argv[])
-{
- apr_pool_t *context;
- apr_socket_t *sock;
- apr_size_t length;
- apr_status_t stat;
- char datasend[STRLEN] = "Send data test";
- char datarecv[STRLEN];
- char msgbuf[80];
- char *local_ipaddr, *remote_ipaddr;
- char *dest = "127.0.0.1";
- apr_port_t local_port, remote_port;
- apr_interval_time_t timeout = apr_time_from_sec(2);
- apr_sockaddr_t *local_sa, *remote_sa;
-
- setbuf(stdout, NULL);
- if (argc > 1) {
- dest = argv[1];
- }
-
- if (argc > 2) {
- timeout = atoi(argv[2]);
- }
-
- fprintf(stdout, "Initializing.........");
- if (apr_initialize() != APR_SUCCESS) {
- fprintf(stderr, "Something went wrong\n");
- exit(-1);
- }
- fprintf(stdout, "OK\n");
- atexit(apr_terminate);
-
- fprintf(stdout, "Creating context.......");
- if (apr_pool_create(&context, NULL) != APR_SUCCESS) {
- fprintf(stderr, "Something went wrong\n");
- exit(-1);
- }
- fprintf(stdout, "OK\n");
-
- fprintf(stdout,"\tClient: Making socket address...............");
- if ((stat = apr_sockaddr_info_get(&remote_sa, dest, APR_UNSPEC, 8021, 0, context))
- != APR_SUCCESS) {
- fprintf(stdout, "Failed!\n");
- fprintf(stdout, "Address resolution failed for %s: %s\n",
- dest, apr_strerror(stat, msgbuf, sizeof(msgbuf)));
- exit(-1);
- }
- fprintf(stdout,"OK\n");
-
- fprintf(stdout, "\tClient: Creating new socket.......");
- if (apr_socket_create(&sock, remote_sa->family, SOCK_STREAM,
- context) != APR_SUCCESS) {
- fprintf(stderr, "Couldn't create socket\n");
- exit(-1);
- }
- fprintf(stdout, "OK\n");
-
- fprintf(stdout, "\tClient: Setting socket timeout.......");
- stat = apr_socket_timeout_set(sock, timeout);
- if (stat) {
- fprintf(stderr, "Problem setting timeout: %d\n", stat);
- exit(-1);
- }
- fprintf(stdout, "OK\n");
-
- fprintf(stdout, "\tClient: Connecting to socket.......");
-
- stat = apr_socket_connect(sock, remote_sa);
-
- if (stat != APR_SUCCESS) {
- apr_socket_close(sock);
- fprintf(stderr, "Could not connect: %s (%d)\n",
- apr_strerror(stat, msgbuf, sizeof(msgbuf)), stat);
- fflush(stderr);
- exit(-1);
- }
- fprintf(stdout, "OK\n");
-
- apr_socket_addr_get(&remote_sa, APR_REMOTE, sock);
- apr_sockaddr_ip_get(&remote_ipaddr, remote_sa);
- apr_sockaddr_port_get(&remote_port, remote_sa);
- apr_socket_addr_get(&local_sa, APR_LOCAL, sock);
- apr_sockaddr_ip_get(&local_ipaddr, local_sa);
- apr_sockaddr_port_get(&local_port, local_sa);
- fprintf(stdout, "\tClient socket: %s:%u -> %s:%u\n", local_ipaddr, local_port, remote_ipaddr, remote_port);
-
- fprintf(stdout, "\tClient: Trying to send data over socket.......");
- length = STRLEN;
- if ((stat = apr_socket_send(sock, datasend, &length) != APR_SUCCESS)) {
- apr_socket_close(sock);
- fprintf(stderr, "Problem sending data: %s (%d)\n",
- apr_strerror(stat, msgbuf, sizeof(msgbuf)), stat);
- exit(-1);
- }
- fprintf(stdout, "OK\n");
-
- length = STRLEN;
- fprintf(stdout, "\tClient: Trying to receive data over socket.......");
-
- if ((stat = apr_socket_recv(sock, datarecv, &length)) != APR_SUCCESS) {
- apr_socket_close(sock);
- fprintf(stderr, "Problem receiving data: %s (%d)\n",
- apr_strerror(stat, msgbuf, sizeof(msgbuf)), stat);
- exit(-1);
- }
- if (strcmp(datarecv, "Recv data test")) {
- apr_socket_close(sock);
- fprintf(stderr, "I did not receive the correct data %s\n", datarecv);
- exit(-1);
- }
- fprintf(stdout, "OK\n");
-
- fprintf(stdout, "\tClient: Shutting down socket.......");
- if (apr_socket_shutdown(sock, APR_SHUTDOWN_WRITE) != APR_SUCCESS) {
- apr_socket_close(sock);
- fprintf(stderr, "Could not shutdown socket\n");
- exit(-1);
- }
- fprintf(stdout, "OK\n");
-
- fprintf(stdout, "\tClient: Closing down socket.......");
- if (apr_socket_close(sock) != APR_SUCCESS) {
- fprintf(stderr, "Could not shutdown socket\n");
- exit(-1);
- }
- fprintf(stdout, "OK\n");
-
- return 1;
-}
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/data/file_datafile.txt b/rubbos/app/httpd-2.0.64/srclib/apr/test/data/file_datafile.txt
deleted file mode 100644
index 1651a329..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/data/file_datafile.txt
+++ /dev/null
@@ -1 +0,0 @@
-This is the file data file. \ No newline at end of file
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/data/mmap_datafile.txt b/rubbos/app/httpd-2.0.64/srclib/apr/test/data/mmap_datafile.txt
deleted file mode 100644
index 50f47a60..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/data/mmap_datafile.txt
+++ /dev/null
@@ -1 +0,0 @@
-This is the MMAP data file.
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/internal/Makefile b/rubbos/app/httpd-2.0.64/srclib/apr/test/internal/Makefile
deleted file mode 100644
index 5a790860..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/internal/Makefile
+++ /dev/null
@@ -1,37 +0,0 @@
-srcdir = .
-
-
-NONPORTABLE = \
- testregex
-
-PROGRAMS = \
-
-TARGETS = $(PROGRAMS) $(NONPORTABLE)
-
-# bring in rules.mk for standard functionality
-include /bottlenecks/rubbos/app/httpd-2.0.64/srclib/apr/build/apr_rules.mk
-
-LOCAL_LIBS=../../libapr-${APR_MAJOR_VERSION}.la
-
-CLEAN_TARGETS = testregex
-
-INCDIR=../../include
-INCLUDES=-I$(INCDIR)
-
-CFLAGS=$(MY_CFLAGS)
-
-all: $(PROGRAMS) $(NONPORTABLE)
-
-check: $(PROGRAMS) $(NONPORTABLE)
- for prog in $(PROGRAMS) $(NONPORTABLE); do \
- ./$$prog; \
- if test $$i = 255; then \
- echo "$$prog failed"; \
- break; \
- fi \
- done
-
-testregex: testregex.lo $(LOCAL_LIBS)
- $(LINK) testregex.lo $(LOCAL_LIBS) $(ALL_LIBS)
-
-# DO NOT REMOVE
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/internal/Makefile.in b/rubbos/app/httpd-2.0.64/srclib/apr/test/internal/Makefile.in
deleted file mode 100644
index b1f6c6a6..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/internal/Makefile.in
+++ /dev/null
@@ -1,37 +0,0 @@
-srcdir = @srcdir@
-VPATH = @srcdir@
-
-NONPORTABLE = \
- testregex@EXEEXT@
-
-PROGRAMS = \
-
-TARGETS = $(PROGRAMS) $(NONPORTABLE)
-
-# bring in rules.mk for standard functionality
-@INCLUDE_RULES@
-
-LOCAL_LIBS=../../lib@APR_LIBNAME@.la
-
-CLEAN_TARGETS = testregex@EXEEXT@
-
-INCDIR=../../include
-INCLUDES=-I$(INCDIR)
-
-CFLAGS=$(MY_CFLAGS)
-
-all: $(PROGRAMS) $(NONPORTABLE)
-
-check: $(PROGRAMS) $(NONPORTABLE)
- for prog in $(PROGRAMS) $(NONPORTABLE); do \
- ./$$prog; \
- if test $$i = 255; then \
- echo "$$prog failed"; \
- break; \
- fi \
- done
-
-testregex@EXEEXT@: testregex.lo $(LOCAL_LIBS)
- $(LINK) testregex.lo $(LOCAL_LIBS) $(ALL_LIBS)
-
-# DO NOT REMOVE
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/internal/testregex.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/internal/testregex.c
deleted file mode 100644
index 20dcfdeb..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/internal/testregex.c
+++ /dev/null
@@ -1,91 +0,0 @@
-/* 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 "apr_strings.h"
-#include "apr_pools.h"
-#include "apr_general.h"
-#include "apr_hash.h"
-#include "apr_lib.h"
-#include "apr_time.h"
-#include <regex.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-int main( int argc, char** argv) {
- apr_pool_t *context;
- regex_t regex;
- int rc;
- int i;
- int iters;
- apr_time_t now;
- apr_time_t end;
- apr_hash_t *h;
-
-
- if (argc !=4 ) {
- fprintf(stderr, "Usage %s match string #iterations\n",argv[0]);
- return -1;
- }
- iters = atoi( argv[3]);
-
- apr_initialize() ;
- atexit(apr_terminate);
- if (apr_pool_create(&context, NULL) != APR_SUCCESS) {
- fprintf(stderr, "Something went wrong\n");
- exit(-1);
- }
- rc = regcomp( &regex, argv[1], REG_EXTENDED|REG_NOSUB);
-
-
- if (rc) {
- char errbuf[2000];
- regerror(rc, &regex,errbuf,2000);
- fprintf(stderr,"Couldn't compile regex ;(\n%s\n ",errbuf);
- return -1;
- }
- if ( regexec( &regex, argv[2], 0, NULL,0) == 0 ) {
- fprintf(stderr,"Match\n");
- }
- else {
- fprintf(stderr,"No Match\n");
- }
- now = apr_time_now();
- for (i=0;i<iters;i++) {
- regexec( &regex, argv[2], 0, NULL,0) ;
- }
- end=apr_time_now();
- puts(apr_psprintf( context, "Time to run %d regex's %8lld\n",iters,end-now));
- h = apr_hash_make( context);
- for (i=0;i<70;i++) {
- apr_hash_set(h,apr_psprintf(context, "%dkey",i),APR_HASH_KEY_STRING,"1");
- }
- now = apr_time_now();
- for (i=0;i<iters;i++) {
- apr_hash_get( h, argv[2], APR_HASH_KEY_STRING);
- }
- end=apr_time_now();
- puts(apr_psprintf( context, "Time to run %d hash (no find)'s %8lld\n",iters,end-now));
- apr_hash_set(h, argv[2],APR_HASH_KEY_STRING,"1");
- now = apr_time_now();
- for (i=0;i<iters;i++) {
- apr_hash_get( h, argv[2], APR_HASH_KEY_STRING);
- }
- end=apr_time_now();
- puts(apr_psprintf( context, "Time to run %d hash (find)'s %8lld\n",iters,end-now));
-
- return 0;
-}
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/internal/testucs.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/internal/testucs.c
deleted file mode 100644
index ca735d23..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/internal/testucs.c
+++ /dev/null
@@ -1,176 +0,0 @@
-/* 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 "apr.h"
-#include "arch/win32/apr_arch_utf8.h"
-#include <wchar.h>
-#include <string.h>
-
-struct testval {
- unsigned char n[8];
- wchar_t w[4];
- int nl;
- int wl;
-};
-
-void displaynw(struct testval *f, struct testval *l)
-{
- char x[80], *t = x;
- int i;
- for (i = 0; i < f->nl; ++i)
- t += sprintf(t, "%02X ", f->n[i]);
- *(t++) = '-';
- for (i = 0; i < l->nl; ++i)
- t += sprintf(t, " %02X", l->n[i]);
- *(t++) = ' ';
- *(t++) = '=';
- *(t++) = ' ';
- for (i = 0; i < f->wl; ++i)
- t += sprintf(t, "%04X ", f->w[i]);
- *(t++) = '-';
- for (i = 0; i < l->wl; ++i)
- t += sprintf(t, " %04X", l->w[i]);
- puts(x);
-}
-
-/*
- * Test every possible byte value.
- * If the test passes or fails at this byte value we are done.
- * Otherwise iterate test_nrange again, appending another byte.
- */
-void test_nrange(struct testval *p)
-{
- struct testval f, l, s;
- apr_status_t rc;
- int success = 0;
-
- memcpy (&s, p, sizeof(s));
- ++s.nl;
-
- do {
- apr_size_t nl = s.nl, wl = sizeof(s.w) / 2;
- rc = apr_conv_utf8_to_ucs2(s.n, &nl, s.w, &wl);
- s.wl = (sizeof(s.w) / 2) - wl;
- if (!nl && rc == APR_SUCCESS) {
- if (!success) {
- memcpy(&f, &s, sizeof(s));
- success = -1;
- }
- else {
- if (s.wl != l.wl
- || memcmp(s.w, l.w, (s.wl - 1) * 2) != 0
- || s.w[s.wl - 1] != l.w[l.wl - 1] + 1) {
- displaynw(&f, &l);
- memcpy(&f, &s, sizeof(s));
- }
- }
- memcpy(&l, &s, sizeof(s));
- }
- else {
- if (success) {
- displaynw(&f, &l);
- success = 0;
- }
- if (rc == APR_INCOMPLETE) {
- test_nrange(&s);
- }
- }
- } while (++s.n[s.nl - 1]);
-
- if (success) {
- displaynw(&f, &l);
- success = 0;
- }
-}
-
-/*
- * Test every possible word value.
- * Once we are finished, retest every possible word value.
- * if the test fails on the following null word, iterate test_nrange
- * again, appending another word.
- * This assures the output order of the two tests are in sync.
- */
-void test_wrange(struct testval *p)
-{
- struct testval f, l, s;
- apr_status_t rc;
- int success = 0;
-
- memcpy (&s, p, sizeof(s));
- ++s.wl;
-
- do {
- apr_size_t nl = sizeof(s.n), wl = s.wl;
- rc = apr_conv_ucs2_to_utf8(s.w, &wl, s.n, &nl);
- s.nl = sizeof(s.n) - nl;
- if (!wl && rc == APR_SUCCESS) {
- if (!success) {
- memcpy(&f, &s, sizeof(s));
- success = -1;
- }
- else {
- if (s.nl != l.nl
- || memcmp(s.n, l.n, s.nl - 1) != 0
- || s.n[s.nl - 1] != l.n[l.nl - 1] + 1) {
- displaynw(&f, &l);
- memcpy(&f, &s, sizeof(s));
- }
- }
- memcpy(&l, &s, sizeof(s));
- }
- else {
- if (success) {
- displaynw(&f, &l);
- success = 0;
- }
- }
- } while (++s.w[s.wl - 1]);
-
- if (success) {
- displaynw(&f, &l);
- success = 0;
- }
-
- do {
- int wl = s.wl, nl = sizeof(s.n);
- rc = apr_conv_ucs2_to_utf8(s.w, &wl, s.n, &nl);
- s.nl = sizeof(s.n) - s.nl;
- if (rc == APR_INCOMPLETE) {
- test_wrange(&s);
- }
- } while (++s.w[s.wl - 1]);
-}
-
-/*
- * Syntax: testucs [w|n]
- *
- * If arg is not recognized, run both tests.
- */
-int main(int argc, char **argv)
-{
- struct testval s;
- memset (&s, 0, sizeof(s));
-
- if (argc < 2 || apr_tolower(*argv[1]) != 'w') {
- printf ("\n\nTesting Narrow Char Ranges\n");
- test_nrange(&s);
- }
- if (argc < 2 || apr_tolower(*argv[1]) != 'n') {
- printf ("\n\nTesting Wide Char Ranges\n");
- test_wrange(&s);
- }
- return 0;
-}
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/mod_test.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/mod_test.c
deleted file mode 100644
index 2178e940..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/mod_test.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* 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 "apr_strings.h"
-
-void print_hello(char str[256]);
-int count_reps(int reps);
-
-void print_hello(char str[256])
-{
- apr_cpystrn(str, "Hello - I'm a DSO!\n", strlen("Hello - I'm a DSO!\n") + 1);
-}
-
-int count_reps(int reps)
-{
- int i = 0;
- for (i = 0;i < reps; i++);
- return i;
-}
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/nw_misc.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/nw_misc.c
deleted file mode 100644
index 2f670935..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/nw_misc.c
+++ /dev/null
@@ -1,15 +0,0 @@
-#include <netware.h>
-#include <screen.h>
-#include "test_apr.h"
-
-void _NonAppStop( void )
-{
- if (getenv("_IN_NETWARE_BASH_") == NULL)
- pressanykey();
-}
-
-static void test_not_impl(CuTest *tc)
-{
- CuNotImpl(tc, "Test not implemented on this platform yet");
-}
-
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/occhild.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/occhild.c
deleted file mode 100644
index a96885d8..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/occhild.c
+++ /dev/null
@@ -1,26 +0,0 @@
-#include "apr.h"
-#include "apr_file_io.h"
-#include "apr.h"
-
-#if APR_HAVE_STDLIB_H
-#include <stdlib.h>
-#endif
-
-int main(void)
-{
- char buf[256];
- apr_file_t *err;
- apr_pool_t *p;
-
- apr_initialize();
- atexit(apr_terminate);
-
- apr_pool_create(&p, NULL);
- apr_file_open_stdin(&err, p);
-
- while (1) {
- apr_size_t length = 256;
- apr_file_read(err, buf, &length);
- }
- exit(0); /* just to keep the compiler happy */
-}
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/proc_child.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/proc_child.c
deleted file mode 100644
index 405bb7f5..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/proc_child.c
+++ /dev/null
@@ -1,21 +0,0 @@
-#include "apr.h"
-#include <stdio.h>
-#if APR_HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#if APR_HAVE_IO_H
-#include <io.h>
-#endif
-#include <stdlib.h>
-
-int main(void)
-{
- char buf[256];
- apr_ssize_t bytes;
-
- bytes = read(STDIN_FILENO, buf, 256);
- if (bytes > 0)
- write(STDOUT_FILENO, buf, bytes);
-
- return 0; /* just to keep the compiler happy */
-}
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/readchild.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/readchild.c
deleted file mode 100644
index f8443cce..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/readchild.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/* 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 <stdlib.h>
-
-#include "apr_file_io.h"
-
-int main(int argc, char *argv[])
-{
- apr_file_t *in, *out;
- apr_size_t nbytes, total_bytes;
- apr_pool_t *p;
- char buf[128];
- apr_status_t rv;
-
- apr_initialize();
- atexit(apr_terminate);
- apr_pool_create(&p, NULL);
-
- apr_file_open_stdin(&in, p);
- apr_file_open_stdout(&out, p);
-
- total_bytes = 0;
- nbytes = sizeof(buf);
- while ((rv = apr_file_read(in, buf, &nbytes)) == APR_SUCCESS) {
- total_bytes += nbytes;
- nbytes = sizeof(buf);
- }
-
- apr_file_printf(out, "%" APR_SIZE_T_FMT " bytes were read\n",
- total_bytes);
- return 0;
-}
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/sendfile.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/sendfile.c
deleted file mode 100644
index b14765fd..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/sendfile.c
+++ /dev/null
@@ -1,749 +0,0 @@
-/* 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 <assert.h>
-#include <errno.h>
-#include <signal.h>
-#include <stdlib.h>
-#include <string.h>
-#include "apr_network_io.h"
-#include "apr_errno.h"
-#include "apr_general.h"
-#include "apr_poll.h"
-
-#if !APR_HAS_SENDFILE
-int main(void)
-{
- fprintf(stderr,
- "This program won't work on this platform because there is no "
- "support for sendfile().\n");
- return 0;
-}
-#else /* !APR_HAS_SENDFILE */
-
-#define FILE_LENGTH 200000
-
-#define FILE_DATA_CHAR '0'
-
-#define HDR1 "1234567890ABCD\n"
-#define HDR2 "EFGH\n"
-#define HDR3_LEN 80000
-#define HDR3_CHAR '^'
-#define TRL1 "IJKLMNOPQRSTUVWXYZ\n"
-#define TRL2 "!@#$%&*()\n"
-#define TRL3_LEN 90000
-#define TRL3_CHAR '@'
-
-#define TESTSF_PORT 8021
-
-#define TESTFILE "testsf.dat"
-
-typedef enum {BLK, NONBLK, TIMEOUT} client_socket_mode_t;
-
-static void apr_setup(apr_pool_t **p, apr_socket_t **sock, int *family)
-{
- char buf[120];
- apr_status_t rv;
-
- rv = apr_initialize();
- if (rv != APR_SUCCESS) {
- fprintf(stderr, "apr_initialize()->%d/%s\n",
- rv,
- apr_strerror(rv, buf, sizeof buf));
- exit(1);
- }
-
- atexit(apr_terminate);
-
- rv = apr_pool_create(p, NULL);
- if (rv != APR_SUCCESS) {
- fprintf(stderr, "apr_pool_create()->%d/%s\n",
- rv,
- apr_strerror(rv, buf, sizeof buf));
- exit(1);
- }
-
- *sock = NULL;
- rv = apr_socket_create(sock, *family, SOCK_STREAM, *p);
- if (rv != APR_SUCCESS) {
- fprintf(stderr, "apr_socket_create()->%d/%s\n",
- rv,
- apr_strerror(rv, buf, sizeof buf));
- exit(1);
- }
-
- if (*family == APR_UNSPEC) {
- apr_sockaddr_t *localsa;
-
- rv = apr_socket_addr_get(&localsa, APR_LOCAL, *sock);
- if (rv != APR_SUCCESS) {
- fprintf(stderr, "apr_socket_addr_get()->%d/%s\n",
- rv,
- apr_strerror(rv, buf, sizeof buf));
- exit(1);
- }
- *family = localsa->family;
- }
-}
-
-static void create_testfile(apr_pool_t *p, const char *fname)
-{
- apr_file_t *f = NULL;
- apr_status_t rv;
- char buf[120];
- int i;
- apr_finfo_t finfo;
-
- printf("Creating a test file...\n");
- rv = apr_file_open(&f, fname,
- APR_CREATE | APR_WRITE | APR_TRUNCATE | APR_BUFFERED,
- APR_UREAD | APR_UWRITE, p);
- if (rv) {
- fprintf(stderr, "apr_file_open()->%d/%s\n",
- rv, apr_strerror(rv, buf, sizeof buf));
- exit(1);
- }
-
- buf[0] = FILE_DATA_CHAR;
- buf[1] = '\0';
- for (i = 0; i < FILE_LENGTH; i++) {
- /* exercise apr_file_putc() and apr_file_puts() on buffered files */
- if ((i % 2) == 0) {
- rv = apr_file_putc(buf[0], f);
- if (rv) {
- fprintf(stderr, "apr_file_putc()->%d/%s\n",
- rv, apr_strerror(rv, buf, sizeof buf));
- exit(1);
- }
- }
- else {
- rv = apr_file_puts(buf, f);
- if (rv) {
- fprintf(stderr, "apr_file_puts()->%d/%s\n",
- rv, apr_strerror(rv, buf, sizeof buf));
- exit(1);
- }
- }
- }
-
- rv = apr_file_close(f);
- if (rv) {
- fprintf(stderr, "apr_file_close()->%d/%s\n",
- rv, apr_strerror(rv, buf, sizeof buf));
- exit(1);
- }
-
- rv = apr_stat(&finfo, fname, APR_FINFO_NORM, p);
- if (rv != APR_SUCCESS && rv != APR_INCOMPLETE) {
- fprintf(stderr, "apr_stat()->%d/%s\n",
- rv, apr_strerror(rv, buf, sizeof buf));
- exit(1);
- }
-
- if (finfo.size != FILE_LENGTH) {
- fprintf(stderr,
- "test file %s should be %ld-bytes long\n"
- "instead it is %ld-bytes long\n",
- fname,
- (long int)FILE_LENGTH,
- (long int)finfo.size);
- exit(1);
- }
-}
-
-static int client(client_socket_mode_t socket_mode, char *host)
-{
- apr_status_t rv, tmprv;
- apr_socket_t *sock;
- apr_pool_t *p;
- char buf[120];
- apr_file_t *f = NULL;
- apr_size_t len;
- apr_size_t expected_len;
- apr_off_t current_file_offset;
- apr_hdtr_t hdtr;
- struct iovec headers[3];
- struct iovec trailers[3];
- apr_size_t bytes_read;
- apr_pollfd_t *pfd;
- apr_int32_t nsocks;
- int i;
- int family;
- apr_sockaddr_t *destsa;
-
- family = APR_INET;
- apr_setup(&p, &sock, &family);
- create_testfile(p, TESTFILE);
-
- rv = apr_file_open(&f, TESTFILE, APR_READ, 0, p);
- if (rv != APR_SUCCESS) {
- fprintf(stderr, "apr_file_open()->%d/%s\n",
- rv,
- apr_strerror(rv, buf, sizeof buf));
- exit(1);
- }
-
- if (!host) {
- host = "127.0.0.1";
- }
- rv = apr_sockaddr_info_get(&destsa, host, family, TESTSF_PORT, 0, p);
- if (rv != APR_SUCCESS) {
- fprintf(stderr, "apr_sockaddr_info_get()->%d/%s\n",
- rv,
- apr_strerror(rv, buf, sizeof buf));
- exit(1);
- }
-
- rv = apr_socket_connect(sock, destsa);
- if (rv != APR_SUCCESS) {
- fprintf(stderr, "apr_socket_connect()->%d/%s\n",
- rv,
- apr_strerror(rv, buf, sizeof buf));
- exit(1);
- }
-
- switch(socket_mode) {
- case BLK:
- /* leave it blocking */
- break;
- case NONBLK:
- /* set it non-blocking */
- rv = apr_socket_opt_set(sock, APR_SO_NONBLOCK, 1);
- if (rv != APR_SUCCESS) {
- fprintf(stderr, "apr_socket_opt_set(APR_SO_NONBLOCK)->%d/%s\n",
- rv,
- apr_strerror(rv, buf, sizeof buf));
- exit(1);
- }
- break;
- case TIMEOUT:
- /* set a timeout */
- rv = apr_socket_timeout_set(sock, 100 * APR_USEC_PER_SEC);
- if (rv != APR_SUCCESS) {
- fprintf(stderr, "apr_socket_opt_set(APR_SO_NONBLOCK)->%d/%s\n",
- rv,
- apr_strerror(rv, buf, sizeof buf));
- exit(1);
- }
- break;
- default:
- assert(1 != 1);
- }
-
- printf("Sending the file...\n");
-
- hdtr.headers = headers;
- hdtr.numheaders = 3;
- hdtr.headers[0].iov_base = HDR1;
- hdtr.headers[0].iov_len = strlen(hdtr.headers[0].iov_base);
- hdtr.headers[1].iov_base = HDR2;
- hdtr.headers[1].iov_len = strlen(hdtr.headers[1].iov_base);
- hdtr.headers[2].iov_base = malloc(HDR3_LEN);
- assert(hdtr.headers[2].iov_base);
- memset(hdtr.headers[2].iov_base, HDR3_CHAR, HDR3_LEN);
- hdtr.headers[2].iov_len = HDR3_LEN;
-
- hdtr.trailers = trailers;
- hdtr.numtrailers = 3;
- hdtr.trailers[0].iov_base = TRL1;
- hdtr.trailers[0].iov_len = strlen(hdtr.trailers[0].iov_base);
- hdtr.trailers[1].iov_base = TRL2;
- hdtr.trailers[1].iov_len = strlen(hdtr.trailers[1].iov_base);
- hdtr.trailers[2].iov_base = malloc(TRL3_LEN);
- memset(hdtr.trailers[2].iov_base, TRL3_CHAR, TRL3_LEN);
- assert(hdtr.trailers[2].iov_base);
- hdtr.trailers[2].iov_len = TRL3_LEN;
-
- expected_len =
- strlen(HDR1) + strlen(HDR2) + HDR3_LEN +
- strlen(TRL1) + strlen(TRL2) + TRL3_LEN +
- FILE_LENGTH;
-
- if (socket_mode == BLK) {
- current_file_offset = 0;
- len = FILE_LENGTH;
- rv = apr_socket_sendfile(sock, f, &hdtr, &current_file_offset, &len, 0);
- if (rv != APR_SUCCESS) {
- fprintf(stderr, "apr_socket_sendfile()->%d/%s\n",
- rv,
- apr_strerror(rv, buf, sizeof buf));
- exit(1);
- }
-
- printf("apr_socket_sendfile() updated offset with %ld\n",
- (long int)current_file_offset);
-
- printf("apr_socket_sendfile() updated len with %ld\n",
- (long int)len);
-
- printf("bytes really sent: %" APR_SIZE_T_FMT "\n",
- expected_len);
-
- if (len != expected_len) {
- fprintf(stderr, "apr_socket_sendfile() didn't report the correct "
- "number of bytes sent!\n");
- exit(1);
- }
- }
- else {
- /* non-blocking... wooooooo */
- apr_size_t total_bytes_sent;
-
- pfd = NULL;
- rv = apr_poll_setup(&pfd, 1, p);
- assert(!rv);
- rv = apr_poll_socket_add(pfd, sock, APR_POLLOUT);
- assert(!rv);
-
- total_bytes_sent = 0;
- current_file_offset = 0;
- len = FILE_LENGTH;
- do {
- apr_size_t tmplen;
-
- tmplen = len; /* bytes remaining to send from the file */
- printf("Calling apr_socket_sendfile()...\n");
- printf("Headers (%d):\n", hdtr.numheaders);
- for (i = 0; i < hdtr.numheaders; i++) {
- printf("\t%ld bytes (%c)\n",
- (long)hdtr.headers[i].iov_len,
- *(char *)hdtr.headers[i].iov_base);
- }
- printf("File: %ld bytes from offset %ld\n",
- (long)tmplen, (long)current_file_offset);
- printf("Trailers (%d):\n", hdtr.numtrailers);
- for (i = 0; i < hdtr.numtrailers; i++) {
- printf("\t%ld bytes\n",
- (long)hdtr.trailers[i].iov_len);
- }
-
- rv = apr_socket_sendfile(sock, f, &hdtr, &current_file_offset, &tmplen, 0);
- printf("apr_socket_sendfile()->%d, sent %ld bytes\n", rv, (long)tmplen);
- if (rv) {
- if (APR_STATUS_IS_EAGAIN(rv)) {
- assert(tmplen == 0);
- nsocks = 1;
- tmprv = apr_poll(pfd, 1, &nsocks, -1);
- assert(!tmprv);
- assert(nsocks == 1);
- /* continue; */
- }
- }
-
- total_bytes_sent += tmplen;
-
- /* Adjust hdtr to compensate for partially-written
- * data.
- */
-
- /* First, skip over any header data which might have
- * been written.
- */
- while (tmplen && hdtr.numheaders) {
- if (tmplen >= hdtr.headers[0].iov_len) {
- tmplen -= hdtr.headers[0].iov_len;
- --hdtr.numheaders;
- ++hdtr.headers;
- }
- else {
- hdtr.headers[0].iov_len -= tmplen;
- hdtr.headers[0].iov_base =
- (char*) hdtr.headers[0].iov_base + tmplen;
- tmplen = 0;
- }
- }
-
- /* Now, skip over any file data which might have been
- * written.
- */
-
- if (tmplen <= len) {
- current_file_offset += tmplen;
- len -= tmplen;
- tmplen = 0;
- }
- else {
- tmplen -= len;
- len = 0;
- current_file_offset = 0;
- }
-
- /* Last, skip over any trailer data which might have
- * been written.
- */
-
- while (tmplen && hdtr.numtrailers) {
- if (tmplen >= hdtr.trailers[0].iov_len) {
- tmplen -= hdtr.trailers[0].iov_len;
- --hdtr.numtrailers;
- ++hdtr.trailers;
- }
- else {
- hdtr.trailers[0].iov_len -= tmplen;
- hdtr.trailers[0].iov_base =
- (char *)hdtr.trailers[0].iov_base + tmplen;
- tmplen = 0;
- }
- }
-
- } while (total_bytes_sent < expected_len &&
- (rv == APR_SUCCESS ||
- (APR_STATUS_IS_EAGAIN(rv) && socket_mode != TIMEOUT)));
- if (total_bytes_sent != expected_len) {
- fprintf(stderr,
- "client problem: sent %ld of %ld bytes\n",
- (long)total_bytes_sent, (long)expected_len);
- exit(1);
- }
-
- if (rv) {
- fprintf(stderr,
- "client problem: rv %d\n",
- rv);
- exit(1);
- }
- }
-
- current_file_offset = 0;
- rv = apr_file_seek(f, APR_CUR, &current_file_offset);
- if (rv != APR_SUCCESS) {
- fprintf(stderr, "apr_file_seek()->%d/%s\n",
- rv,
- apr_strerror(rv, buf, sizeof buf));
- exit(1);
- }
-
- printf("After apr_socket_sendfile(), the kernel file pointer is "
- "at offset %ld.\n",
- (long int)current_file_offset);
-
- rv = apr_socket_shutdown(sock, APR_SHUTDOWN_WRITE);
- if (rv != APR_SUCCESS) {
- fprintf(stderr, "apr_socket_shutdown()->%d/%s\n",
- rv,
- apr_strerror(rv, buf, sizeof buf));
- exit(1);
- }
-
- /* in case this is the non-blocking test, set socket timeout;
- * we're just waiting for EOF */
-
- rv = apr_socket_timeout_set(sock, apr_time_from_sec(3));
- if (rv != APR_SUCCESS) {
- fprintf(stderr, "apr_socket_timeout_set()->%d/%s\n",
- rv,
- apr_strerror(rv, buf, sizeof buf));
- exit(1);
- }
-
- bytes_read = 1;
- rv = apr_socket_recv(sock, buf, &bytes_read);
- if (rv != APR_EOF) {
- fprintf(stderr, "apr_socket_recv()->%d/%s (expected APR_EOF)\n",
- rv,
- apr_strerror(rv, buf, sizeof buf));
- exit(1);
- }
- if (bytes_read != 0) {
- fprintf(stderr, "We expected to get 0 bytes read with APR_EOF\n"
- "but instead we read %ld bytes.\n",
- (long int)bytes_read);
- exit(1);
- }
-
- printf("client: apr_socket_sendfile() worked as expected!\n");
-
- rv = apr_file_remove(TESTFILE, p);
- if (rv != APR_SUCCESS) {
- fprintf(stderr, "apr_file_remove()->%d/%s\n",
- rv,
- apr_strerror(rv, buf, sizeof buf));
- exit(1);
- }
-
- return 0;
-}
-
-static int server(void)
-{
- apr_status_t rv;
- apr_socket_t *sock;
- apr_pool_t *p;
- char buf[120];
- int i;
- apr_socket_t *newsock = NULL;
- apr_size_t bytes_read;
- apr_sockaddr_t *localsa;
- int family;
-
- family = APR_UNSPEC;
- apr_setup(&p, &sock, &family);
-
- rv = apr_socket_opt_set(sock, APR_SO_REUSEADDR, 1);
- if (rv != APR_SUCCESS) {
- fprintf(stderr, "apr_socket_opt_set()->%d/%s\n",
- rv,
- apr_strerror(rv, buf, sizeof buf));
- exit(1);
- }
-
- rv = apr_sockaddr_info_get(&localsa, NULL, family, TESTSF_PORT, 0, p);
- if (rv != APR_SUCCESS) {
- fprintf(stderr, "apr_sockaddr_info_get()->%d/%s\n",
- rv,
- apr_strerror(rv, buf, sizeof buf));
- exit(1);
- }
-
- rv = apr_socket_bind(sock, localsa);
- if (rv != APR_SUCCESS) {
- fprintf(stderr, "apr_socket_bind()->%d/%s\n",
- rv,
- apr_strerror(rv, buf, sizeof buf));
- exit(1);
- }
-
- rv = apr_socket_listen(sock, 5);
- if (rv != APR_SUCCESS) {
- fprintf(stderr, "apr_socket_listen()->%d/%s\n",
- rv,
- apr_strerror(rv, buf, sizeof buf));
- exit(1);
- }
-
- printf("Waiting for a client to connect...\n");
-
- rv = apr_socket_accept(&newsock, sock, p);
- if (rv != APR_SUCCESS) {
- fprintf(stderr, "apr_socket_accept()->%d/%s\n",
- rv,
- apr_strerror(rv, buf, sizeof buf));
- exit(1);
- }
-
- printf("Processing a client...\n");
-
- assert(sizeof buf > strlen(HDR1));
- bytes_read = strlen(HDR1);
- rv = apr_socket_recv(newsock, buf, &bytes_read);
- if (rv != APR_SUCCESS) {
- fprintf(stderr, "apr_socket_recv()->%d/%s\n",
- rv,
- apr_strerror(rv, buf, sizeof buf));
- exit(1);
- }
- if (bytes_read != strlen(HDR1)) {
- fprintf(stderr, "wrong data read (1)\n");
- exit(1);
- }
- if (memcmp(buf, HDR1, strlen(HDR1))) {
- fprintf(stderr, "wrong data read (2)\n");
- fprintf(stderr, "received: `%.*s'\nexpected: `%s'\n",
- (int)bytes_read, buf, HDR1);
- exit(1);
- }
-
- assert(sizeof buf > strlen(HDR2));
- bytes_read = strlen(HDR2);
- rv = apr_socket_recv(newsock, buf, &bytes_read);
- if (rv != APR_SUCCESS) {
- fprintf(stderr, "apr_socket_recv()->%d/%s\n",
- rv,
- apr_strerror(rv, buf, sizeof buf));
- exit(1);
- }
- if (bytes_read != strlen(HDR2)) {
- fprintf(stderr, "wrong data read (3)\n");
- exit(1);
- }
- if (memcmp(buf, HDR2, strlen(HDR2))) {
- fprintf(stderr, "wrong data read (4)\n");
- fprintf(stderr, "received: `%.*s'\nexpected: `%s'\n",
- (int)bytes_read, buf, HDR2);
- exit(1);
- }
-
- for (i = 0; i < HDR3_LEN; i++) {
- bytes_read = 1;
- rv = apr_socket_recv(newsock, buf, &bytes_read);
- if (rv != APR_SUCCESS) {
- fprintf(stderr, "apr_socket_recv()->%d/%s\n",
- rv,
- apr_strerror(rv, buf, sizeof buf));
- exit(1);
- }
- if (bytes_read != 1) {
- fprintf(stderr, "apr_socket_recv()->%ld bytes instead of 1\n",
- (long int)bytes_read);
- exit(1);
- }
- if (buf[0] != HDR3_CHAR) {
- fprintf(stderr,
- "problem with data read (byte %d of hdr 3):\n",
- i);
- fprintf(stderr, "read `%c' (0x%x) from client; expected "
- "`%c'\n",
- buf[0], buf[0], HDR3_CHAR);
- exit(1);
- }
- }
-
- for (i = 0; i < FILE_LENGTH; i++) {
- bytes_read = 1;
- rv = apr_socket_recv(newsock, buf, &bytes_read);
- if (rv != APR_SUCCESS) {
- fprintf(stderr, "apr_socket_recv()->%d/%s\n",
- rv,
- apr_strerror(rv, buf, sizeof buf));
- exit(1);
- }
- if (bytes_read != 1) {
- fprintf(stderr, "apr_socket_recv()->%ld bytes instead of 1\n",
- (long int)bytes_read);
- exit(1);
- }
- if (buf[0] != FILE_DATA_CHAR) {
- fprintf(stderr,
- "problem with data read (byte %d of file):\n",
- i);
- fprintf(stderr, "read `%c' (0x%x) from client; expected "
- "`%c'\n",
- buf[0], buf[0], FILE_DATA_CHAR);
- exit(1);
- }
- }
-
- assert(sizeof buf > strlen(TRL1));
- bytes_read = strlen(TRL1);
- rv = apr_socket_recv(newsock, buf, &bytes_read);
- if (rv != APR_SUCCESS) {
- fprintf(stderr, "apr_socket_recv()->%d/%s\n",
- rv,
- apr_strerror(rv, buf, sizeof buf));
- exit(1);
- }
- if (bytes_read != strlen(TRL1)) {
- fprintf(stderr, "wrong data read (5)\n");
- exit(1);
- }
- if (memcmp(buf, TRL1, strlen(TRL1))) {
- fprintf(stderr, "wrong data read (6)\n");
- fprintf(stderr, "received: `%.*s'\nexpected: `%s'\n",
- (int)bytes_read, buf, TRL1);
- exit(1);
- }
-
- assert(sizeof buf > strlen(TRL2));
- bytes_read = strlen(TRL2);
- rv = apr_socket_recv(newsock, buf, &bytes_read);
- if (rv != APR_SUCCESS) {
- fprintf(stderr, "apr_socket_recv()->%d/%s\n",
- rv,
- apr_strerror(rv, buf, sizeof buf));
- exit(1);
- }
- if (bytes_read != strlen(TRL2)) {
- fprintf(stderr, "wrong data read (7)\n");
- exit(1);
- }
- if (memcmp(buf, TRL2, strlen(TRL2))) {
- fprintf(stderr, "wrong data read (8)\n");
- fprintf(stderr, "received: `%.*s'\nexpected: `%s'\n",
- (int)bytes_read, buf, TRL2);
- exit(1);
- }
-
- for (i = 0; i < TRL3_LEN; i++) {
- bytes_read = 1;
- rv = apr_socket_recv(newsock, buf, &bytes_read);
- if (rv != APR_SUCCESS) {
- fprintf(stderr, "apr_socket_recv()->%d/%s\n",
- rv,
- apr_strerror(rv, buf, sizeof buf));
- exit(1);
- }
- if (bytes_read != 1) {
- fprintf(stderr, "apr_socket_recv()->%ld bytes instead of 1\n",
- (long int)bytes_read);
- exit(1);
- }
- if (buf[0] != TRL3_CHAR) {
- fprintf(stderr,
- "problem with data read (byte %d of trl 3):\n",
- i);
- fprintf(stderr, "read `%c' (0x%x) from client; expected "
- "`%c'\n",
- buf[0], buf[0], TRL3_CHAR);
- exit(1);
- }
- }
-
- bytes_read = 1;
- rv = apr_socket_recv(newsock, buf, &bytes_read);
- if (rv != APR_EOF) {
- fprintf(stderr, "apr_socket_recv()->%d/%s (expected APR_EOF)\n",
- rv,
- apr_strerror(rv, buf, sizeof buf));
- exit(1);
- }
- if (bytes_read != 0) {
- fprintf(stderr, "We expected to get 0 bytes read with APR_EOF\n"
- "but instead we read %ld bytes (%c).\n",
- (long int)bytes_read, buf[0]);
- exit(1);
- }
-
- printf("server: apr_socket_sendfile() worked as expected!\n");
-
- return 0;
-}
-
-int main(int argc, char *argv[])
-{
-#ifdef SIGPIPE
- signal(SIGPIPE, SIG_IGN);
-#endif
-
- /* Gee whiz this is goofy logic but I wanna drive sendfile right now,
- * not dork around with the command line!
- */
- if (argc >= 3 && !strcmp(argv[1], "client")) {
- char *host = 0;
- if (argv[3]) {
- host = argv[3];
- }
- if (!strcmp(argv[2], "blocking")) {
- return client(BLK, host);
- }
- else if (!strcmp(argv[2], "timeout")) {
- return client(TIMEOUT, host);
- }
- else if (!strcmp(argv[2], "nonblocking")) {
- return client(NONBLK, host);
- }
- }
- else if (argc == 2 && !strcmp(argv[1], "server")) {
- return server();
- }
-
- fprintf(stderr,
- "Usage: %s client {blocking|nonblocking|timeout}\n"
- " %s server\n",
- argv[0], argv[0]);
- return -1;
-}
-
-#endif /* !APR_HAS_SENDFILE */
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/server.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/server.c
deleted file mode 100644
index 03c10270..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/server.c
+++ /dev/null
@@ -1,167 +0,0 @@
-/* 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.
- */
-
-#define APR_TEST_PREFIX "server: "
-
-#include "aprtest.h"
-#include <stdlib.h>
-#include "apr_network_io.h"
-#include "apr_getopt.h"
-#include "apr_poll.h"
-
-#define STRLEN 15
-
-int main(int argc, const char * const argv[])
-{
- apr_pool_t *context;
- apr_status_t rv;
- apr_socket_t *sock;
- apr_socket_t *sock2;
- apr_size_t length;
- apr_int32_t pollres;
- apr_pollfd_t *sdset;
- char datasend[STRLEN];
- char datarecv[STRLEN] = "Recv data test";
- const char *bind_to_ipaddr = NULL;
- char *local_ipaddr, *remote_ipaddr;
- apr_port_t local_port, remote_port;
- apr_sockaddr_t *localsa = NULL, *remotesa;
- apr_status_t stat;
- int family = APR_UNSPEC;
- int protocol;
- apr_getopt_t *opt;
- const char *optarg;
- char optchar;
-
- APR_TEST_INITIALIZE(rv, context);
-
- APR_TEST_SUCCESS(rv, "Preparing getopt",
- apr_getopt_init(&opt, context, argc, argv))
-
- while ((stat = apr_getopt(opt, "i:", &optchar, &optarg)) == APR_SUCCESS) {
- switch(optchar) {
- case 'i':
- bind_to_ipaddr = optarg;
- break;
- }
- }
- if (stat != APR_EOF) {
- fprintf(stderr,
- "usage: %s [-i local-interface-address]\n",
- argv[0]);
- exit(-1);
- }
-
- if (bind_to_ipaddr) {
- /* First, parse/resolve ipaddr so we know what address family of
- * socket we need. We'll use the returned sockaddr later when
- * we bind.
- */
- APR_TEST_SUCCESS(rv, "Preparing sockaddr",
- apr_sockaddr_info_get(&localsa, bind_to_ipaddr, APR_UNSPEC, 8021, 0, context))
- family = localsa->family;
- }
-
- APR_TEST_SUCCESS(rv, "Creating new socket",
- apr_socket_create_ex(&sock, family, SOCK_STREAM, APR_PROTO_TCP, context))
-
- APR_TEST_SUCCESS(rv, "Setting option APR_SO_NONBLOCK",
- apr_socket_opt_set(sock, APR_SO_NONBLOCK, 1))
-
- APR_TEST_SUCCESS(rv, "Setting option APR_SO_REUSEADDR",
- apr_socket_opt_set(sock, APR_SO_REUSEADDR, 1))
-
- if (!localsa) {
- apr_socket_addr_get(&localsa, APR_LOCAL, sock);
- apr_sockaddr_port_set(localsa, 8021);
- }
-
- APR_TEST_SUCCESS(rv, "Binding socket to port",
- apr_socket_bind(sock, localsa))
-
- APR_TEST_SUCCESS(rv, "Listening to socket",
- apr_socket_listen(sock, 5))
-
- APR_TEST_BEGIN(rv, "Setting up for polling",
- apr_poll_setup(&sdset, 1, context))
- APR_TEST_END(rv,
- apr_poll_socket_add(sdset, sock, APR_POLLIN))
-
- pollres = 1;
- APR_TEST_BEGIN(rv, "Polling for socket",
- apr_poll(sdset, 1, &pollres, -1))
-
- if (pollres == 0) {
- fprintf(stdout, "Failed\n");
- apr_socket_close(sock);
- fprintf(stderr, "Error: Unrecognized poll result, "
- "expected 1, received %d\n", pollres);
- exit(-1);
- }
- fprintf(stdout, "OK\n");
-
- APR_TEST_SUCCESS(rv, "Accepting a connection",
- apr_socket_accept(&sock2, sock, context))
-
- apr_socket_protocol_get(sock2, &protocol);
- if (protocol != APR_PROTO_TCP) {
- fprintf(stderr, "Error: protocol not conveyed from listening socket "
- "to connected socket!\n");
- exit(1);
- }
- apr_socket_addr_get(&remotesa, APR_REMOTE, sock2);
- apr_sockaddr_ip_get(&remote_ipaddr, remotesa);
- apr_sockaddr_port_get(&remote_port, remotesa);
- apr_socket_addr_get(&localsa, APR_LOCAL, sock2);
- apr_sockaddr_ip_get(&local_ipaddr, localsa);
- apr_sockaddr_port_get(&local_port, localsa);
- fprintf(stdout, "Server socket: %s:%u -> %s:%u\n", local_ipaddr,
- local_port, remote_ipaddr, remote_port);
-
- APR_TEST_SUCCESS(rv, "Setting timeout on client socket",
- apr_socket_timeout_set(sock2, apr_time_from_sec(3)));
-
- length = STRLEN;
- APR_TEST_BEGIN(rv, "Receiving data from socket",
- apr_socket_recv(sock2, datasend, &length))
-
- if (strcmp(datasend, "Send data test")) {
- fprintf(stdout, "Failed\n");
- apr_socket_close(sock);
- apr_socket_close(sock2);
- fprintf(stderr, "Error: Unrecognized response;\n"
- "Expected: \"Send data test\"\n"
- "Received: \"%s\"\n", datarecv);
- exit(-1);
- }
- fprintf(stdout, "OK\n");
-
- length = STRLEN;
- APR_TEST_SUCCESS(rv, "Sending data over socket",
- apr_socket_send(sock2, datarecv, &length))
-
- APR_TEST_SUCCESS(rv, "Shutting down accepted socket",
- apr_socket_shutdown(sock2, APR_SHUTDOWN_READ))
-
- APR_TEST_SUCCESS(rv, "Closing duplicate socket",
- apr_socket_close(sock2))
-
- APR_TEST_SUCCESS(rv, "Closing original socket",
- apr_socket_close(sock))
-
- return 0;
-}
-
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/test_apr.h b/rubbos/app/httpd-2.0.64/srclib/apr/test/test_apr.h
deleted file mode 100644
index 7bb8dab7..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/test_apr.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/* 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.
- */
-
-#ifndef APR_TEST_INCLUDES
-#define APR_TEST_INCLUDES
-
-#include "CuTest.h"
-#include "apr_pools.h"
-
-/* Some simple functions to make the test apps easier to write and
- * a bit more consistent...
- */
-
-extern apr_pool_t *p;
-
-CuSuite *getsuite(void);
-
-CuSuite *teststr(void);
-CuSuite *testtime(void);
-CuSuite *testvsn(void);
-CuSuite *testipsub(void);
-CuSuite *testmmap(void);
-CuSuite *testud(void);
-CuSuite *testtable(void);
-CuSuite *testhash(void);
-CuSuite *testsleep(void);
-CuSuite *testpool(void);
-CuSuite *testfmt(void);
-CuSuite *testfile(void);
-CuSuite *testdir(void);
-CuSuite *testfileinfo(void);
-CuSuite *testrand(void);
-CuSuite *testdso(void);
-CuSuite *testoc(void);
-CuSuite *testdup(void);
-CuSuite *testsockets(void);
-CuSuite *testproc(void);
-CuSuite *testprocmutex(void);
-CuSuite *testpoll(void);
-CuSuite *testlock(void);
-CuSuite *testsockopt(void);
-CuSuite *testpipe(void);
-CuSuite *testthread(void);
-CuSuite *testgetopt(void);
-CuSuite *testnames(void);
-CuSuite *testuser(void);
-CuSuite *testpath(void);
-CuSuite *testenv(void);
-
-/* Assert that RV is an APR_SUCCESS value; else fail giving strerror
- * for RV and CONTEXT message. */
-void apr_assert_success(CuTest* tc, const char *context, apr_status_t rv);
-
-
-#endif /* APR_TEST_INCLUDES */
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
deleted file mode 100644
index c7e8fe9c..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/testall.c
+++ /dev/null
@@ -1,167 +0,0 @@
-/* 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;
-}
-
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/testall.dsp b/rubbos/app/httpd-2.0.64/srclib/apr/test/testall.dsp
deleted file mode 100644
index 12f031cb..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/testall.dsp
+++ /dev/null
@@ -1,253 +0,0 @@
-# Microsoft Developer Studio Project File - Name="testall" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) External Target" 0x0106
-
-CFG=testall - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "testall.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "testall.mak" CFG="testall - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "testall - Win32 Release" (based on "Win32 (x86) External Target")
-!MESSAGE "testall - Win32 Debug" (based on "Win32 (x86) External Target")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-
-!IF "$(CFG)" == "testall - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir ""
-# PROP BASE Cmd_Line "NMAKE /f Makefile.win all"
-# PROP BASE Rebuild_Opt "/a"
-# PROP BASE Target_File "testall.exe"
-# PROP BASE Bsc_Name "testall.bsc"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir ""
-# PROP Intermediate_Dir ""
-# PROP Cmd_Line "NMAKE /f Makefile.win all"
-# PROP Rebuild_Opt "/a"
-# PROP Target_File "testall.exe"
-# PROP Bsc_Name ""
-# PROP Target_Dir ""
-
-!ELSEIF "$(CFG)" == "testall - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir ""
-# PROP BASE Intermediate_Dir ""
-# PROP BASE Cmd_Line "NMAKE /f Makefile.win all"
-# PROP BASE Rebuild_Opt "/a"
-# PROP BASE Target_File "testall.exe"
-# PROP BASE Bsc_Name "testall.bsc"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir ""
-# PROP Intermediate_Dir ""
-# PROP Cmd_Line "NMAKE /f Makefile.win all"
-# PROP Rebuild_Opt "/a"
-# PROP Target_File "testall.exe"
-# PROP Bsc_Name ""
-# PROP Target_Dir ""
-
-!ENDIF
-
-# Begin Target
-
-# Name "testall - Win32 Release"
-# Name "testall - Win32 Debug"
-
-!IF "$(CFG)" == "testall - Win32 Release"
-
-!ELSEIF "$(CFG)" == "testall - Win32 Debug"
-
-!ENDIF
-
-# Begin Source File
-
-SOURCE=.\Makefile.win
-# End Source File
-# Begin Source File
-
-SOURCE=.\testall.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testapp.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testargs.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testatomic.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testdir.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testdso.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testdup.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testfile.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testfileinfo.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testflock.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testfmt.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testglobalmutex.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testhash.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testipsub.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testlock.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testlockperf.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testmmap.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testmutexscope.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testnames.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testoc.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testpath.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testpipe.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testpoll.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testpools.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testproc.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testprocmutex.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testrand.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testshm.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testshmconsumer.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testshmproducer.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testsleep.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testsock.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testsockets.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testsockopt.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\teststr.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testtable.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testthread.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testtime.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testud.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testuser.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\testvsn.c
-# End Source File
-# End Target
-# End Project
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/testall.dsw b/rubbos/app/httpd-2.0.64/srclib/apr/test/testall.dsw
deleted file mode 100644
index f4be05d9..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/testall.dsw
+++ /dev/null
@@ -1,122 +0,0 @@
-Microsoft Developer Studio Workspace File, Format Version 6.00
-# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE!
-
-###############################################################################
-
-Project: "apr"="..\apr.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "apr_app"="..\build\apr_app.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name apr
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "testall"=".\testall.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name apr
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "libapr"="..\libapr.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
-}}}
-
-###############################################################################
-
-Project: "libapr_app"="..\build\libapr_app.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name libapr
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "testapp"=".\testapp.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name apr
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name apr_app
- End Project Dependency
-}}}
-
-###############################################################################
-
-Project: "testappnt"=".\testappnt.dsp" - Package Owner=<4>
-
-Package=<5>
-{{{
-}}}
-
-Package=<4>
-{{{
- Begin Project Dependency
- Project_Dep_Name apr
- End Project Dependency
- Begin Project Dependency
- Project_Dep_Name apr_app
- End Project Dependency
-}}}
-
-###############################################################################
-
-Global:
-
-Package=<5>
-{{{
-}}}
-
-Package=<3>
-{{{
-}}}
-
-###############################################################################
-
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/testapp.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/testapp.c
deleted file mode 100644
index 9e5bec3c..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/testapp.c
+++ /dev/null
@@ -1,10 +0,0 @@
-#include <apr.h>
-#include <apr_general.h>
-
-int main(int argc, const char * const * argv, const char * const *env)
-{
- apr_app_initialize(&argc, &argv, &env);
-
-
- apr_terminate();
-} \ No newline at end of file
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/testapp.dsp b/rubbos/app/httpd-2.0.64/srclib/apr/test/testapp.dsp
deleted file mode 100644
index 93c4aa28..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/testapp.dsp
+++ /dev/null
@@ -1,90 +0,0 @@
-# Microsoft Developer Studio Project File - Name="testapp" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=testapp - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "testapp.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "testapp.mak" CFG="testapp - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "testapp - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "testapp - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "testapp - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "APR_DECLARE_STATIC" /D "APU_DECLARE_STATIC" /FD /c
-# ADD CPP /nologo /MD /W3 /O2 /I "../include" /D "NDEBUG" /D "WIN32" /D "_CONSOLE" /D "APR_DECLARE_STATIC" /D "APU_DECLARE_STATIC" /Fd"./testapp" /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib advapi32.lib wsock32.lib ws2_32.lib /nologo /subsystem:console
-# ADD LINK32 kernel32.lib advapi32.lib wsock32.lib ws2_32.lib /nologo /subsystem:console
-
-!ELSEIF "$(CFG)" == "testapp - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "."
-# PROP BASE Intermediate_Dir "."
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "."
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MDd /W3 /EHsc /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "APR_DECLARE_STATIC" /D "APU_DECLARE_STATIC" /FD /c
-# ADD CPP /nologo /MDd /W3 /EHsc /Zi /Od /I "../include" /D "_DEBUG" /D "WIN32" /D "_CONSOLE" /D "APR_DECLARE_STATIC" /D "APU_DECLARE_STATIC" /Fd"./testapp" /FD /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib advapi32.lib wsock32.lib ws2_32.lib /nologo /subsystem:console /incremental:no /debug
-# ADD LINK32 kernel32.lib advapi32.lib wsock32.lib ws2_32.lib /nologo /subsystem:console /incremental:no /debug
-
-!ENDIF
-
-# Begin Target
-
-# Name "testapp - Win32 Release"
-# Name "testapp - Win32 Debug"
-# Begin Source File
-
-SOURCE=.\testapp.c
-# End Source File
-# End Target
-# End Project
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/testappnt.dsp b/rubbos/app/httpd-2.0.64/srclib/apr/test/testappnt.dsp
deleted file mode 100644
index f5cd4339..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/testappnt.dsp
+++ /dev/null
@@ -1,101 +0,0 @@
-# Microsoft Developer Studio Project File - Name="testappnt" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Console Application" 0x0103
-
-CFG=testappnt - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE
-!MESSAGE NMAKE /f "testappnt.mak".
-!MESSAGE
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE
-!MESSAGE NMAKE /f "testappnt.mak" CFG="testappnt - Win32 Debug"
-!MESSAGE
-!MESSAGE Possible choices for configuration are:
-!MESSAGE
-!MESSAGE "testappnt - Win32 Release" (based on "Win32 (x86) Console Application")
-!MESSAGE "testappnt - Win32 Debug" (based on "Win32 (x86) Console Application")
-!MESSAGE
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF "$(CFG)" == "testappnt - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "Release"
-# PROP Intermediate_Dir "Release"
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MD /W3 /O2 /D "WIN32" /D "WINNT" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "APR_DECLARE_STATIC" /D "APU_DECLARE_STATIC" /FD /c
-# ADD CPP /nologo /MD /W3 /O2 /I "../include" /D "NDEBUG" /D "WIN32" /D "WINNT" /D "_CONSOLE" /D "APR_DECLARE_STATIC" /D "APU_DECLARE_STATIC" /Fd"./testappnt" /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib advapi32.lib wsock32.lib ws2_32.lib /nologo /subsystem:console
-# ADD LINK32 kernel32.lib advapi32.lib wsock32.lib ws2_32.lib /nologo /entry:"wmainCRTStartup" /subsystem:console
-
-!ELSEIF "$(CFG)" == "testappnt - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "."
-# PROP BASE Intermediate_Dir "."
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "."
-# PROP Intermediate_Dir "."
-# PROP Ignore_Export_Lib 0
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /MDd /W3 /EHsc /Zi /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "APR_DECLARE_STATIC" /D "APU_DECLARE_STATIC" /FD /c
-# ADD CPP /nologo /MDd /W3 /EHsc /Zi /Od /I "../include" /D "_DEBUG" /D "WIN32" /D "WINNT" /D "_CONSOLE" /D "APR_DECLARE_STATIC" /D "APU_DECLARE_STATIC" /Fd"./testappnt" /FD /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LINK32=link.exe
-# ADD BASE LINK32 kernel32.lib advapi32.lib wsock32.lib ws2_32.lib /nologo /subsystem:console /incremental:no /debug
-# ADD LINK32 kernel32.lib advapi32.lib wsock32.lib ws2_32.lib /nologo /entry:"wmainCRTStartup" /subsystem:console /incremental:no /debug
-
-!ENDIF
-
-# Begin Target
-
-# Name "testappnt - Win32 Release"
-# Name "testappnt - Win32 Debug"
-# Begin Source File
-
-SOURCE=.\testapp.c
-
-!IF "$(CFG)" == "testappnt - Win32 Release"
-
-# ADD CPP /Fo"testappnt"
-
-!ELSEIF "$(CFG)" == "testappnt - Win32 Debug"
-
-# ADD CPP /Fo"testappnt"
-
-!ENDIF
-
-# End Source File
-# End Target
-# End Project
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/testargs.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/testargs.c
deleted file mode 100644
index 73cd766a..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/testargs.c
+++ /dev/null
@@ -1,236 +0,0 @@
-/* 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 "apr_errno.h"
-#include "apr_general.h"
-#include "apr_getopt.h"
-#include "apr_strings.h"
-#include "test_apr.h"
-
-static void format_arg(char *str, char option, const char *arg)
-{
- if (arg) {
- apr_snprintf(str, 8196, "%soption: %c with %s\n", str, option, arg);
- }
- else {
- apr_snprintf(str, 8196, "%soption: %c\n", str, option);
- }
-}
-
-static void unknown_arg(void *str, const char *err, ...)
-{
- va_list va;
-
- va_start(va, err);
- apr_vsnprintf(str, 8196, err, va);
- va_end(va);
-}
-
-static void no_options_found(CuTest *tc)
-{
- int largc = 5;
- const char * const largv[] = {"testprog", "-a", "-b", "-c", "-d"};
- apr_getopt_t *opt;
- apr_status_t rv;
- char data;
- const char *optarg;
- char str[8196];
-
- str[0] = '\0';
- rv = apr_getopt_init(&opt, p, largc, largv);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- while (apr_getopt(opt, "abcd", &data, &optarg) == APR_SUCCESS) {
- switch (data) {
- case 'a':
- case 'b':
- case 'c':
- case 'd':
- default:
- format_arg(str, data, optarg);
- }
- }
- CuAssertStrEquals(tc, "option: a\n"
- "option: b\n"
- "option: c\n"
- "option: d\n", str);
-}
-
-static void no_options(CuTest *tc)
-{
- int largc = 5;
- const char * const largv[] = {"testprog", "-a", "-b", "-c", "-d"};
- apr_getopt_t *opt;
- apr_status_t rv;
- char data;
- const char *optarg;
- char str[8196];
-
- str[0] = '\0';
- rv = apr_getopt_init(&opt, p, largc, largv);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- opt->errfn = unknown_arg;
- opt->errarg = str;
-
- while (apr_getopt(opt, "efgh", &data, &optarg) == APR_SUCCESS) {
- switch (data) {
- case 'a':
- case 'b':
- case 'c':
- case 'd':
- format_arg(str, data, optarg);
- break;
- default:
- break;
- }
- }
- CuAssertStrEquals(tc, "testprog: illegal option -- a\n", str);
-}
-
-static void required_option(CuTest *tc)
-{
- int largc = 3;
- const char * const largv[] = {"testprog", "-a", "foo"};
- apr_getopt_t *opt;
- apr_status_t rv;
- char data;
- const char *optarg;
- char str[8196];
-
- str[0] = '\0';
- rv = apr_getopt_init(&opt, p, largc, largv);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- opt->errfn = unknown_arg;
- opt->errarg = str;
-
- while (apr_getopt(opt, "a:", &data, &optarg) == APR_SUCCESS) {
- switch (data) {
- case 'a':
- format_arg(str, data, optarg);
- break;
- default:
- break;
- }
- }
- CuAssertStrEquals(tc, "option: a with foo\n", str);
-}
-
-static void required_option_notgiven(CuTest *tc)
-{
- int largc = 2;
- const char * const largv[] = {"testprog", "-a"};
- apr_getopt_t *opt;
- apr_status_t rv;
- char data;
- const char *optarg;
- char str[8196];
-
- str[0] = '\0';
- rv = apr_getopt_init(&opt, p, largc, largv);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- opt->errfn = unknown_arg;
- opt->errarg = str;
-
- while (apr_getopt(opt, "a:", &data, &optarg) == APR_SUCCESS) {
- switch (data) {
- case 'a':
- format_arg(str, data, optarg);
- break;
- default:
- break;
- }
- }
- CuAssertStrEquals(tc, "testprog: option requires an argument -- a\n", str);
-}
-
-static void optional_option(CuTest *tc)
-{
- int largc = 3;
- const char * const largv[] = {"testprog", "-a", "foo"};
- apr_getopt_t *opt;
- apr_status_t rv;
- char data;
- const char *optarg;
- char str[8196];
-
- str[0] = '\0';
- rv = apr_getopt_init(&opt, p, largc, largv);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- opt->errfn = unknown_arg;
- opt->errarg = str;
-
- while (apr_getopt(opt, "a::", &data, &optarg) == APR_SUCCESS) {
- switch (data) {
- case 'a':
- format_arg(str, data, optarg);
- break;
- default:
- break;
- }
- }
- CuAssertStrEquals(tc, "option: a with foo\n", str);
-}
-
-static void optional_option_notgiven(CuTest *tc)
-{
- int largc = 2;
- const char * const largv[] = {"testprog", "-a"};
- apr_getopt_t *opt;
- apr_status_t rv;
- char data;
- const char *optarg;
- char str[8196];
-
- str[0] = '\0';
- rv = apr_getopt_init(&opt, p, largc, largv);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- opt->errfn = unknown_arg;
- opt->errarg = str;
-
- while (apr_getopt(opt, "a::", &data, &optarg) == APR_SUCCESS) {
- switch (data) {
- case 'a':
- format_arg(str, data, optarg);
- break;
- default:
- break;
- }
- }
-#if 0
-/* Our version of getopt doesn't allow for optional arguments. */
- CuAssertStrEquals(tc, "option: a\n", str);
-#endif
- CuAssertStrEquals(tc, "testprog: option requires an argument -- a\n", str);
-}
-
-CuSuite *testgetopt(void)
-{
- CuSuite *suite = CuSuiteNew("Getopt");
-
- SUITE_ADD_TEST(suite, no_options);
- SUITE_ADD_TEST(suite, no_options_found);
- SUITE_ADD_TEST(suite, required_option);
- SUITE_ADD_TEST(suite, required_option_notgiven);
- SUITE_ADD_TEST(suite, optional_option);
- SUITE_ADD_TEST(suite, optional_option_notgiven);
-
- return suite;
-}
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/testatomic.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/testatomic.c
deleted file mode 100644
index d226bd1b..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/testatomic.c
+++ /dev/null
@@ -1,344 +0,0 @@
-/* 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 "apr_thread_proc.h"
-#include "apr_errno.h"
-#include "apr_general.h"
-#include "apr_atomic.h"
-#include "errno.h"
-#include "apr_time.h"
-#if APR_HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#if !(defined WIN32) && !(defined NETWARE)
-#include <pthread.h>
-#endif
-
-apr_pool_t *context;
-apr_atomic_t y; /* atomic locks */
-
-static apr_status_t check_basic_atomics(volatile apr_atomic_t*p)
-{
- apr_atomic_t oldval;
- apr_uint32_t casval = 0;
- float object1, object2;
-#if !(defined NETWARE)
- volatile void *casptr;
-#else
- void *casptr;
-#endif
- void *oldptr;
-
- apr_atomic_set(&y, 2);
- printf("%-60s", "testing apr_atomic_dec");
- if (apr_atomic_dec(&y) == 0) {
- fprintf(stderr, "Failed\noldval =%d should not be zero\n",
- apr_atomic_read(&y));
- return APR_EGENERAL;
- }
- if (apr_atomic_dec(&y) != 0) {
- fprintf(stderr, "Failed\noldval =%d should be zero\n",
- apr_atomic_read(&y));
- return APR_EGENERAL;
- }
- printf("OK\n");
-
- printf("%-60s", "testing CAS");
- oldval = apr_atomic_cas(&casval, 12, 0);
- if (oldval != 0) {
- fprintf(stderr, "Failed\noldval =%d should be zero\n", oldval);
- return APR_EGENERAL;
- }
- printf("OK\n");
- printf("%-60s", "testing CAS - match non-null");
- oldval = apr_atomic_cas(&casval, 23, 12);
- if (oldval != 12) {
- fprintf(stderr, "Failed\noldval =%d should be 12 y=%d\n",
- oldval, casval);
- return APR_EGENERAL;
- }
- printf("OK\n");
- printf("%-60s", "testing CAS - no match");
- oldval = apr_atomic_cas(&casval, 23, 12);
- if (oldval != 23) {
- fprintf(stderr, "Failed\noldval =%d should be 23 y=%d\n",
- oldval, casval);
- return APR_EGENERAL;
- }
- printf("OK\n");
-
- printf("%-60s", "testing CAS for pointers");
- casptr = NULL;
- oldptr = apr_atomic_casptr(&casptr, &object1, 0);
- if (oldptr != 0) {
- fprintf(stderr, "Failed\noldval =%p should be zero\n", oldptr);
- return APR_EGENERAL;
- }
- printf("OK\n");
- printf("%-60s", "testing CAS for pointers - match non-null");
- oldptr = apr_atomic_casptr(&casptr, &object2, &object1);
- if (oldptr != &object1) {
- fprintf(stderr, "Failed\noldval =%p should be %p\n", oldptr, &object1);
- return APR_EGENERAL;
- }
- printf("OK\n");
- printf("%-60s", "testing CAS for pointers - no match");
- oldptr = apr_atomic_casptr(&casptr, &object2, &object1);
- if (oldptr != &object2) {
- fprintf(stderr, "Failed\noldval =%p should be %p\n", oldptr, &object2);
- return APR_EGENERAL;
- }
- printf("OK\n");
-
- printf("%-60s", "testing add");
- apr_atomic_set(&y, 23);
- apr_atomic_add(&y, 4);
- if (apr_atomic_read(&y) != 27) {
- fprintf(stderr,
- "Failed\nAtomic Add doesn't add up ;( expected 27 got %d\n",
- oldval);
- return APR_EGENERAL;
- }
-
- printf("OK\n");
- printf("%-60s", "testing add/inc");
- apr_atomic_set(&y, 0);
- apr_atomic_add(&y, 20);
- apr_atomic_inc(&y);
- if (apr_atomic_read(&y) != 21) {
- fprintf(stderr, "Failed.\natomics do not add up\n");
- return APR_EGENERAL;
- }
- fprintf(stdout, "OK\n");
-
- return APR_SUCCESS;
-}
-
-#if !APR_HAS_THREADS
-int main(void)
-{
- apr_status_t rv;
-
- apr_initialize();
-
- fprintf(stderr,
- "This program won't work fully on this platform because there is no "
- "support for threads.\n");
- if (apr_pool_create(&context, NULL) != APR_SUCCESS) {
- fflush(stdout);
- fprintf(stderr, "Failed.\nCould not initialize\n");
- exit(-1);
- }
- rv = apr_atomic_init(context);
- if (rv != APR_SUCCESS) {
- fprintf(stderr, "Failed.\nCould not initialize atomics\n");
- exit(-1);
- }
- rv = check_basic_atomics(&y);
- if (rv != APR_SUCCESS) {
- fprintf(stderr, "Failed.\n");
- exit(-1);
- }
- return 0;
-}
-#else /* !APR_HAS_THREADS */
-
-void * APR_THREAD_FUNC thread_func_mutex(apr_thread_t *thd, void *data);
-void * APR_THREAD_FUNC thread_func_atomic(apr_thread_t *thd, void *data);
-void * APR_THREAD_FUNC thread_func_none(apr_thread_t *thd, void *data);
-
-apr_thread_mutex_t *thread_lock;
-volatile long x = 0; /* mutex locks */
-volatile long z = 0; /* no locks */
-int value = 0;
-apr_status_t exit_ret_val = 123; /* just some made up number to check on later */
-
-#define NUM_THREADS 50
-#define NUM_ITERATIONS 20000
-void * APR_THREAD_FUNC thread_func_mutex(apr_thread_t *thd, void *data)
-{
- int i;
-
- for (i = 0; i < NUM_ITERATIONS; i++) {
- apr_thread_mutex_lock(thread_lock);
- x++;
- apr_thread_mutex_unlock(thread_lock);
- }
- apr_thread_exit(thd, exit_ret_val);
- return NULL;
-}
-
-void * APR_THREAD_FUNC thread_func_atomic(apr_thread_t *thd, void *data)
-{
- int i;
-
- for (i = 0; i < NUM_ITERATIONS ; i++) {
- apr_atomic_inc(&y);
- apr_atomic_add(&y, 2);
- apr_atomic_dec(&y);
- apr_atomic_dec(&y);
- }
- apr_thread_exit(thd, exit_ret_val);
- return NULL;
-}
-
-void * APR_THREAD_FUNC thread_func_none(apr_thread_t *thd, void *data)
-{
- int i;
-
- for (i = 0; i < NUM_ITERATIONS ; i++) {
- z++;
- }
- apr_thread_exit(thd, exit_ret_val);
- return NULL;
-}
-
-int main(int argc, char**argv)
-{
- apr_thread_t *t1[NUM_THREADS];
- apr_thread_t *t2[NUM_THREADS];
- apr_status_t r1[NUM_THREADS];
- apr_status_t r2[NUM_THREADS];
- apr_status_t s1[NUM_THREADS];
- apr_status_t s2[NUM_THREADS];
- apr_status_t rv;
- int i;
- int mutex;
-
- apr_initialize();
-
- if (argc == 2 && argv[1][0] == 'm') {
- mutex = 1;
- }
- else {
- mutex = 0;
- }
-
- printf("APR Atomic Test\n===============\n\n");
-#if !(defined WIN32) && !(defined NETWARE) && !(defined __MVS__) && !(defined DARWIN)
- pthread_setconcurrency(8);
-#endif
- printf("%-60s", "Initializing the context");
- if (apr_pool_create(&context, NULL) != APR_SUCCESS) {
- fflush(stdout);
- fprintf(stderr, "Failed.\nCould not initialize\n");
- exit(-1);
- }
- printf("OK\n");
-
- if (mutex == 1) {
- printf("%-60s", "Initializing the lock");
- rv = apr_thread_mutex_create(&thread_lock, APR_THREAD_MUTEX_DEFAULT,
- context);
- if (rv != APR_SUCCESS) {
- fflush(stdout);
- fprintf(stderr, "Failed\nCould not create lock\n");
- exit(-1);
- }
- printf("OK\n");
- }
- printf("%-60s", "Initializing the atomics");
- rv = apr_atomic_init(context);
- if (rv != APR_SUCCESS) {
- fprintf(stderr, "Failed.\n");
- exit(-1);
- }
- printf("OK\n");
-
- rv = check_basic_atomics(&y);
- if (rv != APR_SUCCESS) {
- fprintf(stderr, "Failed.\n");
- exit(-1);
- }
- apr_atomic_set(&y, 0);
-
- printf("%-60s", "Starting all the threads");
- for (i = 0; i < NUM_THREADS; i++) {
- r1[i] = apr_thread_create(&t1[i], NULL,
- (mutex == 1 ? thread_func_mutex : thread_func_atomic),
- NULL, context);
- r2[i] = apr_thread_create(&t2[i], NULL, thread_func_none, NULL,
- context);
- if (r1[i] != APR_SUCCESS || r2[i] != APR_SUCCESS ) {
- fflush(stdout);
- fprintf(stderr, "Failed\nError starting thread in group %d\n",i);
- exit(-1);
- }
- }
- printf("OK\n");
-
- printf("%-60s\n", "Waiting for threads to exit");
- printf("%-60s", "(Note that this may take a while to complete.)");
- fflush(stdout);
-
- for (i = 0; i < NUM_THREADS; i++) {
- apr_thread_join(&s1[i], t1[i]);
- apr_thread_join(&s2[i], t2[i]);
- if (s1[i] != exit_ret_val || s2[i] != exit_ret_val) {
- fprintf(stderr,
- "Invalid return value\n"
- "Got %d/%d, but expected %d for all \n",
- s1[i], s2[i], exit_ret_val);
- }
- }
- printf("OK\n");
-
- if (mutex == 1) {
- printf("%-60s", "Checking if mutex locks worked");
- if (x != NUM_THREADS * NUM_ITERATIONS) {
- fflush(stdout);
- fprintf(stderr,
- "No!\nThe locks didn't work?? x = %ld instead of %ld\n",
- x,
- (long)NUM_THREADS * NUM_ITERATIONS);
- }
- else {
- printf("OK\n");
- }
- }
- else {
- printf("%-60s", "Checking if atomic worked");
- if (apr_atomic_read(&y) != NUM_THREADS * NUM_ITERATIONS) {
- fflush(stdout);
- fprintf(stderr,
- "No!\nThe atomics didn't work?? y = %ld instead of %ld\n",
- (long)apr_atomic_read(&y),
- (long)NUM_THREADS * NUM_ITERATIONS);
- }
- else {
- printf("OK\n");
- }
- }
- printf("%-60s", "Checking if nolock worked");
- if (z != NUM_THREADS * NUM_ITERATIONS) {
- fflush(stdout);
- fprintf(stderr,
- "no surprise\n"
- "The no-locks didn't work. z = %ld instead of %ld\n",
- z,
- (long)NUM_THREADS * NUM_ITERATIONS);
- }
- else {
- printf("OK\n");
- }
-
- return 0;
-}
-
-#endif /* !APR_HAS_THREADS */
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/testdir.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/testdir.c
deleted file mode 100644
index 98506463..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/testdir.c
+++ /dev/null
@@ -1,275 +0,0 @@
-/* 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 <string.h>
-#include "apr_file_io.h"
-#include "apr_file_info.h"
-#include "apr_errno.h"
-#include "apr_general.h"
-#include "apr_lib.h"
-#include "test_apr.h"
-
-static void test_mkdir(CuTest *tc)
-{
- apr_status_t rv;
- apr_finfo_t finfo;
-
- rv = apr_dir_make("data/testdir", APR_UREAD | APR_UWRITE | APR_UEXECUTE, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_stat(&finfo, "data/testdir", APR_FINFO_TYPE, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertIntEquals(tc, APR_DIR, finfo.filetype);
-}
-
-static void test_mkdir_recurs(CuTest *tc)
-{
- apr_status_t rv;
- apr_finfo_t finfo;
-
- rv = apr_dir_make_recursive("data/one/two/three",
- APR_UREAD | APR_UWRITE | APR_UEXECUTE, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_stat(&finfo, "data/one", APR_FINFO_TYPE, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertIntEquals(tc, APR_DIR, finfo.filetype);
-
- rv = apr_stat(&finfo, "data/one/two", APR_FINFO_TYPE, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertIntEquals(tc, APR_DIR, finfo.filetype);
-
- rv = apr_stat(&finfo, "data/one/two/three", APR_FINFO_TYPE, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertIntEquals(tc, APR_DIR, finfo.filetype);
-}
-
-static void test_remove(CuTest *tc)
-{
- apr_status_t rv;
- apr_finfo_t finfo;
-
- rv = apr_dir_remove("data/testdir", p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_stat(&finfo, "data/testdir", APR_FINFO_TYPE, p);
- CuAssertIntEquals(tc, 1, APR_STATUS_IS_ENOENT(rv));
-}
-
-static void test_removeall_fail(CuTest *tc)
-{
- apr_status_t rv;
-
- rv = apr_dir_remove("data/one", p);
- CuAssertIntEquals(tc, 1, APR_STATUS_IS_ENOTEMPTY(rv));
-}
-
-static void test_removeall(CuTest *tc)
-{
- apr_status_t rv;
-
- rv = apr_dir_remove("data/one/two/three", p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_dir_remove("data/one/two", p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_dir_remove("data/one", p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-}
-
-static void test_remove_notthere(CuTest *tc)
-{
- apr_status_t rv;
-
- rv = apr_dir_remove("data/notthere", p);
- CuAssertIntEquals(tc, 1, APR_STATUS_IS_ENOENT(rv));
-}
-
-static void test_mkdir_twice(CuTest *tc)
-{
- apr_status_t rv;
-
- rv = apr_dir_make("data/testdir", APR_UREAD | APR_UWRITE | APR_UEXECUTE, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_dir_make("data/testdir", APR_UREAD | APR_UWRITE | APR_UEXECUTE, p);
- CuAssertIntEquals(tc, 1, APR_STATUS_IS_EEXIST(rv));
-
- rv = apr_dir_remove("data/testdir", p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-}
-
-static void test_opendir(CuTest *tc)
-{
- apr_status_t rv;
- apr_dir_t *dir;
-
- rv = apr_dir_open(&dir, "data", p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- apr_dir_close(dir);
-}
-
-static void test_opendir_notthere(CuTest *tc)
-{
- apr_status_t rv;
- apr_dir_t *dir;
-
- rv = apr_dir_open(&dir, "notthere", p);
- CuAssertIntEquals(tc, 1, APR_STATUS_IS_ENOENT(rv));
-}
-
-static void test_closedir(CuTest *tc)
-{
- apr_status_t rv;
- apr_dir_t *dir;
-
- rv = apr_dir_open(&dir, "data", p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- rv = apr_dir_close(dir);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-}
-
-static void test_rewind(CuTest *tc)
-{
- apr_dir_t *dir;
- apr_finfo_t first, second;
-
- apr_assert_success(tc, "apr_dir_open failed", apr_dir_open(&dir, "data", p));
-
- apr_assert_success(tc, "apr_dir_read failed",
- apr_dir_read(&first, APR_FINFO_DIRENT, dir));
-
- apr_assert_success(tc, "apr_dir_rewind failed", apr_dir_rewind(dir));
-
- apr_assert_success(tc, "second apr_dir_read failed",
- apr_dir_read(&second, APR_FINFO_DIRENT, dir));
-
- apr_assert_success(tc, "apr_dir_close failed", apr_dir_close(dir));
-
- CuAssertStrEquals(tc, first.name, second.name);
-}
-
-/* Test for a (fixed) bug in apr_dir_read(). This bug only happened
- in threadless cases. */
-static void test_uncleared_errno(CuTest *tc)
-{
- apr_file_t *thefile = NULL;
- apr_finfo_t finfo;
- apr_int32_t finfo_flags = APR_FINFO_TYPE | APR_FINFO_NAME;
- apr_dir_t *this_dir;
- apr_status_t rv;
-
- rv = apr_dir_make("dir1", APR_OS_DEFAULT, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- rv = apr_dir_make("dir2", APR_OS_DEFAULT, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- rv = apr_file_open(&thefile, "dir1/file1",
- APR_READ | APR_WRITE | APR_CREATE, APR_OS_DEFAULT, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- rv = apr_file_close(thefile);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- /* Try to remove dir1. This should fail because it's not empty.
- However, on a platform with threads disabled (such as FreeBSD),
- `errno' will be set as a result. */
- rv = apr_dir_remove("dir1", p);
- CuAssertIntEquals(tc, 1, APR_STATUS_IS_ENOTEMPTY(rv));
-
- /* Read `.' and `..' out of dir2. */
- rv = apr_dir_open(&this_dir, "dir2", p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- rv = apr_dir_read(&finfo, finfo_flags, this_dir);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- rv = apr_dir_read(&finfo, finfo_flags, this_dir);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- /* Now, when we attempt to do a third read of empty dir2, and the
- underlying system readdir() returns NULL, the old value of
- errno shouldn't cause a false alarm. We should get an ENOENT
- back from apr_dir_read, and *not* the old errno. */
- rv = apr_dir_read(&finfo, finfo_flags, this_dir);
- CuAssertIntEquals(tc, 1, APR_STATUS_IS_ENOENT(rv));
-
- rv = apr_dir_close(this_dir);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- /* Cleanup */
- rv = apr_file_remove("dir1/file1", p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- rv = apr_dir_remove("dir1", p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- rv = apr_dir_remove("dir2", p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
-}
-
-static void test_rmkdir_nocwd(CuTest *tc)
-{
- char *cwd, *path;
- apr_status_t rv;
-
- apr_assert_success(tc, "make temp dir",
- apr_dir_make("dir3", APR_OS_DEFAULT, p));
-
- apr_assert_success(tc, "obtain cwd", apr_filepath_get(&cwd, 0, p));
-
- apr_assert_success(tc, "determine path to temp dir",
- apr_filepath_merge(&path, cwd, "dir3", 0, p));
-
- apr_assert_success(tc, "change to temp dir", apr_filepath_set(path, p));
-
- rv = apr_dir_remove(path, p);
- /* Some platforms cannot remove a directory which is in use. */
- if (rv == APR_SUCCESS) {
- CuAssert(tc, "fail to create dir",
- apr_dir_make_recursive("foobar", APR_OS_DEFAULT,
- p) != APR_SUCCESS);
- }
-
- apr_assert_success(tc, "restore cwd", apr_filepath_set(cwd, p));
-
- if (rv) {
- apr_dir_remove(path, p);
- CuNotImpl(tc, "cannot remove in-use directory");
- }
-}
-
-CuSuite *testdir(void)
-{
- CuSuite *suite = CuSuiteNew("Directory");
-
- SUITE_ADD_TEST(suite, test_mkdir);
- SUITE_ADD_TEST(suite, test_mkdir_recurs);
- SUITE_ADD_TEST(suite, test_remove);
- SUITE_ADD_TEST(suite, test_removeall_fail);
- SUITE_ADD_TEST(suite, test_removeall);
- SUITE_ADD_TEST(suite, test_remove_notthere);
- SUITE_ADD_TEST(suite, test_mkdir_twice);
- SUITE_ADD_TEST(suite, test_rmkdir_nocwd);
-
- SUITE_ADD_TEST(suite, test_rewind);
-
- SUITE_ADD_TEST(suite, test_opendir);
- SUITE_ADD_TEST(suite, test_opendir_notthere);
- SUITE_ADD_TEST(suite, test_closedir);
- SUITE_ADD_TEST(suite, test_uncleared_errno);
-
- return suite;
-}
-
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/testdso.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/testdso.c
deleted file mode 100644
index f30beb14..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/testdso.c
+++ /dev/null
@@ -1,247 +0,0 @@
-/* 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 "test_apr.h"
-#include "apr_general.h"
-#include "apr_pools.h"
-#include "apr_errno.h"
-#include "apr_dso.h"
-#include "apr_strings.h"
-#include "apr_file_info.h"
-#include "apr.h"
-#if APR_HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#ifdef NETWARE
-# define MOD_NAME "mod_test.nlm"
-#elif defined(BEOS) || defined(WIN32)
-# define MOD_NAME "mod_test.so"
-#elif defined(DARWIN)
-# define MOD_NAME ".libs/mod_test.so"
-# define LIB_NAME ".libs/libmod_test.dylib"
-#elif defined(__hpux__) || defined(__hpux)
-# define MOD_NAME ".libs/mod_test.sl"
-# define LIB_NAME ".libs/libmod_test.sl"
-#elif defined(_AIX) || defined(__bsdi__)
-# define MOD_NAME ".libs/libmod_test.so"
-# define LIB_NAME ".libs/libmod_test.so"
-#else /* Every other Unix */
-# define MOD_NAME ".libs/mod_test.so"
-# define LIB_NAME ".libs/libmod_test.so"
-#endif
-
-static char *modname;
-
-static void test_load_module(CuTest *tc)
-{
- apr_dso_handle_t *h = NULL;
- apr_status_t status;
- char errstr[256];
-
- status = apr_dso_load(&h, modname, p);
- CuAssert(tc, apr_dso_error(h, errstr, 256), APR_SUCCESS == status);
- CuAssertPtrNotNull(tc, h);
-
- apr_dso_unload(h);
-}
-
-static void test_dso_sym(CuTest *tc)
-{
- apr_dso_handle_t *h = NULL;
- apr_dso_handle_sym_t func1 = NULL;
- apr_status_t status;
- void (*function)(char str[256]);
- char teststr[256];
- char errstr[256];
-
- status = apr_dso_load(&h, modname, p);
- CuAssert(tc, apr_dso_error(h, errstr, 256), APR_SUCCESS == status);
- CuAssertPtrNotNull(tc, h);
-
- status = apr_dso_sym(&func1, h, "print_hello");
- CuAssert(tc, apr_dso_error(h, errstr, 256), APR_SUCCESS == status);
- CuAssertPtrNotNull(tc, func1);
-
- function = (void (*)(char *))func1;
- (*function)(teststr);
- CuAssertStrEquals(tc, "Hello - I'm a DSO!\n", teststr);
-
- apr_dso_unload(h);
-}
-
-static void test_dso_sym_return_value(CuTest *tc)
-{
- apr_dso_handle_t *h = NULL;
- apr_dso_handle_sym_t func1 = NULL;
- apr_status_t status;
- int (*function)(int);
- char errstr[256];
-
- status = apr_dso_load(&h, modname, p);
- CuAssert(tc, apr_dso_error(h, errstr, 256), APR_SUCCESS == status);
- CuAssertPtrNotNull(tc, h);
-
- status = apr_dso_sym(&func1, h, "count_reps");
- CuAssert(tc, apr_dso_error(h, errstr, 256), APR_SUCCESS == status);
- CuAssertPtrNotNull(tc, func1);
-
- function = (int (*)(int))func1;
- status = (*function)(5);
- CuAssertIntEquals(tc, 5, status);
-
- apr_dso_unload(h);
-}
-
-static void test_unload_module(CuTest *tc)
-{
- apr_dso_handle_t *h = NULL;
- apr_status_t status;
- char errstr[256];
- apr_dso_handle_sym_t func1 = NULL;
-
- status = apr_dso_load(&h, modname, p);
- CuAssert(tc, apr_dso_error(h, errstr, 256), APR_SUCCESS == status);
- CuAssertPtrNotNull(tc, h);
-
- status = apr_dso_unload(h);
- CuAssert(tc, apr_dso_error(h, errstr, 256), APR_SUCCESS == status);
-
- status = apr_dso_sym(&func1, h, "print_hello");
- CuAssertIntEquals(tc, 1, APR_STATUS_IS_ESYMNOTFOUND(status));
-}
-
-
-#ifdef LIB_NAME
-static char *libname;
-
-static void test_load_library(CuTest *tc)
-{
- apr_dso_handle_t *h = NULL;
- apr_status_t status;
- char errstr[256];
-
- status = apr_dso_load(&h, libname, p);
- CuAssert(tc, apr_dso_error(h, errstr, 256), APR_SUCCESS == status);
- CuAssertPtrNotNull(tc, h);
-
- apr_dso_unload(h);
-}
-
-static void test_dso_sym_library(CuTest *tc)
-{
- apr_dso_handle_t *h = NULL;
- apr_dso_handle_sym_t func1 = NULL;
- apr_status_t status;
- void (*function)(char str[256]);
- char teststr[256];
- char errstr[256];
-
- status = apr_dso_load(&h, libname, p);
- CuAssert(tc, apr_dso_error(h, errstr, 256), APR_SUCCESS == status);
- CuAssertPtrNotNull(tc, h);
-
- status = apr_dso_sym(&func1, h, "print_hello");
- CuAssert(tc, apr_dso_error(h, errstr, 256), APR_SUCCESS == status);
- CuAssertPtrNotNull(tc, func1);
-
- function = (void (*)(char *))func1;
- (*function)(teststr);
- CuAssertStrEquals(tc, "Hello - I'm a DSO!\n", teststr);
-
- apr_dso_unload(h);
-}
-
-static void test_dso_sym_return_value_library(CuTest *tc)
-{
- apr_dso_handle_t *h = NULL;
- apr_dso_handle_sym_t func1 = NULL;
- apr_status_t status;
- int (*function)(int);
- char errstr[256];
-
- status = apr_dso_load(&h, libname, p);
- CuAssert(tc, apr_dso_error(h, errstr, 256), APR_SUCCESS == status);
- CuAssertPtrNotNull(tc, h);
-
- status = apr_dso_sym(&func1, h, "count_reps");
- CuAssert(tc, apr_dso_error(h, errstr, 256), APR_SUCCESS == status);
- CuAssertPtrNotNull(tc, func1);
-
- function = (int (*)(int))func1;
- status = (*function)(5);
- CuAssertIntEquals(tc, 5, status);
-
- apr_dso_unload(h);
-}
-
-static void test_unload_library(CuTest *tc)
-{
- apr_dso_handle_t *h = NULL;
- apr_status_t status;
- char errstr[256];
- apr_dso_handle_sym_t func1 = NULL;
-
- status = apr_dso_load(&h, libname, p);
- CuAssert(tc, apr_dso_error(h, errstr, 256), APR_SUCCESS == status);
- CuAssertPtrNotNull(tc, h);
-
- status = apr_dso_unload(h);
- CuAssert(tc, apr_dso_error(h, errstr, 256), APR_SUCCESS == status);
-
- status = apr_dso_sym(&func1, h, "print_hello");
- CuAssertIntEquals(tc, 1, APR_STATUS_IS_ESYMNOTFOUND(status));
-}
-
-#endif /* def(LIB_NAME) */
-
-static void test_load_notthere(CuTest *tc)
-{
- apr_dso_handle_t *h = NULL;
- apr_status_t status;
-
- status = apr_dso_load(&h, "No_File.so", p);
-
- CuAssertIntEquals(tc, 1, APR_STATUS_IS_EDSOOPEN(status));
- CuAssertPtrNotNull(tc, h);
-}
-
-CuSuite *testdso(void)
-{
- CuSuite *suite = CuSuiteNew("DSO");
-
- apr_filepath_merge(&modname, NULL, MOD_NAME, 0, p);
-
- SUITE_ADD_TEST(suite, test_load_module);
- SUITE_ADD_TEST(suite, test_dso_sym);
- SUITE_ADD_TEST(suite, test_dso_sym_return_value);
- SUITE_ADD_TEST(suite, test_unload_module);
-
-#ifdef LIB_NAME
- apr_filepath_merge(&libname, NULL, LIB_NAME, 0, p);
-
- SUITE_ADD_TEST(suite, test_load_library);
- SUITE_ADD_TEST(suite, test_dso_sym_library);
- SUITE_ADD_TEST(suite, test_dso_sym_return_value_library);
- SUITE_ADD_TEST(suite, test_unload_library);
-#endif
-
- SUITE_ADD_TEST(suite, test_load_notthere);
-
- return suite;
-}
-
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/testdup.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/testdup.c
deleted file mode 100644
index 74f64aee..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/testdup.c
+++ /dev/null
@@ -1,194 +0,0 @@
-/* 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 "apr_general.h"
-#include "apr_pools.h"
-#include "apr_errno.h"
-#include "apr_file_io.h"
-#include "test_apr.h"
-
-#define TEST "Testing\n"
-#define TEST2 "Testing again\n"
-#define FILEPATH "data/"
-
-static void test_file_dup(CuTest *tc)
-{
- apr_file_t *file1 = NULL;
- apr_file_t *file3 = NULL;
- apr_status_t rv;
- apr_finfo_t finfo;
-
- /* First, create a new file, empty... */
- rv = apr_file_open(&file1, FILEPATH "testdup.file",
- APR_READ | APR_WRITE | APR_CREATE |
- APR_DELONCLOSE, APR_OS_DEFAULT, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertPtrNotNull(tc, file1);
-
- rv = apr_file_dup(&file3, file1, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertPtrNotNull(tc, file3);
-
- rv = apr_file_close(file1);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- /* cleanup after ourselves */
- rv = apr_file_close(file3);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- rv = apr_stat(&finfo, FILEPATH "testdup.file", APR_FINFO_NORM, p);
- CuAssertIntEquals(tc, 1, APR_STATUS_IS_ENOENT(rv));
-}
-
-static void test_file_readwrite(CuTest *tc)
-{
- apr_file_t *file1 = NULL;
- apr_file_t *file3 = NULL;
- apr_status_t rv;
- apr_finfo_t finfo;
- apr_size_t txtlen = sizeof(TEST);
- char buff[50];
- apr_off_t fpos;
-
- /* First, create a new file, empty... */
- rv = apr_file_open(&file1, FILEPATH "testdup.readwrite.file",
- APR_READ | APR_WRITE | APR_CREATE |
- APR_DELONCLOSE, APR_OS_DEFAULT, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertPtrNotNull(tc, file1);
-
- rv = apr_file_dup(&file3, file1, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertPtrNotNull(tc, file3);
-
- rv = apr_file_write(file3, TEST, &txtlen);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertIntEquals(tc, sizeof(TEST), txtlen);
-
- fpos = 0;
- rv = apr_file_seek(file1, APR_SET, &fpos);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssert(tc, "File position mismatch, expected 0", fpos == 0);
-
- txtlen = 50;
- rv = apr_file_read(file1, buff, &txtlen);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertStrEquals(tc, TEST, buff);
-
- /* cleanup after ourselves */
- rv = apr_file_close(file1);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_file_close(file3);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- rv = apr_stat(&finfo, FILEPATH "testdup.readwrite.file", APR_FINFO_NORM, p);
- CuAssertIntEquals(tc, 1, APR_STATUS_IS_ENOENT(rv));
-}
-
-static void test_dup2(CuTest *tc)
-{
- apr_file_t *testfile = NULL;
- apr_file_t *errfile = NULL;
- apr_file_t *saveerr = NULL;
- apr_status_t rv;
-
- rv = apr_file_open(&testfile, FILEPATH "testdup2.file",
- APR_READ | APR_WRITE | APR_CREATE |
- APR_DELONCLOSE, APR_OS_DEFAULT, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertPtrNotNull(tc, testfile);
-
- rv = apr_file_open_stderr(&errfile, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- /* Set aside the real errfile */
- rv = apr_file_dup(&saveerr, errfile, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertPtrNotNull(tc, saveerr);
-
- rv = apr_file_dup2(errfile, testfile, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertPtrNotNull(tc, errfile);
-
- apr_file_close(testfile);
-
- rv = apr_file_dup2(errfile, saveerr, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertPtrNotNull(tc, errfile);
-}
-
-static void test_dup2_readwrite(CuTest *tc)
-{
- apr_file_t *errfile = NULL;
- apr_file_t *testfile = NULL;
- apr_file_t *saveerr = NULL;
- apr_status_t rv;
- apr_size_t txtlen = sizeof(TEST);
- char buff[50];
- apr_off_t fpos;
-
- rv = apr_file_open(&testfile, FILEPATH "testdup2.readwrite.file",
- APR_READ | APR_WRITE | APR_CREATE |
- APR_DELONCLOSE, APR_OS_DEFAULT, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertPtrNotNull(tc, testfile);
-
- rv = apr_file_open_stderr(&errfile, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- /* Set aside the real errfile */
- rv = apr_file_dup(&saveerr, errfile, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertPtrNotNull(tc, saveerr);
-
- rv = apr_file_dup2(errfile, testfile, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertPtrNotNull(tc, errfile);
-
- txtlen = sizeof(TEST2);
- rv = apr_file_write(errfile, TEST2, &txtlen);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertIntEquals(tc, sizeof(TEST2), txtlen);
-
- fpos = 0;
- rv = apr_file_seek(testfile, APR_SET, &fpos);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssert(tc, "File position mismatch, expected 0", fpos == 0);
-
- txtlen = 50;
- rv = apr_file_read(testfile, buff, &txtlen);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertStrEquals(tc, TEST2, buff);
-
- apr_file_close(testfile);
-
- rv = apr_file_dup2(errfile, saveerr, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertPtrNotNull(tc, errfile);
-}
-
-CuSuite *testdup(void)
-{
- CuSuite *suite = CuSuiteNew("File duplication");
-
- SUITE_ADD_TEST(suite, test_file_dup);
- SUITE_ADD_TEST(suite, test_file_readwrite);
- SUITE_ADD_TEST(suite, test_dup2);
- SUITE_ADD_TEST(suite, test_dup2_readwrite);
-
- return suite;
-}
-
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/testenv.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/testenv.c
deleted file mode 100644
index 6bc97a11..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/testenv.c
+++ /dev/null
@@ -1,144 +0,0 @@
-/* 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 "apr_env.h"
-#include "apr_errno.h"
-#include "test_apr.h"
-
-#define TEST_ENVVAR_NAME "apr_test_envvar"
-#define TEST_ENVVAR2_NAME "apr_test_envvar2"
-#define TEST_ENVVAR_VALUE "Just a value that we'll check"
-
-static int have_env_set;
-static int have_env_get;
-static int have_env_del;
-
-static void test_setenv(CuTest *tc)
-{
- apr_status_t rv;
-
- rv = apr_env_set(TEST_ENVVAR_NAME, TEST_ENVVAR_VALUE, p);
- have_env_set = (rv != APR_ENOTIMPL);
- if (!have_env_set) {
- CuNotImpl(tc, "apr_env_set");
- return;
- }
- apr_assert_success(tc, "set environment variable", rv);
-}
-
-static void test_getenv(CuTest *tc)
-{
- char *value;
- apr_status_t rv;
-
- if (!have_env_set) {
- CuNotImpl(tc, "apr_env_set (skip test for apr_env_get)");
- return;
- }
-
- rv = apr_env_get(&value, TEST_ENVVAR_NAME, p);
- have_env_get = (rv != APR_ENOTIMPL);
- if (!have_env_get) {
- CuNotImpl(tc, "apr_env_get");
- return;
- }
- apr_assert_success(tc, "get environment variable", rv);
- CuAssertStrEquals(tc, TEST_ENVVAR_VALUE, value);
-}
-
-static void test_delenv(CuTest *tc)
-{
- char *value;
- apr_status_t rv;
-
- if (!have_env_set) {
- CuNotImpl(tc, "apr_env_set (skip test for apr_env_delete)");
- return;
- }
-
- rv = apr_env_delete(TEST_ENVVAR_NAME, p);
- have_env_del = (rv != APR_ENOTIMPL);
- if (!have_env_del) {
- CuNotImpl(tc, "apr_env_delete");
- return;
- }
- apr_assert_success(tc, "delete environment variable", rv);
-
- if (!have_env_get) {
- CuNotImpl(tc, "apr_env_get (skip sanity check for apr_env_delete)");
- return;
- }
- rv = apr_env_get(&value, TEST_ENVVAR_NAME, p);
- CuAssertIntEquals(tc, APR_ENOENT, rv);
-}
-
-/** http://issues.apache.org/bugzilla/show_bug.cgi?id=40764 */
-static void test_emptyenv(CuTest *tc)
-{
- char *value;
- apr_status_t rv;
-
- if (!(have_env_set && have_env_get)) {
- CuNotImpl(tc, "apr_env_set (skip test_emptyenv)");
- return;
- }
- /** Set empty string and test that rv != ENOENT) */
- rv = apr_env_set(TEST_ENVVAR_NAME, "", p);
- apr_assert_success(tc, "set environment variable", rv);
- rv = apr_env_get(&value, TEST_ENVVAR_NAME, p);
- apr_assert_success(tc, "get environment variable", rv);
- CuAssertStrEquals(tc, "", value);
-
- if (!have_env_del) {
- CuNotImpl(tc, "apr_env_del (skip recycle test_emptyenv)");
- return;
- }
- /** Delete and retest */
- rv = apr_env_delete(TEST_ENVVAR_NAME, p);
- apr_assert_success(tc, "delete environment variable", rv);
- rv = apr_env_get(&value, TEST_ENVVAR_NAME, p);
- CuAssertIntEquals(tc, APR_ENOENT, rv);
-
- /** Set second variable + test*/
- rv = apr_env_set(TEST_ENVVAR2_NAME, TEST_ENVVAR_VALUE, p);
- apr_assert_success(tc, "set second environment variable", rv);
- rv = apr_env_get(&value, TEST_ENVVAR2_NAME, p);
- apr_assert_success(tc, "get second environment variable", rv);
- CuAssertStrEquals(tc, TEST_ENVVAR_VALUE, value);
-
- /** Finally, test ENOENT (first variable) followed by second != ENOENT) */
- rv = apr_env_get(&value, TEST_ENVVAR_NAME, p);
- CuAssertIntEquals(tc, APR_ENOENT, rv);
- rv = apr_env_get(&value, TEST_ENVVAR2_NAME, p);
- apr_assert_success(tc, "verify second environment variable", rv);
- CuAssertStrEquals(tc, TEST_ENVVAR_VALUE, value);
-
- /** Cleanup */
- apr_env_delete(TEST_ENVVAR2_NAME, p);
-}
-
-CuSuite *testenv(void)
-{
- CuSuite *suite = CuSuiteNew("Environment");
-
- SUITE_ADD_TEST(suite, test_setenv);
- SUITE_ADD_TEST(suite, test_getenv);
- SUITE_ADD_TEST(suite, test_delenv);
- SUITE_ADD_TEST(suite, test_emptyenv);
-
- return suite;
-}
-
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/testfile.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/testfile.c
deleted file mode 100644
index 4e842f97..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/testfile.c
+++ /dev/null
@@ -1,782 +0,0 @@
-/* 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 "apr_file_io.h"
-#include "apr_file_info.h"
-#include "apr_network_io.h"
-#include "apr_errno.h"
-#include "apr_general.h"
-#include "apr_poll.h"
-#include "apr_lib.h"
-#include "test_apr.h"
-
-#define DIRNAME "data"
-#define FILENAME DIRNAME "/file_datafile.txt"
-#define TESTSTR "This is the file data file."
-
-#define TESTREAD_BLKSIZE 1024
-#define APR_BUFFERSIZE 4096 /* This should match APR's buffer size. */
-
-
-
-static void test_open_noreadwrite(CuTest *tc)
-{
- apr_status_t rv;
- apr_file_t *thefile = NULL;
-
- rv = apr_file_open(&thefile, FILENAME,
- APR_CREATE | APR_EXCL,
- APR_UREAD | APR_UWRITE | APR_GREAD, p);
- CuAssertTrue(tc, rv != APR_SUCCESS);
- CuAssertIntEquals(tc, 1, APR_STATUS_IS_EACCES(rv));
- CuAssertPtrEquals(tc, NULL, thefile);
-}
-
-static void test_open_excl(CuTest *tc)
-{
- apr_status_t rv;
- apr_file_t *thefile = NULL;
-
- rv = apr_file_open(&thefile, FILENAME,
- APR_CREATE | APR_EXCL | APR_WRITE,
- APR_UREAD | APR_UWRITE | APR_GREAD, p);
- CuAssertTrue(tc, rv != APR_SUCCESS);
- CuAssertIntEquals(tc, 1, APR_STATUS_IS_EEXIST(rv));
- CuAssertPtrEquals(tc, NULL, thefile);
-}
-
-static void test_open_read(CuTest *tc)
-{
- apr_status_t rv;
- apr_file_t *filetest = NULL;
-
- rv = apr_file_open(&filetest, FILENAME,
- APR_READ,
- APR_UREAD | APR_UWRITE | APR_GREAD, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertPtrNotNull(tc, filetest);
- apr_file_close(filetest);
-}
-
-static void test_read(CuTest *tc)
-{
- apr_status_t rv;
- apr_size_t nbytes = 256;
- char *str = apr_pcalloc(p, nbytes + 1);
- apr_file_t *filetest = NULL;
-
- rv = apr_file_open(&filetest, FILENAME,
- APR_READ,
- APR_UREAD | APR_UWRITE | APR_GREAD, p);
-
- apr_assert_success(tc, "Opening test file " FILENAME, rv);
- rv = apr_file_read(filetest, str, &nbytes);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertIntEquals(tc, strlen(TESTSTR), nbytes);
- CuAssertStrEquals(tc, TESTSTR, str);
-
- apr_file_close(filetest);
-}
-
-static void test_filename(CuTest *tc)
-{
- const char *str;
- apr_status_t rv;
- apr_file_t *filetest = NULL;
-
- rv = apr_file_open(&filetest, FILENAME,
- APR_READ,
- APR_UREAD | APR_UWRITE | APR_GREAD, p);
- apr_assert_success(tc, "Opening test file " FILENAME, rv);
-
- rv = apr_file_name_get(&str, filetest);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertStrEquals(tc, FILENAME, str);
-
- apr_file_close(filetest);
-}
-
-static void test_fileclose(CuTest *tc)
-{
- char str;
- apr_status_t rv;
- apr_size_t one = 1;
- apr_file_t *filetest = NULL;
-
- rv = apr_file_open(&filetest, FILENAME,
- APR_READ,
- APR_UREAD | APR_UWRITE | APR_GREAD, p);
- apr_assert_success(tc, "Opening test file " FILENAME, rv);
-
- rv = apr_file_close(filetest);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- /* We just closed the file, so this should fail */
- rv = apr_file_read(filetest, &str, &one);
- CuAssertIntEquals(tc, 1, APR_STATUS_IS_EBADF(rv));
-}
-
-static void test_file_remove(CuTest *tc)
-{
- apr_status_t rv;
- apr_file_t *filetest = NULL;
-
- rv = apr_file_remove(FILENAME, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_file_open(&filetest, FILENAME, APR_READ,
- APR_UREAD | APR_UWRITE | APR_GREAD, p);
- CuAssertIntEquals(tc, 1, APR_STATUS_IS_ENOENT(rv));
-}
-
-static void test_open_write(CuTest *tc)
-{
- apr_status_t rv;
- apr_file_t *filetest = NULL;
-
- filetest = NULL;
- rv = apr_file_open(&filetest, FILENAME,
- APR_WRITE,
- APR_UREAD | APR_UWRITE | APR_GREAD, p);
- CuAssertIntEquals(tc, 1, APR_STATUS_IS_ENOENT(rv));
- CuAssertPtrEquals(tc, NULL, filetest);
-}
-
-static void test_open_writecreate(CuTest *tc)
-{
- apr_status_t rv;
- apr_file_t *filetest = NULL;
-
- filetest = NULL;
- rv = apr_file_open(&filetest, FILENAME,
- APR_WRITE | APR_CREATE,
- APR_UREAD | APR_UWRITE | APR_GREAD, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- apr_file_close(filetest);
-}
-
-static void test_write(CuTest *tc)
-{
- apr_status_t rv;
- apr_size_t bytes = strlen(TESTSTR);
- apr_file_t *filetest = NULL;
-
- rv = apr_file_open(&filetest, FILENAME,
- APR_WRITE | APR_CREATE,
- APR_UREAD | APR_UWRITE | APR_GREAD, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_file_write(filetest, TESTSTR, &bytes);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- apr_file_close(filetest);
-}
-
-static void test_open_readwrite(CuTest *tc)
-{
- apr_status_t rv;
- apr_file_t *filetest = NULL;
-
- filetest = NULL;
- rv = apr_file_open(&filetest, FILENAME,
- APR_READ | APR_WRITE,
- APR_UREAD | APR_UWRITE | APR_GREAD, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertPtrNotNull(tc, filetest);
-
- apr_file_close(filetest);
-}
-
-static void test_seek(CuTest *tc)
-{
- apr_status_t rv;
- apr_off_t offset = 5;
- apr_size_t nbytes = 256;
- char *str = apr_pcalloc(p, nbytes + 1);
- apr_file_t *filetest = NULL;
-
- rv = apr_file_open(&filetest, FILENAME,
- APR_READ,
- APR_UREAD | APR_UWRITE | APR_GREAD, p);
- apr_assert_success(tc, "Open test file " FILENAME, rv);
-
- rv = apr_file_read(filetest, str, &nbytes);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertIntEquals(tc, strlen(TESTSTR), nbytes);
- CuAssertStrEquals(tc, TESTSTR, str);
-
- memset(str, 0, nbytes + 1);
-
- rv = apr_file_seek(filetest, SEEK_SET, &offset);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_file_read(filetest, str, &nbytes);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertIntEquals(tc, strlen(TESTSTR) - 5, nbytes);
- CuAssertStrEquals(tc, TESTSTR + 5, str);
-
- apr_file_close(filetest);
-
- /* Test for regression of sign error bug with SEEK_END and
- buffered files. */
- rv = apr_file_open(&filetest, FILENAME,
- APR_READ | APR_BUFFERED,
- APR_UREAD | APR_UWRITE | APR_GREAD, p);
- apr_assert_success(tc, "Open test file " FILENAME, rv);
-
- offset = -5;
- rv = apr_file_seek(filetest, SEEK_END, &offset);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertIntEquals(tc, strlen(TESTSTR) - 5, offset);
-
- memset(str, 0, nbytes + 1);
- nbytes = 256;
- rv = apr_file_read(filetest, str, &nbytes);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertIntEquals(tc, 5, nbytes);
- CuAssertStrEquals(tc, TESTSTR + strlen(TESTSTR) - 5, str);
-
- apr_file_close(filetest);
-}
-
-static void test_userdata_set(CuTest *tc)
-{
- apr_status_t rv;
- apr_file_t *filetest = NULL;
-
- rv = apr_file_open(&filetest, FILENAME,
- APR_WRITE,
- APR_UREAD | APR_UWRITE | APR_GREAD, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_file_data_set(filetest, "This is a test",
- "test", apr_pool_cleanup_null);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- apr_file_close(filetest);
-}
-
-static void test_userdata_get(CuTest *tc)
-{
- apr_status_t rv;
- char *teststr;
- apr_file_t *filetest = NULL;
-
- rv = apr_file_open(&filetest, FILENAME,
- APR_WRITE,
- APR_UREAD | APR_UWRITE | APR_GREAD, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_file_data_set(filetest, "This is a test",
- "test", apr_pool_cleanup_null);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_file_data_get((void **)&teststr, "test", filetest);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertStrEquals(tc, "This is a test", teststr);
-
- apr_file_close(filetest);
-}
-
-static void test_userdata_getnokey(CuTest *tc)
-{
- apr_status_t rv;
- char *teststr;
- apr_file_t *filetest = NULL;
-
- rv = apr_file_open(&filetest, FILENAME,
- APR_WRITE,
- APR_UREAD | APR_UWRITE | APR_GREAD, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_file_data_get((void **)&teststr, "nokey", filetest);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertPtrEquals(tc, NULL, teststr);
- apr_file_close(filetest);
-}
-
-static void test_getc(CuTest *tc)
-{
- apr_file_t *f = NULL;
- apr_status_t rv;
- char ch;
-
- rv = apr_file_open(&f, FILENAME, APR_READ, 0, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- apr_file_getc(&ch, f);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertIntEquals(tc, (int)TESTSTR[0], (int)ch);
- apr_file_close(f);
-}
-
-static void test_ungetc(CuTest *tc)
-{
- apr_file_t *f = NULL;
- apr_status_t rv;
- char ch;
-
- rv = apr_file_open(&f, FILENAME, APR_READ, 0, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- apr_file_getc(&ch, f);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertIntEquals(tc, (int)TESTSTR[0], (int)ch);
-
- apr_file_ungetc('X', f);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- apr_file_getc(&ch, f);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertIntEquals(tc, 'X', (int)ch);
-
- apr_file_close(f);
-}
-
-static void test_gets(CuTest *tc)
-{
- apr_file_t *f = NULL;
- apr_status_t rv;
- char *str = apr_palloc(p, 256);
-
- rv = apr_file_open(&f, FILENAME, APR_READ, 0, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_file_gets(str, 256, f);
- /* Only one line in the test file, so APR will encounter EOF on the first
- * call to gets, but we should get APR_SUCCESS on this call and
- * APR_EOF on the next.
- */
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertStrEquals(tc, TESTSTR, str);
- rv = apr_file_gets(str, 256, f);
- CuAssertIntEquals(tc, APR_EOF, rv);
- CuAssertStrEquals(tc, "", str);
- apr_file_close(f);
-}
-
-static void test_bigread(CuTest *tc)
-{
- apr_file_t *f = NULL;
- apr_status_t rv;
- char buf[APR_BUFFERSIZE * 2];
- apr_size_t nbytes;
-
- /* Create a test file with known content.
- */
- rv = apr_file_open(&f, "data/created_file",
- APR_CREATE | APR_WRITE | APR_TRUNCATE,
- APR_UREAD | APR_UWRITE, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- nbytes = APR_BUFFERSIZE;
- memset(buf, 0xFE, nbytes);
-
- rv = apr_file_write(f, buf, &nbytes);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertIntEquals(tc, APR_BUFFERSIZE, nbytes);
-
- rv = apr_file_close(f);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- f = NULL;
- rv = apr_file_open(&f, "data/created_file", APR_READ, 0, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- nbytes = sizeof buf;
- rv = apr_file_read(f, buf, &nbytes);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertIntEquals(tc, APR_BUFFERSIZE, nbytes);
-
- rv = apr_file_close(f);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_file_remove("data/created_file", p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-}
-
-/* Test that the contents of file FNAME are equal to data EXPECT of
- * length EXPECTLEN. */
-static void file_contents_equal(CuTest *tc,
- const char *fname,
- const void *expect,
- apr_size_t expectlen)
-{
- void *actual = apr_palloc(p, expectlen);
- apr_file_t *f;
- apr_status_t rv;
- int rc;
-
- rv = apr_file_open(&f, fname, APR_READ|APR_BUFFERED, 0, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_file_read_full(f, actual, expectlen, NULL);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rc = memcmp(expect, actual, expectlen);
- CuAssertIntEquals(tc, 0, rc);
-
- rv = apr_file_close(f);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-}
-
-#define LINE1 "this is a line of text\n"
-#define LINE2 "this is a second line of text\n"
-
-static void test_writev_buffered(CuTest *tc)
-{
- apr_status_t rv;
- apr_file_t *f;
- apr_size_t nbytes;
- struct iovec vec[2];
- const char *fname = "data/testwritev_buffered.dat";
-
- rv = apr_file_open(&f, fname,
- APR_WRITE | APR_CREATE | APR_TRUNCATE |
- APR_BUFFERED, APR_OS_DEFAULT, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- nbytes = strlen(TESTSTR);
- rv = apr_file_write(f, TESTSTR, &nbytes);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- vec[0].iov_base = LINE1;
- vec[0].iov_len = strlen(LINE1);
- vec[1].iov_base = LINE2;
- vec[1].iov_len = strlen(LINE2);
-
- rv = apr_file_writev(f, vec, 2, &nbytes);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_file_close(f);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- file_contents_equal(tc, fname, TESTSTR LINE1 LINE2,
- strlen(TESTSTR) + strlen(LINE1) + strlen(LINE2));
-}
-
-static void test_writev_buffered_seek(CuTest *tc)
-{
- apr_file_t *f;
- apr_status_t rv;
- apr_off_t off = 0;
- struct iovec vec[3];
- apr_size_t nbytes = strlen(TESTSTR);
- char *str = apr_pcalloc(p, nbytes+1);
- const char *fname = "data/testwritev_buffered.dat";
-
- rv = apr_file_open(&f, fname,
- APR_WRITE | APR_READ | APR_BUFFERED,
- APR_OS_DEFAULT, p);
-
- rv = apr_file_read(f, str, &nbytes);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertStrEquals(tc, TESTSTR, str);
-
- rv = apr_file_seek(f, APR_SET, &off);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- vec[0].iov_base = LINE1;
- vec[0].iov_len = strlen(LINE1);
- vec[1].iov_base = LINE2;
- vec[1].iov_len = strlen(LINE2);
- vec[2].iov_base = TESTSTR;
- vec[2].iov_len = strlen(TESTSTR);
-
- rv = apr_file_writev(f, vec, 3, &nbytes);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_file_close(f);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- file_contents_equal(tc, fname, LINE1 LINE2 TESTSTR,
- strlen(LINE1) + strlen(LINE2) + strlen(TESTSTR));
-
- rv = apr_file_remove(fname, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-}
-
-/* This is a horrible name for this function. We are testing APR, not how
- * Apache uses APR. And, this function tests _way_ too much stuff.
- */
-static void test_mod_neg(CuTest *tc)
-{
- apr_status_t rv;
- apr_file_t *f;
- const char *s;
- int i;
- apr_size_t nbytes;
- char buf[8192];
- apr_off_t cur;
- const char *fname = "data/modneg.dat";
-
- rv = apr_file_open(&f, fname,
- APR_CREATE | APR_WRITE, APR_UREAD | APR_UWRITE, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- s = "body56789\n";
- nbytes = strlen(s);
- rv = apr_file_write(f, s, &nbytes);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertIntEquals(tc, strlen(s), nbytes);
-
- for (i = 0; i < 7980; i++) {
- s = "0";
- nbytes = strlen(s);
- rv = apr_file_write(f, s, &nbytes);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertIntEquals(tc, strlen(s), nbytes);
- }
-
- s = "end456789\n";
- nbytes = strlen(s);
- rv = apr_file_write(f, s, &nbytes);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertIntEquals(tc, strlen(s), nbytes);
-
- for (i = 0; i < 10000; i++) {
- s = "1";
- nbytes = strlen(s);
- rv = apr_file_write(f, s, &nbytes);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertIntEquals(tc, strlen(s), nbytes);
- }
-
- rv = apr_file_close(f);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_file_open(&f, fname, APR_READ, 0, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_file_gets(buf, 11, f);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertStrEquals(tc, "body56789\n", buf);
-
- cur = 0;
- rv = apr_file_seek(f, APR_CUR, &cur);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssert(tc, "File Pointer Mismatch, expected 10", cur == 10);
-
- nbytes = sizeof(buf);
- rv = apr_file_read(f, buf, &nbytes);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertIntEquals(tc, nbytes, sizeof(buf));
-
- cur = -((apr_off_t)nbytes - 7980);
- rv = apr_file_seek(f, APR_CUR, &cur);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssert(tc, "File Pointer Mismatch, expected 7990", cur == 7990);
-
- rv = apr_file_gets(buf, 11, f);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertStrEquals(tc, "end456789\n", buf);
-
- rv = apr_file_close(f);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_file_remove(fname, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-}
-
-static void test_truncate(CuTest *tc)
-{
- apr_status_t rv;
- apr_file_t *f;
- const char *fname = "data/testtruncate.dat";
- const char *s;
- apr_size_t nbytes;
- apr_finfo_t finfo;
-
- apr_file_remove(fname, p);
-
- rv = apr_file_open(&f, fname,
- APR_CREATE | APR_WRITE, APR_UREAD | APR_UWRITE, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- s = "some data";
- nbytes = strlen(s);
- rv = apr_file_write(f, s, &nbytes);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertIntEquals(tc, strlen(s), nbytes);
-
- rv = apr_file_close(f);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_file_open(&f, fname,
- APR_TRUNCATE | APR_WRITE, APR_UREAD | APR_UWRITE, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_file_close(f);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_stat(&finfo, fname, APR_FINFO_SIZE, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssert(tc, "File size mismatch, expected 0 (empty)", finfo.size == 0);
-
- rv = apr_file_remove(fname, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-}
-
-static void test_fail_write_flush(CuTest *tc)
-{
- apr_file_t *f;
- const char *fname = "data/testflush.dat";
- apr_status_t rv;
- char buf[APR_BUFFERSIZE];
- int n;
-
- apr_file_remove(fname, p);
-
- apr_assert_success(tc, "open test file",
- apr_file_open(&f, fname,
- APR_CREATE|APR_READ|APR_BUFFERED,
- APR_UREAD|APR_UWRITE, p));
-
- memset(buf, 'A', sizeof buf);
-
- /* Try three writes. One of these should fail when it exceeds the
- * internal buffer and actually tries to write to the file, which
- * was opened read-only and hence should be unwritable. */
- for (n = 0, rv = APR_SUCCESS; n < 4 && rv == APR_SUCCESS; n++) {
- apr_size_t bytes = sizeof buf;
- rv = apr_file_write(f, buf, &bytes);
- }
-
- CuAssert(tc, "failed to write to read-only buffered fd",
- rv != APR_SUCCESS);
-
- apr_file_close(f);
- apr_file_remove(fname, p);
-}
-
-static void test_fail_read_flush(CuTest *tc)
-{
- apr_file_t *f;
- const char *fname = "data/testflush.dat";
- apr_status_t rv;
- char buf[2];
-
- apr_file_remove(fname, p);
-
- apr_assert_success(tc, "open test file",
- apr_file_open(&f, fname,
- APR_CREATE|APR_READ|APR_BUFFERED,
- APR_UREAD|APR_UWRITE, p));
-
- /* this write should be buffered. */
- apr_assert_success(tc, "buffered write should succeed",
- apr_file_puts("hello", f));
-
- /* Now, trying a read should fail since the write must be flushed,
- * and should fail with something other than EOF since the file is
- * opened read-only. */
- rv = apr_file_read_full(f, buf, 2, NULL);
-
- CuAssert(tc, "read should flush buffered write and fail",
- rv != APR_SUCCESS && rv != APR_EOF);
-
- /* Likewise for gets */
- rv = apr_file_gets(buf, 2, f);
-
- CuAssert(tc, "gets should flush buffered write and fail",
- rv != APR_SUCCESS && rv != APR_EOF);
-
- apr_file_close(f);
- apr_file_remove(fname, p);
-}
-
-static void test_xthread(CuTest *tc)
-{
- apr_file_t *f;
- const char *fname = "data/testxthread.dat";
- apr_status_t rv;
- apr_int32_t flags = APR_CREATE|APR_READ|APR_WRITE|APR_APPEND|APR_XTHREAD;
- char buf[128] = { 0 };
-
- /* Test for bug 38438, opening file with append + xthread and seeking to
- the end of the file resulted in writes going to the beginning not the
- end. */
-
- apr_file_remove(fname, p);
-
- rv = apr_file_open(&f, fname, flags, APR_UREAD|APR_UWRITE, p);
- CuAssert(tc, "open test file", rv == APR_SUCCESS);
-
- rv = apr_file_puts("hello", f);
- CuAssert(tc, "write should succeed", rv == APR_SUCCESS);
-
- apr_file_close(f);
-
- rv = apr_file_open(&f, fname, flags, APR_UREAD|APR_UWRITE, p);
- CuAssert(tc, "open test file", rv == APR_SUCCESS);
-
- /* Seek to the end. */
- {
- apr_off_t offset = 0;
-
- rv = apr_file_seek(f, APR_END, &offset);
- }
-
- rv = apr_file_puts("world", f);
- CuAssert(tc, "more writes should succeed", rv == APR_SUCCESS);
-
- /* Back to the beginning. */
- {
- apr_off_t offset = 0;
-
- rv = apr_file_seek(f, APR_SET, &offset);
- }
-
- apr_file_read_full(f, buf, sizeof(buf), NULL);
-
- CuAssertStrEquals(tc, "helloworld", buf);
-
- apr_file_close(f);
-}
-
-CuSuite *testfile(void)
-{
- CuSuite *suite = CuSuiteNew("File I/O");
-
- SUITE_ADD_TEST(suite, test_open_noreadwrite);
- SUITE_ADD_TEST(suite, test_open_excl);
- SUITE_ADD_TEST(suite, test_open_read);
- SUITE_ADD_TEST(suite, test_open_readwrite);
- SUITE_ADD_TEST(suite, test_read);
- SUITE_ADD_TEST(suite, test_seek);
- SUITE_ADD_TEST(suite, test_filename);
- SUITE_ADD_TEST(suite, test_fileclose);
- SUITE_ADD_TEST(suite, test_file_remove);
- SUITE_ADD_TEST(suite, test_open_write);
- SUITE_ADD_TEST(suite, test_open_writecreate);
- SUITE_ADD_TEST(suite, test_write);
- SUITE_ADD_TEST(suite, test_userdata_set);
- SUITE_ADD_TEST(suite, test_userdata_get);
- SUITE_ADD_TEST(suite, test_userdata_getnokey);
- SUITE_ADD_TEST(suite, test_getc);
- SUITE_ADD_TEST(suite, test_ungetc);
- SUITE_ADD_TEST(suite, test_gets);
- SUITE_ADD_TEST(suite, test_bigread);
- SUITE_ADD_TEST(suite, test_writev_buffered);
- SUITE_ADD_TEST(suite, test_writev_buffered_seek);
- SUITE_ADD_TEST(suite, test_mod_neg);
- SUITE_ADD_TEST(suite, test_truncate);
- SUITE_ADD_TEST(suite, test_fail_write_flush);
- SUITE_ADD_TEST(suite, test_fail_read_flush);
- SUITE_ADD_TEST(suite, test_xthread);
-
- return suite;
-}
-
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/testfileinfo.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/testfileinfo.c
deleted file mode 100644
index 00ad9631..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/testfileinfo.c
+++ /dev/null
@@ -1,263 +0,0 @@
-/* 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 "apr_file_io.h"
-#include "apr_file_info.h"
-#include "apr_strings.h"
-#include "apr_errno.h"
-#include "apr_general.h"
-#include "apr_poll.h"
-#include "apr_lib.h"
-#include "test_apr.h"
-
-#define FILENAME "data/file_datafile.txt"
-#define NEWFILENAME "data/new_datafile.txt"
-#define NEWFILEDATA "This is new text in a new file."
-
-static const struct view_fileinfo
-{
- apr_int32_t bits;
- char *description;
-} vfi[] = {
- {APR_FINFO_MTIME, "MTIME"},
- {APR_FINFO_CTIME, "CTIME"},
- {APR_FINFO_ATIME, "ATIME"},
- {APR_FINFO_SIZE, "SIZE"},
- {APR_FINFO_DEV, "DEV"},
- {APR_FINFO_INODE, "INODE"},
- {APR_FINFO_NLINK, "NLINK"},
- {APR_FINFO_TYPE, "TYPE"},
- {APR_FINFO_USER, "USER"},
- {APR_FINFO_GROUP, "GROUP"},
- {APR_FINFO_UPROT, "UPROT"},
- {APR_FINFO_GPROT, "GPROT"},
- {APR_FINFO_WPROT, "WPROT"},
- {0, NULL}
-};
-
-static void finfo_equal(CuTest *tc, apr_finfo_t f1, apr_finfo_t f2)
-{
- /* Minimum supported flags across all platforms (APR_FINFO_MIN) */
- CuAssert(tc, "apr_stat and apr_getfileinfo must return APR_FINFO_TYPE",
- (f1.valid & f2.valid & APR_FINFO_TYPE));
- CuAssert(tc, "apr_stat and apr_getfileinfo differ in filetype",
- f1.filetype == f2.filetype);
- CuAssert(tc, "apr_stat and apr_getfileinfo must return APR_FINFO_SIZE",
- (f1.valid & f2.valid & APR_FINFO_SIZE));
- CuAssert(tc, "apr_stat and apr_getfileinfo differ in size",
- f1.size == f2.size);
- CuAssert(tc, "apr_stat and apr_getfileinfo must return APR_FINFO_ATIME",
- (f1.valid & f2.valid & APR_FINFO_ATIME));
- CuAssert(tc, "apr_stat and apr_getfileinfo differ in atime",
- f1.atime == f2.atime);
- CuAssert(tc, "apr_stat and apr_getfileinfo must return APR_FINFO_MTIME",
- (f1.valid & f2.valid & APR_FINFO_MTIME));
- CuAssert(tc, "apr_stat and apr_getfileinfo differ in mtime",
- f1.mtime == f2.mtime);
- CuAssert(tc, "apr_stat and apr_getfileinfo must return APR_FINFO_CTIME",
- (f1.valid & f2.valid & APR_FINFO_CTIME));
- CuAssert(tc, "apr_stat and apr_getfileinfo differ in ctime",
- f1.ctime == f2.ctime);
-
- if (f1.valid & f2.valid & APR_FINFO_NAME)
- CuAssert(tc, "apr_stat and apr_getfileinfo differ in name",
- !strcmp(f1.name, f2.name));
- if (f1.fname && f2.fname)
- CuAssert(tc, "apr_stat and apr_getfileinfo differ in fname",
- !strcmp(f1.fname, f2.fname));
-
- /* Additional supported flags not supported on all platforms */
- if (f1.valid & f2.valid & APR_FINFO_USER)
- CuAssert(tc, "apr_stat and apr_getfileinfo differ in user",
- !apr_uid_compare(f1.user, f2.user));
- if (f1.valid & f2.valid & APR_FINFO_GROUP)
- CuAssert(tc, "apr_stat and apr_getfileinfo differ in group",
- !apr_gid_compare(f1.group, f2.group));
- if (f1.valid & f2.valid & APR_FINFO_INODE)
- CuAssert(tc, "apr_stat and apr_getfileinfo differ in inode",
- f1.inode == f2.inode);
- if (f1.valid & f2.valid & APR_FINFO_DEV)
- CuAssert(tc, "apr_stat and apr_getfileinfo differ in device",
- f1.device == f2.device);
- if (f1.valid & f2.valid & APR_FINFO_NLINK)
- CuAssert(tc, "apr_stat and apr_getfileinfo differ in nlink",
- f1.nlink == f2.nlink);
- if (f1.valid & f2.valid & APR_FINFO_CSIZE)
- CuAssert(tc, "apr_stat and apr_getfileinfo differ in csize",
- f1.csize == f2.csize);
- if (f1.valid & f2.valid & APR_FINFO_PROT)
- CuAssert(tc, "apr_stat and apr_getfileinfo differ in protection",
- f1.protection == f2.protection);
-}
-
-static void test_info_get(CuTest *tc)
-{
- apr_file_t *thefile;
- apr_finfo_t finfo;
- apr_status_t rv;
-
- rv = apr_file_open(&thefile, FILENAME, APR_READ, APR_OS_DEFAULT, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_file_info_get(&finfo, APR_FINFO_NORM, thefile);
- if (rv == APR_INCOMPLETE) {
- char *str;
- int i;
- str = apr_pstrdup(p, "APR_INCOMPLETE: Missing ");
- for (i = 0; vfi[i].bits; ++i) {
- if (vfi[i].bits & ~finfo.valid) {
- str = apr_pstrcat(p, str, vfi[i].description, " ", NULL);
- }
- }
- CuFail(tc, str);
- }
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- apr_file_close(thefile);
-}
-
-static void test_stat(CuTest *tc)
-{
- apr_finfo_t finfo;
- apr_status_t rv;
-
- rv = apr_stat(&finfo, FILENAME, APR_FINFO_NORM, p);
- if (rv == APR_INCOMPLETE) {
- char *str;
- int i;
- str = apr_pstrdup(p, "APR_INCOMPLETE: Missing ");
- for (i = 0; vfi[i].bits; ++i) {
- if (vfi[i].bits & ~finfo.valid) {
- str = apr_pstrcat(p, str, vfi[i].description, " ", NULL);
- }
- }
- CuFail(tc, str);
- }
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-}
-
-static void test_stat_eq_finfo(CuTest *tc)
-{
- apr_file_t *thefile;
- apr_finfo_t finfo;
- apr_finfo_t stat_finfo;
- apr_status_t rv;
-
- rv = apr_file_open(&thefile, FILENAME, APR_READ, APR_OS_DEFAULT, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- rv = apr_file_info_get(&finfo, APR_FINFO_NORM, thefile);
-
- /* Opening the file may have toggled the atime member (time last
- * accessed), so fetch our apr_stat() after getting the fileinfo
- * of the open file...
- */
- rv = apr_stat(&stat_finfo, FILENAME, APR_FINFO_NORM, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- apr_file_close(thefile);
-
- finfo_equal(tc, stat_finfo, finfo);
-}
-
-static void test_buffered_write_size(CuTest *tc)
-{
- const apr_size_t data_len = strlen(NEWFILEDATA);
- apr_file_t *thefile;
- apr_finfo_t finfo;
- apr_status_t rv;
- apr_size_t bytes;
-
- rv = apr_file_open(&thefile, NEWFILENAME,
- APR_READ | APR_WRITE | APR_CREATE | APR_TRUNCATE
- | APR_BUFFERED | APR_DELONCLOSE,
- APR_OS_DEFAULT, p);
- apr_assert_success(tc, "open file", rv);
-
- /* A funny thing happened to me the other day: I wrote something
- * into a buffered file, then asked for its size using
- * apr_file_info_get; and guess what? The size was 0! That's not a
- * nice way to behave.
- */
- bytes = data_len;
- rv = apr_file_write(thefile, NEWFILEDATA, &bytes);
- apr_assert_success(tc, "write file contents", rv);
- CuAssertTrue(tc, data_len == bytes);
-
- rv = apr_file_info_get(&finfo, APR_FINFO_SIZE, thefile);
- apr_assert_success(tc, "get file size", rv);
- CuAssertTrue(tc, bytes == (apr_size_t) finfo.size);
- apr_file_close(thefile);
-}
-
-static void test_mtime_set(CuTest *tc)
-{
- apr_file_t *thefile;
- apr_finfo_t finfo;
- apr_time_t epoch = 0;
- apr_status_t rv;
-
- /* This test sort of depends on the system clock being at least
- * marginally ccorrect; We'll be setting the modification time to
- * the epoch.
- */
- rv = apr_file_open(&thefile, NEWFILENAME,
- APR_READ | APR_WRITE | APR_CREATE | APR_TRUNCATE
- | APR_BUFFERED | APR_DELONCLOSE,
- APR_OS_DEFAULT, p);
- apr_assert_success(tc, "open file", rv);
-
- /* Check that the current mtime is not the epoch */
- rv = apr_stat(&finfo, NEWFILENAME, APR_FINFO_MTIME, p);
- if (rv == APR_INCOMPLETE) {
- char *str;
- int i;
- str = apr_pstrdup(p, "APR_INCOMPLETE: Missing ");
- for (i = 0; vfi[i].bits; ++i) {
- if (vfi[i].bits & ~finfo.valid) {
- str = apr_pstrcat(p, str, vfi[i].description, " ", NULL);
- }
- }
- CuFail(tc, str);
- }
- apr_assert_success(tc, "get initial mtime", rv);
- CuAssertTrue(tc, finfo.mtime != epoch);
-
- /* Reset the mtime to the epoch and verify the result.
- * Note: we blindly assume that if the first apr_stat succeeded,
- * the second one will, too.
- */
- rv = apr_file_mtime_set(NEWFILENAME, epoch, p);
- apr_assert_success(tc, "set mtime", rv);
-
- rv = apr_stat(&finfo, NEWFILENAME, APR_FINFO_MTIME, p);
- apr_assert_success(tc, "get modified mtime", rv);
- CuAssertTrue(tc, finfo.mtime == epoch);
-
- apr_file_close(thefile);
-}
-
-CuSuite *testfileinfo(void)
-{
- CuSuite *suite = CuSuiteNew("File Info");
-
- SUITE_ADD_TEST(suite, test_info_get);
- SUITE_ADD_TEST(suite, test_stat);
- SUITE_ADD_TEST(suite, test_stat_eq_finfo);
- SUITE_ADD_TEST(suite, test_buffered_write_size);
- SUITE_ADD_TEST(suite, test_mtime_set);
-
- return suite;
-}
-
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/testflock.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/testflock.c
deleted file mode 100644
index 86f25ba2..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/testflock.c
+++ /dev/null
@@ -1,156 +0,0 @@
-/* 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.
- */
-
-/*
- * USAGE
- *
- * Start one process, no args, and place it into the background. Start a
- * second process with the "-r" switch to attempt a read on the file
- * created by the first process.
- *
- * $ ./testflock &
- * ...messages...
- * $ ./testflock -r
- * ...messages...
- *
- * The first process will sleep for 30 seconds while holding a lock. The
- * second process will attempt to grab it (non-blocking) and fail. It
- * will then grab it with a blocking scheme. When the first process' 30
- * seconds are up, it will exit (thus releasing its lock). The second
- * process will acquire the lock, then exit.
- */
-
-#include "apr_pools.h"
-#include "apr_file_io.h"
-#include "apr_time.h"
-#include "apr_general.h"
-#include "apr_getopt.h"
-#include "apr_strings.h"
-
-#include <stdlib.h>
-#include <stdio.h>
-
-const char *testfile = "testfile.tmp";
-
-static apr_pool_t *pool = NULL;
-
-static void errmsg(const char *msg)
-{
- if (pool != NULL)
- apr_pool_destroy(pool);
- fprintf(stderr, msg);
- exit(1);
-}
-
-static void errmsg2(const char *msg, apr_status_t rv)
-{
- char *newmsg;
- char errstr[120];
-
- apr_strerror(rv, errstr, sizeof errstr);
- newmsg = apr_psprintf(pool, "%s: %s (%d)\n",
- msg, errstr, rv);
- errmsg(newmsg);
- exit(1);
-}
-
-static void do_read(void)
-{
- apr_file_t *file;
- apr_status_t status;
-
- if (apr_file_open(&file, testfile, APR_WRITE,
- APR_OS_DEFAULT, pool) != APR_SUCCESS)
- errmsg("Could not open test file.\n");
- printf("Test file opened.\n");
-
- status = apr_file_lock(file, APR_FLOCK_EXCLUSIVE | APR_FLOCK_NONBLOCK);
- if (!APR_STATUS_IS_EAGAIN(status)) {
- char msg[200];
- errmsg(apr_psprintf(pool, "Expected APR_EAGAIN. Got %d: %s.\n",
- status, apr_strerror(status, msg, sizeof(msg))));
- }
- printf("First attempt: we were properly locked out.\nWaiting for lock...");
- fflush(stdout);
-
- if (apr_file_lock(file, APR_FLOCK_EXCLUSIVE) != APR_SUCCESS)
- errmsg("Could not establish lock on test file.");
- printf(" got it.\n");
-
- (void) apr_file_close(file);
- printf("Exiting.\n");
-}
-
-static void do_write(void)
-{
- apr_file_t *file;
- apr_status_t rv;
-
- if (apr_file_open(&file, testfile, APR_WRITE|APR_CREATE, APR_OS_DEFAULT,
- pool) != APR_SUCCESS)
- errmsg("Could not create file.\n");
- printf("Test file created.\n");
-
- if ((rv = apr_file_lock(file, APR_FLOCK_EXCLUSIVE)) != APR_SUCCESS)
- errmsg2("Could not lock the file", rv);
- printf("Lock created.\nSleeping...");
- fflush(stdout);
-
- apr_sleep(apr_time_from_sec(30));
-
- (void) apr_file_close(file);
- printf(" done.\nExiting.\n");
-}
-
-int main(int argc, const char * const *argv)
-{
- int reader = 0;
- apr_status_t status;
- char optchar;
- const char *optarg;
- apr_getopt_t *opt;
-
- if (apr_initialize() != APR_SUCCESS)
- errmsg("Could not initialize APR.\n");
- atexit(apr_terminate);
-
- if (apr_pool_create(&pool, NULL) != APR_SUCCESS)
- errmsg("Could not create global pool.\n");
-
- if (apr_getopt_init(&opt, pool, argc, argv) != APR_SUCCESS)
- errmsg("Could not parse options.\n");
-
- while ((status = apr_getopt(opt, "rf:", &optchar, &optarg)) == APR_SUCCESS) {
- if (optchar == 'r')
- ++reader;
- else if (optchar == 'f')
- testfile = optarg;
- }
- if (status != APR_SUCCESS && status != APR_EOF) {
- char msgbuf[80];
-
- fprintf(stderr, "error: %s\n",
- apr_strerror(status, msgbuf, sizeof msgbuf));
- exit(1);
- }
-
- if (reader)
- do_read();
- else
- do_write();
-
- return 0;
-}
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/testfmt.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/testfmt.c
deleted file mode 100644
index eff39e0d..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/testfmt.c
+++ /dev/null
@@ -1,113 +0,0 @@
-/* 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 "test_apr.h"
-#include "apr.h"
-#include "apr_portable.h"
-#include "apr_strings.h"
-
-static void ssize_t_fmt(CuTest *tc)
-{
- char buf[100];
- apr_ssize_t var = 0;
-
- sprintf(buf, "%" APR_SSIZE_T_FMT, var);
- CuAssertStrEquals(tc, "0", buf);
- apr_snprintf(buf, sizeof(buf), "%" APR_SSIZE_T_FMT, var);
- CuAssertStrEquals(tc, "0", buf);
-}
-
-static void size_t_fmt(CuTest *tc)
-{
- char buf[100];
- apr_size_t var = 0;
-
- sprintf(buf, "%" APR_SIZE_T_FMT, var);
- CuAssertStrEquals(tc, "0", buf);
- apr_snprintf(buf, sizeof(buf), "%" APR_SIZE_T_FMT, var);
- CuAssertStrEquals(tc, "0", buf);
-}
-
-static void off_t_fmt(CuTest *tc)
-{
- char buf[100];
- apr_off_t var = 0;
-
- sprintf(buf, "%" APR_OFF_T_FMT, var);
- CuAssertStrEquals(tc, "0", buf);
- apr_snprintf(buf, sizeof(buf), "%" APR_OFF_T_FMT, var);
- CuAssertStrEquals(tc, "0", buf);
-}
-
-static void pid_t_fmt(CuTest *tc)
-{
- char buf[100];
- pid_t var = 0;
-
- sprintf(buf, "%" APR_PID_T_FMT, var);
- CuAssertStrEquals(tc, "0", buf);
- apr_snprintf(buf, sizeof(buf), "%" APR_PID_T_FMT, var);
- CuAssertStrEquals(tc, "0", buf);
-}
-
-static void int64_t_fmt(CuTest *tc)
-{
- char buf[100];
- apr_int64_t var = 0;
-
- sprintf(buf, "%" APR_INT64_T_FMT, var);
- CuAssertStrEquals(tc, "0", buf);
- apr_snprintf(buf, sizeof(buf), "%" APR_INT64_T_FMT, var);
- CuAssertStrEquals(tc, "0", buf);
-}
-
-static void uint64_t_fmt(CuTest *tc)
-{
- char buf[100];
- apr_uint64_t var = 14000000;
-
- sprintf(buf, "%" APR_UINT64_T_FMT, var);
- CuAssertStrEquals(tc, "14000000", buf);
- apr_snprintf(buf, sizeof(buf), "%" APR_UINT64_T_FMT, var);
- CuAssertStrEquals(tc, "14000000", buf);
-}
-
-static void uint64_t_hex_fmt(CuTest *tc)
-{
- char buf[100];
- apr_uint64_t var = 14000000;
-
- sprintf(buf, "%" APR_UINT64_T_HEX_FMT, var);
- CuAssertStrEquals(tc, "d59f80", buf);
- apr_snprintf(buf, sizeof(buf), "%" APR_UINT64_T_HEX_FMT, var);
- CuAssertStrEquals(tc, "d59f80", buf);
-}
-
-CuSuite *testfmt(void)
-{
- CuSuite *suite = CuSuiteNew("Formats");
-
- SUITE_ADD_TEST(suite, ssize_t_fmt);
- SUITE_ADD_TEST(suite, size_t_fmt);
- SUITE_ADD_TEST(suite, off_t_fmt);
- SUITE_ADD_TEST(suite, pid_t_fmt);
- SUITE_ADD_TEST(suite, int64_t_fmt);
- SUITE_ADD_TEST(suite, uint64_t_fmt);
- SUITE_ADD_TEST(suite, uint64_t_hex_fmt);
-
- return suite;
-}
-
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/testglobalmutex.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/testglobalmutex.c
deleted file mode 100644
index 7ac3b518..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/testglobalmutex.c
+++ /dev/null
@@ -1,158 +0,0 @@
-/* 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 "apr_shm.h"
-#include "apr_thread_proc.h"
-#include "apr_file_io.h"
-#include "apr_global_mutex.h"
-#include "apr_errno.h"
-#include "apr_general.h"
-#include "apr_getopt.h"
-#include "errno.h"
-#include <stdio.h>
-#include <stdlib.h>
-#include "test_apr.h"
-
-
-#define MAX_ITER 4000
-#define MAX_COUNTER (MAX_ITER * 4)
-
-apr_global_mutex_t *global_lock;
-apr_pool_t *pool;
-volatile int *x;
-
-static int make_child(apr_proc_t **proc, apr_pool_t *p)
-{
- int i = 0;
- *proc = apr_pcalloc(p, sizeof(**proc));
-
- /* slight delay to allow things to settle */
- apr_sleep (1);
-
- if (apr_proc_fork(*proc, p) == APR_INCHILD) {
- apr_initialize();
-
- apr_global_mutex_child_init(&global_lock, NULL, p);
-
- while (1) {
- apr_global_mutex_lock(global_lock);
- if (i == MAX_ITER) {
- apr_global_mutex_unlock(global_lock);
- exit(1);
- }
- i++;
- (*x)++;
- apr_global_mutex_unlock(global_lock);
- }
- exit(1);
- }
- return APR_SUCCESS;
-}
-
-static apr_status_t test_exclusive(const char *lockname)
-{
- apr_proc_t *p1, *p2, *p3, *p4;
- apr_status_t s1, s2, s3, s4;
-
- printf("Exclusive lock test\n");
- printf("%-60s", " Initializing the lock");
- s1 = apr_global_mutex_create(&global_lock, lockname, APR_LOCK_DEFAULT, pool);
-
- if (s1 != APR_SUCCESS) {
- printf("Failed!\n");
- return s1;
- }
- printf("OK\n");
-
- printf("%-60s", " Starting all of the processes");
- fflush(stdout);
- s1 = make_child(&p1, pool);
- s2 = make_child(&p2, pool);
- s3 = make_child(&p3, pool);
- s4 = make_child(&p4, pool);
- if (s1 != APR_SUCCESS || s2 != APR_SUCCESS ||
- s3 != APR_SUCCESS || s4 != APR_SUCCESS) {
- printf("Failed!\n");
- return s1;
- }
- printf("OK\n");
-
- printf("%-60s", " Waiting for processes to exit");
- s1 = apr_proc_wait(p1, NULL, NULL, APR_WAIT);
- s2 = apr_proc_wait(p2, NULL, NULL, APR_WAIT);
- s3 = apr_proc_wait(p3, NULL, NULL, APR_WAIT);
- s4 = apr_proc_wait(p4, NULL, NULL, APR_WAIT);
- printf("OK\n");
-
- if ((*x) != MAX_COUNTER) {
- fprintf(stderr, "Locks don't appear to work! x = %d instead of %d\n",
- (*x), MAX_COUNTER);
- }
- else {
- printf("Test passed\n");
- }
- return APR_SUCCESS;
-}
-
-int main(int argc, const char * const *argv)
-{
- apr_status_t rv;
- char errmsg[200];
- const char *lockname = NULL;
- const char *shmname = "shm.file";
- apr_getopt_t *opt;
- char optchar;
- const char *optarg;
- apr_shm_t *shm;
-
- printf("APR Proc Mutex Test\n==============\n\n");
-
- apr_initialize();
- atexit(apr_terminate);
-
- if (apr_pool_create(&pool, NULL) != APR_SUCCESS)
- exit(-1);
-
- if ((rv = apr_getopt_init(&opt, pool, argc, argv)) != APR_SUCCESS) {
- fprintf(stderr, "Could not set up to parse options: [%d] %s\n",
- rv, apr_strerror(rv, errmsg, sizeof errmsg));
- exit(-1);
- }
-
- while ((rv = apr_getopt(opt, "f:", &optchar, &optarg)) == APR_SUCCESS) {
- if (optchar == 'f') {
- lockname = optarg;
- }
- }
-
- if (rv != APR_SUCCESS && rv != APR_EOF) {
- fprintf(stderr, "Could not parse options: [%d] %s\n",
- rv, apr_strerror(rv, errmsg, sizeof errmsg));
- exit(-1);
- }
-
- apr_shm_create(&shm, sizeof(int), shmname, pool);
- x = apr_shm_baseaddr_get(shm);
-
- if ((rv = test_exclusive(lockname)) != APR_SUCCESS) {
- fprintf(stderr,"Exclusive Lock test failed : [%d] %s\n",
- rv, apr_strerror(rv, (char*)errmsg, 200));
- exit(-2);
- }
-
- return 0;
-}
-
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/testhash.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/testhash.c
deleted file mode 100644
index 6962236e..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/testhash.c
+++ /dev/null
@@ -1,403 +0,0 @@
-/* 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 "test_apr.h"
-#include "apr.h"
-#include "apr_strings.h"
-#include "apr_general.h"
-#include "apr_pools.h"
-#include "apr_hash.h"
-
-static void dump_hash(apr_pool_t *p, apr_hash_t *h, char *str)
-{
- apr_hash_index_t *hi;
- char *val, *key;
- apr_ssize_t len;
- int i = 0;
-
- str[0] = '\0';
-
- for (hi = apr_hash_first(p, h); hi; hi = apr_hash_next(hi)) {
- apr_hash_this(hi,(void*) &key, &len, (void*) &val);
- apr_snprintf(str, 8196, "%sKey %s (%" APR_SSIZE_T_FMT ") Value %s\n",
- str, key, len, val);
- i++;
- }
- apr_snprintf(str, 8196, "%s#entries %d\n", str, i);
-}
-
-static void sum_hash(apr_pool_t *p, apr_hash_t *h, int *pcount, int *keySum, int *valSum)
-{
- apr_hash_index_t *hi;
- void *val, *key;
- int count = 0;
-
- *keySum = 0;
- *valSum = 0;
- *pcount = 0;
- for (hi = apr_hash_first(p, h); hi; hi = apr_hash_next(hi)) {
- apr_hash_this(hi, (void*)&key, NULL, &val);
- *valSum += *(int *)val;
- *keySum += *(int *)key;
- count++;
- }
- *pcount=count;
-}
-
-static void hash_make(CuTest *tc)
-{
- apr_hash_t *h = NULL;
-
- h = apr_hash_make(p);
- CuAssertPtrNotNull(tc, h);
-}
-
-static void hash_set(CuTest *tc)
-{
- apr_hash_t *h = NULL;
- char *result = NULL;
-
- h = apr_hash_make(p);
- CuAssertPtrNotNull(tc, h);
-
- apr_hash_set(h, "key", APR_HASH_KEY_STRING, "value");
- result = apr_hash_get(h, "key", APR_HASH_KEY_STRING);
- CuAssertStrEquals(tc, "value", result);
-}
-
-static void hash_reset(CuTest *tc)
-{
- apr_hash_t *h = NULL;
- char *result = NULL;
-
- h = apr_hash_make(p);
- CuAssertPtrNotNull(tc, h);
-
- apr_hash_set(h, "key", APR_HASH_KEY_STRING, "value");
- result = apr_hash_get(h, "key", APR_HASH_KEY_STRING);
- CuAssertStrEquals(tc, "value", result);
-
- apr_hash_set(h, "key", APR_HASH_KEY_STRING, "new");
- result = apr_hash_get(h, "key", APR_HASH_KEY_STRING);
- CuAssertStrEquals(tc, "new", result);
-}
-
-static void same_value(CuTest *tc)
-{
- apr_hash_t *h = NULL;
- char *result = NULL;
-
- h = apr_hash_make(p);
- CuAssertPtrNotNull(tc, h);
-
- apr_hash_set(h, "same1", APR_HASH_KEY_STRING, "same");
- result = apr_hash_get(h, "same1", APR_HASH_KEY_STRING);
- CuAssertStrEquals(tc, "same", result);
-
- apr_hash_set(h, "same2", APR_HASH_KEY_STRING, "same");
- result = apr_hash_get(h, "same2", APR_HASH_KEY_STRING);
- CuAssertStrEquals(tc, "same", result);
-}
-
-static void key_space(CuTest *tc)
-{
- apr_hash_t *h = NULL;
- char *result = NULL;
-
- h = apr_hash_make(p);
- CuAssertPtrNotNull(tc, h);
-
- apr_hash_set(h, "key with space", APR_HASH_KEY_STRING, "value");
- result = apr_hash_get(h, "key with space", APR_HASH_KEY_STRING);
- CuAssertStrEquals(tc, "value", result);
-}
-
-/* This is kind of a hack, but I am just keeping an existing test. This is
- * really testing apr_hash_first, apr_hash_next, and apr_hash_this which
- * should be tested in three separate tests, but this will do for now.
- */
-static void hash_traverse(CuTest *tc)
-{
- apr_hash_t *h;
- char str[8196];
-
- h = apr_hash_make(p);
- CuAssertPtrNotNull(tc, h);
-
- apr_hash_set(h, "OVERWRITE", APR_HASH_KEY_STRING, "should not see this");
- apr_hash_set(h, "FOO3", APR_HASH_KEY_STRING, "bar3");
- apr_hash_set(h, "FOO3", APR_HASH_KEY_STRING, "bar3");
- apr_hash_set(h, "FOO1", APR_HASH_KEY_STRING, "bar1");
- apr_hash_set(h, "FOO2", APR_HASH_KEY_STRING, "bar2");
- apr_hash_set(h, "FOO4", APR_HASH_KEY_STRING, "bar4");
- apr_hash_set(h, "SAME1", APR_HASH_KEY_STRING, "same");
- apr_hash_set(h, "SAME2", APR_HASH_KEY_STRING, "same");
- apr_hash_set(h, "OVERWRITE", APR_HASH_KEY_STRING, "Overwrite key");
-
- dump_hash(p, h, str);
- CuAssertStrEquals(tc, "Key FOO1 (4) Value bar1\n"
- "Key FOO2 (4) Value bar2\n"
- "Key OVERWRITE (9) Value Overwrite key\n"
- "Key FOO3 (4) Value bar3\n"
- "Key SAME1 (5) Value same\n"
- "Key FOO4 (4) Value bar4\n"
- "Key SAME2 (5) Value same\n"
- "#entries 7\n", str);
-}
-
-/* This is kind of a hack, but I am just keeping an existing test. This is
- * really testing apr_hash_first, apr_hash_next, and apr_hash_this which
- * should be tested in three separate tests, but this will do for now.
- */
-static void summation_test(CuTest *tc)
-{
- apr_hash_t *h;
- int sumKeys, sumVal, trySumKey, trySumVal;
- int i, j, *val, *key;
-
- h =apr_hash_make(p);
- CuAssertPtrNotNull(tc, h);
-
- sumKeys = 0;
- sumVal = 0;
- trySumKey = 0;
- trySumVal = 0;
-
- for (i = 0; i < 100; i++) {
- j = i * 10 + 1;
- sumKeys += j;
- sumVal += i;
- key = apr_palloc(p, sizeof(int));
- *key = j;
- val = apr_palloc(p, sizeof(int));
- *val = i;
- apr_hash_set(h, key, sizeof(int), val);
- }
-
- sum_hash(p, h, &i, &trySumKey, &trySumVal);
- CuAssertIntEquals(tc, 100, i);
- CuAssertIntEquals(tc, sumVal, trySumVal);
- CuAssertIntEquals(tc, sumKeys, trySumKey);
-}
-
-static void delete_key(CuTest *tc)
-{
- apr_hash_t *h = NULL;
- char *result = NULL;
-
- h = apr_hash_make(p);
- CuAssertPtrNotNull(tc, h);
-
- apr_hash_set(h, "key", APR_HASH_KEY_STRING, "value");
- apr_hash_set(h, "key2", APR_HASH_KEY_STRING, "value2");
-
- result = apr_hash_get(h, "key", APR_HASH_KEY_STRING);
- CuAssertStrEquals(tc, "value", result);
-
- result = apr_hash_get(h, "key2", APR_HASH_KEY_STRING);
- CuAssertStrEquals(tc, "value2", result);
-
- apr_hash_set(h, "key", APR_HASH_KEY_STRING, NULL);
-
- result = apr_hash_get(h, "key", APR_HASH_KEY_STRING);
- CuAssertPtrEquals(tc, NULL, result);
-
- result = apr_hash_get(h, "key2", APR_HASH_KEY_STRING);
- CuAssertStrEquals(tc, "value2", result);
-}
-
-static void hash_count_0(CuTest *tc)
-{
- apr_hash_t *h = NULL;
- int count;
-
- h = apr_hash_make(p);
- CuAssertPtrNotNull(tc, h);
-
- count = apr_hash_count(h);
- CuAssertIntEquals(tc, 0, count);
-}
-
-static void hash_count_1(CuTest *tc)
-{
- apr_hash_t *h = NULL;
- int count;
-
- h = apr_hash_make(p);
- CuAssertPtrNotNull(tc, h);
-
- apr_hash_set(h, "key", APR_HASH_KEY_STRING, "value");
-
- count = apr_hash_count(h);
- CuAssertIntEquals(tc, 1, count);
-}
-
-static void hash_count_5(CuTest *tc)
-{
- apr_hash_t *h = NULL;
- int count;
-
- h = apr_hash_make(p);
- CuAssertPtrNotNull(tc, h);
-
- apr_hash_set(h, "key1", APR_HASH_KEY_STRING, "value1");
- apr_hash_set(h, "key2", APR_HASH_KEY_STRING, "value2");
- apr_hash_set(h, "key3", APR_HASH_KEY_STRING, "value3");
- apr_hash_set(h, "key4", APR_HASH_KEY_STRING, "value4");
- apr_hash_set(h, "key5", APR_HASH_KEY_STRING, "value5");
-
- count = apr_hash_count(h);
- CuAssertIntEquals(tc, 5, count);
-}
-
-static void overlay_empty(CuTest *tc)
-{
- apr_hash_t *base = NULL;
- apr_hash_t *overlay = NULL;
- apr_hash_t *result = NULL;
- int count;
- char str[8196];
-
- base = apr_hash_make(p);
- overlay = apr_hash_make(p);
- CuAssertPtrNotNull(tc, base);
- CuAssertPtrNotNull(tc, overlay);
-
- apr_hash_set(base, "key1", APR_HASH_KEY_STRING, "value1");
- apr_hash_set(base, "key2", APR_HASH_KEY_STRING, "value2");
- apr_hash_set(base, "key3", APR_HASH_KEY_STRING, "value3");
- apr_hash_set(base, "key4", APR_HASH_KEY_STRING, "value4");
- apr_hash_set(base, "key5", APR_HASH_KEY_STRING, "value5");
-
- result = apr_hash_overlay(p, overlay, base);
-
- count = apr_hash_count(result);
- CuAssertIntEquals(tc, 5, count);
-
- dump_hash(p, result, str);
- CuAssertStrEquals(tc, "Key key1 (4) Value value1\n"
- "Key key2 (4) Value value2\n"
- "Key key3 (4) Value value3\n"
- "Key key4 (4) Value value4\n"
- "Key key5 (4) Value value5\n"
- "#entries 5\n", str);
-}
-
-static void overlay_2unique(CuTest *tc)
-{
- apr_hash_t *base = NULL;
- apr_hash_t *overlay = NULL;
- apr_hash_t *result = NULL;
- int count;
- char str[8196];
-
- base = apr_hash_make(p);
- overlay = apr_hash_make(p);
- CuAssertPtrNotNull(tc, base);
- CuAssertPtrNotNull(tc, overlay);
-
- apr_hash_set(base, "base1", APR_HASH_KEY_STRING, "value1");
- apr_hash_set(base, "base2", APR_HASH_KEY_STRING, "value2");
- apr_hash_set(base, "base3", APR_HASH_KEY_STRING, "value3");
- apr_hash_set(base, "base4", APR_HASH_KEY_STRING, "value4");
- apr_hash_set(base, "base5", APR_HASH_KEY_STRING, "value5");
-
- apr_hash_set(overlay, "overlay1", APR_HASH_KEY_STRING, "value1");
- apr_hash_set(overlay, "overlay2", APR_HASH_KEY_STRING, "value2");
- apr_hash_set(overlay, "overlay3", APR_HASH_KEY_STRING, "value3");
- apr_hash_set(overlay, "overlay4", APR_HASH_KEY_STRING, "value4");
- apr_hash_set(overlay, "overlay5", APR_HASH_KEY_STRING, "value5");
-
- result = apr_hash_overlay(p, overlay, base);
-
- count = apr_hash_count(result);
- CuAssertIntEquals(tc, 10, count);
-
- dump_hash(p, result, str);
- /* I don't know why these are out of order, but they are. I would probably
- * consider this a bug, but others should comment.
- */
- CuAssertStrEquals(tc, "Key base5 (5) Value value5\n"
- "Key overlay1 (8) Value value1\n"
- "Key overlay2 (8) Value value2\n"
- "Key overlay3 (8) Value value3\n"
- "Key overlay4 (8) Value value4\n"
- "Key overlay5 (8) Value value5\n"
- "Key base1 (5) Value value1\n"
- "Key base2 (5) Value value2\n"
- "Key base3 (5) Value value3\n"
- "Key base4 (5) Value value4\n"
- "#entries 10\n", str);
-}
-
-static void overlay_same(CuTest *tc)
-{
- apr_hash_t *base = NULL;
- apr_hash_t *result = NULL;
- int count;
- char str[8196];
-
- base = apr_hash_make(p);
- CuAssertPtrNotNull(tc, base);
-
- apr_hash_set(base, "base1", APR_HASH_KEY_STRING, "value1");
- apr_hash_set(base, "base2", APR_HASH_KEY_STRING, "value2");
- apr_hash_set(base, "base3", APR_HASH_KEY_STRING, "value3");
- apr_hash_set(base, "base4", APR_HASH_KEY_STRING, "value4");
- apr_hash_set(base, "base5", APR_HASH_KEY_STRING, "value5");
-
- result = apr_hash_overlay(p, base, base);
-
- count = apr_hash_count(result);
- CuAssertIntEquals(tc, 5, count);
-
- dump_hash(p, result, str);
- /* I don't know why these are out of order, but they are. I would probably
- * consider this a bug, but others should comment.
- */
- CuAssertStrEquals(tc, "Key base5 (5) Value value5\n"
- "Key base1 (5) Value value1\n"
- "Key base2 (5) Value value2\n"
- "Key base3 (5) Value value3\n"
- "Key base4 (5) Value value4\n"
- "#entries 5\n", str);
-}
-
-CuSuite *testhash(void)
-{
- CuSuite *suite = CuSuiteNew("Hash");
-
- SUITE_ADD_TEST(suite, hash_make);
- SUITE_ADD_TEST(suite, hash_set);
- SUITE_ADD_TEST(suite, hash_reset);
- SUITE_ADD_TEST(suite, same_value);
- SUITE_ADD_TEST(suite, key_space);
- SUITE_ADD_TEST(suite, delete_key);
-
- SUITE_ADD_TEST(suite, hash_count_0);
- SUITE_ADD_TEST(suite, hash_count_1);
- SUITE_ADD_TEST(suite, hash_count_5);
-
- SUITE_ADD_TEST(suite, hash_traverse);
- SUITE_ADD_TEST(suite, summation_test);
-
- SUITE_ADD_TEST(suite, overlay_empty);
- SUITE_ADD_TEST(suite, overlay_2unique);
- SUITE_ADD_TEST(suite, overlay_same);
-
- return suite;
-}
-
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/testipsub.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/testipsub.c
deleted file mode 100644
index 8238fffd..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/testipsub.c
+++ /dev/null
@@ -1,173 +0,0 @@
-/* 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 "test_apr.h"
-#include "apr_general.h"
-#include "apr_network_io.h"
-#include "apr_errno.h"
-
-static void test_bad_input(CuTest *tc)
-{
- struct {
- const char *ipstr;
- const char *mask;
- apr_status_t expected_rv;
- } testcases[] =
- {
- /* so we have a few good inputs in here; sue me */
- {"my.host.name", NULL, APR_EINVAL}
- ,{"127.0.0.256", NULL, APR_EBADIP}
- ,{"127.0.0.1", NULL, APR_SUCCESS}
- ,{"127.0.0.1", "32", APR_SUCCESS}
- ,{"127.0.0.1", "1", APR_SUCCESS}
- ,{"127.0.0.1", "15", APR_SUCCESS}
- ,{"127.0.0.1", "-1", APR_EBADMASK}
- ,{"127.0.0.1", "0", APR_EBADMASK}
- ,{"127.0.0.1", "33", APR_EBADMASK}
- ,{"127.0.0.1", "255.0.0.0", APR_SUCCESS}
- ,{"127.0.0.1", "255.0", APR_EBADMASK}
- ,{"127.0.0.1", "255.255.256.0", APR_EBADMASK}
- ,{"127.0.0.1", "abc", APR_EBADMASK}
- ,{"127", NULL, APR_SUCCESS}
- ,{"127.0.0.1.2", NULL, APR_EBADIP}
- ,{"127.0.0.1.2", "8", APR_EBADIP}
- ,{"127", "255.0.0.0", APR_EBADIP} /* either EBADIP or EBADMASK seems fine */
-#if APR_HAVE_IPV6
- ,{"::1", NULL, APR_SUCCESS}
- ,{"::1", "20", APR_SUCCESS}
- ,{"::ffff:9.67.113.15", NULL, APR_EBADIP} /* yes, this is goodness */
- ,{"fe80::", "16", APR_SUCCESS}
- ,{"fe80::", "255.0.0.0", APR_EBADMASK}
- ,{"fe80::1", "0", APR_EBADMASK}
- ,{"fe80::1", "-1", APR_EBADMASK}
- ,{"fe80::1", "1", APR_SUCCESS}
- ,{"fe80::1", "33", APR_SUCCESS}
- ,{"fe80::1", "128", APR_SUCCESS}
- ,{"fe80::1", "129", APR_EBADMASK}
-#else
- /* do some IPv6 stuff and verify that it fails with APR_EBADIP */
- ,{"::ffff:9.67.113.15", NULL, APR_EBADIP}
-#endif
- };
- int i;
- apr_ipsubnet_t *ipsub;
- apr_status_t rv;
-
- for (i = 0; i < (sizeof testcases / sizeof testcases[0]); i++) {
- rv = apr_ipsubnet_create(&ipsub, testcases[i].ipstr, testcases[i].mask, p);
- CuAssertIntEquals(tc, rv, testcases[i].expected_rv);
- }
-}
-
-static void test_singleton_subnets(CuTest *tc)
-{
- const char *v4addrs[] = {
- "127.0.0.1", "129.42.18.99", "63.161.155.20", "207.46.230.229", "64.208.42.36",
- "198.144.203.195", "192.18.97.241", "198.137.240.91", "62.156.179.119",
- "204.177.92.181"
- };
- apr_ipsubnet_t *ipsub;
- apr_sockaddr_t *sa;
- apr_status_t rv;
- int i, j, rc;
-
- for (i = 0; i < sizeof v4addrs / sizeof v4addrs[0]; i++) {
- rv = apr_ipsubnet_create(&ipsub, v4addrs[i], NULL, p);
- CuAssertTrue(tc, rv == APR_SUCCESS);
- for (j = 0; j < sizeof v4addrs / sizeof v4addrs[0]; j++) {
- rv = apr_sockaddr_info_get(&sa, v4addrs[j], APR_INET, 0, 0, p);
- CuAssertTrue(tc, rv == APR_SUCCESS);
- rc = apr_ipsubnet_test(ipsub, sa);
- if (!strcmp(v4addrs[i], v4addrs[j])) {
- CuAssertTrue(tc, rc != 0);
- }
- else {
- CuAssertTrue(tc, rc == 0);
- }
- }
- }
-
- /* same for v6? */
-}
-
-static void test_interesting_subnets(CuTest *tc)
-{
- struct {
- const char *ipstr, *mask;
- int family;
- char *in_subnet, *not_in_subnet;
- } testcases[] =
- {
- {"9.67", NULL, APR_INET, "9.67.113.15", "10.1.2.3"}
- ,{"9.67.0.0", "16", APR_INET, "9.67.113.15", "10.1.2.3"}
- ,{"9.67.0.0", "255.255.0.0", APR_INET, "9.67.113.15", "10.1.2.3"}
- ,{"9.67.113.99", "16", APR_INET, "9.67.113.15", "10.1.2.3"}
- ,{"9.67.113.99", "255.255.255.0", APR_INET, "9.67.113.15", "10.1.2.3"}
-#if APR_HAVE_IPV6
- ,{"fe80::", "8", APR_INET6, "fe80::1", "ff01::1"}
- ,{"ff01::", "8", APR_INET6, "ff01::1", "fe80::1"}
- ,{"3FFE:8160::", "28", APR_INET6, "3ffE:816e:abcd:1234::1", "3ffe:8170::1"}
- ,{"127.0.0.1", NULL, APR_INET6, "::ffff:127.0.0.1", "fe80::1"}
- ,{"127.0.0.1", "8", APR_INET6, "::ffff:127.0.0.1", "fe80::1"}
-#endif
- };
- apr_ipsubnet_t *ipsub;
- apr_sockaddr_t *sa;
- apr_status_t rv;
- int i, rc;
-
- for (i = 0; i < sizeof testcases / sizeof testcases[0]; i++) {
- rv = apr_ipsubnet_create(&ipsub, testcases[i].ipstr, testcases[i].mask, p);
- CuAssertTrue(tc, rv == APR_SUCCESS);
- rv = apr_sockaddr_info_get(&sa, testcases[i].in_subnet, testcases[i].family, 0, 0, p);
- CuAssertTrue(tc, rv == APR_SUCCESS);
- rc = apr_ipsubnet_test(ipsub, sa);
- CuAssertTrue(tc, rc != 0);
- rv = apr_sockaddr_info_get(&sa, testcases[i].not_in_subnet, testcases[i].family, 0, 0, p);
- CuAssertTrue(tc, rv == APR_SUCCESS);
- rc = apr_ipsubnet_test(ipsub, sa);
- CuAssertTrue(tc, rc == 0);
- }
-}
-
-static void test_badmask_str(CuTest *tc)
-{
- char buf[128];
-
- CuAssertStrEquals(tc, apr_strerror(APR_EBADMASK, buf, sizeof buf),
- "The specified network mask is invalid.");
-}
-
-static void test_badip_str(CuTest *tc)
-{
- char buf[128];
-
- CuAssertStrEquals(tc, apr_strerror(APR_EBADIP, buf, sizeof buf),
- "The specified IP address is invalid.");
-}
-
-CuSuite *testipsub(void)
-{
- CuSuite *suite = CuSuiteNew("IP subnets");
-
- SUITE_ADD_TEST(suite, test_bad_input);
- SUITE_ADD_TEST(suite, test_singleton_subnets);
- SUITE_ADD_TEST(suite, test_interesting_subnets);
- SUITE_ADD_TEST(suite, test_badmask_str);
- SUITE_ADD_TEST(suite, test_badip_str);
- return suite;
-}
-
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/testlock.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/testlock.c
deleted file mode 100644
index 134426c4..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/testlock.c
+++ /dev/null
@@ -1,322 +0,0 @@
-/* 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 "apr_thread_proc.h"
-#include "apr_file_io.h"
-#include "apr_thread_mutex.h"
-#include "apr_thread_rwlock.h"
-#include "apr_thread_cond.h"
-#include "apr_errno.h"
-#include "apr_general.h"
-#include "apr_getopt.h"
-#include "test_apr.h"
-
-#if APR_HAS_THREADS
-
-#define MAX_ITER 40000
-#define MAX_COUNTER 100000
-#define MAX_RETRY 5
-
-static void *APR_THREAD_FUNC thread_rwlock_func(apr_thread_t *thd, void *data);
-static void *APR_THREAD_FUNC thread_mutex_function(apr_thread_t *thd, void *data);
-static void *APR_THREAD_FUNC thread_cond_producer(apr_thread_t *thd, void *data);
-static void *APR_THREAD_FUNC thread_cond_consumer(apr_thread_t *thd, void *data);
-
-static apr_thread_mutex_t *thread_mutex;
-static apr_thread_rwlock_t *rwlock;
-static int i = 0, x = 0;
-
-static int buff[MAX_COUNTER];
-
-struct {
- apr_thread_mutex_t *mutex;
- int nput;
- int nval;
-} put;
-
-struct {
- apr_thread_mutex_t *mutex;
- apr_thread_cond_t *cond;
- int nready;
-} nready;
-
-static apr_thread_mutex_t *timeout_mutex;
-static apr_thread_cond_t *timeout_cond;
-
-static void *APR_THREAD_FUNC thread_rwlock_func(apr_thread_t *thd, void *data)
-{
- int exitLoop = 1;
-
- while (1)
- {
- apr_thread_rwlock_rdlock(rwlock);
- if (i == MAX_ITER)
- exitLoop = 0;
- apr_thread_rwlock_unlock(rwlock);
-
- if (!exitLoop)
- break;
-
- apr_thread_rwlock_wrlock(rwlock);
- if (i != MAX_ITER)
- {
- i++;
- x++;
- }
- apr_thread_rwlock_unlock(rwlock);
- }
- return NULL;
-}
-
-static void *APR_THREAD_FUNC thread_mutex_function(apr_thread_t *thd, void *data)
-{
- int exitLoop = 1;
-
- /* slight delay to allow things to settle */
- apr_sleep (1);
-
- while (1)
- {
- apr_thread_mutex_lock(thread_mutex);
- if (i == MAX_ITER)
- exitLoop = 0;
- else
- {
- i++;
- x++;
- }
- apr_thread_mutex_unlock(thread_mutex);
-
- if (!exitLoop)
- break;
- }
- return NULL;
-}
-
-static void *APR_THREAD_FUNC thread_cond_producer(apr_thread_t *thd, void *data)
-{
- for (;;) {
- apr_thread_mutex_lock(put.mutex);
- if (put.nput >= MAX_COUNTER) {
- apr_thread_mutex_unlock(put.mutex);
- return NULL;
- }
- buff[put.nput] = put.nval;
- put.nput++;
- put.nval++;
- apr_thread_mutex_unlock(put.mutex);
-
- apr_thread_mutex_lock(nready.mutex);
- if (nready.nready == 0)
- apr_thread_cond_signal(nready.cond);
- nready.nready++;
- apr_thread_mutex_unlock(nready.mutex);
-
- *((int *) data) += 1;
- }
-
- return NULL;
-}
-
-static void *APR_THREAD_FUNC thread_cond_consumer(apr_thread_t *thd, void *data)
-{
- int i;
-
- for (i = 0; i < MAX_COUNTER; i++) {
- apr_thread_mutex_lock(nready.mutex);
- while (nready.nready == 0)
- apr_thread_cond_wait(nready.cond, nready.mutex);
- nready.nready--;
- apr_thread_mutex_unlock(nready.mutex);
-
- if (buff[i] != i)
- printf("buff[%d] = %d\n", i, buff[i]);
- }
-
- return NULL;
-}
-
-static void test_thread_mutex(CuTest *tc)
-{
- apr_thread_t *t1, *t2, *t3, *t4;
- apr_status_t s1, s2, s3, s4;
-
- s1 = apr_thread_mutex_create(&thread_mutex, APR_THREAD_MUTEX_DEFAULT, p);
- CuAssertIntEquals(tc, APR_SUCCESS, s1);
- CuAssertPtrNotNull(tc, thread_mutex);
-
- i = 0;
- x = 0;
-
- s1 = apr_thread_create(&t1, NULL, thread_mutex_function, NULL, p);
- CuAssertIntEquals(tc, APR_SUCCESS, s1);
- s2 = apr_thread_create(&t2, NULL, thread_mutex_function, NULL, p);
- CuAssertIntEquals(tc, APR_SUCCESS, s2);
- s3 = apr_thread_create(&t3, NULL, thread_mutex_function, NULL, p);
- CuAssertIntEquals(tc, APR_SUCCESS, s3);
- s4 = apr_thread_create(&t4, NULL, thread_mutex_function, NULL, p);
- CuAssertIntEquals(tc, APR_SUCCESS, s4);
-
- apr_thread_join(&s1, t1);
- apr_thread_join(&s2, t2);
- apr_thread_join(&s3, t3);
- apr_thread_join(&s4, t4);
-
- CuAssertIntEquals(tc, MAX_ITER, x);
-}
-
-static void test_thread_rwlock(CuTest *tc)
-{
- apr_thread_t *t1, *t2, *t3, *t4;
- apr_status_t s1, s2, s3, s4;
-
- s1 = apr_thread_rwlock_create(&rwlock, p);
- apr_assert_success(tc, "rwlock_create", s1);
- CuAssertPtrNotNull(tc, rwlock);
-
- i = 0;
- x = 0;
-
- s1 = apr_thread_create(&t1, NULL, thread_rwlock_func, NULL, p);
- apr_assert_success(tc, "create thread 1", s1);
- s2 = apr_thread_create(&t2, NULL, thread_rwlock_func, NULL, p);
- apr_assert_success(tc, "create thread 2", s2);
- s3 = apr_thread_create(&t3, NULL, thread_rwlock_func, NULL, p);
- apr_assert_success(tc, "create thread 3", s3);
- s4 = apr_thread_create(&t4, NULL, thread_rwlock_func, NULL, p);
- apr_assert_success(tc, "create thread 4", s4);
-
- apr_thread_join(&s1, t1);
- apr_thread_join(&s2, t2);
- apr_thread_join(&s3, t3);
- apr_thread_join(&s4, t4);
-
- CuAssertIntEquals(tc, MAX_ITER, x);
-
- apr_thread_rwlock_destroy(rwlock);
-}
-
-static void test_cond(CuTest *tc)
-{
- apr_thread_t *p1, *p2, *p3, *p4, *c1;
- apr_status_t s0, s1, s2, s3, s4;
- int count1, count2, count3, count4;
- int sum;
-
- s1 = apr_thread_mutex_create(&put.mutex, APR_THREAD_MUTEX_DEFAULT, p);
- CuAssertIntEquals(tc, APR_SUCCESS, s1);
- CuAssertPtrNotNull(tc, put.mutex);
-
- s1 = apr_thread_mutex_create(&nready.mutex, APR_THREAD_MUTEX_DEFAULT, p);
- CuAssertIntEquals(tc, APR_SUCCESS, s1);
- CuAssertPtrNotNull(tc, nready.mutex);
-
- s1 = apr_thread_cond_create(&nready.cond, p);
- CuAssertIntEquals(tc, APR_SUCCESS, s1);
- CuAssertPtrNotNull(tc, nready.cond);
-
- count1 = count2 = count3 = count4 = 0;
- put.nput = put.nval = 0;
- nready.nready = 0;
- i = 0;
- x = 0;
-
- s0 = apr_thread_create(&p1, NULL, thread_cond_producer, &count1, p);
- CuAssertIntEquals(tc, APR_SUCCESS, s0);
- s1 = apr_thread_create(&p2, NULL, thread_cond_producer, &count2, p);
- CuAssertIntEquals(tc, APR_SUCCESS, s1);
- s2 = apr_thread_create(&p3, NULL, thread_cond_producer, &count3, p);
- CuAssertIntEquals(tc, APR_SUCCESS, s2);
- s3 = apr_thread_create(&p4, NULL, thread_cond_producer, &count4, p);
- CuAssertIntEquals(tc, APR_SUCCESS, s3);
- s4 = apr_thread_create(&c1, NULL, thread_cond_consumer, NULL, p);
- CuAssertIntEquals(tc, APR_SUCCESS, s4);
-
- apr_thread_join(&s0, p1);
- apr_thread_join(&s1, p2);
- apr_thread_join(&s2, p3);
- apr_thread_join(&s3, p4);
- apr_thread_join(&s4, c1);
-
- sum = count1 + count2 + count3 + count4;
- /*
- printf("count1 = %d count2 = %d count3 = %d count4 = %d\n",
- count1, count2, count3, count4);
- */
- CuAssertIntEquals(tc, MAX_COUNTER, sum);
-}
-
-static void test_timeoutcond(CuTest *tc)
-{
- apr_status_t s;
- apr_interval_time_t timeout;
- apr_time_t begin, end;
- int i;
-
- s = apr_thread_mutex_create(&timeout_mutex, APR_THREAD_MUTEX_DEFAULT, p);
- CuAssertIntEquals(tc, APR_SUCCESS, s);
- CuAssertPtrNotNull(tc, timeout_mutex);
-
- s = apr_thread_cond_create(&timeout_cond, p);
- CuAssertIntEquals(tc, APR_SUCCESS, s);
- CuAssertPtrNotNull(tc, timeout_cond);
-
- timeout = apr_time_from_sec(5);
-
- for (i = 0; i < MAX_RETRY; i++) {
- apr_thread_mutex_lock(timeout_mutex);
-
- begin = apr_time_now();
- s = apr_thread_cond_timedwait(timeout_cond, timeout_mutex, timeout);
- end = apr_time_now();
- apr_thread_mutex_unlock(timeout_mutex);
-
- if (s != APR_SUCCESS && !APR_STATUS_IS_TIMEUP(s)) {
- continue;
- }
- CuAssertIntEquals(tc, 1, APR_STATUS_IS_TIMEUP(s));
- CuAssert(tc, "Timer returned too late", end - begin - timeout < 100000);
- break;
- }
- CuAssert(tc, "Too many retries", i < MAX_RETRY);
-}
-
-#endif /* !APR_HAS_THREADS */
-
-#if !APR_HAS_THREADS
-static void threads_not_impl(CuTest *tc)
-{
- CuNotImpl(tc, "Threads not implemented on this platform");
-}
-#endif
-
-
-CuSuite *testlock(void)
-{
- CuSuite *suite = CuSuiteNew("Thread Locks");
-
-#if !APR_HAS_THREADS
- SUITE_ADD_TEST(suite, threads_not_impl);
-#else
- SUITE_ADD_TEST(suite, test_thread_mutex);
- SUITE_ADD_TEST(suite, test_thread_rwlock);
- SUITE_ADD_TEST(suite, test_cond);
- SUITE_ADD_TEST(suite, test_timeoutcond);
-#endif
-
- return suite;
-}
-
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/testlockperf.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/testlockperf.c
deleted file mode 100644
index ba785775..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/testlockperf.c
+++ /dev/null
@@ -1,282 +0,0 @@
-/* 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 "apr_thread_proc.h"
-#include "apr_thread_mutex.h"
-#include "apr_thread_rwlock.h"
-#include "apr_file_io.h"
-#include "apr_errno.h"
-#include "apr_general.h"
-#include "apr_getopt.h"
-#include "errno.h"
-#include <stdio.h>
-#include <stdlib.h>
-#include "test_apr.h"
-
-#if !APR_HAS_THREADS
-int main(void)
-{
- printf("This program won't work on this platform because there is no "
- "support for threads.\n");
- return 0;
-}
-#else /* !APR_HAS_THREADS */
-
-#define MAX_COUNTER 1000000
-#define MAX_THREADS 6
-
-static long mutex_counter;
-
-static apr_thread_mutex_t *thread_lock;
-void * APR_THREAD_FUNC thread_mutex_func(apr_thread_t *thd, void *data);
-apr_status_t test_thread_mutex(int num_threads); /* apr_thread_mutex_t */
-
-static apr_thread_rwlock_t *thread_rwlock;
-void * APR_THREAD_FUNC thread_rwlock_func(apr_thread_t *thd, void *data);
-apr_status_t test_thread_rwlock(int num_threads); /* apr_thread_rwlock_t */
-
-int test_thread_mutex_nested(int num_threads);
-
-apr_pool_t *pool;
-int i = 0, x = 0;
-
-void * APR_THREAD_FUNC thread_mutex_func(apr_thread_t *thd, void *data)
-{
- int i;
-
- for (i = 0; i < MAX_COUNTER; i++) {
- apr_thread_mutex_lock(thread_lock);
- mutex_counter++;
- apr_thread_mutex_unlock(thread_lock);
- }
- return NULL;
-}
-
-void * APR_THREAD_FUNC thread_rwlock_func(apr_thread_t *thd, void *data)
-{
- int i;
-
- for (i = 0; i < MAX_COUNTER; i++) {
- apr_thread_rwlock_wrlock(thread_rwlock);
- mutex_counter++;
- apr_thread_rwlock_unlock(thread_rwlock);
- }
- return NULL;
-}
-
-int test_thread_mutex(int num_threads)
-{
- apr_thread_t *t[MAX_THREADS];
- apr_status_t s[MAX_THREADS];
- apr_time_t time_start, time_stop;
- int i;
-
- mutex_counter = 0;
-
- printf("apr_thread_mutex_t Tests\n");
- printf("%-60s", " Initializing the apr_thread_mutex_t (UNNESTED)");
- s[0] = apr_thread_mutex_create(&thread_lock, APR_THREAD_MUTEX_UNNESTED, pool);
- if (s[0] != APR_SUCCESS) {
- printf("Failed!\n");
- return s[0];
- }
- printf("OK\n");
-
- apr_thread_mutex_lock(thread_lock);
- /* set_concurrency(4)? -aaron */
- printf(" Starting %d threads ", num_threads);
- for (i = 0; i < num_threads; ++i) {
- s[i] = apr_thread_create(&t[i], NULL, thread_mutex_func, NULL, pool);
- if (s[i] != APR_SUCCESS) {
- printf("Failed!\n");
- return s[i];
- }
- }
- printf("OK\n");
-
- time_start = apr_time_now();
- apr_thread_mutex_unlock(thread_lock);
-
- /* printf("%-60s", " Waiting for threads to exit"); */
- for (i = 0; i < num_threads; ++i) {
- apr_thread_join(&s[i], t[i]);
- }
- /* printf("OK\n"); */
-
- time_stop = apr_time_now();
- printf("microseconds: %" APR_INT64_T_FMT " usec\n",
- (time_stop - time_start));
- if (mutex_counter != MAX_COUNTER * num_threads)
- printf("error: counter = %ld\n", mutex_counter);
-
- return APR_SUCCESS;
-}
-
-int test_thread_mutex_nested(int num_threads)
-{
- apr_thread_t *t[MAX_THREADS];
- apr_status_t s[MAX_THREADS];
- apr_time_t time_start, time_stop;
- int i;
-
- mutex_counter = 0;
-
- printf("apr_thread_mutex_t Tests\n");
- printf("%-60s", " Initializing the apr_thread_mutex_t (NESTED)");
- s[0] = apr_thread_mutex_create(&thread_lock, APR_THREAD_MUTEX_NESTED, pool);
- if (s[0] != APR_SUCCESS) {
- printf("Failed!\n");
- return s[0];
- }
- printf("OK\n");
-
- apr_thread_mutex_lock(thread_lock);
- /* set_concurrency(4)? -aaron */
- printf(" Starting %d threads ", num_threads);
- for (i = 0; i < num_threads; ++i) {
- s[i] = apr_thread_create(&t[i], NULL, thread_mutex_func, NULL, pool);
- if (s[i] != APR_SUCCESS) {
- printf("Failed!\n");
- return s[i];
- }
- }
- printf("OK\n");
-
- time_start = apr_time_now();
- apr_thread_mutex_unlock(thread_lock);
-
- /* printf("%-60s", " Waiting for threads to exit"); */
- for (i = 0; i < num_threads; ++i) {
- apr_thread_join(&s[i], t[i]);
- }
- /* printf("OK\n"); */
-
- time_stop = apr_time_now();
- printf("microseconds: %" APR_INT64_T_FMT " usec\n",
- (time_stop - time_start));
- if (mutex_counter != MAX_COUNTER * num_threads)
- printf("error: counter = %ld\n", mutex_counter);
-
- return APR_SUCCESS;
-}
-
-int test_thread_rwlock(int num_threads)
-{
- apr_thread_t *t[MAX_THREADS];
- apr_status_t s[MAX_THREADS];
- apr_time_t time_start, time_stop;
- int i;
-
- mutex_counter = 0;
-
- printf("apr_thread_rwlock_t Tests\n");
- printf("%-60s", " Initializing the apr_thread_rwlock_t");
- s[0] = apr_thread_rwlock_create(&thread_rwlock, pool);
- if (s[0] != APR_SUCCESS) {
- printf("Failed!\n");
- return s[0];
- }
- printf("OK\n");
-
- apr_thread_rwlock_wrlock(thread_rwlock);
- /* set_concurrency(4)? -aaron */
- printf(" Starting %d threads ", num_threads);
- for (i = 0; i < num_threads; ++i) {
- s[i] = apr_thread_create(&t[i], NULL, thread_rwlock_func, NULL, pool);
- if (s[i] != APR_SUCCESS) {
- printf("Failed!\n");
- return s[i];
- }
- }
- printf("OK\n");
-
- time_start = apr_time_now();
- apr_thread_rwlock_unlock(thread_rwlock);
-
- /* printf("%-60s", " Waiting for threads to exit"); */
- for (i = 0; i < num_threads; ++i) {
- apr_thread_join(&s[i], t[i]);
- }
- /* printf("OK\n"); */
-
- time_stop = apr_time_now();
- printf("microseconds: %" APR_INT64_T_FMT " usec\n",
- (time_stop - time_start));
- if (mutex_counter != MAX_COUNTER * num_threads)
- printf("error: counter = %ld\n", mutex_counter);
-
- return APR_SUCCESS;
-}
-
-int main(int argc, const char * const *argv)
-{
- apr_status_t rv;
- char errmsg[200];
- const char *lockname = "multi.lock";
- apr_getopt_t *opt;
- char optchar;
- const char *optarg;
-
- printf("APR Lock Performance Test\n==============\n\n");
-
- apr_initialize();
- atexit(apr_terminate);
-
- if (apr_pool_create(&pool, NULL) != APR_SUCCESS)
- exit(-1);
-
- if ((rv = apr_getopt_init(&opt, pool, argc, argv)) != APR_SUCCESS) {
- fprintf(stderr, "Could not set up to parse options: [%d] %s\n",
- rv, apr_strerror(rv, errmsg, sizeof errmsg));
- exit(-1);
- }
-
- while ((rv = apr_getopt(opt, "f:", &optchar, &optarg)) == APR_SUCCESS) {
- if (optchar == 'f') {
- lockname = optarg;
- }
- }
-
- if (rv != APR_SUCCESS && rv != APR_EOF) {
- fprintf(stderr, "Could not parse options: [%d] %s\n",
- rv, apr_strerror(rv, errmsg, sizeof errmsg));
- exit(-1);
- }
-
- for (i = 1; i <= MAX_THREADS; ++i) {
- if ((rv = test_thread_mutex(i)) != APR_SUCCESS) {
- fprintf(stderr,"thread_mutex test failed : [%d] %s\n",
- rv, apr_strerror(rv, (char*)errmsg, 200));
- exit(-3);
- }
-
- if ((rv = test_thread_mutex_nested(i)) != APR_SUCCESS) {
- fprintf(stderr,"thread_mutex (NESTED) test failed : [%d] %s\n",
- rv, apr_strerror(rv, (char*)errmsg, 200));
- exit(-4);
- }
-
- if ((rv = test_thread_rwlock(i)) != APR_SUCCESS) {
- fprintf(stderr,"thread_rwlock test failed : [%d] %s\n",
- rv, apr_strerror(rv, (char*)errmsg, 200));
- exit(-6);
- }
- }
-
- return 0;
-}
-
-#endif /* !APR_HAS_THREADS */
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/testmmap.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/testmmap.c
deleted file mode 100644
index 012d8d0e..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/testmmap.c
+++ /dev/null
@@ -1,154 +0,0 @@
-/* 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 "test_apr.h"
-#include "apr_mmap.h"
-#include "apr_errno.h"
-#include "apr_general.h"
-#include "apr_lib.h"
-#include "apr_file_io.h"
-#include "apr_strings.h"
-
-/* hmmm, what is a truly portable define for the max path
- * length on a platform?
- */
-#define PATH_LEN 255
-#define TEST_STRING "This is the MMAP data file."APR_EOL_STR
-
-#if !APR_HAS_MMAP
-static void not_implemented(CuTest *tc)
-{
- CuNotImpl(tc, "User functions");
-}
-
-#else
-
-static apr_mmap_t *themmap = NULL;
-static apr_file_t *thefile = NULL;
-static char *file1;
-static apr_finfo_t finfo;
-static int fsize;
-
-static void create_filename(CuTest *tc)
-{
- char *oldfileptr;
-
- apr_filepath_get(&file1, 0, p);
-#ifndef NETWARE
-#ifdef WIN32
- CuAssertTrue(tc, file1[1] == ':');
-#else
- CuAssertTrue(tc, file1[0] == '/');
-#endif
-#endif
- CuAssertTrue(tc, file1[strlen(file1) - 1] != '/');
-
- oldfileptr = file1;
- file1 = apr_pstrcat(p, file1,"/data/mmap_datafile.txt" ,NULL);
- CuAssertTrue(tc, oldfileptr != file1);
-}
-
-static void test_file_close(CuTest *tc)
-{
- apr_status_t rv;
-
- rv = apr_file_close(thefile);
- CuAssertIntEquals(tc, rv, APR_SUCCESS);
-}
-
-static void test_file_open(CuTest *tc)
-{
- apr_status_t rv;
-
- rv = apr_file_open(&thefile, file1, APR_READ, APR_UREAD | APR_GREAD, p);
- CuAssertIntEquals(tc, rv, APR_SUCCESS);
- CuAssertPtrNotNull(tc, thefile);
-}
-
-static void test_get_filesize(CuTest *tc)
-{
- apr_status_t rv;
-
- rv = apr_file_info_get(&finfo, APR_FINFO_NORM, thefile);
- CuAssertIntEquals(tc, rv, APR_SUCCESS);
- CuAssert(tc, "File size mismatch", fsize == finfo.size);
-}
-
-static void test_mmap_create(CuTest *tc)
-{
- apr_status_t rv;
-
- rv = apr_mmap_create(&themmap, thefile, 0, (apr_size_t)finfo.size,
- APR_MMAP_READ, p);
- CuAssertPtrNotNull(tc, themmap);
- CuAssertIntEquals(tc, rv, APR_SUCCESS);
-}
-
-static void test_mmap_contents(CuTest *tc)
-{
-
- CuAssertPtrNotNull(tc, themmap);
- CuAssertPtrNotNull(tc, themmap->mm);
- CuAssertIntEquals(tc, fsize, themmap->size);
-
- /* Must use nEquals since the string is not guaranteed to be NULL terminated */
- CuAssertStrNEquals(tc, themmap->mm, TEST_STRING, fsize);
-}
-
-static void test_mmap_delete(CuTest *tc)
-{
- apr_status_t rv;
-
- CuAssertPtrNotNull(tc, themmap);
- rv = apr_mmap_delete(themmap);
- CuAssertIntEquals(tc, rv, APR_SUCCESS);
-}
-
-static void test_mmap_offset(CuTest *tc)
-{
- apr_status_t rv;
- void *addr;
-
- CuAssertPtrNotNull(tc, themmap);
- rv = apr_mmap_offset(&addr, themmap, 5);
-
- /* Must use nEquals since the string is not guaranteed to be NULL terminated */
- CuAssertStrNEquals(tc, addr, TEST_STRING + 5, fsize-5);
-}
-#endif
-
-CuSuite *testmmap(void)
-{
- CuSuite *suite = CuSuiteNew("MMAP");
-
-#if APR_HAS_MMAP
- fsize = strlen(TEST_STRING);
-
- SUITE_ADD_TEST(suite, create_filename);
- SUITE_ADD_TEST(suite, test_file_open);
- SUITE_ADD_TEST(suite, test_get_filesize);
- SUITE_ADD_TEST(suite, test_mmap_create);
- SUITE_ADD_TEST(suite, test_mmap_contents);
- SUITE_ADD_TEST(suite, test_mmap_offset);
- SUITE_ADD_TEST(suite, test_mmap_delete);
- SUITE_ADD_TEST(suite, test_file_close);
-#else
- SUITE_ADD_TEST(suite, not_implemented);
-#endif
-
- return suite;
-}
-
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/testmutexscope.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/testmutexscope.c
deleted file mode 100644
index 0ea08cc6..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/testmutexscope.c
+++ /dev/null
@@ -1,218 +0,0 @@
-/* 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 <assert.h>
-#include <errno.h>
-#include <stdio.h>
-#include <stdlib.h>
-
-#include "apr.h"
-#include "apr_general.h"
-#include "apr_proc_mutex.h"
-#include "apr_global_mutex.h"
-#include "apr_thread_proc.h"
-
-#if !APR_HAS_THREADS
-int main(void)
-{
- printf("This test requires APR thread support.\n");
- return 0;
-}
-
-#else /* APR_HAS_THREADS */
-
-static apr_thread_mutex_t *thread_mutex;
-static apr_proc_mutex_t *proc_mutex;
-static apr_global_mutex_t *global_mutex;
-static apr_pool_t *p;
-static volatile int counter;
-typedef enum {TEST_GLOBAL, TEST_PROC} test_mode_e;
-
-static void lock_init(apr_lockmech_e mech, test_mode_e test_mode)
-{
- if (test_mode == TEST_PROC) {
- assert(apr_proc_mutex_create(&proc_mutex,
- NULL,
- mech,
- p) == APR_SUCCESS);
- }
- else {
- assert(apr_global_mutex_create(&global_mutex,
- NULL,
- mech,
- p) == APR_SUCCESS);
- }
-}
-
-static void lock_destroy(test_mode_e test_mode)
-{
- if (test_mode == TEST_PROC) {
- assert(apr_proc_mutex_destroy(proc_mutex) == APR_SUCCESS);
- }
- else {
- assert(apr_global_mutex_destroy(global_mutex) == APR_SUCCESS);
- }
-}
-
-static void lock_grab(test_mode_e test_mode)
-{
- if (test_mode == TEST_PROC) {
- assert(apr_proc_mutex_lock(proc_mutex) == APR_SUCCESS);
- }
- else {
- assert(apr_global_mutex_lock(global_mutex) == APR_SUCCESS);
- }
-}
-
-static void lock_release(test_mode_e test_mode)
-{
- if (test_mode == TEST_PROC) {
- assert(apr_proc_mutex_unlock(proc_mutex) == APR_SUCCESS);
- }
- else {
- assert(apr_global_mutex_unlock(global_mutex) == APR_SUCCESS);
- }
-}
-
-static void * APR_THREAD_FUNC eachThread(apr_thread_t *id, void *p)
-{
- test_mode_e test_mode = (test_mode_e)p;
-
- lock_grab(test_mode);
- ++counter;
- assert(apr_thread_mutex_lock(thread_mutex) == APR_SUCCESS);
- assert(apr_thread_mutex_unlock(thread_mutex) == APR_SUCCESS);
- lock_release(test_mode);
- return NULL;
-}
-
-static void test_mech_mode(apr_lockmech_e mech, const char *mech_name,
- test_mode_e test_mode)
-{
- apr_thread_t *threads[20];
- int numThreads = 5;
- int i;
- apr_status_t rv;
-
- printf("Trying %s mutexes with mechanism `%s'...\n",
- test_mode == TEST_GLOBAL ? "global" : "proc", mech_name);
-
- assert(numThreads <= sizeof(threads) / sizeof(threads[0]));
-
- assert(apr_pool_create(&p, NULL) == APR_SUCCESS);
-
- assert(apr_thread_mutex_create(&thread_mutex, 0, p) == APR_SUCCESS);
- assert(apr_thread_mutex_lock(thread_mutex) == APR_SUCCESS);
-
- lock_init(mech, test_mode);
-
- counter = 0;
-
- i = 0;
- while (i < numThreads)
- {
- rv = apr_thread_create(&threads[i],
- NULL,
- eachThread,
- (void *)test_mode,
- p);
- if (rv != APR_SUCCESS) {
- fprintf(stderr, "apr_thread_create->%d\n", rv);
- exit(1);
- }
- ++i;
- }
-
- apr_sleep(apr_time_from_sec(5));
-
- if (test_mode == TEST_PROC) {
- printf(" Mutex mechanism `%s' is %sglobal in scope on this platform.\n",
- mech_name, counter == 1 ? "" : "not ");
- }
- else {
- if (counter != 1) {
- fprintf(stderr, "\n!!!apr_global_mutex operations are broken on this "
- "platform for mutex mechanism `%s'!\n"
- "They don't block out threads within the same process.\n",
- mech_name);
- fprintf(stderr, "counter value: %d\n", counter);
- exit(1);
- }
- else {
- printf(" no problems encountered...\n");
- }
- }
-
- assert(apr_thread_mutex_unlock(thread_mutex) == APR_SUCCESS);
-
- i = 0;
- while (i < numThreads)
- {
- apr_status_t ignored;
-
- rv = apr_thread_join(&ignored,
- threads[i]);
- assert(rv == APR_SUCCESS);
- ++i;
- }
-
- lock_destroy(test_mode);
- apr_thread_mutex_destroy(thread_mutex);
- apr_pool_destroy(p);
-}
-
-static void test_mech(apr_lockmech_e mech, const char *mech_name)
-{
- test_mech_mode(mech, mech_name, TEST_PROC);
- test_mech_mode(mech, mech_name, TEST_GLOBAL);
-}
-
-int main(void)
-{
- struct {
- apr_lockmech_e mech;
- const char *mech_name;
- } lockmechs[] = {
- {APR_LOCK_DEFAULT, "default"}
-#if APR_HAS_FLOCK_SERIALIZE
- ,{APR_LOCK_FLOCK, "flock"}
-#endif
-#if APR_HAS_SYSVSEM_SERIALIZE
- ,{APR_LOCK_SYSVSEM, "sysvsem"}
-#endif
-#if APR_HAS_POSIXSEM_SERIALIZE
- ,{APR_LOCK_POSIXSEM, "posix"}
-#endif
-#if APR_HAS_FCNTL_SERIALIZE
- ,{APR_LOCK_FCNTL, "fcntl"}
-#endif
-#if APR_HAS_PROC_PTHREAD_SERIALIZE
- ,{APR_LOCK_PROC_PTHREAD, "proc_pthread"}
-#endif
- };
- int i;
-
- assert(apr_initialize() == APR_SUCCESS);
-
- for (i = 0; i < sizeof(lockmechs) / sizeof(lockmechs[0]); i++) {
- test_mech(lockmechs[i].mech, lockmechs[i].mech_name);
- }
-
- apr_terminate();
- return 0;
-}
-
-#endif /* APR_HAS_THREADS */
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/testnames.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/testnames.c
deleted file mode 100644
index 8df4b083..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/testnames.c
+++ /dev/null
@@ -1,273 +0,0 @@
-/* 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 "test_apr.h"
-#include "apr_file_io.h"
-#include "apr_file_info.h"
-#include "apr_errno.h"
-#include "apr_general.h"
-#include "apr_pools.h"
-#include "apr_lib.h"
-
-#if WIN32
-#define ABS_ROOT "C:/"
-#elif defined(NETWARE)
-#define ABS_ROOT "SYS:/"
-#else
-#define ABS_ROOT "/"
-#endif
-
-static void merge_aboveroot(CuTest *tc)
-{
- apr_status_t rv;
- char *dstpath = NULL;
- char errmsg[256];
-
- rv = apr_filepath_merge(&dstpath, ABS_ROOT"foo", ABS_ROOT"bar", APR_FILEPATH_NOTABOVEROOT,
- p);
- apr_strerror(rv, errmsg, sizeof(errmsg));
- CuAssertIntEquals(tc, 1, APR_STATUS_IS_EABOVEROOT(rv));
- CuAssertPtrEquals(tc, NULL, dstpath);
- CuAssertStrEquals(tc, "The given path was above the root path", errmsg);
-}
-
-static void merge_belowroot(CuTest *tc)
-{
- apr_status_t rv;
- char *dstpath = NULL;
-
- rv = apr_filepath_merge(&dstpath, ABS_ROOT"foo", ABS_ROOT"foo/bar",
- APR_FILEPATH_NOTABOVEROOT, p);
- CuAssertPtrNotNull(tc, dstpath);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertStrEquals(tc, ABS_ROOT"foo/bar", dstpath);
-}
-
-static void merge_noflag(CuTest *tc)
-{
- apr_status_t rv;
- char *dstpath = NULL;
-
- rv = apr_filepath_merge(&dstpath, ABS_ROOT"foo", ABS_ROOT"foo/bar", 0, p);
- CuAssertPtrNotNull(tc, dstpath);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertStrEquals(tc, ABS_ROOT"foo/bar", dstpath);
-}
-
-static void merge_dotdot(CuTest *tc)
-{
- apr_status_t rv;
- char *dstpath = NULL;
-
- rv = apr_filepath_merge(&dstpath, ABS_ROOT"foo/bar", "../baz", 0, p);
- CuAssertPtrNotNull(tc, dstpath);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertStrEquals(tc, ABS_ROOT"foo/baz", dstpath);
-
- rv = apr_filepath_merge(&dstpath, "", "../test", 0, p);
- CuAssertIntEquals(tc, 0, APR_SUCCESS);
- CuAssertStrEquals(tc, "../test", dstpath);
-
- /* Very dangerous assumptions here about what the cwd is. However, let's assume
- * that the testall is invoked from within apr/test/ so the following test should
- * return ../test unless a previously fixed bug remains or the developer changes
- * the case of the test directory:
- */
- rv = apr_filepath_merge(&dstpath, "", "../test", APR_FILEPATH_TRUENAME, p);
- CuAssertIntEquals(tc, 0, APR_SUCCESS);
- CuAssertStrEquals(tc, "../test", dstpath);
-}
-
-static void merge_dotdot_dotdot_dotdot(CuTest *tc)
-{
- apr_status_t rv;
- char *dstpath = NULL;
-
- rv = apr_filepath_merge(&dstpath, "",
- "../../..", APR_FILEPATH_TRUENAME, p);
- CuAssertPtrNotNull(tc, dstpath);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertStrEquals(tc, "../../..", dstpath);
-
- rv = apr_filepath_merge(&dstpath, "",
- "../../../", APR_FILEPATH_TRUENAME, p);
- CuAssertPtrNotNull(tc, dstpath);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertStrEquals(tc, "../../../", dstpath);
-}
-
-static void merge_secure(CuTest *tc)
-{
- apr_status_t rv;
- char *dstpath = NULL;
-
- rv = apr_filepath_merge(&dstpath, ABS_ROOT"foo/bar", "../bar/baz", 0, p);
- CuAssertPtrNotNull(tc, dstpath);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertStrEquals(tc, ABS_ROOT"foo/bar/baz", dstpath);
-}
-
-static void merge_notrel(CuTest *tc)
-{
- apr_status_t rv;
- char *dstpath = NULL;
-
- rv = apr_filepath_merge(&dstpath, ABS_ROOT"foo/bar", "../baz",
- APR_FILEPATH_NOTRELATIVE, p);
- CuAssertPtrNotNull(tc, dstpath);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertStrEquals(tc, ABS_ROOT"foo/baz", dstpath);
-}
-
-static void merge_notrelfail(CuTest *tc)
-{
- apr_status_t rv;
- char *dstpath = NULL;
- char errmsg[256];
-
- rv = apr_filepath_merge(&dstpath, "foo/bar", "../baz",
- APR_FILEPATH_NOTRELATIVE, p);
- apr_strerror(rv, errmsg, sizeof(errmsg));
-
- CuAssertPtrEquals(tc, NULL, dstpath);
- CuAssertIntEquals(tc, 1, APR_STATUS_IS_ERELATIVE(rv));
- CuAssertStrEquals(tc, "The given path is relative", errmsg);
-}
-
-static void merge_notabsfail(CuTest *tc)
-{
- apr_status_t rv;
- char *dstpath = NULL;
- char errmsg[256];
-
- rv = apr_filepath_merge(&dstpath, ABS_ROOT"foo/bar", "../baz",
- APR_FILEPATH_NOTABSOLUTE, p);
- apr_strerror(rv, errmsg, sizeof(errmsg));
-
- CuAssertPtrEquals(tc, NULL, dstpath);
- CuAssertIntEquals(tc, 1, APR_STATUS_IS_EABSOLUTE(rv));
- CuAssertStrEquals(tc, "The given path is absolute", errmsg);
-}
-
-static void merge_notabs(CuTest *tc)
-{
- apr_status_t rv;
- char *dstpath = NULL;
-
- rv = apr_filepath_merge(&dstpath, "foo/bar", "../baz",
- APR_FILEPATH_NOTABSOLUTE, p);
-
- CuAssertPtrNotNull(tc, dstpath);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertStrEquals(tc, "foo/baz", dstpath);
-}
-
-static void root_absolute(CuTest *tc)
-{
- apr_status_t rv;
- const char *root = NULL;
- const char *path = ABS_ROOT"foo/bar";
-
- rv = apr_filepath_root(&root, &path, 0, p);
-
- CuAssertPtrNotNull(tc, root);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertStrEquals(tc, ABS_ROOT, root);
-}
-
-static void root_relative(CuTest *tc)
-{
- apr_status_t rv;
- const char *root = NULL;
- const char *path = "foo/bar";
- char errmsg[256];
-
- rv = apr_filepath_root(&root, &path, 0, p);
- apr_strerror(rv, errmsg, sizeof(errmsg));
-
- CuAssertPtrEquals(tc, NULL, root);
- CuAssertIntEquals(tc, 1, APR_STATUS_IS_ERELATIVE(rv));
- CuAssertStrEquals(tc, "The given path is relative", errmsg);
-}
-
-
-static void root_from_cwd_and_back(CuTest *tc)
-{
- apr_status_t rv;
- const char *root = NULL;
- const char *path = "//";
- char *origpath;
- char *testpath;
-
- CuAssertIntEquals(tc, APR_SUCCESS, apr_filepath_get(&origpath, 0, p));
- path = origpath;
- rv = apr_filepath_root(&root, &path, APR_FILEPATH_TRUENAME, p);
-
-#if defined(WIN32) || defined(OS2)
- CuAssertIntEquals(tc, origpath[0], root[0]);
- CuAssertIntEquals(tc, ':', root[1]);
- CuAssertIntEquals(tc, '/', root[2]);
- CuAssertIntEquals(tc, 0, root[3]);
- CuAssertStrEquals(tc, origpath + 3, path);
-#elif defined(NETWARE)
- CuAssertIntEquals(tc, origpath[0], root[0]);
- {
- char *pt = strchr(root, ':');
- CuAssertPtrNotNull(tc, pt);
- CuAssertIntEquals(tc, ':', pt[0]);
- CuAssertIntEquals(tc, '/', pt[1]);
- CuAssertIntEquals(tc, 0, pt[2]);
- pt = strchr(origpath, ':');
- CuAssertPtrNotNull(tc, pt);
- CuAssertStrEquals(tc, (pt+2), path);
- }
-#else
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertStrEquals(tc, "/", root);
- CuAssertStrEquals(tc, origpath + 1, path);
-#endif
-
- rv = apr_filepath_merge(&testpath, root, path,
- APR_FILEPATH_TRUENAME
- | APR_FILEPATH_NOTABOVEROOT
- | APR_FILEPATH_NOTRELATIVE, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertStrEquals(tc, origpath, testpath);
-}
-
-
-CuSuite *testnames(void)
-{
- CuSuite *suite = CuSuiteNew("Path names");
-
- SUITE_ADD_TEST(suite, merge_aboveroot);
- SUITE_ADD_TEST(suite, merge_belowroot);
- SUITE_ADD_TEST(suite, merge_noflag);
- SUITE_ADD_TEST(suite, merge_dotdot);
- SUITE_ADD_TEST(suite, merge_secure);
- SUITE_ADD_TEST(suite, merge_notrel);
- SUITE_ADD_TEST(suite, merge_notrelfail);
- SUITE_ADD_TEST(suite, merge_notabs);
- SUITE_ADD_TEST(suite, merge_notabsfail);
- SUITE_ADD_TEST(suite, merge_dotdot_dotdot_dotdot);
-
- SUITE_ADD_TEST(suite, root_absolute);
- SUITE_ADD_TEST(suite, root_relative);
- SUITE_ADD_TEST(suite, root_from_cwd_and_back);
-
- return suite;
-}
-
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/testoc.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/testoc.c
deleted file mode 100644
index bebf4822..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/testoc.c
+++ /dev/null
@@ -1,126 +0,0 @@
-/* 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 "test_apr.h"
-#include "apr_thread_proc.h"
-#include "apr_errno.h"
-#include "apr_general.h"
-#include "apr_lib.h"
-#include "apr_strings.h"
-
-#if APR_HAS_OTHER_CHILD
-
-/* XXX I'm sure there has to be a better way to do this ... */
-#ifdef WIN32
-#define EXTENSION ".exe"
-#elif NETWARE
-#define EXTENSION ".nlm"
-#else
-#define EXTENSION
-#endif
-
-static char reasonstr[256];
-
-static void ocmaint(int reason, void *data, int status)
-{
- switch (reason) {
- case APR_OC_REASON_DEATH:
- apr_cpystrn(reasonstr, "APR_OC_REASON_DEATH",
- strlen("APR_OC_REASON_DEATH") + 1);
- break;
- case APR_OC_REASON_LOST:
- apr_cpystrn(reasonstr, "APR_OC_REASON_LOST",
- strlen("APR_OC_REASON_LOST") + 1);
- break;
- case APR_OC_REASON_UNWRITABLE:
- apr_cpystrn(reasonstr, "APR_OC_REASON_UNWRITEABLE",
- strlen("APR_OC_REASON_UNWRITEABLE") + 1);
- break;
- case APR_OC_REASON_RESTART:
- apr_cpystrn(reasonstr, "APR_OC_REASON_RESTART",
- strlen("APR_OC_REASON_RESTART") + 1);
- break;
- }
-}
-
-#ifndef SIGKILL
-#define SIGKILL 1
-#endif
-
-/* It would be great if we could stress this stuff more, and make the test
- * more granular.
- */
-static void test_child_kill(CuTest *tc)
-{
- apr_file_t *std = NULL;
- apr_proc_t newproc;
- apr_procattr_t *procattr = NULL;
- const char *args[3];
- apr_status_t rv;
-
- args[0] = apr_pstrdup(p, "occhild" EXTENSION);
- args[1] = apr_pstrdup(p, "-X");
- args[2] = NULL;
-
- rv = apr_procattr_create(&procattr, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_procattr_io_set(procattr, APR_FULL_BLOCK, APR_NO_PIPE,
- APR_NO_PIPE);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_proc_create(&newproc, "./occhild" EXTENSION, args, NULL, procattr, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertPtrNotNull(tc, newproc.in);
- CuAssertPtrEquals(tc, NULL, newproc.out);
- CuAssertPtrEquals(tc, NULL, newproc.err);
-
- std = newproc.in;
-
- apr_proc_other_child_register(&newproc, ocmaint, NULL, std, p);
-
- apr_sleep(apr_time_from_sec(1));
- rv = apr_proc_kill(&newproc, SIGKILL);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- /* allow time for things to settle... */
- apr_sleep(apr_time_from_sec(3));
-
- apr_proc_other_child_check();
- CuAssertStrEquals(tc, "APR_OC_REASON_DEATH", reasonstr);
-}
-#else
-
-static void oc_not_impl(CuTest *tc)
-{
- CuNotImpl(tc, "Other child logic not implemented on this platform");
-}
-#endif
-
-CuSuite *testoc(void)
-{
- CuSuite *suite = CuSuiteNew("Other Child");
-
-#if !APR_HAS_OTHER_CHILD
- SUITE_ADD_TEST(suite, oc_not_impl);
-#else
-
- SUITE_ADD_TEST(suite, test_child_kill);
-
-#endif
- return suite;
-}
-
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/testpath.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/testpath.c
deleted file mode 100644
index e41e26ac..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/testpath.c
+++ /dev/null
@@ -1,138 +0,0 @@
-/* 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 "test_apr.h"
-#include "apr_file_info.h"
-#include "apr_errno.h"
-#include "apr_pools.h"
-#include "apr_tables.h"
-
-#if defined(WIN32) || defined(NETWARE) || defined(OS2)
-#define PSEP ";"
-#define DSEP "\\"
-#else
-#define PSEP ":"
-#define DSEP "/"
-#endif
-
-#define PX ""
-#define P1 "first path"
-#define P2 "second" DSEP "path"
-#define P3 "th ird" DSEP "path"
-#define P4 "fourth" DSEP "pa th"
-#define P5 "fifthpath"
-
-static const char *parts_in[] = { P1, P2, P3, PX, P4, P5 };
-static const char *path_in = P1 PSEP P2 PSEP P3 PSEP PX PSEP P4 PSEP P5;
-static const int parts_in_count = sizeof(parts_in)/sizeof(*parts_in);
-
-static const char *parts_out[] = { P1, P2, P3, P4, P5 };
-static const char *path_out = P1 PSEP P2 PSEP P3 PSEP P4 PSEP P5;
-static const int parts_out_count = sizeof(parts_out)/sizeof(*parts_out);
-
-static void list_split_multi(CuTest *tc)
-{
- int i;
- apr_status_t rv;
- apr_array_header_t *pathelts;
-
- pathelts = NULL;
- rv = apr_filepath_list_split(&pathelts, path_in, p);
- CuAssertPtrNotNull(tc, pathelts);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertIntEquals(tc, parts_out_count, pathelts->nelts);
- for (i = 0; i < pathelts->nelts; ++i)
- CuAssertStrEquals(tc, parts_out[i], ((char**)pathelts->elts)[i]);
-}
-
-static void list_split_single(CuTest *tc)
-{
- int i;
- apr_status_t rv;
- apr_array_header_t *pathelts;
-
- for (i = 0; i < parts_in_count; ++i)
- {
- pathelts = NULL;
- rv = apr_filepath_list_split(&pathelts, parts_in[i], p);
- CuAssertPtrNotNull(tc, pathelts);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- if (parts_in[i][0] == '\0')
- CuAssertIntEquals(tc, 0, pathelts->nelts);
- else
- {
- CuAssertIntEquals(tc, 1, pathelts->nelts);
- CuAssertStrEquals(tc, parts_in[i], *(char**)pathelts->elts);
- }
- }
-}
-
-static void list_merge_multi(CuTest *tc)
-{
- int i;
- char *liststr;
- apr_status_t rv;
- apr_array_header_t *pathelts;
-
- pathelts = apr_array_make(p, parts_in_count, sizeof(const char*));
- for (i = 0; i < parts_in_count; ++i)
- *(const char**)apr_array_push(pathelts) = parts_in[i];
-
- liststr = NULL;
- rv = apr_filepath_list_merge(&liststr, pathelts, p);
- CuAssertPtrNotNull(tc, liststr);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertStrEquals(tc, liststr, path_out);
-}
-
-static void list_merge_single(CuTest *tc)
-{
- int i;
- char *liststr;
- apr_status_t rv;
- apr_array_header_t *pathelts;
-
- pathelts = apr_array_make(p, 1, sizeof(const char*));
- apr_array_push(pathelts);
- for (i = 0; i < parts_in_count; ++i)
- {
- *(const char**)pathelts->elts = parts_in[i];
- liststr = NULL;
- rv = apr_filepath_list_merge(&liststr, pathelts, p);
- if (parts_in[i][0] == '\0')
- CuAssertPtrEquals(tc, NULL, liststr);
- else
- {
- CuAssertPtrNotNull(tc, liststr);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertStrEquals(tc, liststr, parts_in[i]);
- }
- }
-}
-
-
-CuSuite *testpath(void)
-{
- CuSuite *suite = CuSuiteNew("Path lists");
-
- SUITE_ADD_TEST(suite, list_split_multi);
- SUITE_ADD_TEST(suite, list_split_single);
- SUITE_ADD_TEST(suite, list_merge_multi);
- SUITE_ADD_TEST(suite, list_merge_single);
-
- return suite;
-}
-
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/testpipe.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/testpipe.c
deleted file mode 100644
index 79adf56b..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/testpipe.c
+++ /dev/null
@@ -1,204 +0,0 @@
-/* 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 <stdlib.h>
-
-#include "test_apr.h"
-#include "apr_file_io.h"
-#include "apr_errno.h"
-#include "apr_general.h"
-#include "apr_lib.h"
-#include "apr_thread_proc.h"
-#include "apr_strings.h"
-
-static apr_file_t *readp = NULL;
-static apr_file_t *writep = NULL;
-
-static void create_pipe(CuTest *tc)
-{
- apr_status_t rv;
-
- rv = apr_file_pipe_create(&readp, &writep, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertPtrNotNull(tc, readp);
- CuAssertPtrNotNull(tc, writep);
-}
-
-static void close_pipe(CuTest *tc)
-{
- apr_status_t rv;
- apr_size_t nbytes = 256;
- char buf[256];
-
- rv = apr_file_close(readp);
- rv = apr_file_close(writep);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_file_read(readp, buf, &nbytes);
- CuAssertIntEquals(tc, 1, APR_STATUS_IS_EBADF(rv));
-}
-
-static void set_timeout(CuTest *tc)
-{
- apr_status_t rv;
- apr_file_t *readp = NULL;
- apr_file_t *writep = NULL;
- apr_interval_time_t timeout;
-
- rv = apr_file_pipe_create(&readp, &writep, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertPtrNotNull(tc, readp);
- CuAssertPtrNotNull(tc, writep);
-
- rv = apr_file_pipe_timeout_get(readp, &timeout);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssert(tc, "Timeout mismatch, expected -1", timeout == -1);
-
- rv = apr_file_pipe_timeout_set(readp, apr_time_from_sec(1));
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_file_pipe_timeout_get(readp, &timeout);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssert(tc, "Timeout mismatch, expected 1 second",
- timeout == apr_time_from_sec(1));
-}
-
-static void read_write(CuTest *tc)
-{
- apr_status_t rv;
- char *buf;
- apr_size_t nbytes;
-
- nbytes = strlen("this is a test");
- buf = (char *)apr_palloc(p, nbytes + 1);
-
- rv = apr_file_pipe_create(&readp, &writep, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertPtrNotNull(tc, readp);
- CuAssertPtrNotNull(tc, writep);
-
- rv = apr_file_pipe_timeout_set(readp, apr_time_from_sec(1));
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_file_read(readp, buf, &nbytes);
- if (!rv) {
- CuAssertIntEquals(tc, 1, APR_STATUS_IS_TIMEUP(rv));
- CuAssertIntEquals(tc, 0, nbytes);
- }
-}
-
-static void read_write_notimeout(CuTest *tc)
-{
- apr_status_t rv;
- char *buf = "this is a test";
- char *input;
- apr_size_t nbytes;
-
- nbytes = strlen("this is a test");
-
- rv = apr_file_pipe_create(&readp, &writep, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertPtrNotNull(tc, readp);
- CuAssertPtrNotNull(tc, writep);
-
- rv = apr_file_write(writep, buf, &nbytes);
- CuAssertIntEquals(tc, strlen("this is a test"), nbytes);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- nbytes = 256;
- input = apr_pcalloc(p, nbytes + 1);
- rv = apr_file_read(readp, input, &nbytes);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertIntEquals(tc, strlen("this is a test"), nbytes);
- CuAssertStrEquals(tc, "this is a test", input);
-}
-
-/* XXX FIXME */
-#ifdef WIN32
-#define EXTENSION ".exe"
-#elif NETWARE
-#define EXTENSION ".nlm"
-#else
-#define EXTENSION
-#endif
-
-static void test_pipe_writefull(CuTest *tc)
-{
- int iterations = 1000;
- int i;
- int bytes_per_iteration = 8000;
- char *buf = (char *)malloc(bytes_per_iteration);
- char responsebuf[128];
- apr_size_t nbytes;
- int bytes_processed;
- apr_proc_t proc = {0};
- apr_procattr_t *procattr;
- const char *args[2];
- apr_status_t rv;
-
- rv = apr_procattr_create(&procattr, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_procattr_io_set(procattr, APR_CHILD_BLOCK, APR_CHILD_BLOCK,
- APR_CHILD_BLOCK);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_procattr_error_check_set(procattr, 1);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- args[0] = "readchild" EXTENSION;
- args[1] = NULL;
- rv = apr_proc_create(&proc, "./readchild" EXTENSION, args, NULL, procattr, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_file_pipe_timeout_set(proc.in, apr_time_from_sec(10));
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_file_pipe_timeout_set(proc.out, apr_time_from_sec(10));
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- i = iterations;
- do {
- rv = apr_file_write_full(proc.in, buf, bytes_per_iteration, NULL);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- } while (--i);
-
- free(buf);
-
- rv = apr_file_close(proc.in);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- nbytes = sizeof(responsebuf);
- rv = apr_file_read(proc.out, responsebuf, &nbytes);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- bytes_processed = (int)apr_strtoi64(responsebuf, NULL, 10);
- CuAssertIntEquals(tc, iterations * bytes_per_iteration, bytes_processed);
-}
-
-CuSuite *testpipe(void)
-{
- CuSuite *suite = CuSuiteNew("Pipes");
-
- SUITE_ADD_TEST(suite, create_pipe);
- SUITE_ADD_TEST(suite, close_pipe);
- SUITE_ADD_TEST(suite, set_timeout);
- SUITE_ADD_TEST(suite, read_write);
- SUITE_ADD_TEST(suite, read_write_notimeout);
- SUITE_ADD_TEST(suite, test_pipe_writefull);
-
- return suite;
-}
-
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/testpoll.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/testpoll.c
deleted file mode 100644
index 4e2fac8f..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/testpoll.c
+++ /dev/null
@@ -1,526 +0,0 @@
-/* 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 "test_apr.h"
-#include "apr_strings.h"
-#include "apr_errno.h"
-#include "apr_general.h"
-#include "apr_lib.h"
-#include "apr_network_io.h"
-#include "apr_poll.h"
-
-#define SMALL_NUM_SOCKETS 3
-/* We can't use 64 here, because some platforms *ahem* Solaris *ahem* have
- * a default limit of 64 open file descriptors per process. If we use
- * 64, the test will fail even though the code is correct.
- */
-#define LARGE_NUM_SOCKETS 50
-
-static apr_socket_t *s[LARGE_NUM_SOCKETS];
-static apr_sockaddr_t *sa[LARGE_NUM_SOCKETS];
-static apr_pollfd_t *pollarray;
-static apr_pollfd_t *pollarray_large;
-static apr_pollset_t *pollset;
-
-static void make_socket(apr_socket_t **sock, apr_sockaddr_t **sa,
- apr_port_t port, apr_pool_t *p, CuTest *tc)
-{
- apr_status_t rv;
-
- rv = apr_sockaddr_info_get(sa, "127.0.0.1", APR_UNSPEC, port, 0, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_socket_create(sock, (*sa)->family, SOCK_DGRAM, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv =apr_socket_bind((*sock), (*sa));
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-}
-
-static void check_sockets(const apr_pollfd_t *pollarray,
- apr_socket_t **sockarray, int which, int pollin,
- CuTest *tc)
-{
- apr_status_t rv;
- apr_int16_t event;
- char *str;
-
- rv = apr_poll_revents_get(&event, sockarray[which],
- (apr_pollfd_t *)pollarray);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- if (pollin) {
- str = apr_psprintf(p, "Socket %d not signalled when it should be",
- which);
- CuAssert(tc, str, event & APR_POLLIN);
- } else {
- str = apr_psprintf(p, "Socket %d signalled when it should not be",
- which);
- CuAssert(tc, str, !(event & APR_POLLIN));
- }
-}
-
-static void send_msg(apr_socket_t **sockarray, apr_sockaddr_t **sas, int which,
- CuTest *tc)
-{
- apr_size_t len = 5;
- apr_status_t rv;
-
- CuAssertPtrNotNull(tc, sockarray[which]);
-
- rv = apr_socket_sendto(sockarray[which], sas[which], 0, "hello", &len);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertIntEquals(tc, strlen("hello"), len);
-}
-
-static void recv_msg(apr_socket_t **sockarray, int which, apr_pool_t *p,
- CuTest *tc)
-{
- apr_size_t buflen = 5;
- char *buffer = apr_pcalloc(p, sizeof(char) * (buflen + 1));
- apr_sockaddr_t *recsa;
- apr_status_t rv;
-
- CuAssertPtrNotNull(tc, sockarray[which]);
-
- apr_sockaddr_info_get(&recsa, "127.0.0.1", APR_UNSPEC, 7770, 0, p);
-
- rv = apr_socket_recvfrom(recsa, sockarray[which], 0, buffer, &buflen);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertIntEquals(tc, strlen("hello"), buflen);
- CuAssertStrEquals(tc, "hello", buffer);
-}
-
-
-static void create_all_sockets(CuTest *tc)
-{
- int i;
-
- for (i = 0; i < LARGE_NUM_SOCKETS; i++){
- make_socket(&s[i], &sa[i], 7777 + i, p, tc);
- }
-}
-
-static void setup_small_poll(CuTest *tc)
-{
- apr_status_t rv;
- int i;
-
- rv = apr_poll_setup(&pollarray, SMALL_NUM_SOCKETS, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- for (i = 0; i < SMALL_NUM_SOCKETS;i++){
- CuAssertIntEquals(tc, 0, pollarray[i].reqevents);
- CuAssertIntEquals(tc, 0, pollarray[i].rtnevents);
-
- rv = apr_poll_socket_add(pollarray, s[i], APR_POLLIN);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertPtrEquals(tc, s[i], pollarray[i].desc.s);
- }
-}
-
-static void setup_large_poll(CuTest *tc)
-{
- apr_status_t rv;
- int i;
-
- rv = apr_poll_setup(&pollarray_large, LARGE_NUM_SOCKETS, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- for (i = 0; i < LARGE_NUM_SOCKETS;i++){
- CuAssertIntEquals(tc, 0, pollarray_large[i].reqevents);
- CuAssertIntEquals(tc, 0, pollarray_large[i].rtnevents);
-
- rv = apr_poll_socket_add(pollarray_large, s[i], APR_POLLIN);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertPtrEquals(tc, s[i], pollarray_large[i].desc.s);
- }
-}
-
-static void nomessage(CuTest *tc)
-{
- apr_status_t rv;
- int srv = SMALL_NUM_SOCKETS;
-
- rv = apr_poll(pollarray, SMALL_NUM_SOCKETS, &srv, 2 * APR_USEC_PER_SEC);
- CuAssertIntEquals(tc, 1, APR_STATUS_IS_TIMEUP(rv));
- check_sockets(pollarray, s, 0, 0, tc);
- check_sockets(pollarray, s, 1, 0, tc);
- check_sockets(pollarray, s, 2, 0, tc);
-}
-
-static void send_2(CuTest *tc)
-{
- apr_status_t rv;
- int srv = SMALL_NUM_SOCKETS;
-
- send_msg(s, sa, 2, tc);
-
- rv = apr_poll(pollarray, SMALL_NUM_SOCKETS, &srv, 2 * APR_USEC_PER_SEC);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- check_sockets(pollarray, s, 0, 0, tc);
- check_sockets(pollarray, s, 1, 0, tc);
- check_sockets(pollarray, s, 2, 1, tc);
-}
-
-static void recv_2_send_1(CuTest *tc)
-{
- apr_status_t rv;
- int srv = SMALL_NUM_SOCKETS;
-
- recv_msg(s, 2, p, tc);
- send_msg(s, sa, 1, tc);
-
- rv = apr_poll(pollarray, SMALL_NUM_SOCKETS, &srv, 2 * APR_USEC_PER_SEC);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- check_sockets(pollarray, s, 0, 0, tc);
- check_sockets(pollarray, s, 1, 1, tc);
- check_sockets(pollarray, s, 2, 0, tc);
-}
-
-static void send_2_signaled_1(CuTest *tc)
-{
- apr_status_t rv;
- int srv = SMALL_NUM_SOCKETS;
-
- send_msg(s, sa, 2, tc);
-
- rv = apr_poll(pollarray, SMALL_NUM_SOCKETS, &srv, 2 * APR_USEC_PER_SEC);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- check_sockets(pollarray, s, 0, 0, tc);
- check_sockets(pollarray, s, 1, 1, tc);
- check_sockets(pollarray, s, 2, 1, tc);
-}
-
-static void recv_1_send_0(CuTest *tc)
-{
- apr_status_t rv;
- int srv = SMALL_NUM_SOCKETS;
-
- recv_msg(s, 1, p, tc);
- send_msg(s, sa, 0, tc);
-
- rv = apr_poll(pollarray, SMALL_NUM_SOCKETS, &srv, 2 * APR_USEC_PER_SEC);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- check_sockets(pollarray, s, 0, 1, tc);
- check_sockets(pollarray, s, 1, 0, tc);
- check_sockets(pollarray, s, 2, 1, tc);
-}
-
-static void clear_all_signalled(CuTest *tc)
-{
- apr_status_t rv;
- int srv = SMALL_NUM_SOCKETS;
-
- recv_msg(s, 0, p, tc);
- recv_msg(s, 2, p, tc);
-
- rv = apr_poll(pollarray, SMALL_NUM_SOCKETS, &srv, 2 * APR_USEC_PER_SEC);
- CuAssertIntEquals(tc, 1, APR_STATUS_IS_TIMEUP(rv));
- check_sockets(pollarray, s, 0, 0, tc);
- check_sockets(pollarray, s, 1, 0, tc);
- check_sockets(pollarray, s, 2, 0, tc);
-}
-
-static void send_large_pollarray(CuTest *tc)
-{
- apr_status_t rv;
- int lrv = LARGE_NUM_SOCKETS;
- int i;
-
- send_msg(s, sa, LARGE_NUM_SOCKETS - 1, tc);
-
- rv = apr_poll(pollarray_large, LARGE_NUM_SOCKETS, &lrv,
- 2 * APR_USEC_PER_SEC);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- for (i = 0; i < LARGE_NUM_SOCKETS; i++) {
- if (i == (LARGE_NUM_SOCKETS - 1)) {
- check_sockets(pollarray_large, s, i, 1, tc);
- }
- else {
- check_sockets(pollarray_large, s, i, 0, tc);
- }
- }
-}
-
-static void recv_large_pollarray(CuTest *tc)
-{
- apr_status_t rv;
- int lrv = LARGE_NUM_SOCKETS;
- int i;
-
- recv_msg(s, LARGE_NUM_SOCKETS - 1, p, tc);
-
- rv = apr_poll(pollarray_large, LARGE_NUM_SOCKETS, &lrv,
- 2 * APR_USEC_PER_SEC);
- CuAssertIntEquals(tc, 1, APR_STATUS_IS_TIMEUP(rv));
-
- for (i = 0; i < LARGE_NUM_SOCKETS; i++) {
- check_sockets(pollarray_large, s, i, 0, tc);
- }
-}
-
-static void setup_pollset(CuTest *tc)
-{
- apr_status_t rv;
- rv = apr_pollset_create(&pollset, LARGE_NUM_SOCKETS, p, 0);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-}
-
-static void add_sockets_pollset(CuTest *tc)
-{
- apr_status_t rv;
- int i;
-
- for (i = 0; i < LARGE_NUM_SOCKETS;i++){
- apr_pollfd_t socket_pollfd;
-
- CuAssertPtrNotNull(tc, s[i]);
-
- socket_pollfd.desc_type = APR_POLL_SOCKET;
- socket_pollfd.reqevents = APR_POLLIN;
- socket_pollfd.desc.s = s[i];
- socket_pollfd.client_data = s[i];
- rv = apr_pollset_add(pollset, &socket_pollfd);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- }
-}
-
-static void nomessage_pollset(CuTest *tc)
-{
- apr_status_t rv;
- int lrv;
- const apr_pollfd_t *descs = NULL;
-
- rv = apr_pollset_poll(pollset, 0, &lrv, &descs);
- CuAssertIntEquals(tc, 1, APR_STATUS_IS_TIMEUP(rv));
- CuAssertIntEquals(tc, 0, lrv);
- CuAssertPtrEquals(tc, NULL, descs);
-}
-
-static void send0_pollset(CuTest *tc)
-{
- apr_status_t rv;
- const apr_pollfd_t *descs = NULL;
- int num;
-
- send_msg(s, sa, 0, tc);
- rv = apr_pollset_poll(pollset, 0, &num, &descs);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertIntEquals(tc, 1, num);
- CuAssertPtrNotNull(tc, descs);
-
- CuAssertPtrEquals(tc, s[0], descs[0].desc.s);
- CuAssertPtrEquals(tc, s[0], descs[0].client_data);
-}
-
-static void recv0_pollset(CuTest *tc)
-{
- apr_status_t rv;
- int lrv;
- const apr_pollfd_t *descs = NULL;
-
- recv_msg(s, 0, p, tc);
- rv = apr_pollset_poll(pollset, 0, &lrv, &descs);
- CuAssertIntEquals(tc, 1, APR_STATUS_IS_TIMEUP(rv));
- CuAssertIntEquals(tc, 0, lrv);
- CuAssertPtrEquals(tc, NULL, descs);
-}
-
-static void send_middle_pollset(CuTest *tc)
-{
- apr_status_t rv;
- const apr_pollfd_t *descs = NULL;
- int num;
-
- send_msg(s, sa, 2, tc);
- send_msg(s, sa, 5, tc);
- rv = apr_pollset_poll(pollset, 0, &num, &descs);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertIntEquals(tc, 2, num);
- CuAssertPtrNotNull(tc, descs);
-
- CuAssert(tc, "Incorrect socket in result set",
- ((descs[0].desc.s == s[2]) && (descs[1].desc.s == s[5])) ||
- ((descs[0].desc.s == s[5]) && (descs[1].desc.s == s[2])));
-}
-
-static void clear_middle_pollset(CuTest *tc)
-{
- apr_status_t rv;
- int lrv;
- const apr_pollfd_t *descs = NULL;
-
- recv_msg(s, 2, p, tc);
- recv_msg(s, 5, p, tc);
-
- rv = apr_pollset_poll(pollset, 0, &lrv, &descs);
- CuAssertIntEquals(tc, 1, APR_STATUS_IS_TIMEUP(rv));
- CuAssertIntEquals(tc, 0, lrv);
- CuAssertPtrEquals(tc, NULL, descs);
-}
-
-static void send_last_pollset(CuTest *tc)
-{
- apr_status_t rv;
- const apr_pollfd_t *descs = NULL;
- int num;
-
- send_msg(s, sa, LARGE_NUM_SOCKETS - 1, tc);
- rv = apr_pollset_poll(pollset, 0, &num, &descs);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertIntEquals(tc, 1, num);
- CuAssertPtrNotNull(tc, descs);
-
- CuAssertPtrEquals(tc, s[LARGE_NUM_SOCKETS - 1], descs[0].desc.s);
- CuAssertPtrEquals(tc, s[LARGE_NUM_SOCKETS - 1], descs[0].client_data);
-}
-
-static void clear_last_pollset(CuTest *tc)
-{
- apr_status_t rv;
- int lrv;
- const apr_pollfd_t *descs = NULL;
-
- recv_msg(s, LARGE_NUM_SOCKETS - 1, p, tc);
-
- rv = apr_pollset_poll(pollset, 0, &lrv, &descs);
- CuAssertIntEquals(tc, 1, APR_STATUS_IS_TIMEUP(rv));
- CuAssertIntEquals(tc, 0, lrv);
- CuAssertPtrEquals(tc, NULL, descs);
-}
-
-static void close_all_sockets(CuTest *tc)
-{
- apr_status_t rv;
- int i;
-
- for (i = 0; i < LARGE_NUM_SOCKETS; i++){
- rv = apr_socket_close(s[i]);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- }
-}
-
-static void pollset_remove(CuTest *tc)
-{
- apr_status_t rv;
- apr_pollset_t *pollset;
- const apr_pollfd_t *hot_files;
- apr_pollfd_t pfd;
- apr_int32_t num;
-
- rv = apr_pollset_create(&pollset, 5, p, 0);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- pfd.p = p;
- pfd.desc_type = APR_POLL_SOCKET;
- pfd.reqevents = APR_POLLOUT;
-
- pfd.desc.s = s[0];
- pfd.client_data = (void *)1;
- rv = apr_pollset_add(pollset, &pfd);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- pfd.desc.s = s[1];
- pfd.client_data = (void *)2;
- rv = apr_pollset_add(pollset, &pfd);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- pfd.desc.s = s[2];
- pfd.client_data = (void *)3;
- rv = apr_pollset_add(pollset, &pfd);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- pfd.desc.s = s[1];
- pfd.client_data = (void *)4;
- rv = apr_pollset_add(pollset, &pfd);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- pfd.desc.s = s[3];
- pfd.client_data = (void *)5;
- rv = apr_pollset_add(pollset, &pfd);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_pollset_poll(pollset, 1000, &num, &hot_files);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertIntEquals(tc, 5, num);
-
- /* now remove the pollset elements referring to desc s[1] */
- pfd.desc.s = s[1];
- pfd.client_data = (void *)999; /* not used on this call */
- rv = apr_pollset_remove(pollset, &pfd);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- /* this time only three should match */
- rv = apr_pollset_poll(pollset, 1000, &num, &hot_files);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertIntEquals(tc, 3, num);
- CuAssertPtrEquals(tc, (void *)1, hot_files[0].client_data);
- CuAssertPtrEquals(tc, s[0], hot_files[0].desc.s);
- CuAssertPtrEquals(tc, (void *)3, hot_files[1].client_data);
- CuAssertPtrEquals(tc, s[2], hot_files[1].desc.s);
- CuAssertPtrEquals(tc, (void *)5, hot_files[2].client_data);
- CuAssertPtrEquals(tc, s[3], hot_files[2].desc.s);
-
- /* now remove the pollset elements referring to desc s[2] */
- pfd.desc.s = s[2];
- pfd.client_data = (void *)999; /* not used on this call */
- rv = apr_pollset_remove(pollset, &pfd);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- /* this time only two should match */
- rv = apr_pollset_poll(pollset, 1000, &num, &hot_files);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertIntEquals(tc, 2, num);
- CuAssertPtrEquals(tc, (void *)1, hot_files[0].client_data);
- CuAssertPtrEquals(tc, s[0], hot_files[0].desc.s);
- CuAssertPtrEquals(tc, (void *)5, hot_files[1].client_data);
- CuAssertPtrEquals(tc, s[3], hot_files[1].desc.s);
-}
-
-CuSuite *testpoll(void)
-{
- CuSuite *suite = CuSuiteNew("Poll");
-
- SUITE_ADD_TEST(suite, create_all_sockets);
- SUITE_ADD_TEST(suite, setup_small_poll);
- SUITE_ADD_TEST(suite, setup_large_poll);
- SUITE_ADD_TEST(suite, nomessage);
- SUITE_ADD_TEST(suite, send_2);
- SUITE_ADD_TEST(suite, recv_2_send_1);
- SUITE_ADD_TEST(suite, send_2_signaled_1);
- SUITE_ADD_TEST(suite, recv_1_send_0);
- SUITE_ADD_TEST(suite, clear_all_signalled);
- SUITE_ADD_TEST(suite, send_large_pollarray);
- SUITE_ADD_TEST(suite, recv_large_pollarray);
-
- SUITE_ADD_TEST(suite, setup_pollset);
- SUITE_ADD_TEST(suite, add_sockets_pollset);
- SUITE_ADD_TEST(suite, nomessage_pollset);
- SUITE_ADD_TEST(suite, send0_pollset);
- SUITE_ADD_TEST(suite, recv0_pollset);
- SUITE_ADD_TEST(suite, send_middle_pollset);
- SUITE_ADD_TEST(suite, clear_middle_pollset);
- SUITE_ADD_TEST(suite, send_last_pollset);
- SUITE_ADD_TEST(suite, clear_last_pollset);
-
- SUITE_ADD_TEST(suite, pollset_remove);
-
- SUITE_ADD_TEST(suite, close_all_sockets);
-
- return suite;
-}
-
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/testpools.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/testpools.c
deleted file mode 100644
index efabf0d0..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/testpools.c
+++ /dev/null
@@ -1,108 +0,0 @@
-/* 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 "apr_general.h"
-#include "apr_pools.h"
-#include "apr_errno.h"
-#include "apr_file_io.h"
-#include <string.h>
-#include <stdlib.h>
-#include <stdio.h>
-#if APR_HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#include "test_apr.h"
-
-#define ALLOC_BYTES 1024
-
-static apr_pool_t *pmain = NULL;
-static apr_pool_t *pchild = NULL;
-
-static void alloc_bytes(CuTest *tc)
-{
- int i;
- char *alloc;
-
- alloc = apr_palloc(pmain, ALLOC_BYTES);
- CuAssertPtrNotNull(tc, alloc);
-
- for (i=0;i<ALLOC_BYTES;i++) {
- char *ptr = alloc + i;
- *ptr = 0xa;
- }
- /* This is just added to get the positive. If this test fails, the
- * suite will seg fault.
- */
- CuAssertTrue(tc, 1);
-}
-
-static void calloc_bytes(CuTest *tc)
-{
- int i;
- char *alloc;
-
- alloc = apr_pcalloc(pmain, ALLOC_BYTES);
- CuAssertPtrNotNull(tc, alloc);
-
- for (i=0;i<ALLOC_BYTES;i++) {
- char *ptr = alloc + i;
- CuAssertTrue(tc, *ptr == '\0');
- }
-}
-
-static void parent_pool(CuTest *tc)
-{
- apr_status_t rv;
-
- rv = apr_pool_create(&pmain, NULL);
- CuAssertIntEquals(tc, rv, APR_SUCCESS);
- CuAssertPtrNotNull(tc, pmain);
-}
-
-static void child_pool(CuTest *tc)
-{
- apr_status_t rv;
-
- rv = apr_pool_create(&pchild, pmain);
- CuAssertIntEquals(tc, rv, APR_SUCCESS);
- CuAssertPtrNotNull(tc, pchild);
-}
-
-static void test_ancestor(CuTest *tc)
-{
- CuAssertIntEquals(tc, 1, apr_pool_is_ancestor(pmain, pchild));
-}
-
-static void test_notancestor(CuTest *tc)
-{
- CuAssertIntEquals(tc, 0, apr_pool_is_ancestor(pchild, pmain));
-}
-
-CuSuite *testpool(void)
-{
- CuSuite *suite = CuSuiteNew("Pools");
-
- SUITE_ADD_TEST(suite, parent_pool);
- SUITE_ADD_TEST(suite, child_pool);
- SUITE_ADD_TEST(suite, test_ancestor);
- SUITE_ADD_TEST(suite, test_notancestor);
- SUITE_ADD_TEST(suite, alloc_bytes);
- SUITE_ADD_TEST(suite, calloc_bytes);
-
- return suite;
-}
-
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/testproc.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/testproc.c
deleted file mode 100644
index 85f28801..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/testproc.c
+++ /dev/null
@@ -1,178 +0,0 @@
-/* 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 "apr_thread_proc.h"
-#include "apr_errno.h"
-#include "apr_general.h"
-#include "apr_lib.h"
-#include "apr_strings.h"
-#include "test_apr.h"
-
-/* XXX I'm sure there has to be a better way to do this ... */
-#ifdef WIN32
-#define EXTENSION ".exe"
-#elif NETWARE
-#define EXTENSION ".nlm"
-#else
-#define EXTENSION
-#endif
-
-#define TESTSTR "This is a test"
-
-static apr_proc_t newproc;
-
-static void test_create_proc(CuTest *tc)
-{
- const char *args[2];
- apr_procattr_t *attr;
- apr_file_t *testfile = NULL;
- apr_status_t rv;
- apr_size_t length;
- char *buf;
-
- rv = apr_procattr_create(&attr, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_procattr_io_set(attr, APR_FULL_BLOCK, APR_FULL_BLOCK,
- APR_NO_PIPE);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_procattr_dir_set(attr, "data");
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_procattr_cmdtype_set(attr, APR_PROGRAM);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- args[0] = "proc_child" EXTENSION;
- args[1] = NULL;
-
- rv = apr_proc_create(&newproc, "../proc_child" EXTENSION, args, NULL,
- attr, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- testfile = newproc.in;
-
- length = strlen(TESTSTR);
- rv = apr_file_write(testfile, TESTSTR, &length);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertIntEquals(tc, strlen(TESTSTR), length);
-
- testfile = newproc.out;
- length = 256;
- buf = apr_pcalloc(p, length);
- rv = apr_file_read(testfile, buf, &length);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertStrEquals(tc, TESTSTR, buf);
-}
-
-static void test_proc_wait(CuTest *tc)
-{
- apr_status_t rv;
-
- rv = apr_proc_wait(&newproc, NULL, NULL, APR_WAIT);
- CuAssertIntEquals(tc, APR_CHILD_DONE, rv);
-}
-
-static void test_file_redir(CuTest *tc)
-{
- apr_file_t *testout = NULL;
- apr_file_t *testerr = NULL;
- apr_off_t offset;
- apr_status_t rv;
- const char *args[2];
- apr_procattr_t *attr;
- apr_file_t *testfile = NULL;
- apr_size_t length;
- char *buf;
-
- testfile = NULL;
- rv = apr_file_open(&testfile, "data/stdin",
- APR_READ | APR_WRITE | APR_CREATE | APR_EXCL,
- APR_OS_DEFAULT, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- rv = apr_file_open(&testout, "data/stdout",
- APR_READ | APR_WRITE | APR_CREATE | APR_EXCL,
- APR_OS_DEFAULT, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- rv = apr_file_open(&testerr, "data/stderr",
- APR_READ | APR_WRITE | APR_CREATE | APR_EXCL,
- APR_OS_DEFAULT, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- length = strlen(TESTSTR);
- apr_file_write(testfile, TESTSTR, &length);
- offset = 0;
- rv = apr_file_seek(testfile, APR_SET, &offset);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssert(tc, "File position mismatch, expected 0", offset == 0);
-
- rv = apr_procattr_create(&attr, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- rv = apr_procattr_child_in_set(attr, testfile, NULL);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- rv = apr_procattr_child_out_set(attr, testout, NULL);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- rv = apr_procattr_child_err_set(attr, testerr, NULL);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- rv = apr_procattr_dir_set(attr, "data");
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- rv = apr_procattr_cmdtype_set(attr, APR_PROGRAM);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- args[0] = "proc_child";
- args[1] = NULL;
-
- rv = apr_proc_create(&newproc, "../proc_child" EXTENSION, args, NULL,
- attr, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_proc_wait(&newproc, NULL, NULL, APR_WAIT);
- CuAssertIntEquals(tc, APR_CHILD_DONE, rv);
-
- offset = 0;
- rv = apr_file_seek(testout, APR_SET, &offset);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- length = 256;
- buf = apr_pcalloc(p, length);
- rv = apr_file_read(testout, buf, &length);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertStrEquals(tc, TESTSTR, buf);
-
-
- apr_file_close(testfile);
- apr_file_close(testout);
- apr_file_close(testerr);
-
- rv = apr_file_remove("data/stdin", p);;
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- rv = apr_file_remove("data/stdout", p);;
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- rv = apr_file_remove("data/stderr", p);;
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-}
-
-CuSuite *testproc(void)
-{
- CuSuite *suite = CuSuiteNew("Process control");
-
- SUITE_ADD_TEST(suite, test_create_proc);
- SUITE_ADD_TEST(suite, test_proc_wait);
- SUITE_ADD_TEST(suite, test_file_redir);
-
- return suite;
-}
-
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/testprocmutex.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/testprocmutex.c
deleted file mode 100644
index ef3a89ff..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/testprocmutex.c
+++ /dev/null
@@ -1,147 +0,0 @@
-/* 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 "apr_shm.h"
-#include "apr_thread_proc.h"
-#include "apr_file_io.h"
-#include "apr_proc_mutex.h"
-#include "apr_errno.h"
-#include "apr_general.h"
-#include "apr_getopt.h"
-#include "errno.h"
-#include <stdio.h>
-#include <stdlib.h>
-#include "test_apr.h"
-
-#if APR_HAS_FORK
-
-#define MAX_ITER 200
-#define CHILDREN 6
-#define MAX_COUNTER (MAX_ITER * CHILDREN)
-
-static apr_proc_mutex_t *proc_lock;
-static volatile int *x;
-
-/* a slower more racy way to implement (*x)++ */
-static int increment(int n)
-{
- apr_sleep(1);
- return n+1;
-}
-
-static void make_child(CuTest *tc, apr_proc_t **proc, apr_pool_t *p)
-{
- apr_status_t rv;
-
- *proc = apr_pcalloc(p, sizeof(**proc));
-
- /* slight delay to allow things to settle */
- apr_sleep (1);
-
- rv = apr_proc_fork(*proc, p);
- if (rv == APR_INCHILD) {
- int i = 0;
- /* The parent process has setup all processes to call apr_terminate
- * at exit. But, that means that all processes must also call
- * apr_initialize at startup. You cannot have an unequal number
- * of apr_terminate and apr_initialize calls. If you do, bad things
- * will happen. In this case, the bad thing is that if the mutex
- * is a semaphore, it will be destroyed before all of the processes
- * die. That means that the test will most likely fail.
- */
- apr_initialize();
-
- if (apr_proc_mutex_child_init(&proc_lock, NULL, p))
- exit(1);
-
- do {
- if (apr_proc_mutex_lock(proc_lock))
- exit(1);
- i++;
- *x = increment(*x);
- if (apr_proc_mutex_unlock(proc_lock))
- exit(1);
- } while (i < MAX_ITER);
- exit(0);
- }
-
- CuAssert(tc, "fork failed", rv == APR_INPARENT);
-}
-
-/* Wait for a child process and check it terminated with success. */
-static void await_child(CuTest *tc, apr_proc_t *proc)
-{
- int code;
- apr_exit_why_e why;
- apr_status_t rv;
-
- rv = apr_proc_wait(proc, &code, &why, APR_WAIT);
- CuAssert(tc, "child did not terminate with success",
- rv == APR_CHILD_DONE && why == APR_PROC_EXIT && code == 0);
-}
-
-static void test_exclusive(CuTest *tc, const char *lockname)
-{
- apr_proc_t *child[CHILDREN];
- apr_status_t rv;
- int n;
-
- rv = apr_proc_mutex_create(&proc_lock, lockname, APR_LOCK_DEFAULT, p);
- apr_assert_success(tc, "create the mutex", rv);
-
- for (n = 0; n < CHILDREN; n++)
- make_child(tc, &child[n], p);
-
- for (n = 0; n < CHILDREN; n++)
- await_child(tc, child[n]);
-
- CuAssert(tc, "Locks don't appear to work", *x == MAX_COUNTER);
-}
-#endif
-
-static void proc_mutex(CuTest *tc)
-{
-#if APR_HAS_FORK
- apr_status_t rv;
- const char *shmname = "tpm.shm";
- apr_shm_t *shm;
-
- /* Use anonymous shm if available. */
- rv = apr_shm_create(&shm, sizeof(int), NULL, p);
- if (rv == APR_ENOTIMPL) {
- apr_file_remove(shmname, p);
- rv = apr_shm_create(&shm, sizeof(int), shmname, p);
- }
-
- apr_assert_success(tc, "create shm segment", rv);
-
- x = apr_shm_baseaddr_get(shm);
- test_exclusive(tc, NULL);
-#else
- CuNotImpl(tc, "APR lacks fork() support");
-#endif
-}
-
-
-CuSuite *testprocmutex(void)
-{
- CuSuite *suite = CuSuiteNew("Cross-Process Mutexes");
-
- SUITE_ADD_TEST(suite, proc_mutex);
-
- return suite;
-}
-
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/testrand.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/testrand.c
deleted file mode 100644
index 03090ca9..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/testrand.c
+++ /dev/null
@@ -1,46 +0,0 @@
-/* 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 "apr_general.h"
-#include <errno.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include "test_apr.h"
-
-static void rand_exists(CuTest *tc)
-{
-#if !APR_HAS_RANDOM
- CuNotImpl(tc, "apr_generate_random_bytes");
-#else
- unsigned char c[42];
-
- /* There must be a better way to test random-ness, but I don't know
- * what it is right now.
- */
- apr_assert_success(tc, "apr_generate_random_bytes failed",
- apr_generate_random_bytes(c, sizeof c));
-#endif
-}
-
-CuSuite *testrand(void)
-{
- CuSuite *suite = CuSuiteNew("Random");
-
- SUITE_ADD_TEST(suite, rand_exists);
-
- return suite;
-}
-
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/testshm.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/testshm.c
deleted file mode 100644
index 01357d5b..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/testshm.c
+++ /dev/null
@@ -1,293 +0,0 @@
-/* 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 "apr_shm.h"
-#include "apr_errno.h"
-#include "apr_general.h"
-#include "apr_lib.h"
-#include "apr_strings.h"
-#include "apr_time.h"
-#include <errno.h>
-#include <stdio.h>
-#include <stdlib.h>
-#if APR_HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#if APR_HAS_SHARED_MEMORY
-
-typedef struct mbox {
- char msg[1024];
- int msgavail;
-} mbox;
-mbox *boxes;
-
-#define N_BOXES 10
-#define N_MESSAGES 100
-#define SHARED_SIZE (apr_size_t)(N_BOXES * sizeof(mbox))
-#define SHARED_FILENAME "/tmp/apr.testshm.shm"
-
-static void msgwait(int sleep_sec, int first_box, int last_box)
-{
- int i;
- apr_time_t start = apr_time_now();
- apr_interval_time_t sleep_duration = apr_time_from_sec(sleep_sec);
- while (apr_time_now() - start < sleep_duration) {
- for (i = first_box; i < last_box; i++) {
- if (boxes[i].msgavail) {
- fprintf(stdout, "received a message in box %d, message was: %s\n",
- i, boxes[i].msg);
- boxes[i].msgavail = 0; /* reset back to 0 */
- }
- }
- apr_sleep(apr_time_make(0, 10000)); /* 10ms */
- }
- fprintf(stdout, "done waiting on mailboxes...\n");
-}
-
-static void msgput(int boxnum, char *msg)
-{
- fprintf(stdout, "Sending message to box %d\n", boxnum);
- apr_cpystrn(boxes[boxnum].msg, msg, strlen(msg));
- boxes[boxnum].msgavail = 1;
-}
-
-static apr_status_t test_anon(apr_pool_t *parpool)
-{
- apr_status_t rv;
- apr_pool_t *pool;
- apr_shm_t *shm;
- apr_size_t retsize;
- pid_t pid;
- int cnt, i, exit_int;
-
- rv = apr_pool_create(&pool, parpool);
- if (rv != APR_SUCCESS) {
- fprintf(stderr, "Error creating child pool\n");
- return rv;
- }
-
- printf("Creating anonymous shared memory block (%"
- APR_SIZE_T_FMT " bytes)........", SHARED_SIZE);
- rv = apr_shm_create(&shm, SHARED_SIZE, NULL, pool);
- if (rv != APR_SUCCESS) {
- fprintf(stderr, "Error allocating shared memory block\n");
- return rv;
- }
- fprintf(stdout, "OK\n");
-
- printf("Checking size...%" APR_SIZE_T_FMT " bytes...",
- retsize = apr_shm_size_get(shm));
- if (retsize != SHARED_SIZE) {
- fprintf(stderr, "Error allocating shared memory block\n");
- return rv;
- }
- fprintf(stdout, "OK\n");
-
- printf("Allocating shared mbox memory for %d boxes ..............",
- N_BOXES);
- boxes = apr_shm_baseaddr_get(shm);
- if (boxes == NULL) {
- fprintf(stderr, "Error creating message boxes.\n");
- return rv;
- }
- fprintf(stdout, "OK\n");
-
- printf("Shared Process Test (child/parent)\n");
- pid = fork();
- if (pid == 0) { /* child */
- msgwait(5, 0, N_BOXES);
- exit(0);
- }
- else if (pid > 0) { /* parent */
- i = N_BOXES;
- cnt = N_MESSAGES;
- while (--cnt > 0) {
- if ((i-=3) < 0) {
- i += N_BOXES; /* start over at the top */
- }
- msgput(i, "Sending a message\n");
- apr_sleep(apr_time_make(0, 10000));
- }
- }
- else {
- printf("Error creating a child process\n");
- return errno;
- }
- /* wait for the child */
- printf("Waiting for child to exit.\n");
- if (waitpid(pid, &exit_int, 0) < 0) {
- return errno;
- }
-
- printf("Destroying shared memory segment...");
- rv = apr_shm_destroy(shm);
- if (rv != APR_SUCCESS) {
- printf("FAILED\n");
- return rv;
- }
- printf("OK\n");
-
- apr_pool_destroy(pool);
-
- return APR_SUCCESS;
-}
-
-static apr_status_t test_named(apr_pool_t *parpool)
-{
- apr_status_t rv;
- apr_pool_t *pool;
- apr_shm_t *shm;
- apr_size_t retsize;
- pid_t pidproducer, pidconsumer;
- int exit_int;
-
- rv = apr_pool_create(&pool, parpool);
- if (rv != APR_SUCCESS) {
- fprintf(stderr, "Error creating child pool\n");
- return rv;
- }
-
- printf("Creating named shared memory block (%"
- APR_SIZE_T_FMT " bytes)........", SHARED_SIZE);
- rv = apr_shm_create(&shm, SHARED_SIZE, SHARED_FILENAME, pool);
- if (rv != APR_SUCCESS) {
- fprintf(stderr, "Error allocating shared memory block\n");
- return rv;
- }
- fprintf(stdout, "OK\n");
-
- printf("Checking size...%" APR_SIZE_T_FMT " bytes...",
- retsize = apr_shm_size_get(shm));
- if (retsize != SHARED_SIZE) {
- fprintf(stderr, "Error allocating shared memory block\n");
- return rv;
- }
- fprintf(stdout, "OK\n");
-
- printf("Allocating shared mbox memory for %d boxes ..............",
- N_BOXES);
- boxes = apr_shm_baseaddr_get(shm);
- if (boxes == NULL) {
- fprintf(stderr, "Error creating message boxes.\n");
- return rv;
- }
- fprintf(stdout, "OK\n");
-
- printf("fork()ing and exec()ing children:\n");
- pidproducer = fork();
- if (pidproducer == 0) { /* child */
- /* FIXME: exec a producer */
- printf("starting consumer.....\n");
- if (execlp("testshmconsumer", "testshmconsumer", (char*)0) < 0) {
- return errno;
- }
- }
- else if (pidproducer > 0) { /* parent */
- /* fork another child */
- pidconsumer = fork();
- if (pidconsumer == 0) { /* child */
- /* FIXME: exec a producer */
- printf("starting producer.....\n");
- if (execlp("testshmproducer", "testshmproducer", (char*)0) < 0) {
- return errno;
- }
- }
- else if (pidconsumer < 0) { /* parent */
- printf("Error creating a child process\n");
- return errno;
- }
- }
- else {
- printf("Error creating a child process\n");
- return errno;
- }
- /* wait for the child */
- printf("Waiting for producer to exit.\n");
- if (waitpid(pidconsumer, &exit_int, 0) < 0) {
- return errno;
- }
- if (!WIFEXITED(exit_int)) {
- printf("Producer was unsuccessful.\n");
- return APR_EGENERAL;
- }
- printf("Waiting for consumer to exit.\n");
- if (waitpid(pidproducer, &exit_int, 0) < 0) {
- return errno;
- }
- if (!WIFEXITED(exit_int)) {
- printf("Consumer was unsuccessful.\n");
- return APR_EGENERAL;
- }
-
- printf("Destroying shared memory segment...");
- rv = apr_shm_destroy(shm);
- if (rv != APR_SUCCESS) {
- printf("FAILED\n");
- return rv;
- }
- printf("OK\n");
-
- apr_pool_destroy(pool);
-
- return APR_SUCCESS;
-}
-
-int main(void)
-{
- apr_status_t rv;
- apr_pool_t *pool;
- char errmsg[200];
-
- apr_initialize();
-
- printf("APR Shared Memory Test\n");
- printf("======================\n\n");
-
- printf("Initializing the pool............................");
- if (apr_pool_create(&pool, NULL) != APR_SUCCESS) {
- printf("could not initialize pool\n");
- exit(-1);
- }
- printf("OK\n");
-
- rv = test_anon(pool);
- if (rv != APR_SUCCESS) {
- if (rv == APR_ENOTIMPL) {
- printf("Anonymous shared memory unavailable on this platform.\n");
- }
- else {
- printf("Anonymous shared memory test FAILED: [%d] %s\n",
- rv, apr_strerror(rv, errmsg, sizeof(errmsg)));
- exit(-2);
- }
- }
- printf("Anonymous shared memory test passed!\n");
-
- if ((rv = test_named(pool)) != APR_SUCCESS) {
- printf("Name-based shared memory test FAILED: [%d] %s \n",
- rv, apr_strerror(rv, errmsg, sizeof(errmsg)));
- exit(-3);
- }
- printf("Named shared memory test passed!\n");
-
- return 0;
-}
-
-#else /* APR_HAS_SHARED_MEMORY */
-#error shmem is not supported on this platform
-#endif /* APR_HAS_SHARED_MEMORY */
-
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/testshmconsumer.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/testshmconsumer.c
deleted file mode 100644
index 4064cd7d..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/testshmconsumer.c
+++ /dev/null
@@ -1,116 +0,0 @@
-/* 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 "apr_shm.h"
-#include "apr_errno.h"
-#include "apr_general.h"
-#include "apr_lib.h"
-#include "apr_strings.h"
-#include "apr_time.h"
-#include <errno.h>
-#include <stdio.h>
-#include <stdlib.h>
-#if APR_HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#if APR_HAS_SHARED_MEMORY
-
-typedef struct mbox {
- char msg[1024];
- int msgavail;
-} mbox;
-mbox *boxes;
-
-#define N_BOXES 10
-#define SHARED_SIZE (apr_size_t)(N_BOXES * sizeof(mbox))
-#define SHARED_FILENAME "/tmp/apr.testshm.shm"
-
-static void msgwait(int sleep_sec, int first_box, int last_box)
-{
- int i;
- apr_time_t start = apr_time_now();
- apr_interval_time_t sleep_duration = apr_time_from_sec(sleep_sec);
- while (apr_time_now() - start < sleep_duration) {
- for (i = first_box; i < last_box; i++) {
- if (boxes[i].msgavail) {
- fprintf(stdout, "Consumer: received a message in box %d, message was: %s\n",
- i, boxes[i].msg);
- boxes[i].msgavail = 0; /* reset back to 0 */
- }
- }
- apr_sleep(apr_time_from_sec(1));
- }
- fprintf(stdout, "Consumer: done waiting on mailboxes...\n");
-}
-
-int main(void)
-{
- apr_status_t rv;
- apr_pool_t *pool;
- apr_shm_t *shm;
- char errmsg[200];
-
- apr_initialize();
-
- printf("APR Shared Memory Test: CONSUMER\n");
-
- printf("Initializing the pool............................");
- if (apr_pool_create(&pool, NULL) != APR_SUCCESS) {
- printf("could not initialize pool\n");
- exit(-1);
- }
- printf("OK\n");
-
- printf("Consumer attaching to name-based shared memory....");
- rv = apr_shm_attach(&shm, SHARED_FILENAME, pool);
- if (rv != APR_SUCCESS) {
- printf("Consumer unable to attach to name-based shared memory "
- "segment: [%d] %s \n", rv,
- apr_strerror(rv, errmsg, sizeof(errmsg)));
- exit(-2);
- }
- printf("OK\n");
-
- boxes = apr_shm_baseaddr_get(shm);
-
- /* consume messages on all of the boxes */
- msgwait(30, 0, N_BOXES); /* wait for 30 seconds for messages */
-
- printf("Consumer detaching from name-based shared memory....");
- rv = apr_shm_detach(shm);
- if (rv != APR_SUCCESS) {
- printf("Consumer unable to detach from name-based shared memory "
- "segment: [%d] %s \n", rv,
- apr_strerror(rv, errmsg, sizeof(errmsg)));
- exit(-3);
- }
- printf("OK\n");
-
- return 0;
-}
-
-#else /* APR_HAS_SHARED_MEMORY */
-
-int main(void)
-{
- printf("APR SHMEM test not run!\n");
- printf("shmem is not supported on this platform\n");
- return -1;
-}
-
-#endif /* APR_HAS_SHARED_MEMORY */
-
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/testshmproducer.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/testshmproducer.c
deleted file mode 100644
index 3589a439..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/testshmproducer.c
+++ /dev/null
@@ -1,109 +0,0 @@
-/* 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 "apr_shm.h"
-#include "apr_errno.h"
-#include "apr_general.h"
-#include "apr_lib.h"
-#include "apr_strings.h"
-#include "apr_time.h"
-#include <errno.h>
-#include <stdio.h>
-#include <stdlib.h>
-#if APR_HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#if APR_HAS_SHARED_MEMORY
-
-typedef struct mbox {
- char msg[1024];
- int msgavail;
-} mbox;
-mbox *boxes;
-
-#define N_BOXES 10
-#define SHARED_SIZE (apr_size_t)(N_BOXES * sizeof(mbox))
-#define SHARED_FILENAME "/tmp/apr.testshm.shm"
-
-static void msgput(int boxnum, char *msg)
-{
- fprintf(stdout, "Producer: Sending message to box %d\n", boxnum);
- apr_cpystrn(boxes[boxnum].msg, msg, strlen(msg));
- boxes[boxnum].msgavail = 1;
-}
-
-int main(void)
-{
- apr_status_t rv;
- apr_pool_t *pool;
- apr_shm_t *shm;
- int i;
- char errmsg[200];
-
- apr_initialize();
-
- printf("APR Shared Memory Test: PRODUCER\n");
-
- printf("Initializing the pool............................");
- if (apr_pool_create(&pool, NULL) != APR_SUCCESS) {
- printf("could not initialize pool\n");
- exit(-1);
- }
- printf("OK\n");
-
- printf("Producer attaching to name-based shared memory....");
- rv = apr_shm_attach(&shm, SHARED_FILENAME, pool);
- if (rv != APR_SUCCESS) {
- printf("Producer unable to attach to name-based shared memory "
- "segment: [%d] %s \n", rv,
- apr_strerror(rv, errmsg, sizeof(errmsg)));
- exit(-2);
- }
- printf("OK\n");
-
- boxes = apr_shm_baseaddr_get(shm);
-
- /* produce messages on all of the boxes, in descending order */
- for (i = N_BOXES - 1; i > 0; i--) {
- msgput(i, "Sending a message\n");
- apr_sleep(apr_time_from_sec(1));
- }
-
- printf("Producer detaching from name-based shared memory....");
- rv = apr_shm_detach(shm);
- if (rv != APR_SUCCESS) {
- printf("Producer unable to detach from name-based shared memory "
- "segment: [%d] %s \n", rv,
- apr_strerror(rv, errmsg, sizeof(errmsg)));
- exit(-3);
- }
- printf("OK\n");
-
- return 0;
-}
-
-#else /* APR_HAS_SHARED_MEMORY */
-
-int main(void)
-{
- printf("APR SHMEM test not run!\n");
- printf("shmem is not supported on this platform\n");
- return -1;
-}
-
-#endif /* APR_HAS_SHARED_MEMORY */
-
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/testsleep.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/testsleep.c
deleted file mode 100644
index 8b2451f9..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/testsleep.c
+++ /dev/null
@@ -1,54 +0,0 @@
-/* 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 "time.h"
-#include "apr_thread_proc.h"
-#include "apr_errno.h"
-#include "apr_general.h"
-#include "apr_lib.h"
-#include <errno.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include "test_apr.h"
-
-#define SLEEP_INTERVAL 5
-
-static void sleep_one(CuTest *tc)
-{
- time_t pretime = time(NULL);
- time_t posttime;
- time_t timediff;
-
- apr_sleep(apr_time_from_sec(SLEEP_INTERVAL));
- posttime = time(NULL);
-
- /* normalize the timediff. We should have slept for SLEEP_INTERVAL, so
- * we should just subtract that out.
- */
- timediff = posttime - pretime - SLEEP_INTERVAL;
- CuAssertTrue(tc, timediff >= 0);
- CuAssertTrue(tc, timediff <= 1);
-}
-
-CuSuite *testsleep(void)
-{
- CuSuite *suite = CuSuiteNew("Sleep");
-
- SUITE_ADD_TEST(suite, sleep_one);
-
- return suite;
-}
-
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/testsock.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/testsock.c
deleted file mode 100644
index 79477b8a..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/testsock.c
+++ /dev/null
@@ -1,175 +0,0 @@
-/* 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 <signal.h>
-#include "apr_thread_proc.h"
-#include "apr_errno.h"
-#include "apr_general.h"
-#include "apr_lib.h"
-#include "apr_strings.h"
-
-#define STRLEN 15
-
-static int run_basic_test(apr_pool_t *context)
-{
- apr_procattr_t *attr1 = NULL;
- apr_procattr_t *attr2 = NULL;
- apr_proc_t proc1;
- apr_proc_t proc2;
- apr_status_t s1;
- apr_status_t s2;
- const char *args[2];
-
- fprintf(stdout, "Creating children to run network tests.......\n");
- s1 = apr_procattr_create(&attr1, context);
- s2 = apr_procattr_create(&attr2, context);
-
- if (s1 != APR_SUCCESS || s2 != APR_SUCCESS) {
- fprintf(stderr, "Problem creating proc attrs\n");
- exit(-1);
- }
-
- args[0] = apr_pstrdup(context, "server");
- args[1] = NULL;
- s1 = apr_proc_create(&proc1, "./server", args, NULL, attr1, context);
-
- /* Sleep for 5 seconds to ensure the server is setup before we begin */
- apr_sleep(5000000);
- args[0] = apr_pstrdup(context, "client");
- s2 = apr_proc_create(&proc2, "./client", args, NULL, attr2, context);
-
- if (s1 != APR_SUCCESS || s2 != APR_SUCCESS) {
- fprintf(stderr, "Problem spawning new process\n");
- exit(-1);
- }
-
- while ((s1 = apr_proc_wait(&proc1, NULL, NULL, APR_NOWAIT)) == APR_CHILD_NOTDONE &&
- (s2 = apr_proc_wait(&proc2, NULL, NULL, APR_NOWAIT)) == APR_CHILD_NOTDONE) {
- continue;
- }
-
- if (s1 == APR_SUCCESS) {
- apr_proc_kill(&proc2, SIGTERM);
- while (apr_proc_wait(&proc2, NULL, NULL, APR_WAIT) == APR_CHILD_NOTDONE);
- }
- else {
- apr_proc_kill(&proc1, SIGTERM);
- while (apr_proc_wait(&proc1, NULL, NULL, APR_WAIT) == APR_CHILD_NOTDONE);
- }
- fprintf(stdout, "Network test completed.\n");
-
- return 1;
-}
-
-static int run_sendfile(apr_pool_t *context, int number)
-{
- apr_procattr_t *attr1 = NULL;
- apr_procattr_t *attr2 = NULL;
- apr_proc_t proc1;
- apr_proc_t proc2;
- apr_status_t s1;
- apr_status_t s2;
- const char *args[4];
-
- fprintf(stdout, "Creating children to run network tests.......\n");
- s1 = apr_procattr_create(&attr1, context);
- s2 = apr_procattr_create(&attr2, context);
-
- if (s1 != APR_SUCCESS || s2 != APR_SUCCESS) {
- fprintf(stderr, "Problem creating proc attrs\n");
- exit(-1);
- }
-
- args[0] = apr_pstrdup(context, "sendfile");
- args[1] = apr_pstrdup(context, "server");
- args[2] = NULL;
- s1 = apr_proc_create(&proc1, "./sendfile", args, NULL, attr1, context);
-
- /* Sleep for 5 seconds to ensure the server is setup before we begin */
- apr_sleep(5000000);
- args[1] = apr_pstrdup(context, "client");
- switch (number) {
- case 0: {
- args[2] = apr_pstrdup(context, "blocking");
- break;
- }
- case 1: {
- args[2] = apr_pstrdup(context, "nonblocking");
- break;
- }
- case 2: {
- args[2] = apr_pstrdup(context, "timeout");
- break;
- }
- }
- args[3] = NULL;
- s2 = apr_proc_create(&proc2, "./sendfile", args, NULL, attr2, context);
-
- if (s1 != APR_SUCCESS || s2 != APR_SUCCESS) {
- fprintf(stderr, "Problem spawning new process\n");
- exit(-1);
- }
-
- while ((s1 = apr_proc_wait(&proc1, NULL, NULL, APR_NOWAIT)) == APR_CHILD_NOTDONE &&
- (s2 = apr_proc_wait(&proc2, NULL, NULL, APR_NOWAIT)) == APR_CHILD_NOTDONE) {
- continue;
- }
-
- if (s1 == APR_SUCCESS) {
- apr_proc_kill(&proc2, SIGTERM);
- while (apr_proc_wait(&proc2, NULL, NULL, APR_WAIT) == APR_CHILD_NOTDONE);
- }
- else {
- apr_proc_kill(&proc1, SIGTERM);
- while (apr_proc_wait(&proc1, NULL, NULL, APR_WAIT) == APR_CHILD_NOTDONE);
- }
- fprintf(stdout, "Network test completed.\n");
-
- return 1;
-}
-
-int main(int argc, char *argv[])
-{
- apr_pool_t *context = NULL;
-
- fprintf(stdout, "Initializing.........");
- if (apr_initialize() != APR_SUCCESS) {
- fprintf(stderr, "Something went wrong\n");
- exit(-1);
- }
- fprintf(stdout, "OK\n");
- atexit(apr_terminate);
-
- fprintf(stdout, "Creating context.......");
- if (apr_pool_create(&context, NULL) != APR_SUCCESS) {
- fprintf(stderr, "Could not create context\n");
- exit(-1);
- }
- fprintf(stdout, "OK\n");
-
- fprintf(stdout, "This test relies on the process test working. Please\n");
- fprintf(stdout, "run that test first, and only run this test when it\n");
- fprintf(stdout, "completes successfully. Alternatively, you could run\n");
- fprintf(stdout, "server and client by yourself.\n");
- run_basic_test(context);
- run_sendfile(context, 0);
- run_sendfile(context, 1);
- run_sendfile(context, 2);
-
- return 0;
-}
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/testsockets.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/testsockets.c
deleted file mode 100644
index a03327a8..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/testsockets.c
+++ /dev/null
@@ -1,174 +0,0 @@
-/* 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 "apr_network_io.h"
-#include "apr_errno.h"
-#include "apr_general.h"
-#include "apr_lib.h"
-#include "test_apr.h"
-
-#if APR_HAVE_IPV6
-#define US "::1"
-#define FAMILY APR_INET6
-#else
-#define US "127.0.0.1"
-#define FAMILY APR_INET
-#endif
-
-#define STRLEN 21
-
-static void tcp_socket(CuTest *tc)
-{
- apr_status_t rv;
- apr_socket_t *sock = NULL;
-
- rv = apr_socket_create(&sock, APR_INET, SOCK_STREAM, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertPtrNotNull(tc, sock);
- apr_socket_close(sock);
-}
-
-static void udp_socket(CuTest *tc)
-{
- apr_status_t rv;
- apr_socket_t *sock = NULL;
-
- rv = apr_socket_create(&sock, APR_INET, SOCK_DGRAM, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertPtrNotNull(tc, sock);
- apr_socket_close(sock);
-}
-
-static void tcp6_socket(CuTest *tc)
-{
-#if APR_HAVE_IPV6
- apr_status_t rv;
- apr_socket_t *sock = NULL;
-
- rv = apr_socket_create(&sock, APR_INET6, SOCK_STREAM, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertPtrNotNull(tc, sock);
- apr_socket_close(sock);
-#else
- CuNotImpl(tc, "IPv6");
-#endif
-}
-
-static void udp6_socket(CuTest *tc)
-{
-#if APR_HAVE_IPV6
- apr_status_t rv;
- apr_socket_t *sock = NULL;
-
- rv = apr_socket_create(&sock, APR_INET6, SOCK_DGRAM, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertPtrNotNull(tc, sock);
- apr_socket_close(sock);
-#else
- CuNotImpl(tc, "IPv6");
-#endif
-}
-
-static void sendto_receivefrom(CuTest *tc)
-{
- apr_status_t rv;
- apr_socket_t *sock = NULL;
- apr_socket_t *sock2 = NULL;
- char sendbuf[STRLEN] = "APR_INET, SOCK_DGRAM";
- char recvbuf[80];
- char *ip_addr;
- apr_port_t fromport;
- apr_sockaddr_t *from;
- apr_sockaddr_t *to;
- apr_size_t len = 30;
-
- rv = apr_socket_create(&sock, FAMILY, SOCK_DGRAM, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- rv = apr_socket_create(&sock2, FAMILY, SOCK_DGRAM, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_sockaddr_info_get(&to, US, APR_UNSPEC, 7772, 0, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- rv = apr_sockaddr_info_get(&from, US, APR_UNSPEC, 7771, 0, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_socket_bind(sock, to);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- rv = apr_socket_bind(sock2, from);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- len = STRLEN;
- rv = apr_socket_sendto(sock2, to, 0, sendbuf, &len);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertIntEquals(tc, STRLEN, len);
-
- len = 80;
- rv = apr_socket_recvfrom(from, sock, 0, recvbuf, &len);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertIntEquals(tc, STRLEN, len);
- CuAssertStrEquals(tc, "APR_INET, SOCK_DGRAM", recvbuf);
-
- apr_sockaddr_ip_get(&ip_addr, from);
- apr_sockaddr_port_get(&fromport, from);
- CuAssertStrEquals(tc, US, ip_addr);
- CuAssertIntEquals(tc, 7771, fromport);
-
- apr_socket_close(sock);
- apr_socket_close(sock2);
-}
-
-static void socket_userdata(CuTest *tc)
-{
- apr_socket_t *sock1, *sock2;
- apr_status_t rv;
- char *data;
- const char *key = "GENERICKEY";
-
- rv = apr_socket_create(&sock1, AF_INET, SOCK_STREAM, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- rv = apr_socket_create(&sock2, AF_INET, SOCK_STREAM, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_socket_data_set(sock1, "SOCK1", key, NULL);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- rv = apr_socket_data_set(sock2, "SOCK2", key, NULL);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_socket_data_get((void **)&data, key, sock1);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertStrEquals(tc, "SOCK1", data);
- rv = apr_socket_data_get((void **)&data, key, sock2);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertStrEquals(tc, "SOCK2", data);
-}
-
-CuSuite *testsockets(void)
-{
- CuSuite *suite = CuSuiteNew("Socket Creation");
-
- SUITE_ADD_TEST(suite, tcp_socket);
- SUITE_ADD_TEST(suite, udp_socket);
-
- SUITE_ADD_TEST(suite, tcp6_socket);
- SUITE_ADD_TEST(suite, udp6_socket);
-
- SUITE_ADD_TEST(suite, sendto_receivefrom);
-
- SUITE_ADD_TEST(suite, socket_userdata);
-
- return suite;
-}
-
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/testsockopt.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/testsockopt.c
deleted file mode 100644
index 40cce1f6..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/testsockopt.c
+++ /dev/null
@@ -1,137 +0,0 @@
-/* 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 "apr_network_io.h"
-#include "apr_errno.h"
-#include "apr_general.h"
-#include "apr_lib.h"
-#include "test_apr.h"
-
-static apr_socket_t *sock = NULL;
-
-static void create_socket(CuTest *tc)
-{
- apr_status_t rv;
-
- rv = apr_socket_create(&sock, APR_INET, SOCK_STREAM, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertPtrNotNull(tc, sock);
-}
-
-static void set_keepalive(CuTest *tc)
-{
- apr_status_t rv;
- apr_int32_t ck;
-
- rv = apr_socket_opt_set(sock, APR_SO_KEEPALIVE, 1);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_socket_opt_get(sock, APR_SO_KEEPALIVE, &ck);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertIntEquals(tc, 1, ck);
-}
-
-static void set_debug(CuTest *tc)
-{
- apr_status_t rv1, rv2;
- apr_int32_t ck;
-
- /* On some platforms APR_SO_DEBUG can only be set as root; just test
- * for get/set consistency of this option. */
- rv1 = apr_socket_opt_set(sock, APR_SO_DEBUG, 1);
- rv2 = apr_socket_opt_get(sock, APR_SO_DEBUG, &ck);
- apr_assert_success(tc, "get SO_DEBUG option", rv2);
- if (APR_STATUS_IS_SUCCESS(rv1)) {
- CuAssertIntEquals(tc, 1, ck);
- } else {
- CuAssertIntEquals(tc, 0, ck);
- }
-}
-
-static void remove_keepalive(CuTest *tc)
-{
- apr_status_t rv;
- apr_int32_t ck;
-
- rv = apr_socket_opt_get(sock, APR_SO_KEEPALIVE, &ck);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertIntEquals(tc, 1, ck);
-
- rv = apr_socket_opt_set(sock, APR_SO_KEEPALIVE, 0);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_socket_opt_get(sock, APR_SO_KEEPALIVE, &ck);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertIntEquals(tc, 0, ck);
-}
-
-static void corkable(CuTest *tc)
-{
-#if !APR_HAVE_CORKABLE_TCP
- CuNotImpl(tc, "TCP isn't corkable");
-#else
- apr_status_t rv;
- apr_int32_t ck;
-
- rv = apr_socket_opt_set(sock, APR_TCP_NODELAY, 1);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_socket_opt_get(sock, APR_TCP_NODELAY, &ck);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertIntEquals(tc, 1, ck);
-
- rv = apr_socket_opt_set(sock, APR_TCP_NOPUSH, 1);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_socket_opt_get(sock, APR_TCP_NOPUSH, &ck);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertIntEquals(tc, 1, ck);
-
- rv = apr_socket_opt_get(sock, APR_TCP_NODELAY, &ck);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertIntEquals(tc, 0, ck);
-
- rv = apr_socket_opt_set(sock, APR_TCP_NOPUSH, 0);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_socket_opt_get(sock, APR_TCP_NODELAY, &ck);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertIntEquals(tc, 1, ck);
-#endif
-}
-
-static void close_socket(CuTest *tc)
-{
- apr_status_t rv;
-
- rv = apr_socket_close(sock);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-}
-
-CuSuite *testsockopt(void)
-{
- CuSuite *suite = CuSuiteNew("Socket Options");
-
- SUITE_ADD_TEST(suite, create_socket);
- SUITE_ADD_TEST(suite, set_keepalive);
- SUITE_ADD_TEST(suite, set_debug);
- SUITE_ADD_TEST(suite, remove_keepalive);
- SUITE_ADD_TEST(suite, corkable);
- SUITE_ADD_TEST(suite, close_socket);
-
- return suite;
-}
-
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/teststr.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/teststr.c
deleted file mode 100644
index b23251d1..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/teststr.c
+++ /dev/null
@@ -1,307 +0,0 @@
-/* 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 "test_apr.h"
-
-#include <assert.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-
-#include "apr_general.h"
-#include "apr_strings.h"
-#include "apr_errno.h"
-
-/* I haven't bothered to check for APR_ENOTIMPL here, AFAIK, all string
- * functions exist on all platforms.
- */
-
-static void test_strtok(CuTest *tc)
-{
- struct {
- char *input;
- char *sep;
- }
- cases[] = {
- {
- "",
- "Z"
- },
- {
- " asdf jkl; 77889909 \r\n\1\2\3Z",
- " \r\n\3\2\1"
- },
- {
- NULL, /* but who cares if apr_strtok() segfaults? */
- " \t"
- },
-#if 0 /* don't do this... you deserve to segfault */
- {
- "a b c ",
- NULL
- },
-#endif
- {
- " a b c ",
- ""
- },
- {
- "a b c ",
- " "
- }
- };
- int curtc;
-
- for (curtc = 0; curtc < sizeof cases / sizeof cases[0]; curtc++) {
- char *retval1, *retval2;
- char *str1, *str2;
- char *state;
-
- str1 = apr_pstrdup(p, cases[curtc].input);
- str2 = apr_pstrdup(p, cases[curtc].input);
-
- do {
- retval1 = apr_strtok(str1, cases[curtc].sep, &state);
- retval2 = strtok(str2, cases[curtc].sep);
-
- if (!retval1) {
- CuAssertTrue(tc, retval2 == NULL);
- }
- else {
- CuAssertTrue(tc, retval2 != NULL);
- CuAssertStrEquals(tc, retval2, retval1);
- }
-
- str1 = str2 = NULL; /* make sure we pass NULL on subsequent calls */
- } while (retval1);
- }
-}
-
-static void snprintf_noNULL(CuTest *tc)
-{
- char buff[100];
- char *testing = apr_palloc(p, 10);
-
- testing[0] = 't';
- testing[1] = 'e';
- testing[2] = 's';
- testing[3] = 't';
- testing[4] = 'i';
- testing[5] = 'n';
- testing[6] = 'g';
-
- /* If this test fails, we are going to seg fault. */
- apr_snprintf(buff, sizeof(buff), "%.*s", 7, testing);
- CuAssertStrNEquals(tc, buff, testing, 7);
-}
-
-static void snprintf_0NULL(CuTest *tc)
-{
- int rv;
-
- rv = apr_snprintf(NULL, 0, "%sBAR", "FOO");
- CuAssertIntEquals(tc, 6, rv);
-}
-
-static void snprintf_0nonNULL(CuTest *tc)
-{
- int rv;
- char *buff = "testing";
-
- rv = apr_snprintf(buff, 0, "%sBAR", "FOO");
- CuAssertIntEquals(tc, 6, rv);
- CuAssert(tc, "buff unmangled", strcmp(buff, "FOOBAR") != 0);
-}
-
-static void snprintf_int64(CuTest *tc)
-{
- char buf[100];
- apr_int64_t i = APR_INT64_C(-42);
- apr_uint64_t ui = APR_INT64_C(42); /* no APR_UINT64_C */
- apr_uint64_t big = APR_INT64_C(3141592653589793238);
-
- apr_snprintf(buf, sizeof buf, "%" APR_INT64_T_FMT, i);
- CuAssertStrEquals(tc, buf, "-42");
-
- apr_snprintf(buf, sizeof buf, "%" APR_UINT64_T_FMT, ui);
- CuAssertStrEquals(tc, buf, "42");
-
- apr_snprintf(buf, sizeof buf, "%" APR_UINT64_T_FMT, big);
- CuAssertStrEquals(tc, buf, "3141592653589793238");
-}
-
-static void snprintf_underflow(CuTest *tc)
-{
- char buf[20];
- int rv;
-
- rv = apr_snprintf(buf, sizeof buf, "%.2f", (double)0.0001);
- CuAssertIntEquals(tc, 4, rv);
- CuAssertStrEquals(tc, "0.00", buf);
-
- rv = apr_snprintf(buf, sizeof buf, "%.2f", (double)0.001);
- CuAssertIntEquals(tc, 4, rv);
- CuAssertStrEquals(tc, "0.00", buf);
-
- rv = apr_snprintf(buf, sizeof buf, "%.2f", (double)0.01);
- CuAssertIntEquals(tc, 4, rv);
- CuAssertStrEquals(tc, "0.01", buf);
-}
-
-static void string_error(CuTest *tc)
-{
- char buf[128], *rv;
- apr_status_t n;
-
- buf[0] = '\0';
- rv = apr_strerror(APR_ENOENT, buf, sizeof buf);
- CuAssertPtrEquals(tc, buf, rv);
- CuAssertTrue(tc, strlen(buf) > 0);
-
- rv = apr_strerror(APR_TIMEUP, buf, sizeof buf);
- CuAssertPtrEquals(tc, buf, rv);
- CuAssertStrEquals(tc, "The timeout specified has expired", buf);
-
- /* throw some randomish numbers at it to check for robustness */
- for (n = 1; n < 1000000; n *= 2) {
- apr_strerror(n, buf, sizeof buf);
- }
-}
-
-#define SIZE 180000
-static void string_long(CuTest *tc)
-{
- char s[SIZE + 1];
-
- memset(s, 'A', SIZE);
- s[SIZE] = '\0';
-
- apr_psprintf(p, "%s", s);
-}
-
-/* ### FIXME: apr.h/apr_strings.h should provide these! */
-#define MY_LLONG_MAX (APR_INT64_C(9223372036854775807))
-#define MY_LLONG_MIN (-MY_LLONG_MAX - APR_INT64_C(1))
-
-static void string_strtoi64(CuTest *tc)
-{
- static const struct {
- int errnum, base;
- const char *in, *end;
- apr_int64_t result;
- } ts[] = {
-
- /* base 10 tests */
- { 0, 10, "123545", NULL, APR_INT64_C(123545) },
- { 0, 10, " 123545", NULL, APR_INT64_C(123545) },
- { 0, 10, " +123545", NULL, APR_INT64_C(123545) },
- { 0, 10, "-123545", NULL, APR_INT64_C(-123545) },
- { 0, 10, " 00000123545", NULL, APR_INT64_C(123545) },
- { 0, 10, "123545ZZZ", "ZZZ", APR_INT64_C(123545) },
- { 0, 10, " 123545 ", " ", APR_INT64_C(123545) },
-
- /* base 16 tests */
- { 0, 16, "1E299", NULL, APR_INT64_C(123545) },
- { 0, 16, "1e299", NULL, APR_INT64_C(123545) },
- { 0, 16, "0x1e299", NULL, APR_INT64_C(123545) },
- { 0, 16, "0X1E299", NULL, APR_INT64_C(123545) },
- { 0, 16, "+1e299", NULL, APR_INT64_C(123545) },
- { 0, 16, "-1e299", NULL, APR_INT64_C(-123545) },
- { 0, 16, " -1e299", NULL, APR_INT64_C(-123545) },
-
- /* automatic base detection tests */
- { 0, 0, "123545", NULL, APR_INT64_C(123545) },
- { 0, 0, "0x1e299", NULL, APR_INT64_C(123545) },
- { 0, 0, " 0x1e299", NULL, APR_INT64_C(123545) },
- { 0, 0, "+0x1e299", NULL, APR_INT64_C(123545) },
- { 0, 0, "-0x1e299", NULL, APR_INT64_C(-123545) },
-
- /* large number tests */
- { 0, 10, "8589934605", NULL, APR_INT64_C(8589934605) },
- { 0, 10, "-8589934605", NULL, APR_INT64_C(-8589934605) },
- { 0, 16, "0x20000000D", NULL, APR_INT64_C(8589934605) },
- { 0, 16, "-0x20000000D", NULL, APR_INT64_C(-8589934605) },
- { 0, 16, " 0x20000000D", NULL, APR_INT64_C(8589934605) },
- { 0, 16, " 0x20000000D", NULL, APR_INT64_C(8589934605) },
-
- /* error cases */
- { ERANGE, 10, "999999999999999999999999999999999", "", MY_LLONG_MAX },
- { ERANGE, 10, "-999999999999999999999999999999999", "", MY_LLONG_MIN },
-
-#if 0
- /* C99 doesn't require EINVAL for an invalid range. */
- { EINVAL, 99, "", (void *)-1 /* don't care */, 0 },
-#endif
-
- /* some strtoll implementations give EINVAL when no conversion
- * is performed. */
- { -1 /* don't care */, 10, "zzz", "zzz", APR_INT64_C(0) },
- { -1 /* don't care */, 10, "", NULL, APR_INT64_C(0) }
-
- };
- int n;
-
- for (n = 0; n < sizeof(ts)/sizeof(ts[0]); n++) {
- char *end = "end ptr not changed";
- apr_int64_t result;
- int errnum;
-
- errno = 0;
- result = apr_strtoi64(ts[n].in, &end, ts[n].base);
- errnum = errno;
-
- CuAssert(tc,
- apr_psprintf(p, "for '%s': result was %" APR_INT64_T_FMT
- " not %" APR_INT64_T_FMT, ts[n].in,
- result, ts[n].result),
- result == ts[n].result);
-
- if (ts[n].errnum != -1) {
- CuAssert(tc,
- apr_psprintf(p, "for '%s': errno was %d not %d", ts[n].in,
- errnum, ts[n].errnum),
- ts[n].errnum == errnum);
- }
-
- if (ts[n].end == NULL) {
- /* end must point to NUL terminator of .in */
- CuAssertPtrEquals(tc, ts[n].in + strlen(ts[n].in), end);
- } else if (ts[n].end != (void *)-1) {
- CuAssert(tc,
- apr_psprintf(p, "for '%s', end was '%s' not '%s'",
- ts[n].in, end, ts[n].end),
- strcmp(ts[n].end, end) == 0);
- }
- }
-}
-
-CuSuite *teststr(void)
-{
- CuSuite *suite = CuSuiteNew("Strings");
-
- SUITE_ADD_TEST(suite, snprintf_0NULL);
- SUITE_ADD_TEST(suite, snprintf_0nonNULL);
- SUITE_ADD_TEST(suite, snprintf_noNULL);
- SUITE_ADD_TEST(suite, snprintf_int64);
- SUITE_ADD_TEST(suite, snprintf_underflow);
- SUITE_ADD_TEST(suite, test_strtok);
- SUITE_ADD_TEST(suite, string_error);
- SUITE_ADD_TEST(suite, string_long);
- SUITE_ADD_TEST(suite, string_strtoi64);
-
- return suite;
-}
-
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/testtable.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/testtable.c
deleted file mode 100644
index 60123db0..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/testtable.c
+++ /dev/null
@@ -1,168 +0,0 @@
-/* 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 "test_apr.h"
-#include "apr.h"
-#include "apr_strings.h"
-#include "apr_general.h"
-#include "apr_pools.h"
-#include "apr_tables.h"
-#if APR_HAVE_STDIO_H
-#include <stdio.h>
-#endif
-#if APR_HAVE_STDLIB_H
-#include <stdlib.h>
-#endif
-#if APR_HAVE_STRING_H
-#include <string.h>
-#endif
-
-static apr_table_t *t1 = NULL;
-
-static void table_make(CuTest *tc)
-{
- t1 = apr_table_make(p, 5);
- CuAssertPtrNotNull(tc, t1);
-}
-
-static void table_get(CuTest *tc)
-{
- const char *val;
-
- apr_table_set(t1, "foo", "bar");
- val = apr_table_get(t1, "foo");
- CuAssertStrEquals(tc, val, "bar");
-}
-
-static void table_set(CuTest *tc)
-{
- const char *val;
-
- apr_table_set(t1, "setkey", "bar");
- apr_table_set(t1, "setkey", "2ndtry");
- val = apr_table_get(t1, "setkey");
- CuAssertStrEquals(tc, val, "2ndtry");
-}
-
-static void table_getnotthere(CuTest *tc)
-{
- const char *val;
-
- val = apr_table_get(t1, "keynotthere");
- CuAssertPtrEquals(tc, NULL, (void *)val);
-}
-
-static void table_add(CuTest *tc)
-{
- const char *val;
-
- apr_table_add(t1, "addkey", "bar");
- apr_table_add(t1, "addkey", "foo");
- val = apr_table_get(t1, "addkey");
- CuAssertStrEquals(tc, val, "bar");
-
-}
-
-static void table_nelts(CuTest *tc)
-{
- const char *val;
- apr_table_t *t = apr_table_make(p, 1);
-
- apr_table_set(t, "abc", "def");
- apr_table_set(t, "def", "abc");
- apr_table_set(t, "foo", "zzz");
- val = apr_table_get(t, "foo");
- CuAssertStrEquals(tc, val, "zzz");
- val = apr_table_get(t, "abc");
- CuAssertStrEquals(tc, val, "def");
- val = apr_table_get(t, "def");
- CuAssertStrEquals(tc, val, "abc");
- CuAssertIntEquals(tc, 3, apr_table_elts(t)->nelts);
-}
-
-static void table_clear(CuTest *tc)
-{
- apr_table_clear(t1);
- CuAssertIntEquals(tc, 0, apr_table_elts(t1)->nelts);
-}
-
-static void table_unset(CuTest *tc)
-{
- const char *val;
- apr_table_t *t = apr_table_make(p, 1);
-
- apr_table_set(t, "a", "1");
- apr_table_set(t, "b", "2");
- apr_table_unset(t, "b");
- CuAssertIntEquals(tc, 1, apr_table_elts(t)->nelts);
- val = apr_table_get(t, "a");
- CuAssertStrEquals(tc, val, "1");
- val = apr_table_get(t, "b");
- CuAssertPtrEquals(tc, (void *)val, (void *)NULL);
-}
-
-static void table_overlap(CuTest *tc)
-{
- const char *val;
- apr_table_t *t1 = apr_table_make(p, 1);
- apr_table_t *t2 = apr_table_make(p, 1);
-
- apr_table_addn(t1, "a", "0");
- apr_table_addn(t1, "g", "7");
- apr_table_addn(t2, "a", "1");
- apr_table_addn(t2, "b", "2");
- apr_table_addn(t2, "c", "3");
- apr_table_addn(t2, "b", "2.0");
- apr_table_addn(t2, "d", "4");
- apr_table_addn(t2, "e", "5");
- apr_table_addn(t2, "b", "2.");
- apr_table_addn(t2, "f", "6");
- apr_table_overlap(t1, t2, APR_OVERLAP_TABLES_SET);
-
- CuAssertIntEquals(tc, apr_table_elts(t1)->nelts, 7);
- val = apr_table_get(t1, "a");
- CuAssertStrEquals(tc, val, "1");
- val = apr_table_get(t1, "b");
- CuAssertStrEquals(tc, val, "2.");
- val = apr_table_get(t1, "c");
- CuAssertStrEquals(tc, val, "3");
- val = apr_table_get(t1, "d");
- CuAssertStrEquals(tc, val, "4");
- val = apr_table_get(t1, "e");
- CuAssertStrEquals(tc, val, "5");
- val = apr_table_get(t1, "f");
- CuAssertStrEquals(tc, val, "6");
- val = apr_table_get(t1, "g");
- CuAssertStrEquals(tc, val, "7");
-}
-
-CuSuite *testtable(void)
-{
- CuSuite *suite = CuSuiteNew("Table");
-
- SUITE_ADD_TEST(suite, table_make);
- SUITE_ADD_TEST(suite, table_get);
- SUITE_ADD_TEST(suite, table_set);
- SUITE_ADD_TEST(suite, table_getnotthere);
- SUITE_ADD_TEST(suite, table_add);
- SUITE_ADD_TEST(suite, table_nelts);
- SUITE_ADD_TEST(suite, table_clear);
- SUITE_ADD_TEST(suite, table_unset);
- SUITE_ADD_TEST(suite, table_overlap);
-
- return suite;
-}
-
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/testthread.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/testthread.c
deleted file mode 100644
index d1d0de22..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/testthread.c
+++ /dev/null
@@ -1,133 +0,0 @@
-/* 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 "apr_thread_proc.h"
-#include "apr_errno.h"
-#include "apr_general.h"
-#include "errno.h"
-#include "apr_time.h"
-#include "test_apr.h"
-
-#if APR_HAS_THREADS
-
-static apr_thread_mutex_t *thread_lock;
-static apr_thread_once_t *control = NULL;
-static int x = 0;
-static int value = 0;
-
-static apr_thread_t *t1;
-static apr_thread_t *t2;
-static apr_thread_t *t3;
-static apr_thread_t *t4;
-
-/* just some made up number to check on later */
-static apr_status_t exit_ret_val = 123;
-
-static void init_func(void)
-{
- value++;
-}
-
-static void * APR_THREAD_FUNC thread_func1(apr_thread_t *thd, void *data)
-{
- int i;
-
- apr_thread_once(control, init_func);
-
- for (i = 0; i < 10000; i++) {
- apr_thread_mutex_lock(thread_lock);
- x++;
- apr_thread_mutex_unlock(thread_lock);
- }
- apr_thread_exit(thd, exit_ret_val);
- return NULL;
-}
-
-static void thread_init(CuTest *tc)
-{
- apr_status_t rv;
-
- rv = apr_thread_once_init(&control, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_thread_mutex_create(&thread_lock, APR_THREAD_MUTEX_DEFAULT, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-}
-
-static void create_threads(CuTest *tc)
-{
- apr_status_t rv;
-
- rv = apr_thread_create(&t1, NULL, thread_func1, NULL, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- rv = apr_thread_create(&t2, NULL, thread_func1, NULL, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- rv = apr_thread_create(&t3, NULL, thread_func1, NULL, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- rv = apr_thread_create(&t4, NULL, thread_func1, NULL, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-}
-
-static void join_threads(CuTest *tc)
-{
- apr_status_t s;
-
- apr_thread_join(&s, t1);
- CuAssertIntEquals(tc, exit_ret_val, s);
- apr_thread_join(&s, t2);
- CuAssertIntEquals(tc, exit_ret_val, s);
- apr_thread_join(&s, t3);
- CuAssertIntEquals(tc, exit_ret_val, s);
- apr_thread_join(&s, t4);
- CuAssertIntEquals(tc, exit_ret_val, s);
-}
-
-static void check_locks(CuTest *tc)
-{
- CuAssertIntEquals(tc, 40000, x);
-}
-
-static void check_thread_once(CuTest *tc)
-{
- CuAssertIntEquals(tc, 1, value);
-}
-
-#else
-
-static void threads_not_impl(CuTest *tc)
-{
- CuNotImpl(tc, "Threads not implemented on this platform");
-}
-
-#endif
-
-CuSuite *testthread(void)
-{
- CuSuite *suite = CuSuiteNew("Threads");
-
-#if !APR_HAS_THREADS
- SUITE_ADD_TEST(suite, threads_not_impl);
-#else
- SUITE_ADD_TEST(suite, thread_init);
- SUITE_ADD_TEST(suite, create_threads);
- SUITE_ADD_TEST(suite, join_threads);
- SUITE_ADD_TEST(suite, check_locks);
- SUITE_ADD_TEST(suite, check_thread_once);
-#endif
-
- return suite;
-}
-
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/testtime.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/testtime.c
deleted file mode 100644
index 1e3e87fa..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/testtime.c
+++ /dev/null
@@ -1,305 +0,0 @@
-/* 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 "apr_time.h"
-#include "apr_errno.h"
-#include "apr_general.h"
-#include "apr_lib.h"
-#include "test_apr.h"
-#include "apr_strings.h"
-#include <time.h>
-
-#define STR_SIZE 45
-
-/* The time value is used throughout the tests, so just make this a global.
- * Also, we need a single value that we can test for the positive tests, so
- * I chose the number below, it corresponds to:
- * 2002-08-14 12:05:36.186711 -25200 [257 Sat].
- * Which happens to be when I wrote the new tests.
- */
-static apr_time_t now = APR_INT64_C(1032030336186711);
-
-static char* print_time (apr_pool_t *pool, const apr_time_exp_t *xt)
-{
- return apr_psprintf (pool,
- "%04d-%02d-%02d %02d:%02d:%02d.%06d %+05d [%d %s]%s",
- xt->tm_year + 1900,
- xt->tm_mon,
- xt->tm_mday,
- xt->tm_hour,
- xt->tm_min,
- xt->tm_sec,
- xt->tm_usec,
- xt->tm_gmtoff,
- xt->tm_yday + 1,
- apr_day_snames[xt->tm_wday],
- (xt->tm_isdst ? " DST" : ""));
-}
-
-
-static void test_now(CuTest *tc)
-{
- apr_time_t timediff;
- apr_time_t current;
- time_t os_now;
-
- current = apr_time_now();
- time(&os_now);
-
- timediff = os_now - (current / APR_USEC_PER_SEC);
- /* Even though these are called so close together, there is the chance
- * that the time will be slightly off, so accept anything between -1 and
- * 1 second.
- */
- CuAssert(tc, "apr_time and OS time do not agree",
- (timediff > -2) && (timediff < 2));
-}
-
-static void test_gmtstr(CuTest *tc)
-{
- apr_status_t rv;
- apr_time_exp_t xt;
-
- rv = apr_time_exp_gmt(&xt, now);
- if (rv == APR_ENOTIMPL) {
- CuNotImpl(tc, "apr_time_exp_gmt");
- }
- CuAssertTrue(tc, rv == APR_SUCCESS);
- CuAssertStrEquals(tc, "2002-08-14 19:05:36.186711 +0000 [257 Sat]",
- print_time(p, &xt));
-}
-
-static void test_exp_lt(CuTest *tc)
-{
- apr_status_t rv;
- apr_time_exp_t xt;
- time_t posix_secs = (time_t)apr_time_sec(now);
- struct tm *posix_exp = localtime(&posix_secs);
-
- rv = apr_time_exp_lt(&xt, now);
- if (rv == APR_ENOTIMPL) {
- CuNotImpl(tc, "apr_time_exp_lt");
- }
- CuAssertTrue(tc, rv == APR_SUCCESS);
-
-#define CHK_FIELD(f) \
- CuAssert(tc, "Mismatch in " #f, posix_exp->f == xt.f)
-
- CHK_FIELD(tm_sec);
- CHK_FIELD(tm_min);
- CHK_FIELD(tm_hour);
- CHK_FIELD(tm_mday);
- CHK_FIELD(tm_mon);
- CHK_FIELD(tm_year);
- CHK_FIELD(tm_wday);
- CHK_FIELD(tm_yday);
- CHK_FIELD(tm_isdst);
-#undef CHK_FIELD
-}
-
-static void test_exp_get_gmt(CuTest *tc)
-{
- apr_status_t rv;
- apr_time_exp_t xt;
- apr_time_t imp;
- apr_int64_t hr_off_64;
-
- rv = apr_time_exp_gmt(&xt, now);
- CuAssertTrue(tc, rv == APR_SUCCESS);
- rv = apr_time_exp_get(&imp, &xt);
- if (rv == APR_ENOTIMPL) {
- CuNotImpl(tc, "apr_time_exp_get");
- }
- CuAssertTrue(tc, rv == APR_SUCCESS);
- hr_off_64 = (apr_int64_t) xt.tm_gmtoff * APR_USEC_PER_SEC;
- CuAssertTrue(tc, now + hr_off_64 == imp);
-}
-
-static void test_exp_get_lt(CuTest *tc)
-{
- apr_status_t rv;
- apr_time_exp_t xt;
- apr_time_t imp;
- apr_int64_t hr_off_64;
-
- rv = apr_time_exp_lt(&xt, now);
- CuAssertTrue(tc, rv == APR_SUCCESS);
- rv = apr_time_exp_get(&imp, &xt);
- if (rv == APR_ENOTIMPL) {
- CuNotImpl(tc, "apr_time_exp_get");
- }
- CuAssertTrue(tc, rv == APR_SUCCESS);
- hr_off_64 = (apr_int64_t) xt.tm_gmtoff * APR_USEC_PER_SEC;
- CuAssertTrue(tc, now + hr_off_64 == imp);
-}
-
-static void test_imp_gmt(CuTest *tc)
-{
- apr_status_t rv;
- apr_time_exp_t xt;
- apr_time_t imp;
-
- rv = apr_time_exp_gmt(&xt, now);
- CuAssertTrue(tc, rv == APR_SUCCESS);
- rv = apr_time_exp_gmt_get(&imp, &xt);
- if (rv == APR_ENOTIMPL) {
- CuNotImpl(tc, "apr_time_exp_gmt_get");
- }
- CuAssertTrue(tc, rv == APR_SUCCESS);
- CuAssertTrue(tc, now == imp);
-}
-
-static void test_rfcstr(CuTest *tc)
-{
- apr_status_t rv;
- char str[STR_SIZE];
-
- rv = apr_rfc822_date(str, now);
- if (rv == APR_ENOTIMPL) {
- CuNotImpl(tc, "apr_rfc822_date");
- }
- CuAssertTrue(tc, rv == APR_SUCCESS);
- CuAssertStrEquals(tc, "Sat, 14 Sep 2002 19:05:36 GMT", str);
-}
-
-static void test_ctime(CuTest *tc)
-{
- apr_status_t rv;
- char apr_str[STR_SIZE];
- char libc_str[STR_SIZE];
- time_t posix_sec = (time_t)apr_time_sec(now);
-
- rv = apr_ctime(apr_str, now);
- if (rv == APR_ENOTIMPL) {
- CuNotImpl(tc, "apr_ctime");
- }
- CuAssertTrue(tc, rv == APR_SUCCESS);
- strcpy(libc_str, ctime(&posix_sec));
- *strchr(libc_str, '\n') = '\0';
-
- CuAssertStrEquals(tc, libc_str, apr_str);
-}
-
-static void test_strftime(CuTest *tc)
-{
- apr_status_t rv;
- apr_time_exp_t xt;
- char *str = NULL;
- apr_size_t sz;
-
- rv = apr_time_exp_gmt(&xt, now);
- str = apr_palloc(p, STR_SIZE + 1);
- rv = apr_strftime(str, &sz, STR_SIZE, "%R %A %d %B %Y", &xt);
- if (rv == APR_ENOTIMPL) {
- CuNotImpl(tc, "apr_strftime");
- }
- CuAssertTrue(tc, rv == APR_SUCCESS);
- CuAssertStrEquals(tc, "19:05 Saturday 14 September 2002", str);
-}
-
-static void test_strftimesmall(CuTest *tc)
-{
- apr_status_t rv;
- apr_time_exp_t xt;
- char str[STR_SIZE];
- apr_size_t sz;
-
- rv = apr_time_exp_gmt(&xt, now);
- rv = apr_strftime(str, &sz, STR_SIZE, "%T", &xt);
- if (rv == APR_ENOTIMPL) {
- CuNotImpl(tc, "apr_strftime");
- }
- CuAssertTrue(tc, rv == APR_SUCCESS);
- CuAssertStrEquals(tc, "19:05:36", str);
-}
-
-static void test_exp_tz(CuTest *tc)
-{
- apr_status_t rv;
- apr_time_exp_t xt;
- apr_int32_t hr_off = -5 * 3600; /* 5 hours in seconds */
-
- rv = apr_time_exp_tz(&xt, now, hr_off);
- if (rv == APR_ENOTIMPL) {
- CuNotImpl(tc, "apr_time_exp_tz");
- }
- CuAssertTrue(tc, rv == APR_SUCCESS);
- CuAssertTrue(tc, (xt.tm_usec == 186711) &&
- (xt.tm_sec == 36) &&
- (xt.tm_min == 5) &&
- (xt.tm_hour == 14) &&
- (xt.tm_mday == 14) &&
- (xt.tm_mon == 8) &&
- (xt.tm_year == 102) &&
- (xt.tm_wday == 6) &&
- (xt.tm_yday == 256));
-}
-
-static void test_strftimeoffset(CuTest *tc)
-{
- apr_status_t rv;
- apr_time_exp_t xt;
- char str[STR_SIZE];
- apr_size_t sz;
- apr_int32_t hr_off = -5 * 3600; /* 5 hours in seconds */
-
- apr_time_exp_tz(&xt, now, hr_off);
- rv = apr_strftime(str, &sz, STR_SIZE, "%T", &xt);
- if (rv == APR_ENOTIMPL) {
- CuNotImpl(tc, "apr_strftime");
- }
- CuAssertTrue(tc, rv == APR_SUCCESS);
-}
-
-/* 0.9.4 and earlier rejected valid dates in 2038 */
-static void test_2038(CuTest *tc)
-{
- apr_time_exp_t xt;
- apr_time_t t;
-
- /* 2038-01-19T03:14:07.000000Z */
- xt.tm_year = 138;
- xt.tm_mon = 0;
- xt.tm_mday = 19;
- xt.tm_hour = 3;
- xt.tm_min = 14;
- xt.tm_sec = 7;
-
- apr_assert_success(tc, "explode January 19th, 2038",
- apr_time_exp_get(&t, &xt));
-}
-
-CuSuite *testtime(void)
-{
- CuSuite *suite = CuSuiteNew("Time");
-
- SUITE_ADD_TEST(suite, test_now);
- SUITE_ADD_TEST(suite, test_gmtstr);
- SUITE_ADD_TEST(suite, test_exp_lt);
- SUITE_ADD_TEST(suite, test_exp_get_gmt);
- SUITE_ADD_TEST(suite, test_exp_get_lt);
- SUITE_ADD_TEST(suite, test_imp_gmt);
- SUITE_ADD_TEST(suite, test_rfcstr);
- SUITE_ADD_TEST(suite, test_ctime);
- SUITE_ADD_TEST(suite, test_strftime);
- SUITE_ADD_TEST(suite, test_strftimesmall);
- SUITE_ADD_TEST(suite, test_exp_tz);
- SUITE_ADD_TEST(suite, test_strftimeoffset);
- SUITE_ADD_TEST(suite, test_2038);
-
- return suite;
-}
-
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/testud.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/testud.c
deleted file mode 100644
index 3b62cb5d..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/testud.c
+++ /dev/null
@@ -1,91 +0,0 @@
-/* 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 "apr_file_io.h"
-#include "apr_errno.h"
-#include "apr_general.h"
-#include "apr_lib.h"
-#include "apr_strings.h"
-#include "test_apr.h"
-
-static apr_pool_t *pool;
-static char *testdata;
-static int cleanup_called = 0;
-
-static apr_status_t string_cleanup(void *data)
-{
- cleanup_called = 1;
- return APR_SUCCESS;
-}
-
-static void set_userdata(CuTest *tc)
-{
- apr_status_t rv;
-
- rv = apr_pool_userdata_set(testdata, "TEST", string_cleanup, pool);
- CuAssertIntEquals(tc, rv, APR_SUCCESS);
-}
-
-static void get_userdata(CuTest *tc)
-{
- apr_status_t rv;
- char *retdata;
-
- rv = apr_pool_userdata_get((void **)&retdata, "TEST", pool);
- CuAssertIntEquals(tc, rv, APR_SUCCESS);
- CuAssertStrEquals(tc, retdata, testdata);
-}
-
-static void get_nonexistkey(CuTest *tc)
-{
- apr_status_t rv;
- char *retdata;
-
- rv = apr_pool_userdata_get((void **)&retdata, "DOESNTEXIST", pool);
- CuAssertIntEquals(tc, rv, APR_SUCCESS);
- CuAssertPtrEquals(tc, retdata, NULL);
-}
-
-static void post_pool_clear(CuTest *tc)
-{
- apr_status_t rv;
- char *retdata;
-
- rv = apr_pool_userdata_get((void **)&retdata, "DOESNTEXIST", pool);
- CuAssertIntEquals(tc, rv, APR_SUCCESS);
- CuAssertPtrEquals(tc, retdata, NULL);
-}
-
-CuSuite *testud(void)
-{
- CuSuite *suite = CuSuiteNew("User Data");
-
- apr_pool_create(&pool, p);
- testdata = apr_pstrdup(pool, "This is a test\n");
-
- SUITE_ADD_TEST(suite, set_userdata);
- SUITE_ADD_TEST(suite, get_userdata);
- SUITE_ADD_TEST(suite, get_nonexistkey);
-
- apr_pool_clear(pool);
-
- SUITE_ADD_TEST(suite, post_pool_clear);
-
- return suite;
-}
-
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/testuser.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/testuser.c
deleted file mode 100644
index 6cfeb61d..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/testuser.c
+++ /dev/null
@@ -1,171 +0,0 @@
-/* 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 "test_apr.h"
-#include "apr_errno.h"
-#include "apr_general.h"
-#include "apr_user.h"
-
-#if APR_HAS_USER
-static void uid_current(CuTest *tc)
-{
- apr_uid_t uid;
- apr_gid_t gid;
- apr_status_t rv;
-
- rv = apr_uid_current(&uid, &gid, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-}
-
-static void username(CuTest *tc)
-{
- apr_uid_t uid;
- apr_gid_t gid;
- apr_uid_t retreived_uid;
- apr_gid_t retreived_gid;
- apr_status_t rv;
- char *uname = NULL;
-
- rv = apr_uid_current(&uid, &gid, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_uid_name_get(&uname, uid, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertPtrNotNull(tc, uname);
-
- rv = apr_uid_get(&retreived_uid, &retreived_gid, uname, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- CuAssertIntEquals(tc, APR_SUCCESS, apr_uid_compare(uid, retreived_uid));
-#ifdef WIN32
- /* ### this fudge was added for Win32 but makes the test return NotImpl
- * on Unix if run as root, when !gid is also true. */
- if (!gid || !retreived_gid) {
- /* The function had no way to recover the gid (this would have been
- * an ENOTIMPL if apr_uid_ functions didn't try to double-up and
- * also return apr_gid_t values, which was bogus.
- */
- if (!gid) {
- CuNotImpl(tc, "Groups from apr_uid_current");
- }
- else {
- CuNotImpl(tc, "Groups from apr_uid_get");
- }
- }
- else {
-#endif
- CuAssertIntEquals(tc, APR_SUCCESS, apr_gid_compare(gid, retreived_gid));
-#ifdef WIN32
- }
-#endif
-}
-
-static void groupname(CuTest *tc)
-{
- apr_uid_t uid;
- apr_gid_t gid;
- apr_gid_t retreived_gid;
- apr_status_t rv;
- char *gname = NULL;
-
- rv = apr_uid_current(&uid, &gid, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- rv = apr_gid_name_get(&gname, gid, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
- CuAssertPtrNotNull(tc, gname);
-
- rv = apr_gid_get(&retreived_gid, gname, p);
- CuAssertIntEquals(tc, APR_SUCCESS, rv);
-
- CuAssertIntEquals(tc, APR_SUCCESS, apr_gid_compare(gid, retreived_gid));
-}
-
-#ifndef WIN32
-
-static void fail_userinfo(CuTest *tc)
-{
- apr_uid_t uid;
- apr_gid_t gid;
- apr_status_t rv;
- char *tmp;
-
- errno = 0;
- gid = uid = 9999999;
- tmp = NULL;
- rv = apr_uid_name_get(&tmp, uid, p);
- CuAssert(tc, "apr_uid_name_get should fail or "
- "return a user name",
- rv != APR_SUCCESS || tmp != NULL);
-
- errno = 0;
- tmp = NULL;
- rv = apr_gid_name_get(&tmp, gid, p);
- CuAssert(tc, "apr_gid_name_get should fail or "
- "return a group name",
- rv != APR_SUCCESS || tmp != NULL);
-
- gid = 424242;
- errno = 0;
- rv = apr_gid_get(&gid, "I_AM_NOT_A_GROUP", p);
- CuAssert(tc, "apr_gid_get should fail or "
- "set a group number",
- rv != APR_SUCCESS || gid == 424242);
-
- gid = uid = 424242;
- errno = 0;
- rv = apr_uid_get(&uid, &gid, "I_AM_NOT_A_USER", p);
- CuAssert(tc, "apr_gid_get should fail or "
- "set a user and group number",
- rv != APR_SUCCESS || uid == 424242 || gid == 4242442);
-
- errno = 0;
- tmp = NULL;
- rv = apr_uid_homepath_get(&tmp, "I_AM_NOT_A_USER", p);
- CuAssert(tc, "apr_uid_homepath_get should fail or "
- "set a path name",
- rv != APR_SUCCESS || tmp != NULL);
-}
-
-#else
-static void fail_userinfo(CuTest *tc)
-{
- CuNotImpl(tc, "Intregal uid/gid not present on this platform");
-}
-#endif
-
-#else
-static void users_not_impl(CuTest *tc)
-{
- CuNotImpl(tc, "Users not implemented on this platform");
-}
-#endif
-
-CuSuite *testuser(void)
-{
- CuSuite *suite = CuSuiteNew("Users");
-
-#if !APR_HAS_USER
- SUITE_ADD_TEST(suite, users_not_impl);
-#else
- SUITE_ADD_TEST(suite, uid_current);
- SUITE_ADD_TEST(suite, username);
- SUITE_ADD_TEST(suite, groupname);
- SUITE_ADD_TEST(suite, fail_userinfo);
-#endif
-
- return suite;
-}
diff --git a/rubbos/app/httpd-2.0.64/srclib/apr/test/testvsn.c b/rubbos/app/httpd-2.0.64/srclib/apr/test/testvsn.c
deleted file mode 100644
index f04f1587..00000000
--- a/rubbos/app/httpd-2.0.64/srclib/apr/test/testvsn.c
+++ /dev/null
@@ -1,49 +0,0 @@
-/* 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 "test_apr.h"
-#include "apr_version.h"
-#include "apr_general.h"
-
-
-static void test_strings(CuTest *tc)
-{
- CuAssertStrEquals(tc, APR_VERSION_STRING, apr_version_string());
-}
-
-static void test_ints(CuTest *tc)
-{
- apr_version_t vsn;
-
- apr_version(&vsn);
-
- CuAssertIntEquals(tc, APR_MAJOR_VERSION, vsn.major);
- CuAssertIntEquals(tc, APR_MINOR_VERSION, vsn.minor);
- CuAssertIntEquals(tc, APR_PATCH_VERSION, vsn.patch);
-}
-
-CuSuite *testvsn(void)
-{
- CuSuite *suite = CuSuiteNew("Versioning");
-
- SUITE_ADD_TEST(suite, test_strings);
- SUITE_ADD_TEST(suite, test_ints);
-
- return suite;
-}
-