Files
mrw-cxx/test/dynamiclibrary_test.cxx

55 lines
1.6 KiB
C++
Raw Normal View History

2005-02-18 15:53:56 +00:00
/** @file
$Id$
$Date$
$Author$
@copy © Marc Wäckerlin
@license LGPL, see file <a href="license.html">COPYING</a>
$Log$
Revision 1.1 2005/02/18 15:53:56 marc
initial release
1 2 3 4 5 6 7 8
5678901234567890123456789012345678901234567890123456789012345678901234567890
*/
#include <mrw/dynamiclibrary.hxx>
2005-02-18 15:53:56 +00:00
#include <cppunit/TestFixture.h>
#include <cppunit/ui/text/TestRunner.h>
#include <cppunit/extensions/HelperMacros.h>
#include <cppunit/extensions/TestFactoryRegistry.h>
#include <cppunit/XmlOutputter.h>
#include <fstream>
2005-02-18 15:53:56 +00:00
class DynamicLibraryTest: public CppUnit::TestFixture {
public:
void Load() {
mrw::DynamicLibrary lib("libdynamiclibrary_testlib");
int(*test1)(int) = (int(*)(int))lib.symbol("test1");
CPPUNIT_ASSERT_EQUAL(4, (*test1)(2));
2005-02-18 15:53:56 +00:00
}
void LoadError() {
mrw::DynamicLibrary lib("DASist-Sicher_Keine_DynamischePHIPLIOTEEK!!!");
}
CPPUNIT_TEST_SUITE(DynamicLibraryTest);
CPPUNIT_TEST(Load);
CPPUNIT_TEST_EXCEPTION(LoadError, mrw::DynamicLibrary::failure);
CPPUNIT_TEST_SUITE_END();
};
CPPUNIT_TEST_SUITE_REGISTRATION(DynamicLibraryTest);
int main(int argc, char** argv) try {
std::ofstream ofs((*argv+std::string(".xml")).c_str());
2005-02-18 15:53:56 +00:00
CppUnit::TextUi::TestRunner runner;
runner.setOutputter(new CppUnit::XmlOutputter(&runner.result(), ofs));
2005-02-18 15:53:56 +00:00
runner.addTest(CppUnit::TestFactoryRegistry::getRegistry().makeTest());
return runner.run() ? 0 : 1;
} catch (std::exception& e) {
std::cerr<<"***Exception: "<<e.what()<<std::endl;
return 1;
}