     std::cout << num_known_failures << " known failures, ";
     std::cout << num_errors << " errors, and ";
     std::cout << num_passes << " passes." << std::endl;
+    std::cout << "Time:  " << elapsed_minutes << " minutes" << std::endl;
 }
 
 


        try
        {
            // run the test
            test.run();

            // test passed
            record_result(TestResult(Pass, test), test_results);
        } 
        catch (unittest::UnitTestFailure& f)
        {
            record_result(TestResult(Failure, test, f.message), test_results);
        }
        catch (unittest::UnitTestKnownFailure& f)
        {
            record_result(TestResult(KnownFailure, test, f.message), test_results);
        }
        catch (std::bad_alloc& e)
        {
            record_result(TestResult(Error, test, e.what()), test_results);
        }
        catch (unittest::UnitTestError& e)
        {
            record_result(TestResult(Error, test, e.message), test_results);
        }

        // immediate report


bool UnitTestDriver::run_tests(std::vector<UnitTest *>& tests_to_run, const ArgumentMap& kwargs)
{
    std::time_t start_time = std::time(0);

    bool verbose = kwargs.count("verbose");
    bool concise = kwargs.count("concise");
    
