fb4c2f1a6172d28d3c5d8e05485b10493e27ce2a
[mythtv-status.git] / t / 01-test-help.t
1 #!usr/bin/perl
2
3 use Test::More tests => 2;
4 use FindBin qw/$Bin/;
5
6 # Test that the blurb of how to get help is printed.
7 my $out = `$Bin/../bin/mythtv-status --zzz 2>&1`;
8
9 my $expected = <<EOF;
10 Unknown option: zzz
11
12 Use --help for help.
13
14 Usage:
15      mythtv-status [options]
16
17 EOF
18
19 ok($out eq $expected, 'Invalid option returns help blurb');
20
21 # Check the help output, using --help.
22 $out = `$Bin/../bin/mythtv-status --help 2>&1`;
23
24 $expected = <<EOF;
25 Usage:
26      mythtv-status [options]
27
28 Options:
29     -c, --colour
30         Use colour when showing the status of the encoder(s).
31
32     --date
33         Set the date to run as, used for debugging purposes.
34
35     -d, --description
36         Display the description for the scheduled recordings.
37
38     --disk-space-warn
39         The threshold (in percent) of used disk space that we should show
40         the disk space in red (if using colour) or send an email if we're in
41         email mode with email only on warnings.
42
43     --encoder-details
44         Display the input ID and channel name against the recording details.
45
46     --encoder-skip-idle
47         Suppress displaying idle encoders in the Encoders block.
48
49     -e, --episode
50         Display the episode (subtitle) for the scheduled recordings.
51
52     --email <address>[ --email <address> ...]
53         Send the output to the listed email addresses. By default the
54         encoder status, currently recording shows and time till next
55         recording is suppressed from the email.
56
57         To turn the additional blocks on you can use --encoders,
58         --recording-now and/or --next-recording.
59
60     --email-only-on-alert
61         Only send an email out (if --email is present) if there is an alert
62         (i.e., schedule conflict or low disk space).
63
64     -?, --help
65         Display help.
66
67     --file <file>
68         Load XML from the file specified instead of querying a MythTV
69         backend. Handy for debugging things.
70
71     --save-file <file>
72         Save the XML we received from the MythTV backend. Handy for
73         debugging things.
74
75     --guide-days-warn <days>
76         Warn if the number of days of guide data present is equal to or
77         below this level. Default is 2 days.
78
79     -h HOST, --host=HOST
80         The host to check, defaults to localhost.
81
82     --nostatus, --noencoders, --norecording-now, --noscheduled-recordings,
83     --noschedule-conflicts, --nonext-recording, --nototal-disk-space,
84     --nodisk-space, --noguide-data, --noauto-expire
85         Suppress displaying blocks of the output if they would normally be
86         displayed.
87
88     -p PORT, --port=PORT
89         The port to use when connecting to MythTV, defaults to 6544.
90
91     --oneliner-bullets
92         Insert asterisks (*) before each of the oneliners to stop some email
93         clients from thinking the oneliner block is a paragraph and trying
94         to word wrap them.
95
96     --auto-expire
97         Display the shows due to auto expire (output is normally
98         suppressed).
99
100     --auto-expire-count
101         How many of the auto expire shows to display, defaults to 10.
102
103     --recording-in-warn
104         If the "Next Recording In" time is less than this amount, display it
105         in red. This in seconds, and defaults to 3600 (1 hour).
106
107     --verbose
108         Have slightly more verbose output. This includes any warnings that
109         might be generated while parsing the XML.
110
111     -v, --version
112         Show the version of mythtv-status and then exit.
113
114 EOF
115
116 ok($out eq $expected, '--help generates help output');