
    ]j                         d dl Z d dlZd dlZd dlmZ d dlmZ d dlmZ d dlmZ  G d dej                        Z
edk(  r ej                          yy)	    N)datetime)Timer)croniter)basec                       e Zd ZddZd Zy)CroniterSpeedTestc                 h   t        ddddd      }t        d|      }t        |      D ]  }|j                           t        d|      }t        |      D ]  }|j                           t        ddddd	      }t        d
|      }t        |      D ]  }|j                           t        dd	ddd      }t        d|      }t        |      D ]  }|j                  t                 t        dd	d      }t        d|      }t        |      D ]  }|j                  t                 t        dd	d      }t        d|      }t        |      D ]  }|j                  t                 t        dd	d      }t        d|      }t        |      D ]  }|j                  t                 t        ddd      }t        d|      }t        |      D ]  }|j                  t                 t        ddd      }t        d|      }t        |      D ]  }|j                           t        ddddd      }t        d|      }t        |      D ]  }|j	                  t                 t        ddddd      }t        d|      }t        |      D ]  }|j	                  t                 t        ddddd      }t        d|      }t        |      D ]  }|j	                  t                 t        ddddd      }t        d|      }t        |      D ]  }|j	                  t                 t        dd	d      }t        d|      }t        |      D ]  }|j	                  t                 t        j                  d      }t               }d}	t        d|dz  z        }
t        ddd|      }t        |	|      }t        |
      D ]6  }|j                  t               }|j                  |j                                8 t        |	|      }t        |
      D ]6  }|j	                  t               }|j                  |j                                8 y ) Ni              z*/1 * * * *z*/5 * * * *      z0 */3 * * *	   z0 0 */3 * *i     z	0 0 * * *i     z0 0 * * satz0 0 1 * wedz	0 0 1 * *      8   r   z0 0 * * sat,sunz	0 0 * * 7zEurope/Bucharestz15 0,3 * 3 *>   (   )tzinfo)r   r   rangeget_nextget_prevzoneinfoZoneInfosetintadd	utcoffset)self
iterationsdtitridt2itr2tzoffsetsdst_cron	dst_itersds               L/root/env/lib/python3.12/site-packages/croniter/tests/test_croniter_speed.pyrun_long_testzCroniterSpeedTest.run_long_test   s   dAr2r*}b)z" 	ALLN	 }b)z" 	ALLN	 dAr2q)}b)z" 	ALLN	 dAr2q)}b)z" 	#ALL"	# dAr"{B'z" 	#ALL"	# tQ#S)z" 	$AMM(#	$ dAr"}b)z" 	#ALL"	# dAr"}b)z" 	#ALL"	# dAr"{B'z" 	ALLN	 dAr2r*}b)z" 	#ALL"	# dAr2q)}b)z" 	#ALL"	# dAr1a(}b)z" 	#ALL"	# dAr2r*("-z" 	#ALL"	# dAr"{B'z" 	#ALL"	# 12%!*r/23	dAr"-x$y! 	'AX&AKK&	' x$y! 	'AX&AKK&	'    c                    t        t        j                  j                  dd            }t	               }|j                  t                      t        d|      }d}|j                  |      }| j                  ||k  d| d| d       y )	NCRONITER_TEST_SPEED_ITERATIONS40zself.run_long_test(iterations))globalsP   z'Regression in croniter speed detected ( z).)
r   osenvirongetr4   updatelocalsr   timeit
assertTrue)r"   r#   globstlimitrets         r.   test_not_long_timez$CroniterSpeedTest.test_not_long_timed   sv    (H$OP
	VX2EBhhuoe'NseSTUZT[[]%^_r0   N)r
   )__name__
__module____qualname__r/   rB    r0   r.   r   r      s    T'l`r0   r   __main__)r7   unittestr   r   r<   r   r   croniter.testsr   TestCaser   rC   mainrF   r0   r.   <module>rL      sK    
      ^` ^`B zHMMO r0   