예제 #1
0
 def setUpClass(cls):
     cls.parser = ku.create_parser()
     cls.tool_name = "ku"
예제 #2
0
    from cStringIO import StringIO
except ImportError:
    from io import StringIO

from pycoin.cmds import block, ku, msg, tx


DEFAULT_ENV = {
    "PYCOIN_BTC_PROVIDERS": "blockchain.info blockexplorer.com",
    "PATH": os.environ.get("PATH")
}


TOOL_LOOKUP = {
    "tx": (tx.create_parser(), tx.tx),
    "ku": (ku.create_parser(), ku.ku),
    "msg": (msg.create_parser(), msg.msg),
    "block": (block.create_parser(), block.block)
}


class ToolTest(unittest.TestCase):

    def invoke_tool(self, args):
        tool_name = args[0]
        parser, main = TOOL_LOOKUP[tool_name]
        return main(parser.parse_args(args[1:]), parser)

    def launch_tool(self, cmd_line=None, args=None, env=None):
        if args is None:
            args = shlex.split(cmd_line)
예제 #3
0
        with open(p) as f:
            # allow "#" comments at the beginning of the file
            while 1:
                cmd = f.readline()[:-1]
                if cmd[0] != '#':
                    break
            expected_output = f.read()
            test_name = os.path.relpath(
                p, TESTS_PATH).replace(".", "_").replace("/", "_")
            l.append((test_name, cmd, expected_output))
    return l


TOOL_LOOKUP = {
    "tx" : (tx.create_parser(), tx.tx),
    "ku" : (ku.create_parser(), lambda args, parser: ku.ku(args))
}


class CmdlineTest(ToolTest):
    def invoke_tool(self, args):
        tool_name = args[0]
        if tool_name.endswith(".py"):
            tool_name = tool_name[:-3]
        parser, main = TOOL_LOOKUP[tool_name]
        return main(parser.parse_args(args[1:]), parser)


def make_f(cmd, expected_output):

    def f(self):