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)
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)
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)
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)
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())
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)
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())
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)
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())
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())
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())
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())
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())
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())
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())
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())