From f2332d1bb1e492ec07941ae544d3ff1820a461dc Mon Sep 17 00:00:00 2001 From: Jeff Hill Date: Thu, 21 Jun 2001 17:11:39 +0000 Subject: [PATCH] improved monitor first update test --- src/ca/acctst.c | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/src/ca/acctst.c b/src/ca/acctst.c index db9dd5172..b18857d2d 100644 --- a/src/ca/acctst.c +++ b/src/ca/acctst.c @@ -75,12 +75,13 @@ void nUpdatesTester ( struct event_handler_args args ) } } -void monitorSubscriptionFirstUpdateTest ( chid chan ) +void monitorSubscriptionFirstUpdateTest ( const char *pName, chid chan ) { int status; unsigned eventCount = 0u; unsigned waitCount = 0u; evid id; + chid chan2; showProgressBegin (); @@ -100,6 +101,25 @@ void monitorSubscriptionFirstUpdateTest ( chid chan ) status = ca_clear_event ( id ); SEVCHK (status, 0); + eventCount = 0u; + waitCount = 0u; + status = ca_search ( pName, &chan2 ); + SEVCHK ( status, 0 ); + status = ca_add_event ( DBR_FLOAT, chan2, + nUpdatesTester, &eventCount, &id ); + SEVCHK ( status, 0 ); + status = ca_pend_io ( 20.0 ); + SEVCHK (status, 0); + ca_pend_event ( 0.1 ); + while ( eventCount < 1 && waitCount++ < 100 ) { + printf ( "-" ); + fflush ( stdout ); + ca_pend_event ( 0.1 ); + } + assert ( eventCount > 0 ); + status = ca_clear_channel ( chan2 ); + SEVCHK ( status, 0 ); + showProgressEnd (); } @@ -1902,7 +1922,7 @@ int acctst ( char *pName, unsigned channelCount, unsigned repetitionCount ) exceptionTest ( chan ); arrayTest ( chan ); verifyMonitorSubscriptionFlushIO ( chan ); - monitorSubscriptionFirstUpdateTest ( chan ); + monitorSubscriptionFirstUpdateTest ( pName, chan ); performGrEnumTest ( chan ); performCtrlDoubleTest ( chan ); verifyBlockInPendIO ( chan );