| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- #! /usr/bin/perl -w -I ..
- #
- # HP JetDirect Test via check_hpjd
- #
- #
- use strict;
- use Test::More;
- use NPTest;
- plan skip_all => "check_hpjd not compiled" unless (-x "check_hpjd");
- my $successOutput = '/^Printer ok - /';
- my $failureOutput = '/Timeout: No [Rr]esponse from /';
- my $host_tcp_hpjd = getTestParameter(
- "NP_HOST_TCP_HPJD",
- "A host (usually a printer) providing the HP-JetDirect Services"
- );
- my $host_hpjd_port_invalid = getTestParameter(
- "NP_HOST_HPJD_PORT_INVALID",
- "A port that HP-JetDirect Services is not listening on",
- "162"
- );
- my $host_hpjd_port_valid = getTestParameter(
- "NP_HOST_HPJD_PORT_VALID",
- "The port that HP-JetDirect Services is currently listening on",
- "161"
- );
- my $host_nonresponsive = getTestParameter(
- "NP_HOST_NONRESPONSIVE",
- "The hostname of system not responsive to network requests",
- "10.0.0.1"
- );
- my $hostname_invalid = getTestParameter(
- "NP_HOSTNAME_INVALID",
- "An invalid (not known to DNS) hostname",
- "nosuchhost"
- );
- my $tests = $host_tcp_hpjd ? 9 : 5;
- plan tests => $tests;
- my $res;
- SKIP: {
- skip "No HP JetDirect defined", 2 unless $host_tcp_hpjd;
- $res = NPTest->testCmd("./check_hpjd -H $host_tcp_hpjd");
- cmp_ok( $res->return_code, 'eq', 0, "Jetdirect responding" );
- like ( $res->output, $successOutput, "Output correct" );
- $res = NPTest->testCmd("./check_hpjd -H $host_tcp_hpjd -p $host_hpjd_port_valid");
- cmp_ok( $res->return_code, 'eq', 0, "Jetdirect responding on port $host_hpjd_port_valid" );
- like ( $res->output, $successOutput, "Output correct" );
- $res = NPTest->testCmd("./check_hpjd -H $host_tcp_hpjd -p $host_hpjd_port_invalid");
- cmp_ok( $res->return_code, 'eq', 2, "Jetdirect not responding on port $host_hpjd_port_invalid" );
- like ( $res->output, $failureOutput, "Output correct" );
- }
- $res = NPTest->testCmd("./check_hpjd -H $host_nonresponsive");
- cmp_ok( $res->return_code, 'eq', 2, "Host not responding");
- like ( $res->output, $failureOutput, "Output OK" );
- $res = NPTest->testCmd("./check_hpjd -H $hostname_invalid");
- cmp_ok( $res->return_code, 'eq', 3, "Hostname invalid");
|