From 0bfa64faefa577d082b8e62aa0b53b11f307aec5 Mon Sep 17 00:00:00 2001 From: Mischa POSLAWSKY Date: Fri, 19 Mar 2021 03:36:43 +0100 Subject: [PATCH] IPC::Run to run example commands --- t/examples.t | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/t/examples.t b/t/examples.t index ae3e7c9..52e7a5a 100755 --- a/t/examples.t +++ b/t/examples.t @@ -2,6 +2,7 @@ use 5.014; use warnings; use re '/ms'; +use IPC::Run 'run'; use Test::More; { # silence fail diagnostics because of single caller @@ -47,15 +48,15 @@ while (readline $input) { $subcmd .= " \\K", $args .= ' ' unless $subcmd =~ m/\\K/; $cmd =~ s/\b$subcmd/$args/; } - $cmd =~ s/'/'\\''/g, $cmd = " bash -c 'set -o pipefail\n$cmd'"; + my @cmd = (bash => -c => "set -o pipefail\n$cmd"); # run and report unexpected results ok(eval { - my $output = qx($cmd); + run(\@cmd, \undef, \my $output); $? == 0 or die "error status ", $? >> 8, "\n"; length $output or die "empty output\n"; return 1; - }, $name) or diag("Failed command\n$cmd\nfrom $filename line $.: $@"); + }, $name) or diag("Failed command\n@cmd\nfrom $filename line $.: $@"); } done_testing(); -- 2.30.0