/* 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.
*/
/* Shared code for tests.
*/
#include "sysincludes.h"
#include "tlcl.h"
#include "tlcl_tests.h"
const char* resilient_startup = NULL;
uint32_t TlclStartupIfNeeded(void) {
static char* null_getenv = "some string"; /* just a unique address */
uint32_t result = TlclStartup();
if (resilient_startup == NULL) {
resilient_startup = getenv("TLCL_RESILIENT_STARTUP");
if (resilient_startup == NULL) {
resilient_startup = null_getenv;
}
}
if (resilient_startup == null_getenv) {
return result;
}
return result == TPM_E_INVALID_POSTINIT ? TPM_SUCCESS : result;
}