コード例 #1
0
ファイル: test_eval.py プロジェクト: cocaman/pythonect
    def test_stateful_x_eq_5_statement(self):

        locals_ = {}

        globals_ = {}

        pythonect.eval('x = 5', globals_, locals_)

        self.assertEqual(pythonect.eval('1 -> [x == 5]', globals_, locals_), 1)
コード例 #2
0
ファイル: test_eval.py プロジェクト: cocaman/pythonect
    def test_multiple_stateful_x_eq_5_statement(self):

        locals_ = {}

        globals_ = {}

        pythonect.eval('xrange(1, 10) -> x = _', globals_, locals_)

        self.assertEqual('x' not in locals_ and 'x' not in globals_, True)
コード例 #3
0
ファイル: test_eval.py プロジェクト: urwithajit9/pythonect
    def test_literal_int_sync_stmt_single_return_value_function_sync_single_return_value_function(
            self):

        self.assertEqual(
            pythonect.eval('1 | def foobar(x): return x+1 | foobar',
                           copy.copy(self.globals_), copy.copy(self.locals_)),
            2)
コード例 #4
0
ファイル: test_eval.py プロジェクト: urwithajit9/pythonect
    def test_literal_int_sync_stmt_multiple_return_value_function_async_multiple_return_value_function(
            self):

        self.assertEqual(
            pythonect.eval('1 | def foobar(x): return [x,x+1] -> foobar',
                           copy.copy(self.globals_), copy.copy(self.locals_)),
            [1, 2])
コード例 #5
0
ファイル: test_eval.py プロジェクト: Big-Data/pythonect
    def test_typeerror_exception_not_due_to_eval(self):

        import sys
        import os

        orig_stderr = sys.stderr

        sys.stderr = open(os.devnull, 'w')

        self.assertEqual(pythonect.eval('1 -> socket.socket(socket.AF_INET, socket.SOCK_STREAM) -> _.connect("A","B")', {'sys': sys}, {'sys': sys}), False)

        sys.stderr = orig_stderr
コード例 #6
0
ファイル: eval.py プロジェクト: INFOSECAPPS/hackersh
def eval(source, locals_):

    return_value = None

    graph = None

    if source != "pass":

        if not isinstance(source, networkx.DiGraph):

            graph = parse(source)

        else:

            graph = source

        return_value = pythonect.eval(_hackersh_graph_transform(graph, locals_), {}, locals_)

    return return_value
コード例 #7
0
def eval(source, locals_):

    return_value = None

    graph = None

    if source != "pass":

        if not isinstance(source, networkx.DiGraph):

            graph = parse(source)

        else:

            graph = source

        return_value = pythonect.eval(
            _hackersh_graph_transform(graph, locals_), {}, locals_)

    return return_value
コード例 #8
0
ファイル: test_eval.py プロジェクト: cocaman/pythonect
    def test_pseudo_none_str_fcn_return_value_as_url(self):

        self.assertEqual(pythonect.eval('def ret_none(): return "None" -> def foobar(x): return x+1 -> 1 -> foobar@ret_none()', {}, {}), 2)
コード例 #9
0
ファイル: test_eval.py プロジェクト: cocaman/pythonect
    def test_multiprocess_program_sync(self):

        self.assertEqual(pythonect.eval('import multiprocessing | start_pid = multiprocessing.current_process().pid | start_pid | str & | current_pid = multiprocessing.current_process().pid | 1 | current_pid != start_pid', {}, {}), 1)
コード例 #10
0
ファイル: test_eval.py プロジェクト: cocaman/pythonect
    def test_sub_expr_python_expr_int(self):

        self.assertEqual(pythonect.eval('`1 + 1`', {}, {}), 2)
コード例 #11
0
ファイル: test_eval.py プロジェクト: cocaman/pythonect
    def test_sub_expr_python_stmt_import(self):

        self.assertEqual(pythonect.eval('`import math`', {}, {}), self.input)
コード例 #12
0
ファイル: test_eval.py プロジェクト: cocaman/pythonect
    def test_literal_bin(self):

        self.assertEqual(pythonect.eval('0b1', {}, {}), 1)
コード例 #13
0
ファイル: test_eval.py プロジェクト: cocaman/pythonect
    def test_literal_dict_as_input(self):

        self.assertEqual(pythonect.eval('{"foobar": "foobar"}', {}, {}), {"foobar": "foobar"})
コード例 #14
0
    def test_sub_expr_literal_hex(self):

        self.assertEqual(pythonect.eval('`0x01`', {}, {}), 1)
コード例 #15
0
    def test_print_like_statement(self):

        self.assertItemsEqual(
            pythonect.eval('range(1,10) -> print("Thread A")', {}, {}),
            [1, 2, 3, 4, 5, 6, 7, 8, 9])
コード例 #16
0
    def test_autloader_within_array(self):

        self.assertItemsEqual(
            pythonect.eval('"Hello world" | [string.split]', {}, {}),
            ["Hello", "world"])
コード例 #17
0
    def test_pseudo_none_str_fcn_return_value_as_url(self):

        self.assertEqual(
            pythonect.eval(
                'def ret_none(): return "None" -> def foobar(x): return x+1 -> 1 -> foobar@ret_none()',
                {}, {}), 2)
コード例 #18
0
    def test_pseudo_none_str_as_url(self):

        self.assertEqual(
            pythonect.eval('def foobar(x): return x+1 -> 1 -> foobar@"None"',
                           {}, {}), 2)
コード例 #19
0
    def test_literal_hex(self):

        self.assertEqual(pythonect.eval('0x01', {}, {}), 1)
コード例 #20
0
ファイル: test_eval.py プロジェクト: cocaman/pythonect
    def test_print_like_statement(self):

        self.assertItemsEqual(pythonect.eval('range(1,10) -> print("Thread A")', {}, {}), [1, 2, 3, 4, 5, 6, 7, 8, 9])
コード例 #21
0
    def test_multiprocess_program_sync(self):

        self.assertEqual(
            pythonect.eval(
                'import multiprocessing | start_pid = multiprocessing.current_process().pid | start_pid | str & | current_pid = multiprocessing.current_process().pid | 1 | current_pid != start_pid',
                {}, {}), 1)
コード例 #22
0
    def test_typeerror_exception_not_due_to_eval(self):

        self.assertEqual(
            pythonect.eval(
                '1 -> socket.socket(socket.AF_INET, socket.SOCK_STREAM) -> _.connect("A","B")',
                {}, {}), False)
コード例 #23
0
ファイル: test_eval.py プロジェクト: cocaman/pythonect
    def test_literal_hex(self):

        self.assertEqual(pythonect.eval('0x01', {}, {}), 1)
コード例 #24
0
    def test_literal_bin(self):

        self.assertEqual(pythonect.eval('0b1', {}, {}), 1)
コード例 #25
0
ファイル: test_eval.py プロジェクト: cocaman/pythonect
    def test_literal_int(self):

        self.assertEqual(pythonect.eval('1', {}, {}), 1)
コード例 #26
0
    def test_list_with_str_with_comma(self):

        self.assertEqual(pythonect.eval('["Hello, world"]', {}, {}),
                         'Hello, world')
コード例 #27
0
ファイル: test_eval.py プロジェクト: cocaman/pythonect
    def test_sub_expr_python_stmt_assignment(self):

        self.assertEqual(pythonect.eval('`x = 1`', {}, {}), self.input)
コード例 #28
0
    def test_multi_processing_and_multi_threading(self):

        self.assertEqual(
            pythonect.eval('"Hello, world" -> [print, print &]', {}, {}),
            ['Hello, world', 'Hello, world'])
コード例 #29
0
ファイル: test_eval.py プロジェクト: cocaman/pythonect
    def test_python_expr_str_2(self):

        self.assertEqual(pythonect.eval("'Hello World'", {}, {}), "Hello World")
コード例 #30
0
    def test_non_string_literals_in_list(self):

        self.assertEqual(pythonect.eval('[1,2,3] -> _ + 1', {}, {}), [2, 3, 4])
コード例 #31
0
    def test_python_expr_str_3(self):

        self.assertEqual(pythonect.eval('"Hello \'W\'orld"', {}, {}),
                         "Hello 'W'orld")
コード例 #32
0
    def test_eval_with_expressions_list_as_input(self):

        expressions = pythonect.parse('"Hello, world" -> 1 | 2')

        self.assertEqual(pythonect.eval(expressions, {}, {}), 2)
コード例 #33
0
ファイル: test_eval.py プロジェクト: cocaman/pythonect
    def test_pseudo_none_str_as_url(self):

        self.assertEqual(pythonect.eval('def foobar(x): return x+1 -> 1 -> foobar@"None"', {}, {}), 2)
コード例 #34
0
ファイル: test_eval.py プロジェクト: cocaman/pythonect
    def test_list_with_str_with_comma(self):

        self.assertEqual(pythonect.eval('["Hello, world"]', {}, {}), 'Hello, world')
コード例 #35
0
ファイル: test_eval.py プロジェクト: cocaman/pythonect
    def test_autloader_within_array(self):

        self.assertItemsEqual(pythonect.eval('"Hello world" | [string.split]', {}, {}), ["Hello", "world"])
コード例 #36
0
ファイル: test_eval.py プロジェクト: cocaman/pythonect
    def test_non_string_literals_in_list(self):

        self.assertEqual(pythonect.eval('[1,2,3] -> _ + 1', {}, {}), [2, 3, 4])
コード例 #37
0
    def test_literal_dict_as_input(self):

        self.assertEqual(pythonect.eval('{"foobar": "foobar"}', {}, {}),
                         {"foobar": "foobar"})
コード例 #38
0
    def test_singlethread_program_sync(self):

        self.assertEqual(
            pythonect.eval(
                'import threading | x = threading.current_thread().name | y = threading.current_thread().name | x == y',
                {}, {}), None)
コード例 #39
0
ファイル: test_eval.py プロジェクト: cocaman/pythonect
    def test_typeerror_exception_not_due_to_eval(self):

        self.assertEqual(pythonect.eval('1 -> socket.socket(socket.AF_INET, socket.SOCK_STREAM) -> _.connect("A","B")', {}, {}), False)
コード例 #40
0
    def test_literal_float(self):

        self.assertEqual(pythonect.eval('1.0', {}, {}), 1)
コード例 #41
0
ファイル: test_eval.py プロジェクト: cocaman/pythonect
    def test_multi_processing_and_multi_threading(self):

        self.assertEqual(pythonect.eval('"Hello, world" -> [print, print &]', {}, {}), ['Hello, world', 'Hello, world'])
コード例 #42
0
    def test_dict_as_return_value_as_input(self):

        self.assertEqual(
            pythonect.eval(
                "def foobar(): return {'foobar': 'foobar'} -> foobar() -> print",
                {}, {}), {"foobar": "foobar"})
コード例 #43
0
ファイル: test_eval.py プロジェクト: cocaman/pythonect
    def test_eval_with_expressions_list_as_input(self):

        expressions = pythonect.parse('"Hello, world" -> 1 | 2')

        self.assertEqual(pythonect.eval(expressions, {}, {}), 2)
コード例 #44
0
    def test_literal_int(self):

        self.assertEqual(pythonect.eval('1', {}, {}), 1)
コード例 #45
0
ファイル: test_eval.py プロジェクト: cocaman/pythonect
    def test_dict_as_return_value_as_input(self):

        self.assertEqual(pythonect.eval("def foobar(): return {'foobar': 'foobar'} -> foobar() -> print", {}, {}), {"foobar": "foobar"})
コード例 #46
0
    def test_python_stmt_import(self):

        self.assertEqual(pythonect.eval('import math', {}, {}), self.input)
コード例 #47
0
ファイル: test_eval.py プロジェクト: cocaman/pythonect
    def test_sub_expr_literal_hex(self):

        self.assertEqual(pythonect.eval('`0x01`', {}, {}), 1)
コード例 #48
0
    def test_sub_expr_python_stmt_import(self):

        self.assertEqual(pythonect.eval('`import math`', {}, {}), self.input)
コード例 #49
0
ファイル: test_eval.py プロジェクト: cocaman/pythonect
    def test_literal_float(self):

        self.assertEqual(pythonect.eval('1.0', {}, {}), 1)
コード例 #50
0
    def test_python_stmt_assignment(self):

        self.assertEqual(pythonect.eval('x = 1', {}, {}), self.input)
コード例 #51
0
ファイル: test_eval.py プロジェクト: cocaman/pythonect
    def test_python_stmt_import(self):

        self.assertEqual(pythonect.eval('import math', {}, {}), self.input)
コード例 #52
0
    def test_sub_expr_python_stmt_assignment(self):

        self.assertEqual(pythonect.eval('`x = 1`', {}, {}), self.input)
コード例 #53
0
ファイル: test_eval.py プロジェクト: cocaman/pythonect
    def test_python_stmt_assignment(self):

        self.assertEqual(pythonect.eval('x = 1', {}, {}), self.input)
コード例 #54
0
    def test_python_expr_int(self):

        self.assertEqual(pythonect.eval('1 + 1', {}, {}), 2)
コード例 #55
0
ファイル: test_eval.py プロジェクト: cocaman/pythonect
    def test_python_expr_int(self):

        self.assertEqual(pythonect.eval('1 + 1', {}, {}), 2)
コード例 #56
0
    def test_sub_expr_python_expr_int(self):

        self.assertEqual(pythonect.eval('`1 + 1`', {}, {}), 2)
コード例 #57
0
ファイル: test_eval.py プロジェクト: cocaman/pythonect
    def test_sub_expr_python_expr_str_1(self):

        self.assertEqual(pythonect.eval('`"Hello World"`', {}, {}), "Hello World")
コード例 #58
0
    def test_sub_expr_python_expr_str_1(self):

        self.assertEqual(pythonect.eval('`"Hello World"`', {}, {}),
                         "Hello World")
コード例 #59
0
ファイル: test_eval.py プロジェクト: cocaman/pythonect
    def test_python_expr_str_3(self):

        self.assertEqual(pythonect.eval('"Hello \'W\'orld"', {}, {}), "Hello 'W'orld")
コード例 #60
0
    def test_python_expr_str_2(self):

        self.assertEqual(pythonect.eval("'Hello World'", {}, {}),
                         "Hello World")