Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def parse_run_argument(argument, config, dict_synonyms, mutations_by_file, paths_to_exclude, paths_to_mutate, tests_dirs):
if argument is None:
for path in paths_to_mutate:
for filename in python_source_files(path, tests_dirs, paths_to_exclude):
if filename.startswith('test_') or filename.endswith('__tests.py'):
continue
update_line_numbers(filename)
add_mutations_by_file(mutations_by_file, filename, dict_synonyms, config)
else:
try:
int(argument)
except ValueError:
filename = argument
if not os.path.exists(filename):
raise click.BadArgumentUsage('The run command takes either an integer that is the mutation id or a path to a file to mutate')
update_line_numbers(filename)
add_mutations_by_file(mutations_by_file, filename, dict_synonyms, config)
return
filename, mutation_id = filename_and_mutation_id_from_pk(int(argument))
update_line_numbers(filename)
mutations_by_file[filename] = [mutation_id]
def do_apply(mutation_pk, dict_synonyms, backup):
"""Apply a specified mutant to the source code
:param mutation_pk: mutmut cache primary key of the mutant to apply
:type mutation_pk: str
:param dict_synonyms: list of synonym keywords for a python dictionary
:type dict_synonyms: list[str]
:param backup: if :obj:`True` create a backup of the source file
before applying the mutation
:type backup: bool
"""
filename, mutation_id = filename_and_mutation_id_from_pk(int(mutation_pk))
update_line_numbers(filename)
context = Context(
mutation_id=mutation_id,
filename=filename,
dict_synonyms=dict_synonyms,
)
mutate_file(
backup=backup,
context=context,
)
def parse_run_argument(argument, config, dict_synonyms, mutations_by_file, paths_to_exclude, paths_to_mutate, tests_dirs):
if argument is None:
for path in paths_to_mutate:
for filename in python_source_files(path, tests_dirs, paths_to_exclude):
if filename.startswith('test_') or filename.endswith('__tests.py'):
continue
update_line_numbers(filename)
add_mutations_by_file(mutations_by_file, filename, dict_synonyms, config)
else:
try:
int(argument)
except ValueError:
filename = argument
if not os.path.exists(filename):
raise click.BadArgumentUsage('The run command takes either an integer that is the mutation id or a path to a file to mutate')
update_line_numbers(filename)
add_mutations_by_file(mutations_by_file, filename, dict_synonyms, config)
return
filename, mutation_id = filename_and_mutation_id_from_pk(int(argument))
update_line_numbers(filename)
mutations_by_file[filename] = [mutation_id]
continue
update_line_numbers(filename)
add_mutations_by_file(mutations_by_file, filename, dict_synonyms, config)
else:
try:
int(argument)
except ValueError:
filename = argument
if not os.path.exists(filename):
raise click.BadArgumentUsage('The run command takes either an integer that is the mutation id or a path to a file to mutate')
update_line_numbers(filename)
add_mutations_by_file(mutations_by_file, filename, dict_synonyms, config)
return
filename, mutation_id = filename_and_mutation_id_from_pk(int(argument))
update_line_numbers(filename)
mutations_by_file[filename] = [mutation_id]