diff options
author | Brian Cully <bjc@kublai.com> | 2017-11-10 13:47:01 -0500 |
---|---|---|
committer | Brian Cully <bjc@kublai.com> | 2017-11-12 11:48:56 -0500 |
commit | 2bb7eb2dec219d05edb53002e10811fa214325b8 (patch) | |
tree | f593bef77ba64339622d720ac51901e4626848ab | |
parent | 3f8f46c8b10d060ec4ba7f3be91ff3cb6e903e01 (diff) | |
download | xmpt-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-- | .gitignore | 7 | ||||
-rw-r--r-- | INSTALL | 4 | ||||
-rw-r--r-- | Makefile.PL | 5 | ||||
-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.t | 39 | ||||
-rwxr-xr-x | xmpt | 2 |
8 files changed, 56 insertions, 1 deletions
@@ -1 +1,6 @@ -reuasmb.conf
\ No newline at end of file +Makefile +MYMETA.json +MYMETA.yml +blib +pm_to_blib +reuasmb.conf @@ -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/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; +}; @@ -9,6 +9,8 @@ use v5.10; use strict; use warnings; +our $VERSION = '0'; + my $configpath = 'localhost.conf'; my $testplanpath = 'testplan'; my $templatepath = 'xml'; |