Files
OpenCellular/tests/cgptlib_test.h
vbendeb 3ecaf776d8 Make vboot_reference build in MSVC command line environment.
This is a mostly NOOP change which modifies the source code
to compile cleanly in the MSVC command line build
environment.

A new makefile is introduced (msc/nmakefile) along with a
README.txt in the same directory explaining how to build
the code in the DOS window. As of this submission the build
is running in a 32 bit environment, the intention is to use
the same makefile for 64 bit builds in the future.

Enabling high compilation warnings level allowed to
identify a couple of bugs in the code which are being fixed.

Not all sources are being compiled in the MSVC environment,
only those in firmware/ and most of those in test/
subdirectories. The benchmark calculations require porting
of the timer facilities and are being postponed.

TEST

Built in DOS and linux environments. Ran unit tests in
linux environment.

Review URL: http://codereview.chromium.org/2809037
2010-06-24 16:19:53 -07:00

34 lines
856 B
C

/* Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#ifndef VBOOT_REFERENCE_CGPTLIB_TEST_H_
#define VBOOT_REFERENCE_CGPTLIB_TEST_H_
#include <stdio.h>
#include "sysincludes.h"
enum {
TEST_FAIL = -1,
TEST_OK = 0,
};
#define TEST_CASE(func) #func, func
typedef int (*test_func)();
#define ARRAY_SIZE(array) (sizeof(array) / sizeof(array[0]))
/* disable MSVC warning on const logical expression (as in } while(0);) */
__pragma(warning (disable: 4127))
#define EXPECT(expr) \
do { \
if (!(expr)) { \
printf(COL_RED " fail " COL_STOP "in expression %s in %s() line %d\n",\
#expr, __FUNCTION__, __LINE__); \
return TEST_FAIL; \
} \
} while (0)
#endif /* VBOOT_REFERENCE_CGPTLIB_TEST_H_ */