o
    h                     @   s$  d Z ddlZddlZdZdZeedZeseje	 eZe dZ
e dZe dZi ZdZd	Zd
ZdZdZdZdZeeeeeeegZdZdZe de dZdd eD ZdZdZe dZe dZe dZe de dZdd eD Z dZ!dZ"dZ#dZ$g dZ%dd  Z&d!d" Z'dS )#z
Utilities for testing
    NSTANZA_TEST_HOMEstanza_testz/modelsz/corenlp_dirz#/scripts/external_server.propertiesztokenizer.ptzmwt_expander.ptz	tagger.ptzpretrain.ptzlemmatizer.ptz	parser.ptenen_ewtz/models/_modelsc                 C       g | ]}t  d t d| qS /_)EN_MODELS_DIREN_SHORTHAND.0model_fname r   P/var/www/html/env_mimamsha/lib/python3.10/site-packages/stanza/tests/__init__.py
<listcomp>+        r   frfr_gsdz/in/fr_gsd.test.txtz/out/fr_gsd.test.txt.outz/out/fr_gsd.test.txt.out.goldc                 C   r   r   )FR_MODELS_DIRFR_SHORTHANDr   r   r   r   r   6   r   ar_padtde_gsdkk_ktbko_gsd)*en_ewt_modelszen_ewt_tokenizer.ptzen_ewt_mwt_expander.ptzen_ewt_tagger.ptzen_ewt.pretrain.ptzen_ewt_lemmatizer.ptzen_ewt_parser.ptfr_gsd_modelszfr_gsd_tokenizer.ptzfr_gsd_mwt_expander.ptzfr_gsd_tagger.ptzfr_gsd.pretrain.ptzfr_gsd_lemmatizer.ptzfr_gsd_parser.ptar_padt_modelszar_padt_tokenizer.ptzar_padt_mwt_expander.ptzar_padt_tagger.ptzar_padt.pretrain.ptzar_padt_lemmatizer.ptzar_padt_parser.ptde_gsd_modelszde_gsd_tokenizer.ptzde_gsd_mwt_expander.ptzde_gsd_tagger.ptzde_gsd.pretrain.ptzde_gsd_lemmatizer.ptzde_gsd_parser.ptkk_ktb_modelszkk_ktb_tokenizer.ptzkk_ktb_mwt_expander.ptzkk_ktb_tagger.ptzkk_ktb.pretrain.ptzkk_ktb_lemmatizer.ptzkk_ktb_parser.ptko_gsd_modelszko_gsd_tokenizer.ptzko_gsd_mwt_expander.ptzko_gsd_tagger.ptzko_gsd.pretrain.ptzko_gsd_lemmatizer.ptzko_gsd_parser.ptc                    s   t j sdS t j r fddt  D } }n g}d}|D ]"}t j|rFt j|tv rFt | t j|rFJ d| q$|durct j|ret 	| t j|rgJ d| dS dS dS )z
    Safely remove a directory of files or a file
    1.) check path exists, files are files, dirs are dirs
    2.) only remove things on approved list REMOVABLE_PATHS
    3.) assert no longer exists
    Nc                    s   g | ]	}  d | qS )r	   r   )r   fname
path_to_rmr   r   r   Z   s    zsafe_rm.<locals>.<listcomp>zError removing: )
ospathexistsisdirlistdirisfilebasenameREMOVABLE_PATHSremovermdir)r$   files_to_rm	dir_to_rm
file_to_rmr   r#   r   safe_rmN   s"   

r2   c                 C   sP   t dd|  } t dd| } t dd| }t dd|}| |ks&J d S )Nz[ 	]+ z

)resubstrip)	predictedexpectedr   r   r   compare_ignoring_whitespacei   s
   r:   )(__doc__r%   r5   TEST_HOME_VARTEST_DIR_BASE_NAMEgetenvTEST_WORKING_DIRr&   joingetcwdTEST_MODELS_DIRTEST_CORENLP_DIRSERVER_TEST_PROPSLANGUAGE_RESOURCESTOKENIZE_MODEL	MWT_MODEL	POS_MODELPOS_PRETRAINLEMMA_MODELDEPPARSE_MODELDEPPARSE_PRETRAINMODEL_FILESEN_KEYr   r   EN_MODEL_FILESFR_KEYr   
FR_TEST_INFR_TEST_OUTFR_TEST_GOLD_OUTr   FR_MODEL_FILESAR_SHORTHANDDE_SHORTHANDKK_SHORTHANDKO_SHORTHANDr,   r2   r:   r   r   r   r   <module>   sL    





