diff options
Diffstat (limited to 'src/usr/errl/test/errluserdetailtest.H')
-rw-r--r-- | src/usr/errl/test/errluserdetailtest.H | 117 |
1 files changed, 115 insertions, 2 deletions
diff --git a/src/usr/errl/test/errluserdetailtest.H b/src/usr/errl/test/errluserdetailtest.H index 8fb1f3ed5..c70119a74 100644 --- a/src/usr/errl/test/errluserdetailtest.H +++ b/src/usr/errl/test/errluserdetailtest.H @@ -35,6 +35,13 @@ #include <errl/errluserdetails.H> #include <errl/errlreasoncodes.H> #include <errl/errludstring.H> +#include <errl/errludbacktrace.H> +#include <errl/errludtarget.H> +#include <errludattribute.H> +#include <targeting/common/targetservice.H> +#include <targeting/common/iterators/rangefilter.H> +#include <targeting/common/predicates/predicates.H> +#include <targeting/common/util.H> using namespace ERRORLOG; @@ -61,8 +68,8 @@ public: * @userdata2 Test data 2 * @devdesc User Details unit test - create string user detail data */ - l_errl = new ERRORLOG::ErrlEntry( - ERRORLOG::ERRL_SEV_INFORMATIONAL, + l_errl = new ErrlEntry( + ERRL_SEV_INFORMATIONAL, HBERRL_USERDATA_TEST_MOD_ID, HBERRL_TEST_STRING_UD, 0x1234567890, // user1 @@ -76,6 +83,112 @@ public: errlCommit(l_errl, CXXTEST_COMP_ID); } + /** + * @test testAttribute - Capture a String in an error log + */ + void testAttribute(void) + { + errlHndl_t l_err = NULL; + + TS_TRACE( "testAttribute errorlog user detail data"); + /*@ + * @errortype + * @severity ERRORLOG_SEV_INFORMATIONAL + * @moduleid HBERRL_USERDATA_TEST_MOD_ID + * @reasoncode HBERRL_TEST_ATTRIBUTE_UD + * @userdata1 Test data 1 + * @userdata2 Test data 2 + * @devdesc User Details unit test - create string user detail data + */ + l_err = new ErrlEntry( + ERRL_SEV_INFORMATIONAL, + HBERRL_USERDATA_TEST_MOD_ID, + HBERRL_TEST_ATTRIBUTE_UD, + 0x0001002300450067, + 0x008900AB00CD00EF); + + using namespace TARGETING; + + // find a proc target + PredicateCTM procChipFilter(CLASS_CHIP,TYPE_PROC); + TargetRangeFilter pProc( + targetService().begin(), targetService().end(), + &procChipFilter); + + // find a membuf target + PredicateCTM membufChipFilter(CLASS_CHIP,TYPE_MEMBUF); + TargetRangeFilter pMembuf( + targetService().begin(), targetService().end(), + &membufChipFilter); + + // find a dimm target + PredicateCTM dimmChipFilter(CLASS_NA,TYPE_DIMM); + TargetRangeFilter pDimm( + targetService().begin(), targetService().end(), + &dimmChipFilter); + + const Target* c_target; + c_target = *pProc; + TS_TRACE( "testAttribute pProc %p", c_target); + ErrlUserDetailsString("Attribute test").addToLog(l_err); + ErrlUserDetailsTarget(c_target).addToLog(l_err); + ErrlUserDetailsBackTrace().addToLog(l_err); + ErrlUserDetailsAttribute(c_target,ATTR_CLASS).addToLog(l_err); + ErrlUserDetailsAttribute(c_target,ATTR_TYPE).addToLog(l_err); + ErrlUserDetailsAttribute(c_target,ATTR_MODEL).addToLog(l_err); + ErrlUserDetailsAttribute(c_target,ATTR_PHYS_PATH).addToLog(l_err); + ErrlUserDetailsAttribute(c_target,ATTR_SCRATCH_UINT8_1).addToLog(l_err); + ErrlUserDetailsAttribute(c_target,ATTR_HUID).addToLog(l_err); + ErrlUserDetailsAttribute(c_target,ATTR_DUMMY_WO).addToLog(l_err); + ErrlUserDetailsAttribute(c_target).addToLog(l_err); + + c_target = *pMembuf; + TS_TRACE( "testAttribute pMembuf %p", c_target); + ErrlUserDetailsString("Attribute test").addToLog(l_err); + ErrlUserDetailsTarget(c_target).addToLog(l_err); + ErrlUserDetailsBackTrace().addToLog(l_err); + ErrlUserDetailsAttribute(c_target,ATTR_CLASS).addToLog(l_err); + ErrlUserDetailsAttribute(c_target,ATTR_TYPE).addToLog(l_err); + ErrlUserDetailsAttribute(c_target,ATTR_MODEL).addToLog(l_err); + ErrlUserDetailsAttribute(c_target,ATTR_PHYS_PATH).addToLog(l_err); + ErrlUserDetailsAttribute(c_target,ATTR_SCRATCH_UINT8_1).addToLog(l_err); + ErrlUserDetailsAttribute(c_target,ATTR_HUID).addToLog(l_err); + ErrlUserDetailsAttribute(c_target,ATTR_DUMMY_WO).addToLog(l_err); + ErrlUserDetailsAttribute(c_target).addToLog(l_err); + + c_target = *pDimm; + TS_TRACE( "testAttribute pDimm %p", c_target); + ErrlUserDetailsString("Attribute test").addToLog(l_err); + ErrlUserDetailsTarget(c_target).addToLog(l_err); + ErrlUserDetailsBackTrace().addToLog(l_err); + ErrlUserDetailsAttribute(c_target,ATTR_CLASS).addToLog(l_err); + ErrlUserDetailsAttribute(c_target,ATTR_TYPE).addToLog(l_err); + ErrlUserDetailsAttribute(c_target,ATTR_MODEL).addToLog(l_err); + ErrlUserDetailsAttribute(c_target,ATTR_PHYS_PATH).addToLog(l_err); + ErrlUserDetailsAttribute(c_target,ATTR_SCRATCH_UINT8_1).addToLog(l_err); + ErrlUserDetailsAttribute(c_target,ATTR_HUID).addToLog(l_err); + ErrlUserDetailsAttribute(c_target,ATTR_DUMMY_WO).addToLog(l_err); + ErrlUserDetailsAttribute(c_target).addToLog(l_err); + +#if 0 + // extended test + uint32_t i = 0; + for (TargetIterator target = targetService().begin(); + (i < 10) && (target != targetService().end()); + ++i, ++target) + { + TS_TRACE( "testAttribute %p", *target); + const Target* c_target = *target; + ErrlUserDetailsTarget(c_target).addToLog(l_err); + ErrlUserDetailsAttribute(c_target).addToLog(l_err); + } +#endif + + // commit the errorlog + errlCommit(l_err, CXXTEST_COMP_ID); + TS_TRACE( "testAttribute done"); + } + }; #endif |