You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by jb...@apache.org on 2005/06/01 04:55:48 UTC

svn commit: r179340 - in /xerces/c/branches/jberry/3.0-unstable/tests: ./ Makefile.am Makefile.in src/NetAccessorTest/ src/NetAccessorTest/NetAccessorTest.cpp

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@ @am__quote@src/DOM/TypeInfo/$(DEPDIR)/TypeInfo.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/EncodingTest/$(DEPDIR)/EncodingTest.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/InitTermTest/$(DEPDIR)/InitTermTest.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@src/NetAccessorTest/$(DEPDIR)/NetAccessorTest.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/XSValueTest/$(DEPDIR)/XSValueTest.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/XSerializerTest/$(DEPDIR)/XSerializerHandlers.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@src/XSerializerTest/$(DEPDIR)/XSerializerTest.Po@am__quote@
@@ -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: commits-unsubscribe@xerces.apache.org
For additional commands, e-mail: commits-help@xerces.apache.org