Generic hardware access library
/home/cschwick/hal/generic/classtester/src/common/Tester.cc
Go to the documentation of this file.
00001 #include "ExceptionTester.hh"
00002 #include "VMEAddressTableTester.hh"
00003 #include "VME64xAddressTableASCIIReaderTester.hh"
00004 #include "XMLAddressTableTester.hh"
00005 #include "PollItemCommandTester.hh"
00006 #include "TestMaster.hh"
00007 #include "VMEConfigurationSpaceHandlerTester.hh"
00008 #include "VMEConfigurationSpaceAddressReaderTester.hh"
00009 #include "VME64xMappedWindowTesterStandard.hh"
00010 #include "VME64xFunctionTesterStandard.hh"
00011 #include "VME64xCrateTester.hh"
00012 #include "VME64xDeviceTester.hh"
00013 #include "VME64xDummyBusAdapterTester.hh"
00014 #include "VME64xMixedCrateTester.hh"
00015 #include "ASCIIFileAddressTableContainerTester.hh"
00016 
00017 #define MODULE_MAP_FILE "ModuleMapperFile.dat"
00018 #define ADDRESSTABLE_CONTAINER_FILE "AddressTableMap.dat"
00019 #define MIXED_ADDRESSTABLE_CONTAINER_FILE "MixedAddressTableMap.dat"
00020 #define CONFIGSPACE_MAP "configSpace.dat"
00021 #define ONE_MODULE_CONFIGSPACE_MAP "oneModuleConfigSpace.dat"
00022 #define STATIC_CONFIGURATION_FILE "StaticConfiguration.dat"
00023 
00024 int main() {
00025 
00026   try {
00027     HAL::TestMaster tester;
00028     
00029     HAL::ExceptionTester exceptionTester;
00030     tester.registerTester( exceptionTester );
00031 
00032     HAL::VMEAddressTableTester vmeAddressTableTester;
00033     tester.registerTester( vmeAddressTableTester );
00034  
00035     HAL::VME64xAddressTableASCIIReaderTester vme64xAddressTableASCIIReaderTester;
00036     tester.registerTester( vme64xAddressTableASCIIReaderTester );
00037     
00038     HAL::XMLAddressTableTester xmlAddressTableTester;
00039     tester.registerTester( xmlAddressTableTester );
00040     
00041     HAL::ASCIIFileAddressTableContainerTester asciiFileAddressTableContainerTester( MODULE_MAP_FILE, 
00042                                                                                MIXED_ADDRESSTABLE_CONTAINER_FILE);
00043     tester.registerTester( asciiFileAddressTableContainerTester );
00044     
00045     HAL::PollItemCommandTester pollItemCommandTester;
00046     tester.registerTester( pollItemCommandTester );
00047     
00048     HAL::VME64xMappedWindowTesterStandard vme64xMappedWindowTesterStandard;
00049     tester.registerTester( vme64xMappedWindowTesterStandard );
00050     
00051     HAL::VME64xFunctionTesterStandard vme64xFunctionTesterStandard;
00052     tester.registerTester( vme64xFunctionTesterStandard );
00053     
00054     HAL::VMEConfigurationSpaceHandlerTester vmeConfigurationSpaceHandlerTester;
00055     tester.registerTester( vmeConfigurationSpaceHandlerTester );
00056     
00057     HAL::VMEConfigurationSpaceAddressReaderTester vmeConfigurationSpaceAddressReaderTester;
00058     tester.registerTester( vmeConfigurationSpaceAddressReaderTester );
00059     
00060     HAL::VME64xCrateTester vme64xCrateTester(CONFIGSPACE_MAP, 
00061                                              MODULE_MAP_FILE, 
00062                                              ADDRESSTABLE_CONTAINER_FILE);
00063     
00064     tester.registerTester( vme64xCrateTester );
00065     
00066     HAL::VME64xMixedCrateTester vme64xMixedCrateTester(CONFIGSPACE_MAP, 
00067                                                   MODULE_MAP_FILE, 
00068                                                   ADDRESSTABLE_CONTAINER_FILE, 
00069                                                   STATIC_CONFIGURATION_FILE);
00070     tester.registerTester( vme64xMixedCrateTester );
00071     
00072     HAL::VME64xDummyBusAdapterTester vme64xDummyBusAdapterTester(ONE_MODULE_CONFIGSPACE_MAP, 
00073                                                             MODULE_MAP_FILE, 
00074                                                             MIXED_ADDRESSTABLE_CONTAINER_FILE);
00075     tester.registerTester( vme64xDummyBusAdapterTester );
00076     
00077     HAL::VME64xDeviceTester  vme64xDeviceTester( CONFIGSPACE_MAP, 
00078                                                  MODULE_MAP_FILE, 
00079                                                  ADDRESSTABLE_CONTAINER_FILE);
00080     tester.registerTester( vme64xDeviceTester );
00081 
00082     tester.doTest();
00083     cout << "\n\n\nLong test report:\n";
00084     tester.printLongReport();
00085     cout << "\n\n\nShort test report:\n";
00086     tester.printShortReport();
00087     cout << "\n\n" << endl;
00088   } catch (HAL::HardwareAccessException& e) {
00089     cout << "UNEXPECTED Exeption : " << endl;
00090     cout << e.what() << endl;
00091   }
00092 }