@@ -550,7 +550,7 @@ insert_fun_not_ok() ->
550
550
retry = {5 ,1 }}],
551
551
mnesia :dirty_read (? JOB_TABLE , JobKey )),
552
552
timer :sleep (2100 ),
553
- ? assertEqual ([{UniqueKey , Schedule }], ets :lookup (ecron_test , UniqueKey )),
553
+ ? assertEqual ([{UniqueKey , Schedule , Schedule }], ets :lookup (ecron_test , UniqueKey )),
554
554
DueSec = Schedule + 1 ,
555
555
[Job ] = ecron :list (),
556
556
? assertMatch (# job {mfa = {{ecron_tests ,test_not_ok_function ,[UniqueKey ]},
@@ -570,10 +570,13 @@ insert_fun_not_ok() ->
570
570
DateTime , DateTime }], Events ),
571
571
[RetryEvent |_ ] = Events ,
572
572
? assert (element (3 , RetryEvent ) /= undefined ),
573
- ets :delete_all_objects (ecron_test ),
574
573
timer :sleep (1100 ),
575
574
[Job1 ] = ecron :list (),
576
- ? assertEqual ([{UniqueKey , Schedule }], ets :lookup (ecron_test , UniqueKey )),
575
+ TableEntries = ets :lookup (ecron_test , UniqueKey ),
576
+ % % It checks that at least a retry has been executed
577
+ ? assert (length (TableEntries ) >= 2 ),
578
+ ? assert (lists :member ({UniqueKey , Schedule , Schedule }, TableEntries )),
579
+ ? assert (lists :member ({UniqueKey , Schedule , DueSec }, TableEntries )),
577
580
? assertEqual (ok , ecron :delete (Job1 # job .key )),
578
581
? assertEqual ([], ecron :list ()),
579
582
ets :delete_all_objects (ecron_test ),
@@ -698,7 +701,7 @@ load_from_file_and_table() ->
698
701
? assertEqual (ok , ecron :insert ({{'*' , '*' , '*' }, Time },
699
702
{ecron_tests , test_function , [UniqueKey1 ]})),
700
703
timer :sleep (1300 ),
701
- ? assertEqual ([{UniqueKey , Schedule }], ets :lookup (ecron_test , UniqueKey )),
704
+ ? assertEqual ([{UniqueKey , Schedule , Schedule }], ets :lookup (ecron_test , UniqueKey )),
702
705
ets :delete_all_objects (ecron_test ),
703
706
application :stop (ecron ),
704
707
@@ -750,7 +753,7 @@ load_from_file_and_table() ->
750
753
mnesia :dirty_read (? JOB_TABLE , JobKey3 )),
751
754
? assertEqual ('$end_of_table' , mnesia :dirty_next (? JOB_TABLE , JobKey3 )),
752
755
timer :sleep (6300 ),
753
- ? assertEqual ([{UniqueKey , Schedule }], ets :lookup (ecron_test , UniqueKey )),
756
+ ? assertMatch ([{UniqueKey , Schedule , _ }], ets :lookup (ecron_test , UniqueKey )),
754
757
? assertEqual ([{UniqueKey1 , test }], ets :lookup (ecron_test , UniqueKey1 )),
755
758
? assertEqual ([{UniqueKey2 , test }], ets :lookup (ecron_test , UniqueKey2 )),
756
759
? assertEqual ([{UniqueKey3 , test }], ets :lookup (ecron_test , UniqueKey3 )),
@@ -862,7 +865,7 @@ execute_all() ->
862
865
? assertEqual (ok , ecron :execute_all ()),
863
866
T = calendar :datetime_to_gregorian_seconds (ecron_time :localtime ()),
864
867
timer :sleep (300 ),
865
- ? assertEqual ([{UniqueKey , T }], ets :lookup (ecron_test , UniqueKey )),
868
+ ? assertEqual ([{UniqueKey , T , T }], ets :lookup (ecron_test , UniqueKey )),
866
869
? assertEqual ([{UniqueKey1 , T }], ets :lookup (ecron_test , UniqueKey1 )),
867
870
? assertEqual ([{UniqueKey2 , T }], ets :lookup (ecron_test , UniqueKey2 )),
868
871
? assertEqual ([{UniqueKey3 , T }], ets :lookup (ecron_test , UniqueKey3 )),
@@ -902,7 +905,8 @@ test_function1(Key) ->
902
905
test_not_ok_function (Key ) ->
903
906
Time = calendar :datetime_to_gregorian_seconds (ecron_time :localtime ()),
904
907
F = fun () ->
905
- ets :insert (ecron_test , {Key , Time }),
908
+ ExecTime = calendar :datetime_to_gregorian_seconds (ecron_time :localtime ()),
909
+ ets :insert (ecron_test , {Key , Time , ExecTime }),
906
910
{error , retry }
907
911
end ,
908
912
{apply , F }.
0 commit comments