You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ta...@apache.org on 2009/04/22 20:45:54 UTC
svn commit: r767613 - in
/activemq/activemq-cpp/trunk/activemq-cpp/src/test-integration: Makefile.am
main.cpp
Author: tabish
Date: Wed Apr 22 18:45:54 2009
New Revision: 767613
URL: http://svn.apache.org/viewvc?rev=767613&view=rev
Log:
http://issues.apache.org/activemq/browse/AMQCPP-238
Modified:
activemq/activemq-cpp/trunk/activemq-cpp/src/test-integration/Makefile.am
activemq/activemq-cpp/trunk/activemq-cpp/src/test-integration/main.cpp
Modified: activemq/activemq-cpp/trunk/activemq-cpp/src/test-integration/Makefile.am
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/src/test-integration/Makefile.am?rev=767613&r1=767612&r2=767613&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-cpp/src/test-integration/Makefile.am (original)
+++ activemq/activemq-cpp/trunk/activemq-cpp/src/test-integration/Makefile.am Wed Apr 22 18:45:54 2009
@@ -39,6 +39,7 @@
activemq/test/openwire/OpenwireSlowListenerTest.cpp \
activemq/test/openwire/OpenwireJmsMessageGroupsTest.cpp \
TestRegistry.cpp \
+ util/teamcity/TeamCityProgressListener.cpp \
main.cpp
# activemq/test/stomp/StompAsyncSenderTest.cpp \
Modified: activemq/activemq-cpp/trunk/activemq-cpp/src/test-integration/main.cpp
URL: http://svn.apache.org/viewvc/activemq/activemq-cpp/trunk/activemq-cpp/src/test-integration/main.cpp?rev=767613&r1=767612&r2=767613&view=diff
==============================================================================
--- activemq/activemq-cpp/trunk/activemq-cpp/src/test-integration/main.cpp (original)
+++ activemq/activemq-cpp/trunk/activemq-cpp/src/test-integration/main.cpp Wed Apr 22 18:45:54 2009
@@ -17,16 +17,47 @@
#include <cppunit/extensions/TestFactoryRegistry.h>
#include <cppunit/ui/text/TestRunner.h>
+#include <cppunit/TestListener.h>
#include <cppunit/BriefTestProgressListener.h>
+#include <cppunit/Outputter.h>
+#include <cppunit/XmlOutputter.h>
#include <cppunit/TestResult.h>
+#include <util/teamcity/TeamCityProgressListener.h>
#include <activemq/util/Config.h>
#include <activemq/library/ActiveMQCPP.h>
+#include <decaf/lang/Runtime.h>
+#include <decaf/lang/Integer.h>
#include <iostream>
+#include <memory>
int main( int argc AMQCPP_UNUSED, char **argv AMQCPP_UNUSED ) {
activemq::library::ActiveMQCPP::initializeLibrary();
+ bool wasSuccessful = false;
+ std::ofstream outputFile;
+ bool useXMLOutputter = false;
+ std::auto_ptr<CppUnit::TestListener> listener( new CppUnit::BriefTestProgressListener );
+
+ if( argc > 1 ) {
+ for( int i = 1; i < argc; ++i ) {
+ const std::string arg( argv[i] );
+ if( arg == "-teamcity" ) {
+ listener.reset( new test::util::teamcity::TeamCityProgressListener() );
+ } else if( arg == "-quiet" ) {
+ listener.reset( NULL );
+ } else if( arg == "-xml" ) {
+ if( ( i + 1 ) >= argc ) {
+ std::cout << "-xml requires a filename to be specified" << std::endl;
+ return -1;
+ }
+
+ std::ofstream outputFile( argv[++i] );
+ useXMLOutputter = true;
+ }
+ }
+ }
+
try {
CppUnit::TextUi::TestRunner runner;
@@ -34,10 +65,22 @@
runner.addTest( registry.makeTest() );
// Shows a message as each test starts
- CppUnit::BriefTestProgressListener listener;
- runner.eventManager().addListener( &listener );
+ if( listener.get() != NULL ) {
+ runner.eventManager().addListener( listener.get() );
+ }
+
+ // Specify XML output and inform the test runner of this format. The TestRunner
+ // will delete the passed XmlOutputter for us.
+ if( useXMLOutputter ) {
+ runner.setOutputter( new CppUnit::XmlOutputter( &runner.result(), outputFile ) );
+ }
bool wasSuccessful = runner.run( "", false );
+
+ if( useXMLOutputter ) {
+ outputFile.close();
+ }
+
activemq::library::ActiveMQCPP::shutdownLibrary();
return !wasSuccessful;