]> err.no Git - dpkg/commitdiff
Dpkg::IPC: Add testsuite
authorFrank Lichtenheld <djpig@debian.org>
Fri, 15 Feb 2008 21:43:27 +0000 (22:43 +0100)
committerFrank Lichtenheld <djpig@debian.org>
Fri, 15 Feb 2008 21:43:27 +0000 (22:43 +0100)
scripts/Makefile.am
scripts/t/800_Dpkg_IPC.t [new file with mode: 0644]

index 4d79817bc9dd58dcac5a0a5b9fcada3bd7856e63..ef4cf3074334fecfc47dc6b9e4264cd973ca3e27 100644 (file)
@@ -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 (file)
index 0000000..30d74db
--- /dev/null
@@ -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 = <TMP>;
+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 = <TMP>;
+close TMP;
+
+is($string2, $string, "{from,to}_file");