diff options
Diffstat (limited to 'src/usr/diag')
-rw-r--r-- | src/usr/diag/attn/common/attnprd.C | 2 | ||||
-rw-r--r-- | src/usr/diag/attn/ipl/test/attnfakeipoll.C | 20 | ||||
-rw-r--r-- | src/usr/diag/attn/ipl/test/attnfakeprd.C | 5 | ||||
-rw-r--r-- | src/usr/diag/attn/ipl/test/attntestsvc.H | 87 | ||||
-rw-r--r-- | src/usr/diag/attn/ipl/test/makefile | 7 |
5 files changed, 74 insertions, 47 deletions
diff --git a/src/usr/diag/attn/common/attnprd.C b/src/usr/diag/attn/common/attnprd.C index cf0019b03..65f2fafd9 100644 --- a/src/usr/diag/attn/common/attnprd.C +++ b/src/usr/diag/attn/common/attnprd.C @@ -72,6 +72,8 @@ errlHndl_t PrdImpl::callPrd(const AttentionList & i_attentions) i_attentions.getAttnList(attnList); + ATTN_TRACE("callPrd with Attn Count of %d", attnList.size()); + if(!attnList.empty()) { // AttentionLists keep themselves sorted by attention type diff --git a/src/usr/diag/attn/ipl/test/attnfakeipoll.C b/src/usr/diag/attn/ipl/test/attnfakeipoll.C index a05033d47..c04491ced 100644 --- a/src/usr/diag/attn/ipl/test/attnfakeipoll.C +++ b/src/usr/diag/attn/ipl/test/attnfakeipoll.C @@ -187,23 +187,11 @@ FakeIpoll::FakeIpoll( iv_ipollbits(0), iv_presenter(&i_presenter) { - if(i_type == HOST_ATTN) - { - // figure out what bits to monitor - // in the nest gp1 register, if - // this instance is monitoring - // HOST attentions. - - GP1::forEach(0xffffffffffffffffull, &iv_gfirbits, &getMask); - iv_address = GP1::address; - } + GFIR::getAddress(i_type, iv_address); + GFIR::getCheckbits(i_type, iv_gfirbits); - else - { - GFIR::getAddress(i_type, iv_address); - GFIR::getCheckbits(i_type, iv_gfirbits); - } IPOLL::getCheckbits(i_type, iv_ipollbits); } -} + +} // end namespace diff --git a/src/usr/diag/attn/ipl/test/attnfakeprd.C b/src/usr/diag/attn/ipl/test/attnfakeprd.C index 5c9bd6340..1ad17a3ae 100644 --- a/src/usr/diag/attn/ipl/test/attnfakeprd.C +++ b/src/usr/diag/attn/ipl/test/attnfakeprd.C @@ -79,8 +79,11 @@ errlHndl_t FakePrd::callPrd(const AttentionList & i_attentions) AttnList l_attnList; i_attentions.getAttnList(l_attnList); + + ATTN_TRACE("fakeCallPrd with Attn Count of %d", l_attnList.size()); + // ----------------------------------------------------- - // asdf bjs @TODO: RTC:151004 (this is FAKE code only) + // This is FAKE code only. // If you do the EC/MODEL check, it crashes in CXX testcase. // Kind of thinking some library missing that is needed when // adding these calls, For now, I will just leave them out diff --git a/src/usr/diag/attn/ipl/test/attntestsvc.H b/src/usr/diag/attn/ipl/test/attntestsvc.H index b8baa664d..707b5ad71 100644 --- a/src/usr/diag/attn/ipl/test/attntestsvc.H +++ b/src/usr/diag/attn/ipl/test/attntestsvc.H @@ -36,6 +36,20 @@ #include "attntest.H" #include <cxxtest/TestSuite.H> #include "../../common/attntrace.H" +#include "attnfakepresenter.H" +#include "attnfakegfir.H" +#include <prdf/common/prdfMain_common.H> +#include "attnfakegp1.H" +#include "attnfakemcs.H" +#include "attnfakeipoll.H" +#include "attnvalidate.H" +#include "attnfaketarget.H" +#include "attnrandsource.H" +#include "attnfakeprd.H" +#include "../../common/attnproc.H" +#include <sys/time.h> + + using namespace ATTN; using namespace std; @@ -65,31 +79,41 @@ class AttnSvcTest: public CxxTest::TestSuite FakePresenter presenter; FakeSystem system; - FakeGfir xstpGfir(CHECK_STOP), - spclGfir(SPECIAL), - recGfir(RECOVERABLE); + FakeGfir xstpGfir(PRDF::CHECK_STOP), + spclGfir(PRDF::SPECIAL), + recGfir(PRDF::RECOVERABLE), + hostAttnGfir(PRDF::HOST_ATTN), + unitCsGfir(PRDF::UNIT_CS); + xstpGfir.install(system); spclGfir.install(system); recGfir.install(system); + hostAttnGfir.install(system); + unitCsGfir.install(system); - FakeMcs rec(RECOVERABLE), xstp(CHECK_STOP), special(SPECIAL); - FakeGp1 gp1; + // @TODO RTC: 164827 + // When we get CENTAURS, we may need to add host/unit cs + // here and install them right below. + FakeMcs rec(PRDF::RECOVERABLE), + xstp(PRDF::CHECK_STOP), + special(PRDF::SPECIAL); xstp.install(system); special.install(system); rec.install(system); - gp1.install(system); - FakeIpoll xstpIpoll(CHECK_STOP, presenter), - spclIpoll(SPECIAL, presenter), - recIpoll(RECOVERABLE, presenter), - hostIpoll(HOST_ATTN, presenter); + FakeIpoll xstpIpoll(PRDF::CHECK_STOP, presenter), + spclIpoll(PRDF::SPECIAL, presenter), + recIpoll (PRDF::RECOVERABLE, presenter), + unitIpoll(PRDF::UNIT_CS, presenter), + hostIpoll(PRDF::HOST_ATTN, presenter); xstpIpoll.install(system); spclIpoll.install(system); recIpoll.install(system); hostIpoll.install(system); + unitIpoll.install(system); Validator v; @@ -99,31 +123,34 @@ class AttnSvcTest: public CxxTest::TestSuite FakeMemTargetService targetSvc(targetPoolSize); - TargetHandleList membufs, procs; + TARGETING::TargetHandleList membufs, procs; - targetSvc.getAllChips(procs, TYPE_PROC); - targetSvc.getAllChips(membufs, TYPE_MEMBUF); + targetSvc.getAllChips(procs, TARGETING::TYPE_PROC); + targetSvc.getAllChips(membufs, TARGETING::TYPE_MEMBUF); - RandSource procSource(iterations, + ATTN::RandSource procSource(iterations, maxAttnsPerIteration, system, &procs[0], &procs[0] + procs.size()); - RandSource memSource( + // @TODO RTC: 164827 + // We don't have Centaurs yet + /* ATTN::RandSource memSource( iterations, maxAttnsPerIteration, system, &membufs[0], &membufs[0] + membufs.size()); + */ targetSvc.installTargetService(); - FakePrd prd(system); + ATTN::FakePrd prd(system); prd.installPrd(); - getProcOps().enable(); + ATTN::getProcOps().enable(); do { @@ -141,11 +168,14 @@ class AttnSvcTest: public CxxTest::TestSuite break; } - if(!memSource.start()) - { - TS_FAIL("unexpected error starting source"); - break; - } + // @TODO RTC: 164827 + // We don't have Centaurs yet + /* if(!memSource.start()) + { + TS_FAIL("unexpected error starting source"); + break; + } + */ if(!procSource.start()) { @@ -155,11 +185,14 @@ class AttnSvcTest: public CxxTest::TestSuite // wait for the testcase to finish injecting attentions - if(!memSource.wait()) - { - TS_FAIL("unexpected error waiting for source"); - break; - } + // @TODO RTC: 164827 + // We don't have Centaurs yet on NIMBUS P9 + /* if(!memSource.wait()) + { + TS_FAIL("unexpected error waiting for source"); + break; + } + */ if(!procSource.wait()) { diff --git a/src/usr/diag/attn/ipl/test/makefile b/src/usr/diag/attn/ipl/test/makefile index 3826af801..a0d73d4cf 100644 --- a/src/usr/diag/attn/ipl/test/makefile +++ b/src/usr/diag/attn/ipl/test/makefile @@ -43,8 +43,9 @@ OBJS += attnmeminject.o MODULE = testattn -# asdf bjs @TODO: RTC:151004 -#TESTS = *.H -TESTS = attntestipl.H attntestproc.H +# @TODO RTC: 164827 +# attntestmem.H is only for CENTAUR so can't do this yet + +TESTS = attntestipl.H attntestproc.H attntestscom.H attntesttrace.H attntesttest.H attntestlist.H attntestops.H attntestsvc.H include ${ROOTPATH}/config.mk |