| #!/usr/bin/env python |
| import sys |
| from tornado.options import options, define, parse_command_line |
| from twisted.python import log |
| from twisted.internet import reactor |
| from autobahn.fuzzing import FuzzingClientFactory |
| |
| define('servers', type=str, multiple=True, |
| default=['Tornado=ws://localhost:9000']) |
| |
| define('cases', type=str, multiple=True, |
| default=["*"]) |
| define('exclude', type=str, multiple=True, |
| default=["9.*"]) |
| |
| if __name__ == '__main__': |
| parse_command_line() |
| log.startLogging(sys.stdout) |
| servers = [] |
| for server in options.servers: |
| name, _, url = server.partition('=') |
| servers.append({"agent": name, "url": url, "options": {"version": 17}}) |
| spec = { |
| "options": {"failByDrop": False}, |
| "enable-ssl": False, |
| "servers": servers, |
| "cases": options.cases, |
| "exclude-cases": options.exclude, |
| "exclude-agent-cases": {}, |
| } |
| fuzzer = FuzzingClientFactory(spec) |
| reactor.run() |