diff --git a/mmengine/config/config.py b/mmengine/config/config.py index 4b7602d9b006a63b9346ade8bcfb762e07c129a2..82eecda3b8d9e61d25bc1ecbe032e0ff0a9e0584 100644 --- a/mmengine/config/config.py +++ b/mmengine/config/config.py @@ -4,7 +4,6 @@ import copy import os import os.path as osp import platform -import re import shutil import sys import tempfile @@ -26,6 +25,11 @@ DELETE_KEY = '_delete_' DEPRECATION_KEY = '_deprecation_' RESERVED_KEYS = ['filename', 'text', 'pretty_text'] +if platform.system() == 'Windows': + import regex as re +else: + import re # type: ignore + class ConfigDict(Dict): """A dictionary for config which has the same interface as python's built- diff --git a/tests/data/config/py_config/test_code_in_config.py b/tests/data/config/py_config/test_code_in_config.py index cd59844b7d5e670b216d7b5eb77ab50a839adc7f..d39c7cffe246b6c71026b71c53c9907fb01a2c00 100644 --- a/tests/data/config/py_config/test_code_in_config.py +++ b/tests/data/config/py_config/test_code_in_config.py @@ -1,5 +1,5 @@ # Copyright (c) OpenMMLab. All rights reserved. -from mmcv import Config # isort:skip +from mmengine import Config # isort:skip cfg = Config.fromfile('tests/data/config/py_config/simple_config.py') item5 = cfg.item1[0] + cfg.item2.a diff --git a/tests/test_config/test_config.py b/tests/test_config/test_config.py index dc80de8c6ed76eb32260ed048070848134074f31..87f08c8289e3dbbd3b4138bb6ba0909686b47242 100644 --- a/tests/test_config/test_config.py +++ b/tests/test_config/test_config.py @@ -169,7 +169,9 @@ class TestConfig: cfg.merge_from_dict(input_options, allow_list_keys=True) def test_auto_argparser(self): - tmp = sys.argv[1] + # Temporarily make sys.argv only has one argument and keep backups + tmp = sys.argv[1:] + sys.argv = sys.argv[:2] sys.argv[1] = osp.join( self.data_path, 'config/py_config/test_merge_from_multiple_bases.py') @@ -181,7 +183,7 @@ class TestConfig: assert not getattr(args, key) # TODO currently do not support nested keys, bool args will be # overwritten by int - sys.argv[1] = tmp + sys.argv.extend(tmp) def test_dump(self, tmp_path): file_path = 'config/py_config/test_merge_from_multiple_bases.py'