Example #1
0
    def test_specific_bad_data(self):
        """ A few implict error/edge cases in the SMAZ algorithm """
        buffer_overflow = chr(255) + chr(255)  # Buffer overflow - expects 254 bytes, gets 0
        multibyte_non_ascii = chr(255) + chr(1) + chr(200) + chr(200)  # Non ascii multi-byte payload
        singlebyte_non_ascii = chr(254) + chr(129)  # Non ascii single-byte payload

        self.assertFalse(_check_ascii(multibyte_non_ascii))
        self.assertEqual(decompress(buffer_overflow, raise_on_error=False), None)
        self.assertRaises(ValueError, decompress, buffer_overflow, raise_on_error=True)
        self.assertEqual(decompress(multibyte_non_ascii), (chr(200) + chr(200)))  # Returns non-ascii data
        self.assertRaises(ValueError, decompress, multibyte_non_ascii, raise_on_error=True, check_ascii=True)
        self.assertEqual(decompress(multibyte_non_ascii, raise_on_error=False, check_ascii=True), None)
        self.assertEqual(decompress(singlebyte_non_ascii), chr(129))  # Returns non-ascii data
        self.assertRaises(ValueError, decompress, singlebyte_non_ascii, raise_on_error=True, check_ascii=True)
        self.assertEqual(decompress(singlebyte_non_ascii, raise_on_error=False, check_ascii=True), None)
Example #2
0
    def test_specific_bad_data(self):
        """ A few implict error/edge cases in the SMAZ algorithm """
        buffer_overflow = chr(255) + chr(255)  # Buffer overflow - expects 254 bytes, gets 0
        multibyte_non_ascii = chr(255) + chr(1) + chr(200) + chr(200)  # Non ascii multi-byte payload
        singlebyte_non_ascii = chr(254) + chr(129)  # Non ascii single-byte payload

        self.assertFalse(_check_ascii(multibyte_non_ascii))
        self.assertEqual(decompress(buffer_overflow, raise_on_error=False), None)
        self.assertRaises(ValueError, decompress, buffer_overflow, raise_on_error=True)
        self.assertEqual(decompress(multibyte_non_ascii), (chr(200) + chr(200)))  # Returns non-ascii data
        self.assertRaises(ValueError, decompress, multibyte_non_ascii, raise_on_error=True, check_ascii=True)
        self.assertEqual(decompress(multibyte_non_ascii, raise_on_error=False, check_ascii=True), None)
        self.assertEqual(decompress(singlebyte_non_ascii), chr(129))  # Returns non-ascii data
        self.assertRaises(ValueError, decompress, singlebyte_non_ascii, raise_on_error=True, check_ascii=True)
        self.assertEqual(decompress(singlebyte_non_ascii, raise_on_error=False, check_ascii=True), None)
Example #3
0
 def test_ascii_check(self):
     """ Test the ascii check """
     self.assertTrue(_check_ascii('1230ABCZADSADW'))
     self.assertFalse(_check_ascii(chr(129) + chr(129)))
     self.assertEqual(None, compress(chr(129), raise_on_error=False))
Example #4
0
 def test_ascii_check(self):
     """ Test the ascii check """
     self.assertTrue(_check_ascii("1230ABCZADSADW"))
     self.assertFalse(_check_ascii(chr(129) + chr(129)))
     self.assertEquals(None, compress(chr(129), raise_on_error=False))