use verify instead of assert
This commit is contained in:
+157
-154
@@ -55,6 +55,9 @@ static epicsTimeStamp showProgressBeginTime;
|
||||
|
||||
static const double timeoutToPendIO = 1e20;
|
||||
|
||||
#define verify(exp) ((exp) ? (void)0 : \
|
||||
epicsAssert(__FILE__, __LINE__, #exp, epicsAssertAuthor))
|
||||
|
||||
void showProgressBegin ( const char *pTestName, unsigned interestLevel )
|
||||
{
|
||||
|
||||
@@ -133,7 +136,7 @@ void monitorSubscriptionFirstUpdateTest ( const char *pName, chid chan, unsigned
|
||||
epicsThreadSleep ( 0.1 );
|
||||
ca_poll (); /* emulate typical GUI */
|
||||
}
|
||||
assert ( eventCount > 0 );
|
||||
verify ( eventCount > 0 );
|
||||
|
||||
/* clear any knowledge of old gets */
|
||||
ca_pend_io ( 1e-5 );
|
||||
@@ -167,7 +170,7 @@ void monitorSubscriptionFirstUpdateTest ( const char *pName, chid chan, unsigned
|
||||
epicsThreadSleep ( 0.1 );
|
||||
ca_poll (); /* emulate typical GUI */
|
||||
}
|
||||
assert ( eventCount > 0 );
|
||||
verify ( eventCount > 0 );
|
||||
|
||||
status = ca_clear_event ( id );
|
||||
SEVCHK (status, 0);
|
||||
@@ -193,7 +196,7 @@ void monitorSubscriptionFirstUpdateTest ( const char *pName, chid chan, unsigned
|
||||
epicsThreadSleep ( 0.1 );
|
||||
ca_poll (); /* emulate typical GUI */
|
||||
}
|
||||
assert ( eventCount > 0 );
|
||||
verify ( eventCount > 0 );
|
||||
|
||||
/* verify that a ca_put() produces an update, but */
|
||||
/* this may fail if there is an unusual deadband */
|
||||
@@ -224,7 +227,7 @@ void monitorSubscriptionFirstUpdateTest ( const char *pName, chid chan, unsigned
|
||||
epicsThreadSleep ( 0.1 );
|
||||
ca_poll (); /* emulate typical GUI */
|
||||
}
|
||||
assert ( eventCount > 0 );
|
||||
verify ( eventCount > 0 );
|
||||
|
||||
/* clean up */
|
||||
status = ca_clear_channel ( chan2 );
|
||||
@@ -282,7 +285,7 @@ void verifyMonitorSubscriptionFlushIO ( chid chan, unsigned interestLevel )
|
||||
epicsThreadSleep ( 0.1 );
|
||||
ca_poll (); /* emulate typical GUI */
|
||||
}
|
||||
assert ( eventCount > 0 );
|
||||
verify ( eventCount > 0 );
|
||||
status = ca_clear_event ( id );
|
||||
SEVCHK (status, 0);
|
||||
|
||||
@@ -293,9 +296,9 @@ void accessRightsStateChange ( struct access_rights_handler_args args )
|
||||
{
|
||||
appChan *pChan = (appChan *) ca_puser ( args.chid );
|
||||
|
||||
assert ( pChan->channel == args.chid );
|
||||
assert ( args.ar.read_access == ca_read_access ( args.chid ) );
|
||||
assert ( args.ar.write_access == ca_write_access ( args.chid ) );
|
||||
verify ( pChan->channel == args.chid );
|
||||
verify ( args.ar.read_access == ca_read_access ( args.chid ) );
|
||||
verify ( args.ar.write_access == ca_write_access ( args.chid ) );
|
||||
accessUpdateCount++;
|
||||
pChan->accessUpdateCount++;
|
||||
}
|
||||
@@ -304,12 +307,12 @@ void getCallbackStateChange ( struct event_handler_args args )
|
||||
{
|
||||
appChan *pChan = (appChan *) args.usr;
|
||||
|
||||
assert ( pChan->channel == args.chid );
|
||||
assert ( pChan->connected );
|
||||
verify ( pChan->channel == args.chid );
|
||||
verify ( pChan->connected );
|
||||
if ( args.status != ECA_NORMAL ) {
|
||||
printf ( "getCallbackStateChange abnormal status was \"%s\"\n",
|
||||
ca_message ( args.status ) );
|
||||
assert ( args.status == ECA_NORMAL );
|
||||
verify ( args.status == ECA_NORMAL );
|
||||
}
|
||||
|
||||
getCallbackCount++;
|
||||
@@ -322,25 +325,25 @@ void connectionStateChange ( struct connection_handler_args args )
|
||||
|
||||
appChan *pChan = (appChan *) ca_puser ( args.chid );
|
||||
|
||||
assert ( pChan->channel == args.chid );
|
||||
verify ( pChan->channel == args.chid );
|
||||
|
||||
if ( args.op == CA_OP_CONN_UP ) {
|
||||
if ( pChan->accessRightsHandlerInstalled ) {
|
||||
assert ( pChan->accessUpdateCount > 0u );
|
||||
verify ( pChan->accessUpdateCount > 0u );
|
||||
}
|
||||
assert ( ! pChan->connected );
|
||||
verify ( ! pChan->connected );
|
||||
pChan->connected = 1;
|
||||
status = ca_get_callback ( DBR_STS_STRING, args.chid, getCallbackStateChange, pChan );
|
||||
SEVCHK (status, 0);
|
||||
}
|
||||
else if ( args.op == CA_OP_CONN_DOWN ) {
|
||||
assert ( pChan->connected );
|
||||
verify ( pChan->connected );
|
||||
pChan->connected = 0u;
|
||||
assert ( ! ca_read_access ( args.chid ) );
|
||||
assert ( ! ca_write_access ( args.chid ) );
|
||||
verify ( ! ca_read_access ( args.chid ) );
|
||||
verify ( ! ca_write_access ( args.chid ) );
|
||||
}
|
||||
else {
|
||||
assert ( 0 );
|
||||
verify ( 0 );
|
||||
}
|
||||
pChan->connectionUpdateCount++;
|
||||
connectionUpdateCount++;
|
||||
@@ -351,11 +354,11 @@ void subscriptionStateChange ( struct event_handler_args args )
|
||||
struct dbr_sts_string * pdbrgs = ( struct dbr_sts_string * ) args.dbr;
|
||||
appChan *pChan = (appChan *) args.usr;
|
||||
|
||||
assert ( args.status == ECA_NORMAL );
|
||||
assert ( pChan->channel == args.chid );
|
||||
assert ( pChan->connected );
|
||||
assert ( args.type == DBR_STS_STRING );
|
||||
assert ( strlen ( pdbrgs->value ) <= MAX_STRING_SIZE );
|
||||
verify ( args.status == ECA_NORMAL );
|
||||
verify ( pChan->channel == args.chid );
|
||||
verify ( pChan->connected );
|
||||
verify ( args.type == DBR_STS_STRING );
|
||||
verify ( strlen ( pdbrgs->value ) <= MAX_STRING_SIZE );
|
||||
pChan->subscriptionUpdateCount++;
|
||||
subscriptionUpdateCount++;
|
||||
}
|
||||
@@ -422,7 +425,7 @@ void verifyConnectionHandlerConnect ( appChan *pChans, unsigned chanCount,
|
||||
subscriptionStateChange, &pChans[j], &pChans[j].subscription );
|
||||
SEVCHK ( status, NULL );
|
||||
|
||||
assert ( ca_test_io () == ECA_IODONE );
|
||||
verify ( ca_test_io () == ECA_IODONE );
|
||||
}
|
||||
|
||||
ca_flush_io ();
|
||||
@@ -436,13 +439,13 @@ void verifyConnectionHandlerConnect ( appChan *pChans, unsigned chanCount,
|
||||
}
|
||||
|
||||
for ( j = 0u; j < chanCount; j++ ) {
|
||||
assert ( pChans[j].getCallbackCount == 1u);
|
||||
assert ( pChans[j].connectionUpdateCount > 0 );
|
||||
verify ( pChans[j].getCallbackCount == 1u);
|
||||
verify ( pChans[j].connectionUpdateCount > 0 );
|
||||
if ( pChans[j].connectionUpdateCount > 1u ) {
|
||||
printf ("Unusual connection activity count = %u on channel %s?\n",
|
||||
pChans[j].connectionUpdateCount, pChans[j].name );
|
||||
}
|
||||
assert ( pChans[j].accessUpdateCount > 0 );
|
||||
verify ( pChans[j].accessUpdateCount > 0 );
|
||||
if ( pChans[j].accessUpdateCount > 1u ) {
|
||||
printf ("Unusual access rights activity count = %u on channel %s?\n",
|
||||
pChans[j].connectionUpdateCount, pChans[j].name );
|
||||
@@ -515,7 +518,7 @@ void verifyBlockingConnect ( appChan *pChans, unsigned chanCount,
|
||||
i = 0;
|
||||
while ( backgroundConnCount > 1u ) {
|
||||
backgroundConnCount = ca_get_ioc_connection_count ();
|
||||
assert ( i++ < 10 );
|
||||
verify ( i++ < 10 );
|
||||
printf ( "Z" );
|
||||
fflush ( stdout );
|
||||
epicsThreadSleep ( 1.0 );
|
||||
@@ -535,11 +538,11 @@ void verifyBlockingConnect ( appChan *pChans, unsigned chanCount,
|
||||
SEVCHK ( status, NULL );
|
||||
|
||||
if ( ca_state ( pChans[j].channel ) == cs_conn ) {
|
||||
assert ( VALID_DB_REQ ( ca_field_type ( pChans[j].channel ) ) );
|
||||
verify ( VALID_DB_REQ ( ca_field_type ( pChans[j].channel ) ) );
|
||||
}
|
||||
else {
|
||||
assert ( INVALID_DB_REQ ( ca_field_type ( pChans[j].channel ) ) );
|
||||
assert ( ca_test_io () == ECA_IOINPROGRESS );
|
||||
verify ( INVALID_DB_REQ ( ca_field_type ( pChans[j].channel ) ) );
|
||||
verify ( ca_test_io () == ECA_IOINPROGRESS );
|
||||
}
|
||||
|
||||
status = ca_replace_access_rights_event (
|
||||
@@ -577,14 +580,14 @@ void verifyBlockingConnect ( appChan *pChans, unsigned chanCount,
|
||||
|
||||
showProgress ( interestLevel );
|
||||
|
||||
assert ( ca_test_io () == ECA_IODONE );
|
||||
verify ( ca_test_io () == ECA_IODONE );
|
||||
|
||||
connections = ca_get_ioc_connection_count ();
|
||||
assert ( connections == backgroundConnCount );
|
||||
verify ( connections == backgroundConnCount );
|
||||
|
||||
for ( j = 0u; j < chanCount; j++ ) {
|
||||
assert ( VALID_DB_REQ ( ca_field_type ( pChans[j].channel ) ) );
|
||||
assert ( ca_state ( pChans[j].channel ) == cs_conn );
|
||||
verify ( VALID_DB_REQ ( ca_field_type ( pChans[j].channel ) ) );
|
||||
verify ( ca_state ( pChans[j].channel ) == cs_conn );
|
||||
SEVCHK ( ca_clear_channel ( pChans[j].channel ), NULL );
|
||||
}
|
||||
|
||||
@@ -605,7 +608,7 @@ void verifyBlockingConnect ( appChan *pChans, unsigned chanCount,
|
||||
while ( ca_get_ioc_connection_count () != backgroundConnCount ) {
|
||||
epicsThreadSleep ( 0.1 );
|
||||
ca_poll (); /* emulate typical GUI */
|
||||
assert ( ++j < 100 );
|
||||
verify ( ++j < 100 );
|
||||
}
|
||||
}
|
||||
showProgress ( interestLevel );
|
||||
@@ -621,7 +624,7 @@ void verifyBlockingConnect ( appChan *pChans, unsigned chanCount,
|
||||
SEVCHK ( status, NULL );
|
||||
}
|
||||
|
||||
assert ( ca_test_io () == ECA_IODONE );
|
||||
verify ( ca_test_io () == ECA_IODONE );
|
||||
|
||||
/*
|
||||
* verify ca_pend_io() does not see old search requests
|
||||
@@ -650,13 +653,13 @@ void verifyBlockingConnect ( appChan *pChans, unsigned chanCount,
|
||||
SEVCHK ( status, NULL );
|
||||
status = ca_pend_io ( 1e-16 );
|
||||
if ( status != ECA_TIMEOUT ) {
|
||||
assert ( ca_state ( pChans[1].channel ) == cs_conn );
|
||||
verify ( ca_state ( pChans[1].channel ) == cs_conn );
|
||||
}
|
||||
status = ca_clear_channel ( pChans[1].channel );
|
||||
SEVCHK ( status, NULL );
|
||||
}
|
||||
else {
|
||||
assert ( ca_state( pChans[0].channel ) == cs_conn );
|
||||
verify ( ca_state( pChans[0].channel ) == cs_conn );
|
||||
}
|
||||
}
|
||||
status = ca_clear_channel( pChans[0].channel );
|
||||
@@ -721,9 +724,9 @@ void grEnumTest ( chid chan, unsigned interestLevel )
|
||||
SEVCHK (status, "DBR_GR_ENUM ca_get()");
|
||||
|
||||
status = ca_pend_io (timeoutToPendIO);
|
||||
assert (status == ECA_NORMAL);
|
||||
verify (status == ECA_NORMAL);
|
||||
|
||||
assert ( ge.no_str >= 0 && ge.no_str < NELEMENTS(ge.strs) );
|
||||
verify ( ge.no_str >= 0 && ge.no_str < NELEMENTS(ge.strs) );
|
||||
if ( ge.no_str > 0 ) {
|
||||
printf ("Enum state str = {");
|
||||
count = (unsigned) ge.no_str;
|
||||
@@ -763,7 +766,7 @@ void ctrlDoubleTest ( chid chan, unsigned interestLevel )
|
||||
|
||||
size = sizeof (*pDbl)*ca_element_count(chan);
|
||||
pDbl = malloc (size);
|
||||
assert (pDbl!=NULL);
|
||||
verify (pDbl!=NULL);
|
||||
|
||||
/*
|
||||
* initialize the array
|
||||
@@ -782,7 +785,7 @@ void ctrlDoubleTest ( chid chan, unsigned interestLevel )
|
||||
|
||||
size = dbr_size_n(DBR_CTRL_DOUBLE, ca_element_count(chan));
|
||||
pCtrlDbl = (struct dbr_ctrl_double *) malloc (size);
|
||||
assert (pCtrlDbl!=NULL);
|
||||
verify (pCtrlDbl!=NULL);
|
||||
|
||||
/*
|
||||
* read the array from the PV
|
||||
@@ -792,14 +795,14 @@ void ctrlDoubleTest ( chid chan, unsigned interestLevel )
|
||||
chan, pCtrlDbl);
|
||||
SEVCHK (status, "ctrlDoubleTest, ca_array_get");
|
||||
status = ca_pend_io ( timeoutToPendIO );
|
||||
assert (status==ECA_NORMAL);
|
||||
verify (status==ECA_NORMAL);
|
||||
|
||||
/*
|
||||
* verify the result
|
||||
*/
|
||||
for (i=0; i<nElem; i++) {
|
||||
double diff = pDbl[i] - sin (i*slice);
|
||||
assert (fabs(diff) < DBL_EPSILON*4);
|
||||
verify (fabs(diff) < DBL_EPSILON*4);
|
||||
}
|
||||
|
||||
free (pCtrlDbl);
|
||||
@@ -830,7 +833,7 @@ void verifyBlockInPendIO ( chid chan, unsigned interestLevel )
|
||||
"get block test failed - val written %d\n", req );
|
||||
printf (
|
||||
"get block test failed - val read %d\n", resp );
|
||||
assert ( 0 );
|
||||
verify ( 0 );
|
||||
}
|
||||
}
|
||||
else if ( resp != -100 ) {
|
||||
@@ -847,7 +850,7 @@ void verifyBlockInPendIO ( chid chan, unsigned interestLevel )
|
||||
"get block test failed - val written %d\n", req);
|
||||
printf (
|
||||
"get block test failed - val read %d\n", resp);
|
||||
assert(0);
|
||||
verify (0);
|
||||
}
|
||||
showProgressEnd ( interestLevel );
|
||||
}
|
||||
@@ -879,7 +882,7 @@ void floatTest ( chid chan, dbr_float_t beginValue, dbr_float_t increment,
|
||||
if ( fabs ( fval - fretval ) > epsilon ) {
|
||||
printf ( "float test failed val written %f\n", fval );
|
||||
printf ( "float test failed val read %f\n", fretval );
|
||||
assert (0);
|
||||
verify (0);
|
||||
}
|
||||
fval += increment;
|
||||
}
|
||||
@@ -909,7 +912,7 @@ void doubleTest ( chid chan, dbr_double_t beginValue,
|
||||
if ( fabs ( fval - fretval ) > epsilon ) {
|
||||
printf ( "double test failed val written %f\n", fval );
|
||||
printf ( "double test failed val read %f\n", fretval );
|
||||
assert ( 0 );
|
||||
verify ( 0 );
|
||||
}
|
||||
fval += increment;
|
||||
}
|
||||
@@ -960,7 +963,7 @@ void verifyAnalogIO ( chid chan, int dataType, double min, double max,
|
||||
(dbr_double_t) epsil, iter );
|
||||
}
|
||||
else {
|
||||
assert ( 0 );
|
||||
verify ( 0 );
|
||||
}
|
||||
}
|
||||
base = max;
|
||||
@@ -981,7 +984,7 @@ void verifyAnalogIO ( chid chan, int dataType, double min, double max,
|
||||
(dbr_double_t) epsil, iter );
|
||||
}
|
||||
else {
|
||||
assert ( 0 );
|
||||
verify ( 0 );
|
||||
}
|
||||
}
|
||||
base = - max;
|
||||
@@ -1002,7 +1005,7 @@ void verifyAnalogIO ( chid chan, int dataType, double min, double max,
|
||||
(dbr_double_t) epsil, iter );
|
||||
}
|
||||
else {
|
||||
assert ( 0 );
|
||||
verify ( 0 );
|
||||
}
|
||||
}
|
||||
showProgressEnd ( interestLevel );
|
||||
@@ -1042,7 +1045,7 @@ void verifyLongIO ( chid chan, unsigned interestLevel )
|
||||
ca_get ( DBR_LONG, chan, &rdbk );
|
||||
status = ca_pend_io ( timeoutToPendIO );
|
||||
SEVCHK ( status, "get pend failed\n" );
|
||||
assert ( iter == rdbk );
|
||||
verify ( iter == rdbk );
|
||||
}
|
||||
showProgressEnd ( interestLevel );
|
||||
}
|
||||
@@ -1087,7 +1090,7 @@ void verifyShortIO ( chid chan, unsigned interestLevel )
|
||||
ca_get ( DBR_SHORT, chan, &rdbk );
|
||||
status = ca_pend_io ( timeoutToPendIO );
|
||||
SEVCHK ( status, "get pend failed\n" );
|
||||
assert ( iter == rdbk );
|
||||
verify ( iter == rdbk );
|
||||
}
|
||||
showProgressEnd ( interestLevel );
|
||||
}
|
||||
@@ -1198,7 +1201,7 @@ void verifyHighThroughputWriteCallback ( chid chan, unsigned interestLevel )
|
||||
status = ca_pend_io ( timeoutToPendIO );
|
||||
SEVCHK ( status,
|
||||
"verifyHighThroughputWriteCallback, verification get pend" );
|
||||
assert ( dval == i );
|
||||
verify ( dval == i );
|
||||
showProgressEnd ( interestLevel );
|
||||
}
|
||||
else {
|
||||
@@ -1219,14 +1222,14 @@ void verifyBadString ( chid chan, unsigned interestLevel )
|
||||
showProgressBegin ( "verifyBadString", interestLevel );
|
||||
memset (stimStr, 'a', sizeof (stimStr) );
|
||||
status = ca_array_put ( DBR_STRING, 1u, chan, stimStr );
|
||||
assert ( status != ECA_NORMAL );
|
||||
verify ( status != ECA_NORMAL );
|
||||
sprintf ( stimStr, "%u", 8u );
|
||||
status = ca_array_put ( DBR_STRING, 1u, chan, stimStr );
|
||||
assert ( status == ECA_NORMAL );
|
||||
verify ( status == ECA_NORMAL );
|
||||
status = ca_array_get ( DBR_STRING, 1u, chan, respStr );
|
||||
assert ( status == ECA_NORMAL );
|
||||
verify ( status == ECA_NORMAL );
|
||||
status = ca_pend_io ( timeoutToPendIO );
|
||||
assert ( status == ECA_NORMAL );
|
||||
verify ( status == ECA_NORMAL );
|
||||
if ( strcmp ( stimStr, respStr ) ) {
|
||||
printf (
|
||||
"Test fails if stim \"%s\" isnt roughly equiv to resp \"%s\"\n",
|
||||
@@ -1473,7 +1476,7 @@ void channelClearWithEventTrafficTest ( const char *pName, unsigned interestLeve
|
||||
CA_PRIORITY_DEFAULT, &chan );
|
||||
status = ca_pend_io ( timeoutToPendIO );
|
||||
SEVCHK ( status, "channelClearWithEventTrafficTest: channel connect failed" );
|
||||
assert ( status == ECA_NORMAL );
|
||||
verify ( status == ECA_NORMAL );
|
||||
|
||||
count = 0u;
|
||||
SEVCHK ( ca_add_event ( DBR_GR_FLOAT, chan, noopSubscriptionStateChange,
|
||||
@@ -1516,7 +1519,7 @@ void selfDeleteEvent ( struct event_handler_args args )
|
||||
{
|
||||
int status;
|
||||
status = ca_clear_event ( globalEventID );
|
||||
assert ( status == ECA_NORMAL );
|
||||
verify ( status == ECA_NORMAL );
|
||||
}
|
||||
|
||||
void eventClearTest ( chid chan )
|
||||
@@ -1601,7 +1604,7 @@ void exceptionTest ( chid chan, unsigned interestLevel )
|
||||
SEVCHK ( status, "exception notify install failed" );
|
||||
|
||||
pRS = malloc ( ca_element_count (chan) * sizeof (*pRS) );
|
||||
assert ( pRS );
|
||||
verify ( pRS );
|
||||
status = ca_array_get ( DBR_PUT_ACKT,
|
||||
ca_element_count (chan), chan, pRS );
|
||||
SEVCHK ( status, "array read request failed" );
|
||||
@@ -1627,7 +1630,7 @@ void exceptionTest ( chid chan, unsigned interestLevel )
|
||||
status = ca_array_get_callback ( DBR_PUT_ACKT,
|
||||
ca_element_count (chan), chan, arrayEventExceptionNotify, 0 );
|
||||
if ( status != ECA_NORMAL ) {
|
||||
assert ( status == ECA_BADTYPE || status == ECA_GETFAIL );
|
||||
verify ( status == ECA_BADTYPE || status == ECA_GETFAIL );
|
||||
arrayEventExceptionNotifyComplete = 1;
|
||||
}
|
||||
ca_flush_io ();
|
||||
@@ -1651,7 +1654,7 @@ void exceptionTest ( chid chan, unsigned interestLevel )
|
||||
status = ca_add_array_event ( DBR_PUT_ACKT, ca_element_count ( chan ),
|
||||
chan, arrayEventExceptionNotify, 0, 0.0, 0.0, 0.0, &id );
|
||||
if ( status != ECA_NORMAL ) {
|
||||
assert ( status == ECA_BADTYPE || status == ECA_GETFAIL );
|
||||
verify ( status == ECA_BADTYPE || status == ECA_GETFAIL );
|
||||
arrayEventExceptionNotifyComplete = 1;
|
||||
}
|
||||
ca_flush_io ();
|
||||
@@ -1679,14 +1682,14 @@ void exceptionTest ( chid chan, unsigned interestLevel )
|
||||
SEVCHK ( status, "exception notify install failed" );
|
||||
|
||||
pWS = malloc ( ca_element_count (chan) * MAX_STRING_SIZE );
|
||||
assert ( pWS );
|
||||
verify ( pWS );
|
||||
for ( i = 0; i < ca_element_count (chan); i++ ) {
|
||||
strcpy ( pWS[i], "@#$%" );
|
||||
}
|
||||
status = ca_array_put ( DBR_STRING,
|
||||
ca_element_count (chan), chan, pWS );
|
||||
if ( status != ECA_NORMAL ) {
|
||||
assert ( status == ECA_BADTYPE || status == ECA_PUTFAIL );
|
||||
verify ( status == ECA_BADTYPE || status == ECA_PUTFAIL );
|
||||
acctstExceptionCount++; /* local PV case */
|
||||
}
|
||||
ca_flush_io ();
|
||||
@@ -1711,7 +1714,7 @@ void exceptionTest ( chid chan, unsigned interestLevel )
|
||||
unsigned i;
|
||||
|
||||
pWS = malloc ( ca_element_count (chan) * MAX_STRING_SIZE );
|
||||
assert ( pWS );
|
||||
verify ( pWS );
|
||||
for ( i = 0; i < ca_element_count (chan); i++ ) {
|
||||
strcpy ( pWS[i], "@#$%" );
|
||||
}
|
||||
@@ -1751,7 +1754,7 @@ void arrayReadNotify ( struct event_handler_args args )
|
||||
dbr_double_t *pRF = ( dbr_double_t * ) ( args.dbr );
|
||||
int i;
|
||||
for ( i = 0; i < args.count; i++ ) {
|
||||
assert ( pWF[i] == pRF[i] );
|
||||
verify ( pWF[i] == pRF[i] );
|
||||
}
|
||||
arrayReadNotifyComplete = 1;
|
||||
}
|
||||
@@ -1781,10 +1784,10 @@ void arrayTest ( chid chan, unsigned maxArrayBytes, unsigned interestLevel )
|
||||
showProgressBegin ( "arrayTest", interestLevel );
|
||||
|
||||
pRF = (dbr_double_t *) calloc ( ca_element_count (chan), sizeof (*pRF) );
|
||||
assert ( pRF != NULL );
|
||||
verify ( pRF != NULL );
|
||||
|
||||
pWF = (dbr_double_t *) calloc ( ca_element_count (chan), sizeof (*pWF) );
|
||||
assert ( pWF != NULL );
|
||||
verify ( pWF != NULL );
|
||||
|
||||
/*
|
||||
* write some random numbers into the array
|
||||
@@ -1810,7 +1813,7 @@ void arrayTest ( chid chan, unsigned maxArrayBytes, unsigned interestLevel )
|
||||
* verify read response matches values written
|
||||
*/
|
||||
for ( i = 0; i < ca_element_count ( chan ); i++ ) {
|
||||
assert ( pWF[i] == pRF[i] );
|
||||
verify ( pWF[i] == pRF[i] );
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -1823,7 +1826,7 @@ void arrayTest ( chid chan, unsigned maxArrayBytes, unsigned interestLevel )
|
||||
if ( size <= maxArrayBytes ) {
|
||||
|
||||
pRS = malloc ( ca_element_count (chan) * MAX_STRING_SIZE );
|
||||
assert ( pRS );
|
||||
verify ( pRS );
|
||||
status = ca_array_get ( DBR_STRING,
|
||||
ca_element_count (chan), chan, pRS );
|
||||
SEVCHK ( status, "array read request failed" );
|
||||
@@ -1897,7 +1900,7 @@ void arrayTest ( chid chan, unsigned maxArrayBytes, unsigned interestLevel )
|
||||
}
|
||||
}
|
||||
else {
|
||||
assert ( status == ECA_BADCOUNT );
|
||||
verify ( status == ECA_BADCOUNT );
|
||||
}
|
||||
status = ca_add_exception_event ( 0, 0 );
|
||||
SEVCHK ( status, "exception notify install failed" );
|
||||
@@ -1926,54 +1929,54 @@ void unequalServerBufferSizeTest ( const char * pName, unsigned interestLevel )
|
||||
|
||||
/* this test must be run when no channels are connected */
|
||||
connections = ca_get_ioc_connection_count ();
|
||||
assert ( connections == 0u );
|
||||
verify ( connections == 0u );
|
||||
|
||||
status = ca_create_channel ( pName, 0, 0, 0, & newChan );
|
||||
assert ( status == ECA_NORMAL );
|
||||
verify ( status == ECA_NORMAL );
|
||||
status = ca_pend_io ( timeoutToPendIO );
|
||||
assert ( status == ECA_NORMAL );
|
||||
verify ( status == ECA_NORMAL );
|
||||
|
||||
showProgress ( interestLevel );
|
||||
|
||||
if ( ! ca_write_access ( newChan ) ) {
|
||||
printf ( "skipping unequal buffer size test - no write access\n" );
|
||||
status = ca_clear_channel ( newChan );
|
||||
assert ( status == ECA_NORMAL );
|
||||
verify ( status == ECA_NORMAL );
|
||||
return;
|
||||
}
|
||||
|
||||
pRF = (dbr_double_t *) calloc ( ca_element_count (newChan), sizeof (*pRF) );
|
||||
assert ( pRF != NULL );
|
||||
verify ( pRF != NULL );
|
||||
|
||||
pWF = (dbr_double_t *) calloc ( ca_element_count (newChan), sizeof (*pWF) );
|
||||
assert ( pWF != NULL );
|
||||
verify ( pWF != NULL );
|
||||
|
||||
status = ca_array_get ( DBR_DOUBLE, ca_element_count ( newChan ),
|
||||
newChan, pRF );
|
||||
status = ca_pend_io ( timeoutToPendIO );
|
||||
assert ( status == ECA_NORMAL );
|
||||
verify ( status == ECA_NORMAL );
|
||||
status = ca_clear_channel ( newChan );
|
||||
assert ( status == ECA_NORMAL );
|
||||
verify ( status == ECA_NORMAL );
|
||||
|
||||
showProgress ( interestLevel );
|
||||
|
||||
status = ca_create_channel ( pName, 0, 0, 0, &newChan );
|
||||
assert ( status == ECA_NORMAL );
|
||||
verify ( status == ECA_NORMAL );
|
||||
status = ca_pend_io ( timeoutToPendIO );
|
||||
assert ( status == ECA_NORMAL );
|
||||
verify ( status == ECA_NORMAL );
|
||||
|
||||
showProgress ( interestLevel );
|
||||
|
||||
status = ca_array_put ( DBR_DOUBLE, ca_element_count ( newChan ),
|
||||
newChan, pWF );
|
||||
assert ( status == ECA_NORMAL );
|
||||
verify ( status == ECA_NORMAL );
|
||||
status = ca_array_get ( DBR_DOUBLE, 1,
|
||||
newChan, pRF );
|
||||
assert ( status == ECA_NORMAL );
|
||||
verify ( status == ECA_NORMAL );
|
||||
status = ca_pend_io ( timeoutToPendIO );
|
||||
assert ( status == ECA_NORMAL );
|
||||
verify ( status == ECA_NORMAL );
|
||||
status = ca_clear_channel ( newChan );
|
||||
assert ( status == ECA_NORMAL );
|
||||
verify ( status == ECA_NORMAL );
|
||||
|
||||
free ( pRF );
|
||||
free ( pWF );
|
||||
@@ -2002,7 +2005,7 @@ void pend_event_delay_test ( dbr_double_t request )
|
||||
accuracy = 100.0*(delay-request)/request;
|
||||
printf ( "CA pend event delay = %f sec results in error = %f %%\n",
|
||||
request, accuracy );
|
||||
assert ( fabs(accuracy) < 10.0 );
|
||||
verify ( fabs(accuracy) < 10.0 );
|
||||
}
|
||||
|
||||
void caTaskExitTest ( unsigned interestLevel )
|
||||
@@ -2022,26 +2025,26 @@ void verifyDataTypeMacros (void)
|
||||
int type;
|
||||
|
||||
type = dbf_type_to_DBR ( DBF_SHORT );
|
||||
assert ( type == DBR_SHORT );
|
||||
verify ( type == DBR_SHORT );
|
||||
type = dbf_type_to_DBR_STS ( DBF_SHORT );
|
||||
assert ( type == DBR_STS_SHORT );
|
||||
verify ( type == DBR_STS_SHORT );
|
||||
type = dbf_type_to_DBR_GR ( DBF_SHORT );
|
||||
assert ( type == DBR_GR_SHORT );
|
||||
verify ( type == DBR_GR_SHORT );
|
||||
type = dbf_type_to_DBR_CTRL ( DBF_SHORT );
|
||||
assert ( type == DBR_CTRL_SHORT );
|
||||
verify ( type == DBR_CTRL_SHORT );
|
||||
type = dbf_type_to_DBR_TIME ( DBF_SHORT );
|
||||
assert ( type == DBR_TIME_SHORT );
|
||||
assert ( strcmp ( dbr_type_to_text( DBR_SHORT ), "DBR_SHORT" ) == 0 );
|
||||
assert ( strcmp ( dbf_type_to_text( DBF_SHORT ), "DBF_SHORT" ) == 0 );
|
||||
assert ( dbr_type_is_SHORT ( DBR_SHORT ) );
|
||||
assert ( dbr_type_is_valid ( DBR_SHORT ) );
|
||||
assert ( dbf_type_is_valid ( DBF_SHORT ) );
|
||||
verify ( type == DBR_TIME_SHORT );
|
||||
verify ( strcmp ( dbr_type_to_text( DBR_SHORT ), "DBR_SHORT" ) == 0 );
|
||||
verify ( strcmp ( dbf_type_to_text( DBF_SHORT ), "DBF_SHORT" ) == 0 );
|
||||
verify ( dbr_type_is_SHORT ( DBR_SHORT ) );
|
||||
verify ( dbr_type_is_valid ( DBR_SHORT ) );
|
||||
verify ( dbf_type_is_valid ( DBF_SHORT ) );
|
||||
{
|
||||
int dataType = -1;
|
||||
dbf_text_to_type ( "DBF_SHORT", dataType );
|
||||
assert ( dataType == DBF_SHORT );
|
||||
verify ( dataType == DBF_SHORT );
|
||||
dbr_text_to_type ( "DBR_CLASS_NAME", dataType );
|
||||
assert ( dataType == DBR_CLASS_NAME );
|
||||
verify ( dataType == DBR_CLASS_NAME );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2084,7 +2087,7 @@ void clearChannelInGetCallbackTest ( const char *pName, unsigned level )
|
||||
|
||||
for ( i = 0; ca_get_ioc_connection_count () > 0 ; i++ ) {
|
||||
ca_pend_event ( 0.1 );
|
||||
assert ( i < 100 );
|
||||
verify ( i < 100 );
|
||||
}
|
||||
|
||||
status = ca_create_channel ( pName, 0, 0, 0, & chan );
|
||||
@@ -2098,7 +2101,7 @@ void clearChannelInGetCallbackTest ( const char *pName, unsigned level )
|
||||
|
||||
for ( i = 0; ca_get_ioc_connection_count () > 0 ; i++ ) {
|
||||
ca_pend_event ( 0.1 );
|
||||
assert ( i < 100 );
|
||||
verify ( i < 100 );
|
||||
}
|
||||
|
||||
showProgressEnd ( level );
|
||||
@@ -2115,7 +2118,7 @@ void clearChannelInPutCallbackTest ( const char *pName, unsigned level )
|
||||
|
||||
for ( i = 0; ca_get_ioc_connection_count () > 0 ; i++ ) {
|
||||
ca_pend_event ( 0.1 );
|
||||
assert ( i < 100 );
|
||||
verify ( i < 100 );
|
||||
}
|
||||
|
||||
status = ca_create_channel ( pName, 0, 0, 0, & chan );
|
||||
@@ -2130,7 +2133,7 @@ void clearChannelInPutCallbackTest ( const char *pName, unsigned level )
|
||||
|
||||
for ( i = 0; ca_get_ioc_connection_count () > 0 ; i++ ) {
|
||||
ca_pend_event ( 0.1 );
|
||||
assert ( i < 100 );
|
||||
verify ( i < 100 );
|
||||
}
|
||||
|
||||
showProgressEnd ( level );
|
||||
@@ -2146,7 +2149,7 @@ void clearChannelInSubscrCallbackTest ( const char *pName, unsigned level )
|
||||
|
||||
for ( i = 0; ca_get_ioc_connection_count () > 0 ; i++ ) {
|
||||
ca_pend_event ( 0.1 );
|
||||
assert ( i < 100 );
|
||||
verify ( i < 100 );
|
||||
}
|
||||
|
||||
status = ca_create_channel ( pName, 0, 0, 0, & chan );
|
||||
@@ -2161,7 +2164,7 @@ void clearChannelInSubscrCallbackTest ( const char *pName, unsigned level )
|
||||
|
||||
for ( i = 0; ca_get_ioc_connection_count () > 0 ; i++ ) {
|
||||
ca_pend_event ( 0.1 );
|
||||
assert ( i < 100 );
|
||||
verify ( i < 100 );
|
||||
}
|
||||
|
||||
showProgressEnd ( level );
|
||||
@@ -2172,7 +2175,7 @@ void monitorAddConnectionCallback ( struct connection_handler_args args )
|
||||
if ( args.op == CA_OP_CONN_UP ) {
|
||||
unsigned * pEventCount = ( unsigned * ) ca_puser ( args.chid );
|
||||
int status;
|
||||
assert ( *pEventCount == 0u );
|
||||
verify ( *pEventCount == 0u );
|
||||
(*pEventCount)++;
|
||||
status = ca_create_subscription ( DBR_DOUBLE, 1,
|
||||
args.chid, DBE_VALUE, nUpdatesTester, ca_puser ( args.chid ), 0 );
|
||||
@@ -2201,7 +2204,7 @@ void monitorAddConnectionCallbackTest ( const char *pName, unsigned interestLeve
|
||||
|
||||
for ( i = 0; ca_get_ioc_connection_count () > 0 ; i++ ) {
|
||||
ca_pend_event ( 0.1 );
|
||||
assert ( i < 100 );
|
||||
verify ( i < 100 );
|
||||
}
|
||||
|
||||
status = ca_create_channel ( pName,
|
||||
@@ -2211,15 +2214,15 @@ void monitorAddConnectionCallbackTest ( const char *pName, unsigned interestLeve
|
||||
while ( eventCount < 2 ) {
|
||||
ca_pend_event ( 0.1 );
|
||||
}
|
||||
assert ( eventCount == 2u );
|
||||
verify ( eventCount == 2u );
|
||||
|
||||
status = ca_get_callback ( DBR_DOUBLE, chan, nUpdatesTester, &getCallbackCount );
|
||||
SEVCHK ( status, "monitorAddConnectionCallback get callback" );
|
||||
while ( getCallbackCount == 0 ) {
|
||||
ca_pend_event ( 0.1 );
|
||||
}
|
||||
assert ( eventCount == 2u );
|
||||
assert ( getCallbackCount == 1u );
|
||||
verify ( eventCount == 2u );
|
||||
verify ( getCallbackCount == 1u );
|
||||
|
||||
status = ca_clear_channel ( chan );
|
||||
SEVCHK ( status, "monitorAddConnectionCallbackTest clear channel" );
|
||||
@@ -2308,7 +2311,7 @@ void monitorUpdateTest ( chid chan, unsigned interestLevel )
|
||||
}
|
||||
printf ( "-" );
|
||||
fflush ( stdout );
|
||||
assert ( tries++ < 50 );
|
||||
verify ( tries++ < 50 );
|
||||
}
|
||||
|
||||
showProgress ( interestLevel );
|
||||
@@ -2341,7 +2344,7 @@ void monitorUpdateTest ( chid chan, unsigned interestLevel )
|
||||
|
||||
if ( getResp != temp ) {
|
||||
printf ( "getResp=%f, temp=%f\n", getResp, temp );
|
||||
assert ( getResp == temp );
|
||||
verify ( getResp == temp );
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -2358,7 +2361,7 @@ void monitorUpdateTest ( chid chan, unsigned interestLevel )
|
||||
* we shouldnt see old monitors because
|
||||
* we resubscribed
|
||||
*/
|
||||
assert ( test[j].count <= i + 2 );
|
||||
verify ( test[j].count <= i + 2 );
|
||||
if ( test[j].lastValue == temp ) {
|
||||
if ( test[j].count < i + 1 ) {
|
||||
tmpFlowCtrlCount++;
|
||||
@@ -2371,7 +2374,7 @@ void monitorUpdateTest ( chid chan, unsigned interestLevel )
|
||||
break;
|
||||
}
|
||||
if ( passCount == prevPassCount ) {
|
||||
assert ( tries++ < 500 );
|
||||
verify ( tries++ < 500 );
|
||||
if ( tries % 50 == 0 ) {
|
||||
for ( j = 0; j <= i; j++ ) {
|
||||
dbr_float_t pat = monitorUpdateTestPattern ( j );
|
||||
@@ -2431,7 +2434,7 @@ void verifyReasonableBeaconPeriod ( chid chan, unsigned interestLevel )
|
||||
ca_name ( chan ), beaconPeriod );
|
||||
|
||||
watchDogDelay = ca_receive_watchdog_delay ( chan );
|
||||
assert ( watchDogDelay >= 0.0 );
|
||||
verify ( watchDogDelay >= 0.0 );
|
||||
|
||||
printf ( "busy: receive watchdog for \"%s\" expires in %g sec.\n",
|
||||
ca_name ( chan ), watchDogDelay );
|
||||
@@ -2449,7 +2452,7 @@ void verifyReasonableBeaconPeriod ( chid chan, unsigned interestLevel )
|
||||
}
|
||||
|
||||
watchDogDelay = ca_receive_watchdog_delay ( chan );
|
||||
assert ( watchDogDelay >= 0.0 );
|
||||
verify ( watchDogDelay >= 0.0 );
|
||||
|
||||
printf ( "inactive: receive watchdog for \"%s\" expires in %g sec.\n",
|
||||
ca_name ( chan ), watchDogDelay );
|
||||
@@ -2468,9 +2471,9 @@ void verifyOldPend ( unsigned interestLevel )
|
||||
* verify that the old ca_pend() is in the symbol table
|
||||
*/
|
||||
status = ca_pend ( 100000.0, 1 );
|
||||
assert ( status == ECA_NORMAL );
|
||||
verify ( status == ECA_NORMAL );
|
||||
status = ca_pend ( 1e-12, 0 );
|
||||
assert ( status == ECA_TIMEOUT );
|
||||
verify ( status == ECA_TIMEOUT );
|
||||
|
||||
showProgressEnd ( interestLevel );
|
||||
}
|
||||
@@ -2488,21 +2491,21 @@ void verifyTimeStamps ( chid chan, unsigned interestLevel )
|
||||
showProgressBegin ( "verifyTimeStamps", interestLevel );
|
||||
|
||||
status = epicsTimeGetCurrent ( & localTime );
|
||||
assert ( status >= 0 );
|
||||
verify ( status >= 0 );
|
||||
|
||||
status = ca_get ( DBR_TIME_DOUBLE, chan, & first );
|
||||
SEVCHK ( status, "fetch of dbr time double failed\n" );
|
||||
status = ca_pend_io ( timeoutToPendIO );
|
||||
assert ( status == ECA_NORMAL );
|
||||
verify ( status == ECA_NORMAL );
|
||||
|
||||
status = ca_get ( DBR_TIME_DOUBLE, chan, & last );
|
||||
SEVCHK ( status, "fetch of dbr time double failed\n" );
|
||||
status = ca_pend_io ( timeoutToPendIO );
|
||||
assert ( status == ECA_NORMAL );
|
||||
verify ( status == ECA_NORMAL );
|
||||
|
||||
length = epicsTimeToStrftime ( buf, sizeof ( buf ),
|
||||
"%a %b %d %Y %H:%M:%S.%f", & first.stamp );
|
||||
assert ( length );
|
||||
verify ( length );
|
||||
printf ("Processing time of channel \"%s\" was \"%s\"\n",
|
||||
ca_name ( chan ), buf );
|
||||
|
||||
@@ -2556,7 +2559,7 @@ void verifyChannelPriorities ( const char *pName, unsigned interestLevel )
|
||||
|
||||
status = ca_pend_io ( timeoutToPendIO );
|
||||
SEVCHK ( status, "prioritized channel connect failed" );
|
||||
assert ( status == ECA_NORMAL );
|
||||
verify ( status == ECA_NORMAL );
|
||||
|
||||
value = i;
|
||||
status = ca_put ( DBR_DOUBLE, chan0, &value );
|
||||
@@ -2595,7 +2598,7 @@ void verifyTearDownWhenChannelConnected ( const char * pName,
|
||||
double * const pValues = (double * const) calloc ( chanCount, sizeof ( *pValues ) );
|
||||
unsigned i, j;
|
||||
|
||||
assert ( pChans && pValues );
|
||||
verify ( pChans && pValues );
|
||||
|
||||
showProgressBegin ( "verifyTearDownWhenChannelConnected", interestLevel );
|
||||
|
||||
@@ -2609,7 +2612,7 @@ void verifyTearDownWhenChannelConnected ( const char * pName,
|
||||
}
|
||||
status = ca_pend_io ( timeoutToPendIO );
|
||||
SEVCHK ( status, "immediate tear down channel connect failed" );
|
||||
assert ( status == ECA_NORMAL );
|
||||
verify ( status == ECA_NORMAL );
|
||||
|
||||
for ( j = 0; j < chanCount; j++ ) {
|
||||
status = ca_get ( DBR_DOUBLE, pChans[j], &pValues[j] );
|
||||
@@ -2649,7 +2652,7 @@ void verifyImmediateTearDown ( const char * pName,
|
||||
SEVCHK ( status, "immediate tear down channel create failed" );
|
||||
status = ca_pend_io ( timeoutToPendIO );
|
||||
SEVCHK ( status, "immediate tear down channel connect failed" );
|
||||
assert ( status == ECA_NORMAL );
|
||||
verify ( status == ECA_NORMAL );
|
||||
/*
|
||||
* verify that puts pending when we call ca_task_exit()
|
||||
* get flushed out
|
||||
@@ -2662,7 +2665,7 @@ void verifyImmediateTearDown ( const char * pName,
|
||||
SEVCHK ( status, "immediate tear down channel get failed" );
|
||||
if ( currentValue != ( (i - 1) % 8 ) ) {
|
||||
printf ( "currentValue = %i, i = %i\n", currentValue, i );
|
||||
assert ( currentValue == ( (i - 1) % 8 ) );
|
||||
verify ( currentValue == ( (i - 1) % 8 ) );
|
||||
}
|
||||
}
|
||||
status = ca_put ( DBR_LONG, chan, & value );
|
||||
@@ -2703,12 +2706,12 @@ void fdRegCB ( void * parg, int fd, int opened )
|
||||
if ( opened ) {
|
||||
status = fdmgr_add_callback (
|
||||
mgrCtx, fd, fdi_read, fdcb, 0 );
|
||||
assert ( status >= 0 );
|
||||
verify ( status >= 0 );
|
||||
}
|
||||
else {
|
||||
status = fdmgr_clear_callback (
|
||||
mgrCtx, fd, fdi_read );
|
||||
assert ( status >= 0 );
|
||||
verify ( status >= 0 );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2723,46 +2726,46 @@ void fdManagerVerify ( const char * pName, unsigned interestLevel )
|
||||
epicsTimeStamp begin, end;
|
||||
|
||||
mgrCtx = fdmgr_init ();
|
||||
assert ( mgrCtx );
|
||||
verify ( mgrCtx );
|
||||
|
||||
showProgressBegin ( "fdManagerVerify", interestLevel );
|
||||
|
||||
status = ca_add_fd_registration ( fdRegCB, mgrCtx );
|
||||
assert ( status == ECA_NORMAL );
|
||||
verify ( status == ECA_NORMAL );
|
||||
|
||||
status = ca_create_channel ( pName, 0, 0, 0, & newChan );
|
||||
assert ( status == ECA_NORMAL );
|
||||
verify ( status == ECA_NORMAL );
|
||||
|
||||
while ( ca_state ( newChan ) != cs_conn ) {
|
||||
tmo.tv_sec = 6000;
|
||||
tmo.tv_usec = 0;
|
||||
status = fdmgr_pend_event ( mgrCtx, & tmo );
|
||||
assert ( status >= 0 );
|
||||
verify ( status >= 0 );
|
||||
}
|
||||
|
||||
showProgress ( interestLevel );
|
||||
|
||||
status = ca_add_event ( DBR_FLOAT, newChan,
|
||||
nUpdatesTester, & eventCount, & subscription );
|
||||
assert ( status == ECA_NORMAL );
|
||||
verify ( status == ECA_NORMAL );
|
||||
|
||||
status = ca_flush_io ();
|
||||
assert ( status == ECA_NORMAL );
|
||||
verify ( status == ECA_NORMAL );
|
||||
|
||||
while ( eventCount < 1 ) {
|
||||
tmo.tv_sec = 6000;
|
||||
tmo.tv_usec = 0;
|
||||
status = fdmgr_pend_event ( mgrCtx, & tmo );
|
||||
assert ( status >= 0 );
|
||||
verify ( status >= 0 );
|
||||
}
|
||||
|
||||
showProgress ( interestLevel );
|
||||
|
||||
status = ca_clear_event ( subscription );
|
||||
assert ( status == ECA_NORMAL );
|
||||
verify ( status == ECA_NORMAL );
|
||||
|
||||
status = ca_flush_io ();
|
||||
assert ( status == ECA_NORMAL );
|
||||
verify ( status == ECA_NORMAL );
|
||||
|
||||
/* look for infinite loop in fd manager schedualing */
|
||||
epicsTimeGetCurrent ( & begin );
|
||||
@@ -2772,25 +2775,25 @@ void fdManagerVerify ( const char * pName, unsigned interestLevel )
|
||||
tmo.tv_sec = 1;
|
||||
tmo.tv_usec = 0;
|
||||
status = fdmgr_pend_event ( mgrCtx, & tmo );
|
||||
assert ( status >= 0 );
|
||||
verify ( status >= 0 );
|
||||
epicsTimeGetCurrent ( & end );
|
||||
delay = epicsTimeDiffInSeconds ( & end, & begin );
|
||||
if ( delay >= 1.0 ) {
|
||||
break;
|
||||
}
|
||||
assert ( eventCount++ < 100 );
|
||||
verify ( eventCount++ < 100 );
|
||||
}
|
||||
|
||||
showProgress ( interestLevel );
|
||||
|
||||
status = ca_clear_channel ( newChan );
|
||||
assert ( status == ECA_NORMAL );
|
||||
verify ( status == ECA_NORMAL );
|
||||
|
||||
status = ca_add_fd_registration ( 0, 0 );
|
||||
assert ( status == ECA_NORMAL );
|
||||
verify ( status == ECA_NORMAL );
|
||||
|
||||
status = fdmgr_delete ( mgrCtx );
|
||||
assert ( status >= 0 );
|
||||
verify ( status >= 0 );
|
||||
|
||||
showProgressEnd ( interestLevel );
|
||||
}
|
||||
@@ -2809,11 +2812,11 @@ void verifyConnectWithDisconnectedChannels (
|
||||
char buf[256];
|
||||
sprintf ( buf, "aChannelThatShouldNeverNeverNeverExist%u", i );
|
||||
status = ca_create_channel ( buf, 0, 0, 0, & bogusChan[i] );
|
||||
assert ( status == ECA_NORMAL );
|
||||
verify ( status == ECA_NORMAL );
|
||||
}
|
||||
|
||||
status = ca_pend_io ( 0.001 );
|
||||
assert ( status == ECA_TIMEOUT );
|
||||
verify ( status == ECA_TIMEOUT );
|
||||
|
||||
/* wait a long time for the search interval to increase */
|
||||
for ( i= 0u; i < 10; i++ ) {
|
||||
@@ -2822,7 +2825,7 @@ void verifyConnectWithDisconnectedChannels (
|
||||
}
|
||||
|
||||
status = ca_create_channel ( pName, 0, 0, 0, & validChan );
|
||||
assert ( status == ECA_NORMAL );
|
||||
verify ( status == ECA_NORMAL );
|
||||
|
||||
/*
|
||||
* we should be able to connect to a valid
|
||||
@@ -2831,14 +2834,14 @@ void verifyConnectWithDisconnectedChannels (
|
||||
* diasconnected channel
|
||||
*/
|
||||
status = ca_pend_io ( timeoutToPendIO );
|
||||
assert ( status == ECA_NORMAL );
|
||||
verify ( status == ECA_NORMAL );
|
||||
|
||||
status = ca_clear_channel ( validChan );
|
||||
assert ( status == ECA_NORMAL );
|
||||
verify ( status == ECA_NORMAL );
|
||||
|
||||
for ( i= 0u; i < NELEMENTS ( bogusChan ); i++ ) {
|
||||
status = ca_clear_channel ( bogusChan[i] );
|
||||
assert ( status == ECA_NORMAL );
|
||||
verify ( status == ECA_NORMAL );
|
||||
}
|
||||
|
||||
showProgressEnd ( interestLevel );
|
||||
@@ -2991,7 +2994,7 @@ void verifyContextRundownFlush ( const char * pName, unsigned interestLevel )
|
||||
status = ca_pend_io ( timeoutToPendIO );
|
||||
SEVCHK ( status, "get, pend io failed" );
|
||||
|
||||
assert ( stim == resp );
|
||||
verify ( stim == resp );
|
||||
|
||||
status = ca_clear_channel ( chan );
|
||||
SEVCHK ( status, NULL );
|
||||
@@ -3064,7 +3067,7 @@ int acctst ( const char * pName, unsigned interestLevel, unsigned channelCount,
|
||||
verifyDataTypeMacros ();
|
||||
|
||||
connections = ca_get_ioc_connection_count ();
|
||||
assert ( connections == 0u );
|
||||
verify ( connections == 0u );
|
||||
unequalServerBufferSizeTest ( pName, interestLevel );
|
||||
clearChannelInGetCallbackTest ( pName, interestLevel );
|
||||
clearChannelInPutCallbackTest ( pName, interestLevel );
|
||||
@@ -3083,7 +3086,7 @@ int acctst ( const char * pName, unsigned interestLevel, unsigned channelCount,
|
||||
ca_element_count ( chan ) );
|
||||
|
||||
connections = ca_get_ioc_connection_count ();
|
||||
assert ( connections == 1u || connections == 0u );
|
||||
verify ( connections == 1u || connections == 0u );
|
||||
if ( connections == 0u ) {
|
||||
printf ( "testing with a local channel\n" );
|
||||
}
|
||||
@@ -3135,7 +3138,7 @@ int acctst ( const char * pName, unsigned interestLevel, unsigned channelCount,
|
||||
/* ca_client_status ( 6u ); info about each channel */
|
||||
|
||||
pChans = calloc ( channelCount, sizeof ( *pChans ) );
|
||||
assert ( pChans );
|
||||
verify ( pChans );
|
||||
|
||||
for ( i = 0; i < channelCount; i++ ) {
|
||||
strncpy ( pChans[ i ].name, pName, sizeof ( pChans[ i ].name ) );
|
||||
|
||||
Reference in New Issue
Block a user