mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
PY-13760 BDD: rerun for failed tests doesn't work for tests on different disk
This commit is contained in:
@@ -15,6 +15,20 @@ import tcmessages
|
||||
__author__ = 'Ilya.Kazakevich'
|
||||
|
||||
|
||||
def fix_win_drive(feature_path):
|
||||
"""
|
||||
Workaround to fix issues like http://bugs.python.org/issue7195 on windows.
|
||||
Pass feature dir or file path as argument.
|
||||
This function does nothing on non-windows platforms, so it could be run safely.
|
||||
|
||||
:param feature_path: path to feature (c:/fe.feature or /my/features)
|
||||
"""
|
||||
current_disk = (os.path.splitdrive(os.getcwd()))[0]
|
||||
feature_disk = (os.path.splitdrive(feature_path))[0]
|
||||
if current_disk and feature_disk and current_disk != feature_disk:
|
||||
os.chdir(feature_disk)
|
||||
|
||||
|
||||
def get_path_by_args(arguments):
|
||||
"""
|
||||
:type arguments list
|
||||
|
||||
@@ -228,6 +228,8 @@ if __name__ == "__main__":
|
||||
pass
|
||||
|
||||
command_args = list(filter(None, sys.argv[1:]))
|
||||
if command_args:
|
||||
_bdd_utils.fix_win_drive(command_args[0])
|
||||
my_config = configuration.Configuration(command_args=command_args)
|
||||
formatters.register_as(_Null, "com.intellij.python.null")
|
||||
my_config.format = ["com.intellij.python.null"] # To prevent output to stdout
|
||||
|
||||
@@ -109,4 +109,5 @@ class _LettuceRunner(_bdd_utils.BddRunner):
|
||||
|
||||
if __name__ == "__main__":
|
||||
(base_dir, what_to_run) = _bdd_utils.get_path_by_args(sys.argv)
|
||||
_bdd_utils.fix_win_drive(what_to_run)
|
||||
_LettuceRunner(base_dir, what_to_run).run()
|
||||
Reference in New Issue
Block a user