summaryrefslogtreecommitdiff
path: root/test/servertest.py
blob: 3fd33ccd6193ee428d50ea75aa00827c2a591864 (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
def main():
    import sys, os, socket

    test_root = os.path.dirname(os.path.abspath(__file__))
    os.chdir(test_root)
    sys.path.insert(0, os.path.dirname(test_root))
    sys.path.insert(0, test_root)

    try:
        server = sys.argv[1]
        port   = int(sys.argv[2])

        if server == 'gevent':
            from gevent import monkey
            monkey.patch_all()
        elif server == 'eventlet':
            import eventlet
            eventlet.monkey_patch()

        try:
            import coverage
            coverage.process_startup()
        except ImportError:
            pass

        from bottle import route, run
        route('/test', callback=lambda: 'OK')
        run(port=port, server=server, quiet=True)

    except socket.error:
        sys.exit(3)
    except ImportError:
        sys.exit(128)
    except KeyboardInterrupt:
        pass


if __name__ == '__main__':
    main()