diff --git a/tests/models/qwen2_moe/test_modeling_qwen2_moe.py b/tests/models/qwen2_moe/test_modeling_qwen2_moe.py index b6f8df27efaa9e..e322e5f8490092 100644 --- a/tests/models/qwen2_moe/test_modeling_qwen2_moe.py +++ b/tests/models/qwen2_moe/test_modeling_qwen2_moe.py @@ -504,7 +504,7 @@ def test_flash_attn_2_generate_use_cache(self): @require_torch_gpu @pytest.mark.flash_attn_test @slow - def test_flash_attn_2_inference_padding_right(self): + def test_flash_attn_2_inference_equivalence_right_padding(self): self.skipTest("Qwen2Moe flash attention does not support right padding") # Ignore copy diff --git a/utils/check_copies.py b/utils/check_copies.py index 3756089575801c..60a2fac4c8f57d 100644 --- a/utils/check_copies.py +++ b/utils/check_copies.py @@ -313,10 +313,12 @@ def split_code_into_blocks( target_block_name = re.search( rf"^{' ' * (indent - 4)}((class|def)\s+\S+)(\(|\:)", lines[start_index] ).groups()[0] - except ValueError: + except Exception: + start_context = min(start_index - 10, 0) + end_context = min(end_index + 10, len(lines)) raise ValueError( - f"Tried to split a class or function. It did not work. Error comes from line {start_index}: ```\n" - + "".join(lines[start_index:end_index]) + f"Tried to split a class or function. It did not work. Error comes from line {start_index}: \n```\n" + + "".join(lines[start_context:end_context]) + "```\n" ) @@ -602,8 +604,23 @@ def check_codes_match(observed_code: str, theoretical_code: str) -> Optional[int _re_func_match = re.compile(r"def\s+([^\(]+)\(") for re_pattern in [_re_class_match, _re_func_match]: if re_pattern.match(observed_code_header) is not None: - observed_obj_name = re_pattern.search(observed_code_header).groups()[0] - theoretical_name = re_pattern.search(theoretical_code_header).groups()[0] + try: + observed_obj_name = re_pattern.search(observed_code_header).groups()[0] + except Exception: + raise ValueError( + "Tried to split a class or function. It did not work. Error comes from: \n```\n" + + observed_code_header + + "\n```\n" + ) + + try: + theoretical_name = re_pattern.search(theoretical_code_header).groups()[0] + except Exception: + raise ValueError( + "Tried to split a class or function. It did not work. Error comes from: \n```\n" + + theoretical_code_header + + "\n```\n" + ) theoretical_code_header = theoretical_code_header.replace(theoretical_name, observed_obj_name) # Find the first diff. Line 0 is special since we need to compare with the function/class names ignored.