phdMesh  Version of the Day
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Groups
TestDriver.hpp
1 /*------------------------------------------------------------------------*/
2 /* phdMesh : Parallel Heterogneous Dynamic unstructured Mesh */
3 /* Copyright (2007) Sandia Corporation */
4 /* */
5 /* Under terms of Contract DE-AC04-94AL85000, there is a non-exclusive */
6 /* license for use of this work by or on behalf of the U.S. Government. */
7 /* */
8 /* This library is free software; you can redistribute it and/or modify */
9 /* it under the terms of the GNU Lesser General Public License as */
10 /* published by the Free Software Foundation; either version 2.1 of the */
11 /* License, or (at your option) any later version. */
12 /* */
13 /* This library is distributed in the hope that it will be useful, */
14 /* but WITHOUT ANY WARRANTY; without even the implied warranty of */
15 /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU */
16 /* Lesser General Public License for more details. */
17 /* */
18 /* You should have received a copy of the GNU Lesser General Public */
19 /* License along with this library; if not, write to the Free Software */
20 /* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 */
21 /* USA */
22 /*------------------------------------------------------------------------*/
27 #ifndef main_TestDriver_hpp
28 #define main_TestDriver_hpp
29 
30 #include <map>
31 #include <string>
32 #include <iosfwd>
33 
34 #include <util/Parallel.hpp>
35 
36 namespace phdmesh {
37 
38 typedef
39 void (*TestSubprogram)( ParallelMachine , std::istream & );
40 
41 typedef std::map< std::string , TestSubprogram > TestDriverMap ;
42 
43 int test_driver( ParallelMachine , std::istream & , const TestDriverMap & );
44 int test_driver( ParallelMachine , const TestDriverMap & ,
45  int argc , const char * const * argv );
46 
47 }
48 
49 #endif
50