@@ -297,7 +297,7 @@ void cancel_test(int N)
297
297
}
298
298
299
299
for (int i = N - 1 ; i >= 0 ; i -- ) {
300
- equeue_cancel (& q , ids [i ]);
300
+ test_assert ( equeue_cancel (& q , ids [i ]) );
301
301
}
302
302
303
303
free (ids );
@@ -317,13 +317,13 @@ void cancel_inflight_test(void)
317
317
bool touched = false;
318
318
319
319
int id = equeue_call (& q , simple_func , & touched );
320
- equeue_cancel (& q , id );
320
+ test_assert ( equeue_cancel (& q , id ) );
321
321
322
322
equeue_dispatch (& q , 0 );
323
323
test_assert (!touched );
324
324
325
325
id = equeue_call (& q , simple_func , & touched );
326
- equeue_cancel (& q , id );
326
+ test_assert ( equeue_cancel (& q , id ) );
327
327
328
328
equeue_dispatch (& q , 0 );
329
329
test_assert (!touched );
@@ -352,19 +352,19 @@ void cancel_unnecessarily_test(void)
352
352
353
353
int id = equeue_call (& q , pass_func , 0 );
354
354
for (int i = 0 ; i < 5 ; i ++ ) {
355
- equeue_cancel (& q , id );
355
+ test_assert ( equeue_cancel (& q , id ) == ( i == 0 ) );
356
356
}
357
357
358
358
id = equeue_call (& q , pass_func , 0 );
359
359
equeue_dispatch (& q , 0 );
360
360
for (int i = 0 ; i < 5 ; i ++ ) {
361
- equeue_cancel (& q , id );
361
+ test_assert (! equeue_cancel (& q , id ) );
362
362
}
363
363
364
364
bool touched = false;
365
365
equeue_call (& q , simple_func , & touched );
366
366
for (int i = 0 ; i < 5 ; i ++ ) {
367
- equeue_cancel (& q , id );
367
+ test_assert (! equeue_cancel (& q , id ) );
368
368
}
369
369
370
370
equeue_dispatch (& q , 0 );
@@ -595,8 +595,8 @@ void chain_test(void)
595
595
id2 = equeue_call_in (& q2 , 5 , simple_func , & touched );
596
596
test_assert (id1 && id2 );
597
597
598
- equeue_cancel (& q1 , id1 );
599
- equeue_cancel (& q2 , id2 );
598
+ test_assert ( equeue_cancel (& q1 , id1 ) );
599
+ test_assert ( equeue_cancel (& q2 , id2 ) );
600
600
601
601
id1 = equeue_call_in (& q1 , 10 , simple_func , & touched );
602
602
id2 = equeue_call_in (& q2 , 10 , simple_func , & touched );
@@ -768,7 +768,7 @@ void break_request_cleared_on_timeout(void)
768
768
equeue_dispatch (& q , 10 );
769
769
test_assert (pq .p == 1 );
770
770
771
- equeue_cancel (& q , id );
771
+ test_assert ( equeue_cancel (& q , id ) );
772
772
773
773
int count = 0 ;
774
774
equeue_call_every (& q , 10 , simple_func , & count );
@@ -796,9 +796,9 @@ void sibling_test(void)
796
796
test_assert (!s -> next );
797
797
}
798
798
}
799
- equeue_cancel (& q , id0 );
800
- equeue_cancel (& q , id1 );
801
- equeue_cancel (& q , id2 );
799
+ test_assert ( equeue_cancel (& q , id0 ) );
800
+ test_assert ( equeue_cancel (& q , id1 ) );
801
+ test_assert ( equeue_cancel (& q , id2 ) );
802
802
equeue_destroy (& q );
803
803
}
804
804
@@ -829,7 +829,7 @@ void user_allocated_event_test()
829
829
equeue_post_user_allocated (& q , simple_func , & e3 .e );
830
830
equeue_post_user_allocated (& q , simple_func , & e4 .e );
831
831
equeue_post_user_allocated (& q , simple_func , & e5 .e );
832
- equeue_cancel_user_allocated (& q , & e3 .e );
832
+ test_assert ( equeue_cancel_user_allocated (& q , & e3 .e ) );
833
833
834
834
equeue_dispatch (& q , 1 );
835
835
@@ -852,6 +852,21 @@ void user_allocated_event_test()
852
852
equeue_destroy (& q );
853
853
}
854
854
855
+ void id_cycle ()
856
+ {
857
+ equeue_t q ;
858
+ int err = equeue_create (& q , 10000000 );
859
+ test_assert (!err );
860
+
861
+ for (int i = 0 ; i < 300 ; i ++ ) {
862
+ int id = equeue_call (& q , pass_func , 0 );
863
+ test_assert (id != 0 );
864
+ test_assert (equeue_cancel (& q , id ));
865
+ }
866
+
867
+ equeue_destroy (& q );
868
+ }
869
+
855
870
int main ()
856
871
{
857
872
printf ("beginning tests...\n" );
@@ -881,6 +896,7 @@ int main()
881
896
test_run (break_request_cleared_on_timeout );
882
897
test_run (sibling_test );
883
898
test_run (user_allocated_event_test );
899
+ test_run (id_cycle );
884
900
printf ("done!\n" );
885
901
return test_failure ;
886
902
}
0 commit comments