#!/usr/bin/env perl

# Some tests for launching external commands

use lib 'lib/perl';
use Test::More 'no_plan';
use Test::Darcs;
use Shell::Command;
use File::Slurp;
use strict;

init_tmp_repo();

my $touch_fakessh='touch-fakessh';
$touch_fakessh.='.bat' if ($^O =~ /(msys|win32)/i);

cleanup  'fakessh';
cleanup  'touch-fakessh';
###

# make our ssh command one word only
write_file($touch_fakessh,'echo hello > fakessh');
`chmod u+x $touch_fakessh`;
# add our fake ssh command to the environment
$ENV{DARCS_SSH}="./$touch_fakessh";
$ENV{DARCS_SCP}="./$touch_fakessh";
$ENV{DARCS_SFTP}="./$touch_fakessh";
# first test the DARCS_SSH environment variable
darcs(qw(get foo.bar:baz));
ok(-e 'fakessh');
cleanup 'fakessh';
# now make sure that we don't launch ssh for nothing
cleanup  'temp2';
darcs(qw(get temp2));
ok(! -e 'fakessh');
darcs(qw(get http://foo.bar:baz));
ok(! -e 'fakessh');
