
    bIg1                        d dl mZ d dlZd dlZd dlZd dlmZ d dlZd dlm	Z	m
Z
 ej                  j                  dej                  vxs ej                  d    d       G d d	ej                               Zed
k(  r ej"                          yy)    )annotationsN)join)
ModelProtohubTEST_HUBzConserving Git LFS quota)reasonc                  l    e Zd ZddZddZddZddZddZddZddZ	ddZ
dd	Zdd
ZddZddZy)TestModelHubc                .    d| _         d| _        d| _        y )NMNISTzonnx/models:main   )namerepoopsetselfs    O/var/www/html/answerous/venv/lib/python3.12/site-packages/onnx/test/hub_test.pysetUpzTestModelHub.setUp   s    	&	
    c           	     8   t        j                  | j                  | j                  d      }| j	                  |t
               t        t        j                  t        t        j                         dd      d            }| j                  t        |      d       y )NT)force_reload***.onnx	recursive   r   loadr   r   assertIsInstancer   listglobr   get_dirassertGreaterEquallenr   modelcached_filess      r   test_force_reloadzTestModelHub.test_force_reload   sj    DIIDAeZ0IId3;;=$9TJ
 	L 115r   c                   t        j                  | j                  ddg      }t        j                  | j                  dg      }t        j                  | j                        }| j                  t	        |      d       | j                  t	        |      t	        |             | j                  t	        |      t	        |             y )Nmnistvision)r&   tags)r,   r   )r   list_modelsr   assertGreaterr$   )r   model_info_list_1model_info_list_2model_info_list_3s       r   test_listing_modelsz TestModelHub.test_listing_models#   s    OODIIWH:VOODIIXJGOODII63011530137H3IJ30137H3IJr   c           	     4   t        j                  | j                  | j                        }| j	                  |t
               t        t        j                  t        t        j                         dd      d            }| j                  t        |      d       y )Nr   r   Tr   r   r   r%   s      r   test_basic_usagezTestModelHub.test_basic_usage,   sh    DII.eZ0IId3;;=$9TJ
 	L 115r   c           	        t        j                         }t        |d      }t        j                  |       t        j                  | j
                  | j                        }| j                  |t               t        t        j                  t        |dd      d            }| j                  t        |      d       t        j                  |       y )Ncustomr   r   Tr   r   )r   r"   r   set_dirr   r   r   r   r   r    r!   r#   r$   )r   	old_cache	new_cacher&   r'   s        r   test_custom_cachezTestModelHub.test_custom_cache5   s    KKM	H-	IDII.eZ0DIId9dH&EQUVWL 115Ir   c                    t        j                  | j                  | j                  d      }| j	                  |t
               y )N   r   )r   r   r   r   r   r   r   r&   s     r   test_download_with_opsetz%TestModelHub.test_download_with_opsetB   s,    DIIQ7eZ0r   c                8      j                  t         fd       y )Nc                 \    t        j                   j                   j                  d      S )Nr=   )r   r   r   r   r   s   r   <lambda>z/TestModelHub.test_opset_error.<locals>.<lambda>H   s    CHHTYY		$L r   assertRaisesAssertionErrorr   s   `r   test_opset_errorzTestModelHub.test_opset_errorF   s    L	
r   c                8      j                  t         fd       y )Nc                 H    t        j                   j                  dd      S )Nonnx/models:unknownT)silent)r   r   r   r   s   r   rC   z6TestModelHub.test_manifest_not_found.<locals>.<lambda>N   s    CHHTYY(=dK r   rD   r   s   `r   test_manifest_not_foundz$TestModelHub.test_manifest_not_foundK   s    K	
r   c                    t        j                  d      }| j                  |       t        j                  d      }| j                  |       t        j                  | j                        }| j	                  |       y )Nzmhamilton723/modelsrJ   )r   _verify_repo_refassertFalser   
assertTrue)r   verifieds     r   test_verify_repo_refz!TestModelHub.test_verify_repo_refQ   sd    ''(=>" ''(=>" ''		2!r   c                     t        j                  d j                  d       t        j                  d j                          j                  t         fd       y )Nr*   r<   r=   c                 H    t        j                  d j                  d      S )Nr*   rB   r=   )r   get_model_infor   r   s   r   rC   z2TestModelHub.test_get_model_info.<locals>.<lambda>b   s    C$6$6w		QS$T r   )r   rU   r   rE   rF   r   s   `r   test_get_model_infoz TestModelHub.test_get_model_info^   sA    7DIIQ77DII.T	
r   c                    t        j                  d      }t        j                  |      }| j	                  |t
               | j                  d|d       | j                  d|d       y )Nr*   z
model.onnxzOnnx model not found)member	containermsgtest_data_set_0zTest data not found)r   download_model_with_test_dataoslistdirr   strassertIn)r   	directoryfiless      r   "test_download_model_with_test_dataz/TestModelHub.test_download_model_with_test_datae   s\    55g>	

9%i-\U@VW$;P 	 	
r   c                ^    t        j                  dd      }| j                  |t               y )NzResNet50-fp32zResNet-preproc)preprocessing_model)r   load_composite_modelr   r   r>   s     r   test_model_with_preprocessingz*TestModelHub.test_model_with_preprocessingn   s*    ((1A
 	eZ0r   N)returnNone)__name__
__module____qualname__r   r(   r2   r4   r:   r?   rG   rL   rR   rV   rc   rg    r   r   r
   r
      s?    

6K61


"

1r   r
   __main__)
__future__r   r!   r]   unittestos.pathr   pytestonnxr   r   markskipifenvironTestCaser
   rj   mainrm   r   r   <module>ry      s    #  	      bjj >

:(>$>%  ^18$$ ^1	^1B zHMMO r   