[Insight-developers] TestDriver Test

Bill Lorensen wlorens1@nycap.rr.com
Fri, 01 Mar 2002 18:07:15 -0500


So it looks like little improvement except for disk space,

Bill

At 05:14 PM 3/1/02 -0500, William A. Hoffman wrote:
>Hi Folks-
>
>Just to see if the testing process we discussed on the TCON was
>worth doing at all, I went ahead and converted
>just the tests in BasicFilters to my approach.  Here are the results
>for this one directory:
>
>The project load time in .NET went from 15 sec. to 8 sec. (1.2 ghz processor).
>The number of projects went from 240 to 160.
>The binary directory went from 240 megs to 70 megs.
>The TestDriver executable was only 2.8 megs.
>Changing a test and re-linking/compiling showed no noticeable difference in time.
>
>The test driver program looked like this:
>
>#include <map>
>#include <string>
>
>typedef int (*MainFunc)(int , char**);
>
>std::map<std::string, MainFunc> ArgsMap;
>#define REGISTER_TEST(test) \
>extern int test(); \
>ArgsMap[#test] = test;
>
>int main(int ac, char** av)
>{
>  REGISTER_TEST(itkAsinImageFilterAndAdaptorTest );
>  REGISTER_TEST(itkAcosImageFilterAndAdaptorTest );
>  REGISTER_TEST(itkAtanImageFilterAndAdaptorTest );
>....
>
> std::map<std::string, MainFunc>::iterator i = NoArgsMap.find(av[1]);
>  // run the test
>  std::map<std::string, MainFuncArgs>::iterator j = ArgsMap.find(av[1]);
>  if(j != ArgsMap.end())
>    {
>    MainFuncArgs f = j->second;
>    return (*f)(ac-1, av+1);
>    }
>}
>
>
>The CMakeLists.txt file looked like this:
>
>ADD_TEST(itkAsinImageFilterAndAdaptorTest itkBasicFiltersTest itkAsinImageFilterAndAdaptorTest)
>ADD_TEST(itkAcosImageFilterAndAdaptorTest itkBasicFiltersTest itkAcosImageFilterAndAdaptorTest)
>....
># a test with data arguments
>ADD_TEST(itkConfidenceConnectedImageFilterTest itkBasicFiltersTest itkConfidenceConnectedImageFilterTest ${ITK_DATA_ROOT}/Input/cthead1.png ${ITK_DATA_ROOT}/Baseline/BasicFilters/ConfidenceConnectedImageFilterTest.png)
>
>SOURCE_FILES(BasicFilters_SRCS
>itkAsinImageFilterAndAdaptorTest
>itkAcosImageFilterAndAdaptorTest
>...)
>
>
>
>ADD_EXECUTABLE(itkBasicFiltersTest itkBasicFiltersTest.cxx BasicFilters_SRCS)
>
>
>
>_______________________________________________
>Insight-developers mailing list
>Insight-developers@public.kitware.com
>http://public.kitware.com/mailman/listinfo/insight-developers