]> git.stg.codes - stg.git/blobdiff - tests/tut/tut_main.hpp
Finalize transition to Boost.UnitTest.
[stg.git] / tests / tut / tut_main.hpp
diff --git a/tests/tut/tut_main.hpp b/tests/tut/tut_main.hpp
deleted file mode 100644 (file)
index c6955bb..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-#ifndef TUT_MAIN_H
-#define TUT_MAIN_H
-
-#include <tut/tut.hpp>
-#include <tut/tut_console_reporter.hpp>
-#include <tut/tut_cppunit_reporter.hpp>
-#include <iostream>
-#include <cstring>
-
-namespace tut
-{
-
-/** Helper function to make test binaries simpler.
- *
- * Example of basic usage follows.
- *
- * @code
- *  namespace tut { test_runner_singleton runner; }
- *
- *  int main(int argc, char **argv)
- *  {
- *      if( tut_main(argc, argv) )
- *          return 0;
- *      else
- *          return -1;
- *  }
- * @endcode
- *
- * It is also possible to do some generic initialization before
- * running any tests and cleanup before exiting application.
- * Note that tut_main can throw tut::no_such_group or tut::no_such_test.
- *
- * @code
- *  namespace tut { test_runner_singleton runner; }
- *
- *  int main(int argc, char **argv)
- *  {
- *      tut::xml_reporter reporter;
- *      tut::runner.get().insert_callback(&reporter);
- *
- *      MyInit();
- *      try
- *      {
- *          tut_main(argc, argv);
- *      }
- *      catch(const tut::tut_error &ex)
- *      {
- *          std::cerr << "TUT error: " << ex.what() << std::endl;
- *      }
- *      MyCleanup();
- *  }
- * @endcode
- */
-inline bool tut_main(int argc, const char * const * const argv, std::ostream &os = std::cerr)
-{
-    std::stringstream usage;
-    usage << "Usage: " << argv[0] << " [group] [testcase]" << std::endl;
-    groupnames gr = runner.get().list_groups();
-    usage << "Available test groups:" << std::endl;
-    for(groupnames::const_iterator i = gr.begin(); i != gr.end(); ++i)
-    {
-        usage << "    " << *i << std::endl;
-    }
-
-    if(argc>1)
-    {
-        if(std::string(argv[1]) == "-h" ||
-           std::string(argv[1]) == "--help" ||
-           std::string(argv[1]) == "/?" ||
-           argc > 3)
-        {
-            os << usage.rdbuf();
-            return false;
-        }
-    }
-
-    // Check command line options.
-    switch(argc)
-    {
-        case 1:
-            runner.get().run_tests();
-        break;
-
-        case 2:
-            runner.get().run_tests(argv[1]);
-        break;
-
-        case 3:
-        {
-            char *end;
-            int t = strtol(argv[2], &end, 10);
-            if(end != argv[2] + strlen(argv[2]))
-            {
-                throw no_such_test("`" + std::string(argv[2]) + "` should be a number");
-            }
-
-            test_result tr;
-            if(!runner.get().run_test(argv[1], t, tr) || tr.result == test_result::dummy)
-            {
-                throw no_such_test("No testcase `" + std::string(argv[2]) + "` in group `" + argv[1] + "`");
-            }
-        }
-        break;
-    }
-
-    return true;
-} // tut_main()
-
-}
-
-#endif