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