summaryrefslogtreecommitdiff
path: root/common/test_util.c
diff options
context:
space:
mode:
authorVic Yang <victoryang@chromium.org>2013-06-12 00:08:56 +0800
committerChromeBot <chrome-bot@google.com>2013-06-16 20:14:01 -0700
commitaaac3935d2e82b281979045a390f0b7d2c79b281 (patch)
tree8eafe931dd051f04ad85f7a270c6aafdd628deb0 /common/test_util.c
parent7402388c587e03181559f859f797f27c840c32ab (diff)
downloadchrome-ec-aaac3935d2e82b281979045a390f0b7d2c79b281.tar.gz
Make target for test coverage report generation
By 'make coverage', lcov is used to generate test coverage report in HTML format stored in coverage_rpt folder. BUG=chrome-os-partner:19235 TEST=Generate a report. BRANCH=None Change-Id: I44142eaaeb897cf09179764781120370920144cd Signed-off-by: Vic Yang <victoryang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/58203
Diffstat (limited to 'common/test_util.c')
-rw-r--r--common/test_util.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/common/test_util.c b/common/test_util.c
index 7cd9850645..b9b6a7a13f 100644
--- a/common/test_util.c
+++ b/common/test_util.c
@@ -5,6 +5,9 @@
* Test utilities.
*/
+#include <signal.h>
+#include <stdlib.h>
+
#include "console.h"
#include "test_util.h"
#include "util.h"
@@ -14,11 +17,40 @@ int __test_error_count;
/* Weak reference function as an entry point for unit test */
test_mockable void run_test(void) { }
+#ifdef TEST_COVERAGE
+extern void __gcov_flush(void);
+
+void test_end_hook(int sig)
+{
+ __gcov_flush();
+ exit(0);
+}
+
+void register_test_end_hook(void)
+{
+ signal(SIGTERM, test_end_hook);
+}
+#else
+void register_test_end_hook(void)
+{
+}
+#endif
+
void test_reset(void)
{
__test_error_count = 0;
}
+void test_pass(void)
+{
+ ccprintf("Pass!\n");
+}
+
+void test_fail(void)
+{
+ ccprintf("Fail!\n");
+}
+
void test_print_result(void)
{
if (__test_error_count)