summaryrefslogtreecommitdiffstats
path: root/src/usr/secureboot/trusted/test
diff options
context:
space:
mode:
authorChris Engel <cjengel@us.ibm.com>2016-02-19 10:08:31 -0600
committerDaniel M. Crowell <dcrowell@us.ibm.com>2016-05-17 14:50:22 -0400
commit83f5c16f12410fbb3671d577e66a43145c5ea9d1 (patch)
tree235ff4ed89778caa2e8f8ff4eb099330e6f20e97 /src/usr/secureboot/trusted/test
parent24233b6b559eed88458245ae2966156a52f68978 (diff)
downloadblackbird-hostboot-83f5c16f12410fbb3671d577e66a43145c5ea9d1.tar.gz
blackbird-hostboot-83f5c16f12410fbb3671d577e66a43145c5ea9d1.zip
TrustedBoot-Add log manager functions to allow passing in external log buffer
Change-Id: I33b8680fb89072311bb23730bfc1901e4ded9e21 RTC: 125289 ForwardPort: yes Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/22003 Reviewed-by: Timothy R. Block <block@us.ibm.com> Reviewed-by: Stephen M. Cprek <smcprek@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/24669 Tested-by: Jenkins Server Tested-by: FSP CI Jenkins Reviewed-by: Christopher J. Engel <cjengel@us.ibm.com>
Diffstat (limited to 'src/usr/secureboot/trusted/test')
-rwxr-xr-xsrc/usr/secureboot/trusted/test/tpmLogMgrTest.H204
-rwxr-xr-xsrc/usr/secureboot/trusted/test/trustedbootTest.H9
2 files changed, 204 insertions, 9 deletions
diff --git a/src/usr/secureboot/trusted/test/tpmLogMgrTest.H b/src/usr/secureboot/trusted/test/tpmLogMgrTest.H
index 537ada4b0..cf61de420 100755
--- a/src/usr/secureboot/trusted/test/tpmLogMgrTest.H
+++ b/src/usr/secureboot/trusted/test/tpmLogMgrTest.H
@@ -360,6 +360,210 @@ class TPMLogMgrTest: public CxxTest::TestSuite
}
while (0);
}
+
+
+ /**
+ * @brief TPM Log calcLogSize tests
+ */
+ void testTpmLogCalcLogSize ( void )
+ {
+ TRACFCOMP( g_trac_trustedboot, "testTpmLogCalcLogSize - Start" );
+
+ do {
+ // Initialize logMgr
+ TpmLogMgr logMgr;
+ getTestLogMgr(&logMgr);
+
+ size_t firstEventSize = TpmLogMgr_getLogSize(&logMgr);
+
+ // No events beyond initial one
+ if ((TpmLogMgr_calcLogSize(&logMgr) !=
+ TpmLogMgr_getLogSize(&logMgr)))
+ {
+ TS_FAIL( "testTpmLogCalcLogSize - "
+ "Invalid first event calc LS(%d) CS(%d)",
+ TpmLogMgr_getLogSize(&logMgr),
+ TpmLogMgr_calcLogSize(&logMgr));
+ break;
+ }
+
+ // Add an event to log
+ TCG_PCR_EVENT2 eventLog = addTestLogEvent(logMgr,
+ "CalcLog11");
+ if (TpmLogMgr_calcLogSize(&logMgr) !=
+ TpmLogMgr_getLogSize(&logMgr) ||
+ ((firstEventSize +
+ TCG_PCR_EVENT2_marshalSize(&eventLog))
+ != TpmLogMgr_getLogSize(&logMgr)) )
+ {
+ TS_FAIL( "testTpmLogCalcLogSize - "
+ "Invalid second event calc LS(%d) CS(%d)",
+ TpmLogMgr_getLogSize(&logMgr),
+ TpmLogMgr_calcLogSize(&logMgr));
+ break;
+ }
+
+ // Add more events to log
+ for (int idx = 0; idx < 10; idx ++)
+ {
+ eventLog = addTestLogEvent(logMgr,
+ "CalcLog3434");
+ if (TpmLogMgr_calcLogSize(&logMgr) !=
+ TpmLogMgr_getLogSize(&logMgr))
+ {
+ TS_FAIL( "testTpmLogCalcLogSize - IDX (%d) "
+ "Invalid additional event calc LS(%d) CS(%d)",
+ idx,
+ TpmLogMgr_getLogSize(&logMgr),
+ TpmLogMgr_calcLogSize(&logMgr));
+ break;
+ }
+ }
+ }
+ while (0);
+ }
+
+ /**
+ * @brief TPM Log initializeUsingExistingLog tests
+ */
+ void testTpmLogInitExisting ( void )
+ {
+ TRACFCOMP( g_trac_trustedboot, "testTpmLogInitExisting - Start" );
+ errlHndl_t err = NULL;
+ TCG_PCR_EVENT2 eventLog;
+
+ do {
+ // Initialize logMgr
+ TpmLogMgr logMgr;
+ getTestLogMgr(&logMgr);
+ // Create a logMgr clone
+ TpmLogMgr cloneMgr;
+
+ err = TpmLogMgr_initializeUsingExistingLog(&cloneMgr,
+ TpmLogMgr_getLogStartPtr(&logMgr),
+ logMgr.logMaxSize);
+
+ // No events beyond initial one
+ if (NULL != err ||
+ TpmLogMgr_getLogSize(&logMgr) !=
+ TpmLogMgr_getLogSize(&cloneMgr))
+ {
+ TS_FAIL( "testTpmLogInitExisting - "
+ "test fail on initial init "
+ "err(%d) LMS(%d) CLS(%d)",
+ (NULL == err) ? 0 : 1,
+ TpmLogMgr_getLogSize(&logMgr),
+ TpmLogMgr_getLogSize(&cloneMgr));
+ break;
+ }
+
+
+ // Add more events to log
+ for (int idx = 0; idx < 10; idx ++)
+ {
+ eventLog = addTestLogEvent(logMgr,
+ "CalcLog3434");
+ }
+
+ err = TpmLogMgr_initializeUsingExistingLog(&cloneMgr,
+ TpmLogMgr_getLogStartPtr(&logMgr),
+ logMgr.logMaxSize);
+
+ if (NULL != err ||
+ TpmLogMgr_getLogSize(&logMgr) !=
+ TpmLogMgr_getLogSize(&cloneMgr))
+ {
+ TS_FAIL( "testTpmLogInitExisting - "
+ "test fail on multiple log init "
+ "err(%d) LMS(%d) CLS(%d)",
+ (NULL == err) ? 0 : 1,
+ TpmLogMgr_getLogSize(&logMgr),
+ TpmLogMgr_getLogSize(&cloneMgr));
+ break;
+ }
+
+ // Now try adding an event to the clone logMgr
+ eventLog = addTestLogEvent(cloneMgr, "Clone123 23434");
+ if (TpmLogMgr_getLogSize(&logMgr) ==
+ TpmLogMgr_getLogSize(&cloneMgr))
+ {
+ TS_FAIL( "testTpmLogInitExisting - "
+ "test fail on addlog to clone"
+ "LMS(%d) CLS(%d)",
+ TpmLogMgr_getLogSize(&logMgr),
+ TpmLogMgr_getLogSize(&cloneMgr));
+ break;
+ }
+ }
+ while (0);
+ TRACFCOMP( g_trac_trustedboot, "testTpmLogInitExisting - End" );
+ }
+
+ /**
+ * @brief TPM Log initializeUsingExistingLog failing tests
+ */
+ void testTpmLogInitExistingFails ( void )
+ {
+ TRACFCOMP( g_trac_trustedboot,
+ "testTpmLogInitExistingFails - Start" );
+ errlHndl_t err = NULL;
+
+ do {
+ // Initialize logMgr
+ TpmLogMgr logMgr;
+ getTestLogMgr(&logMgr);
+ // Create a logMgr clone
+ TpmLogMgr cloneMgr;
+ uint8_t logBuffer[256];
+
+ // Zero'd buffer without initial header entry
+ memset(logBuffer,0, sizeof(logBuffer));
+ err = TpmLogMgr_initializeUsingExistingLog(&cloneMgr,
+ logBuffer,
+ sizeof(logBuffer));
+
+ if (NULL == err)
+ {
+ TS_FAIL( "testTpmLogInitExistingFails - "
+ "test fail on initial init "
+ "err(%d) LMS(%d) CLS(%d)",
+ (NULL == err) ? 0 : 1,
+ TpmLogMgr_getLogSize(&logMgr),
+ TpmLogMgr_getLogSize(&cloneMgr));
+ break;
+ }
+ else
+ {
+ delete err;
+ err = NULL;
+ }
+
+
+ // Buffer too small
+ err = TpmLogMgr_initializeUsingExistingLog(&cloneMgr,
+ TpmLogMgr_getLogStartPtr(&logMgr),
+ 10);
+ if (NULL == err)
+ {
+ TS_FAIL( "testTpmLogInitExistingFails - "
+ "test fail on initial init buff too small"
+ "err(%d) LMS(%d) CLS(%d)",
+ (NULL == err) ? 0 : 1,
+ TpmLogMgr_getLogSize(&logMgr),
+ TpmLogMgr_getLogSize(&cloneMgr));
+ break;
+ }
+ else
+ {
+ delete err;
+ err = NULL;
+ }
+ }
+ while (0);
+ TRACFCOMP( g_trac_trustedboot,
+ "testTpmLogInitExistingFails - End" );
+ }
+
};
#endif
diff --git a/src/usr/secureboot/trusted/test/trustedbootTest.H b/src/usr/secureboot/trusted/test/trustedbootTest.H
index 5fad75145..12f7a9de0 100755
--- a/src/usr/secureboot/trusted/test/trustedbootTest.H
+++ b/src/usr/secureboot/trusted/test/trustedbootTest.H
@@ -44,15 +44,6 @@
#include "../base/trustedboot_base.H"
#include "../base/tpmLogMgr.H"
-extern trace_desc_t* g_trac_trustedboot;
-
-// Easy macro replace for unit testing
-//#define TRACUCOMP(args...) TRACFCOMP(args)
-#define TRACUCOMP(args...)
-//#define TRACUBIN(args...) TRACFBIN(args)
-#define TRACUBIN(args...)
-
-
using namespace TRUSTEDBOOT;
OpenPOWER on IntegriCloud