mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-10 09:16:53 +00:00
Cron.pm: wip
git-svn-id: https://svn.fhem.de/fhem/trunk@27884 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
fee8cd2914
commit
e919bcc453
@ -60,7 +60,8 @@ my $test = [
|
|||||||
[q(handle '$cron_text'), '0 0 * * 1-5/2', qr(^$), 20230101000000, 20230102000000, 20230104000000, 20230106000000 ],
|
[q(handle '$cron_text'), '0 0 * * 1-5/2', qr(^$), 20230101000000, 20230102000000, 20230104000000, 20230106000000 ],
|
||||||
[q(handle '$cron_text'), '0 0 * * 1-5,6', qr(^$), 20230101000000, 20230102000000, 20230103000000, 20230104000000, 20230105000000, 20230106000000, 20230107000000 ],
|
[q(handle '$cron_text'), '0 0 * * 1-5,6', qr(^$), 20230101000000, 20230102000000, 20230103000000, 20230104000000, 20230105000000, 20230106000000, 20230107000000 ],
|
||||||
[q(handle '$cron_text'), '0 0 8 * 1-5,6', qr(^$), 20230101000000, 20230102000000, 20230103000000, 20230104000000, 20230105000000, 20230106000000, 20230107000000, 20230108000000 ],
|
[q(handle '$cron_text'), '0 0 8 * 1-5,6', qr(^$), 20230101000000, 20230102000000, 20230103000000, 20230104000000, 20230105000000, 20230106000000, 20230107000000, 20230108000000 ],
|
||||||
[q(handle '$cron_text'), '0 0 8 * &1-5,6', qr(^$), 20230101000000, 20230102000000, 20230103000000, 20230104000000, 20230105000000, 20230106000000, 20230107000000, 20230108000000 ],
|
[q(handle '$cron_text'), '0 0 2-8 * &1-5,6', qr(^$), 20230101000000, 20230102000000, 20230103000000, 20230104000000, 20230105000000, 20230106000000, 20230107000000, 20230114000000 ],
|
||||||
|
[q(handle '$cron_text'), '0 0 2-8 * 1#1', qr(^$), 20230101000000 ],
|
||||||
|
|
||||||
# time series
|
# time series
|
||||||
[q(Timeseries '$cron_text'), '0 12 3,4,5 2 0,2,3,4', qr(^$), 20230102150000, 20230201120000, 20230202120000, 20230203120000, 20230204120000],
|
[q(Timeseries '$cron_text'), '0 12 3,4,5 2 0,2,3,4', qr(^$), 20230102150000, 20230201120000, 20230202120000, 20230203120000, 20230204120000],
|
||||||
@ -79,14 +80,17 @@ foreach my $t (@$test) {
|
|||||||
my $ok = 1;
|
my $ok = 1;
|
||||||
my $count = 0;
|
my $count = 0;
|
||||||
|
|
||||||
|
unless ($err) {
|
||||||
for my $iter (0 .. $#series -1) {
|
for my $iter (0 .. $#series -1) {
|
||||||
# next unless ($series[$iter]);
|
# next unless ($series[$iter]);
|
||||||
my $got = $cron_obj->next($series[$iter]);
|
my ($got, $err) = $cron_obj->next($series[$iter]);
|
||||||
$count++;
|
$count++;
|
||||||
$ok = 0 if ($got ne $series[$iter +1]);
|
$ok = 0 if ($err or (not $got) or ($got ne $series[$iter +1]));
|
||||||
say sprintf('%s -> expected: %s, got: %s', ($got ne $series[$iter +1])?'not ok':'ok', $series[$iter +1], $got) if $ENV{EXTENDED_DEBUG};
|
say sprintf('%s -> expected: %s, got: %s', ($got ne $series[$iter +1])?'not ok':'ok', $series[$iter +1], $got) if $ENV{EXTENDED_DEBUG};
|
||||||
|
last if (not $ok);
|
||||||
}
|
}
|
||||||
$ok &&= ($err // '' =~ /$err_expected/);
|
}
|
||||||
|
$ok &&= (($err // '') =~ /$err_expected/);
|
||||||
ok($ok, sprintf('%s %s', eval qq{"$desc"} , $err?"(got '$err')":"(# of passes: $count)"));
|
ok($ok, sprintf('%s %s', eval qq{"$desc"} , $err?"(got '$err')":"(# of passes: $count)"));
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -14,7 +14,8 @@ $ENV{EXTENDED_DEBUG} = 1;
|
|||||||
my $test = [
|
my $test = [
|
||||||
#[q(Timeseries '$cron_text'), '0 12 3,4,5 2 0,2,3,4', qr(^$), 20230102150000, 20230201120000, 20230202120000, 20230203120000, 20230204120000],
|
#[q(Timeseries '$cron_text'), '0 12 3,4,5 2 0,2,3,4', qr(^$), 20230102150000, 20230201120000, 20230202120000, 20230203120000, 20230204120000],
|
||||||
#[q(Feb-29 & Sunday '$cron_text'), '0 12 29 2 &7', qr(^$), 20230102150000, 20320229120000, sub {20600229120000}->()],
|
#[q(Feb-29 & Sunday '$cron_text'), '0 12 29 2 &7', qr(^$), 20230102150000, 20320229120000, sub {20600229120000}->()],
|
||||||
[q(accept '$cron_text'), '1-5 * * * *', qr(^$), sub {my @r = (20230101000000); for my $h (0..23) {for my $m (1..5) {push @r, sprintf('20230101%02d%02d00', $h, $m)}}; @r}->()],
|
#[q(accept '$cron_text'), '1-5 * * * *', qr(^$), sub {my @r = (20230101000000); for my $h (0..23) {for my $m (1..5) {push @r, sprintf('20230101%02d%02d00', $h, $m)}}; @r}->()],
|
||||||
|
[q(handle '$cron_text'), '0 0 2-8 * &1-5,6', qr(^$), 20230101000000, 20230102000000, 20230103000000, 20230104000000, 20230105000000, 20230106000000, 20230107000000, 20230114000000 ],
|
||||||
];
|
];
|
||||||
|
|
||||||
foreach my $t (@$test) {
|
foreach my $t (@$test) {
|
||||||
@ -23,14 +24,17 @@ foreach my $t (@$test) {
|
|||||||
my $ok = 1;
|
my $ok = 1;
|
||||||
my $count = 0;
|
my $count = 0;
|
||||||
|
|
||||||
|
unless ($err) {
|
||||||
for my $iter (0 .. $#series -1) {
|
for my $iter (0 .. $#series -1) {
|
||||||
# next unless ($series[$iter]);
|
# next unless ($series[$iter]);
|
||||||
my $got = $cron_obj->next($series[$iter]);
|
my ($got, $err) = $cron_obj->next($series[$iter]);
|
||||||
$count++;
|
$count++;
|
||||||
$ok = 0 if ($got ne $series[$iter +1]);
|
$ok = 0 if ($err or (not $got) or ($got ne $series[$iter +1]));
|
||||||
say sprintf('%s -> expected: %s, got: %s', ($got ne $series[$iter +1])?'not ok':'ok', $series[$iter +1], $got) if $ENV{EXTENDED_DEBUG};
|
say sprintf('%s -> expected: %s, got: %s', ($got ne $series[$iter +1])?'not ok':'ok', $series[$iter +1], $got) if $ENV{EXTENDED_DEBUG};
|
||||||
|
last if (not $ok);
|
||||||
}
|
}
|
||||||
$ok &&= ($err // '' =~ /$err_expected/);
|
}
|
||||||
|
$ok &&= (($err // '') =~ /$err_expected/);
|
||||||
ok($ok, sprintf('%s %s', eval qq{"$desc"} , $err?"(got '$err')":"(# of passes: $count)"));
|
ok($ok, sprintf('%s %s', eval qq{"$desc"} , $err?"(got '$err')":"(# of passes: $count)"));
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user