
    8Jh                         d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl	Zd dl
Z
dadadai ad Zd Zd ZddZdS )    Nc                  p   dt           j        j         dat           j        j        rCt          d                    t           j        j                                      dd           dz  at           j        j        r0t          t           j        j                            dd           dz  at          t          j        	                                
                    d          z  at          dt          t          j                                                  dd          d          z  at           j        j        r+t           j        j        at#          j        t                      nt'          j        t           d	          at+          j        t.                     t1          j        d
t                       t           j        j        snt"          j                            d          r#t           j                            ddgd           t           j                            ddt           dgd           d S d S )Nztestenv--* :z%Y%m%d-%H%M   r   )prefixzLogging to: 	/tmp/logsrmT	no_podmanlnz-sf)testenvargs	testsuiter	   configjoinreplacebinary_repodatetimenowstrftimestruuiduuid4splitlog_dirtestdir_topdirosmakedirstempfilemkdtempatexitregistercleanlogginginfopathexistscmdrun     O/home/osmocom-build/jenkins/workspace/ttcn3-ns-test/_testenv/testenv/testdir.pyinitr/      s    2.111F| GSXXgl122::3CCFFFF| CW\-55c3??BBBB
h##%%..}===F
6#djll##))#q11!4666F| ? -
N####!)F>>>
OEL000111 < T7>>+&& 	AKOOT;/4O@@@unkBdSSSSST Tr-   c                 	   t           }t          j        j        r#t          j                            |d|           }t          t          j        j	                  dk    r|a
nHt          j                            ||                     dd                              dd                    a
t          j        dt                      t          j                            t          j        t          j        j                  }t!          j        t$                     |D ]}|dv r||         }t          j                            t          |          }t	          j        |           d|v rq|d	k    rk|d         }t          j                            ||          }	t          j                            ||          }
t          j                            d
d|	|
g           d|v rF|d                             d          }t          j                            ddg|z   |gz   d|           
t          j                            |d          }t/          j        |          D ]h}	t          j                            t          d	t          j                            |	                    }
t          j                            d
d|	|
g           it          j                            t          d	d          }t          j                            t          j        d          }	t          j                            d
d|	|g           t          j                            dddt          j         d|g           t          j        j        rdnd}d| d}t          j                            t          d          t          j                            t          d          g}|D ]\}t/          j        |d          D ]C}t          j        d|            t          j                            ddd d!| d"d d#|g           D]|D ]}|dv r||         }t          j                            t          |          }d$|v rTt          j        d%| d&           |d$         t6          |<   d'd(i}t          j                            |d$         ||)           d(|v r?t          j        d%| d*           t          j                            |d(         |+           d S ),Nzloop-r   testenv_r   z.cfgzPreparing testdir: )DEFAULTr   r   installz-Dm644copy cpz-aT)r   cwdz	*.defaultz
Common.cfgsedz-iz.s#TTCN3_HACKS_PATH := .*#TTCN3_HACKS_PATH := "z"#latestnightlyzMisc_Helpers.mp_osmo_repo := ""ztestsuite/**/*.cfgztestsuite/**/*.default)	recursivezAdjusting testsuite config: z-ez/s/\[MODULE_PARAMETERS\]/\[MODULE_PARAMETERS\]\nz/gzs#../Common.cfg#Common.cfg#r%   Running z clean script (reason: prepare)TESTENV_CLEAN_REASONpreparer7   envz prepare script)r7   )r   r   r   	until_nokr   r(   r   lentestenv_cfgcfgstestdirr   r&   r'   ttcn3_hacks_dirr   r#   r$   clean_run_scriptsr    r*   r+   r   globbasenamer9   debugclean_scripts)cfg_namecfg
loop_counttopdirtestsuite_dirsectionsection_datasection_dirfiler(   	path_destsourcespattern
common_cfgmp_osmo_repolinepatternscfg_filerA   s                      r.   r?   r?   6   s    F| <f&:j&:&:;;
7#$$))',,vx'7'7
B'G'G'O'OPVXZ'['[\\L0w00111GLL!8',:PQQM
O%&&& g gk!!7|gll7G44
K   |##;(>(>)D7<<t44D[$77IKOOY$	BCCC\!!"6*0055GKOOT4L72k]BdXeOfff gll=+66G	'"" @ @GLL+rw7G7G7M7MNN	HdI>???? g{LAAJ7<</>>DKOOY$
;<<<KOOXW=TXXX		
    '|2A88	L;L;;;D 	W233
W677H   	'T::: 	 	HMCCCDDDKOOS4SSS1
 
 
 
	  F Fk!!7|gll7G44l""LLGLLLMMM%1'%:M'")95CKOOL1{OLLL$$L<G<<<===KOOL3OEEEF Fr-   c                  n   t          j        t                    rfd} t           j                            d          }|r
| d| dz  } n#| dt           z  } t
          j        j        s| dz  } t          j	        |            dS t          j
        d           t
          j                            dd	t          gd
           t
          j        j        sct           j                            d          rFt           j                            d          s)t
          j                            ddgd
           dS dS dS dS )zfDon't leave behind an empty testdir_topdir, e.g. if testenv.py aborted
    during build of components.zLogs saved to:	BUILD_URLr5   zartifact/logs/ z (symlink: /tmp/logs)NzRemoving empty log dirr   z-dTr   r
   )r   listdirr   environgetr   r   r   r&   r'   rK   r*   r+   r(   lexistsr)   )msgurls     r.   r%   r%      s;    
z.!! jnn[)) 	/ +s++++CC'~'''C<' /..SM*+++KOOT40DOAAA < =BGOOK$@$@ =XcIdId ={+t<<<<<= = = = = =r-   crashedc                    t           sd S t          j        j        r3t          j                                        st          j        d           nt                                           D ]i\  }}t          j        d| d|  d           d| i}t          j	        
                    |t          j                            t          |          |           ji a d S )Nz?Skipping clean up scripts, podman container has already stoppedr=   z clean script (reason: )r>   r@   )rL   r   r   podman
is_runningr&   rK   itemsr'   r*   r+   r   r(   r   rF   )reasonrR   scriptrA   s       r.   rH   rH      s      Q		 QW^%>%>%@%@ QWXXXX,2244 	Q 	QOGVLMGMMFMMMNNN)62CKOOFWg(F(FCOPPPPMMMr-   )rf   )r#   r   rI   r&   r   os.pathr!   r   testenv.cmdtestenv.testsuiter   rF   r   r	   rL   r/   r?   r%   rH   r,   r-   r.   <module>rq      s        				             	T T T:`F `F `FF= = =6     r-   