From f9553f3e2b7f21080ce7974909e92d251aaae528 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Fri, 18 Mar 2011 19:01:58 +0100 Subject: Add tests --- t/60-regression.t | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 t/60-regression.t (limited to 't/60-regression.t') diff --git a/t/60-regression.t b/t/60-regression.t new file mode 100644 index 0000000..8faa8c5 --- /dev/null +++ b/t/60-regression.t @@ -0,0 +1,69 @@ +#!/usr/bin/env perl +use strict; +use warnings; +use 5.010; +use Test::Command tests => (3 * 8); + +sub test_fc { + my (%conf) = @_; + + $ENV{'SSH_ORIGINAL_COMMAND'} = $conf{'in'}; + + my $ret = $conf{'ret'} // 0; + my $out = ($conf{'out'} ? $conf{'out'} . "\n" : q{}); + my $err = ($conf{'err'} ? $conf{'err'} . "\n" : q{}); + + my $cmd = Test::Command->new(cmd => 'lib/ssh-forcecommand t/config'); + + $cmd->stdout_is_eq($out); + $cmd->stderr_is_eq($err); + + if ($ret == 0) { + $cmd->exit_is_num(0); + } + else { + $cmd->exit_isnt_num(0); + } +} + +test_fc( + in => undef, + ret => 1, + err => 'No command', +); + +test_fc( + in => 'invalid', + ret => 1, + err => 'Unknown command', +); + +test_fc( + in => 'simple', + out => 'foo', +); + +test_fc( + in => 'other', + out => 'bar', +); + +test_fc( + in => 'nospace', + out => 'nospace!', +); + +test_fc( + in => 'much space', + out => 'dude, lots of space', +); + +test_fc( + in => 'spaceout', + out => 'space is beautiful', +); + +test_fc( + in => 'equal', + out => 'foo = bar a=b', +); -- cgit v1.2.3