Author: jberry
Date: Tue May 31 19:55:48 2005
New Revision: 179340

URL: http://svn.apache.org/viewcvs?rev=179340&view=rev
Log:
Add new test NetAccessorTest

Added:
    xerces/c/branches/jberry/3.0-unstable/tests/src/NetAccessorTest/   (with 
props)
    
xerces/c/branches/jberry/3.0-unstable/tests/src/NetAccessorTest/NetAccessorTest.cpp
   (with props)
Modified:
    xerces/c/branches/jberry/3.0-unstable/tests/   (props changed)
    xerces/c/branches/jberry/3.0-unstable/tests/Makefile.am
    xerces/c/branches/jberry/3.0-unstable/tests/Makefile.in

Propchange: xerces/c/branches/jberry/3.0-unstable/tests/
------------------------------------------------------------------------------
--- svn:ignore (original)
+++ svn:ignore Tue May 31 19:55:48 2005
@@ -5,6 +5,7 @@
 Normalizer
 EncodingTest
 InitTermTest
+NetAccessorTest
 RangeTest
 TypeInfo
 Traversal

Modified: xerces/c/branches/jberry/3.0-unstable/tests/Makefile.am
URL: 
http://svn.apache.org/viewcvs/xerces/c/branches/jberry/3.0-unstable/tests/Makefile.am?rev=179340&r1=179339&r2=179340&view=diff
==============================================================================
--- xerces/c/branches/jberry/3.0-unstable/tests/Makefile.am (original)
+++ xerces/c/branches/jberry/3.0-unstable/tests/Makefile.am Tue May 31 19:55:48 
2005
@@ -72,6 +72,9 @@
 #                                                                      
src/MemHandlerTest/SimpleHashPtr.hpp \
 #                                                                      
src/MemHandlerTest/SimpleValueHashTableOf.hpp
 
+testprogs +=                                           NetAccessorTest
+NetAccessorTest_SOURCES =                      
src/NetAccessorTest/NetAccessorTest.cpp
+
 # Doesn't compile under gcc4 for some reason
 # dcargill says this is obsolete and we can delete it.
 #testprogs +=                                          ParserTest

Modified: xerces/c/branches/jberry/3.0-unstable/tests/Makefile.in
URL: 
http://svn.apache.org/viewcvs/xerces/c/branches/jberry/3.0-unstable/tests/Makefile.in?rev=179340&r1=179339&r2=179340&view=diff
==============================================================================
--- xerces/c/branches/jberry/3.0-unstable/tests/Makefile.in (original)
+++ xerces/c/branches/jberry/3.0-unstable/tests/Makefile.in Tue May 31 19:55:48 
2005
@@ -33,7 +33,7 @@
 #
 # $Id$
 #
-SOURCES = $(DOMMemTest_SOURCES) $(DOMTest_SOURCES) $(EncodingTest_SOURCES) 
$(InitTermTest_SOURCES) $(Normalizer_SOURCES) $(RangeTest_SOURCES) 
$(Traversal_SOURCES) $(TypeInfo_SOURCES) $(XSValueTest_SOURCES) 
$(XSerializerTest_SOURCES)
+SOURCES = $(DOMMemTest_SOURCES) $(DOMTest_SOURCES) $(EncodingTest_SOURCES) 
$(InitTermTest_SOURCES) $(NetAccessorTest_SOURCES) $(Normalizer_SOURCES) 
$(RangeTest_SOURCES) $(Traversal_SOURCES) $(TypeInfo_SOURCES) 
$(XSValueTest_SOURCES) $(XSerializerTest_SOURCES)
 
 srcdir = @srcdir@
 top_srcdir = @top_srcdir@
@@ -91,7 +91,8 @@
 am__EXEEXT_1 = DOMTest$(EXEEXT) DOMMemTest$(EXEEXT) \
        Normalizer$(EXEEXT) RangeTest$(EXEEXT) Traversal$(EXEEXT) \
        TypeInfo$(EXEEXT) EncodingTest$(EXEEXT) InitTermTest$(EXEEXT) \
-       XSerializerTest$(EXEEXT) XSValueTest$(EXEEXT)
+       NetAccessorTest$(EXEEXT) XSerializerTest$(EXEEXT) \
+       XSValueTest$(EXEEXT)
 am__dirstamp = $(am__leading_dot)dirstamp
 am_DOMMemTest_OBJECTS = src/DOM/DOMMemTest/DOMMemTest.$(OBJEXT)
 DOMMemTest_OBJECTS = $(am_DOMMemTest_OBJECTS)
@@ -109,6 +110,11 @@
 InitTermTest_OBJECTS = $(am_InitTermTest_OBJECTS)
 InitTermTest_LDADD = $(LDADD)
 InitTermTest_DEPENDENCIES = ../obj/libxerces.la
+am_NetAccessorTest_OBJECTS =  \
+       src/NetAccessorTest/NetAccessorTest.$(OBJEXT)
+NetAccessorTest_OBJECTS = $(am_NetAccessorTest_OBJECTS)
+NetAccessorTest_LDADD = $(LDADD)
+NetAccessorTest_DEPENDENCIES = ../obj/libxerces.la
 am_Normalizer_OBJECTS = src/DOM/Normalizer/Normalizer.$(OBJEXT)
 Normalizer_OBJECTS = $(am_Normalizer_OBJECTS)
 Normalizer_LDADD = $(LDADD)
@@ -151,13 +157,13 @@
        $(AM_LDFLAGS) $(LDFLAGS) -o $@
 SOURCES = $(DOMMemTest_SOURCES) $(DOMTest_SOURCES) \
        $(EncodingTest_SOURCES) $(InitTermTest_SOURCES) \
-       $(Normalizer_SOURCES) $(RangeTest_SOURCES) \
-       $(Traversal_SOURCES) $(TypeInfo_SOURCES) \
+       $(NetAccessorTest_SOURCES) $(Normalizer_SOURCES) \
+       $(RangeTest_SOURCES) $(Traversal_SOURCES) $(TypeInfo_SOURCES) \
        $(XSValueTest_SOURCES) $(XSerializerTest_SOURCES)
 DIST_SOURCES = $(DOMMemTest_SOURCES) $(DOMTest_SOURCES) \
        $(EncodingTest_SOURCES) $(InitTermTest_SOURCES) \
-       $(Normalizer_SOURCES) $(RangeTest_SOURCES) \
-       $(Traversal_SOURCES) $(TypeInfo_SOURCES) \
+       $(NetAccessorTest_SOURCES) $(Normalizer_SOURCES) \
+       $(RangeTest_SOURCES) $(Traversal_SOURCES) $(TypeInfo_SOURCES) \
        $(XSValueTest_SOURCES) $(XSerializerTest_SOURCES)
 ETAGS = etags
 CTAGS = ctags
@@ -343,7 +349,8 @@
 
 # Fails to compile under gcc4 (values too long for long type)
 testprogs = DOMTest DOMMemTest Normalizer RangeTest Traversal TypeInfo \
-       EncodingTest InitTermTest XSerializerTest XSValueTest
+       EncodingTest InitTermTest NetAccessorTest XSerializerTest \
+       XSValueTest
 DOMTest_SOURCES = src/DOM/DOMTest/DTest.cpp \
                                                                        
src/DOM/DOMTest/DTest.h
 
@@ -372,6 +379,7 @@
 InitTermTest_SOURCES = src/InitTermTest/InitTermTest.cpp \
                                                                        
src/InitTermTest/InitTermTest.hpp
 
+NetAccessorTest_SOURCES = src/NetAccessorTest/NetAccessorTest.cpp
 XSerializerTest_SOURCES = src/XSerializerTest/XSerializerHandlers.cpp \
                                                                        
src/XSerializerTest/XSerializerHandlers.hpp \
                                                                        
src/XSerializerTest/XSerializerTest.cpp \
@@ -478,6 +486,18 @@
 InitTermTest$(EXEEXT): $(InitTermTest_OBJECTS) $(InitTermTest_DEPENDENCIES) 
        @rm -f InitTermTest$(EXEEXT)
        $(CXXLINK) $(InitTermTest_LDFLAGS) $(InitTermTest_OBJECTS) 
$(InitTermTest_LDADD) $(LIBS)
+src/NetAccessorTest/$(am__dirstamp):
+       @$(mkdir_p) src/NetAccessorTest
+       @: > src/NetAccessorTest/$(am__dirstamp)
+src/NetAccessorTest/$(DEPDIR)/$(am__dirstamp):
+       @$(mkdir_p) src/NetAccessorTest/$(DEPDIR)
+       @: > src/NetAccessorTest/$(DEPDIR)/$(am__dirstamp)
+src/NetAccessorTest/NetAccessorTest.$(OBJEXT):  \
+       src/NetAccessorTest/$(am__dirstamp) \
+       src/NetAccessorTest/$(DEPDIR)/$(am__dirstamp)
+NetAccessorTest$(EXEEXT): $(NetAccessorTest_OBJECTS) 
$(NetAccessorTest_DEPENDENCIES) 
+       @rm -f NetAccessorTest$(EXEEXT)
+       $(CXXLINK) $(NetAccessorTest_LDFLAGS) $(NetAccessorTest_OBJECTS) 
$(NetAccessorTest_LDADD) $(LIBS)
 src/DOM/Normalizer/$(am__dirstamp):
        @$(mkdir_p) src/DOM/Normalizer
        @: > src/DOM/Normalizer/$(am__dirstamp)
@@ -563,6 +583,7 @@
        -rm -f src/DOM/TypeInfo/TypeInfo.$(OBJEXT)
        -rm -f src/EncodingTest/EncodingTest.$(OBJEXT)
        -rm -f src/InitTermTest/InitTermTest.$(OBJEXT)
+       -rm -f src/NetAccessorTest/NetAccessorTest.$(OBJEXT)
        -rm -f src/XSValueTest/XSValueTest.$(OBJEXT)
        -rm -f src/XSerializerTest/XSerializerHandlers.$(OBJEXT)
        -rm -f src/XSerializerTest/XSerializerTest.$(OBJEXT)
@@ -578,6 +599,7 @@
 @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/DOM/TypeInfo/$(DEPDIR)/[EMAIL 
PROTECTED]@
 @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/EncodingTest/$(DEPDIR)/[EMAIL 
PROTECTED]@
 @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/InitTermTest/$(DEPDIR)/[EMAIL 
PROTECTED]@
[EMAIL PROTECTED]@@am__include@ @[EMAIL 
PROTECTED]/NetAccessorTest/$(DEPDIR)/[EMAIL PROTECTED]@
 @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/XSValueTest/$(DEPDIR)/[EMAIL 
PROTECTED]@
 @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/XSerializerTest/$(DEPDIR)/[EMAIL 
PROTECTED]@
 @AMDEP_TRUE@@am__include@ @[EMAIL PROTECTED]/XSerializerTest/$(DEPDIR)/[EMAIL 
PROTECTED]@
@@ -732,6 +754,8 @@
        -rm -f src/EncodingTest/$(am__dirstamp)
        -rm -f src/InitTermTest/$(DEPDIR)/$(am__dirstamp)
        -rm -f src/InitTermTest/$(am__dirstamp)
+       -rm -f src/NetAccessorTest/$(DEPDIR)/$(am__dirstamp)
+       -rm -f src/NetAccessorTest/$(am__dirstamp)
        -rm -f src/XSValueTest/$(DEPDIR)/$(am__dirstamp)
        -rm -f src/XSValueTest/$(am__dirstamp)
        -rm -f src/XSerializerTest/$(DEPDIR)/$(am__dirstamp)
@@ -746,7 +770,7 @@
        mostlyclean-am
 
 distclean: distclean-am
-       -rm -rf src/DOM/DOMMemTest/$(DEPDIR) src/DOM/DOMTest/$(DEPDIR) 
src/DOM/Normalizer/$(DEPDIR) src/DOM/RangeTest/$(DEPDIR) 
src/DOM/Traversal/$(DEPDIR) src/DOM/TypeInfo/$(DEPDIR) 
src/EncodingTest/$(DEPDIR) src/InitTermTest/$(DEPDIR) src/XSValueTest/$(DEPDIR) 
src/XSerializerTest/$(DEPDIR)
+       -rm -rf src/DOM/DOMMemTest/$(DEPDIR) src/DOM/DOMTest/$(DEPDIR) 
src/DOM/Normalizer/$(DEPDIR) src/DOM/RangeTest/$(DEPDIR) 
src/DOM/Traversal/$(DEPDIR) src/DOM/TypeInfo/$(DEPDIR) 
src/EncodingTest/$(DEPDIR) src/InitTermTest/$(DEPDIR) 
src/NetAccessorTest/$(DEPDIR) src/XSValueTest/$(DEPDIR) 
src/XSerializerTest/$(DEPDIR)
        -rm -f Makefile
 distclean-am: clean-am distclean-compile distclean-generic \
        distclean-libtool distclean-tags
@@ -772,7 +796,7 @@
 installcheck-am:
 
 maintainer-clean: maintainer-clean-am
-       -rm -rf src/DOM/DOMMemTest/$(DEPDIR) src/DOM/DOMTest/$(DEPDIR) 
src/DOM/Normalizer/$(DEPDIR) src/DOM/RangeTest/$(DEPDIR) 
src/DOM/Traversal/$(DEPDIR) src/DOM/TypeInfo/$(DEPDIR) 
src/EncodingTest/$(DEPDIR) src/InitTermTest/$(DEPDIR) src/XSValueTest/$(DEPDIR) 
src/XSerializerTest/$(DEPDIR)
+       -rm -rf src/DOM/DOMMemTest/$(DEPDIR) src/DOM/DOMTest/$(DEPDIR) 
src/DOM/Normalizer/$(DEPDIR) src/DOM/RangeTest/$(DEPDIR) 
src/DOM/Traversal/$(DEPDIR) src/DOM/TypeInfo/$(DEPDIR) 
src/EncodingTest/$(DEPDIR) src/InitTermTest/$(DEPDIR) 
src/NetAccessorTest/$(DEPDIR) src/XSValueTest/$(DEPDIR) 
src/XSerializerTest/$(DEPDIR)
        -rm -f Makefile
 maintainer-clean-am: distclean-am maintainer-clean-generic
 

Propchange: xerces/c/branches/jberry/3.0-unstable/tests/src/NetAccessorTest/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Tue May 31 19:55:48 2005
@@ -0,0 +1 @@
+.*

Added: 
xerces/c/branches/jberry/3.0-unstable/tests/src/NetAccessorTest/NetAccessorTest.cpp
URL: 
http://svn.apache.org/viewcvs/xerces/c/branches/jberry/3.0-unstable/tests/src/NetAccessorTest/NetAccessorTest.cpp?rev=179340&view=auto
==============================================================================
--- 
xerces/c/branches/jberry/3.0-unstable/tests/src/NetAccessorTest/NetAccessorTest.cpp
 (added)
+++ 
xerces/c/branches/jberry/3.0-unstable/tests/src/NetAccessorTest/NetAccessorTest.cpp
 Tue May 31 19:55:48 2005
@@ -0,0 +1,160 @@
+/*
+ * Copyright 1999-2000,2004 The Apache Software Foundation.
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ * $Id$
+ *
+ */
+
+
+// ---------------------------------------------------------------------------
+//  Includes
+// ---------------------------------------------------------------------------
+#include    <xercesc/util/PlatformUtils.hpp>
+#include    <xercesc/util/XMLString.hpp>
+#include    <xercesc/util/XMLURL.hpp>
+#include    <xercesc/util/XMLNetAccessor.hpp>
+#include    <xercesc/util/BinInputStream.hpp>
+
+#include       <iostream>
+
+XERCES_CPP_NAMESPACE_USE
+
+
+inline XERCES_STD_QUALIFIER ostream& operator<<(XERCES_STD_QUALIFIER ostream& 
os, const XMLCh* xmlStr)
+{
+       char* transcoded = XMLString::transcode(xmlStr);
+    os << transcoded;
+    XMLString::release(&transcoded);
+    return os;
+}
+
+
+void
+exercise(BinInputStream& stream)
+{
+       static float percents[] = { 1.0, 0.5, 0.25, 0.1, 0.15, 0.113, 0.333, 
0.0015, 0.0013 };
+       int numPercents = sizeof(percents) / sizeof(float);
+       
+       const unsigned int bufferMax = 4096;
+       XMLByte buffer[bufferMax];
+
+       int iteration = 0;
+       unsigned int bytesRead = 0;
+       do {
+               // Calculate a percentage of our maximum buffer size, going 
through
+               // them round-robin
+               float percent = percents[iteration % numPercents];
+               unsigned int bufCnt = (unsigned int)(bufferMax * percent);
+               
+               // Check to make sure we didn't go out of bounds
+               if (bufCnt <= 0)
+                       bufCnt = 1;
+               if (bufCnt > bufferMax)
+                       bufCnt = bufferMax;
+               
+               // Read bytes into our buffer
+               bytesRead = stream.readBytes(buffer, bufCnt);
+               //XERCES_STD_QUALIFIER cerr << "Read " << bytesRead << " bytes 
into a " << bufCnt << " byte buffer\n";
+
+               if (bytesRead > 0)
+               {
+                       // Write the data to standard out
+                       XERCES_STD_QUALIFIER cout.write((char*)buffer, 
bytesRead);
+               }
+               
+               ++iteration;
+       } while (bytesRead > 0);
+}
+
+
+// ---------------------------------------------------------------------------
+//  Program entry point
+// ---------------------------------------------------------------------------
+int
+main(int argc, char** argv)
+{
+    // Init the XML platform
+    try
+    {
+        XMLPlatformUtils::Initialize();
+    }
+
+    catch(const XMLException& toCatch)
+    {
+        XERCES_STD_QUALIFIER cout << "Error during platform init! Message:\n"
+             << toCatch.getMessage() << XERCES_STD_QUALIFIER endl;
+        return 1;
+    }
+    
+    // Look for our one and only parameter
+    if (argc != 2)
+    {
+       XERCES_STD_QUALIFIER cerr << "Usage: NetAccessorTest url\n"
+                       "\n"
+                       "This test reads data from the given url and writes the 
result\n"
+                       "to standard output.\n"
+                       "\n"
+                       "A variety of buffer sizes is are used during the 
test.\n"
+                       "\n"
+                       ;
+       exit(1);
+    }
+    
+    // Get the URL
+    char* url = argv[1];
+    
+    // Do the test
+    try
+    {
+       XMLURL xmlURL(url);
+       
+               // Get the netaccessor
+               XMLNetAccessor* na = XMLPlatformUtils::fgNetAccessor;
+               if (na == 0)
+               {
+                       XERCES_STD_QUALIFIER cerr <<  "No netaccessor is 
available. Aborting.\n";
+                       exit(2);
+               }
+               
+               // Build a binary input stream
+               BinInputStream* is = na->makeNew(xmlURL);
+               if (is == 0)
+               {
+                       XERCES_STD_QUALIFIER cerr <<  "No binary input stream 
created. Aborting.\n";
+                       exit(3);
+               }
+               
+               // Exercise the inputstream
+               exercise(*is);
+               
+               // Delete the is
+               delete is;
+       
+    }
+    catch(const XMLException& toCatch)
+    {
+        XERCES_STD_QUALIFIER cout << "Exception during test:\n    "
+             << toCatch.getMessage()
+             << XERCES_STD_QUALIFIER endl;
+    }
+
+    // And call the termination method
+    XMLPlatformUtils::Terminate();
+
+    return 0;
+}
+

Propchange: 
xerces/c/branches/jberry/3.0-unstable/tests/src/NetAccessorTest/NetAccessorTest.cpp
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: 
xerces/c/branches/jberry/3.0-unstable/tests/src/NetAccessorTest/NetAccessorTest.cpp
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to