@@ -328,6 +328,34 @@ void nxevent_test(void)
328328 pthread_join (tid1 , NULL );
329329 pthread_join (tid2 , NULL );
330330
331+ /**************************************************************************/
332+
333+ /* 4. Event clear Test */
334+
335+ nxevent_post (& event , 0xff , NXEVENT_POST_SET );
336+
337+ /* Case 4.1: clear == 0, trywait == 0xf, wait == 0xf */
338+
339+ nxevent_clear (& event , 0 );
340+ NXEVENT_TEST (nxevent_wait (& event , 0xf , NXEVENT_WAIT_NOCLEAR ), 0xf );
341+ NXEVENT_TEST (nxevent_trywait (& event , 0xf , NXEVENT_WAIT_NOCLEAR ), 0xf );
342+
343+ /* Case 4.2: clear == 0xf, trywait == 0xf */
344+
345+ nxevent_clear (& event , 0xf );
346+ NXEVENT_TEST (nxevent_trywait (& event , 0xf , NXEVENT_WAIT_NOCLEAR ), 0 );
347+
348+ /* Case 4.3: clear == 0, trywait == 0xf0, wait == 0xf0 */
349+
350+ nxevent_clear (& event , 0 );
351+ NXEVENT_TEST (nxevent_wait (& event , 0xf0 , NXEVENT_WAIT_NOCLEAR ), 0xf0 );
352+ NXEVENT_TEST (nxevent_trywait (& event , 0xf0 , NXEVENT_WAIT_NOCLEAR ), 0xf0 );
353+
354+ /* Case 4.4: clear == 0xf0, wait == 0xf0 */
355+
356+ nxevent_clear (& event , 0xf0 );
357+ NXEVENT_TEST (nxevent_trywait (& event , 0xf0 , NXEVENT_WAIT_NOCLEAR ), 0 );
358+
331359 nxevent_reset (& event , 0 );
332360 nxevent_destroy (& event );
333361}
0 commit comments