/* 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.
*/
/* Common definitions for test programs.
*/
#ifndef TLCL_TESTS_H
#define TLCL_TESTS_H
/* Standard testing indexes. */
#define INDEX0 0xcafe
#define INDEX1 0xcaff
/* Prints error and returns on failure */
#define TPM_CHECK(tpm_command) TPM_EXPECT(tpm_command, TPM_SUCCESS)
#define TPM_EXPECT(tpm_command, expected_result) do { \
uint32_t _result = (tpm_command); \
uint32_t _exp = (expected_result); \
if (_result != _exp) { \
printf("TEST FAILED: line %d: " #tpm_command ": 0x%x" \
" (expecting 0x%x)\n", __LINE__, _result, _exp); \
return _result; \
} \
} while (0)
/* Executes TlclStartup(), but ignores POSTINIT error if the
* TLCL_RESILIENT_STARTUP environment variable is set.
*/
uint32_t TlclStartupIfNeeded(void);
#endif // TLCL_TESTS_H