[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/bigjools/vscode-python/main/pythonFiles/testlauncher.py [Back]  [Original]

# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License.

import os
import sys


def parse_argv():
    """Parses arguments for use with the test launcher.
    Arguments are:
    1. Working directory.
    2. Test runner, `pytest` or `nose`
    3. Rest of the arguments are passed into the test runner.
    """
    cwd = sys.argv[1]
    testRunner = sys.argv[2]
    args = sys.argv[3:]
    if testRunner == "nose":
        # Nose expects the program name to be first argument in vargs
        args.insert(0, sys.argv[0])

    return (cwd, testRunner, args)


def run(cwd, testRunner, args):
    """Runs the test
    cwd -- the current directory to be set
    testRunner -- test runner to be used `pytest` or `nose`
    args -- arguments passed into the test runner
    """

    sys.path[0] = os.getcwd()
    os.chdir(cwd)

    try:
        if testRunner == "pytest":
            import pytest

            pytest.main(args)
        else:
            import nose

            nose.run(argv=args)
        sys.exit(0)
    finally:
        pass


if __name__ == "__main__":
    cwd, testRunner, args = parse_argv()
    run(cwd, testRunner, args)

Web Proxy Viewer  |  New URL  |  Original Page