~kirkland/pyjuju/tmux

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
#!/usr/bin/env python
import os
import sys
from twisted.scripts.trial import run

from ensemble.tests.common import zookeeper_test_context

FUNCTIONAL = '--functional'

def main(args):
    if not "ZOOKEEPER_PATH" in  os.environ:
        # Look for a system install of ZK
        env_path = "/etc/zookeeper/conf/environment"
        if os.path.exists(env_path):
            print "Using system zookeeper classpath from %s" % env_path
            os.environ["ZOOKEEPER_PATH"] = "system"
        else:
            print ("Environment variable ZOOKEEPER_PATH must be defined "
                   "and should point to directory of Zookeeper installation")
            exit()

    matched = [arg for arg in args if arg.startswith("ensemble")]

    if FUNCTIONAL in sys.argv:
        sys.argv.remove(FUNCTIONAL)
        sys.argv.append("ensemble.ftests")
    elif matched:
        pass
    else:
        packages = [p for p in os.listdir("ensemble") \
                    if os.path.isdir("ensemble%s%s"%(os.sep, p))]
        packages.remove("ftests")
        sys.argv.extend(
            ["ensemble.%s"%p for p in packages])

    with zookeeper_test_context(
            os.environ["ZOOKEEPER_PATH"],
            os.environ.get("ZOOKEEPER_TEST_PORT", 28181)):
        run()

if __name__ == "__main__":
    main(sys.argv[1:])