diff options
| author | Marius Peter <dev@marius-peter.com> | 2026-07-02 17:54:07 +0200 |
|---|---|---|
| committer | Marius Peter <dev@marius-peter.com> | 2026-07-02 17:54:07 +0200 |
| commit | b8881057b64c6d0eedcfa2b07c138908ef2b6f76 (patch) | |
| tree | 630edefe5ea608494e4e6f9a10353df3d12c119e | |
| parent | 2c3c8f12e45c60fe30589cea11f226d63bf35cb9 (diff) | |
Add tests.
| -rw-r--r-- | .proverc | 2 | ||||
| -rwxr-xr-x | t/00-ping-from-dev.t | 18 | ||||
| -rwxr-xr-x | t/01-ssh-from-dev.t | 36 | ||||
| -rwxr-xr-x | t/lib/FAPG/TestSupport.pm | 55 |
4 files changed, 111 insertions, 0 deletions
diff --git a/.proverc b/.proverc new file mode 100644 index 0000000..cd16c45 --- /dev/null +++ b/.proverc @@ -0,0 +1,2 @@ +# .proverc +-j 9 diff --git a/t/00-ping-from-dev.t b/t/00-ping-from-dev.t new file mode 100755 index 0000000..583db09 --- /dev/null +++ b/t/00-ping-from-dev.t @@ -0,0 +1,18 @@ +#!/usr/bin/env perl +# -*- mode: perl-ts; -*- + +use 5.32.0; +use strict; +use warnings; + +use FindBin; +use lib "${FindBin::Bin}/lib"; +use Test2::V0; +use FAPG::TestSupport qw(@HOSTS); + +foreach my $h (@HOSTS) { + my $cmd = "ping -c 1 $h->{hostname} &> /dev/null"; + ok system($cmd) == 0, "host $h->{hostname} can be pinged"; +} + +done_testing(); diff --git a/t/01-ssh-from-dev.t b/t/01-ssh-from-dev.t new file mode 100755 index 0000000..d86649d --- /dev/null +++ b/t/01-ssh-from-dev.t @@ -0,0 +1,36 @@ +#!/usr/bin/env perl +# -*- mode: perl-ts; -*- + +use 5.32.0; +use strict; +use warnings; + +use FindBin; +use lib "${FindBin::Bin}/lib"; +use Test2::V0; +use FAPG::TestSupport qw(@HOSTS); +use Net::SSH::Perl; + +foreach my $h (@HOSTS) { + my ( $out, $err, $exit ); + my $timeout = 5; + + my $ok = eval { + local $SIG{ALRM} = sub { die "SSH timeout after $timeout seconds.\n" }; + alarm $timeout; + + my $ssh = Net::SSH::Perl->new( $h->{hostname}); + $ssh->login( $h->{user}, $h->{password} ); + ( $out, $err, $exit ) = $ssh->cmd('true'); + + 1; + }; + + alarm 0; + + ok $ok, "host $h->{hostname} can be reached via ssh"; + diag $@ if $@; + +} + +done_testing(); diff --git a/t/lib/FAPG/TestSupport.pm b/t/lib/FAPG/TestSupport.pm new file mode 100755 index 0000000..b7cd773 --- /dev/null +++ b/t/lib/FAPG/TestSupport.pm @@ -0,0 +1,55 @@ +#!/usr/bin/env perl +# -*- mode: perl-ts; -*- + +package FAPG::TestSupport; + +use strict; +use warnings; +use Exporter 'import'; + +our @EXPORT_OK = qw( + @HOSTS +); + +our @HOSTS = ( + { + user => 'pirou', + hostname => 'fapg-daq-five-01', + password => 'pipirou', + mqtt_from_vps => '10.77.0.2', + }, + { + hostname => 'vps', + user => 'mpeter', + }, + { + hostname => 'fapg-daq-zero-ph-01', + user => 'pirou', + password => 'pipirou', + probe => 'ph', + unit => 'pH', + }, + { + hostname => 'fapg-daq-zero-do-01', + user => 'pirou', + password => 'pipirou', + probe => 'do', + unit => 'mg/L', + }, + { + hostname => 'fapg-daq-zero-orp-01', + user => 'pirou', + password => 'pipirou', + probe => 'redox', + unit => 'mV', + }, + { + hostname => 'fapg-daq-zero-ec-01', + user => 'pirou', + password => 'pipirou', + probe => 'ec', + unit => 'uS/cm', + }, +); + +1; |