summaryrefslogtreecommitdiff
path: root/utests/utest.hpp
diff options
context:
space:
mode:
authorYi Sun <yi.sun@intel.com>2014-04-28 13:31:05 +0800
committerZhigang Gong <zhigang.gong@intel.com>2014-04-30 09:36:10 +0800
commit3fa989b610844781bb3c0a1138659cf1bc54a06c (patch)
tree2334411822f1b9279f8ecc5d55944421bc0143f0 /utests/utest.hpp
parente2374ee02183e69da5a271793330f8ee0782491f (diff)
downloadbeignet-3fa989b610844781bb3c0a1138659cf1bc54a06c.tar.gz
Init Benchmark suite
The first benchmark case is name enqueue_copy_buf. Signed-off-by: Yi Sun <yi.sun@intel.com> Reviewed-by: Zhigang Gong <zhigang.gong@linux.intel.com>
Diffstat (limited to 'utests/utest.hpp')
-rw-r--r--utests/utest.hpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/utests/utest.hpp b/utests/utest.hpp
index 0381bfe6..375ef702 100644
--- a/utests/utest.hpp
+++ b/utests/utest.hpp
@@ -90,6 +90,10 @@ struct UTest
static void __ANON__##FN##__(void) { UTEST_EXPECT_SUCCESS(FN()); } \
static const UTest __##FN##__(__ANON__##FN##__, #FN, true);
+/*! Turn a function into a unit performance test */
+#define MAKE_BENCHMARK_FROM_FUNCTION(FN) \
+ static void __ANON__##FN##__(void) { BENCHMARK(FN()); } \
+ static const UTest __##FN##__(__ANON__##FN##__, #FN);
/*! No assert is expected */
#define UTEST_EXPECT_SUCCESS(EXPR) \
@@ -119,5 +123,17 @@ struct UTest
} \
} while (0)
+#define BENCHMARK(EXPR) \
+ do { \
+ int ret = 0; \
+ try { \
+ ret = EXPR; \
+ printf(" %s [SUCCESS] [Result: %d]\n", #EXPR, ret);\
+ } \
+ catch (Exception e) { \
+ std::cout << " " << #EXPR << " [FAILED]" << std::endl; \
+ std::cout << " " << e.what() << std::endl; \
+ } \
+ } while (0)
#endif /* __UTEST_UTEST_HPP__ */