
    HR-es                     n    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
 ddlmZ  G d d	e          ZdS )
    N)__version__)fits)	fitscheck)AstropyUserWarning   )FitsTestCasec                   8    e Zd Zd Zd Zd Zd Zd Zd Zd Z	dS )	TestFitscheckc                     t          j        t                    5 }t          j        dg           d d d            n# 1 swxY w Y   |j        j        dk    sJ d S )Nz-hr   )pytestraises
SystemExitr   mainvaluecode)selfes     Dlib/python3.11/site-packages/astropy/io/fits/tests/test_fitscheck.py	test_helpzTestFitscheck.test_help   s    ]:&& 	#!ND6"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	#w|q      s   <A A c                    t          j        t                    5 }t          j        dg           |                                d         }|dt           k    sJ 	 d d d            n# 1 swxY w Y   |j        j        dk    sJ d S )Nz	--versionr   z
fitscheck )	r   r   r   r   r   
readouterrversionr   r   )r   capsysr   outs       r   test_versionzTestFitscheck.test_version   s    ]:&& 	1!NK=)))##%%a(C0w0000000	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 w|q      s   A A''A+.A+c                 v    t          j        dg          dk    sJ |                                \  }}d|v sJ d S )Nzmissing.fitsr   zNo such file or directory)r   r   r   )r   r   stdoutstderrs       r   test_missing_filezTestFitscheck.test_missing_file   sL    ~~.//14444**,,*f444444    c                    |                      d          }t          j        |g          dk    sJ t          j        |dg          dk    sJ t          j        |dg          dk    sJ |                                \  }}d|v sJ d S )Nchecksum.fitsr   z--compliancez-vOKdatar   r   r   r   r   testfiler   r   s        r   test_valid_filezTestFitscheck.test_valid_file!   s    99_--~xj))Q....~x899Q>>>>~x.//14444**,,v~~~~~~r    c                    |                      d           |                     d          }t          j        |ddg          dk    sJ t          j        |g          dk    sJ |                                \  }}d|v sJ d S )Nr"   z
--checksumremover   MISSING)	copy_filetempr   r   r   r&   s        r   test_remove_checksumsz#TestFitscheck.test_remove_checksums+   s    '''99_--~xx@AAQFFFF~xj))Q....**,,F""""""r    c                    |                      d          }t          j        |g          dk    sJ |                                \  }}d|v sJ t          j        |dg          dk    sJ |                                \  }}|dk    sJ d S )Nzarange.fitsr   zChecksum not foundz--ignore-missingr    r$   r&   s        r   test_no_checksumszTestFitscheck.test_no_checksums3   s    99]++~xj))Q....**,,#v----~x);<==BBBB**,,||||||r    c                 $   |                      d          }t          j        |                     d                    5 }|                    |d           ddd           n# 1 swxY w Y   |                      d          }t          j        |                     d                    5 }d|d         j        d	<   d
|d         j        d<   d|d         j        d	<   d|d         j        d<   |                    |           ddd           n# 1 swxY w Y   t          j        |g          dk    sJ t          j	        d|j
        d         j                  sJ |                                 t          j        t                    5  t          j        |ddg          dk    sJ 	 ddd           n# 1 swxY w Y   t          j	        d|j
        d         j                  sJ |                                 t          j        |g          dk    sJ dS )zh
        Tests that invalid checksum or datasum are overwritten when the file is
        saved.
        zref.fitsztb.fitsT)checksumNz	test.fitsz1       r   DATASUM8UgqATfo7TfoATfoCHECKSUM
2349680925r   11daD8bX98baA8bUz)BAD.*Checksum verification failed for HDUz--writez--force)r-   r   openr%   writetoheaderr   r   rematchrecordsmessageclearr   warnsr   )r   caplogreffilehdulr'   s        r   test_overwrite_invalidz$TestFitscheck.test_overwrite_invalid>   s   
 ))J''Ytyy++,, 	1LL4L000	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 	1 99[))Ytyy++,, 	#(2DGN9%);DGN:&(4DGN9%);DGN:&LL"""	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# 	# ~xj))Q....x8&.:K:S
 
 	
 	
 	
 	\,-- 	I 	I>8Y	"BCCqHHHHH	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	I 	Ix8&.:K:S
 
 	
 	
 	
 	 ~xj))Q......s6   A!!A%(A%(AD

DDF//F36F3N)
__name__
__module____qualname__r   r   r   r(   r.   r1   rE    r    r   r
   r
      s}        ! ! !
! ! !5 5 5
  # # #	 	 	 /  /  /  /  /r    r
   )r<   r   astropyr   r   
astropy.ior   astropy.io.fits.scriptsr   astropy.utils.exceptionsr   conftestr   r
   rI   r    r   <module>rO      s    
			  * * * * * *       - - - - - - 7 7 7 7 7 7 " " " " " "O/ O/ O/ O/ O/L O/ O/ O/ O/ O/r    