summaryrefslogtreecommitdiff
path: root/source4/scripting/swig/torture/pytorture
blob: e0123447e8fb2a2aeb0b431f8b818658d0df61a3 (plain)
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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#!/usr/bin/python

import sys
from optparse import OptionParser

# Parse command line

parser = OptionParser()

parser.add_option("-b", "--binding", action="store", type="string",
                  dest="binding")

parser.add_option("-d", "--domain", action="store", type="string",
                  dest="domain")

parser.add_option("-u", "--username", action="store", type="string",
                  dest="username")

parser.add_option("-p", "--password", action="store", type="string",
                  dest="password")

(options, args) = parser.parse_args()

if not options.binding:
   parser.error('You must supply a binding string')

if not options.username or not options.password or not options.domain:
   parser.error('You must supply a domain, username and password')

binding = options.binding
domain = options.domain
username = options.username
password = options.password

if len(args) == 0:
   parser.error('You must supply the name of a module to test')

# Import and test

for test in args:

   try:
      module = __import__('torture_%s' % test)
   except ImportError:
      print 'No such module "%s"' % test
      sys.exit(1)

   if not hasattr(module, 'runtests'):
      print 'Module "%s" does not have a runtests function' % test

   module.runtests(binding, (domain, username, password))