
    Uoil                     <    d Z ddlZddlmc mZ ddlZd Zd Z	d Z
y)z7Test PR merge gate logic in finish-task.sh (task-2280).    Nc                  F   t        j                  g ddd      } | j                  }|j                  } |       }d}||k(  }|st	        j
                  d|fd||f      dt        j                         v st	        j                  |       rt	        j                  |       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)z/PR gate should skip when PROJECT_PATH is empty.)bash-cz
        PROJECT_PATH=""
        TASK_ID="test-dummy"
        TEAM_SHORT="dev4"
        if [ -n "$PROJECT_PATH" ] && [ -d "$PROJECT_PATH/.git" ]; then
            echo "WOULD_RUN"
        else
            echo "SKIPPED"
        fi
        Tcapture_outputtextSKIPPED==z`%(py6)s
{%(py6)s = %(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.stdout
}.strip
}()
} == %(py9)sresultpy0py2py4py6py9assert %(py11)spy11N
subprocessrunstdoutstrip
@pytest_ar_call_reprcompare@py_builtinslocals_should_repr_global_name	_safereprAssertionError_format_explanationr   @py_assert1@py_assert3@py_assert5@py_assert8@py_assert7@py_format10@py_format12s           5/home/jay/workspace/tests/test_finish_task_pr_gate.py'test_pr_gate_skips_when_no_project_pathr,          ^^		 $F ==-=- -I- I---- I------6---6---=------ ---I--------    c                  F   t        j                  g ddd      } | j                  }|j                  } |       }d}||k(  }|st	        j
                  d|fd||f      dt        j                         v st	        j                  |       rt	        j                  |       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)z7PR gate should skip when .git directory does not exist.)r   r   a  
        PROJECT_PATH="/tmp/nonexistent-dir-xyz"
        TASK_ID="test-dummy"
        TEAM_SHORT="dev4"
        if [ -n "$PROJECT_PATH" ] && [ -d "$PROJECT_PATH/.git" ]; then
            echo "WOULD_RUN"
        else
            echo "SKIPPED"
        fi
        Tr   r	   r
   r   r   r   r   r   Nr   r#   s           r+   "test_pr_gate_skips_when_no_git_dirr0      r-   r.   c                     t        d      5 } | j                         }ddd       d}|v }|st        j                  d|fd||f      t        j                  |      dt        j                         v st        j                  |      rt        j                  |      nddz  }dd	|iz  }t        t        j                  |            dx}}d
}||v }|st        j                  d|fd||f      t        j                  |      dt        j                         v st        j                  |      rt        j                  |      nddz  }dd	|iz  }t        t        j                  |            dx}}y# 1 sw Y   UxY w)z.Verify PR-GATE block exists in finish-task.sh.z*/home/jay/workspace/scripts/finish-task.shNz[PR-GATE] BLOCKED)in)z%(py1)s in %(py3)scontent)py1py3zassert %(py5)spy5zgh pr list --state open)
openreadr   r   r    r   r   r   r!   r"   )fr3   @py_assert0@py_assert2@py_format4@py_format6s         r+   #test_pr_gate_block_exists_in_scriptr>   )   s    	:	; q&&()'))))')))))))))')))')))))))$/$////$///$//////////////// s   E00E:)__doc__builtinsr   _pytest.assertion.rewrite	assertionrewriter   r   r,   r0   r>    r.   r+   <module>rE      s    =    .$.$0r.   