#!/usr/bin/perl -w
use strict;
use Test::More tests => 8;
use Config;
use_ok('IPC::System::Simple', qw(run capture));
# Run a command that doesn't exist. The exit values
# 1 and 127 are special, as they indicate command-not-found
# from the Windows and Unix shells respectively.
# Bad command, run
eval { run([1,127],"xyzzy42this_command_does_not_exist","foo"); };
like ($@, qr{failed to start}, "Non-existant, run ");
# Bad calls to I::S::Simple
eval { run(); };
like($@, qr{IPC::System::Simple::run called with no arguments},"Empty call to run");
eval { capture(); };
like($@, qr{IPC::System::Simple::capture called with no arguments},"Empty call to capture");
eval { run([0..5]); };
like($@, qr{IPC::System::Simple::run called with no command},"No command passed to run");
eval { capture([0..5]); };
like($@, qr{IPC::System::Simple::capture called with no command},"No command passed to capture");
# Bad command, capture
eval { capture([1,127],"xyzzy42this_command_does_not_exist"); };
like ($@, qr{failed to start}, "Not existant, capture");
# Bad command, capture w/args
eval { capture([1,127],"xyzzy42this_command_does_not_exist",1); };
like ($@, qr{failed to start}, "Not existant, capture");