Ejemplo n.º 1
0
def test_function_parameter_type_mismatch():
    try:
        code = ["def echo(msg):", "    return 1", 'echo(1)', 'a = echo("Hi")']
        analysis_code_list(code)
    except ParamTypeMismatchError:
        assert True
    else:
        assert False
Ejemplo n.º 2
0
def test_simple_import():
    code = [
        'import os',
    ]

    try:
        analysis_code_list(code)
    except ImportError:
        assert True
    else:
        assert False
Ejemplo n.º 3
0
def test_simple_from_import():
    code = [
        'from os.path import join',
    ]

    try:
        analysis_code_list(code)
    except ImportError:
        assert True
    else:
        assert False
Ejemplo n.º 4
0
def test_simple_from_import():
    code = [
        'from os.path import join',
    ]

    try:
        analysis_code_list(code)
    except ImportError:
        assert True
    else:
        assert False
Ejemplo n.º 5
0
def test_simple_import():
    code = [
        'import os',
    ]

    try:
        analysis_code_list(code)
    except ImportError:
        assert True
    else:
        assert False
Ejemplo n.º 6
0
def test_function_parameter_type_mismatch():
    try:
        code = [
            "def echo(msg):",
            "    return 1",
            'echo(1)',
            'a = echo("Hi")'
        ]
        analysis_code_list(code)
    except ParamTypeMismatchError:
        assert True
    else:
        assert False
Ejemplo n.º 7
0
def test_number_le_op():
    code = [
        'a = 10',
        'a != 10',
    ]

    assert analysis_code_list(code) == """export a=10
Ejemplo n.º 8
0
def test_function_call_in_parameter():
    code = [
        "test1(echo('Hi'))",
        "test2(echo('Hi'))",
        "test3(echo('Hi'))",
    ]
    assert analysis_code_list(code) == """echo "Hi"
Ejemplo n.º 9
0
def test_function_return_type_anlyzer():
    code = [
        'def echo(msg):',
        '    return 1',
        'a = echo("Hi")'
    ]
    assert analysis_code_list(code) == """function echo() {
Ejemplo n.º 10
0
def test_complex_numeric_operation_with_function_call():
    code = [
        'def a():',
        '    return 1',
        'c = 3 - a()',
    ]
    assert analysis_code_list(code) == """function a() {
Ejemplo n.º 11
0
def test_simple_numeric_operation_with_function_call():
    code = [
        'def a():',
        '    return 1',
        'b = a() + 3',
    ]
    assert analysis_code_list(code) == """function a() {
Ejemplo n.º 12
0
def test_command():
    code = [
        'from sherlock.cmd import ls',
        'ls("-al")'
    ]

    assert analysis_code_list(code) == """if ! type "ls" &> /dev/null ; then
Ejemplo n.º 13
0
def test_number_le_op():
    code = [
        'a = 10',
        'a != 10',
    ]

    assert analysis_code_list(code) == """export a=10
Ejemplo n.º 14
0
def test_simple_numeric_operation_with_function_call():
    code = [
        'def a():',
        '    return 1',
        'b = a() + 3',
    ]
    assert analysis_code_list(code) == """function a() {
Ejemplo n.º 15
0
def test_complex_numeric_operation_with_function_call():
    code = [
        'def a():',
        '    return 1',
        'c = 3 - a()',
    ]
    assert analysis_code_list(code) == """function a() {
Ejemplo n.º 16
0
def test_function_call_in_parameter():
    code = [
        "test1(echo('Hi'))",
        "test2(echo('Hi'))",
        "test3(echo('Hi'))",
    ]
    assert analysis_code_list(code) == """echo "Hi"
Ejemplo n.º 17
0
def test_string_not_equal_op():
    code = [
        'a = "10"',
        'if a != "10":',
        '   pass'
    ]

    assert analysis_code_list(code) == """export a="10"
Ejemplo n.º 18
0
def test_string_is_op():
    code = [
        'a = "10"',
        'if a is "10":',
        '   pass'
    ]

    assert analysis_code_list(code) == """export a="10"
Ejemplo n.º 19
0
def test_simple_if_statement():
    code = [
        'a = 10',
        'if a == 10:',
        '   echo("Hi")',
    ]

    assert analysis_code_list(code) == """export a=10
Ejemplo n.º 20
0
def test_simple_if_statement():
    code = [
        'a = 10',
        'if a == 10:',
        '   echo("Hi")',
    ]

    assert analysis_code_list(code) == """export a=10
Ejemplo n.º 21
0
def test_simple_while_statement():
    code = [
        'i = 0',
        'while i < 5:',
        '   echo(i)',
        '   i += 1'
    ]

    assert analysis_code_list(code) == """export i=0
Ejemplo n.º 22
0
def test_list_parameter():
    code = [
        'def test(a, b):',
        '   echo(a)',
        '   echo(b)',
        'a = ["1", "2"]',
        'b = 10',
        'test(a, b)',
    ]

    assert analysis_code_list(code) == """function test() {
Ejemplo n.º 23
0
def test_complex_numeric_operation():
    code = [
        'a = 2 + (3 - 4) * 6 / 2',
    ]
    assert analysis_code_list(
        code) == 'export a=$(( 2 + $(( $(( $(( 3 - 4 )) * 6 )) / 2 )) ))\n'
Ejemplo n.º 24
0
def test_simple_add_numbers_anlyzer():
    code = [
        'a = 2 + 3',
    ]
    assert analysis_code_list(code) == 'export a=$(( 2 + 3 ))\n'
Ejemplo n.º 25
0
def test_function_return_type_anlyzer():
    code = ['def echo(msg):', '    return 1', 'a = echo("Hi")']
    assert analysis_code_list(code) == """function echo() {
Ejemplo n.º 26
0
def test_aug_assign_operation():
    code = [
        'a = 1',
        'a += 1',
    ]
    assert analysis_code_list(code) == """export a=1
Ejemplo n.º 27
0
def test_run_command_line_command():
    code = [
        'git("commit", "-m", "Hello")',
    ]
    assert analysis_code_list(code) == 'git "commit" "-m" "Hello"\n'
Ejemplo n.º 28
0
def test_add_string_variable_and_number():
    code = [
        'b = "Hello"',
        'a = 2 + b',
    ]
    assert analysis_code_list(code) == """export b="Hello"
Ejemplo n.º 29
0
def test_string_is_op():
    code = ['a = "10"', 'if a is "10":', '   pass']

    assert analysis_code_list(code) == """export a="10"
Ejemplo n.º 30
0
def test_simple_add_string_and_number_anlyzer():
    code = [
        'a = 2 + "Hello"',
    ]
    assert analysis_code_list(code) == 'export a=2"Hello"\n'
Ejemplo n.º 31
0
def test_print():
    code = [
        'print("Hello World")',
    ]
    assert analysis_code_list(code) == 'echo "Hello World"\n'
Ejemplo n.º 32
0
def test_simple_for_statement():
    code = ['for i in range(1, 5):', '   pass']
    assert analysis_code_list(code) == """for i in $(seq 1 $(( 5 - 1 )))
Ejemplo n.º 33
0
def test_complex_numeric_operation():
    code = [
        'a = 2 + (3 - 4) * 6 / 2',
    ]
    assert analysis_code_list(code) == 'export a=$(( 2 + $(( $(( $(( 3 - 4 )) * 6 )) / 2 )) ))\n'
Ejemplo n.º 34
0
def test_simple_add_string_and_number_anlyzer():
    code = [
        'a = 2 + "Hello"',
    ]
    assert analysis_code_list(code) == 'export a=2"Hello"\n'
Ejemplo n.º 35
0
def test_range():
    code = [
        'range(1, 2)',
    ]
    assert analysis_code_list(code) == '$(seq 1 $(( 2 - 1 )))\n'
Ejemplo n.º 36
0
def test_string_not_equal_op():
    code = ['a = "10"', 'if a != "10":', '   pass']

    assert analysis_code_list(code) == """export a="10"
Ejemplo n.º 37
0
def test_range():
    code = [
        'range(1, 2)',
    ]
    assert analysis_code_list(code) == '$(seq 1 $(( 2 - 1 )))\n'
Ejemplo n.º 38
0
def test_command():
    code = ['from sherlock.cmd import ls', 'ls("-al")']

    assert analysis_code_list(code) == """if ! type "ls" &> /dev/null ; then
Ejemplo n.º 39
0
def test_simple_add_numbers_anlyzer():
    code = [
        'a = 2 + 3',
    ]
    assert analysis_code_list(code) == 'export a=$(( 2 + 3 ))\n'
Ejemplo n.º 40
0
def test_aug_assign_operation():
    code = [
        'a = 1',
        'a += 1',
    ]
    assert analysis_code_list(code) == """export a=1
Ejemplo n.º 41
0
def test_simple_for_statement():
    code = [
        'for i in range(1, 5):',
        '   pass'
    ]
    assert analysis_code_list(code) == """for i in $(seq 1 $(( 5 - 1 )))
Ejemplo n.º 42
0
def test_simple_while_statement():
    code = ['i = 0', 'while i < 5:', '   echo(i)', '   i += 1']

    assert analysis_code_list(code) == """export i=0
Ejemplo n.º 43
0
def test_run_command_line_command():
    code = [
        'git("commit", "-m", "Hello")',
    ]
    assert analysis_code_list(code) == 'git "commit" "-m" "Hello"\n'
Ejemplo n.º 44
0
def test_print():
    code = [
        'print("Hello World")',
    ]
    assert analysis_code_list(code) == 'echo "Hello World"\n'
Ejemplo n.º 45
0
def test_complex_add():
    code = [
        'a = 2 + (3 + 4) + 6',
    ]
    assert analysis_code_list(
        code) == 'export a=$(( $(( 2 + $(( 3 + 4 )) )) + 6 ))\n'
Ejemplo n.º 46
0
def test_mix_list_assign():
    code = [
        'a = ["1", "2", 1, 2]'
    ]

    assert analysis_code_list(code) == 'export a=("1" "2" 1 2)\n'
Ejemplo n.º 47
0
def test_add_string_variable_and_number():
    code = [
        'b = "Hello"',
        'a = 2 + b',
    ]
    assert analysis_code_list(code) == """export b="Hello"
Ejemplo n.º 48
0
def test_numeric_list_assign():
    code = [
        'a = [1, 2, 3, 4]'
    ]

    assert analysis_code_list(code) == 'export a=(1 2 3 4)\n'
Ejemplo n.º 49
0
def test_complex_add():
    code = [
        'a = 2 + (3 + 4) + 6',
    ]
    assert analysis_code_list(code) == 'export a=$(( $(( 2 + $(( 3 + 4 )) )) + 6 ))\n'