OSDN Git Service

Initial commit from 2.1.2-1
[ultramonkey-l7/ultramonkey-l7-v2.git] / l7directord / t / 15_sleep.t
1 use strict;
2 use warnings;
3 no warnings qw(redefine once);
4 use lib qw(t/lib lib);
5 use subs qw(print);
6 use Cwd;
7 use L7lib;
8 use Test::More tests => 8;
9
10 L7lib::chdir();
11 L7lib::comment_out();
12 require './l7directord';
13 override();
14
15 #...............................................
16 # test start
17 #   - sleep_and_check_signal
18 {
19     set_default();
20     my $sec = undef;
21     my $child = 0;
22     my $got = sleep_and_check_signal($sec, $child);
23     is $got, 'halt', 'sleep_and_check_signal - sleep time is undef';
24 }
25 {
26     set_default();
27     my $sec = 'ten';
28     my $child = 0;
29     my $got = sleep_and_check_signal($sec, $child);
30     is $got, 'halt', 'sleep_and_check_signal - sleep time is invalid';
31 }
32 {
33     set_default();
34     my $sec = 0;
35     my $child = 0;
36     my $got = sleep_and_check_signal($sec, $child);
37     is $got, 'run', 'sleep_and_check_signal - sleep time is zero';
38 }
39 {
40     set_default();
41     my $sec = 10;
42     my $child = 0;
43     local $main::PROC_STAT{reload} = 1;
44     my $got = sleep_and_check_signal($sec, $child);
45     is $got, 'reload', 'sleep_and_check_signal - sleep parent and reload';
46     is $main::PROC_STAT, undef, 'sleep_and_check_signal - reload flag off';
47 }
48 {
49     set_default();
50     my $sec = 10;
51     my $child = 0;
52     local $main::PROC_STAT{halt} = 1;
53     my $got = sleep_and_check_signal($sec, $child);
54     is $got, 'halt', 'sleep_and_check_signal - sleep parent and halt';
55 }
56 {
57     set_default();
58     my $sec = 10;
59     my $child = 1;
60     local $main::PROC_STAT{halt} = 1;
61     my $got = sleep_and_check_signal($sec, $child);
62     is $got, 'halt', 'sleep_and_check_signal - sleep child and halt';
63 }
64 {
65     set_default();
66     my $sec = 3;
67     my $child = 1;
68     local $main::PROC_STAT{reload} = 1;
69     my $got = sleep_and_check_signal($sec, $child);
70     is $got, 'run', 'sleep_and_check_signal - sleep child and ignore reload';
71 }
72 # test end
73 #...............................................
74
75 L7lib::comment_in();
76
77 sub set_default {
78     $main::CONFIG_FILE{path} = 'config';
79 }
80 sub override {
81     *ld_log = \&__ld_log;
82 }
83 sub __ld_log {
84 }