blob: 3a4191a8de368e8ad4fd61327627633303c7ddb6 [file] [log] [blame]
Louis Yung-Chieh Lo4bbf21e2010-04-21 17:29:05 -07001/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
2 * Use of this source code is governed by a BSD-style license that can be
3 * found in the LICENSE file.
4 */
Louis Yung-Chieh Lo49fa8e52010-04-30 16:10:48 -07005#ifndef VBOOT_REFERENCE_CGPT_TEST_H_
6#define VBOOT_REFERENCE_CGPT_TEST_H_
Louis Yung-Chieh Lo4bbf21e2010-04-21 17:29:05 -07007
8#include <stdio.h>
9
Louis Yung-Chieh Lo37f6b552010-04-22 21:22:22 -070010enum {
11 TEST_FAIL = -1,
12 TEST_OK = 0,
13};
Louis Yung-Chieh Lo4bbf21e2010-04-21 17:29:05 -070014
Louis Yung-Chieh Lo49fa8e52010-04-30 16:10:48 -070015#define TEST_CASE(func) #func, func
16typedef int (*test_func)(void);
17
18#define ARRAY_SIZE(array) (sizeof(array) / sizeof(array[0]))
19
Louis Yung-Chieh Lo4bbf21e2010-04-21 17:29:05 -070020/* ANSI Color coding sequences. */
21#define COL_GREEN "\e[1;32m"
22#define COL_RED "\e[0;31m"
23#define COL_STOP "\e[m"
24
25#define EXPECT(expr) \
Louis Yung-Chieh Lo49fa8e52010-04-30 16:10:48 -070026 do { \
27 if (!(expr)) { \
28 printf(COL_RED " fail " COL_STOP "in expression %s in %s() line %d\n",\
29 #expr, __FUNCTION__, __LINE__); \
30 return TEST_FAIL; \
31 } \
32 } while (0)
Louis Yung-Chieh Lo4bbf21e2010-04-21 17:29:05 -070033
Louis Yung-Chieh Lo49fa8e52010-04-30 16:10:48 -070034#endif /* VBOOT_REFERENCE_CGPT_TEST_H_ */