 
         try
         {
+            // time the test
+            std::clock_t start = std::clock();
+
             // run the test
             test.run();
 
             // test passed
-            record_result(TestResult(Pass, test), test_results);
+            record_result(TestResult(Pass, std::clock() - start, test), test_results);
         } 
         catch (unittest::UnitTestFailure& f)
         {
-            record_result(TestResult(Failure, test, f.message), test_results);
+            record_result(TestResult(Failure, std::numeric_limits<std::clock_t>::max(), test, f.message), test_results);
         }
         catch (unittest::UnitTestKnownFailure& f)
         {
-            record_result(TestResult(KnownFailure, test, f.message), test_results);
+            record_result(TestResult(KnownFailure, std::numeric_limits<std::clock_t>::max(), test, f.message), test_results);
         }
         catch (std::bad_alloc& e)
         {
-            record_result(TestResult(Error, test, e.what()), test_results);
+            record_result(TestResult(Error, std::numeric_limits<std::clock_t>::max(), test, e.what()), test_results);
         }
         catch (unittest::UnitTestError& e)
         {
-            record_result(TestResult(Error, test, e.message), test_results);
+            record_result(TestResult(Error, std::numeric_limits<std::clock_t>::max(), test, e.message), test_results);
         }
 
         // immediate report

    TestStatus  status;
    std::string name;
    std::string message;
    
    TestResult(const TestStatus status, const UnitTest& u)
        : status(status), name(u.name)
    { }

    TestResult(const TestStatus status, const UnitTest& u, const std::string& message)
        : status(status), name(u.name), message(message)
    { }

    bool operator<(const TestResult& tr) const


#include <cuda_runtime.h>
#include <iostream>
#include <iomanip>
#include <cstdlib>
#include <algorithm>
#include <string>
#include <limits>
#include <ctime>
#include <limits>

const size_t standard_test_sizes[] = 
