Exemplo n.º 1
0
 def test_binary_openssl(self):
     argv = self.COMMON_OPTIONS + [
         '-c', os.path.join(DATAPATH, 'SHASUM_openssl.txt'),
     ]
     with runin(DATAPATH), TrapOutput():
         exitcode = hashsum.main(argv)
     self.assertEqual(exitcode, hashsum.EX_OK)
Exemplo n.º 2
0
 def test_binary_openssl(self):
     argv = self.COMMON_OPTIONS + [
         '-c', os.path.join(DATAPATH, 'SHASUM_openssl.txt'),
     ]
     with runin(DATAPATH), trap_stdout(), trap_stderr():
         exitcode = hashsum.main(*argv)
     self.assertEqual(exitcode, hashsum.EX_OK)
Exemplo n.º 3
0
 def test_binary_bsd_algoname(self):
     argv = self.COMMON_OPTIONS + [
         '-a', self.ALGO,
         '-c', os.path.join(DATAPATH, 'MD5SUM_bsd.txt'),
     ]
     with runin(DATAPATH), trap_stdout(), trap_stderr():
         exitcode = hashsum.main(*argv)
     self.assertEqual(exitcode, hashsum.EX_OK)
Exemplo n.º 4
0
 def test_binary_bsd_02(self):
     argv = self.COMMON_OPTIONS + [
         '-a', self.ALGO,
         '-c', os.path.join(DATAPATH, 'MD5SUM_bsd.txt'),
     ]
     with runin(DATAPATH), TrapOutput():
         exitcode = hashsum.main(argv)
     self.assertEqual(exitcode, hashsum.EX_OK)
Exemplo n.º 5
0
 def test_binary_openssl_bad_algoname(self):
     argv = self.COMMON_OPTIONS + [
         '-c', os.path.join(DATAPATH, 'SHASUM_openssl_bad_algoname.txt'),
     ]
     with runin(DATAPATH), trap_stdout(), trap_stderr():
         exitcode = hashsum.main(*argv)
     self.assertEqual(exitcode, hashsum.EX_FAILURE)
     self.assertIn(
         'ERROR: unsupported hash type SH', self.stderr.getvalue())
Exemplo n.º 6
0
    def test_text(self):
        if sys.platform.startswith('win'):
            checksumfile = 'MD5SUM_text_win.txt'
        else:
            checksumfile = 'MD5SUM_text_unix.txt'

        argv = ['-c', os.path.join(DATAPATH, checksumfile)]
        with runin(DATAPATH), trap_stdout(), trap_stderr():
            exitcode = hashsum.main(*argv)
        self.assertEqual(exitcode, hashsum.EX_OK)
Exemplo n.º 7
0
    def test_binary_bsd_algoname_mismatch(self):
        argv = self.COMMON_OPTIONS + [
            '-a', SHA if SHA != self.ALGO else MD5,
            '-c', os.path.join(DATAPATH, 'MD5SUM_bsd.txt'),
        ]

        with runin(DATAPATH), trap_stdout(), trap_stderr(self.stderr) as err:
            exitcode = hashsum.main(*argv)
        self.assertEqual(exitcode, hashsum.EX_FAILURE)
        self.assertTrue('ERROR' in err.getvalue())
Exemplo n.º 8
0
    def test_text(self):
        if sys.platform.startswith('win'):
            checksumfile = 'MD5SUM_text_win.txt'
        else:
            checksumfile = 'MD5SUM_text_unix.txt'

        argv = ['-c', os.path.join(DATAPATH, checksumfile)]
        with runin(DATAPATH), TrapOutput():
            exitcode = hashsum.main(argv)
        self.assertEqual(exitcode, hashsum.EX_OK)
Exemplo n.º 9
0
    def test_binary_bsd_03(self):
        argv = self.COMMON_OPTIONS + [
            '-a', 'SHA' if 'SHA' != self.ALGO else 'MD5',
            '-c', os.path.join(DATAPATH, 'MD5SUM_bsd.txt'),
        ]

        with runin(DATAPATH), TrapOutput(stderr=self.stderr) as out:
            exitcode = hashsum.main(argv)
        self.assertEqual(exitcode, hashsum.EX_FAILURE)
        self.assertTrue('ERROR' in out.stderr.getvalue())
Exemplo n.º 10
0
    def test_binary_bsd(self):
        argv = self.COMMON_OPTIONS + [
            '--tag',
            'file01.dat', 'file02.dat', 'file03.dat',
        ]
        with runin(DATAPATH), trap_stdout() as out, trap_stderr():
            exitcode = hashsum.main(*argv)
        self.assertEqual(exitcode, hashsum.EX_OK)
        data = out.getvalue()

        with open(os.path.join(DATAPATH, 'MD5SUM_bsd.txt')) as fd:
            refdata = fd.read()

        self.assertEqual(refdata.strip(), data.strip())
Exemplo n.º 11
0
    def test_binary_bsd(self):
        argv = self.COMMON_OPTIONS + [
            '--tag',
            'file01.dat', 'file02.dat', 'file03.dat',
        ]
        with runin(DATAPATH), TrapOutput() as out:
            exitcode = hashsum.main(argv)
        self.assertEqual(exitcode, hashsum.EX_OK)
        data = out.stdout.getvalue()

        with open(os.path.join(DATAPATH, 'MD5SUM_bsd.txt')) as fd:
            refdata = fd.read()

        self.assertEqual(refdata.strip(), data.strip())
Exemplo n.º 12
0
    def test_binary_02(self):
        argv = self.COMMON_OPTIONS + [
            '-b',
            'file01.dat', 'file02.dat', 'file03.dat',
        ]

        with catch_warnings():
            # Cause all warnings to always be triggered.
            warnings.simplefilter("always")

            with runin(DATAPATH), TrapOutput(stderr=self.stderr) as out:
                exitcode = hashsum.main(argv)

            self.assertEqual(exitcode, hashsum.EX_OK)
            self.assertTrue('WARNING' in out.stderr.getvalue())
Exemplo n.º 13
0
    def test_binary_auto(self):
        argv = self.COMMON_OPTIONS + [
            '-b',
            'file01.dat', 'file02.dat', 'file03.dat',
        ]

        with warnings.catch_warnings():
            # Cause all warnings to always be triggered.
            warnings.simplefilter("always")

            with trap_stdout(), trap_stderr(self.stderr) as err:
                with runin(DATAPATH):
                    exitcode = hashsum.main(*argv)

            self.assertEqual(exitcode, hashsum.EX_OK)
            self.assertTrue('warning' in err.getvalue().lower())
Exemplo n.º 14
0
    def test_binary_bad_format(self):
        argv = self.COMMON_OPTIONS + [
            '-a', self.ALGO,
            '-c', os.path.join(DATAPATH, 'MD5SUM_binary_bad.txt'),
        ]

        with trap_stdout() as out, trap_stderr(self.stderr) as err:
            with runin(DATAPATH):
                exitcode = hashsum.main(*argv)

        self.assertEqual(exitcode, hashsum.EX_FAILURE)
        self.assertIn('file01.dat: OK', out.getvalue())
        self.assertIn('file02.dat: BAD_FORMATTING', out.getvalue())
        self.assertIn('file03.dat: FAILURE', out.getvalue())
        self.assertIn('WARNING: 1 computed checksum do NOT match',
                      err.getvalue())
Exemplo n.º 15
0
    def test_text(self):
        argv = self.COMMON_OPTIONS + [
            '-t',
            'file01.dat', 'file02.dat', 'file03.dat',
        ]
        with runin(DATAPATH), trap_stdout() as out, trap_stderr():
            exitcode = hashsum.main(*argv)
        self.assertEqual(exitcode, hashsum.EX_OK)
        data = out.getvalue()

        if sys.platform.startswith('win'):
            checksumfile = 'MD5SUM_text_win.txt'
        else:
            checksumfile = 'MD5SUM_text_unix.txt'

        with open(os.path.join(DATAPATH, checksumfile)) as fd:
            refdata = fd.read()

        self.assertEqual(refdata.strip(), data.strip())
Exemplo n.º 16
0
    def test_text(self):
        argv = self.COMMON_OPTIONS + [
            '-t',
            'file01.dat', 'file02.dat', 'file03.dat',
        ]
        with runin(DATAPATH), TrapOutput() as out:
            exitcode = hashsum.main(argv)
        self.assertEqual(exitcode, hashsum.EX_OK)
        data = out.stdout.getvalue()

        if sys.platform.startswith('win'):
            checksumfile = 'MD5SUM_text_win.txt'
        else:
            checksumfile = 'MD5SUM_text_unix.txt'

        with open(os.path.join(DATAPATH, checksumfile)) as fd:
            refdata = fd.read()

        self.assertEqual(refdata.strip(), data.strip())