tests: Add test case for aio_disable_external
Signed-off-by: Fam Zheng <famz@redhat.com> Reviewed-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
		
							parent
							
								
									507306cc8e
								
							
						
					
					
						commit
						c07bc2c165
					
				| 
						 | 
				
			
			@ -374,6 +374,29 @@ static void test_flush_event_notifier(void)
 | 
			
		|||
    event_notifier_cleanup(&data.e);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void test_aio_external_client(void)
 | 
			
		||||
{
 | 
			
		||||
    int i, j;
 | 
			
		||||
 | 
			
		||||
    for (i = 1; i < 3; i++) {
 | 
			
		||||
        EventNotifierTestData data = { .n = 0, .active = 10, .auto_set = true };
 | 
			
		||||
        event_notifier_init(&data.e, false);
 | 
			
		||||
        aio_set_event_notifier(ctx, &data.e, true, event_ready_cb);
 | 
			
		||||
        event_notifier_set(&data.e);
 | 
			
		||||
        for (j = 0; j < i; j++) {
 | 
			
		||||
            aio_disable_external(ctx);
 | 
			
		||||
        }
 | 
			
		||||
        for (j = 0; j < i; j++) {
 | 
			
		||||
            assert(!aio_poll(ctx, false));
 | 
			
		||||
            assert(event_notifier_test_and_clear(&data.e));
 | 
			
		||||
            event_notifier_set(&data.e);
 | 
			
		||||
            aio_enable_external(ctx);
 | 
			
		||||
        }
 | 
			
		||||
        assert(aio_poll(ctx, false));
 | 
			
		||||
        event_notifier_cleanup(&data.e);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static void test_wait_event_notifier_noflush(void)
 | 
			
		||||
{
 | 
			
		||||
    EventNotifierTestData data = { .n = 0 };
 | 
			
		||||
| 
						 | 
				
			
			@ -832,6 +855,7 @@ int main(int argc, char **argv)
 | 
			
		|||
    g_test_add_func("/aio/event/wait",              test_wait_event_notifier);
 | 
			
		||||
    g_test_add_func("/aio/event/wait/no-flush-cb",  test_wait_event_notifier_noflush);
 | 
			
		||||
    g_test_add_func("/aio/event/flush",             test_flush_event_notifier);
 | 
			
		||||
    g_test_add_func("/aio/external-client",         test_aio_external_client);
 | 
			
		||||
    g_test_add_func("/aio/timer/schedule",          test_timer_schedule);
 | 
			
		||||
 | 
			
		||||
    g_test_add_func("/aio-gsource/flush",                   test_source_flush);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue