File: external.pl

package info (click to toggle)
darcs 2.0.2-3
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 6,400 kB
  • ctags: 1,048
  • sloc: haskell: 24,937; perl: 9,736; sh: 3,369; ansic: 1,913; makefile: 17; xml: 14
file content (37 lines) | stat: -rw-r--r-- 889 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/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');