
    9je                        d Z ddlmZ ddlZddlmc mZ ddl	Z
ddlZddlmZ  ee      j                         j                   d   ZddZ edd      Zd	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z y)u  tests/regression/test_legacy_compat_2487.py — task-2487 회귀 (legacy dot-phase, task-2547 corrected).

PR #49/#50/#51 Gemini high 회귀 픽스:
- task-1234.5, task-9.1, task-648.1.dev1, task-648.1.dev1.done 같은 legacy
  dot-phase ID 들이 V2 strict 검증으로 인해 거부되지 않도록 한다.
- is_valid_task_id_with_legacy SSOT 함수가 V2 + legacy 양쪽 모두 PASS 한다.
    )annotationsN)Path   c                <   t         |z  }t        j                  j                  | t	        |            }||j
                  t        d|       t        j                  j                  |      }|t        j                  | <   |j
                  j                  |       |S )Nzcannot load spec for )	WORKSPACE	importlibutilspec_from_file_locationstrloaderImportErrormodule_from_specsysmodulesexec_module)mod_namefile_rel	file_pathspecmodules        ?/home/jay/workspace/tests/regression/test_legacy_compat_2487.py_load_moduler      s    H$I>>11(C	NKD|t{{*1)=>>^^,,T2F"CKKKKF#M    tip_2487_legacyzutils/task_id_parser.pyc                    t         j                  } d} | |      }d}||u }|st        j                  d|fd||f      dt	        j
                         v st        j                  t               rt        j                  t               ndt        j                  |       t        j                  |      t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x} x}x}x}}y )	Nztask-9.1Tiszb%(py6)s
{%(py6)s = %(py2)s
{%(py2)s = %(py0)s.is_valid_task_id_with_legacy
}(%(py4)s)
} is %(py9)stippy0py2py4py6py9assert %(py11)spy11
r   is_valid_task_id_with_legacy
@pytest_ar_call_reprcompare@py_builtinslocals_should_repr_global_name	_safereprAssertionError_format_explanation@py_assert1@py_assert3@py_assert5@py_assert8@py_assert7@py_format10@py_format12s          r   test_legacy_simple_dot_phaser:   $   s    ++?J?+J7?4?74????74??????3???3???+???J???7???4????????r   c                    t         j                  } d} | |      }d}||u }|st        j                  d|fd||f      dt	        j
                         v st        j                  t               rt        j                  t               ndt        j                  |       t        j                  |      t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x} x}x}x}}y )	Nztask-1234.5Tr   r   r   r    r&   r'   r(   r2   s          r   test_legacy_4digit_dot_phaser<   (       ++BMB+M:BdB:dBBBB:dBBBBBB3BBB3BBB+BBBMBBB:BBBdBBBBBBBBr   c                    t         j                  } d} | |      }d}||u }|st        j                  d|fd||f      dt	        j
                         v st        j                  t               rt        j                  t               ndt        j                  |       t        j                  |      t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x} x}x}x}}y )	Nztask-648.1.dev1Tr   r   r   r    r&   r'   r(   r2   s          r   test_legacy_with_dev_suffixr?   ,   s    ++F,=F+,=>F$F>$FFFF>$FFFFFF3FFF3FFF+FFF,=FFF>FFF$FFFFFFFFr   c                    t         j                  } d} | |      }d}||u }|st        j                  d|fd||f      dt	        j
                         v st        j                  t               rt        j                  t               ndt        j                  |       t        j                  |      t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x} x}x}x}}y )	Nztask-648.1.dev1.doneTr   r   r   r    r&   r'   r(   r2   s          r    test_legacy_with_dev_done_suffixrA   0   s    ++K,BK+,BCKtKCtKKKKCtKKKKKK3KKK3KKK+KKK,BKKKCKKKtKKKKKKKKr   c                    t         j                  } d} | |      }d}||u }|st        j                  d|fd||f      dt	        j
                         v st        j                  t               rt        j                  t               ndt        j                  |       t        j                  |      t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x} x}x}x}}y )	Nztask-1234.5.6Tr   r   r   r    r&   r'   r(   r2   s          r   test_legacy_multi_dotrC   4   s    ++DOD+O<DD<DDDD<DDDDDD3DDD3DDD+DDDODDD<DDDDDDDDDDDr   c                    t         j                  } d} | |      }d}||u }|st        j                  d|fd||f      dt	        j
                         v st        j                  t               rt        j                  t               ndt        j                  |       t        j                  |      t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x} x}x}x}}y )	Nz	task-2487Tr   r   r   r    r&   r'   r(   r2   s          r    test_legacy_func_accepts_v2_baserE   =   s    ++@K@+K8@D@8D@@@@8D@@@@@@3@@@3@@@+@@@K@@@8@@@D@@@@@@@@r   c                    t         j                  } d} | |      }d}||u }|st        j                  d|fd||f      dt	        j
                         v st        j                  t               rt        j                  t               ndt        j                  |       t        j                  |      t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x} x}x}x}}y )	Nztask-2487+1Tr   r   r   r    r&   r'   r(   r2   s          r   !test_legacy_func_accepts_v2_retryrG   A   r=   r   c                    t         j                  } d} | |      }d}||u }|st        j                  d|fd||f      dt	        j
                         v st        j                  t               rt        j                  t               ndt        j                  |       t        j                  |      t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x} x}x}x}}y )	Nztask-2469_1.2_a+3Tr   r   r   r    r&   r'   r(   r2   s          r   0test_legacy_func_accepts_v2_phase_parallel_retryrI   E   s    ++H,?H+,?@HDH@DHHHH@DHHHHHH3HHH3HHH+HHH,?HHH@HHHDHHHHHHHHr   c                 <   t         j                  } d } | |      }d}||u }|st        j                  d|fd||f      dt	        j
                         v st        j                  t               rt        j                  t               ndt        j                  |       t        j                  |      t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x} x}x}x}}t         j                  } d} | |      }d}||u }|st        j                  d|fd||f      dt	        j
                         v st        j                  t               rt        j                  t               ndt        j                  |       t        j                  |      t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x} x}x}x}}t         j                  } d	g} | |      }d}||u }|st        j                  d|fd||f      dt	        j
                         v st        j                  t               rt        j                  t               ndt        j                  |       t        j                  |      t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x} x}x}x}}y )
NFr   r   r   r    r&   r'   i  z	task-1234r(   r2   s          r   "test_legacy_func_reject_non_stringrK   N   s   ++:D:+D1:U:1U::::1U::::::3:::3:::+:::D:::1:::U:::::::++:D:+D1:U:1U::::1U::::::3:::3:::+:::D:::1:::U:::::::++C[MC+M:CeC:eCCCC:eCCCCCC3CCC3CCC+CCCMCCC:CCCeCCCCCCCCr   c                    t         j                  } d} | |      }d}||u }|st        j                  d|fd||f      dt	        j
                         v st        j                  t               rt        j                  t               ndt        j                  |       t        j                  |      t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x} x}x}x}}y )	N Fr   r   r   r    r&   r'   r(   r2   s          r   test_legacy_func_reject_emptyrN   T   s    ++8B8+B/858/58888/588888838883888+888B888/888588888888r   c                    t         j                  } d} | |      }d}||u }|st        j                  d|fd||f      dt	        j
                         v st        j                  t               rt        j                  t               ndt        j                  |       t        j                  |      t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x} x}x}x}}y )	Nz1234.5Fr   r   r   r    r&   r'   r(   r2   s          r   !test_legacy_func_reject_no_prefixrP   X   s    ++>H>+H5>>5>>>>5>>>>>>3>>>3>>>+>>>H>>>5>>>>>>>>>>>r   c                    t         j                  } d} | |      }d}||u }|st        j                  d|fd||f      dt	        j
                         v st        j                  t               rt        j                  t               ndt        j                  |       t        j                  |      t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x} x}x}x}}y )	Nzfoo-task-1234Fr   r   r   r    r&   r'   r(   r2   s          r   $test_legacy_func_reject_wrong_prefixrR   \   s    ++EOE+O<EE<EEEE<EEEEEE3EEE3EEE+EEEOEEE<EEEEEEEEEEEr   c                    t         j                  } d} | |      }d}||u }|st        j                  d|fd||f      dt	        j
                         v st        j                  t               rt        j                  t               ndt        j                  |       t        j                  |      t        j                  |      t        j                  |      dz  }dd|iz  }t        t        j                  |            d x} x}x}x}}y )	Nztask-abcFr   r   r   r    r&   r'   r(   r2   s          r   %test_legacy_func_reject_alpha_only_idrT   `   s    ++@J@+J7@5@75@@@@75@@@@@@3@@@3@@@+@@@J@@@7@@@5@@@@@@@@r   )r   r   r   r   )!__doc__
__future__r   builtinsr,   _pytest.assertion.rewrite	assertionrewriter*   importlib.utilr   r   pathlibr   __file__resolveparentsr   r   r   r:   r<   r?   rA   rC   rE   rG   rI   rK   rN   rP   rR   rT    r   r   <module>ra      s    #     
 N""$,,Q/	 $&?@@CGLEACID9?FAr   