Esempio n. 1
0
def test_tox_testenv_interpret_shebang_non_utf8(tmpdir):
    testfile = tmpdir.join("check_non_utf8.py")
    base_args = [str(testfile), "arg1", "arg2", "arg3"]

    testfile.write_binary(b"#!\x9a\xef\x12\xaf\n")
    args = prepend_shebang_interpreter(base_args)
    assert args == base_args
Esempio n. 2
0
def test_tox_testenv_interpret_shebang_real(tmpdir):
    testfile = tmpdir.join("check_shebang_real.py")
    base_args = [str(testfile), "arg1", "arg2", "arg3"]

    # interpreter (real example)
    testfile.write("#!/usr/bin/env python\n")
    args = prepend_shebang_interpreter(base_args)
    assert args == ["/usr/bin/env", "python"] + base_args
Esempio n. 3
0
def test_tox_testenv_interpret_shebang_interpreter_args(tmpdir):
    testfile = tmpdir.join("check_shebang_interpreter_args.py")
    base_args = [str(testfile), "arg1", "arg2", "arg3"]

    # interpreter with argument (ensure single argument)
    testfile.write("#!interpreter argx argx-part2\n")
    args = prepend_shebang_interpreter(base_args)
    assert args == ["interpreter", "argx argx-part2"] + base_args
Esempio n. 4
0
def test_tox_testenv_interpret_shebang_interpreter_arg(tmpdir):
    testfile = tmpdir.join("check_shebang_interpreter_arg.py")
    base_args = [str(testfile), "arg1", "arg2", "arg3"]

    # interpreter with argument
    testfile.write("#!interpreter argx\n")
    args = prepend_shebang_interpreter(base_args)
    assert args == ["interpreter", "argx"] + base_args
Esempio n. 5
0
def test_tox_testenv_interpret_shebang_interpreter_ws(tmpdir):
    testfile = tmpdir.join("check_shebang_interpreter_ws.py")
    base_args = [str(testfile), "arg1", "arg2", "arg3"]

    # interpreter (whitespaces)
    testfile.write("#!  interpreter  \n\n")
    args = prepend_shebang_interpreter(base_args)
    assert args == ["interpreter"] + base_args
Esempio n. 6
0
def test_tox_testenv_interpret_shebang_empty_interpreter(tmpdir):
    testfile = tmpdir.join("check_shebang_empty_interpreter.py")
    base_args = [str(testfile), "arg1", "arg2", "arg3"]

    # empty interpreter
    testfile.write("#!")
    args = prepend_shebang_interpreter(base_args)
    assert args == base_args
Esempio n. 7
0
def test_tox_testenv_interpret_shebang_interpreter_simple(tmpdir):
    testfile = tmpdir.join("check_shebang_interpreter_simple.py")
    base_args = [str(testfile), "arg1", "arg2", "arg3"]

    # interpreter (simple)
    testfile.write("#!interpreter")
    args = prepend_shebang_interpreter(base_args)
    assert args == [b"interpreter"] + base_args
Esempio n. 8
0
def test_tox_testenv_interpret_shebang_skip_truncated(tmpdir):
    testfile = tmpdir.join("check_shebang_truncation.py")
    original_args = [str(testfile), "arg1", "arg2", "arg3"]

    # interpreter (too long example)
    testfile.write("#!" + ("x" * (MAXINTERP + 1)))
    args = prepend_shebang_interpreter(original_args)

    assert args == original_args
Esempio n. 9
0
def test_tox_testenv_interpret_shebang_long_example(tmpdir):
    testfile = tmpdir.join("check_shebang_long_example.py")
    base_args = [str(testfile), "arg1", "arg2", "arg3"]

    # interpreter (long example)
    testfile.write(
        "#!this-is-an-example-of-a-very-long-interpret-directive-what-should-"
        "be-directly-invoked-when-tox-needs-to-invoked-the-provided-script-"
        "name-in-the-argument-list")
    args = prepend_shebang_interpreter(base_args)
    expected = [
        "this-is-an-example-of-a-very-long-interpret-directive-what-should-be-"
        "directly-invoked-when-tox-needs-to-invoked-the-provided-script-name-"
        "in-the-argument-list"
    ]

    assert args == expected + base_args