コード例 #1
0
ファイル: test_fitscheck.py プロジェクト: Gabriel-p/astropy
    def test_overwrite_invalid(self, caplog):
        """
        Tests that invalid checksum or datasum are overwriten when the file is
        saved.
        """
        reffile = self.temp('ref.fits')
        with fits.open(self.data('tb.fits')) as hdul:
            hdul.writeto(reffile, checksum=True)

        # replace checksums with wrong ones
        testfile = self.temp('test.fits')
        with fits.open(self.data('tb.fits')) as hdul:
            hdul[0].header['DATASUM'] = '1       '
            hdul[0].header['CHECKSUM'] = '8UgqATfo7TfoATfo'
            hdul[1].header['DATASUM'] = '2349680925'
            hdul[1].header['CHECKSUM'] = '11daD8bX98baA8bU'
            hdul.writeto(testfile)

        assert fitscheck.main([testfile]) == 1
        assert re.match(r'BAD.*Checksum verification failed for HDU',
                        caplog.records[0].message)
        caplog.clear()

        with pytest.warns(AstropyUserWarning):
            assert fitscheck.main([testfile, '--write', '--force']) == 1
        assert re.match(r'BAD.*Checksum verification failed for HDU',
                        caplog.records[0].message)
        caplog.clear()

        # check that the file was fixed
        assert fitscheck.main([testfile]) == 0
コード例 #2
0
ファイル: test_fitscheck.py プロジェクト: Gabriel-p/astropy
 def test_remove_checksums(self, capsys):
     self.copy_file('checksum.fits')
     testfile = self.temp('checksum.fits')
     assert fitscheck.main([testfile, '--checksum', 'remove']) == 1
     assert fitscheck.main([testfile]) == 1
     stdout, stderr = capsys.readouterr()
     assert 'MISSING' in stderr
コード例 #3
0
    def test_overwrite_invalid(self, capsys):
        """
        Tests that invalid checksum or datasum are overwriten when the file is
        saved.
        """
        reffile = self.temp('ref.fits')
        with fits.open(self.data('tb.fits')) as hdul:
            hdul.writeto(reffile, checksum=True)

        # replace checksums with wrong ones
        testfile = self.temp('test.fits')
        with fits.open(self.data('tb.fits')) as hdul:
            hdul[0].header['DATASUM'] = '1       '
            hdul[0].header['CHECKSUM'] = '8UgqATfo7TfoATfo'
            hdul[1].header['DATASUM'] = '2349680925'
            hdul[1].header['CHECKSUM'] = '11daD8bX98baA8bU'
            hdul.writeto(testfile)

        assert fitscheck.main([testfile]) == 1
        stdout, stderr = capsys.readouterr()
        assert 'BAD' in stderr
        assert 'Checksum verification failed' in stderr

        assert fitscheck.main([testfile, '--write', '--force']) == 1
        stdout, stderr = capsys.readouterr()
        assert 'BAD' in stderr

        # check that the file was fixed
        assert fitscheck.main([testfile]) == 0
コード例 #4
0
ファイル: test_fitscheck.py プロジェクト: Cadair/astropy
 def test_remove_checksums(self, capsys):
     self.copy_file('checksum.fits')
     testfile = self.temp('checksum.fits')
     assert fitscheck.main([testfile, '--checksum', 'remove']) == 1
     assert fitscheck.main([testfile]) == 1
     stdout, stderr = capsys.readouterr()
     assert 'MISSING' in stderr
コード例 #5
0
ファイル: test_fitscheck.py プロジェクト: Gabriel-p/astropy
    def test_valid_file(self, capsys):
        testfile = self.data('checksum.fits')

        assert fitscheck.main([testfile]) == 0
        assert fitscheck.main([testfile, '--compliance']) == 0

        assert fitscheck.main([testfile, '-v']) == 0
        stdout, stderr = capsys.readouterr()
        assert 'OK' in stderr
コード例 #6
0
ファイル: test_fitscheck.py プロジェクト: Cadair/astropy
    def test_valid_file(self, capsys):
        testfile = self.data('checksum.fits')

        assert fitscheck.main([testfile]) == 0
        assert fitscheck.main([testfile, '--compliance']) == 0

        assert fitscheck.main([testfile, '-v']) == 0
        stdout, stderr = capsys.readouterr()
        assert 'OK' in stderr
コード例 #7
0
ファイル: test_fitscheck.py プロジェクト: Gabriel-p/astropy
    def test_no_checksums(self, capsys):
        testfile = self.data('arange.fits')

        assert fitscheck.main([testfile]) == 1
        stdout, stderr = capsys.readouterr()
        assert 'Checksum not found' in stderr

        assert fitscheck.main([testfile, '--ignore-missing']) == 0
        stdout, stderr = capsys.readouterr()
        assert stderr == ''
コード例 #8
0
ファイル: test_fitscheck.py プロジェクト: Cadair/astropy
    def test_no_checksums(self, capsys):
        testfile = self.data('arange.fits')

        assert fitscheck.main([testfile]) == 1
        stdout, stderr = capsys.readouterr()
        assert 'Checksum not found' in stderr

        assert fitscheck.main([testfile, '--ignore-missing']) == 0
        stdout, stderr = capsys.readouterr()
        assert stderr == ''
コード例 #9
0
ファイル: test_fitscheck.py プロジェクト: Gabriel-p/astropy
 def test_missing_file(self, capsys):
     assert fitscheck.main(['missing.fits']) == 1
     stdout, stderr = capsys.readouterr()
     assert 'No such file or directory' in stderr
コード例 #10
0
ファイル: test_fitscheck.py プロジェクト: Gabriel-p/astropy
 def test_version(self, capsys):
     with pytest.raises(SystemExit) as e:
         fitscheck.main(['--version'])
         out = capsys.readouterr()[0]
         assert out == f'fitscheck {version}'
     assert e.value.code == 0
コード例 #11
0
ファイル: test_fitscheck.py プロジェクト: Gabriel-p/astropy
 def test_help(self):
     with pytest.raises(SystemExit) as e:
         fitscheck.main(['-h'])
     assert e.value.code == 0
コード例 #12
0
ファイル: fitscheck-script.py プロジェクト: Mayfifth/Scripts
if __name__ == '__main__':
    import sys
    from astropy.io.fits.scripts.fitscheck import main

    sys.exit(main())
コード例 #13
0
ファイル: test_fitscheck.py プロジェクト: Cadair/astropy
 def test_noargs(self):
     with pytest.raises(SystemExit) as e:
         fitscheck.main(['-h'])
     assert e.value.code == 0
コード例 #14
0
ファイル: test_fitscheck.py プロジェクト: Cadair/astropy
 def test_missing_file(self, capsys):
     assert fitscheck.main(['missing.fits']) == 1
     stdout, stderr = capsys.readouterr()
     assert 'No such file or directory' in stderr