
    E"jT                     p    d dl m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da	da
d Zd Zd Zd ZdS )	    )VersionNz11.1.0)max_jobs_per_gb_ram	titan_minc            	      T   t           d         } d }| r@	 d}t          d          5 }|                                }|                    d          rTt	          |                    d          d                   dz  dz  }t          j        dt          |d	           d
           d d d            n# 1 swxY w Y   t          j
        |t          |           z            }|dk     rt          d| d|           nY# t          $ rL}t          j        t!          |          ||j                   t          j        d|  d           d}Y d }~nd }~ww xY w|rD|t&          j        j        k     r/t          j        d| dt&          j        j         d|  d           |S t&          j        j        S )Nr   r   z/proc/meminfoz	MemTotal: i   zBuilding with    z
 GB of RAM   zmax_jobs is invalid: max_jobs=z	, gb_ram=z.Calculating max jobs with max_jobs_per_gb_ram=z failed, assuming 4   zUsing only z jobs instead of z  because of max_jobs_per_gb_ram= in testsrcdir.cfg)cfgopenreadline
startswithintsplitloggingdebugroundmathfloorfloatRuntimeError	Exception	tracebackprint_exceptiontype__traceback__errortestenvargsjobsinfo)r   max_jobsgb_ramflineexs         a/home/osmocom-build/jenkins/workspace/ttcn3-hnodeb-test-latest/_testenv/testenv/testsrcdir_cfg.pyget_titan_make_job_countr*      s6   34H 	Fo&& Q!zz||??;// Q C!455<tCFM"O53C3C"O"O"OPPPQ Q Q Q Q Q Q Q Q Q Q Q Q Q Q z&51D+E+E"EFFH!||"#_H#_#_W]#_#_```   	 	 	%d2hhB4DEEEMsK^ssstttHHHHHH	
  Hw|000L( L LW\5F L L$7L L L	
 	
 	
 <s=   C: A>B/#C: /B33C: 6B37AC: :
EAEEc                  d   t           rt           S d } t          j                            ddgdd          }|j                            d          D ]^}|                    d          rG|                    dd          d                                         } t          j	        d	|              n_| a | S )
Nttcn3_compilerz-vT)capture_outputtext
z	Version: :r
   zeclipse-titan version: )
titan_version_in_pathr    cmdrunstderrr   r   stripr   r   )retvr'   s      r)   get_titan_version_in_pathr8   4   s      %$$
C)40DQQAt$$  ??;'' 	**S!$$Q'--//CM9C99:::E	  J    c                     t           d         } d}t          j        j        rt	          |           t	          t          j        j                  k    r>t          j        dt          j        j         d|  d           t          j        d           t          j        j        } d}t          j        j	        s$t          j                            d|            st                      }|s@t          j        d	           t          j        d
|  d           t          j        d           t          j        j        r5| |k    r/t          j        d| d|  d           t          j        d           t	          |           t	          |          k    rGt          j        d| d|  d           t          j        d
|  d           t          j        d           |} d}| |fS )Nr   z!from titan_min= in testsrcdir.cfgz--titan-version=z is lower than titan_min=r   r
   zfrom --titan-versionz/opt/eclipse-titan-z+Failed to parse the ttcn3_compiler version.zInstall eclipse-titan z or higher or use --podman.z Installed eclipse-titan version z$ is not the same as --titan-version=.z in testsrcdir.cfg.zinstalled on host system)r   r    r!   titan_versionr   r   r   sysexitpodmanospathexistsr8   )ret_version
ret_reasonpath_versions      r)   get_titan_versionrF   E   s   k"K4J|! ,;'',*D"E"EEEMw7<#=wwXcwww   HQKKKl0+
< 0rw~~6YK6Y6Y'Z'Z 0022 	MGHHHM[;[[[\\\HQKKK<% 	+*E*EMs<ssepsss   HQKKK;',"7"777Mz<zzZezzz   M[;[[[\\\HQKKK"/

""r9   c                     t           j                            t          j        t          j        j        d          } t           j                            |           sd S t          j	                    }|
                    |            d|vr+t          j        d|             t          j        d           |D ]=}|dk    r	|dk    r.t          j        d| d|             t          j        d           >|d         D ]I}|t          vr(t          j        d           t          j        d           |d         |         t          |<   Jt!                       d S )	Nztestsrcdir.cfg
testsrcdirz Missing section [testsrcdir] in r
   DEFAULTzInvalid section [z] in z Invalid key {key}= in {cfg_path})r@   rA   joinr    ttcn3_hacks_dirr!   	testsuiterB   configparserConfigParserreadr   r   r=   r>   r   rF   )cfg_pathparsersectionkeys       r)   initrT   i   sI    w||G3W\5KM]^^H7>>(## &((F
KK6!!CCCDDD  il""MFgFFHFFGGGHQKKKl# - -c>>M<===HQKKK,',Cr9   )packaging.versionr   rM   r   r   r@   r=   r    r   r   r1   r*   r8   rF   rT    r9   r)   <module>rW      s    & % % % % %       				 



        
    @  "!# !# !#H    r9   