<commit_before>from test import support
import unittest

crypt = support.import_module('crypt')

class CryptTestCase(unittest.TestCase):

    def test_crypt(self):
        c = crypt.crypt('mypassword', 'ab')
        if support.verbose:
            print('Test encryption: ', c)

    def test_salt(self):
        self.assertEqual(len(crypt.saltchars), 64)
        for method in crypt.methods():
            salt = crypt.mksalt(method)
            self.assertEqual(len(salt),
                    method.salt_chars + (3 if method.ident else 0))

    def test_saltedcrypt(self):
        for method in crypt.methods():
            pw = crypt.crypt('assword', method)
            self.assertEqual(len(pw), method.total_size)
            pw = crypt.crypt('assword', crypt.mksalt(method))
            self.assertEqual(len(pw), method.total_size)

    def test_methods(self):
        self.assertTrue(len(crypt.methods()) > 1)

def test_main():
    support.run_unittest(CryptTestCase)

if __name__ == "__main__":
    test_main()
<commit_msg>Fix test.test_crypt.test_methods() to pass on OS X.<commit_after>from test import support
import unittest

crypt = support.import_module('crypt')

class CryptTestCase(unittest.TestCase):

    def test_crypt(self):
        c = crypt.crypt('mypassword', 'ab')
        if support.verbose:
            print('Test encryption: ', c)

    def test_salt(self):
        self.assertEqual(len(crypt.saltchars), 64)
        for method in crypt.methods():
            salt = crypt.mksalt(method)
            self.assertEqual(len(salt),
                    method.salt_chars + (3 if method.ident else 0))

    def test_saltedcrypt(self):
        for method in crypt.methods():
            pw = crypt.crypt('assword', method)
            self.assertEqual(len(pw), method.total_size)
            pw = crypt.crypt('assword', crypt.mksalt(method))
            self.assertEqual(len(pw), method.total_size)

    def test_methods(self):
        # Gurantee that METHOD_CRYPT is the last method in crypt.methods().
        methods = crypt.methods()
        self.assertTrue(len(methods) >= 1)
        self.assertEqual(crypt.METHOD_CRYPT, methods[-1])

def test_main():
    support.run_unittest(CryptTestCase)

if __name__ == "__main__":
    test_main()

{'fraction_non_alphanumeric': 0.11941618752764263, 'fraction_numerical': 0.004865103936311367, 'mean_word_length': 2.696078431372549, 'pattern_counts': {'":': 2, '<': 3, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5793526', 'n_tokens_mistral': 715, 'n_tokens_neox': 652, 'n_words': 147}