@@ -581,21 +581,19 @@ mod tests_with_manual_clock {
581
581
fn under_limit_single_thread ( ) {
582
582
let mut fx = Fixture :: new ( ) ;
583
583
584
- fx. spawn ( |sfx| {
585
- async move {
586
- sfx. consume ( 50 ) . await ;
587
- assert_eq ! ( sfx. now( ) , 0 ) ;
588
- sfx. consume ( 51 ) . await ;
589
- assert_eq ! ( sfx. now( ) , 0 ) ;
590
- sfx. consume ( 52 ) . await ;
591
- assert_eq ! ( sfx. now( ) , 0 ) ;
592
- sfx. consume ( 53 ) . await ;
593
- assert_eq ! ( sfx. now( ) , 0 ) ;
594
- sfx. consume ( 54 ) . await ;
595
- assert_eq ! ( sfx. now( ) , 0 ) ;
596
- sfx. consume ( 55 ) . await ;
597
- assert_eq ! ( sfx. now( ) , 0 ) ;
598
- }
584
+ fx. spawn ( |sfx| async move {
585
+ sfx. consume ( 50 ) . await ;
586
+ assert_eq ! ( sfx. now( ) , 0 ) ;
587
+ sfx. consume ( 51 ) . await ;
588
+ assert_eq ! ( sfx. now( ) , 0 ) ;
589
+ sfx. consume ( 52 ) . await ;
590
+ assert_eq ! ( sfx. now( ) , 0 ) ;
591
+ sfx. consume ( 53 ) . await ;
592
+ assert_eq ! ( sfx. now( ) , 0 ) ;
593
+ sfx. consume ( 54 ) . await ;
594
+ assert_eq ! ( sfx. now( ) , 0 ) ;
595
+ sfx. consume ( 55 ) . await ;
596
+ assert_eq ! ( sfx. now( ) , 0 ) ;
599
597
} ) ;
600
598
601
599
fx. set_time ( 0 ) ;
@@ -645,33 +643,29 @@ mod tests_with_manual_clock {
645
643
// before the second task. Nevertheless, the second task can still send
646
644
// stuff using the timing difference.
647
645
648
- fx. spawn ( |sfx| {
649
- async move {
650
- sfx. consume ( 200 ) . await ;
651
- assert_eq ! ( sfx. now( ) , 0 ) ;
652
- sfx. consume ( 202 ) . await ;
653
- assert_eq ! ( sfx. now( ) , 0 ) ;
654
- sfx. consume ( 204 ) . await ;
655
- assert_eq ! ( sfx. now( ) , 1_183_593_750 ) ;
656
- sfx. consume ( 206 ) . await ;
657
- assert_eq ! ( sfx. now( ) , 1_183_593_750 ) ;
658
- sfx. consume ( 208 ) . await ;
659
- assert_eq ! ( sfx. now( ) , 2_384_765_625 ) ;
660
- }
646
+ fx. spawn ( |sfx| async move {
647
+ sfx. consume ( 200 ) . await ;
648
+ assert_eq ! ( sfx. now( ) , 0 ) ;
649
+ sfx. consume ( 202 ) . await ;
650
+ assert_eq ! ( sfx. now( ) , 0 ) ;
651
+ sfx. consume ( 204 ) . await ;
652
+ assert_eq ! ( sfx. now( ) , 1_183_593_750 ) ;
653
+ sfx. consume ( 206 ) . await ;
654
+ assert_eq ! ( sfx. now( ) , 1_183_593_750 ) ;
655
+ sfx. consume ( 208 ) . await ;
656
+ assert_eq ! ( sfx. now( ) , 2_384_765_625 ) ;
661
657
} ) ;
662
- fx. spawn ( |sfx| {
663
- async move {
664
- sfx. consume ( 201 ) . await ;
665
- assert_eq ! ( sfx. now( ) , 1_576_171_875 ) ;
666
- sfx. consume ( 203 ) . await ;
667
- assert_eq ! ( sfx. now( ) , 2_781_250_000 ) ;
668
- sfx. consume ( 205 ) . await ;
669
- assert_eq ! ( sfx. now( ) , 2_781_250_000 ) ;
670
- sfx. consume ( 207 ) . await ;
671
- assert_eq ! ( sfx. now( ) , 2_781_250_000 ) ;
672
- sfx. consume ( 209 ) . await ;
673
- assert_eq ! ( sfx. now( ) , 3_994_140_625 ) ;
674
- }
658
+ fx. spawn ( |sfx| async move {
659
+ sfx. consume ( 201 ) . await ;
660
+ assert_eq ! ( sfx. now( ) , 1_576_171_875 ) ;
661
+ sfx. consume ( 203 ) . await ;
662
+ assert_eq ! ( sfx. now( ) , 2_781_250_000 ) ;
663
+ sfx. consume ( 205 ) . await ;
664
+ assert_eq ! ( sfx. now( ) , 2_781_250_000 ) ;
665
+ sfx. consume ( 207 ) . await ;
666
+ assert_eq ! ( sfx. now( ) , 2_781_250_000 ) ;
667
+ sfx. consume ( 209 ) . await ;
668
+ assert_eq ! ( sfx. now( ) , 3_994_140_625 ) ;
675
669
} ) ;
676
670
677
671
fx. set_time ( 0 ) ;
@@ -702,33 +696,29 @@ mod tests_with_manual_clock {
702
696
fn over_limit_multi_thread_2 ( ) {
703
697
let mut fx = Fixture :: new ( ) ;
704
698
705
- fx. spawn ( |sfx| {
706
- async move {
707
- sfx. consume ( 300 ) . await ;
708
- assert_eq ! ( sfx. now( ) , 0 ) ;
709
- sfx. consume ( 301 ) . await ;
710
- assert_eq ! ( sfx. now( ) , 1_173_828_125 ) ;
711
- sfx. consume ( 302 ) . await ;
712
- assert_eq ! ( sfx. now( ) , 1_173_828_125 ) ;
713
- sfx. consume ( 303 ) . await ;
714
- assert_eq ! ( sfx. now( ) , 2_550_781_250 ) ;
715
- sfx. consume ( 304 ) . await ;
716
- assert_eq ! ( sfx. now( ) , 2_550_781_250 ) ;
717
- }
699
+ fx. spawn ( |sfx| async move {
700
+ sfx. consume ( 300 ) . await ;
701
+ assert_eq ! ( sfx. now( ) , 0 ) ;
702
+ sfx. consume ( 301 ) . await ;
703
+ assert_eq ! ( sfx. now( ) , 1_173_828_125 ) ;
704
+ sfx. consume ( 302 ) . await ;
705
+ assert_eq ! ( sfx. now( ) , 1_173_828_125 ) ;
706
+ sfx. consume ( 303 ) . await ;
707
+ assert_eq ! ( sfx. now( ) , 2_550_781_250 ) ;
708
+ sfx. consume ( 304 ) . await ;
709
+ assert_eq ! ( sfx. now( ) , 2_550_781_250 ) ;
718
710
} ) ;
719
- fx. spawn ( |sfx| {
720
- async move {
721
- sfx. consume ( 100 ) . await ;
722
- assert_eq ! ( sfx. now( ) , 1_369_140_625 ) ;
723
- sfx. consume ( 101 ) . await ;
724
- assert_eq ! ( sfx. now( ) , 2_748_046_875 ) ;
725
- sfx. consume ( 102 ) . await ;
726
- assert_eq ! ( sfx. now( ) , 2_748_046_875 ) ;
727
- sfx. consume ( 103 ) . await ;
728
- assert_eq ! ( sfx. now( ) , 2_748_046_875 ) ;
729
- sfx. consume ( 104 ) . await ;
730
- assert_eq ! ( sfx. now( ) , 3_945_312_500 ) ;
731
- }
711
+ fx. spawn ( |sfx| async move {
712
+ sfx. consume ( 100 ) . await ;
713
+ assert_eq ! ( sfx. now( ) , 1_369_140_625 ) ;
714
+ sfx. consume ( 101 ) . await ;
715
+ assert_eq ! ( sfx. now( ) , 2_748_046_875 ) ;
716
+ sfx. consume ( 102 ) . await ;
717
+ assert_eq ! ( sfx. now( ) , 2_748_046_875 ) ;
718
+ sfx. consume ( 103 ) . await ;
719
+ assert_eq ! ( sfx. now( ) , 2_748_046_875 ) ;
720
+ sfx. consume ( 104 ) . await ;
721
+ assert_eq ! ( sfx. now( ) , 3_945_312_500 ) ;
732
722
} ) ;
733
723
734
724
fx. set_time ( 0 ) ;
@@ -753,41 +743,37 @@ mod tests_with_manual_clock {
753
743
// so the consume() are evenly distributed, and can take advantage of
754
744
// single bursting.
755
745
756
- fx. spawn ( |sfx| {
757
- async move {
758
- sfx. consume ( 300 ) . await ;
759
- assert_eq ! ( sfx. now( ) , 0 ) ;
760
- sfx. sleep ( 1 ) . await ;
761
- sfx. consume ( 301 ) . await ;
762
- assert_eq ! ( sfx. now( ) , 1_369_140_625 ) ;
763
- sfx. sleep ( 1 ) . await ;
764
- sfx. consume ( 302 ) . await ;
765
- assert_eq ! ( sfx. now( ) , 1_369_140_626 ) ;
766
- sfx. sleep ( 1 ) . await ;
767
- sfx. consume ( 303 ) . await ;
768
- assert_eq ! ( sfx. now( ) , 2_748_046_875 ) ;
769
- sfx. sleep ( 1 ) . await ;
770
- sfx. consume ( 304 ) . await ;
771
- assert_eq ! ( sfx. now( ) , 2_748_046_876 ) ;
772
- }
746
+ fx. spawn ( |sfx| async move {
747
+ sfx. consume ( 300 ) . await ;
748
+ assert_eq ! ( sfx. now( ) , 0 ) ;
749
+ sfx. sleep ( 1 ) . await ;
750
+ sfx. consume ( 301 ) . await ;
751
+ assert_eq ! ( sfx. now( ) , 1_369_140_625 ) ;
752
+ sfx. sleep ( 1 ) . await ;
753
+ sfx. consume ( 302 ) . await ;
754
+ assert_eq ! ( sfx. now( ) , 1_369_140_626 ) ;
755
+ sfx. sleep ( 1 ) . await ;
756
+ sfx. consume ( 303 ) . await ;
757
+ assert_eq ! ( sfx. now( ) , 2_748_046_875 ) ;
758
+ sfx. sleep ( 1 ) . await ;
759
+ sfx. consume ( 304 ) . await ;
760
+ assert_eq ! ( sfx. now( ) , 2_748_046_876 ) ;
773
761
} ) ;
774
- fx. spawn ( |sfx| {
775
- async move {
776
- sfx. consume ( 100 ) . await ;
777
- assert_eq ! ( sfx. now( ) , 0 ) ;
778
- sfx. sleep ( 1 ) . await ;
779
- sfx. consume ( 101 ) . await ;
780
- assert_eq ! ( sfx. now( ) , 1_566_406_250 ) ;
781
- sfx. sleep ( 1 ) . await ;
782
- sfx. consume ( 102 ) . await ;
783
- assert_eq ! ( sfx. now( ) , 2_947_265_625 ) ;
784
- sfx. sleep ( 1 ) . await ;
785
- sfx. consume ( 103 ) . await ;
786
- assert_eq ! ( sfx. now( ) , 2_947_265_626 ) ;
787
- sfx. sleep ( 1 ) . await ;
788
- sfx. consume ( 104 ) . await ;
789
- assert_eq ! ( sfx. now( ) , 2_947_265_627 ) ;
790
- }
762
+ fx. spawn ( |sfx| async move {
763
+ sfx. consume ( 100 ) . await ;
764
+ assert_eq ! ( sfx. now( ) , 0 ) ;
765
+ sfx. sleep ( 1 ) . await ;
766
+ sfx. consume ( 101 ) . await ;
767
+ assert_eq ! ( sfx. now( ) , 1_566_406_250 ) ;
768
+ sfx. sleep ( 1 ) . await ;
769
+ sfx. consume ( 102 ) . await ;
770
+ assert_eq ! ( sfx. now( ) , 2_947_265_625 ) ;
771
+ sfx. sleep ( 1 ) . await ;
772
+ sfx. consume ( 103 ) . await ;
773
+ assert_eq ! ( sfx. now( ) , 2_947_265_626 ) ;
774
+ sfx. sleep ( 1 ) . await ;
775
+ sfx. consume ( 104 ) . await ;
776
+ assert_eq ! ( sfx. now( ) , 2_947_265_627 ) ;
791
777
} ) ;
792
778
793
779
fx. set_time ( 0 ) ;
@@ -820,21 +806,19 @@ mod tests_with_manual_clock {
820
806
fn hiatus ( ) {
821
807
let mut fx = Fixture :: new ( ) ;
822
808
823
- fx. spawn ( |sfx| {
824
- async move {
825
- sfx. consume ( 400 ) . await ;
826
- assert_eq ! ( sfx. now( ) , 0 ) ;
827
- sfx. consume ( 401 ) . await ;
828
- assert_eq ! ( sfx. now( ) , 1_564_453_125 ) ;
809
+ fx. spawn ( |sfx| async move {
810
+ sfx. consume ( 400 ) . await ;
811
+ assert_eq ! ( sfx. now( ) , 0 ) ;
812
+ sfx. consume ( 401 ) . await ;
813
+ assert_eq ! ( sfx. now( ) , 1_564_453_125 ) ;
829
814
830
- sfx. sleep ( 10_000_000_000 ) . await ;
831
- assert_eq ! ( sfx. now( ) , 11_564_453_125 ) ;
815
+ sfx. sleep ( 10_000_000_000 ) . await ;
816
+ assert_eq ! ( sfx. now( ) , 11_564_453_125 ) ;
832
817
833
- sfx. consume ( 402 ) . await ;
834
- assert_eq ! ( sfx. now( ) , 11_564_453_125 ) ;
835
- sfx. consume ( 403 ) . await ;
836
- assert_eq ! ( sfx. now( ) , 13_136_718_750 ) ;
837
- }
818
+ sfx. consume ( 402 ) . await ;
819
+ assert_eq ! ( sfx. now( ) , 11_564_453_125 ) ;
820
+ sfx. consume ( 403 ) . await ;
821
+ assert_eq ! ( sfx. now( ) , 13_136_718_750 ) ;
838
822
} ) ;
839
823
840
824
fx. set_time ( 0 ) ;
@@ -852,15 +836,13 @@ mod tests_with_manual_clock {
852
836
fn burst ( ) {
853
837
let mut fx = Fixture :: new ( ) ;
854
838
855
- fx. spawn ( |sfx| {
856
- async move {
857
- sfx. consume ( 5000 ) . await ;
858
- assert_eq ! ( sfx. now( ) , 9_765_625_000 ) ;
859
- sfx. consume ( 5001 ) . await ;
860
- assert_eq ! ( sfx. now( ) , 19_533_203_125 ) ;
861
- sfx. consume ( 5002 ) . await ;
862
- assert_eq ! ( sfx. now( ) , 29_302_734_375 ) ;
863
- }
839
+ fx. spawn ( |sfx| async move {
840
+ sfx. consume ( 5000 ) . await ;
841
+ assert_eq ! ( sfx. now( ) , 9_765_625_000 ) ;
842
+ sfx. consume ( 5001 ) . await ;
843
+ assert_eq ! ( sfx. now( ) , 19_533_203_125 ) ;
844
+ sfx. consume ( 5002 ) . await ;
845
+ assert_eq ! ( sfx. now( ) , 29_302_734_375 ) ;
864
846
} ) ;
865
847
866
848
fx. set_time ( 0 ) ;
@@ -878,11 +860,9 @@ mod tests_with_manual_clock {
878
860
let mut fx = Fixture :: new ( ) ;
879
861
880
862
// we try to send 5120 bytes at granularity of 256 bytes each.
881
- fx. spawn ( |sfx| {
882
- async move {
883
- for _ in 0 ..20 {
884
- sfx. consume ( 256 ) . await ;
885
- }
863
+ fx. spawn ( |sfx| async move {
864
+ for _ in 0 ..20 {
865
+ sfx. consume ( 256 ) . await ;
886
866
}
887
867
} ) ;
888
868
@@ -940,21 +920,17 @@ mod tests_with_manual_clock {
940
920
fn thousand_cuts ( ) {
941
921
let mut fx = Fixture :: new ( ) ;
942
922
943
- fx. spawn ( |sfx| {
944
- async move {
945
- for _ in 0 ..64 {
946
- sfx. consume ( 16 ) . await ;
947
- }
923
+ fx. spawn ( |sfx| async move {
924
+ for _ in 0 ..64 {
925
+ sfx. consume ( 16 ) . await ;
948
926
}
949
927
} ) ;
950
928
951
- fx. spawn ( |sfx| {
952
- async move {
953
- sfx. consume ( 555 ) . await ;
954
- assert_eq ! ( sfx. now( ) , 2_083_984_375 ) ;
955
- sfx. consume ( 556 ) . await ;
956
- assert_eq ! ( sfx. now( ) , 3_201_171_875 ) ;
957
- }
929
+ fx. spawn ( |sfx| async move {
930
+ sfx. consume ( 555 ) . await ;
931
+ assert_eq ! ( sfx. now( ) , 2_083_984_375 ) ;
932
+ sfx. consume ( 556 ) . await ;
933
+ assert_eq ! ( sfx. now( ) , 3_201_171_875 ) ;
958
934
} ) ;
959
935
960
936
fx. set_time ( 0 ) ;
@@ -979,19 +955,17 @@ mod tests_with_manual_clock {
979
955
fn set_infinite_speed_limit ( ) {
980
956
let mut fx = Fixture :: new ( ) ;
981
957
982
- fx. spawn ( |sfx| {
983
- async move {
984
- for _ in 0 ..1000 {
985
- sfx. consume ( 512 ) . await ;
986
- }
987
- sfx. sleep ( 1 ) . await ;
988
- for _ in 0 ..1000 {
989
- sfx. consume ( 512 ) . await ;
990
- }
991
- sfx. sleep ( 1 ) . await ;
958
+ fx. spawn ( |sfx| async move {
959
+ for _ in 0 ..1000 {
992
960
sfx. consume ( 512 ) . await ;
961
+ }
962
+ sfx. sleep ( 1 ) . await ;
963
+ for _ in 0 ..1000 {
993
964
sfx. consume ( 512 ) . await ;
994
965
}
966
+ sfx. sleep ( 1 ) . await ;
967
+ sfx. consume ( 512 ) . await ;
968
+ sfx. consume ( 512 ) . await ;
995
969
} ) ;
996
970
997
971
fx. set_time ( 0 ) ;
0 commit comments