int main(int argc, char** argv) { uint32_t x; uint8_t in[20], out[20]; int time_limit_exceeded = 0; int errors = 0; TlclLibInit(); TTPM_CHECK(0, 50); TTPM_CHECK(TlclStartupIfNeeded(), 50); TTPM_CHECK(TlclContinueSelfTest(), 100); TTPM_CHECK(TlclSelfTestFull(), 1000); TTPM_CHECK(TlclAssertPhysicalPresence(), 100); TTPM_CHECK(TlclWrite(INDEX0, (uint8_t*) &x, sizeof(x)), 100); TTPM_CHECK(TlclRead(INDEX0, (uint8_t*) &x, sizeof(x)), 100); TTPM_CHECK(TlclExtend(0, in, out), 200); TTPM_CHECK(TlclSetGlobalLock(), 50); TTPM_CHECK(TlclLockPhysicalPresence(), 100); if (time_limit_exceeded || errors > 0) { printf("TEST FAILED\n"); exit(1); } else { printf("TEST SUCCEEDED\n"); return 0; } }
/** * Test PCR funcs * * TODO: check params/data read/written. */ static void PcrTest(void) { uint8_t buf[kPcrDigestLength], buf2[kPcrDigestLength]; ResetMocks(); TEST_EQ(TlclPCRRead(1, buf, kPcrDigestLength), 0, "PCRRead"); TEST_EQ(calls[0].req_cmd, TPM_ORD_PcrRead, " cmd"); ResetMocks(); TEST_EQ(TlclPCRRead(1, buf, kPcrDigestLength - 1), TPM_E_IOERROR, "PCRRead too small"); ResetMocks(); TEST_EQ(TlclExtend(1, buf, buf2), 0, "Extend"); TEST_EQ(calls[0].req_cmd, TPM_ORD_Extend, " cmd"); }