summaryrefslogtreecommitdiff
path: root/libxerces-c/tests/net-accessor/NetAccessorTest.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libxerces-c/tests/net-accessor/NetAccessorTest.cpp')
l---------[-rw-r--r--]libxerces-c/tests/net-accessor/NetAccessorTest.cpp168
1 files changed, 1 insertions, 167 deletions
diff --git a/libxerces-c/tests/net-accessor/NetAccessorTest.cpp b/libxerces-c/tests/net-accessor/NetAccessorTest.cpp
index c2affbd..d5c0609 100644..120000
--- a/libxerces-c/tests/net-accessor/NetAccessorTest.cpp
+++ b/libxerces-c/tests/net-accessor/NetAccessorTest.cpp
@@ -1,167 +1 @@
-/*
- * 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.
- */
-
-/*
- * $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>
-
-#if defined(XERCES_NEW_IOSTREAMS)
-#include <iostream>
-#else
-#include <iostream.h>
-#endif
-
-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];
-
- int r = 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;
- r = 0;
- }
- catch(const XMLException& toCatch)
- {
- XERCES_STD_QUALIFIER cerr << "Exception during test:\n "
- << toCatch.getMessage()
- << XERCES_STD_QUALIFIER endl;
- }
-
- // And call the termination method
- XMLPlatformUtils::Terminate();
-
- return r;
-}
-
+../../../upstream/tests/src/NetAccessorTest/NetAccessorTest.cpp \ No newline at end of file