mirror of
https://github.com/kforney/pentest-distro-builder.git
synced 2024-10-06 20:48:51 -06:00
65 lines
1.5 KiB
Python
65 lines
1.5 KiB
Python
|
# 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.
|
||
|
"""
|
||
|
|
||
|
return (sys.argv[1], sys.argv[2], sys.argv[3:])
|
||
|
|
||
|
|
||
|
def exclude_current_file_from_debugger():
|
||
|
# Load the debugger package
|
||
|
try:
|
||
|
import ptvsd
|
||
|
import ptvsd.debugger as vspd
|
||
|
vspd.DONT_DEBUG.append(os.path.normcase(__file__))
|
||
|
except:
|
||
|
traceback.print_exc()
|
||
|
print('''
|
||
|
Internal error detected. Please copy the above traceback and report at
|
||
|
https://github.com/Microsoft/vscode-python/issues/new
|
||
|
|
||
|
Press Enter to close. . .''')
|
||
|
try:
|
||
|
raw_input()
|
||
|
except NameError:
|
||
|
input()
|
||
|
sys.exit(1)
|
||
|
|
||
|
|
||
|
def run(cwd, testRunner, args):
|
||
|
"""Runs the test
|
||
|
cwd -- the current directory to be set
|
||
|
testRuner -- 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__':
|
||
|
exclude_current_file_from_debugger()
|
||
|
cwd, testRunner, args = parse_argv()
|
||
|
run(cwd, testRunner, args)
|