s3:ctdb library: fix the build against older ctdb versions
[samba.git] / selftest / socket_wrapper.py
1 #!/usr/bin/python
2 # Bootstrap Samba and run a number of tests against it.
3 # Copyright (C) 2005-2007 Jelmer Vernooij <jelmer@samba.org>
4
5 # This program is free software; you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; either version 3 of the License, or
8 # (at your option) any later version.
9
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 # GNU General Public License for more details.
14
15 # You should have received a copy of the GNU General Public License
16 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
17
18 __all__ = ['setup_dir', 'setup_pcap', 'set_default_iface']
19
20 import os
21 import shutil
22
23 def setup_dir(dir, pcap):
24     """Setup a socket wrapper directory.
25
26     :param dir: Socket wrapper directory (None if socket wrapper should be
27         disabled)
28     :param pcap: Whether to generate pcap files
29     :return: The socket wrapper directory
30     """
31     pcap_dir = None
32
33     if dir is not None:
34         if os.path.isdir(dir):
35             shutil.rmtree(dir)
36         os.mkdir(dir, 0777)
37
38         if pcap:
39             pcap_dir = os.path.join(dir, "pcap")
40
41             if os.path.isdir(pcap_dir):
42                 shutil.rmtree(pcap_dir)
43             os.mkdir(pcap_dir, 0777)
44
45     if pcap_dir is not None:
46         os.environ["SOCKET_WRAPPER_PCAP_DIR"] = pcap_dir
47     else:
48         del os.environ["SOCKET_WRAPPER_PCAP_DIR"]
49
50     if dir is not None:
51         os.environ["SOCKET_WRAPPER_DIR"] = dir
52     else:
53         del os.environ["SOCKET_WRAPPER_DIR"]
54
55     return dir
56
57 def setup_pcap(pcap_file):
58     os.environ["SOCKET_WRAPPER_PCAP_FILE"] = pcap_file
59
60 def set_default_iface(i):
61     os.environ["SOCKET_WRAPPER_DEFAULT_IFACE"] = str(i)