- open my $err, '+>', "$tmpdir/index-err" or die "open: $!";
- my $ipid = fork;
- if ($ipid == 0) {
- dup2(fileno($err), 2) or die "dup2 failed: $!";
- exec("$script-index", '--prune', "$tmpdir/m");
- die "exec fail: $!";
- }
- ok($ipid, 'running index..');
- is(waitpid($ipid, 0), $ipid, 'index --prune done');
- is($?, 0, 'no error from index');
- ok(seek($err, 0, 0), 'rewound stderr');
- $err = eval { local $/; <$err> };
+ my $cmd = [ "$script-index", '--prune', "$tmpdir/m" ];
+ my ($in, $out, $err) = ('', '', '');
+ ok(IPC::Run::run($cmd, \$in, \$out, \$err), '-index --prune');