
­­­­­­­­­­­­­­­­­­
<!DOCTYPE html>
<html>
U
    !`J                     @   s   d dl Z d dlmZ d dlmZmZ d dlmZ d dlmZ d dl	m
Z
 d dlmZ d dlmZ dd	 Zd
d Zeee ddddZejdddd ZdS )    N)Counter)CallableList)mark)	Validator)product_schema)DOCUMENTS_PATHc                   C   s   t tddS )NT)Zpurge_unknown)r   r    r	   r	   _/opt/alt/python38/lib/python3.8/site-packages/cerberus/benchmarks/test_overall_performance_2.pyinit_validator   s    r   c               	   C   s&   t d  } t| }W 5 Q R X |S )Nzoverall_documents_2.json)r   openjsonload)f	documentsr	   r	   r
   load_documents   s    r   )r   r   returnc                    s   d }}t  |  } fdd |D ],}||d krJ|d7 } |j |d7 }q&t| d| dt d td d	D ]\}}t| d
|  qd S )Nr   c                    s>   | d krd S | D ](}|j r& |j q|j  d7  < qd S )N   )Zis_group_errorZchild_errorsZschema_path)errorserrorcount_errorsZerror_pathsr	   r
   r      s    z(validate_documents.<locals>.count_errorsr   z out of z documents failed with z different error leafs.z)Top 3 errors, excluding container errors:   z: )r   Z	validatedZ_errorsprintlenmost_common)r   r   Z	doc_countZfailed_count	validatorZdocumentpathcountr	   r   r
   validate_documents   s    	

r   z	overall-2)groupc                 C   s   | j ttt fdd d S )N   )rounds)Zpedanticr   r   r   )	benchmarkr	   r	   r
   test_overall_performance_24   s    r$   )r   collectionsr   typingr   r   ZCounterTypepytestr   Zcerberusr   Z-cerberus.benchmarks.schemas.overalll_schema_2r   Zcerberus.benchmarksr   r   r   dictr   r#   r$   r	   r	   r	   r
   <module>   s   
