From: Frank Lichtenheld Date: Fri, 15 Feb 2008 21:43:27 +0000 (+0100) Subject: Dpkg::IPC: Add testsuite X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6b5953225cb7fc58efb1c3bb249c757cfd29277c;p=dpkg Dpkg::IPC: Add testsuite --- diff --git a/scripts/Makefile.am b/scripts/Makefile.am index 4d79817b..ef4cf307 100644 --- a/scripts/Makefile.am +++ b/scripts/Makefile.am @@ -76,7 +76,8 @@ EXTRA_DIST = \ t/600_Dpkg_Changelog/misplaced-tz \ t/600_Dpkg_Changelog/shadow \ t/700_Dpkg_Control.t \ - t/700_Dpkg_Control/control-1 + t/700_Dpkg_Control/control-1 \ + t/800_Dpkg_IPC.t CLEANFILES = \ $(bin_SCRIPTS) $(sbin_SCRIPTS) $(changelog_SCRIPTS) \ diff --git a/scripts/t/800_Dpkg_IPC.t b/scripts/t/800_Dpkg_IPC.t new file mode 100644 index 00000000..30d74db1 --- /dev/null +++ b/scripts/t/800_Dpkg_IPC.t @@ -0,0 +1,56 @@ +# -*- mode: cperl -*- + +use Test::More tests => 7; + +use strict; +use warnings; +use File::Temp qw(tempfile); + +use_ok('Dpkg::IPC'); + +$/ = undef; + +my ($tmp_fh, $tmp_name) = tempfile; +my ($tmp2_fh, $tmp2_name) = tempfile; + +my $string = "foo\nbar\n"; +my $string2; + +open TMP, '>', $tmp_name; +print TMP $string;; +close TMP; + +my $pid = fork_and_exec(exec => "cat", + from_string => \$string, + to_string => \$string2); + +ok($pid); + +is($string2, $string, "{from,to}_string"); + +$pid = fork_and_exec(exec => "cat", + from_handle => $tmp_fh, + to_handle => $tmp2_fh); + +ok($pid); + +wait_child($pid); + +open TMP, '<', $tmp2_name; +$string2 = ; +close TMP; + +is($string2, $string, "{from,to}_handle"); + +$pid = fork_and_exec(exec => "cat", + from_file => $tmp_name, + to_file => $tmp2_name, + wait_child => 1); + +ok($pid); + +open TMP, '<', $tmp2_name; +$string2 = ; +close TMP; + +is($string2, $string, "{from,to}_file");