Пример #1
0
def main():
    parser = argparse.ArgumentParser(
        description="asyncio-based source compiler and test runner")
    parser.add_argument('-c',
                        '--conf',
                        type=argparse.FileType('r'),
                        help="custom yaml configuration file to use")
    parser.add_argument(
        '-l',
        '--logging',
        choices=[l.lower() for l in logging._nameToLevel],
        help="logging level (overrides root logger level from file conf)")

    cmd = parser.add_subparsers(dest='command')
    commands = dict(
        getattr(module, 'build')(cmd)
        for module in (languages, test, serve, benchmark))
    args = parser.parse_args()

    if args.conf:
        # merge user defined conf
        conf.merge(yaml.safe_load(args.conf))

    # default logging config from conf
    logging.config.dictConfig(conf['logging'])

    if args.logging:
        # override root logger level
        logging.root.setLevel(args.logging.upper())

    # import built-in languages
    load_builtins()
    # import user languages from environ
    load_from_environ()

    try:
        func = commands[args.command]
    except KeyError:
        parser.error("missing command")
    else:
        sys.exit(func(args))
Пример #2
0
import asyncio
import collections
import msgpack
import pytest

from aiohttp.test_utils import BaseTestServer, TestServer, TestClient
from aiohttp.web import Application

from camisole.httpserver import make_application

# load builtins once and for all
from camisole.languages import load_builtins
load_builtins()


@pytest.yield_fixture
def aio_client(event_loop):
    """
    Copied from aiohttp/aiohttp/pytest_plugin.py
    """
    clients = []

    @asyncio.coroutine
    def go(__param, *args, server_kwargs={}, **kwargs):

        if isinstance(__param, collections.Callable) and \
                not isinstance(__param, (Application, BaseTestServer)):
            __param = __param(event_loop, *args, **kwargs)
            kwargs = {}
        else:
            assert not args, "args should be empty"