File: hole.t

package info (click to toggle)
liblog-agent-rotate-perl 1.201-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 140 kB
  • sloc: perl: 825; makefile: 2
file content (93 lines) | stat: -rw-r--r-- 1,925 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#!./perl
###########################################################################
#
# t/hole.t
#
# Copyright (c) 2000 Raphael Manfredi.
# Copyright (c) 2002-2015 Mark Rogaski, mrogaski@cpan.org;
# all rights reserved.
#
# See the README file included with the
# distribution for license information.
#
###########################################################################

#
# Check behaviour when archived logfiles are externally removed
#
print "1..21\n";

require 't/code.pl';
sub ok;

sub cleanlog() {
	unlink <t/logfile*>;
}

use Log::Agent;
require Log::Agent::Driver::File;
require Log::Agent::Rotate;

cleanlog;
my $rotate_dflt = Log::Agent::Rotate->make(
	-backlog     => 7,
	-unzipped    => 2,
	-is_alone    => 0,
    -max_size    => 100,
);

my $driver = Log::Agent::Driver::File->make(
	-channels => {
		'error'  => 't/logfile_err',
		'output' => ['t/logfile', $rotate_dflt],
	},
);
logconfig(-driver => $driver);

my $message = "this is a message whose size is exactly 53 characters";

logsay $message;
logsay $message;		# rotates

logsay $message;
logsay $message;		# rotates again

logsay $message;
logsay $message;		# rotates again

logsay $message;
logsay $message;		# rotates again

ok 1, -e("t/logfile.0");
ok 2, -e("t/logfile.1");
ok 3, -e("t/logfile.2.gz");
ok 4, -e("t/logfile.3.gz");
ok 5, !-e("t/logfile.4.gz");

ok 6, unlink "t/logfile.0";
ok 7, unlink "t/logfile.2.gz";

logsay $message;
logsay $message;		# rotates again

ok 8, -e("t/logfile.0");
ok 9, !-e("t/logfile.1");
ok 10, -e("t/logfile.2.gz");
ok 11, !-e("t/logfile.3.gz");
ok 12, -e("t/logfile.4.gz");
ok 13, !-e("t/logfile.5.gz");

ok 14, unlink "t/logfile.2.gz";

logsay $message;
logsay $message;		# rotates again

ok 15, -e("t/logfile.0");
ok 16, -e("t/logfile.1");
ok 17, !-e("t/logfile.2.gz");
ok 18, !-e("t/logfile.3.gz");
ok 19, !-e("t/logfile.4.gz");
ok 20, -e("t/logfile.5.gz");
ok 21, !-e("t/logfile.6.gz");

cleanlog;