HEPnOSTestMain.cpp 985 Bytes
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
#include <cppunit/CompilerOutputter.h>
#include <cppunit/XmlOutputter.h>
#include <cppunit/extensions/TestFactoryRegistry.h>
#include <cppunit/ui/text/TestRunner.h>
#include <hepnos.hpp>

hepnos::DataStore* datastore;

int main(int argc, char* argv[])
{
    if(argc != 2) return 1;

    // Create the datastore
    datastore = new hepnos::DataStore(argv[1]);

    // Get the top level suite from the registry
    CppUnit::Test *suite = CppUnit::TestFactoryRegistry::getRegistry().makeTest();

    // Adds the test to the list of test to run
    CppUnit::TextUi::TestRunner runner;
    runner.addTest( suite );

    // Change the default outputter to a compiler error format outputter
    runner.setOutputter( new CppUnit::XmlOutputter( &runner.result(),
                std::cerr ) );
    // Run the tests.
    bool wasSucessful = runner.run();

    datastore->shutdown();
    delete datastore;

    // Return error code 1 if the one of test failed.
    return wasSucessful ? 0 : 1;
}