Merge branch 'master' of ssh://git.samba.org/data/git/samba into crypt
[samba.git] / selftest / SocketWrapper.pm
1 #!/usr/bin/perl
2 # Bootstrap Samba and run a number of tests against it.
3 # Copyright (C) 2005-2007 Jelmer Vernooij <jelmer@samba.org>
4 # Published under the GNU GPL, v3 or later.
5
6 package SocketWrapper;
7
8 use Exporter;
9 @ISA = qw(Exporter);
10 @EXPORT_OK = qw(setup_dir setup_pcap set_default_iface);
11
12 use strict;
13 use FindBin qw($RealBin);
14
15 sub setup_dir($$)
16 {
17         my ($dir, $pcap) = @_;
18         my $pcap_dir = undef;
19
20         if (defined($dir)) {
21                 if ( -d $dir ) {
22                         unlink <$dir/*>;
23                 } else {
24                         mkdir($dir, 0777);
25                 }
26
27                 if ($pcap) {
28                         $pcap_dir = $dir."/pcap";
29
30                         if ( -d $pcap_dir ) {
31                                 unlink <$pcap_dir/*>;
32                         } else {
33                                 mkdir($pcap_dir, 0777);
34                         }
35                 }
36         }
37
38         if (defined($pcap_dir)) {
39                 $ENV{SOCKET_WRAPPER_PCAP_DIR} = $pcap_dir;
40         } else {
41                 delete $ENV{SOCKET_WRAPPER_PCAP_DIR};
42         }
43
44         if (defined($dir)) {
45                 $ENV{SOCKET_WRAPPER_DIR} = $dir;
46         } else {
47                 delete $ENV{SOCKET_WRAPPER_DIR};
48         }
49
50         return $dir;
51 }
52
53 sub setup_pcap($)
54 {
55         my ($pcap_file) = @_;
56
57         $ENV{SOCKET_WRAPPER_PCAP_FILE} = $pcap_file;
58 }
59
60 sub set_default_iface($)
61 {
62         my ($i) = @_;
63         $ENV{SOCKET_WRAPPER_DEFAULT_IFACE} = $i;
64 }
65
66 1;