aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Cully <bjc@kublai.com>2017-11-10 13:47:01 -0500
committerBrian Cully <bjc@kublai.com>2017-11-12 11:48:56 -0500
commit2bb7eb2dec219d05edb53002e10811fa214325b8 (patch)
treef593bef77ba64339622d720ac51901e4626848ab
parent3f8f46c8b10d060ec4ba7f3be91ff3cb6e903e01 (diff)
downloadxmpt-2bb7eb2dec219d05edb53002e10811fa214325b8.tar.gz
xmpt-2bb7eb2dec219d05edb53002e10811fa214325b8.zip
Add tests.
* Add simple INSTALL document. * Add Makefile.PL for make support. * Moved sample files to t/fixtures. * Add version to xmpt executable.xmpt * Add tests for sample CLI run.
-rw-r--r--.gitignore7
-rw-r--r--INSTALL4
-rw-r--r--Makefile.PL5
-rw-r--r--t/fixtures/input (renamed from input)0
-rw-r--r--t/fixtures/localhost.conf (renamed from localhost.conf)0
-rw-r--r--t/fixtures/testplan (renamed from testplan)0
-rw-r--r--t/samplerun.t39
-rwxr-xr-xxmpt2
8 files changed, 56 insertions, 1 deletions
diff --git a/.gitignore b/.gitignore
index 0595a33..7006112 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,6 @@
-reuasmb.conf \ No newline at end of file
+Makefile
+MYMETA.json
+MYMETA.yml
+blib
+pm_to_blib
+reuasmb.conf
diff --git a/INSTALL b/INSTALL
new file mode 100644
index 0000000..afe6a74
--- /dev/null
+++ b/INSTALL
@@ -0,0 +1,4 @@
+% perl Makefile.PL
+% make
+% make test
+% make install
diff --git a/Makefile.PL b/Makefile.PL
new file mode 100644
index 0000000..7e0076c
--- /dev/null
+++ b/Makefile.PL
@@ -0,0 +1,5 @@
+use ExtUtils::MakeMaker;
+
+WriteMakefile(NAME => 'xmpt',
+ VERSION_FROM => 'xmpt',
+ EXE_FILES => ['xmpt']);
diff --git a/input b/t/fixtures/input
index 2d508fe..2d508fe 100644
--- a/input
+++ b/t/fixtures/input
diff --git a/localhost.conf b/t/fixtures/localhost.conf
index bc462d7..bc462d7 100644
--- a/localhost.conf
+++ b/t/fixtures/localhost.conf
diff --git a/testplan b/t/fixtures/testplan
index ba7fcaa..ba7fcaa 100644
--- a/testplan
+++ b/t/fixtures/testplan
diff --git a/t/samplerun.t b/t/samplerun.t
new file mode 100644
index 0000000..c3930ed
--- /dev/null
+++ b/t/samplerun.t
@@ -0,0 +1,39 @@
+# -*- mode: perl -*-
+
+use Test::More tests => 3;
+
+use strict;
+use warnings;
+
+my $config = 't/fixtures/localhost.conf';
+my $testplan = 't/fixtures/testplan';
+my $input = 't/fixtures/input';
+
+subtest 'standard input', sub {
+ my $cmd = "./xmpt -c $config -p $testplan";
+ my $xmptfh = new IO::File("|$cmd") or BAIL_OUT "Can't run '$cmd': $!.\n";
+ my $inputfh = new IO::File($input) or
+ BAIL_OUT "Couldn't open $input for reading: $!.\n";
+ while (<$inputfh>) {
+ print $xmptfh $_;
+ }
+ $inputfh->close;
+ $xmptfh->close;
+ ok($? == 0, 'Standard input redirect');
+};
+
+subtest 'timeout', sub {
+ my $cmd = "./xmpt -t 1 -c $config -p $testplan cat 2>/dev/null";
+ local $SIG{ALRM} = sub { fail("Timed out running $cmd.") };
+ alarm 5;
+ system $cmd;
+ ok(($? >> 8) != 0, 'Timeout test');
+};
+
+subtest 'I/O redirected to cat', sub {
+ my $cmd = "./xmpt -c $config -p $testplan cat $input 2>/dev/null";
+ local $SIG{ALRM} = sub { fail("Timed out running $cmd.") };
+ alarm 10;
+ ok((system($cmd) >> 8) == 0, 'I/O redirected to cat');
+ alarm 0;
+};
diff --git a/xmpt b/xmpt
index 9ab7f7d..5e79d7d 100755
--- a/xmpt
+++ b/xmpt
@@ -9,6 +9,8 @@ use v5.10;
use strict;
use warnings;
+our $VERSION = '0';
+
my $configpath = 'localhost.conf';
my $testplanpath = 'testplan';
my $templatepath = 'xml';