re-enable smalltalk/cog-spur
[oi-userland.git] / components / python / passlib / test / results-all.master
blob711c34d260524b2c0f2b3142a7ff62f9c4182f16
1 py$(PYV): remove tox env folder $(@D)/.tox/py$(PYV)
2 py$(PYV): commands[0] $(@D)/.tox/py$(PYV)> python -m nose passlib.tests
3 HtdigestFile: test constructor autoload ... ok
4 HtdigestFile: test delete() ... ok
5 HtdigestFile: test_01_delete_autosave (passlib.tests.test_apache.HtdigestFileTest) ... ok
6 HtdigestFile: test update() ... ok
7 HtdigestFile: test users() ... ok
8 HtdigestFile: test check_password() ... ok
9 HtdigestFile: test load() ... ok
10 HtdigestFile: test save() ... ok
11 HtdigestFile: test realms() & delete_realm() ... ok
12 HtdigestFile: test get_hash() ... ok
13 HtdigestFile: test encoding parameter ... ok
14 HtdigestFile: test to_string() ... ok
15 HtdigestFile: test_11_malformed (passlib.tests.test_apache.HtdigestFileTest) ... ok
16 HtpasswdFile: test constructor autoload ... ok
17 HtpasswdFile: test_00_from_path (passlib.tests.test_apache.HtpasswdFileTest) ... ok
18 HtpasswdFile: test delete() ... ok
19 HtpasswdFile: test_01_delete_autosave (passlib.tests.test_apache.HtpasswdFileTest) ... ok
20 HtpasswdFile: test set_password() ... ok
21 HtpasswdFile: test_02_set_password_autosave (passlib.tests.test_apache.HtpasswdFileTest) ... ok
22 HtpasswdFile: test set_password() -- default_scheme ... ok
23 HtpasswdFile: test users() ... ok
24 HtpasswdFile: test check_password() ... ok
25 HtpasswdFile: test load() ... ok
26 HtpasswdFile: test save() ... ok
27 HtpasswdFile: test 'encoding' kwd ... ok
28 HtpasswdFile: test get_hash() ... ok
29 HtpasswdFile: test to_string ... ok
30 HtpasswdFile: test_10_repr (passlib.tests.test_apache.HtpasswdFileTest) ... ok
31 HtpasswdFile: test_11_malformed (passlib.tests.test_apache.HtpasswdFileTest) ... ok
32 HtpasswdFile: test_12_from_string (passlib.tests.test_apache.HtpasswdFileTest) ... ok
33 HtpasswdFile: whitespace & comment handling ... ok
34 HtpasswdFile: verify "htpasswd" command can read output ... ok
35 HtpasswdFile: verify "htpasswd" command can read bcrypt format ... ok
36 test_custom_app_context (passlib.tests.test_apps.AppsTest) ... ok
37 test_django16_context (passlib.tests.test_apps.AppsTest) ... ok
38 test_django_context (passlib.tests.test_apps.AppsTest) ... ok
39 test_ldap_context (passlib.tests.test_apps.AppsTest) ... ok
40 test_ldap_mysql_context (passlib.tests.test_apps.AppsTest) ... ok
41 test_ldap_nocrypt_context (passlib.tests.test_apps.AppsTest) ... ok
42 test_master_context (passlib.tests.test_apps.AppsTest) ... ok
43 test_phpbb3_context (passlib.tests.test_apps.AppsTest) ... ok
44 test_phppass_context (passlib.tests.test_apps.AppsTest) ... ok
45 test_postgres_context (passlib.tests.test_apps.AppsTest) ... ok
46 test_roundup_context (passlib.tests.test_apps.AppsTest) ... ok
47 CryptContext: test class constructor ... ok
48 CryptContext: test from_string() constructor ... ok
49 CryptContext: test from_path() constructor ... ok
50 CryptContext: test copy() method ... ok
51 CryptContext: test repr() ... ok
52 CryptContext: test load() / load_path() method ... ok
53 CryptContext: test load() errors restore old state ... ok
54 CryptContext: test update() method ... ok
55 CryptContext: test basic option parsing ... ok
56 CryptContext: test 'schemes' context option parsing ... ok
57 CryptContext: test 'deprecated' context option parsing ... ok
58 CryptContext: test 'default' context option parsing ... ok
59 CryptContext: test 'vary_rounds' hash option parsing ... ok
60 CryptContext: test schemes() method ... ok
61 CryptContext: test default_scheme() method ... ok
62 CryptContext: test handler() method ... ok
63 CryptContext: test internal _get_record_options() method ... ok
64 CryptContext: test to_dict() method ... ok
65 CryptContext: test to_string() method ... ok
66 CryptContext: test basic hash/identify/verify functionality ... ok
67 CryptContext: test genconfig() method ... ok
68 CryptContext: test genhash() method ... ok
69 CryptContext: test hash() method ... ok
70 CryptContext: test hash() method -- legacy 'scheme' and settings keywords ... ok
71 CryptContext: test identify() border cases ... ok
72 CryptContext: test verify() scheme kwd ... ok
73 CryptContext: test needs_update() method ... ok
74 CryptContext: test verify_and_update() ... ok
75 CryptContext: hash(), verify(), and verify_and_update() -- discard unused context keywords ... ok
76 CryptContext: test rounds limits ... ok
77 CryptContext: test linear vary rounds ... ok
78 CryptContext: test log2 vary rounds ... ok
79 CryptContext: test deprecated='auto' is handled correctly ... ok
80 CryptContext: disabled hash support ... ok
81 CryptContext: dummy_verify() method ... ok
82 CryptContext: harden_verify -- parsing ... ok
83 LazyCryptContext: test_callable_constructor (passlib.tests.test_context.LazyCryptContextTest) ... ok
84 LazyCryptContext: test plain kwds ... ok
85 CryptContext: test constructor ... ok
86 CryptContext: test replace() ... ok
87 CryptContext: test no handlers ... ok
88 CryptContext: test hash_needs_update() method ... ok
89 CryptContext: test non-string hash values cause error ... ok
90 CryptPolicy: test CryptPolicy() constructor ... ok
91 CryptPolicy: test CryptPolicy.from_path() constructor with encodings ... ok
92 CryptPolicy: test CryptPolicy.from_path() constructor ... ok
93 CryptPolicy: test CryptPolicy.from_string() constructor ... ok
94 CryptPolicy: test CryptPolicy.from_source() constructor ... ok
95 CryptPolicy: test CryptPolicy.from_sources() constructor ... ok
96 CryptPolicy: test CryptPolicy.replace() constructor ... ok
97 CryptPolicy: test CryptPolicy() forbidden kwds ... ok
98 CryptPolicy: test has_schemes() method ... ok
99 CryptPolicy: test iter_handlers() method ... ok
100 CryptPolicy: test get_handler() method ... ok
101 CryptPolicy: test get_options() method ... ok
102 CryptPolicy: test handler_is_deprecated() method ... ok
103 CryptPolicy: test get_min_verify_time() method ... ok
104 CryptPolicy: test iter_config() method ... ok
105 CryptPolicy: test to_dict() method ... ok
106 CryptPolicy: test to_string() method ... ok
107 LazyCryptContext: test create_policy() hook, returning CryptPolicy ... ok
108 LazyCryptContext: test plain kwds ... ok
109 passlib.crypto._md4.md4(): informational attributes ... ok
110 passlib.crypto._md4.md4(): copy() method ... ok
111 passlib.crypto._md4.md4(): digest() method ... ok
112 passlib.crypto._md4.md4(): hexdigest() method ... ok
113 passlib.crypto._md4.md4(): update() method ... ok
114 hashlib.new('md4'): informational attributes ... ok
115 hashlib.new('md4'): copy() method ... ok
116 hashlib.new('md4'): digest() method ... ok
117 hashlib.new('md4'): hexdigest() method ... ok
118 hashlib.new('md4'): update() method ... ok
119 passlib.crypto.des: expand_des_key() ... ok
120 passlib.crypto.des: shrink_des_key() ... ok
121 passlib.crypto.des: des_encrypt_block() ... ok
122 passlib.crypto.des: des_encrypt_int_block() ... ok
123 passlib.crypto.digest: lookup_hash() -- alternate types ... ok
124 passlib.crypto.digest: lookup_hash() -- constructor ... ok
125 passlib.crypto.digest: lookup_hash() -- metadata ... ok
126 passlib.crypto.digest: lookup_hash() -- unknown hash name ... ok
127 passlib.crypto.digest: lookup_hash() -- test set_mock_fips_mode() ... ok
128 passlib.crypto.digest: norm_hash_name() ... ok
129 passlib.crypto.digest.pbkdf1: test border cases ... ok
130 passlib.crypto.digest.pbkdf1: test reference vectors ... ok
131 passlib.crypto.digest.pbkdf2_hmac() <backends: hashlib-ssl, builtin-from-bytes>: verify expected backends are present ... ok
132 passlib.crypto.digest.pbkdf2_hmac() <backends: hashlib-ssl, builtin-from-bytes>: test border cases ... ok
133 passlib.crypto.digest.pbkdf2_hmac() <backends: hashlib-ssl, builtin-from-bytes>: test keylen==None ... ok
134 passlib.crypto.digest.pbkdf2_hmac() <backends: hashlib-ssl, builtin-from-bytes>: test reference vectors ... ok
135 passlib.utils.scrypt.scrypt() <builtin backend>: backend management ... ok
136 passlib.utils.scrypt.scrypt() <builtin backend>: 'keylen' parameter ... ok
137 passlib.utils.scrypt.scrypt() <builtin backend>: backend management -- missing backend ... SKIP: non-builtin backend is present
138 passlib.utils.scrypt.scrypt() <builtin backend>: 'n' (rounds) parameter ... ok
139 passlib.utils.scrypt.scrypt() <builtin backend>: compare output to other backends ... ok
140 passlib.utils.scrypt.scrypt() <builtin backend>: 'p' (parallelism) parameter ... ok
141 passlib.utils.scrypt.scrypt() <builtin backend>: 'r' (block size) parameter ... ok
142 passlib.utils.scrypt.scrypt() <builtin backend>: reference vectors ... ok
143 passlib.utils.scrypt.scrypt() <builtin backend>: 'salt' parameter ... ok
144 passlib.utils.scrypt.scrypt() <builtin backend>: 'secret' parameter ... ok
145 passlib.crypto.scrypt._builtin: bmix() ... ok
146 passlib.crypto.scrypt._builtin: salsa20() ... ok
147 passlib.crypto.scrypt._builtin: smix() ... ok
148 passlib.utils.scrypt.scrypt() <stdlib backend>: backend management ... ok
149 passlib.utils.scrypt.scrypt() <stdlib backend>: backend management -- default backend ... ok
150 passlib.utils.scrypt.scrypt() <stdlib backend>: 'keylen' parameter ... ok
151 passlib.utils.scrypt.scrypt() <stdlib backend>: 'n' (rounds) parameter ... ok
152 passlib.utils.scrypt.scrypt() <stdlib backend>: compare output to other backends ... $(PROTO_DIR)$(PYTHON_DIR)/vendor-packages/passlib/crypto/scrypt/__init__.py:163: PasslibSecurityWarning: Using builtin scrypt backend, which is 100x slower than is required for adequate security. Installing scrypt support (via 'pip install scrypt') is strongly recommended
153   warn("Using builtin scrypt backend, which is %dx slower than is required "
155 passlib.utils.scrypt.scrypt() <stdlib backend>: 'p' (parallelism) parameter ... ok
156 passlib.utils.scrypt.scrypt() <stdlib backend>: 'r' (block size) parameter ... ok
157 passlib.utils.scrypt.scrypt() <stdlib backend>: reference vectors ... ok
158 passlib.utils.scrypt.scrypt() <stdlib backend>: 'salt' parameter ... ok
159 passlib.utils.scrypt.scrypt() <stdlib backend>: 'secret' parameter ... ok
160 verify django behavior: run a bunch of subtests for each hasher available in the default django setup ... SKIP: Django not installed
161 verify django behavior: test django's default algorithm ... SKIP: Django not installed
162 verify django behavior: test how methods handle empty string as hash value ... SKIP: Django not installed
163 verify django behavior: test how methods handle empty string as password ... SKIP: Django not installed
164 verify django behavior: test extension config is loaded correctly ... SKIP: Django not installed
165 verify django behavior: test how methods handle invalid hash values. ... SKIP: Django not installed
166 verify django behavior: test how methods handle None as hash value ... SKIP: Django not installed
167 verify django behavior: test how methods handle 'unusable flag' in hash ... SKIP: Django not installed
168 passlib.ext.django plugin: test set_django_password_context patch/unpatch ... SKIP: Django not installed
169 passlib.ext.django plugin: test detection of foreign monkeypatching ... SKIP: Django not installed
170 passlib.ext.django plugin: test Hasher-compatible handler wrappers ... SKIP: Django not installed
171 passlib.ext.django plugin: test PASSLIB_CONFIG='disabled' ... SKIP: Django not installed
172 passlib.ext.django plugin: test PASSLIB_CONFIG='<preset>' ... SKIP: Django not installed
173 passlib.ext.django plugin: test PASSLIB_CONFIG default behavior ... SKIP: Django not installed
174 passlib.ext.django plugin: test PASSLIB_CONFIG type checks ... SKIP: Django not installed
175 passlib.ext.django plugin: test PASSLIB_GET_CATEGORY parameter ... SKIP: Django not installed
176 verify extension behavior: run a bunch of subtests for each hasher available in the default django setup ... SKIP: Django not installed
177 verify extension behavior: test django's default algorithm ... SKIP: Django not installed
178 verify extension behavior: test how methods handle empty string as hash value ... SKIP: Django not installed
179 verify extension behavior: test how methods handle empty string as password ... SKIP: Django not installed
180 verify extension behavior: test extension config is loaded correctly ... SKIP: Django not installed
181 verify extension behavior: test how methods handle invalid hash values. ... SKIP: Django not installed
182 verify extension behavior: test how methods handle None as hash value ... SKIP: Django not installed
183 verify extension behavior: test how methods handle 'unusable flag' in hash ... SKIP: Django not installed
184 external django hasher tests ... SKIP: django not installed
185 test_pairs (passlib.tests.test_handlers.RoundupTest) ... ok
186 apr_md5_crypt: validate required attributes ... ok
187 apr_md5_crypt: test basic config-string workflow ... ok
188 apr_md5_crypt: test basic using() workflow ... ok
189 apr_md5_crypt: test basic hash-string workflow. ... ok
190 apr_md5_crypt: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
191 apr_md5_crypt: test hashes can be unicode or bytes ... ok
192 apr_md5_crypt: test multi-backend support ... SKIP: handler only has one backend
193 apr_md5_crypt: validate optional salt attributes ... ok
194 apr_md5_crypt: test hash() / genconfig() creates new salt each time ... ok
195 apr_md5_crypt: test hash() / genconfig() honors min_salt_size ... ok
196 apr_md5_crypt: test hash() / genconfig() honors max_salt_size ... ok
197 apr_md5_crypt: test hash() honors salt_chars ... ok
198 apr_md5_crypt: test non-string salt values ... ok
199 apr_md5_crypt: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
200 apr_md5_crypt: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
201 apr_md5_crypt: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
202 apr_md5_crypt: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
203 apr_md5_crypt: test password case sensitivity ... ok
204 apr_md5_crypt: test non-string passwords are rejected ... ok
205 apr_md5_crypt: test MAX_PASSWORD_SIZE is enforced ... ok
206 apr_md5_crypt: test forbidden characters not allowed in password ... SKIP: none listed
207 apr_md5_crypt: test known hashes ... ok
208 apr_md5_crypt: parsehash() ... ok
209 apr_md5_crypt: test known alternate hashes ... SKIP: no alternate hashes provided
210 apr_md5_crypt: parsehash() -- known outputs ... SKIP: no samples present
211 apr_md5_crypt: test known config strings ... SKIP: no config strings provided
212 apr_md5_crypt: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
213 apr_md5_crypt: test known identifiable-but-malformed strings ... ok
214 apr_md5_crypt: test known foreign hashes ... ok
215 apr_md5_crypt: test non-string hashes are rejected ... ok
216 apr_md5_crypt: fuzz testing -- random passwords and options ... ok
217 apr_md5_crypt: multithreaded fuzz testing -- random password & options using multiple threads ... ok
218 apr_md5_crypt: .disable() / .enable() methods ... SKIP: not applicable
219 apr_md5_crypt: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
220 apr_md5_crypt: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
221 apr_md5_crypt: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
222 apr_md5_crypt: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
223 apr_md5_crypt: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
224 apr_md5_crypt: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
225 apr_md5_crypt: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
226 apr_md5_crypt: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
227 apr_md5_crypt: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
228 apr_md5_crypt: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
229 apr_md5_crypt: test no password size limits enforced (if truncate_size=None) ... ok
230 apr_md5_crypt: validate 'truncate_error' setting & related attributes ... ok
231 apr_md5_crypt: Handler.using() -- default_salt_size ... ok
232 bigcrypt: validate required attributes ... ok
233 bigcrypt: test basic config-string workflow ... ok
234 bigcrypt: test basic using() workflow ... ok
235 bigcrypt: test basic hash-string workflow. ... ok
236 bigcrypt: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
237 bigcrypt: test hashes can be unicode or bytes ... ok
238 bigcrypt: test multi-backend support ... SKIP: handler only has one backend
239 bigcrypt: validate optional salt attributes ... ok
240 bigcrypt: test hash() / genconfig() creates new salt each time ... ok
241 bigcrypt: test hash() / genconfig() honors min_salt_size ... ok
242 bigcrypt: test hash() / genconfig() honors max_salt_size ... ok
243 bigcrypt: test hash() honors salt_chars ... ok
244 bigcrypt: test non-string salt values ... ok
245 bigcrypt: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
246 bigcrypt: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
247 bigcrypt: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
248 bigcrypt: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
249 bigcrypt: test password case sensitivity ... ok
250 bigcrypt: test non-string passwords are rejected ... ok
251 bigcrypt: test MAX_PASSWORD_SIZE is enforced ... ok
252 bigcrypt: test forbidden characters not allowed in password ... SKIP: none listed
253 bigcrypt: test known hashes ... ok
254 bigcrypt: parsehash() ... ok
255 bigcrypt: test known alternate hashes ... SKIP: no alternate hashes provided
256 bigcrypt: parsehash() -- known outputs ... SKIP: no samples present
257 bigcrypt: test known config strings ... SKIP: no config strings provided
258 bigcrypt: test known unidentifiably-mangled strings ... ok
259 bigcrypt: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
260 bigcrypt: test known foreign hashes ... ok
261 bigcrypt: test non-string hashes are rejected ... ok
262 bigcrypt: fuzz testing -- random passwords and options ... ok
263 bigcrypt: multithreaded fuzz testing -- random password & options using multiple threads ... ok
264 bigcrypt: test_90_internal (passlib.tests.test_handlers.bigcrypt_test) ... ok
265 bigcrypt: .disable() / .enable() methods ... SKIP: not applicable
266 bigcrypt: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
267 bigcrypt: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
268 bigcrypt: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
269 bigcrypt: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
270 bigcrypt: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
271 bigcrypt: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
272 bigcrypt: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
273 bigcrypt: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
274 bigcrypt: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
275 bigcrypt: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
276 bigcrypt: test no password size limits enforced (if truncate_size=None) ... ok
277 bigcrypt: validate 'truncate_error' setting & related attributes ... ok
278 bigcrypt: Handler.using() -- default_salt_size ... ok
279 bsd_nthash: validate required attributes ... ok
280 bsd_nthash: test basic config-string workflow ... ok
281 bsd_nthash: test basic using() workflow ... ok
282 bsd_nthash: test basic hash-string workflow. ... ok
283 bsd_nthash: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
284 bsd_nthash: test hashes can be unicode or bytes ... ok
285 bsd_nthash: test multi-backend support ... SKIP: handler only has one backend
286 bsd_nthash: validate optional salt attributes ... SKIP: handler doesn't have salt
287 bsd_nthash: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
288 bsd_nthash: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
289 bsd_nthash: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
290 bsd_nthash: test hash() honors salt_chars ... SKIP: handler doesn't have salt
291 bsd_nthash: test non-string salt values ... SKIP: handler doesn't have salt
292 bsd_nthash: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
293 bsd_nthash: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
294 bsd_nthash: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
295 bsd_nthash: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
296 bsd_nthash: test password case sensitivity ... ok
297 bsd_nthash: test non-string passwords are rejected ... ok
298 bsd_nthash: test MAX_PASSWORD_SIZE is enforced ... ok
299 bsd_nthash: test forbidden characters not allowed in password ... SKIP: none listed
300 bsd_nthash: test known hashes ... ok
301 bsd_nthash: parsehash() ... SKIP: parsehash() not implemented
302 bsd_nthash: test known alternate hashes ... SKIP: no alternate hashes provided
303 bsd_nthash: parsehash() -- known outputs ... SKIP: parsehash() not implemented
304 bsd_nthash: test known config strings ... SKIP: hash has no settings
305 bsd_nthash: test known unidentifiably-mangled strings ... ok
306 bsd_nthash: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
307 bsd_nthash: test known foreign hashes ... ok
308 bsd_nthash: test non-string hashes are rejected ... ok
309 bsd_nthash: fuzz testing -- random passwords and options ... ok
310 bsd_nthash: multithreaded fuzz testing -- random password & options using multiple threads ... ok
311 bsd_nthash: .disable() / .enable() methods ... SKIP: not applicable
312 bsd_nthash: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
313 bsd_nthash: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
314 bsd_nthash: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
315 bsd_nthash: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
316 bsd_nthash: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
317 bsd_nthash: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
318 bsd_nthash: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
319 bsd_nthash: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
320 bsd_nthash: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
321 bsd_nthash: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
322 bsd_nthash: test no password size limits enforced (if truncate_size=None) ... ok
323 bsd_nthash: validate 'truncate_error' setting & related attributes ... ok
324 bsd_nthash: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
325 bsdi_crypt (builtin backend): validate required attributes ... ok
326 bsdi_crypt (builtin backend): test basic config-string workflow ... ok
327 bsdi_crypt (builtin backend): test basic using() workflow ... ok
328 bsdi_crypt (builtin backend): test basic hash-string workflow. ... ok
329 bsdi_crypt (builtin backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
330 bsdi_crypt (builtin backend): test hashes can be unicode or bytes ... ok
331 bsdi_crypt (builtin backend): test multi-backend support ... ok
332 bsdi_crypt (builtin backend): validate optional salt attributes ... ok
333 bsdi_crypt (builtin backend): test hash() / genconfig() creates new salt each time ... ok
334 bsdi_crypt (builtin backend): test hash() / genconfig() honors min_salt_size ... ok
335 bsdi_crypt (builtin backend): test hash() / genconfig() honors max_salt_size ... ok
336 bsdi_crypt (builtin backend): test hash() honors salt_chars ... ok
337 bsdi_crypt (builtin backend): test non-string salt values ... ok
338 bsdi_crypt (builtin backend): validate optional rounds attributes ... ok
339 bsdi_crypt (builtin backend): test hash() / genconfig() honors min_rounds ... ok
340 bsdi_crypt (builtin backend): test hash() / genconfig() honors max_rounds ... ok
341 bsdi_crypt (builtin backend): validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
342 bsdi_crypt (builtin backend): test password case sensitivity ... ok
343 bsdi_crypt (builtin backend): test non-string passwords are rejected ... ok
344 bsdi_crypt (builtin backend): test MAX_PASSWORD_SIZE is enforced ... ok
345 bsdi_crypt (builtin backend): test forbidden characters not allowed in password ... ok
346 bsdi_crypt (builtin backend): test known hashes ... ok
347 bsdi_crypt (builtin backend): parsehash() ... ok
348 bsdi_crypt (builtin backend): test known alternate hashes ... SKIP: no alternate hashes provided
349 bsdi_crypt (builtin backend): parsehash() -- known outputs ... SKIP: no samples present
350 bsdi_crypt (builtin backend): test known config strings ... SKIP: no config strings provided
351 bsdi_crypt (builtin backend): test known unidentifiably-mangled strings ... ok
352 bsdi_crypt (builtin backend): test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
353 bsdi_crypt (builtin backend): test known foreign hashes ... ok
354 bsdi_crypt (builtin backend): test non-string hashes are rejected ... ok
355 bsdi_crypt (builtin backend): test_77_fuzz_input (passlib.tests.test_handlers.bsdi_crypt_builtin_test) ... ok
356 bsdi_crypt (builtin backend): multithreaded fuzz testing -- random password & options using multiple threads ... ok
357 bsdi_crypt (builtin backend): .disable() / .enable() methods ... SKIP: not applicable
358 bsdi_crypt (builtin backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
359 bsdi_crypt (builtin backend): HasRounds.using() -- max_rounds / max_desired_rounds ... ok
360 bsdi_crypt (builtin backend): HasRounds.using() -- desired_rounds + needs_update() ... ok
361 bsdi_crypt (builtin backend): HasRounds.using() -- sanity check test harness ... ok
362 bsdi_crypt (builtin backend): HasRounds.using() -- default_rounds ... ok
363 bsdi_crypt (builtin backend): HasRounds.using() -- min_rounds / min_desired_rounds ... ok
364 bsdi_crypt (builtin backend): HasRounds.using() -- rounds ... ok
365 bsdi_crypt (builtin backend): HasRounds.using() -- vary_rounds generation ... ok
366 bsdi_crypt (builtin backend): HasRounds.using() -- vary_rounds parsing ... ok
367 bsdi_crypt (builtin backend): needs_update() should flag even rounds ... ok
368 bsdi_crypt (builtin backend): test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
369 bsdi_crypt (builtin backend): test no password size limits enforced (if truncate_size=None) ... ok
370 bsdi_crypt (builtin backend): validate 'truncate_error' setting & related attributes ... ok
371 bsdi_crypt (builtin backend): Handler.using() -- default_salt_size ... ok
372 bsdi_crypt (os_crypt backend): validate required attributes ... SKIP: backend not available
373 bsdi_crypt (os_crypt backend): test basic config-string workflow ... SKIP: backend not available
374 bsdi_crypt (os_crypt backend): test basic using() workflow ... SKIP: backend not available
375 bsdi_crypt (os_crypt backend): test basic hash-string workflow. ... SKIP: backend not available
376 bsdi_crypt (os_crypt backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... SKIP: backend not available
377 bsdi_crypt (os_crypt backend): test hashes can be unicode or bytes ... SKIP: backend not available
378 bsdi_crypt (os_crypt backend): test multi-backend support ... SKIP: backend not available
379 bsdi_crypt (os_crypt backend): validate optional salt attributes ... SKIP: backend not available
380 bsdi_crypt (os_crypt backend): test hash() / genconfig() creates new salt each time ... SKIP: backend not available
381 bsdi_crypt (os_crypt backend): test hash() / genconfig() honors min_salt_size ... SKIP: backend not available
382 bsdi_crypt (os_crypt backend): test hash() / genconfig() honors max_salt_size ... SKIP: backend not available
383 bsdi_crypt (os_crypt backend): test hash() honors salt_chars ... SKIP: backend not available
384 bsdi_crypt (os_crypt backend): test non-string salt values ... SKIP: backend not available
385 bsdi_crypt (os_crypt backend): validate optional rounds attributes ... SKIP: backend not available
386 bsdi_crypt (os_crypt backend): test hash() / genconfig() honors min_rounds ... SKIP: backend not available
387 bsdi_crypt (os_crypt backend): test hash() / genconfig() honors max_rounds ... SKIP: backend not available
388 bsdi_crypt (os_crypt backend): validate HasManyIdents configuration ... SKIP: backend not available
389 bsdi_crypt (os_crypt backend): test password case sensitivity ... SKIP: backend not available
390 bsdi_crypt (os_crypt backend): test non-string passwords are rejected ... SKIP: backend not available
391 bsdi_crypt (os_crypt backend): test MAX_PASSWORD_SIZE is enforced ... SKIP: backend not available
392 bsdi_crypt (os_crypt backend): test forbidden characters not allowed in password ... SKIP: backend not available
393 bsdi_crypt (os_crypt backend): test known hashes ... SKIP: backend not available
394 bsdi_crypt (os_crypt backend): parsehash() ... SKIP: backend not available
395 bsdi_crypt (os_crypt backend): test known alternate hashes ... SKIP: backend not available
396 bsdi_crypt (os_crypt backend): parsehash() -- known outputs ... SKIP: backend not available
397 bsdi_crypt (os_crypt backend): test known config strings ... SKIP: backend not available
398 bsdi_crypt (os_crypt backend): test known unidentifiably-mangled strings ... SKIP: backend not available
399 bsdi_crypt (os_crypt backend): test known identifiable-but-malformed strings ... SKIP: backend not available
400 bsdi_crypt (os_crypt backend): test known foreign hashes ... SKIP: backend not available
401 bsdi_crypt (os_crypt backend): test non-string hashes are rejected ... SKIP: backend not available
402 bsdi_crypt (os_crypt backend): test_77_fuzz_input (passlib.tests.test_handlers.bsdi_crypt_os_crypt_test) ... SKIP: backend not available
403 bsdi_crypt (os_crypt backend): multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: backend not available
404 bsdi_crypt (os_crypt backend): test with faulty crypt() ... SKIP: backend not available
405 bsdi_crypt (os_crypt backend): test per-call crypt() fallback ... SKIP: backend not available
406 bsdi_crypt (os_crypt backend): test platform-specific crypt() support detection ... SKIP: no data for 'sunos5' platform (current host support = False)
407 bsdi_crypt (os_crypt backend): .disable() / .enable() methods ... SKIP: backend not available
408 bsdi_crypt (os_crypt backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: backend not available
409 bsdi_crypt (os_crypt backend): HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: backend not available
410 bsdi_crypt (os_crypt backend): HasRounds.using() -- desired_rounds + needs_update() ... SKIP: backend not available
411 bsdi_crypt (os_crypt backend): HasRounds.using() -- sanity check test harness ... SKIP: backend not available
412 bsdi_crypt (os_crypt backend): HasRounds.using() -- default_rounds ... SKIP: backend not available
413 bsdi_crypt (os_crypt backend): HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: backend not available
414 bsdi_crypt (os_crypt backend): HasRounds.using() -- rounds ... SKIP: backend not available
415 bsdi_crypt (os_crypt backend): HasRounds.using() -- vary_rounds generation ... SKIP: backend not available
416 bsdi_crypt (os_crypt backend): HasRounds.using() -- vary_rounds parsing ... SKIP: backend not available
417 bsdi_crypt (os_crypt backend): needs_update() should flag even rounds ... SKIP: backend not available
418 bsdi_crypt (os_crypt backend): test password size limits raise truncate_error (if appropriate) ... SKIP: backend not available
419 bsdi_crypt (os_crypt backend): test no password size limits enforced (if truncate_size=None) ... SKIP: backend not available
420 bsdi_crypt (os_crypt backend): validate 'truncate_error' setting & related attributes ... SKIP: backend not available
421 bsdi_crypt (os_crypt backend): Handler.using() -- default_salt_size ... SKIP: backend not available
422 crypt16: validate required attributes ... ok
423 crypt16: test basic config-string workflow ... ok
424 crypt16: test basic using() workflow ... ok
425 crypt16: test basic hash-string workflow. ... ok
426 crypt16: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
427 crypt16: test hashes can be unicode or bytes ... ok
428 crypt16: test multi-backend support ... SKIP: handler only has one backend
429 crypt16: validate optional salt attributes ... ok
430 crypt16: test hash() / genconfig() creates new salt each time ... ok
431 crypt16: test hash() / genconfig() honors min_salt_size ... ok
432 crypt16: test hash() / genconfig() honors max_salt_size ... ok
433 crypt16: test hash() honors salt_chars ... ok
434 crypt16: test non-string salt values ... ok
435 crypt16: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
436 crypt16: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
437 crypt16: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
438 crypt16: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
439 crypt16: test password case sensitivity ... ok
440 crypt16: test non-string passwords are rejected ... ok
441 crypt16: test MAX_PASSWORD_SIZE is enforced ... ok
442 crypt16: test forbidden characters not allowed in password ... SKIP: none listed
443 crypt16: test known hashes ... ok
444 crypt16: parsehash() ... ok
445 crypt16: test known alternate hashes ... SKIP: no alternate hashes provided
446 crypt16: parsehash() -- known outputs ... SKIP: no samples present
447 crypt16: test known config strings ... SKIP: no config strings provided
448 crypt16: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
449 crypt16: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
450 crypt16: test known foreign hashes ... ok
451 crypt16: test non-string hashes are rejected ... ok
452 crypt16: fuzz testing -- random passwords and options ... ok
453 crypt16: multithreaded fuzz testing -- random password & options using multiple threads ... ok
454 crypt16: .disable() / .enable() methods ... SKIP: not applicable
455 crypt16: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
456 crypt16: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
457 crypt16: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
458 crypt16: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
459 crypt16: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
460 crypt16: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
461 crypt16: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
462 crypt16: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
463 crypt16: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
464 crypt16: test password size limits raise truncate_error (if appropriate) ... ok
465 crypt16: test no password size limits enforced (if truncate_size=None) ... SKIP: truncate_size is set
466 crypt16: validate 'truncate_error' setting & related attributes ... ok
467 crypt16: Handler.using() -- default_salt_size ... ok
468 des_crypt (builtin backend): validate required attributes ... ok
469 des_crypt (builtin backend): test basic config-string workflow ... ok
470 des_crypt (builtin backend): test basic using() workflow ... ok
471 des_crypt (builtin backend): test basic hash-string workflow. ... ok
472 des_crypt (builtin backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
473 des_crypt (builtin backend): test hashes can be unicode or bytes ... ok
474 des_crypt (builtin backend): test multi-backend support ... ok
475 des_crypt (builtin backend): validate optional salt attributes ... ok
476 des_crypt (builtin backend): test hash() / genconfig() creates new salt each time ... ok
477 des_crypt (builtin backend): test hash() / genconfig() honors min_salt_size ... ok
478 des_crypt (builtin backend): test hash() / genconfig() honors max_salt_size ... ok
479 des_crypt (builtin backend): test hash() honors salt_chars ... ok
480 des_crypt (builtin backend): test non-string salt values ... ok
481 des_crypt (builtin backend): validate optional rounds attributes ... SKIP: handler lacks rounds attributes
482 des_crypt (builtin backend): test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
483 des_crypt (builtin backend): test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
484 des_crypt (builtin backend): validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
485 des_crypt (builtin backend): test password case sensitivity ... ok
486 des_crypt (builtin backend): test non-string passwords are rejected ... ok
487 des_crypt (builtin backend): test MAX_PASSWORD_SIZE is enforced ... ok
488 des_crypt (builtin backend): test forbidden characters not allowed in password ... ok
489 des_crypt (builtin backend): test known hashes ... ok
490 des_crypt (builtin backend): parsehash() ... ok
491 des_crypt (builtin backend): test known alternate hashes ... SKIP: no alternate hashes provided
492 des_crypt (builtin backend): parsehash() -- known outputs ... SKIP: no samples present
493 des_crypt (builtin backend): test known config strings ... SKIP: no config strings provided
494 des_crypt (builtin backend): test known unidentifiably-mangled strings ... ok
495 des_crypt (builtin backend): test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
496 des_crypt (builtin backend): test known foreign hashes ... ok
497 des_crypt (builtin backend): test non-string hashes are rejected ... ok
498 des_crypt (builtin backend): fuzz testing -- random passwords and options ... ok
499 des_crypt (builtin backend): multithreaded fuzz testing -- random password & options using multiple threads ... ok
500 des_crypt (builtin backend): .disable() / .enable() methods ... SKIP: not applicable
501 des_crypt (builtin backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
502 des_crypt (builtin backend): HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
503 des_crypt (builtin backend): HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
504 des_crypt (builtin backend): HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
505 des_crypt (builtin backend): HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
506 des_crypt (builtin backend): HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
507 des_crypt (builtin backend): HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
508 des_crypt (builtin backend): HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
509 des_crypt (builtin backend): HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
510 des_crypt (builtin backend): test password size limits raise truncate_error (if appropriate) ... ok
511 des_crypt (builtin backend): test no password size limits enforced (if truncate_size=None) ... SKIP: truncate_size is set
512 des_crypt (builtin backend): validate 'truncate_error' setting & related attributes ... ok
513 des_crypt (builtin backend): Handler.using() -- default_salt_size ... ok
514 des_crypt (os_crypt backend): validate required attributes ... ok
515 des_crypt (os_crypt backend): test basic config-string workflow ... ok
516 des_crypt (os_crypt backend): test basic using() workflow ... ok
517 des_crypt (os_crypt backend): test basic hash-string workflow. ... ok
518 des_crypt (os_crypt backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
519 des_crypt (os_crypt backend): test hashes can be unicode or bytes ... ok
520 des_crypt (os_crypt backend): test multi-backend support ... ok
521 des_crypt (os_crypt backend): validate optional salt attributes ... ok
522 des_crypt (os_crypt backend): test hash() / genconfig() creates new salt each time ... ok
523 des_crypt (os_crypt backend): test hash() / genconfig() honors min_salt_size ... ok
524 des_crypt (os_crypt backend): test hash() / genconfig() honors max_salt_size ... ok
525 des_crypt (os_crypt backend): test hash() honors salt_chars ... ok
526 des_crypt (os_crypt backend): test non-string salt values ... ok
527 des_crypt (os_crypt backend): validate optional rounds attributes ... SKIP: handler lacks rounds attributes
528 des_crypt (os_crypt backend): test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
529 des_crypt (os_crypt backend): test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
530 des_crypt (os_crypt backend): validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
531 des_crypt (os_crypt backend): test password case sensitivity ... ok
532 des_crypt (os_crypt backend): test non-string passwords are rejected ... ok
533 des_crypt (os_crypt backend): test MAX_PASSWORD_SIZE is enforced ... ok
534 des_crypt (os_crypt backend): test forbidden characters not allowed in password ... ok
535 des_crypt (os_crypt backend): test known hashes ... ok
536 des_crypt (os_crypt backend): parsehash() ... ok
537 des_crypt (os_crypt backend): test known alternate hashes ... SKIP: no alternate hashes provided
538 des_crypt (os_crypt backend): parsehash() -- known outputs ... SKIP: no samples present
539 des_crypt (os_crypt backend): test known config strings ... SKIP: no config strings provided
540 des_crypt (os_crypt backend): test known unidentifiably-mangled strings ... ok
541 des_crypt (os_crypt backend): test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
542 des_crypt (os_crypt backend): test known foreign hashes ... ok
543 des_crypt (os_crypt backend): test non-string hashes are rejected ... ok
544 des_crypt (os_crypt backend): fuzz testing -- random passwords and options ... ok
545 des_crypt (os_crypt backend): multithreaded fuzz testing -- random password & options using multiple threads ... ok
546 des_crypt (os_crypt backend): test with faulty crypt() ... ok
547 des_crypt (os_crypt backend): test per-call crypt() fallback ... ok
548 des_crypt (os_crypt backend): test platform-specific crypt() support detection ... SKIP: no data for 'sunos5' platform (current host support = True)
549 des_crypt (os_crypt backend): .disable() / .enable() methods ... SKIP: not applicable
550 des_crypt (os_crypt backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
551 des_crypt (os_crypt backend): HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
552 des_crypt (os_crypt backend): HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
553 des_crypt (os_crypt backend): HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
554 des_crypt (os_crypt backend): HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
555 des_crypt (os_crypt backend): HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
556 des_crypt (os_crypt backend): HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
557 des_crypt (os_crypt backend): HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
558 des_crypt (os_crypt backend): HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
559 des_crypt (os_crypt backend): test password size limits raise truncate_error (if appropriate) ... ok
560 des_crypt (os_crypt backend): test no password size limits enforced (if truncate_size=None) ... SKIP: truncate_size is set
561 des_crypt (os_crypt backend): validate 'truncate_error' setting & related attributes ... ok
562 des_crypt (os_crypt backend): Handler.using() -- default_salt_size ... ok
563 fshp: validate required attributes ... ok
564 fshp: test basic config-string workflow ... ok
565 fshp: test basic using() workflow ... ok
566 fshp: test basic hash-string workflow. ... ok
567 fshp: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
568 fshp: test hashes can be unicode or bytes ... ok
569 fshp: test multi-backend support ... SKIP: handler only has one backend
570 fshp: validate optional salt attributes ... ok
571 fshp: test hash() / genconfig() creates new salt each time ... ok
572 fshp: test hash() / genconfig() honors min_salt_size ... ok
573 fshp: test hash() / genconfig() honors max_salt_size ... ok
574 fshp: test hash() honors salt_chars ... ok
575 fshp: test non-string salt values ... ok
576 fshp: validate optional rounds attributes ... ok
577 fshp: test hash() / genconfig() honors min_rounds ... ok
578 fshp: test hash() / genconfig() honors max_rounds ... ok
579 fshp: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
580 fshp: test password case sensitivity ... ok
581 fshp: test non-string passwords are rejected ... ok
582 fshp: test MAX_PASSWORD_SIZE is enforced ... ok
583 fshp: test forbidden characters not allowed in password ... SKIP: none listed
584 fshp: test known hashes ... ok
585 fshp: parsehash() ... ok
586 fshp: test known alternate hashes ... SKIP: no alternate hashes provided
587 fshp: parsehash() -- known outputs ... SKIP: no samples present
588 fshp: test known config strings ... SKIP: no config strings provided
589 fshp: test known unidentifiably-mangled strings ... ok
590 fshp: test known identifiable-but-malformed strings ... ok
591 fshp: test known foreign hashes ... ok
592 fshp: test non-string hashes are rejected ... ok
593 fshp: fuzz testing -- random passwords and options ... ok
594 fshp: multithreaded fuzz testing -- random password & options using multiple threads ... ok
595 fshp: test variant keyword ... ok
596 fshp: .disable() / .enable() methods ... SKIP: not applicable
597 fshp: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
598 fshp: HasRounds.using() -- max_rounds / max_desired_rounds ... ok
599 fshp: HasRounds.using() -- desired_rounds + needs_update() ... ok
600 fshp: HasRounds.using() -- sanity check test harness ... ok
601 fshp: HasRounds.using() -- default_rounds ... ok
602 fshp: HasRounds.using() -- min_rounds / min_desired_rounds ... ok
603 fshp: HasRounds.using() -- rounds ... ok
604 fshp: HasRounds.using() -- vary_rounds generation ... ok
605 fshp: HasRounds.using() -- vary_rounds parsing ... ok
606 fshp: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
607 fshp: test no password size limits enforced (if truncate_size=None) ... ok
608 fshp: validate 'truncate_error' setting & related attributes ... ok
609 fshp: Handler.using() -- default_salt_size ... ok
610 hex_md4: validate required attributes ... ok
611 hex_md4: test basic config-string workflow ... ok
612 hex_md4: test basic using() workflow ... ok
613 hex_md4: test basic hash-string workflow. ... ok
614 hex_md4: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
615 hex_md4: test hashes can be unicode or bytes ... ok
616 hex_md4: test multi-backend support ... SKIP: handler only has one backend
617 hex_md4: validate optional salt attributes ... SKIP: handler doesn't have salt
618 hex_md4: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
619 hex_md4: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
620 hex_md4: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
621 hex_md4: test hash() honors salt_chars ... SKIP: handler doesn't have salt
622 hex_md4: test non-string salt values ... SKIP: handler doesn't have salt
623 hex_md4: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
624 hex_md4: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
625 hex_md4: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
626 hex_md4: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
627 hex_md4: test password case sensitivity ... ok
628 hex_md4: test non-string passwords are rejected ... ok
629 hex_md4: test MAX_PASSWORD_SIZE is enforced ... ok
630 hex_md4: test forbidden characters not allowed in password ... SKIP: none listed
631 hex_md4: test known hashes ... ok
632 hex_md4: parsehash() ... ok
633 hex_md4: test known alternate hashes ... SKIP: no alternate hashes provided
634 hex_md4: parsehash() -- known outputs ... SKIP: no samples present
635 hex_md4: test known config strings ... SKIP: hash has no settings
636 hex_md4: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
637 hex_md4: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
638 hex_md4: test known foreign hashes ... ok
639 hex_md4: test non-string hashes are rejected ... ok
640 hex_md4: fuzz testing -- random passwords and options ... ok
641 hex_md4: multithreaded fuzz testing -- random password & options using multiple threads ... ok
642 hex_md4: .disable() / .enable() methods ... SKIP: not applicable
643 hex_md4: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
644 hex_md4: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
645 hex_md4: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
646 hex_md4: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
647 hex_md4: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
648 hex_md4: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
649 hex_md4: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
650 hex_md4: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
651 hex_md4: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
652 hex_md4: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
653 hex_md4: test no password size limits enforced (if truncate_size=None) ... ok
654 hex_md4: validate 'truncate_error' setting & related attributes ... ok
655 hex_md4: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
656 hex_md5: validate required attributes ... ok
657 hex_md5: test basic config-string workflow ... ok
658 hex_md5: test basic using() workflow ... ok
659 hex_md5: test basic hash-string workflow. ... ok
660 hex_md5: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
661 hex_md5: test hashes can be unicode or bytes ... ok
662 hex_md5: test multi-backend support ... SKIP: handler only has one backend
663 hex_md5: validate optional salt attributes ... SKIP: handler doesn't have salt
664 hex_md5: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
665 hex_md5: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
666 hex_md5: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
667 hex_md5: test hash() honors salt_chars ... SKIP: handler doesn't have salt
668 hex_md5: test non-string salt values ... SKIP: handler doesn't have salt
669 hex_md5: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
670 hex_md5: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
671 hex_md5: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
672 hex_md5: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
673 hex_md5: test password case sensitivity ... ok
674 hex_md5: test non-string passwords are rejected ... ok
675 hex_md5: test MAX_PASSWORD_SIZE is enforced ... ok
676 hex_md5: test forbidden characters not allowed in password ... SKIP: none listed
677 hex_md5: test known hashes ... ok
678 hex_md5: parsehash() ... ok
679 hex_md5: test known alternate hashes ... SKIP: no alternate hashes provided
680 hex_md5: parsehash() -- known outputs ... SKIP: no samples present
681 hex_md5: test known config strings ... SKIP: hash has no settings
682 hex_md5: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
683 hex_md5: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
684 hex_md5: test known foreign hashes ... ok
685 hex_md5: test non-string hashes are rejected ... ok
686 hex_md5: fuzz testing -- random passwords and options ... ok
687 hex_md5: multithreaded fuzz testing -- random password & options using multiple threads ... ok
688 hex_md5: .disable() / .enable() methods ... SKIP: not applicable
689 hex_md5: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
690 hex_md5: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
691 hex_md5: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
692 hex_md5: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
693 hex_md5: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
694 hex_md5: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
695 hex_md5: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
696 hex_md5: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
697 hex_md5: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
698 hex_md5: if md5 isn't available, a dummy instance should be created. ... ok
699 hex_md5: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
700 hex_md5: test no password size limits enforced (if truncate_size=None) ... ok
701 hex_md5: validate 'truncate_error' setting & related attributes ... ok
702 hex_md5: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
703 hex_sha1: validate required attributes ... ok
704 hex_sha1: test basic config-string workflow ... ok
705 hex_sha1: test basic using() workflow ... ok
706 hex_sha1: test basic hash-string workflow. ... ok
707 hex_sha1: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
708 hex_sha1: test hashes can be unicode or bytes ... ok
709 hex_sha1: test multi-backend support ... SKIP: handler only has one backend
710 hex_sha1: validate optional salt attributes ... SKIP: handler doesn't have salt
711 hex_sha1: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
712 hex_sha1: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
713 hex_sha1: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
714 hex_sha1: test hash() honors salt_chars ... SKIP: handler doesn't have salt
715 hex_sha1: test non-string salt values ... SKIP: handler doesn't have salt
716 hex_sha1: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
717 hex_sha1: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
718 hex_sha1: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
719 hex_sha1: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
720 hex_sha1: test password case sensitivity ... ok
721 hex_sha1: test non-string passwords are rejected ... ok
722 hex_sha1: test MAX_PASSWORD_SIZE is enforced ... ok
723 hex_sha1: test forbidden characters not allowed in password ... SKIP: none listed
724 hex_sha1: test known hashes ... ok
725 hex_sha1: parsehash() ... ok
726 hex_sha1: test known alternate hashes ... SKIP: no alternate hashes provided
727 hex_sha1: parsehash() -- known outputs ... SKIP: no samples present
728 hex_sha1: test known config strings ... SKIP: hash has no settings
729 hex_sha1: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
730 hex_sha1: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
731 hex_sha1: test known foreign hashes ... ok
732 hex_sha1: test non-string hashes are rejected ... ok
733 hex_sha1: fuzz testing -- random passwords and options ... ok
734 hex_sha1: multithreaded fuzz testing -- random password & options using multiple threads ... ok
735 hex_sha1: .disable() / .enable() methods ... SKIP: not applicable
736 hex_sha1: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
737 hex_sha1: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
738 hex_sha1: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
739 hex_sha1: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
740 hex_sha1: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
741 hex_sha1: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
742 hex_sha1: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
743 hex_sha1: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
744 hex_sha1: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
745 hex_sha1: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
746 hex_sha1: test no password size limits enforced (if truncate_size=None) ... ok
747 hex_sha1: validate 'truncate_error' setting & related attributes ... ok
748 hex_sha1: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
749 hex_sha256: validate required attributes ... ok
750 hex_sha256: test basic config-string workflow ... ok
751 hex_sha256: test basic using() workflow ... ok
752 hex_sha256: test basic hash-string workflow. ... ok
753 hex_sha256: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
754 hex_sha256: test hashes can be unicode or bytes ... ok
755 hex_sha256: test multi-backend support ... SKIP: handler only has one backend
756 hex_sha256: validate optional salt attributes ... SKIP: handler doesn't have salt
757 hex_sha256: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
758 hex_sha256: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
759 hex_sha256: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
760 hex_sha256: test hash() honors salt_chars ... SKIP: handler doesn't have salt
761 hex_sha256: test non-string salt values ... SKIP: handler doesn't have salt
762 hex_sha256: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
763 hex_sha256: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
764 hex_sha256: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
765 hex_sha256: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
766 hex_sha256: test password case sensitivity ... ok
767 hex_sha256: test non-string passwords are rejected ... ok
768 hex_sha256: test MAX_PASSWORD_SIZE is enforced ... ok
769 hex_sha256: test forbidden characters not allowed in password ... SKIP: none listed
770 hex_sha256: test known hashes ... ok
771 hex_sha256: parsehash() ... ok
772 hex_sha256: test known alternate hashes ... SKIP: no alternate hashes provided
773 hex_sha256: parsehash() -- known outputs ... SKIP: no samples present
774 hex_sha256: test known config strings ... SKIP: hash has no settings
775 hex_sha256: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
776 hex_sha256: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
777 hex_sha256: test known foreign hashes ... ok
778 hex_sha256: test non-string hashes are rejected ... ok
779 hex_sha256: fuzz testing -- random passwords and options ... ok
780 hex_sha256: multithreaded fuzz testing -- random password & options using multiple threads ... ok
781 hex_sha256: .disable() / .enable() methods ... SKIP: not applicable
782 hex_sha256: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
783 hex_sha256: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
784 hex_sha256: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
785 hex_sha256: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
786 hex_sha256: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
787 hex_sha256: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
788 hex_sha256: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
789 hex_sha256: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
790 hex_sha256: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
791 hex_sha256: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
792 hex_sha256: test no password size limits enforced (if truncate_size=None) ... ok
793 hex_sha256: validate 'truncate_error' setting & related attributes ... ok
794 hex_sha256: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
795 hex_sha512: validate required attributes ... ok
796 hex_sha512: test basic config-string workflow ... ok
797 hex_sha512: test basic using() workflow ... ok
798 hex_sha512: test basic hash-string workflow. ... ok
799 hex_sha512: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
800 hex_sha512: test hashes can be unicode or bytes ... ok
801 hex_sha512: test multi-backend support ... SKIP: handler only has one backend
802 hex_sha512: validate optional salt attributes ... SKIP: handler doesn't have salt
803 hex_sha512: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
804 hex_sha512: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
805 hex_sha512: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
806 hex_sha512: test hash() honors salt_chars ... SKIP: handler doesn't have salt
807 hex_sha512: test non-string salt values ... SKIP: handler doesn't have salt
808 hex_sha512: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
809 hex_sha512: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
810 hex_sha512: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
811 hex_sha512: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
812 hex_sha512: test password case sensitivity ... ok
813 hex_sha512: test non-string passwords are rejected ... ok
814 hex_sha512: test MAX_PASSWORD_SIZE is enforced ... ok
815 hex_sha512: test forbidden characters not allowed in password ... SKIP: none listed
816 hex_sha512: test known hashes ... ok
817 hex_sha512: parsehash() ... ok
818 hex_sha512: test known alternate hashes ... SKIP: no alternate hashes provided
819 hex_sha512: parsehash() -- known outputs ... SKIP: no samples present
820 hex_sha512: test known config strings ... SKIP: hash has no settings
821 hex_sha512: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
822 hex_sha512: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
823 hex_sha512: test known foreign hashes ... ok
824 hex_sha512: test non-string hashes are rejected ... ok
825 hex_sha512: fuzz testing -- random passwords and options ... ok
826 hex_sha512: multithreaded fuzz testing -- random password & options using multiple threads ... ok
827 hex_sha512: .disable() / .enable() methods ... SKIP: not applicable
828 hex_sha512: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
829 hex_sha512: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
830 hex_sha512: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
831 hex_sha512: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
832 hex_sha512: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
833 hex_sha512: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
834 hex_sha512: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
835 hex_sha512: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
836 hex_sha512: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
837 hex_sha512: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
838 hex_sha512: test no password size limits enforced (if truncate_size=None) ... ok
839 hex_sha512: validate 'truncate_error' setting & related attributes ... ok
840 hex_sha512: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
841 htdigest: validate required attributes ... ok
842 htdigest: test basic config-string workflow ... ok
843 htdigest: test basic using() workflow ... ok
844 htdigest: test basic hash-string workflow. ... ok
845 htdigest: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
846 htdigest: test hashes can be unicode or bytes ... ok
847 htdigest: test multi-backend support ... SKIP: handler only has one backend
848 htdigest: validate optional salt attributes ... SKIP: handler doesn't have salt
849 htdigest: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
850 htdigest: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
851 htdigest: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
852 htdigest: test hash() honors salt_chars ... SKIP: handler doesn't have salt
853 htdigest: test non-string salt values ... SKIP: handler doesn't have salt
854 htdigest: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
855 htdigest: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
856 htdigest: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
857 htdigest: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
858 htdigest: test password case sensitivity ... ok
859 htdigest: test non-string passwords are rejected ... ok
860 htdigest: test MAX_PASSWORD_SIZE is enforced ... ok
861 htdigest: test forbidden characters not allowed in password ... SKIP: none listed
862 htdigest: test known hashes ... ok
863 htdigest: parsehash() ... SKIP: parsehash() not implemented
864 htdigest: test known alternate hashes ... SKIP: no alternate hashes provided
865 htdigest: parsehash() -- known outputs ... SKIP: parsehash() not implemented
866 htdigest: test known config strings ... SKIP: hash has no settings
867 htdigest: test known unidentifiably-mangled strings ... ok
868 htdigest: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
869 htdigest: test known foreign hashes ... ok
870 htdigest: test non-string hashes are rejected ... ok
871 htdigest: fuzz testing -- random passwords and options ... ok
872 htdigest: multithreaded fuzz testing -- random password & options using multiple threads ... ok
873 htdigest: test_80_user (passlib.tests.test_handlers.htdigest_test) ... SKIP: test case doesn't support 'realm' keyword
874 htdigest: test user case sensitivity ... ok
875 htdigest: test user used as salt ... ok
876 htdigest: .disable() / .enable() methods ... SKIP: not applicable
877 htdigest: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
878 htdigest: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
879 htdigest: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
880 htdigest: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
881 htdigest: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
882 htdigest: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
883 htdigest: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
884 htdigest: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
885 htdigest: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
886 htdigest: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
887 htdigest: test no password size limits enforced (if truncate_size=None) ... ok
888 htdigest: validate 'truncate_error' setting & related attributes ... ok
889 htdigest: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
890 ldap_md5_crypt (builtin backend): validate required attributes ... ok
891 ldap_md5_crypt (builtin backend): test basic config-string workflow ... ok
892 ldap_md5_crypt (builtin backend): test basic using() workflow ... ok
893 ldap_md5_crypt (builtin backend): test basic hash-string workflow. ... ok
894 ldap_md5_crypt (builtin backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
895 ldap_md5_crypt (builtin backend): test hashes can be unicode or bytes ... ok
896 ldap_md5_crypt (builtin backend): test multi-backend support ... ok
897 ldap_md5_crypt (builtin backend): validate optional salt attributes ... ok
898 ldap_md5_crypt (builtin backend): test hash() / genconfig() creates new salt each time ... ok
899 ldap_md5_crypt (builtin backend): test hash() / genconfig() honors min_salt_size ... ok
900 ldap_md5_crypt (builtin backend): test hash() / genconfig() honors max_salt_size ... ok
901 ldap_md5_crypt (builtin backend): test hash() honors salt_chars ... ok
902 ldap_md5_crypt (builtin backend): test non-string salt values ... ok
903 ldap_md5_crypt (builtin backend): validate optional rounds attributes ... SKIP: handler lacks rounds attributes
904 ldap_md5_crypt (builtin backend): test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
905 ldap_md5_crypt (builtin backend): test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
906 ldap_md5_crypt (builtin backend): validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
907 ldap_md5_crypt (builtin backend): test password case sensitivity ... ok
908 ldap_md5_crypt (builtin backend): test non-string passwords are rejected ... ok
909 ldap_md5_crypt (builtin backend): test MAX_PASSWORD_SIZE is enforced ... ok
910 ldap_md5_crypt (builtin backend): test forbidden characters not allowed in password ... ok
911 ldap_md5_crypt (builtin backend): test known hashes ... ok
912 ldap_md5_crypt (builtin backend): parsehash() ... SKIP: parsehash() not implemented
913 ldap_md5_crypt (builtin backend): test known alternate hashes ... SKIP: no alternate hashes provided
914 ldap_md5_crypt (builtin backend): parsehash() -- known outputs ... SKIP: parsehash() not implemented
915 ldap_md5_crypt (builtin backend): test known config strings ... SKIP: no config strings provided
916 ldap_md5_crypt (builtin backend): test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
917 ldap_md5_crypt (builtin backend): test known identifiable-but-malformed strings ... ok
918 ldap_md5_crypt (builtin backend): test known foreign hashes ... ok
919 ldap_md5_crypt (builtin backend): test non-string hashes are rejected ... ok
920 ldap_md5_crypt (builtin backend): fuzz testing -- random passwords and options ... ok
921 ldap_md5_crypt (builtin backend): multithreaded fuzz testing -- random password & options using multiple threads ... ok
922 ldap_md5_crypt (builtin backend): .disable() / .enable() methods ... SKIP: not applicable
923 ldap_md5_crypt (builtin backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
924 ldap_md5_crypt (builtin backend): HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
925 ldap_md5_crypt (builtin backend): HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
926 ldap_md5_crypt (builtin backend): HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
927 ldap_md5_crypt (builtin backend): HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
928 ldap_md5_crypt (builtin backend): HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
929 ldap_md5_crypt (builtin backend): HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
930 ldap_md5_crypt (builtin backend): HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
931 ldap_md5_crypt (builtin backend): HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
932 ldap_md5_crypt (builtin backend): test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
933 ldap_md5_crypt (builtin backend): test no password size limits enforced (if truncate_size=None) ... ok
934 ldap_md5_crypt (builtin backend): validate 'truncate_error' setting & related attributes ... ok
935 ldap_md5_crypt (builtin backend): Handler.using() -- default_salt_size ... ok
936 ldap_md5_crypt (os_crypt backend): validate required attributes ... ok
937 ldap_md5_crypt (os_crypt backend): test basic config-string workflow ... ok
938 ldap_md5_crypt (os_crypt backend): test basic using() workflow ... ok
939 ldap_md5_crypt (os_crypt backend): test basic hash-string workflow. ... ok
940 ldap_md5_crypt (os_crypt backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
941 ldap_md5_crypt (os_crypt backend): test hashes can be unicode or bytes ... ok
942 ldap_md5_crypt (os_crypt backend): test multi-backend support ... ok
943 ldap_md5_crypt (os_crypt backend): validate optional salt attributes ... ok
944 ldap_md5_crypt (os_crypt backend): test hash() / genconfig() creates new salt each time ... ok
945 ldap_md5_crypt (os_crypt backend): test hash() / genconfig() honors min_salt_size ... ok
946 ldap_md5_crypt (os_crypt backend): test hash() / genconfig() honors max_salt_size ... ok
947 ldap_md5_crypt (os_crypt backend): test hash() honors salt_chars ... ok
948 ldap_md5_crypt (os_crypt backend): test non-string salt values ... ok
949 ldap_md5_crypt (os_crypt backend): validate optional rounds attributes ... SKIP: handler lacks rounds attributes
950 ldap_md5_crypt (os_crypt backend): test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
951 ldap_md5_crypt (os_crypt backend): test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
952 ldap_md5_crypt (os_crypt backend): validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
953 ldap_md5_crypt (os_crypt backend): test password case sensitivity ... ok
954 ldap_md5_crypt (os_crypt backend): test non-string passwords are rejected ... ok
955 ldap_md5_crypt (os_crypt backend): test MAX_PASSWORD_SIZE is enforced ... ok
956 ldap_md5_crypt (os_crypt backend): test forbidden characters not allowed in password ... ok
957 ldap_md5_crypt (os_crypt backend): test known hashes ... ok
958 ldap_md5_crypt (os_crypt backend): parsehash() ... SKIP: parsehash() not implemented
959 ldap_md5_crypt (os_crypt backend): test known alternate hashes ... SKIP: no alternate hashes provided
960 ldap_md5_crypt (os_crypt backend): parsehash() -- known outputs ... SKIP: parsehash() not implemented
961 ldap_md5_crypt (os_crypt backend): test known config strings ... SKIP: no config strings provided
962 ldap_md5_crypt (os_crypt backend): test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
963 ldap_md5_crypt (os_crypt backend): test known identifiable-but-malformed strings ... ok
964 ldap_md5_crypt (os_crypt backend): test known foreign hashes ... ok
965 ldap_md5_crypt (os_crypt backend): test non-string hashes are rejected ... ok
966 ldap_md5_crypt (os_crypt backend): fuzz testing -- random passwords and options ... ok
967 ldap_md5_crypt (os_crypt backend): multithreaded fuzz testing -- random password & options using multiple threads ... ok
968 ldap_md5_crypt (os_crypt backend): test with faulty crypt() ... ok
969 ldap_md5_crypt (os_crypt backend): test per-call crypt() fallback ... ok
970 ldap_md5_crypt (os_crypt backend): test platform-specific crypt() support detection ... SKIP: not applicable to wrappers
971 ldap_md5_crypt (os_crypt backend): .disable() / .enable() methods ... SKIP: not applicable
972 ldap_md5_crypt (os_crypt backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
973 ldap_md5_crypt (os_crypt backend): HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
974 ldap_md5_crypt (os_crypt backend): HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
975 ldap_md5_crypt (os_crypt backend): HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
976 ldap_md5_crypt (os_crypt backend): HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
977 ldap_md5_crypt (os_crypt backend): HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
978 ldap_md5_crypt (os_crypt backend): HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
979 ldap_md5_crypt (os_crypt backend): HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
980 ldap_md5_crypt (os_crypt backend): HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
981 ldap_md5_crypt (os_crypt backend): test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
982 ldap_md5_crypt (os_crypt backend): test no password size limits enforced (if truncate_size=None) ... ok
983 ldap_md5_crypt (os_crypt backend): validate 'truncate_error' setting & related attributes ... ok
984 ldap_md5_crypt (os_crypt backend): Handler.using() -- default_salt_size ... ok
985 ldap_md5: validate required attributes ... ok
986 ldap_md5: test basic config-string workflow ... ok
987 ldap_md5: test basic using() workflow ... ok
988 ldap_md5: test basic hash-string workflow. ... ok
989 ldap_md5: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
990 ldap_md5: test hashes can be unicode or bytes ... ok
991 ldap_md5: test multi-backend support ... SKIP: handler only has one backend
992 ldap_md5: validate optional salt attributes ... SKIP: handler doesn't have salt
993 ldap_md5: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
994 ldap_md5: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
995 ldap_md5: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
996 ldap_md5: test hash() honors salt_chars ... SKIP: handler doesn't have salt
997 ldap_md5: test non-string salt values ... SKIP: handler doesn't have salt
998 ldap_md5: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
999 ldap_md5: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
1000 ldap_md5: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
1001 ldap_md5: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
1002 ldap_md5: test password case sensitivity ... ok
1003 ldap_md5: test non-string passwords are rejected ... ok
1004 ldap_md5: test MAX_PASSWORD_SIZE is enforced ... ok
1005 ldap_md5: test forbidden characters not allowed in password ... SKIP: none listed
1006 ldap_md5: test known hashes ... ok
1007 ldap_md5: parsehash() ... ok
1008 ldap_md5: test known alternate hashes ... SKIP: no alternate hashes provided
1009 ldap_md5: parsehash() -- known outputs ... SKIP: no samples present
1010 ldap_md5: test known config strings ... SKIP: hash has no settings
1011 ldap_md5: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
1012 ldap_md5: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
1013 ldap_md5: test known foreign hashes ... ok
1014 ldap_md5: test non-string hashes are rejected ... ok
1015 ldap_md5: fuzz testing -- random passwords and options ... ok
1016 ldap_md5: multithreaded fuzz testing -- random password & options using multiple threads ... ok
1017 ldap_md5: .disable() / .enable() methods ... SKIP: not applicable
1018 ldap_md5: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
1019 ldap_md5: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
1020 ldap_md5: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
1021 ldap_md5: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
1022 ldap_md5: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
1023 ldap_md5: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
1024 ldap_md5: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
1025 ldap_md5: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
1026 ldap_md5: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
1027 ldap_md5: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
1028 ldap_md5: test no password size limits enforced (if truncate_size=None) ... ok
1029 ldap_md5: validate 'truncate_error' setting & related attributes ... ok
1030 ldap_md5: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
1031 ldap_plaintext: validate required attributes ... ok
1032 ldap_plaintext: test basic config-string workflow ... ok
1033 ldap_plaintext: test basic using() workflow ... ok
1034 ldap_plaintext: test basic hash-string workflow. ... ok
1035 ldap_plaintext: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
1036 ldap_plaintext: test hashes can be unicode or bytes ... ok
1037 ldap_plaintext: test multi-backend support ... SKIP: handler only has one backend
1038 ldap_plaintext: validate optional salt attributes ... SKIP: handler doesn't have salt
1039 ldap_plaintext: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
1040 ldap_plaintext: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
1041 ldap_plaintext: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
1042 ldap_plaintext: test hash() honors salt_chars ... SKIP: handler doesn't have salt
1043 ldap_plaintext: test non-string salt values ... SKIP: handler doesn't have salt
1044 ldap_plaintext: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
1045 ldap_plaintext: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
1046 ldap_plaintext: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
1047 ldap_plaintext: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
1048 ldap_plaintext: test password case sensitivity ... ok
1049 ldap_plaintext: test non-string passwords are rejected ... ok
1050 ldap_plaintext: test MAX_PASSWORD_SIZE is enforced ... ok
1051 ldap_plaintext: test forbidden characters not allowed in password ... SKIP: none listed
1052 ldap_plaintext: test known hashes ... ok
1053 ldap_plaintext: parsehash() ... SKIP: parsehash() not implemented
1054 ldap_plaintext: test known alternate hashes ... SKIP: no alternate hashes provided
1055 ldap_plaintext: parsehash() -- known outputs ... SKIP: parsehash() not implemented
1056 ldap_plaintext: test known config strings ... SKIP: hash has no settings
1057 ldap_plaintext: test known unidentifiably-mangled strings ... ok
1058 ldap_plaintext: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
1059 ldap_plaintext: test known foreign hashes ... ok
1060 ldap_plaintext: test non-string hashes are rejected ... ok
1061 ldap_plaintext: fuzz testing -- random passwords and options ... ok
1062 ldap_plaintext: multithreaded fuzz testing -- random password & options using multiple threads ... ok
1063 ldap_plaintext: .disable() / .enable() methods ... SKIP: not applicable
1064 ldap_plaintext: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
1065 ldap_plaintext: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
1066 ldap_plaintext: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
1067 ldap_plaintext: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
1068 ldap_plaintext: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
1069 ldap_plaintext: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
1070 ldap_plaintext: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
1071 ldap_plaintext: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
1072 ldap_plaintext: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
1073 ldap_plaintext: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
1074 ldap_plaintext: test no password size limits enforced (if truncate_size=None) ... ok
1075 ldap_plaintext: validate 'truncate_error' setting & related attributes ... ok
1076 ldap_plaintext: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
1077 ldap_salted_md5: validate required attributes ... ok
1078 ldap_salted_md5: test basic config-string workflow ... ok
1079 ldap_salted_md5: test basic using() workflow ... ok
1080 ldap_salted_md5: test basic hash-string workflow. ... ok
1081 ldap_salted_md5: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
1082 ldap_salted_md5: test hashes can be unicode or bytes ... ok
1083 ldap_salted_md5: test multi-backend support ... SKIP: handler only has one backend
1084 ldap_salted_md5: validate optional salt attributes ... ok
1085 ldap_salted_md5: test hash() / genconfig() creates new salt each time ... ok
1086 ldap_salted_md5: test hash() / genconfig() honors min_salt_size ... ok
1087 ldap_salted_md5: test hash() / genconfig() honors max_salt_size ... ok
1088 ldap_salted_md5: test hash() honors salt_chars ... ok
1089 ldap_salted_md5: test non-string salt values ... ok
1090 ldap_salted_md5: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
1091 ldap_salted_md5: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
1092 ldap_salted_md5: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
1093 ldap_salted_md5: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
1094 ldap_salted_md5: test password case sensitivity ... ok
1095 ldap_salted_md5: test non-string passwords are rejected ... ok
1096 ldap_salted_md5: test MAX_PASSWORD_SIZE is enforced ... ok
1097 ldap_salted_md5: test forbidden characters not allowed in password ... SKIP: none listed
1098 ldap_salted_md5: test known hashes ... ok
1099 ldap_salted_md5: parsehash() ... ok
1100 ldap_salted_md5: test known alternate hashes ... SKIP: no alternate hashes provided
1101 ldap_salted_md5: parsehash() -- known outputs ... SKIP: no samples present
1102 ldap_salted_md5: test known config strings ... SKIP: no config strings provided
1103 ldap_salted_md5: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
1104 ldap_salted_md5: test known identifiable-but-malformed strings ... ok
1105 ldap_salted_md5: test known foreign hashes ... ok
1106 ldap_salted_md5: test non-string hashes are rejected ... ok
1107 ldap_salted_md5: fuzz testing -- random passwords and options ... ok
1108 ldap_salted_md5: multithreaded fuzz testing -- random password & options using multiple threads ... ok
1109 ldap_salted_md5: .disable() / .enable() methods ... SKIP: not applicable
1110 ldap_salted_md5: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
1111 ldap_salted_md5: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
1112 ldap_salted_md5: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
1113 ldap_salted_md5: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
1114 ldap_salted_md5: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
1115 ldap_salted_md5: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
1116 ldap_salted_md5: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
1117 ldap_salted_md5: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
1118 ldap_salted_md5: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
1119 ldap_salted_md5: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
1120 ldap_salted_md5: test no password size limits enforced (if truncate_size=None) ... ok
1121 ldap_salted_md5: validate 'truncate_error' setting & related attributes ... ok
1122 ldap_salted_md5: Handler.using() -- default_salt_size ... ok
1123 ldap_salted_sha1: validate required attributes ... ok
1124 ldap_salted_sha1: test basic config-string workflow ... ok
1125 ldap_salted_sha1: test basic using() workflow ... ok
1126 ldap_salted_sha1: test basic hash-string workflow. ... ok
1127 ldap_salted_sha1: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
1128 ldap_salted_sha1: test hashes can be unicode or bytes ... ok
1129 ldap_salted_sha1: test multi-backend support ... SKIP: handler only has one backend
1130 ldap_salted_sha1: validate optional salt attributes ... ok
1131 ldap_salted_sha1: test hash() / genconfig() creates new salt each time ... ok
1132 ldap_salted_sha1: test hash() / genconfig() honors min_salt_size ... ok
1133 ldap_salted_sha1: test hash() / genconfig() honors max_salt_size ... ok
1134 ldap_salted_sha1: test hash() honors salt_chars ... ok
1135 ldap_salted_sha1: test non-string salt values ... ok
1136 ldap_salted_sha1: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
1137 ldap_salted_sha1: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
1138 ldap_salted_sha1: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
1139 ldap_salted_sha1: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
1140 ldap_salted_sha1: test password case sensitivity ... ok
1141 ldap_salted_sha1: test non-string passwords are rejected ... ok
1142 ldap_salted_sha1: test MAX_PASSWORD_SIZE is enforced ... ok
1143 ldap_salted_sha1: test forbidden characters not allowed in password ... SKIP: none listed
1144 ldap_salted_sha1: test known hashes ... ok
1145 ldap_salted_sha1: parsehash() ... ok
1146 ldap_salted_sha1: test known alternate hashes ... SKIP: no alternate hashes provided
1147 ldap_salted_sha1: parsehash() -- known outputs ... SKIP: no samples present
1148 ldap_salted_sha1: test known config strings ... SKIP: no config strings provided
1149 ldap_salted_sha1: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
1150 ldap_salted_sha1: test known identifiable-but-malformed strings ... ok
1151 ldap_salted_sha1: test known foreign hashes ... ok
1152 ldap_salted_sha1: test non-string hashes are rejected ... ok
1153 ldap_salted_sha1: fuzz testing -- random passwords and options ... ok
1154 ldap_salted_sha1: multithreaded fuzz testing -- random password & options using multiple threads ... ok
1155 ldap_salted_sha1: .disable() / .enable() methods ... SKIP: not applicable
1156 ldap_salted_sha1: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
1157 ldap_salted_sha1: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
1158 ldap_salted_sha1: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
1159 ldap_salted_sha1: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
1160 ldap_salted_sha1: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
1161 ldap_salted_sha1: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
1162 ldap_salted_sha1: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
1163 ldap_salted_sha1: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
1164 ldap_salted_sha1: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
1165 ldap_salted_sha1: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
1166 ldap_salted_sha1: test no password size limits enforced (if truncate_size=None) ... ok
1167 ldap_salted_sha1: validate 'truncate_error' setting & related attributes ... ok
1168 ldap_salted_sha1: Handler.using() -- default_salt_size ... ok
1169 ldap_salted_sha256: validate required attributes ... ok
1170 ldap_salted_sha256: test basic config-string workflow ... ok
1171 ldap_salted_sha256: test basic using() workflow ... ok
1172 ldap_salted_sha256: test basic hash-string workflow. ... ok
1173 ldap_salted_sha256: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
1174 ldap_salted_sha256: test hashes can be unicode or bytes ... ok
1175 ldap_salted_sha256: test multi-backend support ... SKIP: handler only has one backend
1176 ldap_salted_sha256: validate optional salt attributes ... ok
1177 ldap_salted_sha256: test hash() / genconfig() creates new salt each time ... ok
1178 ldap_salted_sha256: test hash() / genconfig() honors min_salt_size ... ok
1179 ldap_salted_sha256: test hash() / genconfig() honors max_salt_size ... ok
1180 ldap_salted_sha256: test hash() honors salt_chars ... ok
1181 ldap_salted_sha256: test non-string salt values ... ok
1182 ldap_salted_sha256: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
1183 ldap_salted_sha256: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
1184 ldap_salted_sha256: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
1185 ldap_salted_sha256: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
1186 ldap_salted_sha256: test password case sensitivity ... ok
1187 ldap_salted_sha256: test non-string passwords are rejected ... ok
1188 ldap_salted_sha256: test MAX_PASSWORD_SIZE is enforced ... ok
1189 ldap_salted_sha256: test forbidden characters not allowed in password ... SKIP: none listed
1190 ldap_salted_sha256: test known hashes ... ok
1191 ldap_salted_sha256: parsehash() ... ok
1192 ldap_salted_sha256: test known alternate hashes ... SKIP: no alternate hashes provided
1193 ldap_salted_sha256: parsehash() -- known outputs ... SKIP: no samples present
1194 ldap_salted_sha256: test known config strings ... SKIP: no config strings provided
1195 ldap_salted_sha256: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
1196 ldap_salted_sha256: test known identifiable-but-malformed strings ... ok
1197 ldap_salted_sha256: test known foreign hashes ... ok
1198 ldap_salted_sha256: test non-string hashes are rejected ... ok
1199 ldap_salted_sha256: fuzz testing -- random passwords and options ... ok
1200 ldap_salted_sha256: multithreaded fuzz testing -- random password & options using multiple threads ... ok
1201 ldap_salted_sha256: .disable() / .enable() methods ... SKIP: not applicable
1202 ldap_salted_sha256: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
1203 ldap_salted_sha256: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
1204 ldap_salted_sha256: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
1205 ldap_salted_sha256: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
1206 ldap_salted_sha256: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
1207 ldap_salted_sha256: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
1208 ldap_salted_sha256: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
1209 ldap_salted_sha256: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
1210 ldap_salted_sha256: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
1211 ldap_salted_sha256: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
1212 ldap_salted_sha256: test no password size limits enforced (if truncate_size=None) ... ok
1213 ldap_salted_sha256: validate 'truncate_error' setting & related attributes ... ok
1214 ldap_salted_sha256: Handler.using() -- default_salt_size ... ok
1215 ldap_salted_sha512: validate required attributes ... ok
1216 ldap_salted_sha512: test basic config-string workflow ... ok
1217 ldap_salted_sha512: test basic using() workflow ... ok
1218 ldap_salted_sha512: test basic hash-string workflow. ... ok
1219 ldap_salted_sha512: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
1220 ldap_salted_sha512: test hashes can be unicode or bytes ... ok
1221 ldap_salted_sha512: test multi-backend support ... SKIP: handler only has one backend
1222 ldap_salted_sha512: validate optional salt attributes ... ok
1223 ldap_salted_sha512: test hash() / genconfig() creates new salt each time ... ok
1224 ldap_salted_sha512: test hash() / genconfig() honors min_salt_size ... ok
1225 ldap_salted_sha512: test hash() / genconfig() honors max_salt_size ... ok
1226 ldap_salted_sha512: test hash() honors salt_chars ... ok
1227 ldap_salted_sha512: test non-string salt values ... ok
1228 ldap_salted_sha512: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
1229 ldap_salted_sha512: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
1230 ldap_salted_sha512: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
1231 ldap_salted_sha512: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
1232 ldap_salted_sha512: test password case sensitivity ... ok
1233 ldap_salted_sha512: test non-string passwords are rejected ... ok
1234 ldap_salted_sha512: test MAX_PASSWORD_SIZE is enforced ... ok
1235 ldap_salted_sha512: test forbidden characters not allowed in password ... SKIP: none listed
1236 ldap_salted_sha512: test known hashes ... ok
1237 ldap_salted_sha512: parsehash() ... ok
1238 ldap_salted_sha512: test known alternate hashes ... SKIP: no alternate hashes provided
1239 ldap_salted_sha512: parsehash() -- known outputs ... SKIP: no samples present
1240 ldap_salted_sha512: test known config strings ... SKIP: no config strings provided
1241 ldap_salted_sha512: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
1242 ldap_salted_sha512: test known identifiable-but-malformed strings ... ok
1243 ldap_salted_sha512: test known foreign hashes ... ok
1244 ldap_salted_sha512: test non-string hashes are rejected ... ok
1245 ldap_salted_sha512: fuzz testing -- random passwords and options ... ok
1246 ldap_salted_sha512: multithreaded fuzz testing -- random password & options using multiple threads ... ok
1247 ldap_salted_sha512: .disable() / .enable() methods ... SKIP: not applicable
1248 ldap_salted_sha512: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
1249 ldap_salted_sha512: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
1250 ldap_salted_sha512: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
1251 ldap_salted_sha512: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
1252 ldap_salted_sha512: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
1253 ldap_salted_sha512: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
1254 ldap_salted_sha512: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
1255 ldap_salted_sha512: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
1256 ldap_salted_sha512: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
1257 ldap_salted_sha512: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
1258 ldap_salted_sha512: test no password size limits enforced (if truncate_size=None) ... ok
1259 ldap_salted_sha512: validate 'truncate_error' setting & related attributes ... ok
1260 ldap_salted_sha512: Handler.using() -- default_salt_size ... ok
1261 ldap_sha1_crypt (os_crypt backend): validate required attributes ... SKIP: backend not available
1262 ldap_sha1_crypt (os_crypt backend): test basic config-string workflow ... SKIP: backend not available
1263 ldap_sha1_crypt (os_crypt backend): test basic using() workflow ... SKIP: backend not available
1264 ldap_sha1_crypt (os_crypt backend): test basic hash-string workflow. ... SKIP: backend not available
1265 ldap_sha1_crypt (os_crypt backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... SKIP: backend not available
1266 ldap_sha1_crypt (os_crypt backend): test hashes can be unicode or bytes ... SKIP: backend not available
1267 ldap_sha1_crypt (os_crypt backend): test multi-backend support ... SKIP: backend not available
1268 ldap_sha1_crypt (os_crypt backend): validate optional salt attributes ... SKIP: backend not available
1269 ldap_sha1_crypt (os_crypt backend): test hash() / genconfig() creates new salt each time ... SKIP: backend not available
1270 ldap_sha1_crypt (os_crypt backend): test hash() / genconfig() honors min_salt_size ... SKIP: backend not available
1271 ldap_sha1_crypt (os_crypt backend): test hash() / genconfig() honors max_salt_size ... SKIP: backend not available
1272 ldap_sha1_crypt (os_crypt backend): test hash() honors salt_chars ... SKIP: backend not available
1273 ldap_sha1_crypt (os_crypt backend): test non-string salt values ... SKIP: backend not available
1274 ldap_sha1_crypt (os_crypt backend): validate optional rounds attributes ... SKIP: backend not available
1275 ldap_sha1_crypt (os_crypt backend): test hash() / genconfig() honors min_rounds ... SKIP: backend not available
1276 ldap_sha1_crypt (os_crypt backend): test hash() / genconfig() honors max_rounds ... SKIP: backend not available
1277 ldap_sha1_crypt (os_crypt backend): validate HasManyIdents configuration ... SKIP: backend not available
1278 ldap_sha1_crypt (os_crypt backend): test password case sensitivity ... SKIP: backend not available
1279 ldap_sha1_crypt (os_crypt backend): test non-string passwords are rejected ... SKIP: backend not available
1280 ldap_sha1_crypt (os_crypt backend): test MAX_PASSWORD_SIZE is enforced ... SKIP: backend not available
1281 ldap_sha1_crypt (os_crypt backend): test forbidden characters not allowed in password ... SKIP: backend not available
1282 ldap_sha1_crypt (os_crypt backend): test known hashes ... SKIP: backend not available
1283 ldap_sha1_crypt (os_crypt backend): parsehash() ... SKIP: backend not available
1284 ldap_sha1_crypt (os_crypt backend): test known alternate hashes ... SKIP: backend not available
1285 ldap_sha1_crypt (os_crypt backend): parsehash() -- known outputs ... SKIP: backend not available
1286 ldap_sha1_crypt (os_crypt backend): test known config strings ... SKIP: backend not available
1287 ldap_sha1_crypt (os_crypt backend): test known unidentifiably-mangled strings ... SKIP: backend not available
1288 ldap_sha1_crypt (os_crypt backend): test known identifiable-but-malformed strings ... SKIP: backend not available
1289 ldap_sha1_crypt (os_crypt backend): test known foreign hashes ... SKIP: backend not available
1290 ldap_sha1_crypt (os_crypt backend): test non-string hashes are rejected ... SKIP: backend not available
1291 ldap_sha1_crypt (os_crypt backend): test_77_fuzz_input (passlib.tests.test_handlers.ldap_sha1_crypt_os_crypt_test) ... SKIP: backend not available
1292 ldap_sha1_crypt (os_crypt backend): multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: backend not available
1293 ldap_sha1_crypt (os_crypt backend): test with faulty crypt() ... SKIP: backend not available
1294 ldap_sha1_crypt (os_crypt backend): test per-call crypt() fallback ... SKIP: backend not available
1295 ldap_sha1_crypt (os_crypt backend): test platform-specific crypt() support detection ... SKIP: not applicable to wrappers
1296 ldap_sha1_crypt (os_crypt backend): .disable() / .enable() methods ... SKIP: backend not available
1297 ldap_sha1_crypt (os_crypt backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: backend not available
1298 ldap_sha1_crypt (os_crypt backend): HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: backend not available
1299 ldap_sha1_crypt (os_crypt backend): HasRounds.using() -- desired_rounds + needs_update() ... SKIP: backend not available
1300 ldap_sha1_crypt (os_crypt backend): HasRounds.using() -- sanity check test harness ... SKIP: backend not available
1301 ldap_sha1_crypt (os_crypt backend): HasRounds.using() -- default_rounds ... SKIP: backend not available
1302 ldap_sha1_crypt (os_crypt backend): HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: backend not available
1303 ldap_sha1_crypt (os_crypt backend): HasRounds.using() -- rounds ... SKIP: backend not available
1304 ldap_sha1_crypt (os_crypt backend): HasRounds.using() -- vary_rounds generation ... SKIP: backend not available
1305 ldap_sha1_crypt (os_crypt backend): HasRounds.using() -- vary_rounds parsing ... SKIP: backend not available
1306 ldap_sha1_crypt (os_crypt backend): test password size limits raise truncate_error (if appropriate) ... SKIP: backend not available
1307 ldap_sha1_crypt (os_crypt backend): test no password size limits enforced (if truncate_size=None) ... SKIP: backend not available
1308 ldap_sha1_crypt (os_crypt backend): validate 'truncate_error' setting & related attributes ... SKIP: backend not available
1309 ldap_sha1_crypt (os_crypt backend): Handler.using() -- default_salt_size ... SKIP: backend not available
1310 ldap_sha1: validate required attributes ... ok
1311 ldap_sha1: test basic config-string workflow ... ok
1312 ldap_sha1: test basic using() workflow ... ok
1313 ldap_sha1: test basic hash-string workflow. ... ok
1314 ldap_sha1: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
1315 ldap_sha1: test hashes can be unicode or bytes ... ok
1316 ldap_sha1: test multi-backend support ... SKIP: handler only has one backend
1317 ldap_sha1: validate optional salt attributes ... SKIP: handler doesn't have salt
1318 ldap_sha1: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
1319 ldap_sha1: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
1320 ldap_sha1: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
1321 ldap_sha1: test hash() honors salt_chars ... SKIP: handler doesn't have salt
1322 ldap_sha1: test non-string salt values ... SKIP: handler doesn't have salt
1323 ldap_sha1: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
1324 ldap_sha1: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
1325 ldap_sha1: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
1326 ldap_sha1: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
1327 ldap_sha1: test password case sensitivity ... ok
1328 ldap_sha1: test non-string passwords are rejected ... ok
1329 ldap_sha1: test MAX_PASSWORD_SIZE is enforced ... ok
1330 ldap_sha1: test forbidden characters not allowed in password ... SKIP: none listed
1331 ldap_sha1: test known hashes ... ok
1332 ldap_sha1: parsehash() ... ok
1333 ldap_sha1: test known alternate hashes ... SKIP: no alternate hashes provided
1334 ldap_sha1: parsehash() -- known outputs ... SKIP: no samples present
1335 ldap_sha1: test known config strings ... SKIP: hash has no settings
1336 ldap_sha1: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
1337 ldap_sha1: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
1338 ldap_sha1: test known foreign hashes ... ok
1339 ldap_sha1: test non-string hashes are rejected ... ok
1340 ldap_sha1: fuzz testing -- random passwords and options ... ok
1341 ldap_sha1: multithreaded fuzz testing -- random password & options using multiple threads ... ok
1342 ldap_sha1: .disable() / .enable() methods ... SKIP: not applicable
1343 ldap_sha1: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
1344 ldap_sha1: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
1345 ldap_sha1: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
1346 ldap_sha1: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
1347 ldap_sha1: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
1348 ldap_sha1: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
1349 ldap_sha1: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
1350 ldap_sha1: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
1351 ldap_sha1: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
1352 ldap_sha1: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
1353 ldap_sha1: test no password size limits enforced (if truncate_size=None) ... ok
1354 ldap_sha1: validate 'truncate_error' setting & related attributes ... ok
1355 ldap_sha1: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
1356 lmhash: validate required attributes ... ok
1357 lmhash: test basic config-string workflow ... ok
1358 lmhash: test basic using() workflow ... ok
1359 lmhash: test basic hash-string workflow. ... ok
1360 lmhash: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
1361 lmhash: test hashes can be unicode or bytes ... ok
1362 lmhash: test multi-backend support ... SKIP: handler only has one backend
1363 lmhash: validate optional salt attributes ... SKIP: handler doesn't have salt
1364 lmhash: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
1365 lmhash: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
1366 lmhash: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
1367 lmhash: test hash() honors salt_chars ... SKIP: handler doesn't have salt
1368 lmhash: test non-string salt values ... SKIP: handler doesn't have salt
1369 lmhash: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
1370 lmhash: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
1371 lmhash: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
1372 lmhash: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
1373 lmhash: test password case sensitivity ... ok
1374 lmhash: test non-string passwords are rejected ... ok
1375 lmhash: test MAX_PASSWORD_SIZE is enforced ... ok
1376 lmhash: test forbidden characters not allowed in password ... SKIP: none listed
1377 lmhash: test known hashes ... ok
1378 lmhash: parsehash() ... ok
1379 lmhash: test known alternate hashes ... SKIP: no alternate hashes provided
1380 lmhash: parsehash() -- known outputs ... SKIP: no samples present
1381 lmhash: test known config strings ... SKIP: no config strings provided
1382 lmhash: test known unidentifiably-mangled strings ... ok
1383 lmhash: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
1384 lmhash: test known foreign hashes ... ok
1385 lmhash: test non-string hashes are rejected ... ok
1386 lmhash: fuzz testing -- random passwords and options ... ok
1387 lmhash: multithreaded fuzz testing -- random password & options using multiple threads ... ok
1388 lmhash: test lmhash.raw() method ... ok
1389 lmhash: .disable() / .enable() methods ... SKIP: not applicable
1390 lmhash: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
1391 lmhash: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
1392 lmhash: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
1393 lmhash: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
1394 lmhash: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
1395 lmhash: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
1396 lmhash: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
1397 lmhash: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
1398 lmhash: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
1399 lmhash: test password size limits raise truncate_error (if appropriate) ... ok
1400 lmhash: test no password size limits enforced (if truncate_size=None) ... SKIP: truncate_size is set
1401 lmhash: validate 'truncate_error' setting & related attributes ... ok
1402 lmhash: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
1403 md5_crypt (builtin backend): validate required attributes ... ok
1404 md5_crypt (builtin backend): test basic config-string workflow ... ok
1405 md5_crypt (builtin backend): test basic using() workflow ... ok
1406 md5_crypt (builtin backend): test basic hash-string workflow. ... ok
1407 md5_crypt (builtin backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
1408 md5_crypt (builtin backend): test hashes can be unicode or bytes ... ok
1409 md5_crypt (builtin backend): test multi-backend support ... ok
1410 md5_crypt (builtin backend): validate optional salt attributes ... ok
1411 md5_crypt (builtin backend): test hash() / genconfig() creates new salt each time ... ok
1412 md5_crypt (builtin backend): test hash() / genconfig() honors min_salt_size ... ok
1413 md5_crypt (builtin backend): test hash() / genconfig() honors max_salt_size ... ok
1414 md5_crypt (builtin backend): test hash() honors salt_chars ... ok
1415 md5_crypt (builtin backend): test non-string salt values ... ok
1416 md5_crypt (builtin backend): validate optional rounds attributes ... SKIP: handler lacks rounds attributes
1417 md5_crypt (builtin backend): test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
1418 md5_crypt (builtin backend): test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
1419 md5_crypt (builtin backend): validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
1420 md5_crypt (builtin backend): test password case sensitivity ... ok
1421 md5_crypt (builtin backend): test non-string passwords are rejected ... ok
1422 md5_crypt (builtin backend): test MAX_PASSWORD_SIZE is enforced ... ok
1423 md5_crypt (builtin backend): test forbidden characters not allowed in password ... ok
1424 md5_crypt (builtin backend): test known hashes ... ok
1425 md5_crypt (builtin backend): parsehash() ... ok
1426 md5_crypt (builtin backend): test known alternate hashes ... SKIP: no alternate hashes provided
1427 md5_crypt (builtin backend): parsehash() -- known outputs ... SKIP: no samples present
1428 md5_crypt (builtin backend): test known config strings ... SKIP: no config strings provided
1429 md5_crypt (builtin backend): test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
1430 md5_crypt (builtin backend): test known identifiable-but-malformed strings ... ok
1431 md5_crypt (builtin backend): test known foreign hashes ... ok
1432 md5_crypt (builtin backend): test non-string hashes are rejected ... ok
1433 md5_crypt (builtin backend): fuzz testing -- random passwords and options ... ok
1434 md5_crypt (builtin backend): multithreaded fuzz testing -- random password & options using multiple threads ... ok
1435 md5_crypt (builtin backend): .disable() / .enable() methods ... SKIP: not applicable
1436 md5_crypt (builtin backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
1437 md5_crypt (builtin backend): HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
1438 md5_crypt (builtin backend): HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
1439 md5_crypt (builtin backend): HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
1440 md5_crypt (builtin backend): HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
1441 md5_crypt (builtin backend): HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
1442 md5_crypt (builtin backend): HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
1443 md5_crypt (builtin backend): HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
1444 md5_crypt (builtin backend): HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
1445 md5_crypt (builtin backend): test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
1446 md5_crypt (builtin backend): test no password size limits enforced (if truncate_size=None) ... ok
1447 md5_crypt (builtin backend): validate 'truncate_error' setting & related attributes ... ok
1448 md5_crypt (builtin backend): Handler.using() -- default_salt_size ... ok
1449 md5_crypt (os_crypt backend): validate required attributes ... ok
1450 md5_crypt (os_crypt backend): test basic config-string workflow ... ok
1451 md5_crypt (os_crypt backend): test basic using() workflow ... ok
1452 md5_crypt (os_crypt backend): test basic hash-string workflow. ... ok
1453 md5_crypt (os_crypt backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
1454 md5_crypt (os_crypt backend): test hashes can be unicode or bytes ... ok
1455 md5_crypt (os_crypt backend): test multi-backend support ... ok
1456 md5_crypt (os_crypt backend): validate optional salt attributes ... ok
1457 md5_crypt (os_crypt backend): test hash() / genconfig() creates new salt each time ... ok
1458 md5_crypt (os_crypt backend): test hash() / genconfig() honors min_salt_size ... ok
1459 md5_crypt (os_crypt backend): test hash() / genconfig() honors max_salt_size ... ok
1460 md5_crypt (os_crypt backend): test hash() honors salt_chars ... ok
1461 md5_crypt (os_crypt backend): test non-string salt values ... ok
1462 md5_crypt (os_crypt backend): validate optional rounds attributes ... SKIP: handler lacks rounds attributes
1463 md5_crypt (os_crypt backend): test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
1464 md5_crypt (os_crypt backend): test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
1465 md5_crypt (os_crypt backend): validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
1466 md5_crypt (os_crypt backend): test password case sensitivity ... ok
1467 md5_crypt (os_crypt backend): test non-string passwords are rejected ... ok
1468 md5_crypt (os_crypt backend): test MAX_PASSWORD_SIZE is enforced ... ok
1469 md5_crypt (os_crypt backend): test forbidden characters not allowed in password ... ok
1470 md5_crypt (os_crypt backend): test known hashes ... ok
1471 md5_crypt (os_crypt backend): parsehash() ... ok
1472 md5_crypt (os_crypt backend): test known alternate hashes ... SKIP: no alternate hashes provided
1473 md5_crypt (os_crypt backend): parsehash() -- known outputs ... SKIP: no samples present
1474 md5_crypt (os_crypt backend): test known config strings ... SKIP: no config strings provided
1475 md5_crypt (os_crypt backend): test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
1476 md5_crypt (os_crypt backend): test known identifiable-but-malformed strings ... ok
1477 md5_crypt (os_crypt backend): test known foreign hashes ... ok
1478 md5_crypt (os_crypt backend): test non-string hashes are rejected ... ok
1479 md5_crypt (os_crypt backend): fuzz testing -- random passwords and options ... ok
1480 md5_crypt (os_crypt backend): multithreaded fuzz testing -- random password & options using multiple threads ... ok
1481 md5_crypt (os_crypt backend): test with faulty crypt() ... ok
1482 md5_crypt (os_crypt backend): test per-call crypt() fallback ... ok
1483 md5_crypt (os_crypt backend): test platform-specific crypt() support detection ... SKIP: no data for 'sunos5' platform (current host support = True)
1484 md5_crypt (os_crypt backend): .disable() / .enable() methods ... SKIP: not applicable
1485 md5_crypt (os_crypt backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
1486 md5_crypt (os_crypt backend): HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
1487 md5_crypt (os_crypt backend): HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
1488 md5_crypt (os_crypt backend): HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
1489 md5_crypt (os_crypt backend): HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
1490 md5_crypt (os_crypt backend): HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
1491 md5_crypt (os_crypt backend): HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
1492 md5_crypt (os_crypt backend): HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
1493 md5_crypt (os_crypt backend): HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
1494 md5_crypt (os_crypt backend): test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
1495 md5_crypt (os_crypt backend): test no password size limits enforced (if truncate_size=None) ... ok
1496 md5_crypt (os_crypt backend): validate 'truncate_error' setting & related attributes ... ok
1497 md5_crypt (os_crypt backend): Handler.using() -- default_salt_size ... ok
1498 msdcc2: validate required attributes ... ok
1499 msdcc2: test basic config-string workflow ... ok
1500 msdcc2: test basic using() workflow ... ok
1501 msdcc2: test basic hash-string workflow. ... ok
1502 msdcc2: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
1503 msdcc2: test hashes can be unicode or bytes ... ok
1504 msdcc2: test multi-backend support ... SKIP: handler only has one backend
1505 msdcc2: validate optional salt attributes ... SKIP: handler doesn't have salt
1506 msdcc2: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
1507 msdcc2: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
1508 msdcc2: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
1509 msdcc2: test hash() honors salt_chars ... SKIP: handler doesn't have salt
1510 msdcc2: test non-string salt values ... SKIP: handler doesn't have salt
1511 msdcc2: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
1512 msdcc2: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
1513 msdcc2: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
1514 msdcc2: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
1515 msdcc2: test password case sensitivity ... ok
1516 msdcc2: test non-string passwords are rejected ... ok
1517 msdcc2: test MAX_PASSWORD_SIZE is enforced ... ok
1518 msdcc2: test forbidden characters not allowed in password ... SKIP: none listed
1519 msdcc2: test known hashes ... ok
1520 msdcc2: parsehash() ... ok
1521 msdcc2: test known alternate hashes ... SKIP: no alternate hashes provided
1522 msdcc2: parsehash() -- known outputs ... SKIP: no samples present
1523 msdcc2: test known config strings ... SKIP: hash has no settings
1524 msdcc2: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
1525 msdcc2: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
1526 msdcc2: test known foreign hashes ... ok
1527 msdcc2: test non-string hashes are rejected ... ok
1528 msdcc2: fuzz testing -- random passwords and options ... ok
1529 msdcc2: multithreaded fuzz testing -- random password & options using multiple threads ... ok
1530 msdcc2: test user context keyword ... ok
1531 msdcc2: test user case sensitivity ... ok
1532 msdcc2: test user used as salt ... ok
1533 msdcc2: .disable() / .enable() methods ... SKIP: not applicable
1534 msdcc2: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
1535 msdcc2: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
1536 msdcc2: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
1537 msdcc2: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
1538 msdcc2: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
1539 msdcc2: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
1540 msdcc2: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
1541 msdcc2: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
1542 msdcc2: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
1543 msdcc2: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
1544 msdcc2: test no password size limits enforced (if truncate_size=None) ... ok
1545 msdcc2: validate 'truncate_error' setting & related attributes ... ok
1546 msdcc2: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
1547 msdcc: validate required attributes ... ok
1548 msdcc: test basic config-string workflow ... ok
1549 msdcc: test basic using() workflow ... ok
1550 msdcc: test basic hash-string workflow. ... ok
1551 msdcc: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
1552 msdcc: test hashes can be unicode or bytes ... ok
1553 msdcc: test multi-backend support ... SKIP: handler only has one backend
1554 msdcc: validate optional salt attributes ... SKIP: handler doesn't have salt
1555 msdcc: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
1556 msdcc: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
1557 msdcc: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
1558 msdcc: test hash() honors salt_chars ... SKIP: handler doesn't have salt
1559 msdcc: test non-string salt values ... SKIP: handler doesn't have salt
1560 msdcc: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
1561 msdcc: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
1562 msdcc: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
1563 msdcc: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
1564 msdcc: test password case sensitivity ... ok
1565 msdcc: test non-string passwords are rejected ... ok
1566 msdcc: test MAX_PASSWORD_SIZE is enforced ... ok
1567 msdcc: test forbidden characters not allowed in password ... SKIP: none listed
1568 msdcc: test known hashes ... ok
1569 msdcc: parsehash() ... ok
1570 msdcc: test known alternate hashes ... ok
1571 msdcc: parsehash() -- known outputs ... SKIP: no samples present
1572 msdcc: test known config strings ... SKIP: hash has no settings
1573 msdcc: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
1574 msdcc: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
1575 msdcc: test known foreign hashes ... ok
1576 msdcc: test non-string hashes are rejected ... ok
1577 msdcc: fuzz testing -- random passwords and options ... ok
1578 msdcc: multithreaded fuzz testing -- random password & options using multiple threads ... ok
1579 msdcc: test user context keyword ... ok
1580 msdcc: test user case sensitivity ... ok
1581 msdcc: test user used as salt ... ok
1582 msdcc: .disable() / .enable() methods ... SKIP: not applicable
1583 msdcc: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
1584 msdcc: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
1585 msdcc: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
1586 msdcc: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
1587 msdcc: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
1588 msdcc: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
1589 msdcc: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
1590 msdcc: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
1591 msdcc: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
1592 msdcc: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
1593 msdcc: test no password size limits enforced (if truncate_size=None) ... ok
1594 msdcc: validate 'truncate_error' setting & related attributes ... ok
1595 msdcc: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
1596 mssql2000: validate required attributes ... ok
1597 mssql2000: test basic config-string workflow ... ok
1598 mssql2000: test basic using() workflow ... ok
1599 mssql2000: test basic hash-string workflow. ... ok
1600 mssql2000: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
1601 mssql2000: test hashes can be unicode or bytes ... ok
1602 mssql2000: test multi-backend support ... SKIP: handler only has one backend
1603 mssql2000: validate optional salt attributes ... ok
1604 mssql2000: test hash() / genconfig() creates new salt each time ... ok
1605 mssql2000: test hash() / genconfig() honors min_salt_size ... ok
1606 mssql2000: test hash() / genconfig() honors max_salt_size ... ok
1607 mssql2000: test hash() honors salt_chars ... ok
1608 mssql2000: test non-string salt values ... ok
1609 mssql2000: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
1610 mssql2000: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
1611 mssql2000: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
1612 mssql2000: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
1613 mssql2000: test password case sensitivity ... ok
1614 mssql2000: test non-string passwords are rejected ... ok
1615 mssql2000: test MAX_PASSWORD_SIZE is enforced ... ok
1616 mssql2000: test forbidden characters not allowed in password ... SKIP: none listed
1617 mssql2000: test known hashes ... ok
1618 mssql2000: parsehash() ... ok
1619 mssql2000: test known alternate hashes ... ok
1620 mssql2000: parsehash() -- known outputs ... SKIP: no samples present
1621 mssql2000: test known config strings ... SKIP: no config strings provided
1622 mssql2000: test known unidentifiably-mangled strings ... ok
1623 mssql2000: test known identifiable-but-malformed strings ... ok
1624 mssql2000: test known foreign hashes ... ok
1625 mssql2000: test non-string hashes are rejected ... ok
1626 mssql2000: fuzz testing -- random passwords and options ... ok
1627 mssql2000: multithreaded fuzz testing -- random password & options using multiple threads ... ok
1628 mssql2000: .disable() / .enable() methods ... SKIP: not applicable
1629 mssql2000: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
1630 mssql2000: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
1631 mssql2000: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
1632 mssql2000: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
1633 mssql2000: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
1634 mssql2000: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
1635 mssql2000: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
1636 mssql2000: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
1637 mssql2000: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
1638 mssql2000: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
1639 mssql2000: test no password size limits enforced (if truncate_size=None) ... ok
1640 mssql2000: validate 'truncate_error' setting & related attributes ... ok
1641 mssql2000: Handler.using() -- default_salt_size ... ok
1642 mssql2005: validate required attributes ... ok
1643 mssql2005: test basic config-string workflow ... ok
1644 mssql2005: test basic using() workflow ... ok
1645 mssql2005: test basic hash-string workflow. ... ok
1646 mssql2005: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
1647 mssql2005: test hashes can be unicode or bytes ... ok
1648 mssql2005: test multi-backend support ... SKIP: handler only has one backend
1649 mssql2005: validate optional salt attributes ... ok
1650 mssql2005: test hash() / genconfig() creates new salt each time ... ok
1651 mssql2005: test hash() / genconfig() honors min_salt_size ... ok
1652 mssql2005: test hash() / genconfig() honors max_salt_size ... ok
1653 mssql2005: test hash() honors salt_chars ... ok
1654 mssql2005: test non-string salt values ... ok
1655 mssql2005: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
1656 mssql2005: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
1657 mssql2005: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
1658 mssql2005: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
1659 mssql2005: test password case sensitivity ... ok
1660 mssql2005: test non-string passwords are rejected ... ok
1661 mssql2005: test MAX_PASSWORD_SIZE is enforced ... ok
1662 mssql2005: test forbidden characters not allowed in password ... SKIP: none listed
1663 mssql2005: test known hashes ... ok
1664 mssql2005: parsehash() ... ok
1665 mssql2005: test known alternate hashes ... ok
1666 mssql2005: parsehash() -- known outputs ... SKIP: no samples present
1667 mssql2005: test known config strings ... SKIP: no config strings provided
1668 mssql2005: test known unidentifiably-mangled strings ... ok
1669 mssql2005: test known identifiable-but-malformed strings ... ok
1670 mssql2005: test known foreign hashes ... ok
1671 mssql2005: test non-string hashes are rejected ... ok
1672 mssql2005: fuzz testing -- random passwords and options ... ok
1673 mssql2005: multithreaded fuzz testing -- random password & options using multiple threads ... ok
1674 mssql2005: .disable() / .enable() methods ... SKIP: not applicable
1675 mssql2005: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
1676 mssql2005: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
1677 mssql2005: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
1678 mssql2005: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
1679 mssql2005: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
1680 mssql2005: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
1681 mssql2005: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
1682 mssql2005: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
1683 mssql2005: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
1684 mssql2005: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
1685 mssql2005: test no password size limits enforced (if truncate_size=None) ... ok
1686 mssql2005: validate 'truncate_error' setting & related attributes ... ok
1687 mssql2005: Handler.using() -- default_salt_size ... ok
1688 mysql323: validate required attributes ... ok
1689 mysql323: test basic config-string workflow ... ok
1690 mysql323: test basic using() workflow ... ok
1691 mysql323: test basic hash-string workflow. ... ok
1692 mysql323: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
1693 mysql323: test hashes can be unicode or bytes ... ok
1694 mysql323: test multi-backend support ... SKIP: handler only has one backend
1695 mysql323: validate optional salt attributes ... SKIP: handler doesn't have salt
1696 mysql323: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
1697 mysql323: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
1698 mysql323: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
1699 mysql323: test hash() honors salt_chars ... SKIP: handler doesn't have salt
1700 mysql323: test non-string salt values ... SKIP: handler doesn't have salt
1701 mysql323: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
1702 mysql323: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
1703 mysql323: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
1704 mysql323: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
1705 mysql323: test password case sensitivity ... ok
1706 mysql323: test non-string passwords are rejected ... ok
1707 mysql323: test MAX_PASSWORD_SIZE is enforced ... ok
1708 mysql323: test forbidden characters not allowed in password ... SKIP: none listed
1709 mysql323: test known hashes ... ok
1710 mysql323: parsehash() ... ok
1711 mysql323: test known alternate hashes ... SKIP: no alternate hashes provided
1712 mysql323: parsehash() -- known outputs ... SKIP: no samples present
1713 mysql323: test known config strings ... SKIP: hash has no settings
1714 mysql323: test known unidentifiably-mangled strings ... ok
1715 mysql323: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
1716 mysql323: test known foreign hashes ... ok
1717 mysql323: test non-string hashes are rejected ... ok
1718 mysql323: fuzz testing -- random passwords and options ... ok
1719 mysql323: multithreaded fuzz testing -- random password & options using multiple threads ... ok
1720 mysql323: check whitespace is ignored per spec ... ok
1721 mysql323: .disable() / .enable() methods ... SKIP: not applicable
1722 mysql323: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
1723 mysql323: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
1724 mysql323: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
1725 mysql323: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
1726 mysql323: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
1727 mysql323: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
1728 mysql323: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
1729 mysql323: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
1730 mysql323: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
1731 mysql323: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
1732 mysql323: test no password size limits enforced (if truncate_size=None) ... ok
1733 mysql323: validate 'truncate_error' setting & related attributes ... ok
1734 mysql323: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
1735 mysql41: validate required attributes ... ok
1736 mysql41: test basic config-string workflow ... ok
1737 mysql41: test basic using() workflow ... ok
1738 mysql41: test basic hash-string workflow. ... ok
1739 mysql41: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
1740 mysql41: test hashes can be unicode or bytes ... ok
1741 mysql41: test multi-backend support ... SKIP: handler only has one backend
1742 mysql41: validate optional salt attributes ... SKIP: handler doesn't have salt
1743 mysql41: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
1744 mysql41: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
1745 mysql41: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
1746 mysql41: test hash() honors salt_chars ... SKIP: handler doesn't have salt
1747 mysql41: test non-string salt values ... SKIP: handler doesn't have salt
1748 mysql41: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
1749 mysql41: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
1750 mysql41: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
1751 mysql41: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
1752 mysql41: test password case sensitivity ... ok
1753 mysql41: test non-string passwords are rejected ... ok
1754 mysql41: test MAX_PASSWORD_SIZE is enforced ... ok
1755 mysql41: test forbidden characters not allowed in password ... SKIP: none listed
1756 mysql41: test known hashes ... ok
1757 mysql41: parsehash() ... ok
1758 mysql41: test known alternate hashes ... SKIP: no alternate hashes provided
1759 mysql41: parsehash() -- known outputs ... SKIP: no samples present
1760 mysql41: test known config strings ... SKIP: hash has no settings
1761 mysql41: test known unidentifiably-mangled strings ... ok
1762 mysql41: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
1763 mysql41: test known foreign hashes ... ok
1764 mysql41: test non-string hashes are rejected ... ok
1765 mysql41: fuzz testing -- random passwords and options ... ok
1766 mysql41: multithreaded fuzz testing -- random password & options using multiple threads ... ok
1767 mysql41: .disable() / .enable() methods ... SKIP: not applicable
1768 mysql41: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
1769 mysql41: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
1770 mysql41: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
1771 mysql41: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
1772 mysql41: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
1773 mysql41: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
1774 mysql41: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
1775 mysql41: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
1776 mysql41: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
1777 mysql41: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
1778 mysql41: test no password size limits enforced (if truncate_size=None) ... ok
1779 mysql41: validate 'truncate_error' setting & related attributes ... ok
1780 mysql41: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
1781 nthash: validate required attributes ... ok
1782 nthash: test basic config-string workflow ... ok
1783 nthash: test basic using() workflow ... ok
1784 nthash: test basic hash-string workflow. ... ok
1785 nthash: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
1786 nthash: test hashes can be unicode or bytes ... ok
1787 nthash: test multi-backend support ... SKIP: handler only has one backend
1788 nthash: validate optional salt attributes ... SKIP: handler doesn't have salt
1789 nthash: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
1790 nthash: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
1791 nthash: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
1792 nthash: test hash() honors salt_chars ... SKIP: handler doesn't have salt
1793 nthash: test non-string salt values ... SKIP: handler doesn't have salt
1794 nthash: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
1795 nthash: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
1796 nthash: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
1797 nthash: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
1798 nthash: test password case sensitivity ... ok
1799 nthash: test non-string passwords are rejected ... ok
1800 nthash: test MAX_PASSWORD_SIZE is enforced ... ok
1801 nthash: test forbidden characters not allowed in password ... SKIP: none listed
1802 nthash: test known hashes ... ok
1803 nthash: parsehash() ... ok
1804 nthash: test known alternate hashes ... SKIP: no alternate hashes provided
1805 nthash: parsehash() -- known outputs ... SKIP: no samples present
1806 nthash: test known config strings ... SKIP: hash has no settings
1807 nthash: test known unidentifiably-mangled strings ... ok
1808 nthash: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
1809 nthash: test known foreign hashes ... ok
1810 nthash: test non-string hashes are rejected ... ok
1811 nthash: fuzz testing -- random passwords and options ... ok
1812 nthash: multithreaded fuzz testing -- random password & options using multiple threads ... ok
1813 nthash: .disable() / .enable() methods ... SKIP: not applicable
1814 nthash: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
1815 nthash: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
1816 nthash: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
1817 nthash: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
1818 nthash: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
1819 nthash: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
1820 nthash: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
1821 nthash: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
1822 nthash: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
1823 nthash: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
1824 nthash: test no password size limits enforced (if truncate_size=None) ... ok
1825 nthash: validate 'truncate_error' setting & related attributes ... ok
1826 nthash: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
1827 oracle10: validate required attributes ... ok
1828 oracle10: test basic config-string workflow ... ok
1829 oracle10: test basic using() workflow ... ok
1830 oracle10: test basic hash-string workflow. ... ok
1831 oracle10: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
1832 oracle10: test hashes can be unicode or bytes ... ok
1833 oracle10: test multi-backend support ... SKIP: handler only has one backend
1834 oracle10: validate optional salt attributes ... SKIP: handler doesn't have salt
1835 oracle10: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
1836 oracle10: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
1837 oracle10: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
1838 oracle10: test hash() honors salt_chars ... SKIP: handler doesn't have salt
1839 oracle10: test non-string salt values ... SKIP: handler doesn't have salt
1840 oracle10: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
1841 oracle10: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
1842 oracle10: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
1843 oracle10: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
1844 oracle10: test password case sensitivity ... ok
1845 oracle10: test non-string passwords are rejected ... ok
1846 oracle10: test MAX_PASSWORD_SIZE is enforced ... ok
1847 oracle10: test forbidden characters not allowed in password ... SKIP: none listed
1848 oracle10: test known hashes ... ok
1849 oracle10: parsehash() ... ok
1850 oracle10: test known alternate hashes ... SKIP: no alternate hashes provided
1851 oracle10: parsehash() -- known outputs ... SKIP: no samples present
1852 oracle10: test known config strings ... SKIP: hash has no settings
1853 oracle10: test known unidentifiably-mangled strings ... ok
1854 oracle10: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
1855 oracle10: test known foreign hashes ... ok
1856 oracle10: test non-string hashes are rejected ... ok
1857 oracle10: fuzz testing -- random passwords and options ... ok
1858 oracle10: multithreaded fuzz testing -- random password & options using multiple threads ... ok
1859 oracle10: test user context keyword ... ok
1860 oracle10: test user case sensitivity ... ok
1861 oracle10: test user used as salt ... ok
1862 oracle10: .disable() / .enable() methods ... SKIP: not applicable
1863 oracle10: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
1864 oracle10: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
1865 oracle10: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
1866 oracle10: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
1867 oracle10: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
1868 oracle10: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
1869 oracle10: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
1870 oracle10: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
1871 oracle10: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
1872 oracle10: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
1873 oracle10: test no password size limits enforced (if truncate_size=None) ... ok
1874 oracle10: validate 'truncate_error' setting & related attributes ... ok
1875 oracle10: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
1876 oracle11: validate required attributes ... ok
1877 oracle11: test basic config-string workflow ... ok
1878 oracle11: test basic using() workflow ... ok
1879 oracle11: test basic hash-string workflow. ... ok
1880 oracle11: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
1881 oracle11: test hashes can be unicode or bytes ... ok
1882 oracle11: test multi-backend support ... SKIP: handler only has one backend
1883 oracle11: validate optional salt attributes ... ok
1884 oracle11: test hash() / genconfig() creates new salt each time ... ok
1885 oracle11: test hash() / genconfig() honors min_salt_size ... ok
1886 oracle11: test hash() / genconfig() honors max_salt_size ... ok
1887 oracle11: test hash() honors salt_chars ... ok
1888 oracle11: test non-string salt values ... ok
1889 oracle11: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
1890 oracle11: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
1891 oracle11: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
1892 oracle11: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
1893 oracle11: test password case sensitivity ... ok
1894 oracle11: test non-string passwords are rejected ... ok
1895 oracle11: test MAX_PASSWORD_SIZE is enforced ... ok
1896 oracle11: test forbidden characters not allowed in password ... SKIP: none listed
1897 oracle11: test known hashes ... ok
1898 oracle11: parsehash() ... ok
1899 oracle11: test known alternate hashes ... SKIP: no alternate hashes provided
1900 oracle11: parsehash() -- known outputs ... SKIP: no samples present
1901 oracle11: test known config strings ... SKIP: no config strings provided
1902 oracle11: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
1903 oracle11: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
1904 oracle11: test known foreign hashes ... ok
1905 oracle11: test non-string hashes are rejected ... ok
1906 oracle11: fuzz testing -- random passwords and options ... ok
1907 oracle11: multithreaded fuzz testing -- random password & options using multiple threads ... ok
1908 oracle11: .disable() / .enable() methods ... SKIP: not applicable
1909 oracle11: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
1910 oracle11: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
1911 oracle11: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
1912 oracle11: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
1913 oracle11: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
1914 oracle11: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
1915 oracle11: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
1916 oracle11: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
1917 oracle11: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
1918 oracle11: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
1919 oracle11: test no password size limits enforced (if truncate_size=None) ... ok
1920 oracle11: validate 'truncate_error' setting & related attributes ... ok
1921 oracle11: Handler.using() -- default_salt_size ... ok
1922 phpass: validate required attributes ... ok
1923 phpass: test basic config-string workflow ... ok
1924 phpass: test basic using() workflow ... ok
1925 phpass: test basic hash-string workflow. ... ok
1926 phpass: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
1927 phpass: test hashes can be unicode or bytes ... ok
1928 phpass: test multi-backend support ... SKIP: handler only has one backend
1929 phpass: validate optional salt attributes ... ok
1930 phpass: test hash() / genconfig() creates new salt each time ... ok
1931 phpass: test hash() / genconfig() honors min_salt_size ... ok
1932 phpass: test hash() / genconfig() honors max_salt_size ... ok
1933 phpass: test hash() honors salt_chars ... ok
1934 phpass: test non-string salt values ... ok
1935 phpass: validate optional rounds attributes ... ok
1936 phpass: test hash() / genconfig() honors min_rounds ... ok
1937 phpass: test hash() / genconfig() honors max_rounds ... ok
1938 phpass: validate HasManyIdents configuration ... ok
1939 phpass: test password case sensitivity ... ok
1940 phpass: test non-string passwords are rejected ... ok
1941 phpass: test MAX_PASSWORD_SIZE is enforced ... ok
1942 phpass: test forbidden characters not allowed in password ... SKIP: none listed
1943 phpass: test known hashes ... ok
1944 phpass: parsehash() ... ok
1945 phpass: test known alternate hashes ... SKIP: no alternate hashes provided
1946 phpass: parsehash() -- known outputs ... SKIP: no samples present
1947 phpass: test known config strings ... SKIP: no config strings provided
1948 phpass: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
1949 phpass: test known identifiable-but-malformed strings ... ok
1950 phpass: test known foreign hashes ... ok
1951 phpass: test non-string hashes are rejected ... ok
1952 phpass: fuzz testing -- random passwords and options ... ok
1953 phpass: multithreaded fuzz testing -- random password & options using multiple threads ... ok
1954 phpass: .disable() / .enable() methods ... SKIP: not applicable
1955 phpass: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... ok
1956 phpass: HasRounds.using() -- max_rounds / max_desired_rounds ... ok
1957 phpass: HasRounds.using() -- desired_rounds + needs_update() ... ok
1958 phpass: HasRounds.using() -- sanity check test harness ... ok
1959 phpass: HasRounds.using() -- default_rounds ... ok
1960 phpass: HasRounds.using() -- min_rounds / min_desired_rounds ... ok
1961 phpass: HasRounds.using() -- rounds ... ok
1962 phpass: HasRounds.using() -- vary_rounds generation ... ok
1963 phpass: HasRounds.using() -- vary_rounds parsing ... ok
1964 phpass: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
1965 phpass: test no password size limits enforced (if truncate_size=None) ... ok
1966 phpass: validate 'truncate_error' setting & related attributes ... ok
1967 phpass: Handler.using() -- default_salt_size ... ok
1968 plaintext: validate required attributes ... ok
1969 plaintext: test basic config-string workflow ... ok
1970 plaintext: test basic using() workflow ... ok
1971 plaintext: test basic hash-string workflow. ... ok
1972 plaintext: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
1973 plaintext: test hashes can be unicode or bytes ... ok
1974 plaintext: test multi-backend support ... SKIP: handler only has one backend
1975 plaintext: validate optional salt attributes ... SKIP: handler doesn't have salt
1976 plaintext: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
1977 plaintext: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
1978 plaintext: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
1979 plaintext: test hash() honors salt_chars ... SKIP: handler doesn't have salt
1980 plaintext: test non-string salt values ... SKIP: handler doesn't have salt
1981 plaintext: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
1982 plaintext: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
1983 plaintext: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
1984 plaintext: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
1985 plaintext: test password case sensitivity ... ok
1986 plaintext: test non-string passwords are rejected ... ok
1987 plaintext: test MAX_PASSWORD_SIZE is enforced ... ok
1988 plaintext: test forbidden characters not allowed in password ... SKIP: none listed
1989 plaintext: test known hashes ... ok
1990 plaintext: parsehash() ... SKIP: parsehash() not implemented
1991 plaintext: test known alternate hashes ... SKIP: no alternate hashes provided
1992 plaintext: parsehash() -- known outputs ... SKIP: parsehash() not implemented
1993 plaintext: test known config strings ... SKIP: hash has no settings
1994 plaintext: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
1995 plaintext: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
1996 plaintext: test known foreign hashes ... SKIP: not applicable
1997 plaintext: test non-string hashes are rejected ... ok
1998 plaintext: fuzz testing -- random passwords and options ... ok
1999 plaintext: multithreaded fuzz testing -- random password & options using multiple threads ... ok
2000 plaintext: .disable() / .enable() methods ... SKIP: not applicable
2001 plaintext: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
2002 plaintext: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
2003 plaintext: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
2004 plaintext: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
2005 plaintext: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
2006 plaintext: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
2007 plaintext: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
2008 plaintext: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
2009 plaintext: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
2010 plaintext: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
2011 plaintext: test no password size limits enforced (if truncate_size=None) ... ok
2012 plaintext: validate 'truncate_error' setting & related attributes ... ok
2013 plaintext: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
2014 postgres_md5: validate required attributes ... ok
2015 postgres_md5: test basic config-string workflow ... ok
2016 postgres_md5: test basic using() workflow ... ok
2017 postgres_md5: test basic hash-string workflow. ... ok
2018 postgres_md5: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
2019 postgres_md5: test hashes can be unicode or bytes ... ok
2020 postgres_md5: test multi-backend support ... SKIP: handler only has one backend
2021 postgres_md5: validate optional salt attributes ... SKIP: handler doesn't have salt
2022 postgres_md5: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
2023 postgres_md5: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
2024 postgres_md5: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
2025 postgres_md5: test hash() honors salt_chars ... SKIP: handler doesn't have salt
2026 postgres_md5: test non-string salt values ... SKIP: handler doesn't have salt
2027 postgres_md5: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
2028 postgres_md5: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
2029 postgres_md5: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
2030 postgres_md5: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
2031 postgres_md5: test password case sensitivity ... ok
2032 postgres_md5: test non-string passwords are rejected ... ok
2033 postgres_md5: test MAX_PASSWORD_SIZE is enforced ... ok
2034 postgres_md5: test forbidden characters not allowed in password ... SKIP: none listed
2035 postgres_md5: test known hashes ... ok
2036 postgres_md5: parsehash() ... ok
2037 postgres_md5: test known alternate hashes ... SKIP: no alternate hashes provided
2038 postgres_md5: parsehash() -- known outputs ... SKIP: no samples present
2039 postgres_md5: test known config strings ... SKIP: hash has no settings
2040 postgres_md5: test known unidentifiably-mangled strings ... ok
2041 postgres_md5: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
2042 postgres_md5: test known foreign hashes ... ok
2043 postgres_md5: test non-string hashes are rejected ... ok
2044 postgres_md5: fuzz testing -- random passwords and options ... ok
2045 postgres_md5: multithreaded fuzz testing -- random password & options using multiple threads ... ok
2046 postgres_md5: test user context keyword ... ok
2047 postgres_md5: test user case sensitivity ... ok
2048 postgres_md5: test user used as salt ... ok
2049 postgres_md5: .disable() / .enable() methods ... SKIP: not applicable
2050 postgres_md5: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
2051 postgres_md5: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
2052 postgres_md5: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
2053 postgres_md5: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
2054 postgres_md5: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
2055 postgres_md5: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
2056 postgres_md5: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
2057 postgres_md5: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
2058 postgres_md5: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
2059 postgres_md5: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
2060 postgres_md5: test no password size limits enforced (if truncate_size=None) ... ok
2061 postgres_md5: validate 'truncate_error' setting & related attributes ... ok
2062 postgres_md5: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
2063 sha1_crypt (builtin backend): validate required attributes ... ok
2064 sha1_crypt (builtin backend): test basic config-string workflow ... ok
2065 sha1_crypt (builtin backend): test basic using() workflow ... ok
2066 sha1_crypt (builtin backend): test basic hash-string workflow. ... ok
2067 sha1_crypt (builtin backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
2068 sha1_crypt (builtin backend): test hashes can be unicode or bytes ... ok
2069 sha1_crypt (builtin backend): test multi-backend support ... ok
2070 sha1_crypt (builtin backend): validate optional salt attributes ... ok
2071 sha1_crypt (builtin backend): test hash() / genconfig() creates new salt each time ... ok
2072 sha1_crypt (builtin backend): test hash() / genconfig() honors min_salt_size ... ok
2073 sha1_crypt (builtin backend): test hash() / genconfig() honors max_salt_size ... ok
2074 sha1_crypt (builtin backend): test hash() honors salt_chars ... ok
2075 sha1_crypt (builtin backend): test non-string salt values ... ok
2076 sha1_crypt (builtin backend): validate optional rounds attributes ... ok
2077 sha1_crypt (builtin backend): test hash() / genconfig() honors min_rounds ... ok
2078 sha1_crypt (builtin backend): test hash() / genconfig() honors max_rounds ... ok
2079 sha1_crypt (builtin backend): validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
2080 sha1_crypt (builtin backend): test password case sensitivity ... ok
2081 sha1_crypt (builtin backend): test non-string passwords are rejected ... ok
2082 sha1_crypt (builtin backend): test MAX_PASSWORD_SIZE is enforced ... ok
2083 sha1_crypt (builtin backend): test forbidden characters not allowed in password ... ok
2084 sha1_crypt (builtin backend): test known hashes ... ok
2085 sha1_crypt (builtin backend): parsehash() ... ok
2086 sha1_crypt (builtin backend): test known alternate hashes ... SKIP: no alternate hashes provided
2087 sha1_crypt (builtin backend): parsehash() -- known outputs ... SKIP: no samples present
2088 sha1_crypt (builtin backend): test known config strings ... SKIP: no config strings provided
2089 sha1_crypt (builtin backend): test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
2090 sha1_crypt (builtin backend): test known identifiable-but-malformed strings ... ok
2091 sha1_crypt (builtin backend): test known foreign hashes ... ok
2092 sha1_crypt (builtin backend): test non-string hashes are rejected ... ok
2093 sha1_crypt (builtin backend): fuzz testing -- random passwords and options ... ok
2094 sha1_crypt (builtin backend): multithreaded fuzz testing -- random password & options using multiple threads ... ok
2095 sha1_crypt (builtin backend): .disable() / .enable() methods ... SKIP: not applicable
2096 sha1_crypt (builtin backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
2097 sha1_crypt (builtin backend): HasRounds.using() -- max_rounds / max_desired_rounds ... ok
2098 sha1_crypt (builtin backend): HasRounds.using() -- desired_rounds + needs_update() ... ok
2099 sha1_crypt (builtin backend): HasRounds.using() -- sanity check test harness ... ok
2100 sha1_crypt (builtin backend): HasRounds.using() -- default_rounds ... ok
2101 sha1_crypt (builtin backend): HasRounds.using() -- min_rounds / min_desired_rounds ... ok
2102 sha1_crypt (builtin backend): HasRounds.using() -- rounds ... ok
2103 sha1_crypt (builtin backend): HasRounds.using() -- vary_rounds generation ... ok
2104 sha1_crypt (builtin backend): HasRounds.using() -- vary_rounds parsing ... ok
2105 sha1_crypt (builtin backend): test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
2106 sha1_crypt (builtin backend): test no password size limits enforced (if truncate_size=None) ... ok
2107 sha1_crypt (builtin backend): validate 'truncate_error' setting & related attributes ... ok
2108 sha1_crypt (builtin backend): Handler.using() -- default_salt_size ... ok
2109 sha1_crypt (os_crypt backend): validate required attributes ... SKIP: backend not available
2110 sha1_crypt (os_crypt backend): test basic config-string workflow ... SKIP: backend not available
2111 sha1_crypt (os_crypt backend): test basic using() workflow ... SKIP: backend not available
2112 sha1_crypt (os_crypt backend): test basic hash-string workflow. ... SKIP: backend not available
2113 sha1_crypt (os_crypt backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... SKIP: backend not available
2114 sha1_crypt (os_crypt backend): test hashes can be unicode or bytes ... SKIP: backend not available
2115 sha1_crypt (os_crypt backend): test multi-backend support ... SKIP: backend not available
2116 sha1_crypt (os_crypt backend): validate optional salt attributes ... SKIP: backend not available
2117 sha1_crypt (os_crypt backend): test hash() / genconfig() creates new salt each time ... SKIP: backend not available
2118 sha1_crypt (os_crypt backend): test hash() / genconfig() honors min_salt_size ... SKIP: backend not available
2119 sha1_crypt (os_crypt backend): test hash() / genconfig() honors max_salt_size ... SKIP: backend not available
2120 sha1_crypt (os_crypt backend): test hash() honors salt_chars ... SKIP: backend not available
2121 sha1_crypt (os_crypt backend): test non-string salt values ... SKIP: backend not available
2122 sha1_crypt (os_crypt backend): validate optional rounds attributes ... SKIP: backend not available
2123 sha1_crypt (os_crypt backend): test hash() / genconfig() honors min_rounds ... SKIP: backend not available
2124 sha1_crypt (os_crypt backend): test hash() / genconfig() honors max_rounds ... SKIP: backend not available
2125 sha1_crypt (os_crypt backend): validate HasManyIdents configuration ... SKIP: backend not available
2126 sha1_crypt (os_crypt backend): test password case sensitivity ... SKIP: backend not available
2127 sha1_crypt (os_crypt backend): test non-string passwords are rejected ... SKIP: backend not available
2128 sha1_crypt (os_crypt backend): test MAX_PASSWORD_SIZE is enforced ... SKIP: backend not available
2129 sha1_crypt (os_crypt backend): test forbidden characters not allowed in password ... SKIP: backend not available
2130 sha1_crypt (os_crypt backend): test known hashes ... SKIP: backend not available
2131 sha1_crypt (os_crypt backend): parsehash() ... SKIP: backend not available
2132 sha1_crypt (os_crypt backend): test known alternate hashes ... SKIP: backend not available
2133 sha1_crypt (os_crypt backend): parsehash() -- known outputs ... SKIP: backend not available
2134 sha1_crypt (os_crypt backend): test known config strings ... SKIP: backend not available
2135 sha1_crypt (os_crypt backend): test known unidentifiably-mangled strings ... SKIP: backend not available
2136 sha1_crypt (os_crypt backend): test known identifiable-but-malformed strings ... SKIP: backend not available
2137 sha1_crypt (os_crypt backend): test known foreign hashes ... SKIP: backend not available
2138 sha1_crypt (os_crypt backend): test non-string hashes are rejected ... SKIP: backend not available
2139 sha1_crypt (os_crypt backend): fuzz testing -- random passwords and options ... SKIP: backend not available
2140 sha1_crypt (os_crypt backend): multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: backend not available
2141 sha1_crypt (os_crypt backend): test with faulty crypt() ... SKIP: backend not available
2142 sha1_crypt (os_crypt backend): test per-call crypt() fallback ... SKIP: backend not available
2143 sha1_crypt (os_crypt backend): test platform-specific crypt() support detection ... SKIP: no data for 'sunos5' platform (current host support = False)
2144 sha1_crypt (os_crypt backend): .disable() / .enable() methods ... SKIP: backend not available
2145 sha1_crypt (os_crypt backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: backend not available
2146 sha1_crypt (os_crypt backend): HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: backend not available
2147 sha1_crypt (os_crypt backend): HasRounds.using() -- desired_rounds + needs_update() ... SKIP: backend not available
2148 sha1_crypt (os_crypt backend): HasRounds.using() -- sanity check test harness ... SKIP: backend not available
2149 sha1_crypt (os_crypt backend): HasRounds.using() -- default_rounds ... SKIP: backend not available
2150 sha1_crypt (os_crypt backend): HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: backend not available
2151 sha1_crypt (os_crypt backend): HasRounds.using() -- rounds ... SKIP: backend not available
2152 sha1_crypt (os_crypt backend): HasRounds.using() -- vary_rounds generation ... SKIP: backend not available
2153 sha1_crypt (os_crypt backend): HasRounds.using() -- vary_rounds parsing ... SKIP: backend not available
2154 sha1_crypt (os_crypt backend): test password size limits raise truncate_error (if appropriate) ... SKIP: backend not available
2155 sha1_crypt (os_crypt backend): test no password size limits enforced (if truncate_size=None) ... SKIP: backend not available
2156 sha1_crypt (os_crypt backend): validate 'truncate_error' setting & related attributes ... SKIP: backend not available
2157 sha1_crypt (os_crypt backend): Handler.using() -- default_salt_size ... SKIP: backend not available
2158 sha256_crypt (builtin backend): validate required attributes ... ok
2159 sha256_crypt (builtin backend): test basic config-string workflow ... ok
2160 sha256_crypt (builtin backend): test basic using() workflow ... ok
2161 sha256_crypt (builtin backend): test basic hash-string workflow. ... ok
2162 sha256_crypt (builtin backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
2163 sha256_crypt (builtin backend): test hashes can be unicode or bytes ... ok
2164 sha256_crypt (builtin backend): test multi-backend support ... ok
2165 sha256_crypt (builtin backend): validate optional salt attributes ... ok
2166 sha256_crypt (builtin backend): test hash() / genconfig() creates new salt each time ... ok
2167 sha256_crypt (builtin backend): test hash() / genconfig() honors min_salt_size ... ok
2168 sha256_crypt (builtin backend): test hash() / genconfig() honors max_salt_size ... ok
2169 sha256_crypt (builtin backend): test hash() honors salt_chars ... ok
2170 sha256_crypt (builtin backend): test non-string salt values ... ok
2171 sha256_crypt (builtin backend): validate optional rounds attributes ... ok
2172 sha256_crypt (builtin backend): test hash() / genconfig() honors min_rounds ... ok
2173 sha256_crypt (builtin backend): test hash() / genconfig() honors max_rounds ... ok
2174 sha256_crypt (builtin backend): validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
2175 sha256_crypt (builtin backend): test password case sensitivity ... ok
2176 sha256_crypt (builtin backend): test non-string passwords are rejected ... ok
2177 sha256_crypt (builtin backend): test MAX_PASSWORD_SIZE is enforced ... ok
2178 sha256_crypt (builtin backend): test forbidden characters not allowed in password ... ok
2179 sha256_crypt (builtin backend): test known hashes ... ok
2180 sha256_crypt (builtin backend): parsehash() ... ok
2181 sha256_crypt (builtin backend): test known alternate hashes ... SKIP: no alternate hashes provided
2182 sha256_crypt (builtin backend): parsehash() -- known outputs ... SKIP: no samples present
2183 sha256_crypt (builtin backend): test known config strings ... ok
2184 sha256_crypt (builtin backend): test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
2185 sha256_crypt (builtin backend): test known identifiable-but-malformed strings ... ok
2186 sha256_crypt (builtin backend): test known foreign hashes ... ok
2187 sha256_crypt (builtin backend): test non-string hashes are rejected ... ok
2188 sha256_crypt (builtin backend): fuzz testing -- random passwords and options ... ok
2189 sha256_crypt (builtin backend): multithreaded fuzz testing -- random password & options using multiple threads ... ok
2190 sha256_crypt (builtin backend): .disable() / .enable() methods ... SKIP: not applicable
2191 sha256_crypt (builtin backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
2192 sha256_crypt (builtin backend): HasRounds.using() -- max_rounds / max_desired_rounds ... ok
2193 sha256_crypt (builtin backend): HasRounds.using() -- desired_rounds + needs_update() ... ok
2194 sha256_crypt (builtin backend): HasRounds.using() -- sanity check test harness ... ok
2195 sha256_crypt (builtin backend): HasRounds.using() -- default_rounds ... ok
2196 sha256_crypt (builtin backend): HasRounds.using() -- min_rounds / min_desired_rounds ... ok
2197 sha256_crypt (builtin backend): HasRounds.using() -- rounds ... ok
2198 sha256_crypt (builtin backend): HasRounds.using() -- vary_rounds generation ... ok
2199 sha256_crypt (builtin backend): HasRounds.using() -- vary_rounds parsing ... ok
2200 sha256_crypt (builtin backend): test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
2201 sha256_crypt (builtin backend): test no password size limits enforced (if truncate_size=None) ... ok
2202 sha256_crypt (builtin backend): validate 'truncate_error' setting & related attributes ... ok
2203 sha256_crypt (builtin backend): Handler.using() -- default_salt_size ... ok
2204 sha256_crypt (os_crypt backend): validate required attributes ... ok
2205 sha256_crypt (os_crypt backend): test basic config-string workflow ... ok
2206 sha256_crypt (os_crypt backend): test basic using() workflow ... ok
2207 sha256_crypt (os_crypt backend): test basic hash-string workflow. ... ok
2208 sha256_crypt (os_crypt backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
2209 sha256_crypt (os_crypt backend): test hashes can be unicode or bytes ... ok
2210 sha256_crypt (os_crypt backend): test multi-backend support ... ok
2211 sha256_crypt (os_crypt backend): validate optional salt attributes ... ok
2212 sha256_crypt (os_crypt backend): test hash() / genconfig() creates new salt each time ... ok
2213 sha256_crypt (os_crypt backend): test hash() / genconfig() honors min_salt_size ... ok
2214 sha256_crypt (os_crypt backend): test hash() / genconfig() honors max_salt_size ... ok
2215 sha256_crypt (os_crypt backend): test hash() honors salt_chars ... ok
2216 sha256_crypt (os_crypt backend): test non-string salt values ... ok
2217 sha256_crypt (os_crypt backend): validate optional rounds attributes ... ok
2218 sha256_crypt (os_crypt backend): test hash() / genconfig() honors min_rounds ... ok
2219 sha256_crypt (os_crypt backend): test hash() / genconfig() honors max_rounds ... ok
2220 sha256_crypt (os_crypt backend): validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
2221 sha256_crypt (os_crypt backend): test password case sensitivity ... ok
2222 sha256_crypt (os_crypt backend): test non-string passwords are rejected ... ok
2223 sha256_crypt (os_crypt backend): test MAX_PASSWORD_SIZE is enforced ... ok
2224 sha256_crypt (os_crypt backend): test forbidden characters not allowed in password ... ok
2225 sha256_crypt (os_crypt backend): test known hashes ... ok
2226 sha256_crypt (os_crypt backend): parsehash() ... ok
2227 sha256_crypt (os_crypt backend): test known alternate hashes ... SKIP: no alternate hashes provided
2228 sha256_crypt (os_crypt backend): parsehash() -- known outputs ... SKIP: no samples present
2229 sha256_crypt (os_crypt backend): test known config strings ... ok
2230 sha256_crypt (os_crypt backend): test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
2231 sha256_crypt (os_crypt backend): test known identifiable-but-malformed strings ... ok
2232 sha256_crypt (os_crypt backend): test known foreign hashes ... ok
2233 sha256_crypt (os_crypt backend): test non-string hashes are rejected ... ok
2234 sha256_crypt (os_crypt backend): fuzz testing -- random passwords and options ... ok
2235 sha256_crypt (os_crypt backend): multithreaded fuzz testing -- random password & options using multiple threads ... ok
2236 sha256_crypt (os_crypt backend): test with faulty crypt() ... ok
2237 sha256_crypt (os_crypt backend): test per-call crypt() fallback ... ok
2238 sha256_crypt (os_crypt backend): test platform-specific crypt() support detection ... SKIP: no data for 'sunos5' platform (current host support = True)
2239 sha256_crypt (os_crypt backend): .disable() / .enable() methods ... SKIP: not applicable
2240 sha256_crypt (os_crypt backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
2241 sha256_crypt (os_crypt backend): HasRounds.using() -- max_rounds / max_desired_rounds ... ok
2242 sha256_crypt (os_crypt backend): HasRounds.using() -- desired_rounds + needs_update() ... ok
2243 sha256_crypt (os_crypt backend): HasRounds.using() -- sanity check test harness ... ok
2244 sha256_crypt (os_crypt backend): HasRounds.using() -- default_rounds ... ok
2245 sha256_crypt (os_crypt backend): HasRounds.using() -- min_rounds / min_desired_rounds ... ok
2246 sha256_crypt (os_crypt backend): HasRounds.using() -- rounds ... ok
2247 sha256_crypt (os_crypt backend): HasRounds.using() -- vary_rounds generation ... ok
2248 sha256_crypt (os_crypt backend): HasRounds.using() -- vary_rounds parsing ... ok
2249 sha256_crypt (os_crypt backend): test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
2250 sha256_crypt (os_crypt backend): test no password size limits enforced (if truncate_size=None) ... ok
2251 sha256_crypt (os_crypt backend): validate 'truncate_error' setting & related attributes ... ok
2252 sha256_crypt (os_crypt backend): Handler.using() -- default_salt_size ... ok
2253 sha512_crypt (builtin backend): validate required attributes ... ok
2254 sha512_crypt (builtin backend): test basic config-string workflow ... ok
2255 sha512_crypt (builtin backend): test basic using() workflow ... ok
2256 sha512_crypt (builtin backend): test basic hash-string workflow. ... ok
2257 sha512_crypt (builtin backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
2258 sha512_crypt (builtin backend): test hashes can be unicode or bytes ... ok
2259 sha512_crypt (builtin backend): test multi-backend support ... ok
2260 sha512_crypt (builtin backend): validate optional salt attributes ... ok
2261 sha512_crypt (builtin backend): test hash() / genconfig() creates new salt each time ... ok
2262 sha512_crypt (builtin backend): test hash() / genconfig() honors min_salt_size ... ok
2263 sha512_crypt (builtin backend): test hash() / genconfig() honors max_salt_size ... ok
2264 sha512_crypt (builtin backend): test hash() honors salt_chars ... ok
2265 sha512_crypt (builtin backend): test non-string salt values ... ok
2266 sha512_crypt (builtin backend): validate optional rounds attributes ... ok
2267 sha512_crypt (builtin backend): test hash() / genconfig() honors min_rounds ... ok
2268 sha512_crypt (builtin backend): test hash() / genconfig() honors max_rounds ... ok
2269 sha512_crypt (builtin backend): validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
2270 sha512_crypt (builtin backend): test password case sensitivity ... ok
2271 sha512_crypt (builtin backend): test non-string passwords are rejected ... ok
2272 sha512_crypt (builtin backend): test MAX_PASSWORD_SIZE is enforced ... ok
2273 sha512_crypt (builtin backend): test forbidden characters not allowed in password ... ok
2274 sha512_crypt (builtin backend): test known hashes ... ok
2275 sha512_crypt (builtin backend): parsehash() ... ok
2276 sha512_crypt (builtin backend): test known alternate hashes ... SKIP: no alternate hashes provided
2277 sha512_crypt (builtin backend): parsehash() -- known outputs ... SKIP: no samples present
2278 sha512_crypt (builtin backend): test known config strings ... ok
2279 sha512_crypt (builtin backend): test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
2280 sha512_crypt (builtin backend): test known identifiable-but-malformed strings ... ok
2281 sha512_crypt (builtin backend): test known foreign hashes ... ok
2282 sha512_crypt (builtin backend): test non-string hashes are rejected ... ok
2283 sha512_crypt (builtin backend): fuzz testing -- random passwords and options ... ok
2284 sha512_crypt (builtin backend): multithreaded fuzz testing -- random password & options using multiple threads ... ok
2285 sha512_crypt (builtin backend): .disable() / .enable() methods ... SKIP: not applicable
2286 sha512_crypt (builtin backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
2287 sha512_crypt (builtin backend): HasRounds.using() -- max_rounds / max_desired_rounds ... ok
2288 sha512_crypt (builtin backend): HasRounds.using() -- desired_rounds + needs_update() ... ok
2289 sha512_crypt (builtin backend): HasRounds.using() -- sanity check test harness ... ok
2290 sha512_crypt (builtin backend): HasRounds.using() -- default_rounds ... ok
2291 sha512_crypt (builtin backend): HasRounds.using() -- min_rounds / min_desired_rounds ... ok
2292 sha512_crypt (builtin backend): HasRounds.using() -- rounds ... ok
2293 sha512_crypt (builtin backend): HasRounds.using() -- vary_rounds generation ... ok
2294 sha512_crypt (builtin backend): HasRounds.using() -- vary_rounds parsing ... ok
2295 sha512_crypt (builtin backend): test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
2296 sha512_crypt (builtin backend): test no password size limits enforced (if truncate_size=None) ... ok
2297 sha512_crypt (builtin backend): validate 'truncate_error' setting & related attributes ... ok
2298 sha512_crypt (builtin backend): Handler.using() -- default_salt_size ... ok
2299 sha512_crypt (os_crypt backend): validate required attributes ... ok
2300 sha512_crypt (os_crypt backend): test basic config-string workflow ... ok
2301 sha512_crypt (os_crypt backend): test basic using() workflow ... ok
2302 sha512_crypt (os_crypt backend): test basic hash-string workflow. ... ok
2303 sha512_crypt (os_crypt backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
2304 sha512_crypt (os_crypt backend): test hashes can be unicode or bytes ... ok
2305 sha512_crypt (os_crypt backend): test multi-backend support ... ok
2306 sha512_crypt (os_crypt backend): validate optional salt attributes ... ok
2307 sha512_crypt (os_crypt backend): test hash() / genconfig() creates new salt each time ... ok
2308 sha512_crypt (os_crypt backend): test hash() / genconfig() honors min_salt_size ... ok
2309 sha512_crypt (os_crypt backend): test hash() / genconfig() honors max_salt_size ... ok
2310 sha512_crypt (os_crypt backend): test hash() honors salt_chars ... ok
2311 sha512_crypt (os_crypt backend): test non-string salt values ... ok
2312 sha512_crypt (os_crypt backend): validate optional rounds attributes ... ok
2313 sha512_crypt (os_crypt backend): test hash() / genconfig() honors min_rounds ... ok
2314 sha512_crypt (os_crypt backend): test hash() / genconfig() honors max_rounds ... ok
2315 sha512_crypt (os_crypt backend): validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
2316 sha512_crypt (os_crypt backend): test password case sensitivity ... ok
2317 sha512_crypt (os_crypt backend): test non-string passwords are rejected ... ok
2318 sha512_crypt (os_crypt backend): test MAX_PASSWORD_SIZE is enforced ... ok
2319 sha512_crypt (os_crypt backend): test forbidden characters not allowed in password ... ok
2320 sha512_crypt (os_crypt backend): test known hashes ... ok
2321 sha512_crypt (os_crypt backend): parsehash() ... ok
2322 sha512_crypt (os_crypt backend): test known alternate hashes ... SKIP: no alternate hashes provided
2323 sha512_crypt (os_crypt backend): parsehash() -- known outputs ... SKIP: no samples present
2324 sha512_crypt (os_crypt backend): test known config strings ... ok
2325 sha512_crypt (os_crypt backend): test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
2326 sha512_crypt (os_crypt backend): test known identifiable-but-malformed strings ... ok
2327 sha512_crypt (os_crypt backend): test known foreign hashes ... ok
2328 sha512_crypt (os_crypt backend): test non-string hashes are rejected ... ok
2329 sha512_crypt (os_crypt backend): fuzz testing -- random passwords and options ... ok
2330 sha512_crypt (os_crypt backend): multithreaded fuzz testing -- random password & options using multiple threads ... ok
2331 sha512_crypt (os_crypt backend): test with faulty crypt() ... ok
2332 sha512_crypt (os_crypt backend): test per-call crypt() fallback ... ok
2333 sha512_crypt (os_crypt backend): test platform-specific crypt() support detection ... SKIP: no data for 'sunos5' platform (current host support = True)
2334 sha512_crypt (os_crypt backend): .disable() / .enable() methods ... SKIP: not applicable
2335 sha512_crypt (os_crypt backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
2336 sha512_crypt (os_crypt backend): HasRounds.using() -- max_rounds / max_desired_rounds ... ok
2337 sha512_crypt (os_crypt backend): HasRounds.using() -- desired_rounds + needs_update() ... ok
2338 sha512_crypt (os_crypt backend): HasRounds.using() -- sanity check test harness ... ok
2339 sha512_crypt (os_crypt backend): HasRounds.using() -- default_rounds ... ok
2340 sha512_crypt (os_crypt backend): HasRounds.using() -- min_rounds / min_desired_rounds ... ok
2341 sha512_crypt (os_crypt backend): HasRounds.using() -- rounds ... ok
2342 sha512_crypt (os_crypt backend): HasRounds.using() -- vary_rounds generation ... ok
2343 sha512_crypt (os_crypt backend): HasRounds.using() -- vary_rounds parsing ... ok
2344 sha512_crypt (os_crypt backend): test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
2345 sha512_crypt (os_crypt backend): test no password size limits enforced (if truncate_size=None) ... ok
2346 sha512_crypt (os_crypt backend): validate 'truncate_error' setting & related attributes ... ok
2347 sha512_crypt (os_crypt backend): Handler.using() -- default_salt_size ... ok
2348 sun_md5_crypt: validate required attributes ... ok
2349 sun_md5_crypt: test basic config-string workflow ... ok
2350 sun_md5_crypt: test basic using() workflow ... ok
2351 sun_md5_crypt: test basic hash-string workflow. ... ok
2352 sun_md5_crypt: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
2353 sun_md5_crypt: test hashes can be unicode or bytes ... ok
2354 sun_md5_crypt: test multi-backend support ... SKIP: handler only has one backend
2355 sun_md5_crypt: validate optional salt attributes ... ok
2356 sun_md5_crypt: test hash() / genconfig() creates new salt each time ... ok
2357 sun_md5_crypt: test hash() / genconfig() honors min_salt_size ... ok
2358 sun_md5_crypt: test hash() / genconfig() honors max_salt_size ... ok
2359 sun_md5_crypt: test hash() honors salt_chars ... ok
2360 sun_md5_crypt: test non-string salt values ... ok
2361 sun_md5_crypt: validate optional rounds attributes ... ok
2362 sun_md5_crypt: test hash() / genconfig() honors min_rounds ... ok
2363 sun_md5_crypt: test hash() / genconfig() honors max_rounds ... ok
2364 sun_md5_crypt: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
2365 sun_md5_crypt: test password case sensitivity ... ok
2366 sun_md5_crypt: test non-string passwords are rejected ... ok
2367 sun_md5_crypt: test MAX_PASSWORD_SIZE is enforced ... ok
2368 sun_md5_crypt: test forbidden characters not allowed in password ... SKIP: none listed
2369 sun_md5_crypt: test known hashes ... ok
2370 sun_md5_crypt: parsehash() ... ok
2371 sun_md5_crypt: test known alternate hashes ... SKIP: no alternate hashes provided
2372 sun_md5_crypt: parsehash() -- known outputs ... SKIP: no samples present
2373 sun_md5_crypt: test known config strings ... ok
2374 sun_md5_crypt: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
2375 sun_md5_crypt: test known identifiable-but-malformed strings ... ok
2376 sun_md5_crypt: test known foreign hashes ... ok
2377 sun_md5_crypt: test non-string hashes are rejected ... ok
2378 sun_md5_crypt: fuzz testing -- random passwords and options ... ok
2379 sun_md5_crypt: multithreaded fuzz testing -- random password & options using multiple threads ... ok
2380 sun_md5_crypt: .disable() / .enable() methods ... SKIP: not applicable
2381 sun_md5_crypt: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
2382 sun_md5_crypt: HasRounds.using() -- max_rounds / max_desired_rounds ... ok
2383 sun_md5_crypt: HasRounds.using() -- desired_rounds + needs_update() ... ok
2384 sun_md5_crypt: HasRounds.using() -- sanity check test harness ... ok
2385 sun_md5_crypt: HasRounds.using() -- default_rounds ... ok
2386 sun_md5_crypt: HasRounds.using() -- min_rounds / min_desired_rounds ... ok
2387 sun_md5_crypt: HasRounds.using() -- rounds ... ok
2388 sun_md5_crypt: HasRounds.using() -- vary_rounds generation ... ok
2389 sun_md5_crypt: HasRounds.using() -- vary_rounds parsing ... ok
2390 sun_md5_crypt: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
2391 sun_md5_crypt: test no password size limits enforced (if truncate_size=None) ... ok
2392 sun_md5_crypt: validate 'truncate_error' setting & related attributes ... ok
2393 sun_md5_crypt: Handler.using() -- default_salt_size ... ok
2394 unix_disabled: validate required attributes ... ok
2395 unix_disabled: test basic config-string workflow ... ok
2396 unix_disabled: test basic using() workflow ... ok
2397 unix_disabled: test basic hash-string workflow. ... ok
2398 unix_disabled: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
2399 unix_disabled: test hashes can be unicode or bytes ... ok
2400 unix_disabled: test multi-backend support ... SKIP: handler only has one backend
2401 unix_disabled: validate optional salt attributes ... SKIP: handler doesn't have salt
2402 unix_disabled: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
2403 unix_disabled: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
2404 unix_disabled: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
2405 unix_disabled: test hash() honors salt_chars ... SKIP: handler doesn't have salt
2406 unix_disabled: test non-string salt values ... SKIP: handler doesn't have salt
2407 unix_disabled: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
2408 unix_disabled: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
2409 unix_disabled: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
2410 unix_disabled: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
2411 unix_disabled: test password case sensitivity ... ok
2412 unix_disabled: test non-string passwords are rejected ... ok
2413 unix_disabled: test MAX_PASSWORD_SIZE is enforced ... ok
2414 unix_disabled: test forbidden characters not allowed in password ... SKIP: none listed
2415 unix_disabled: test known hashes ... ok
2416 unix_disabled: parsehash() ... SKIP: parsehash() not implemented
2417 unix_disabled: test known alternate hashes ... SKIP: no alternate hashes provided
2418 unix_disabled: parsehash() -- known outputs ... SKIP: parsehash() not implemented
2419 unix_disabled: test known config strings ... SKIP: no config strings provided
2420 unix_disabled: test known unidentifiably-mangled strings ... ok
2421 unix_disabled: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
2422 unix_disabled: test known foreign hashes ... ok
2423 unix_disabled: test_76_hash_border (passlib.tests.test_handlers.unix_disabled_test) ... ok
2424 unix_disabled: fuzz testing -- random passwords and options ... SKIP: not applicable
2425 unix_disabled: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: not applicable
2426 unix_disabled: test marker option & special behavior ... ok
2427 unix_disabled: .disable() / .enable() methods ... ok
2428 unix_disabled: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
2429 unix_disabled: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
2430 unix_disabled: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
2431 unix_disabled: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
2432 unix_disabled: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
2433 unix_disabled: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
2434 unix_disabled: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
2435 unix_disabled: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
2436 unix_disabled: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
2437 unix_disabled: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
2438 unix_disabled: test no password size limits enforced (if truncate_size=None) ... ok
2439 unix_disabled: validate 'truncate_error' setting & related attributes ... ok
2440 unix_disabled: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
2441 unix_fallback: validate required attributes ... ok
2442 unix_fallback: test basic config-string workflow ... ok
2443 unix_fallback: test basic using() workflow ... ok
2444 unix_fallback: test basic hash-string workflow. ... ok
2445 unix_fallback: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
2446 unix_fallback: test hashes can be unicode or bytes ... ok
2447 unix_fallback: test multi-backend support ... SKIP: handler only has one backend
2448 unix_fallback: validate optional salt attributes ... SKIP: handler doesn't have salt
2449 unix_fallback: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
2450 unix_fallback: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
2451 unix_fallback: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
2452 unix_fallback: test hash() honors salt_chars ... SKIP: handler doesn't have salt
2453 unix_fallback: test non-string salt values ... SKIP: handler doesn't have salt
2454 unix_fallback: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
2455 unix_fallback: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
2456 unix_fallback: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
2457 unix_fallback: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
2458 unix_fallback: test password case sensitivity ... ok
2459 unix_fallback: test non-string passwords are rejected ... ok
2460 unix_fallback: test MAX_PASSWORD_SIZE is enforced ... ok
2461 unix_fallback: test forbidden characters not allowed in password ... SKIP: none listed
2462 unix_fallback: test known hashes ... ok
2463 unix_fallback: parsehash() ... ok
2464 unix_fallback: test known alternate hashes ... SKIP: no alternate hashes provided
2465 unix_fallback: parsehash() -- known outputs ... SKIP: no samples present
2466 unix_fallback: test known config strings ... SKIP: hash has no settings
2467 unix_fallback: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
2468 unix_fallback: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
2469 unix_fallback: test known foreign hashes ... SKIP: not applicable
2470 unix_fallback: test non-string hashes are rejected ... ok
2471 unix_fallback: fuzz testing -- random passwords and options ... SKIP: not applicable
2472 unix_fallback: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: not applicable
2473 unix_fallback: test enable_wildcard flag ... ok
2474 unix_fallback: test preserves existing disabled hash ... ok
2475 unix_fallback: .disable() / .enable() methods ... ok
2476 unix_fallback: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
2477 unix_fallback: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
2478 unix_fallback: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
2479 unix_fallback: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
2480 unix_fallback: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
2481 unix_fallback: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
2482 unix_fallback: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
2483 unix_fallback: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
2484 unix_fallback: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
2485 unix_fallback: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
2486 unix_fallback: test no password size limits enforced (if truncate_size=None) ... ok
2487 unix_fallback: validate 'truncate_error' setting & related attributes ... ok
2488 unix_fallback: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
2489 argon2 (argon2_cffi backend): validate required attributes ... ok
2490 argon2 (argon2_cffi backend): test basic config-string workflow ... ok
2491 argon2 (argon2_cffi backend): test basic using() workflow ... ok
2492 argon2 (argon2_cffi backend): test basic hash-string workflow. ... ok
2493 argon2 (argon2_cffi backend): test_03_legacy_hash_workflow (passlib.tests.test_handlers_argon2.argon2_argon2_cffi_test) ... SKIP: legacy 1.6 workflow not supported
2494 argon2 (argon2_cffi backend): test hashes can be unicode or bytes ... ok
2495 argon2 (argon2_cffi backend): test multi-backend support ... ok
2496 argon2 (argon2_cffi backend): validate optional salt attributes ... ok
2497 argon2 (argon2_cffi backend): test hash() / genconfig() creates new salt each time ... ok
2498 argon2 (argon2_cffi backend): test hash() / genconfig() honors min_salt_size ... ok
2499 argon2 (argon2_cffi backend): test hash() / genconfig() honors max_salt_size ... ok
2500 argon2 (argon2_cffi backend): test hash() honors salt_chars ... ok
2501 argon2 (argon2_cffi backend): test non-string salt values ... ok
2502 argon2 (argon2_cffi backend): validate optional rounds attributes ... ok
2503 argon2 (argon2_cffi backend): test hash() / genconfig() honors min_rounds ... ok
2504 argon2 (argon2_cffi backend): test hash() / genconfig() honors max_rounds ... ok
2505 argon2 (argon2_cffi backend): validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
2506 argon2 (argon2_cffi backend): test password case sensitivity ... ok
2507 argon2 (argon2_cffi backend): test non-string passwords are rejected ... ok
2508 argon2 (argon2_cffi backend): test MAX_PASSWORD_SIZE is enforced ... ok
2509 argon2 (argon2_cffi backend): test forbidden characters not allowed in password ... SKIP: none listed
2510 argon2 (argon2_cffi backend): test known hashes ... ok
2511 argon2 (argon2_cffi backend): parsehash() ... ok
2512 argon2 (argon2_cffi backend): test known alternate hashes ... SKIP: no alternate hashes provided
2513 argon2 (argon2_cffi backend): parsehash() -- known outputs ... ok
2514 argon2 (argon2_cffi backend): test known config strings ... SKIP: no config strings provided
2515 argon2 (argon2_cffi backend): test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
2516 argon2 (argon2_cffi backend): test known identifiable-but-malformed strings ... ok
2517 argon2 (argon2_cffi backend): test known foreign hashes ... ok
2518 argon2 (argon2_cffi backend): test non-string hashes are rejected ... ok
2519 argon2 (argon2_cffi backend): fuzz testing -- random passwords and options ... ok
2520 argon2 (argon2_cffi backend): multithreaded fuzz testing -- random password & options using multiple threads ... ok
2521 argon2 (argon2_cffi backend): verify we're using right base64 encoding for argon2 ... ok
2522 argon2 (argon2_cffi backend): test_data_parameter (passlib.tests.test_handlers_argon2.argon2_argon2_cffi_test) ... ok
2523 argon2 (argon2_cffi backend): .disable() / .enable() methods ... SKIP: not applicable
2524 argon2 (argon2_cffi backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
2525 argon2 (argon2_cffi backend): HasRounds.using() -- max_rounds / max_desired_rounds ... ok
2526 argon2 (argon2_cffi backend): HasRounds.using() -- desired_rounds + needs_update() ... ok
2527 argon2 (argon2_cffi backend): HasRounds.using() -- sanity check test harness ... ok
2528 argon2 (argon2_cffi backend): HasRounds.using() -- default_rounds ... ok
2529 argon2 (argon2_cffi backend): HasRounds.using() -- min_rounds / min_desired_rounds ... ok
2530 argon2 (argon2_cffi backend): HasRounds.using() -- rounds ... ok
2531 argon2 (argon2_cffi backend): HasRounds.using() -- vary_rounds generation ... ok
2532 argon2 (argon2_cffi backend): HasRounds.using() -- vary_rounds parsing ... ok
2533 argon2 (argon2_cffi backend): test_keyid_and_data_parameters (passlib.tests.test_handlers_argon2.argon2_argon2_cffi_test) ... ok
2534 argon2 (argon2_cffi backend): test_keyid_parameter (passlib.tests.test_handlers_argon2.argon2_argon2_cffi_test) ... ok
2535 argon2 (argon2_cffi backend): test_needs_update_w_type (passlib.tests.test_handlers_argon2.argon2_argon2_cffi_test) ... ok
2536 argon2 (argon2_cffi backend): test_needs_update_w_version (passlib.tests.test_handlers_argon2.argon2_argon2_cffi_test) ... ok
2537 argon2 (argon2_cffi backend): test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
2538 argon2 (argon2_cffi backend): test no password size limits enforced (if truncate_size=None) ... ok
2539 argon2 (argon2_cffi backend): validate 'truncate_error' setting & related attributes ... ok
2540 argon2 (argon2_cffi backend): test_type_kwd (passlib.tests.test_handlers_argon2.argon2_argon2_cffi_test) ... ok
2541 argon2 (argon2_cffi backend): test_type_using (passlib.tests.test_handlers_argon2.argon2_argon2_cffi_test) ... ok
2542 argon2 (argon2_cffi backend): Handler.using() -- default_salt_size ... ok
2543 argon2 (argon2pure backend): validate required attributes ... SKIP: backend not available
2544 argon2 (argon2pure backend): test basic config-string workflow ... SKIP: backend not available
2545 argon2 (argon2pure backend): test basic using() workflow ... SKIP: backend not available
2546 argon2 (argon2pure backend): test basic hash-string workflow. ... SKIP: backend not available
2547 argon2 (argon2pure backend): test_03_legacy_hash_workflow (passlib.tests.test_handlers_argon2.argon2_argon2pure_test) ... SKIP: backend not available
2548 argon2 (argon2pure backend): test hashes can be unicode or bytes ... SKIP: backend not available
2549 argon2 (argon2pure backend): test multi-backend support ... SKIP: backend not available
2550 argon2 (argon2pure backend): validate optional salt attributes ... SKIP: backend not available
2551 argon2 (argon2pure backend): test hash() / genconfig() creates new salt each time ... SKIP: backend not available
2552 argon2 (argon2pure backend): test hash() / genconfig() honors min_salt_size ... SKIP: backend not available
2553 argon2 (argon2pure backend): test hash() / genconfig() honors max_salt_size ... SKIP: backend not available
2554 argon2 (argon2pure backend): test hash() honors salt_chars ... SKIP: backend not available
2555 argon2 (argon2pure backend): test non-string salt values ... SKIP: backend not available
2556 argon2 (argon2pure backend): validate optional rounds attributes ... SKIP: backend not available
2557 argon2 (argon2pure backend): test hash() / genconfig() honors min_rounds ... SKIP: backend not available
2558 argon2 (argon2pure backend): test hash() / genconfig() honors max_rounds ... SKIP: backend not available
2559 argon2 (argon2pure backend): validate HasManyIdents configuration ... SKIP: backend not available
2560 argon2 (argon2pure backend): test password case sensitivity ... SKIP: backend not available
2561 argon2 (argon2pure backend): test non-string passwords are rejected ... SKIP: backend not available
2562 argon2 (argon2pure backend): test MAX_PASSWORD_SIZE is enforced ... SKIP: backend not available
2563 argon2 (argon2pure backend): test forbidden characters not allowed in password ... SKIP: backend not available
2564 argon2 (argon2pure backend): test known hashes ... SKIP: backend not available
2565 argon2 (argon2pure backend): parsehash() ... SKIP: backend not available
2566 argon2 (argon2pure backend): test known alternate hashes ... SKIP: backend not available
2567 argon2 (argon2pure backend): parsehash() -- known outputs ... SKIP: backend not available
2568 argon2 (argon2pure backend): test known config strings ... SKIP: backend not available
2569 argon2 (argon2pure backend): test known unidentifiably-mangled strings ... SKIP: backend not available
2570 argon2 (argon2pure backend): test known identifiable-but-malformed strings ... SKIP: backend not available
2571 argon2 (argon2pure backend): test known foreign hashes ... SKIP: backend not available
2572 argon2 (argon2pure backend): test non-string hashes are rejected ... SKIP: backend not available
2573 argon2 (argon2pure backend): fuzz testing -- random passwords and options ... SKIP: backend not available
2574 argon2 (argon2pure backend): multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: backend not available
2575 argon2 (argon2pure backend): verify we're using right base64 encoding for argon2 ... SKIP: backend not available
2576 argon2 (argon2pure backend): test_data_parameter (passlib.tests.test_handlers_argon2.argon2_argon2pure_test) ... SKIP: backend not available
2577 argon2 (argon2pure backend): .disable() / .enable() methods ... SKIP: backend not available
2578 argon2 (argon2pure backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: backend not available
2579 argon2 (argon2pure backend): HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: backend not available
2580 argon2 (argon2pure backend): HasRounds.using() -- desired_rounds + needs_update() ... SKIP: backend not available
2581 argon2 (argon2pure backend): HasRounds.using() -- sanity check test harness ... SKIP: backend not available
2582 argon2 (argon2pure backend): HasRounds.using() -- default_rounds ... SKIP: backend not available
2583 argon2 (argon2pure backend): HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: backend not available
2584 argon2 (argon2pure backend): HasRounds.using() -- rounds ... SKIP: backend not available
2585 argon2 (argon2pure backend): HasRounds.using() -- vary_rounds generation ... SKIP: backend not available
2586 argon2 (argon2pure backend): HasRounds.using() -- vary_rounds parsing ... SKIP: backend not available
2587 argon2 (argon2pure backend): test_keyid_and_data_parameters (passlib.tests.test_handlers_argon2.argon2_argon2pure_test) ... SKIP: backend not available
2588 argon2 (argon2pure backend): test_keyid_parameter (passlib.tests.test_handlers_argon2.argon2_argon2pure_test) ... SKIP: backend not available
2589 argon2 (argon2pure backend): test_needs_update_w_type (passlib.tests.test_handlers_argon2.argon2_argon2pure_test) ... SKIP: backend not available
2590 argon2 (argon2pure backend): test_needs_update_w_version (passlib.tests.test_handlers_argon2.argon2_argon2pure_test) ... SKIP: backend not available
2591 argon2 (argon2pure backend): test password size limits raise truncate_error (if appropriate) ... SKIP: backend not available
2592 argon2 (argon2pure backend): test no password size limits enforced (if truncate_size=None) ... SKIP: backend not available
2593 argon2 (argon2pure backend): validate 'truncate_error' setting & related attributes ... SKIP: backend not available
2594 argon2 (argon2pure backend): test_type_kwd (passlib.tests.test_handlers_argon2.argon2_argon2pure_test) ... SKIP: backend not available
2595 argon2 (argon2pure backend): test_type_using (passlib.tests.test_handlers_argon2.argon2_argon2pure_test) ... SKIP: backend not available
2596 argon2 (argon2pure backend): Handler.using() -- default_salt_size ... SKIP: backend not available
2597 bcrypt (bcrypt backend): validate required attributes ... ok
2598 bcrypt (bcrypt backend): test basic config-string workflow ... ok
2599 bcrypt (bcrypt backend): test basic using() workflow ... ok
2600 bcrypt (bcrypt backend): test basic hash-string workflow. ... ok
2601 bcrypt (bcrypt backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
2602 bcrypt (bcrypt backend): test hashes can be unicode or bytes ... ok
2603 bcrypt (bcrypt backend): test multi-backend support ... ok
2604 bcrypt (bcrypt backend): validate optional salt attributes ... ok
2605 bcrypt (bcrypt backend): test hash() / genconfig() creates new salt each time ... ok
2606 bcrypt (bcrypt backend): test hash() / genconfig() honors min_salt_size ... ok
2607 bcrypt (bcrypt backend): test hash() / genconfig() honors max_salt_size ... ok
2608 bcrypt (bcrypt backend): test hash() honors salt_chars ... ok
2609 bcrypt (bcrypt backend): test non-string salt values ... ok
2610 bcrypt (bcrypt backend): validate optional rounds attributes ... ok
2611 bcrypt (bcrypt backend): test hash() / genconfig() honors min_rounds ... ok
2612 bcrypt (bcrypt backend): test hash() / genconfig() honors max_rounds ... ok
2613 bcrypt (bcrypt backend): validate HasManyIdents configuration ... ok
2614 bcrypt (bcrypt backend): test password case sensitivity ... ok
2615 bcrypt (bcrypt backend): test non-string passwords are rejected ... ok
2616 bcrypt (bcrypt backend): test MAX_PASSWORD_SIZE is enforced ... ok
2617 bcrypt (bcrypt backend): test forbidden characters not allowed in password ... ok
2618 bcrypt (bcrypt backend): test known hashes ... ok
2619 bcrypt (bcrypt backend): parsehash() ... ok
2620 bcrypt (bcrypt backend): test known alternate hashes ... SKIP: no alternate hashes provided
2621 bcrypt (bcrypt backend): parsehash() -- known outputs ... SKIP: no samples present
2622 bcrypt (bcrypt backend): test known config strings ... ok
2623 bcrypt (bcrypt backend): test known unidentifiably-mangled strings ... ok
2624 bcrypt (bcrypt backend): test known identifiable-but-malformed strings ... ok
2625 bcrypt (bcrypt backend): test known foreign hashes ... ok
2626 bcrypt (bcrypt backend): test non-string hashes are rejected ... ok
2627 bcrypt (bcrypt backend): fuzz testing -- random passwords and options ... ok
2628 bcrypt (bcrypt backend): multithreaded fuzz testing -- random password & options using multiple threads ... ok
2629 bcrypt (bcrypt backend): test passlib correctly handles bcrypt padding bits ... ok
2630 bcrypt (bcrypt backend): .disable() / .enable() methods ... SKIP: not applicable
2631 bcrypt (bcrypt backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... ok
2632 bcrypt (bcrypt backend): HasRounds.using() -- max_rounds / max_desired_rounds ... ok
2633 bcrypt (bcrypt backend): HasRounds.using() -- desired_rounds + needs_update() ... ok
2634 bcrypt (bcrypt backend): HasRounds.using() -- sanity check test harness ... ok
2635 bcrypt (bcrypt backend): HasRounds.using() -- default_rounds ... ok
2636 bcrypt (bcrypt backend): HasRounds.using() -- min_rounds / min_desired_rounds ... ok
2637 bcrypt (bcrypt backend): HasRounds.using() -- rounds ... ok
2638 bcrypt (bcrypt backend): HasRounds.using() -- vary_rounds generation ... ok
2639 bcrypt (bcrypt backend): HasRounds.using() -- vary_rounds parsing ... ok
2640 bcrypt (bcrypt backend): needs_update corrects bcrypt padding ... ok
2641 bcrypt (bcrypt backend): test password size limits raise truncate_error (if appropriate) ... ok
2642 bcrypt (bcrypt backend): test no password size limits enforced (if truncate_size=None) ... SKIP: truncate_size is set
2643 bcrypt (bcrypt backend): validate 'truncate_error' setting & related attributes ... ok
2644 bcrypt (bcrypt backend): Handler.using() -- default_salt_size ... ok
2645 bcrypt (bcryptor backend): validate required attributes ... SKIP: backend not available
2646 bcrypt (bcryptor backend): test basic config-string workflow ... SKIP: backend not available
2647 bcrypt (bcryptor backend): test basic using() workflow ... SKIP: backend not available
2648 bcrypt (bcryptor backend): test basic hash-string workflow. ... SKIP: backend not available
2649 bcrypt (bcryptor backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... SKIP: backend not available
2650 bcrypt (bcryptor backend): test hashes can be unicode or bytes ... SKIP: backend not available
2651 bcrypt (bcryptor backend): test multi-backend support ... SKIP: backend not available
2652 bcrypt (bcryptor backend): validate optional salt attributes ... SKIP: backend not available
2653 bcrypt (bcryptor backend): test hash() / genconfig() creates new salt each time ... SKIP: backend not available
2654 bcrypt (bcryptor backend): test hash() / genconfig() honors min_salt_size ... SKIP: backend not available
2655 bcrypt (bcryptor backend): test hash() / genconfig() honors max_salt_size ... SKIP: backend not available
2656 bcrypt (bcryptor backend): test hash() honors salt_chars ... SKIP: backend not available
2657 bcrypt (bcryptor backend): test non-string salt values ... SKIP: backend not available
2658 bcrypt (bcryptor backend): validate optional rounds attributes ... SKIP: backend not available
2659 bcrypt (bcryptor backend): test hash() / genconfig() honors min_rounds ... SKIP: backend not available
2660 bcrypt (bcryptor backend): test hash() / genconfig() honors max_rounds ... SKIP: backend not available
2661 bcrypt (bcryptor backend): validate HasManyIdents configuration ... SKIP: backend not available
2662 bcrypt (bcryptor backend): test password case sensitivity ... SKIP: backend not available
2663 bcrypt (bcryptor backend): test non-string passwords are rejected ... SKIP: backend not available
2664 bcrypt (bcryptor backend): test MAX_PASSWORD_SIZE is enforced ... SKIP: backend not available
2665 bcrypt (bcryptor backend): test forbidden characters not allowed in password ... SKIP: backend not available
2666 bcrypt (bcryptor backend): test known hashes ... SKIP: backend not available
2667 bcrypt (bcryptor backend): parsehash() ... SKIP: backend not available
2668 bcrypt (bcryptor backend): test known alternate hashes ... SKIP: backend not available
2669 bcrypt (bcryptor backend): parsehash() -- known outputs ... SKIP: backend not available
2670 bcrypt (bcryptor backend): test known config strings ... SKIP: backend not available
2671 bcrypt (bcryptor backend): test known unidentifiably-mangled strings ... SKIP: backend not available
2672 bcrypt (bcryptor backend): test known identifiable-but-malformed strings ... SKIP: backend not available
2673 bcrypt (bcryptor backend): test known foreign hashes ... SKIP: backend not available
2674 bcrypt (bcryptor backend): test non-string hashes are rejected ... SKIP: backend not available
2675 bcrypt (bcryptor backend): fuzz testing -- random passwords and options ... SKIP: backend not available
2676 bcrypt (bcryptor backend): multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: backend not available
2677 bcrypt (bcryptor backend): test passlib correctly handles bcrypt padding bits ... SKIP: backend not available
2678 bcrypt (bcryptor backend): .disable() / .enable() methods ... SKIP: backend not available
2679 bcrypt (bcryptor backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: backend not available
2680 bcrypt (bcryptor backend): HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: backend not available
2681 bcrypt (bcryptor backend): HasRounds.using() -- desired_rounds + needs_update() ... SKIP: backend not available
2682 bcrypt (bcryptor backend): HasRounds.using() -- sanity check test harness ... SKIP: backend not available
2683 bcrypt (bcryptor backend): HasRounds.using() -- default_rounds ... SKIP: backend not available
2684 bcrypt (bcryptor backend): HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: backend not available
2685 bcrypt (bcryptor backend): HasRounds.using() -- rounds ... SKIP: backend not available
2686 bcrypt (bcryptor backend): HasRounds.using() -- vary_rounds generation ... SKIP: backend not available
2687 bcrypt (bcryptor backend): HasRounds.using() -- vary_rounds parsing ... SKIP: backend not available
2688 bcrypt (bcryptor backend): needs_update corrects bcrypt padding ... SKIP: backend not available
2689 bcrypt (bcryptor backend): test password size limits raise truncate_error (if appropriate) ... SKIP: backend not available
2690 bcrypt (bcryptor backend): test no password size limits enforced (if truncate_size=None) ... SKIP: backend not available
2691 bcrypt (bcryptor backend): validate 'truncate_error' setting & related attributes ... SKIP: backend not available
2692 bcrypt (bcryptor backend): Handler.using() -- default_salt_size ... SKIP: backend not available
2693 bcrypt (builtin backend): validate required attributes ... SKIP: backend not available
2694 bcrypt (builtin backend): test basic config-string workflow ... SKIP: backend not available
2695 bcrypt (builtin backend): test basic using() workflow ... SKIP: backend not available
2696 bcrypt (builtin backend): test basic hash-string workflow. ... SKIP: backend not available
2697 bcrypt (builtin backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... SKIP: backend not available
2698 bcrypt (builtin backend): test hashes can be unicode or bytes ... SKIP: backend not available
2699 bcrypt (builtin backend): test multi-backend support ... SKIP: backend not available
2700 bcrypt (builtin backend): validate optional salt attributes ... SKIP: backend not available
2701 bcrypt (builtin backend): test hash() / genconfig() creates new salt each time ... SKIP: backend not available
2702 bcrypt (builtin backend): test hash() / genconfig() honors min_salt_size ... SKIP: backend not available
2703 bcrypt (builtin backend): test hash() / genconfig() honors max_salt_size ... SKIP: backend not available
2704 bcrypt (builtin backend): test hash() honors salt_chars ... SKIP: backend not available
2705 bcrypt (builtin backend): test non-string salt values ... SKIP: backend not available
2706 bcrypt (builtin backend): validate optional rounds attributes ... SKIP: backend not available
2707 bcrypt (builtin backend): test hash() / genconfig() honors min_rounds ... SKIP: backend not available
2708 bcrypt (builtin backend): test hash() / genconfig() honors max_rounds ... SKIP: backend not available
2709 bcrypt (builtin backend): validate HasManyIdents configuration ... SKIP: backend not available
2710 bcrypt (builtin backend): test password case sensitivity ... SKIP: backend not available
2711 bcrypt (builtin backend): test non-string passwords are rejected ... SKIP: backend not available
2712 bcrypt (builtin backend): test MAX_PASSWORD_SIZE is enforced ... SKIP: backend not available
2713 bcrypt (builtin backend): test forbidden characters not allowed in password ... SKIP: backend not available
2714 bcrypt (builtin backend): test known hashes ... SKIP: backend not available
2715 bcrypt (builtin backend): parsehash() ... SKIP: backend not available
2716 bcrypt (builtin backend): test known alternate hashes ... SKIP: backend not available
2717 bcrypt (builtin backend): parsehash() -- known outputs ... SKIP: backend not available
2718 bcrypt (builtin backend): test known config strings ... SKIP: backend not available
2719 bcrypt (builtin backend): test known unidentifiably-mangled strings ... SKIP: backend not available
2720 bcrypt (builtin backend): test known identifiable-but-malformed strings ... SKIP: backend not available
2721 bcrypt (builtin backend): test known foreign hashes ... SKIP: backend not available
2722 bcrypt (builtin backend): test non-string hashes are rejected ... SKIP: backend not available
2723 bcrypt (builtin backend): fuzz testing -- random passwords and options ... SKIP: backend not available
2724 bcrypt (builtin backend): multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: backend not available
2725 bcrypt (builtin backend): test passlib correctly handles bcrypt padding bits ... SKIP: backend not available
2726 bcrypt (builtin backend): .disable() / .enable() methods ... SKIP: backend not available
2727 bcrypt (builtin backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: backend not available
2728 bcrypt (builtin backend): HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: backend not available
2729 bcrypt (builtin backend): HasRounds.using() -- desired_rounds + needs_update() ... SKIP: backend not available
2730 bcrypt (builtin backend): HasRounds.using() -- sanity check test harness ... SKIP: backend not available
2731 bcrypt (builtin backend): HasRounds.using() -- default_rounds ... SKIP: backend not available
2732 bcrypt (builtin backend): HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: backend not available
2733 bcrypt (builtin backend): HasRounds.using() -- rounds ... SKIP: backend not available
2734 bcrypt (builtin backend): HasRounds.using() -- vary_rounds generation ... SKIP: backend not available
2735 bcrypt (builtin backend): HasRounds.using() -- vary_rounds parsing ... SKIP: backend not available
2736 bcrypt (builtin backend): needs_update corrects bcrypt padding ... SKIP: backend not available
2737 bcrypt (builtin backend): test password size limits raise truncate_error (if appropriate) ... SKIP: backend not available
2738 bcrypt (builtin backend): test no password size limits enforced (if truncate_size=None) ... SKIP: backend not available
2739 bcrypt (builtin backend): validate 'truncate_error' setting & related attributes ... SKIP: backend not available
2740 bcrypt (builtin backend): Handler.using() -- default_salt_size ... SKIP: backend not available
2741 bcrypt (os_crypt backend): validate required attributes ... ok
2742 bcrypt (os_crypt backend): test basic config-string workflow ... ok
2743 bcrypt (os_crypt backend): test basic using() workflow ... ok
2744 bcrypt (os_crypt backend): test basic hash-string workflow. ... ok
2745 bcrypt (os_crypt backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
2746 bcrypt (os_crypt backend): test hashes can be unicode or bytes ... ok
2747 bcrypt (os_crypt backend): test multi-backend support ... ok
2748 bcrypt (os_crypt backend): validate optional salt attributes ... ok
2749 bcrypt (os_crypt backend): test hash() / genconfig() creates new salt each time ... ok
2750 bcrypt (os_crypt backend): test hash() / genconfig() honors min_salt_size ... ok
2751 bcrypt (os_crypt backend): test hash() / genconfig() honors max_salt_size ... ok
2752 bcrypt (os_crypt backend): test hash() honors salt_chars ... ok
2753 bcrypt (os_crypt backend): test non-string salt values ... ok
2754 bcrypt (os_crypt backend): validate optional rounds attributes ... ok
2755 bcrypt (os_crypt backend): test hash() / genconfig() honors min_rounds ... ok
2756 bcrypt (os_crypt backend): test hash() / genconfig() honors max_rounds ... ok
2757 bcrypt (os_crypt backend): validate HasManyIdents configuration ... ok
2758 bcrypt (os_crypt backend): test password case sensitivity ... ok
2759 bcrypt (os_crypt backend): test non-string passwords are rejected ... ok
2760 bcrypt (os_crypt backend): test MAX_PASSWORD_SIZE is enforced ... ok
2761 bcrypt (os_crypt backend): test forbidden characters not allowed in password ... ok
2762 bcrypt (os_crypt backend): test known hashes ... ok
2763 bcrypt (os_crypt backend): parsehash() ... ok
2764 bcrypt (os_crypt backend): test known alternate hashes ... SKIP: no alternate hashes provided
2765 bcrypt (os_crypt backend): parsehash() -- known outputs ... SKIP: no samples present
2766 bcrypt (os_crypt backend): test known config strings ... ok
2767 bcrypt (os_crypt backend): test known unidentifiably-mangled strings ... ok
2768 bcrypt (os_crypt backend): test known identifiable-but-malformed strings ... ok
2769 bcrypt (os_crypt backend): test known foreign hashes ... ok
2770 bcrypt (os_crypt backend): test non-string hashes are rejected ... ok
2771 bcrypt (os_crypt backend): fuzz testing -- random passwords and options ... ok
2772 bcrypt (os_crypt backend): multithreaded fuzz testing -- random password & options using multiple threads ... ok
2773 bcrypt (os_crypt backend): test with faulty crypt() ... ok
2774 bcrypt (os_crypt backend): test per-call crypt() fallback ... ok
2775 bcrypt (os_crypt backend): test platform-specific crypt() support detection ... SKIP: no data for 'sunos5' platform (current host support = True)
2776 bcrypt (os_crypt backend): test passlib correctly handles bcrypt padding bits ... ok
2777 bcrypt (os_crypt backend): .disable() / .enable() methods ... SKIP: not applicable
2778 bcrypt (os_crypt backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... ok
2779 bcrypt (os_crypt backend): HasRounds.using() -- max_rounds / max_desired_rounds ... ok
2780 bcrypt (os_crypt backend): HasRounds.using() -- desired_rounds + needs_update() ... ok
2781 bcrypt (os_crypt backend): HasRounds.using() -- sanity check test harness ... ok
2782 bcrypt (os_crypt backend): HasRounds.using() -- default_rounds ... ok
2783 bcrypt (os_crypt backend): HasRounds.using() -- min_rounds / min_desired_rounds ... ok
2784 bcrypt (os_crypt backend): HasRounds.using() -- rounds ... ok
2785 bcrypt (os_crypt backend): HasRounds.using() -- vary_rounds generation ... ok
2786 bcrypt (os_crypt backend): HasRounds.using() -- vary_rounds parsing ... ok
2787 bcrypt (os_crypt backend): needs_update corrects bcrypt padding ... ok
2788 bcrypt (os_crypt backend): test password size limits raise truncate_error (if appropriate) ... ok
2789 bcrypt (os_crypt backend): test no password size limits enforced (if truncate_size=None) ... SKIP: truncate_size is set
2790 bcrypt (os_crypt backend): validate 'truncate_error' setting & related attributes ... ok
2791 bcrypt (os_crypt backend): Handler.using() -- default_salt_size ... ok
2792 bcrypt (pybcrypt backend): validate required attributes ... SKIP: backend not available
2793 bcrypt (pybcrypt backend): test basic config-string workflow ... SKIP: backend not available
2794 bcrypt (pybcrypt backend): test basic using() workflow ... SKIP: backend not available
2795 bcrypt (pybcrypt backend): test basic hash-string workflow. ... SKIP: backend not available
2796 bcrypt (pybcrypt backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... SKIP: backend not available
2797 bcrypt (pybcrypt backend): test hashes can be unicode or bytes ... SKIP: backend not available
2798 bcrypt (pybcrypt backend): test multi-backend support ... SKIP: backend not available
2799 bcrypt (pybcrypt backend): validate optional salt attributes ... SKIP: backend not available
2800 bcrypt (pybcrypt backend): test hash() / genconfig() creates new salt each time ... SKIP: backend not available
2801 bcrypt (pybcrypt backend): test hash() / genconfig() honors min_salt_size ... SKIP: backend not available
2802 bcrypt (pybcrypt backend): test hash() / genconfig() honors max_salt_size ... SKIP: backend not available
2803 bcrypt (pybcrypt backend): test hash() honors salt_chars ... SKIP: backend not available
2804 bcrypt (pybcrypt backend): test non-string salt values ... SKIP: backend not available
2805 bcrypt (pybcrypt backend): validate optional rounds attributes ... SKIP: backend not available
2806 bcrypt (pybcrypt backend): test hash() / genconfig() honors min_rounds ... SKIP: backend not available
2807 bcrypt (pybcrypt backend): test hash() / genconfig() honors max_rounds ... SKIP: backend not available
2808 bcrypt (pybcrypt backend): validate HasManyIdents configuration ... SKIP: backend not available
2809 bcrypt (pybcrypt backend): test password case sensitivity ... SKIP: backend not available
2810 bcrypt (pybcrypt backend): test non-string passwords are rejected ... SKIP: backend not available
2811 bcrypt (pybcrypt backend): test MAX_PASSWORD_SIZE is enforced ... SKIP: backend not available
2812 bcrypt (pybcrypt backend): test forbidden characters not allowed in password ... SKIP: backend not available
2813 bcrypt (pybcrypt backend): test known hashes ... SKIP: backend not available
2814 bcrypt (pybcrypt backend): parsehash() ... SKIP: backend not available
2815 bcrypt (pybcrypt backend): test known alternate hashes ... SKIP: backend not available
2816 bcrypt (pybcrypt backend): parsehash() -- known outputs ... SKIP: backend not available
2817 bcrypt (pybcrypt backend): test known config strings ... SKIP: backend not available
2818 bcrypt (pybcrypt backend): test known unidentifiably-mangled strings ... SKIP: backend not available
2819 bcrypt (pybcrypt backend): test known identifiable-but-malformed strings ... SKIP: backend not available
2820 bcrypt (pybcrypt backend): test known foreign hashes ... SKIP: backend not available
2821 bcrypt (pybcrypt backend): test non-string hashes are rejected ... SKIP: backend not available
2822 bcrypt (pybcrypt backend): fuzz testing -- random passwords and options ... SKIP: backend not available
2823 bcrypt (pybcrypt backend): multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: backend not available
2824 bcrypt (pybcrypt backend): test passlib correctly handles bcrypt padding bits ... SKIP: backend not available
2825 bcrypt (pybcrypt backend): .disable() / .enable() methods ... SKIP: backend not available
2826 bcrypt (pybcrypt backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: backend not available
2827 bcrypt (pybcrypt backend): HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: backend not available
2828 bcrypt (pybcrypt backend): HasRounds.using() -- desired_rounds + needs_update() ... SKIP: backend not available
2829 bcrypt (pybcrypt backend): HasRounds.using() -- sanity check test harness ... SKIP: backend not available
2830 bcrypt (pybcrypt backend): HasRounds.using() -- default_rounds ... SKIP: backend not available
2831 bcrypt (pybcrypt backend): HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: backend not available
2832 bcrypt (pybcrypt backend): HasRounds.using() -- rounds ... SKIP: backend not available
2833 bcrypt (pybcrypt backend): HasRounds.using() -- vary_rounds generation ... SKIP: backend not available
2834 bcrypt (pybcrypt backend): HasRounds.using() -- vary_rounds parsing ... SKIP: backend not available
2835 bcrypt (pybcrypt backend): needs_update corrects bcrypt padding ... SKIP: backend not available
2836 bcrypt (pybcrypt backend): test password size limits raise truncate_error (if appropriate) ... SKIP: backend not available
2837 bcrypt (pybcrypt backend): test no password size limits enforced (if truncate_size=None) ... SKIP: backend not available
2838 bcrypt (pybcrypt backend): validate 'truncate_error' setting & related attributes ... SKIP: backend not available
2839 bcrypt (pybcrypt backend): Handler.using() -- default_salt_size ... SKIP: backend not available
2840 bcrypt_sha256 (bcrypt backend): validate required attributes ... ok
2841 bcrypt_sha256 (bcrypt backend): test basic config-string workflow ... ok
2842 bcrypt_sha256 (bcrypt backend): test basic using() workflow ... ok
2843 bcrypt_sha256 (bcrypt backend): test basic hash-string workflow. ... ok
2844 bcrypt_sha256 (bcrypt backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
2845 bcrypt_sha256 (bcrypt backend): test hashes can be unicode or bytes ... ok
2846 bcrypt_sha256 (bcrypt backend): test multi-backend support ... ok
2847 bcrypt_sha256 (bcrypt backend): validate optional salt attributes ... ok
2848 bcrypt_sha256 (bcrypt backend): test hash() / genconfig() creates new salt each time ... ok
2849 bcrypt_sha256 (bcrypt backend): test hash() / genconfig() honors min_salt_size ... ok
2850 bcrypt_sha256 (bcrypt backend): test hash() / genconfig() honors max_salt_size ... ok
2851 bcrypt_sha256 (bcrypt backend): test hash() honors salt_chars ... ok
2852 bcrypt_sha256 (bcrypt backend): test non-string salt values ... ok
2853 bcrypt_sha256 (bcrypt backend): validate optional rounds attributes ... ok
2854 bcrypt_sha256 (bcrypt backend): test hash() / genconfig() honors min_rounds ... ok
2855 bcrypt_sha256 (bcrypt backend): test hash() / genconfig() honors max_rounds ... ok
2856 bcrypt_sha256 (bcrypt backend): validate HasManyIdents configuration ... SKIP: multiple idents not supported
2857 bcrypt_sha256 (bcrypt backend): test_30_HasOneIdent (passlib.tests.test_handlers_bcrypt.bcrypt_sha256_bcrypt_test) ... ok
2858 bcrypt_sha256 (bcrypt backend): test password case sensitivity ... ok
2859 bcrypt_sha256 (bcrypt backend): test non-string passwords are rejected ... ok
2860 bcrypt_sha256 (bcrypt backend): test MAX_PASSWORD_SIZE is enforced ... ok
2861 bcrypt_sha256 (bcrypt backend): test forbidden characters not allowed in password ... SKIP: none listed
2862 bcrypt_sha256 (bcrypt backend): test known hashes ... ok
2863 bcrypt_sha256 (bcrypt backend): parsehash() ... ok
2864 bcrypt_sha256 (bcrypt backend): test known alternate hashes ... SKIP: no alternate hashes provided
2865 bcrypt_sha256 (bcrypt backend): parsehash() -- known outputs ... SKIP: no samples present
2866 bcrypt_sha256 (bcrypt backend): test known config strings ... ok
2867 bcrypt_sha256 (bcrypt backend): test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
2868 bcrypt_sha256 (bcrypt backend): test known identifiable-but-malformed strings ... ok
2869 bcrypt_sha256 (bcrypt backend): test known foreign hashes ... ok
2870 bcrypt_sha256 (bcrypt backend): test non-string hashes are rejected ... ok
2871 bcrypt_sha256 (bcrypt backend): fuzz testing -- random passwords and options ... ok
2872 bcrypt_sha256 (bcrypt backend): multithreaded fuzz testing -- random password & options using multiple threads ... ok
2873 bcrypt_sha256 (bcrypt backend): test digest calc v2 matches bcrypt() ... ok
2874 bcrypt_sha256 (bcrypt backend): .disable() / .enable() methods ... SKIP: not applicable
2875 bcrypt_sha256 (bcrypt backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: multiple idents not supported
2876 bcrypt_sha256 (bcrypt backend): HasRounds.using() -- max_rounds / max_desired_rounds ... ok
2877 bcrypt_sha256 (bcrypt backend): HasRounds.using() -- desired_rounds + needs_update() ... ok
2878 bcrypt_sha256 (bcrypt backend): HasRounds.using() -- sanity check test harness ... ok
2879 bcrypt_sha256 (bcrypt backend): HasRounds.using() -- default_rounds ... ok
2880 bcrypt_sha256 (bcrypt backend): HasRounds.using() -- min_rounds / min_desired_rounds ... ok
2881 bcrypt_sha256 (bcrypt backend): HasRounds.using() -- rounds ... ok
2882 bcrypt_sha256 (bcrypt backend): HasRounds.using() -- vary_rounds generation ... ok
2883 bcrypt_sha256 (bcrypt backend): HasRounds.using() -- vary_rounds parsing ... ok
2884 bcrypt_sha256 (bcrypt backend): test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
2885 bcrypt_sha256 (bcrypt backend): test no password size limits enforced (if truncate_size=None) ... ok
2886 bcrypt_sha256 (bcrypt backend): validate 'truncate_error' setting & related attributes ... ok
2887 bcrypt_sha256 (bcrypt backend): Handler.using() -- default_salt_size ... ok
2888 bcrypt_sha256 (bcrypt backend): test_using_version (passlib.tests.test_handlers_bcrypt.bcrypt_sha256_bcrypt_test) ... ok
2889 bcrypt_sha256 (bcryptor backend): validate required attributes ... SKIP: backend not available
2890 bcrypt_sha256 (bcryptor backend): test basic config-string workflow ... SKIP: backend not available
2891 bcrypt_sha256 (bcryptor backend): test basic using() workflow ... SKIP: backend not available
2892 bcrypt_sha256 (bcryptor backend): test basic hash-string workflow. ... SKIP: backend not available
2893 bcrypt_sha256 (bcryptor backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... SKIP: backend not available
2894 bcrypt_sha256 (bcryptor backend): test hashes can be unicode or bytes ... SKIP: backend not available
2895 bcrypt_sha256 (bcryptor backend): test multi-backend support ... SKIP: backend not available
2896 bcrypt_sha256 (bcryptor backend): validate optional salt attributes ... SKIP: backend not available
2897 bcrypt_sha256 (bcryptor backend): test hash() / genconfig() creates new salt each time ... SKIP: backend not available
2898 bcrypt_sha256 (bcryptor backend): test hash() / genconfig() honors min_salt_size ... SKIP: backend not available
2899 bcrypt_sha256 (bcryptor backend): test hash() / genconfig() honors max_salt_size ... SKIP: backend not available
2900 bcrypt_sha256 (bcryptor backend): test hash() honors salt_chars ... SKIP: backend not available
2901 bcrypt_sha256 (bcryptor backend): test non-string salt values ... SKIP: backend not available
2902 bcrypt_sha256 (bcryptor backend): validate optional rounds attributes ... SKIP: backend not available
2903 bcrypt_sha256 (bcryptor backend): test hash() / genconfig() honors min_rounds ... SKIP: backend not available
2904 bcrypt_sha256 (bcryptor backend): test hash() / genconfig() honors max_rounds ... SKIP: backend not available
2905 bcrypt_sha256 (bcryptor backend): validate HasManyIdents configuration ... SKIP: backend not available
2906 bcrypt_sha256 (bcryptor backend): test_30_HasOneIdent (passlib.tests.test_handlers_bcrypt.bcrypt_sha256_bcryptor_test) ... SKIP: backend not available
2907 bcrypt_sha256 (bcryptor backend): test password case sensitivity ... SKIP: backend not available
2908 bcrypt_sha256 (bcryptor backend): test non-string passwords are rejected ... SKIP: backend not available
2909 bcrypt_sha256 (bcryptor backend): test MAX_PASSWORD_SIZE is enforced ... SKIP: backend not available
2910 bcrypt_sha256 (bcryptor backend): test forbidden characters not allowed in password ... SKIP: backend not available
2911 bcrypt_sha256 (bcryptor backend): test known hashes ... SKIP: backend not available
2912 bcrypt_sha256 (bcryptor backend): parsehash() ... SKIP: backend not available
2913 bcrypt_sha256 (bcryptor backend): test known alternate hashes ... SKIP: backend not available
2914 bcrypt_sha256 (bcryptor backend): parsehash() -- known outputs ... SKIP: backend not available
2915 bcrypt_sha256 (bcryptor backend): test known config strings ... SKIP: backend not available
2916 bcrypt_sha256 (bcryptor backend): test known unidentifiably-mangled strings ... SKIP: backend not available
2917 bcrypt_sha256 (bcryptor backend): test known identifiable-but-malformed strings ... SKIP: backend not available
2918 bcrypt_sha256 (bcryptor backend): test known foreign hashes ... SKIP: backend not available
2919 bcrypt_sha256 (bcryptor backend): test non-string hashes are rejected ... SKIP: backend not available
2920 bcrypt_sha256 (bcryptor backend): fuzz testing -- random passwords and options ... SKIP: backend not available
2921 bcrypt_sha256 (bcryptor backend): multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: backend not available
2922 bcrypt_sha256 (bcryptor backend): test digest calc v2 matches bcrypt() ... SKIP: backend not available
2923 bcrypt_sha256 (bcryptor backend): .disable() / .enable() methods ... SKIP: backend not available
2924 bcrypt_sha256 (bcryptor backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: backend not available
2925 bcrypt_sha256 (bcryptor backend): HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: backend not available
2926 bcrypt_sha256 (bcryptor backend): HasRounds.using() -- desired_rounds + needs_update() ... SKIP: backend not available
2927 bcrypt_sha256 (bcryptor backend): HasRounds.using() -- sanity check test harness ... SKIP: backend not available
2928 bcrypt_sha256 (bcryptor backend): HasRounds.using() -- default_rounds ... SKIP: backend not available
2929 bcrypt_sha256 (bcryptor backend): HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: backend not available
2930 bcrypt_sha256 (bcryptor backend): HasRounds.using() -- rounds ... SKIP: backend not available
2931 bcrypt_sha256 (bcryptor backend): HasRounds.using() -- vary_rounds generation ... SKIP: backend not available
2932 bcrypt_sha256 (bcryptor backend): HasRounds.using() -- vary_rounds parsing ... SKIP: backend not available
2933 bcrypt_sha256 (bcryptor backend): test password size limits raise truncate_error (if appropriate) ... SKIP: backend not available
2934 bcrypt_sha256 (bcryptor backend): test no password size limits enforced (if truncate_size=None) ... SKIP: backend not available
2935 bcrypt_sha256 (bcryptor backend): validate 'truncate_error' setting & related attributes ... SKIP: backend not available
2936 bcrypt_sha256 (bcryptor backend): Handler.using() -- default_salt_size ... SKIP: backend not available
2937 bcrypt_sha256 (bcryptor backend): test_using_version (passlib.tests.test_handlers_bcrypt.bcrypt_sha256_bcryptor_test) ... SKIP: backend not available
2938 bcrypt_sha256 (builtin backend): validate required attributes ... SKIP: backend not available
2939 bcrypt_sha256 (builtin backend): test basic config-string workflow ... SKIP: backend not available
2940 bcrypt_sha256 (builtin backend): test basic using() workflow ... SKIP: backend not available
2941 bcrypt_sha256 (builtin backend): test basic hash-string workflow. ... SKIP: backend not available
2942 bcrypt_sha256 (builtin backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... SKIP: backend not available
2943 bcrypt_sha256 (builtin backend): test hashes can be unicode or bytes ... SKIP: backend not available
2944 bcrypt_sha256 (builtin backend): test multi-backend support ... SKIP: backend not available
2945 bcrypt_sha256 (builtin backend): validate optional salt attributes ... SKIP: backend not available
2946 bcrypt_sha256 (builtin backend): test hash() / genconfig() creates new salt each time ... SKIP: backend not available
2947 bcrypt_sha256 (builtin backend): test hash() / genconfig() honors min_salt_size ... SKIP: backend not available
2948 bcrypt_sha256 (builtin backend): test hash() / genconfig() honors max_salt_size ... SKIP: backend not available
2949 bcrypt_sha256 (builtin backend): test hash() honors salt_chars ... SKIP: backend not available
2950 bcrypt_sha256 (builtin backend): test non-string salt values ... SKIP: backend not available
2951 bcrypt_sha256 (builtin backend): validate optional rounds attributes ... SKIP: backend not available
2952 bcrypt_sha256 (builtin backend): test hash() / genconfig() honors min_rounds ... SKIP: backend not available
2953 bcrypt_sha256 (builtin backend): test hash() / genconfig() honors max_rounds ... SKIP: backend not available
2954 bcrypt_sha256 (builtin backend): validate HasManyIdents configuration ... SKIP: backend not available
2955 bcrypt_sha256 (builtin backend): test_30_HasOneIdent (passlib.tests.test_handlers_bcrypt.bcrypt_sha256_builtin_test) ... SKIP: backend not available
2956 bcrypt_sha256 (builtin backend): test password case sensitivity ... SKIP: backend not available
2957 bcrypt_sha256 (builtin backend): test non-string passwords are rejected ... SKIP: backend not available
2958 bcrypt_sha256 (builtin backend): test MAX_PASSWORD_SIZE is enforced ... SKIP: backend not available
2959 bcrypt_sha256 (builtin backend): test forbidden characters not allowed in password ... SKIP: backend not available
2960 bcrypt_sha256 (builtin backend): test known hashes ... SKIP: backend not available
2961 bcrypt_sha256 (builtin backend): parsehash() ... SKIP: backend not available
2962 bcrypt_sha256 (builtin backend): test known alternate hashes ... SKIP: backend not available
2963 bcrypt_sha256 (builtin backend): parsehash() -- known outputs ... SKIP: backend not available
2964 bcrypt_sha256 (builtin backend): test known config strings ... SKIP: backend not available
2965 bcrypt_sha256 (builtin backend): test known unidentifiably-mangled strings ... SKIP: backend not available
2966 bcrypt_sha256 (builtin backend): test known identifiable-but-malformed strings ... SKIP: backend not available
2967 bcrypt_sha256 (builtin backend): test known foreign hashes ... SKIP: backend not available
2968 bcrypt_sha256 (builtin backend): test non-string hashes are rejected ... SKIP: backend not available
2969 bcrypt_sha256 (builtin backend): fuzz testing -- random passwords and options ... SKIP: backend not available
2970 bcrypt_sha256 (builtin backend): multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: backend not available
2971 bcrypt_sha256 (builtin backend): test digest calc v2 matches bcrypt() ... SKIP: backend not available
2972 bcrypt_sha256 (builtin backend): .disable() / .enable() methods ... SKIP: backend not available
2973 bcrypt_sha256 (builtin backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: backend not available
2974 bcrypt_sha256 (builtin backend): HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: backend not available
2975 bcrypt_sha256 (builtin backend): HasRounds.using() -- desired_rounds + needs_update() ... SKIP: backend not available
2976 bcrypt_sha256 (builtin backend): HasRounds.using() -- sanity check test harness ... SKIP: backend not available
2977 bcrypt_sha256 (builtin backend): HasRounds.using() -- default_rounds ... SKIP: backend not available
2978 bcrypt_sha256 (builtin backend): HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: backend not available
2979 bcrypt_sha256 (builtin backend): HasRounds.using() -- rounds ... SKIP: backend not available
2980 bcrypt_sha256 (builtin backend): HasRounds.using() -- vary_rounds generation ... SKIP: backend not available
2981 bcrypt_sha256 (builtin backend): HasRounds.using() -- vary_rounds parsing ... SKIP: backend not available
2982 bcrypt_sha256 (builtin backend): test password size limits raise truncate_error (if appropriate) ... SKIP: backend not available
2983 bcrypt_sha256 (builtin backend): test no password size limits enforced (if truncate_size=None) ... SKIP: backend not available
2984 bcrypt_sha256 (builtin backend): validate 'truncate_error' setting & related attributes ... SKIP: backend not available
2985 bcrypt_sha256 (builtin backend): Handler.using() -- default_salt_size ... SKIP: backend not available
2986 bcrypt_sha256 (builtin backend): test_using_version (passlib.tests.test_handlers_bcrypt.bcrypt_sha256_builtin_test) ... SKIP: backend not available
2987 bcrypt_sha256 (os_crypt backend): validate required attributes ... ok
2988 bcrypt_sha256 (os_crypt backend): test basic config-string workflow ... ok
2989 bcrypt_sha256 (os_crypt backend): test basic using() workflow ... ok
2990 bcrypt_sha256 (os_crypt backend): test basic hash-string workflow. ... ok
2991 bcrypt_sha256 (os_crypt backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
2992 bcrypt_sha256 (os_crypt backend): test hashes can be unicode or bytes ... ok
2993 bcrypt_sha256 (os_crypt backend): test multi-backend support ... ok
2994 bcrypt_sha256 (os_crypt backend): validate optional salt attributes ... ok
2995 bcrypt_sha256 (os_crypt backend): test hash() / genconfig() creates new salt each time ... ok
2996 bcrypt_sha256 (os_crypt backend): test hash() / genconfig() honors min_salt_size ... ok
2997 bcrypt_sha256 (os_crypt backend): test hash() / genconfig() honors max_salt_size ... ok
2998 bcrypt_sha256 (os_crypt backend): test hash() honors salt_chars ... ok
2999 bcrypt_sha256 (os_crypt backend): test non-string salt values ... ok
3000 bcrypt_sha256 (os_crypt backend): validate optional rounds attributes ... ok
3001 bcrypt_sha256 (os_crypt backend): test hash() / genconfig() honors min_rounds ... ok
3002 bcrypt_sha256 (os_crypt backend): test hash() / genconfig() honors max_rounds ... ok
3003 bcrypt_sha256 (os_crypt backend): validate HasManyIdents configuration ... SKIP: multiple idents not supported
3004 bcrypt_sha256 (os_crypt backend): test_30_HasOneIdent (passlib.tests.test_handlers_bcrypt.bcrypt_sha256_os_crypt_test) ... ok
3005 bcrypt_sha256 (os_crypt backend): test password case sensitivity ... ok
3006 bcrypt_sha256 (os_crypt backend): test non-string passwords are rejected ... ok
3007 bcrypt_sha256 (os_crypt backend): test MAX_PASSWORD_SIZE is enforced ... ok
3008 bcrypt_sha256 (os_crypt backend): test forbidden characters not allowed in password ... SKIP: none listed
3009 bcrypt_sha256 (os_crypt backend): test known hashes ... ok
3010 bcrypt_sha256 (os_crypt backend): parsehash() ... ok
3011 bcrypt_sha256 (os_crypt backend): test known alternate hashes ... SKIP: no alternate hashes provided
3012 bcrypt_sha256 (os_crypt backend): parsehash() -- known outputs ... SKIP: no samples present
3013 bcrypt_sha256 (os_crypt backend): test known config strings ... ok
3014 bcrypt_sha256 (os_crypt backend): test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
3015 bcrypt_sha256 (os_crypt backend): test known identifiable-but-malformed strings ... ok
3016 bcrypt_sha256 (os_crypt backend): test known foreign hashes ... ok
3017 bcrypt_sha256 (os_crypt backend): test non-string hashes are rejected ... ok
3018 bcrypt_sha256 (os_crypt backend): fuzz testing -- random passwords and options ... ok
3019 bcrypt_sha256 (os_crypt backend): multithreaded fuzz testing -- random password & options using multiple threads ... ok
3020 bcrypt_sha256 (os_crypt backend): test with faulty crypt() ... ok
3021 bcrypt_sha256 (os_crypt backend): test per-call crypt() fallback ... ok
3022 bcrypt_sha256 (os_crypt backend): test platform-specific crypt() support detection ... SKIP: no data for 'sunos5' platform (current host support = True)
3023 bcrypt_sha256 (os_crypt backend): test digest calc v2 matches bcrypt() ... ok
3024 bcrypt_sha256 (os_crypt backend): .disable() / .enable() methods ... SKIP: not applicable
3025 bcrypt_sha256 (os_crypt backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: multiple idents not supported
3026 bcrypt_sha256 (os_crypt backend): HasRounds.using() -- max_rounds / max_desired_rounds ... ok
3027 bcrypt_sha256 (os_crypt backend): HasRounds.using() -- desired_rounds + needs_update() ... ok
3028 bcrypt_sha256 (os_crypt backend): HasRounds.using() -- sanity check test harness ... ok
3029 bcrypt_sha256 (os_crypt backend): HasRounds.using() -- default_rounds ... ok
3030 bcrypt_sha256 (os_crypt backend): HasRounds.using() -- min_rounds / min_desired_rounds ... ok
3031 bcrypt_sha256 (os_crypt backend): HasRounds.using() -- rounds ... ok
3032 bcrypt_sha256 (os_crypt backend): HasRounds.using() -- vary_rounds generation ... ok
3033 bcrypt_sha256 (os_crypt backend): HasRounds.using() -- vary_rounds parsing ... ok
3034 bcrypt_sha256 (os_crypt backend): test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
3035 bcrypt_sha256 (os_crypt backend): test no password size limits enforced (if truncate_size=None) ... ok
3036 bcrypt_sha256 (os_crypt backend): validate 'truncate_error' setting & related attributes ... ok
3037 bcrypt_sha256 (os_crypt backend): Handler.using() -- default_salt_size ... ok
3038 bcrypt_sha256 (os_crypt backend): test_using_version (passlib.tests.test_handlers_bcrypt.bcrypt_sha256_os_crypt_test) ... ok
3039 bcrypt_sha256 (pybcrypt backend): validate required attributes ... SKIP: backend not available
3040 bcrypt_sha256 (pybcrypt backend): test basic config-string workflow ... SKIP: backend not available
3041 bcrypt_sha256 (pybcrypt backend): test basic using() workflow ... SKIP: backend not available
3042 bcrypt_sha256 (pybcrypt backend): test basic hash-string workflow. ... SKIP: backend not available
3043 bcrypt_sha256 (pybcrypt backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... SKIP: backend not available
3044 bcrypt_sha256 (pybcrypt backend): test hashes can be unicode or bytes ... SKIP: backend not available
3045 bcrypt_sha256 (pybcrypt backend): test multi-backend support ... SKIP: backend not available
3046 bcrypt_sha256 (pybcrypt backend): validate optional salt attributes ... SKIP: backend not available
3047 bcrypt_sha256 (pybcrypt backend): test hash() / genconfig() creates new salt each time ... SKIP: backend not available
3048 bcrypt_sha256 (pybcrypt backend): test hash() / genconfig() honors min_salt_size ... SKIP: backend not available
3049 bcrypt_sha256 (pybcrypt backend): test hash() / genconfig() honors max_salt_size ... SKIP: backend not available
3050 bcrypt_sha256 (pybcrypt backend): test hash() honors salt_chars ... SKIP: backend not available
3051 bcrypt_sha256 (pybcrypt backend): test non-string salt values ... SKIP: backend not available
3052 bcrypt_sha256 (pybcrypt backend): validate optional rounds attributes ... SKIP: backend not available
3053 bcrypt_sha256 (pybcrypt backend): test hash() / genconfig() honors min_rounds ... SKIP: backend not available
3054 bcrypt_sha256 (pybcrypt backend): test hash() / genconfig() honors max_rounds ... SKIP: backend not available
3055 bcrypt_sha256 (pybcrypt backend): validate HasManyIdents configuration ... SKIP: backend not available
3056 bcrypt_sha256 (pybcrypt backend): test_30_HasOneIdent (passlib.tests.test_handlers_bcrypt.bcrypt_sha256_pybcrypt_test) ... SKIP: backend not available
3057 bcrypt_sha256 (pybcrypt backend): test password case sensitivity ... SKIP: backend not available
3058 bcrypt_sha256 (pybcrypt backend): test non-string passwords are rejected ... SKIP: backend not available
3059 bcrypt_sha256 (pybcrypt backend): test MAX_PASSWORD_SIZE is enforced ... SKIP: backend not available
3060 bcrypt_sha256 (pybcrypt backend): test forbidden characters not allowed in password ... SKIP: backend not available
3061 bcrypt_sha256 (pybcrypt backend): test known hashes ... SKIP: backend not available
3062 bcrypt_sha256 (pybcrypt backend): parsehash() ... SKIP: backend not available
3063 bcrypt_sha256 (pybcrypt backend): test known alternate hashes ... SKIP: backend not available
3064 bcrypt_sha256 (pybcrypt backend): parsehash() -- known outputs ... SKIP: backend not available
3065 bcrypt_sha256 (pybcrypt backend): test known config strings ... SKIP: backend not available
3066 bcrypt_sha256 (pybcrypt backend): test known unidentifiably-mangled strings ... SKIP: backend not available
3067 bcrypt_sha256 (pybcrypt backend): test known identifiable-but-malformed strings ... SKIP: backend not available
3068 bcrypt_sha256 (pybcrypt backend): test known foreign hashes ... SKIP: backend not available
3069 bcrypt_sha256 (pybcrypt backend): test non-string hashes are rejected ... SKIP: backend not available
3070 bcrypt_sha256 (pybcrypt backend): fuzz testing -- random passwords and options ... SKIP: backend not available
3071 bcrypt_sha256 (pybcrypt backend): multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: backend not available
3072 bcrypt_sha256 (pybcrypt backend): test digest calc v2 matches bcrypt() ... SKIP: backend not available
3073 bcrypt_sha256 (pybcrypt backend): .disable() / .enable() methods ... SKIP: backend not available
3074 bcrypt_sha256 (pybcrypt backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: backend not available
3075 bcrypt_sha256 (pybcrypt backend): HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: backend not available
3076 bcrypt_sha256 (pybcrypt backend): HasRounds.using() -- desired_rounds + needs_update() ... SKIP: backend not available
3077 bcrypt_sha256 (pybcrypt backend): HasRounds.using() -- sanity check test harness ... SKIP: backend not available
3078 bcrypt_sha256 (pybcrypt backend): HasRounds.using() -- default_rounds ... SKIP: backend not available
3079 bcrypt_sha256 (pybcrypt backend): HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: backend not available
3080 bcrypt_sha256 (pybcrypt backend): HasRounds.using() -- rounds ... SKIP: backend not available
3081 bcrypt_sha256 (pybcrypt backend): HasRounds.using() -- vary_rounds generation ... SKIP: backend not available
3082 bcrypt_sha256 (pybcrypt backend): HasRounds.using() -- vary_rounds parsing ... SKIP: backend not available
3083 bcrypt_sha256 (pybcrypt backend): test password size limits raise truncate_error (if appropriate) ... SKIP: backend not available
3084 bcrypt_sha256 (pybcrypt backend): test no password size limits enforced (if truncate_size=None) ... SKIP: backend not available
3085 bcrypt_sha256 (pybcrypt backend): validate 'truncate_error' setting & related attributes ... SKIP: backend not available
3086 bcrypt_sha256 (pybcrypt backend): Handler.using() -- default_salt_size ... SKIP: backend not available
3087 bcrypt_sha256 (pybcrypt backend): test_using_version (passlib.tests.test_handlers_bcrypt.bcrypt_sha256_pybcrypt_test) ... SKIP: backend not available
3088 cisco_asa: validate required attributes ... ok
3089 cisco_asa: test basic config-string workflow ... ok
3090 cisco_asa: test basic using() workflow ... ok
3091 cisco_asa: test basic hash-string workflow. ... ok
3092 cisco_asa: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
3093 cisco_asa: test hashes can be unicode or bytes ... ok
3094 cisco_asa: test multi-backend support ... SKIP: handler only has one backend
3095 cisco_asa: validate optional salt attributes ... SKIP: handler doesn't have salt
3096 cisco_asa: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
3097 cisco_asa: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
3098 cisco_asa: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
3099 cisco_asa: test hash() honors salt_chars ... SKIP: handler doesn't have salt
3100 cisco_asa: test non-string salt values ... SKIP: handler doesn't have salt
3101 cisco_asa: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
3102 cisco_asa: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
3103 cisco_asa: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
3104 cisco_asa: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
3105 cisco_asa: test password case sensitivity ... ok
3106 cisco_asa: test non-string passwords are rejected ... ok
3107 cisco_asa: test MAX_PASSWORD_SIZE is enforced ... ok
3108 cisco_asa: test forbidden characters not allowed in password ... SKIP: none listed
3109 cisco_asa: test known hashes ... ok
3110 cisco_asa: parsehash() ... ok
3111 cisco_asa: test known alternate hashes ... SKIP: no alternate hashes provided
3112 cisco_asa: parsehash() -- known outputs ... SKIP: no samples present
3113 cisco_asa: test known config strings ... SKIP: hash has no settings
3114 cisco_asa: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
3115 cisco_asa: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
3116 cisco_asa: test known foreign hashes ... ok
3117 cisco_asa: test non-string hashes are rejected ... ok
3118 cisco_asa: fuzz testing -- random passwords and options ... ok
3119 cisco_asa: multithreaded fuzz testing -- random password & options using multiple threads ... ok
3120 cisco_asa: test user context keyword ... ok
3121 cisco_asa: test user case sensitivity ... ok
3122 cisco_asa: test user used as salt ... ok
3123 cisco_asa: _calc_checksum() -- spoil oversize passwords during verify ... ok
3124 cisco_asa: .disable() / .enable() methods ... SKIP: not applicable
3125 cisco_asa: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
3126 cisco_asa: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
3127 cisco_asa: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
3128 cisco_asa: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
3129 cisco_asa: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
3130 cisco_asa: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
3131 cisco_asa: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
3132 cisco_asa: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
3133 cisco_asa: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
3134 cisco_asa: test password size limits raise truncate_error (if appropriate) ... ok
3135 cisco_asa: test no password size limits enforced (if truncate_size=None) ... SKIP: truncate_size is set
3136 cisco_asa: validate 'truncate_error' setting & related attributes ... ok
3137 cisco_asa: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
3138 cisco_pix: validate required attributes ... ok
3139 cisco_pix: test basic config-string workflow ... ok
3140 cisco_pix: test basic using() workflow ... ok
3141 cisco_pix: test basic hash-string workflow. ... ok
3142 cisco_pix: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
3143 cisco_pix: test hashes can be unicode or bytes ... ok
3144 cisco_pix: test multi-backend support ... SKIP: handler only has one backend
3145 cisco_pix: validate optional salt attributes ... SKIP: handler doesn't have salt
3146 cisco_pix: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
3147 cisco_pix: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
3148 cisco_pix: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
3149 cisco_pix: test hash() honors salt_chars ... SKIP: handler doesn't have salt
3150 cisco_pix: test non-string salt values ... SKIP: handler doesn't have salt
3151 cisco_pix: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
3152 cisco_pix: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
3153 cisco_pix: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
3154 cisco_pix: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
3155 cisco_pix: test password case sensitivity ... ok
3156 cisco_pix: test non-string passwords are rejected ... ok
3157 cisco_pix: test MAX_PASSWORD_SIZE is enforced ... ok
3158 cisco_pix: test forbidden characters not allowed in password ... SKIP: none listed
3159 cisco_pix: test known hashes ... ok
3160 cisco_pix: parsehash() ... ok
3161 cisco_pix: test known alternate hashes ... SKIP: no alternate hashes provided
3162 cisco_pix: parsehash() -- known outputs ... SKIP: no samples present
3163 cisco_pix: test known config strings ... SKIP: hash has no settings
3164 cisco_pix: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
3165 cisco_pix: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
3166 cisco_pix: test known foreign hashes ... ok
3167 cisco_pix: test non-string hashes are rejected ... ok
3168 cisco_pix: fuzz testing -- random passwords and options ... ok
3169 cisco_pix: multithreaded fuzz testing -- random password & options using multiple threads ... ok
3170 cisco_pix: test user context keyword ... ok
3171 cisco_pix: test user case sensitivity ... ok
3172 cisco_pix: test user used as salt ... ok
3173 cisco_pix: _calc_checksum() -- spoil oversize passwords during verify ... ok
3174 cisco_pix: .disable() / .enable() methods ... SKIP: not applicable
3175 cisco_pix: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
3176 cisco_pix: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
3177 cisco_pix: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
3178 cisco_pix: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
3179 cisco_pix: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
3180 cisco_pix: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
3181 cisco_pix: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
3182 cisco_pix: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
3183 cisco_pix: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
3184 cisco_pix: test password size limits raise truncate_error (if appropriate) ... ok
3185 cisco_pix: test no password size limits enforced (if truncate_size=None) ... SKIP: truncate_size is set
3186 cisco_pix: validate 'truncate_error' setting & related attributes ... ok
3187 cisco_pix: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
3188 cisco_type7: validate required attributes ... ok
3189 cisco_type7: test basic config-string workflow ... ok
3190 cisco_type7: test basic using() workflow ... ok
3191 cisco_type7: test basic hash-string workflow. ... ok
3192 cisco_type7: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
3193 cisco_type7: test hashes can be unicode or bytes ... ok
3194 cisco_type7: test multi-backend support ... SKIP: handler only has one backend
3195 cisco_type7: validate optional salt attributes ... SKIP: handler doesn't provide salt info
3196 cisco_type7: test hash() / genconfig() creates new salt each time ... ok
3197 cisco_type7: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't provide salt info
3198 cisco_type7: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't provide salt info
3199 cisco_type7: test hash() honors salt_chars ... SKIP: handler doesn't provide salt info
3200 cisco_type7: test non-string salt values ... ok
3201 cisco_type7: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
3202 cisco_type7: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
3203 cisco_type7: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
3204 cisco_type7: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
3205 cisco_type7: test password case sensitivity ... ok
3206 cisco_type7: test non-string passwords are rejected ... ok
3207 cisco_type7: test MAX_PASSWORD_SIZE is enforced ... ok
3208 cisco_type7: test forbidden characters not allowed in password ... SKIP: none listed
3209 cisco_type7: test known hashes ... ok
3210 cisco_type7: parsehash() ... ok
3211 cisco_type7: test known alternate hashes ... SKIP: no alternate hashes provided
3212 cisco_type7: parsehash() -- known outputs ... SKIP: no samples present
3213 cisco_type7: test known config strings ... SKIP: no config strings provided
3214 cisco_type7: test known unidentifiably-mangled strings ... ok
3215 cisco_type7: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
3216 cisco_type7: test known foreign hashes ... ok
3217 cisco_type7: test non-string hashes are rejected ... ok
3218 cisco_type7: fuzz testing -- random passwords and options ... ok
3219 cisco_type7: multithreaded fuzz testing -- random password & options using multiple threads ... ok
3220 cisco_type7: test cisco_type7.decode() ... ok
3221 cisco_type7: test salt value border cases ... ok
3222 cisco_type7: .disable() / .enable() methods ... SKIP: not applicable
3223 cisco_type7: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
3224 cisco_type7: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
3225 cisco_type7: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
3226 cisco_type7: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
3227 cisco_type7: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
3228 cisco_type7: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
3229 cisco_type7: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
3230 cisco_type7: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
3231 cisco_type7: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
3232 cisco_type7: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
3233 cisco_type7: test no password size limits enforced (if truncate_size=None) ... ok
3234 cisco_type7: validate 'truncate_error' setting & related attributes ... ok
3235 cisco_type7: Handler.using() -- default_salt_size ... SKIP: handler doesn't provide salt info
3236 django_argon2 (argon2_cffi backend): validate required attributes ... ok
3237 django_argon2 (argon2_cffi backend): test basic config-string workflow ... ok
3238 django_argon2 (argon2_cffi backend): test basic using() workflow ... ok
3239 django_argon2 (argon2_cffi backend): test basic hash-string workflow. ... ok
3240 django_argon2 (argon2_cffi backend): test_03_legacy_hash_workflow (passlib.tests.test_handlers_django.django_argon2_test) ... SKIP: legacy 1.6 workflow not supported
3241 django_argon2 (argon2_cffi backend): test hashes can be unicode or bytes ... ok
3242 django_argon2 (argon2_cffi backend): test multi-backend support ... ok
3243 django_argon2 (argon2_cffi backend): validate optional salt attributes ... ok
3244 django_argon2 (argon2_cffi backend): test hash() / genconfig() creates new salt each time ... ok
3245 django_argon2 (argon2_cffi backend): test hash() / genconfig() honors min_salt_size ... ok
3246 django_argon2 (argon2_cffi backend): test hash() / genconfig() honors max_salt_size ... ok
3247 django_argon2 (argon2_cffi backend): test hash() honors salt_chars ... ok
3248 django_argon2 (argon2_cffi backend): test non-string salt values ... ok
3249 django_argon2 (argon2_cffi backend): validate optional rounds attributes ... ok
3250 django_argon2 (argon2_cffi backend): test hash() / genconfig() honors min_rounds ... ok
3251 django_argon2 (argon2_cffi backend): test hash() / genconfig() honors max_rounds ... ok
3252 django_argon2 (argon2_cffi backend): validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
3253 django_argon2 (argon2_cffi backend): test password case sensitivity ... ok
3254 django_argon2 (argon2_cffi backend): test non-string passwords are rejected ... ok
3255 django_argon2 (argon2_cffi backend): test MAX_PASSWORD_SIZE is enforced ... ok
3256 django_argon2 (argon2_cffi backend): test forbidden characters not allowed in password ... SKIP: none listed
3257 django_argon2 (argon2_cffi backend): test known hashes ... ok
3258 django_argon2 (argon2_cffi backend): parsehash() ... SKIP: parsehash() not implemented
3259 django_argon2 (argon2_cffi backend): test known alternate hashes ... SKIP: no alternate hashes provided
3260 django_argon2 (argon2_cffi backend): parsehash() -- known outputs ... SKIP: parsehash() not implemented
3261 django_argon2 (argon2_cffi backend): test known config strings ... SKIP: no config strings provided
3262 django_argon2 (argon2_cffi backend): test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
3263 django_argon2 (argon2_cffi backend): test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
3264 django_argon2 (argon2_cffi backend): test known foreign hashes ... ok
3265 django_argon2 (argon2_cffi backend): test non-string hashes are rejected ... ok
3266 django_argon2 (argon2_cffi backend): fuzz testing -- random passwords and options ... ok
3267 django_argon2 (argon2_cffi backend): multithreaded fuzz testing -- random password & options using multiple threads ... ok
3268 django_argon2 (argon2_cffi backend): run known correct hashes through Django's check_password() ... SKIP: Django >= 1.8 not installed
3269 django_argon2 (argon2_cffi backend): test against output of Django's make_password() ... SKIP: Django >= 1.8 not installed
3270 django_argon2 (argon2_cffi backend): .disable() / .enable() methods ... SKIP: not applicable
3271 django_argon2 (argon2_cffi backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
3272 django_argon2 (argon2_cffi backend): HasRounds.using() -- max_rounds / max_desired_rounds ... ok
3273 django_argon2 (argon2_cffi backend): HasRounds.using() -- desired_rounds + needs_update() ... ok
3274 django_argon2 (argon2_cffi backend): HasRounds.using() -- sanity check test harness ... ok
3275 django_argon2 (argon2_cffi backend): HasRounds.using() -- default_rounds ... ok
3276 django_argon2 (argon2_cffi backend): HasRounds.using() -- min_rounds / min_desired_rounds ... ok
3277 django_argon2 (argon2_cffi backend): HasRounds.using() -- rounds ... ok
3278 django_argon2 (argon2_cffi backend): HasRounds.using() -- vary_rounds generation ... ok
3279 django_argon2 (argon2_cffi backend): HasRounds.using() -- vary_rounds parsing ... ok
3280 django_argon2 (argon2_cffi backend): test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
3281 django_argon2 (argon2_cffi backend): test no password size limits enforced (if truncate_size=None) ... ok
3282 django_argon2 (argon2_cffi backend): validate 'truncate_error' setting & related attributes ... ok
3283 django_argon2 (argon2_cffi backend): Handler.using() -- default_salt_size ... ok
3284 django_bcrypt_sha256 (bcrypt backend): validate required attributes ... ok
3285 django_bcrypt_sha256 (bcrypt backend): test basic config-string workflow ... ok
3286 django_bcrypt_sha256 (bcrypt backend): test basic using() workflow ... ok
3287 django_bcrypt_sha256 (bcrypt backend): test basic hash-string workflow. ... ok
3288 django_bcrypt_sha256 (bcrypt backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
3289 django_bcrypt_sha256 (bcrypt backend): test hashes can be unicode or bytes ... ok
3290 django_bcrypt_sha256 (bcrypt backend): test multi-backend support ... ok
3291 django_bcrypt_sha256 (bcrypt backend): validate optional salt attributes ... ok
3292 django_bcrypt_sha256 (bcrypt backend): test hash() / genconfig() creates new salt each time ... ok
3293 django_bcrypt_sha256 (bcrypt backend): test hash() / genconfig() honors min_salt_size ... ok
3294 django_bcrypt_sha256 (bcrypt backend): test hash() / genconfig() honors max_salt_size ... ok
3295 django_bcrypt_sha256 (bcrypt backend): test hash() honors salt_chars ... ok
3296 django_bcrypt_sha256 (bcrypt backend): test non-string salt values ... ok
3297 django_bcrypt_sha256 (bcrypt backend): validate optional rounds attributes ... ok
3298 django_bcrypt_sha256 (bcrypt backend): test hash() / genconfig() honors min_rounds ... ok
3299 django_bcrypt_sha256 (bcrypt backend): test hash() / genconfig() honors max_rounds ... ok
3300 django_bcrypt_sha256 (bcrypt backend): validate HasManyIdents configuration ... ok
3301 django_bcrypt_sha256 (bcrypt backend): test password case sensitivity ... ok
3302 django_bcrypt_sha256 (bcrypt backend): test non-string passwords are rejected ... ok
3303 django_bcrypt_sha256 (bcrypt backend): test MAX_PASSWORD_SIZE is enforced ... ok
3304 django_bcrypt_sha256 (bcrypt backend): test forbidden characters not allowed in password ... SKIP: none listed
3305 django_bcrypt_sha256 (bcrypt backend): test known hashes ... ok
3306 django_bcrypt_sha256 (bcrypt backend): parsehash() ... ok
3307 django_bcrypt_sha256 (bcrypt backend): test known alternate hashes ... SKIP: no alternate hashes provided
3308 django_bcrypt_sha256 (bcrypt backend): parsehash() -- known outputs ... SKIP: no samples present
3309 django_bcrypt_sha256 (bcrypt backend): test known config strings ... SKIP: no config strings provided
3310 django_bcrypt_sha256 (bcrypt backend): test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
3311 django_bcrypt_sha256 (bcrypt backend): test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
3312 django_bcrypt_sha256 (bcrypt backend): test known foreign hashes ... ok
3313 django_bcrypt_sha256 (bcrypt backend): test non-string hashes are rejected ... ok
3314 django_bcrypt_sha256 (bcrypt backend): fuzz testing -- random passwords and options ... ok
3315 django_bcrypt_sha256 (bcrypt backend): multithreaded fuzz testing -- random password & options using multiple threads ... ok
3316 django_bcrypt_sha256 (bcrypt backend): run known correct hashes through Django's check_password() ... SKIP: Django >= 1.8 not installed
3317 django_bcrypt_sha256 (bcrypt backend): test against output of Django's make_password() ... SKIP: Django >= 1.8 not installed
3318 django_bcrypt_sha256 (bcrypt backend): .disable() / .enable() methods ... SKIP: not applicable
3319 django_bcrypt_sha256 (bcrypt backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... ok
3320 django_bcrypt_sha256 (bcrypt backend): HasRounds.using() -- max_rounds / max_desired_rounds ... ok
3321 django_bcrypt_sha256 (bcrypt backend): HasRounds.using() -- desired_rounds + needs_update() ... ok
3322 django_bcrypt_sha256 (bcrypt backend): HasRounds.using() -- sanity check test harness ... ok
3323 django_bcrypt_sha256 (bcrypt backend): HasRounds.using() -- default_rounds ... ok
3324 django_bcrypt_sha256 (bcrypt backend): HasRounds.using() -- min_rounds / min_desired_rounds ... ok
3325 django_bcrypt_sha256 (bcrypt backend): HasRounds.using() -- rounds ... ok
3326 django_bcrypt_sha256 (bcrypt backend): HasRounds.using() -- vary_rounds generation ... ok
3327 django_bcrypt_sha256 (bcrypt backend): HasRounds.using() -- vary_rounds parsing ... ok
3328 django_bcrypt_sha256 (bcrypt backend): test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
3329 django_bcrypt_sha256 (bcrypt backend): test no password size limits enforced (if truncate_size=None) ... ok
3330 django_bcrypt_sha256 (bcrypt backend): validate 'truncate_error' setting & related attributes ... ok
3331 django_bcrypt_sha256 (bcrypt backend): Handler.using() -- default_salt_size ... ok
3332 django_bcrypt (bcrypt backend): validate required attributes ... ok
3333 django_bcrypt (bcrypt backend): test basic config-string workflow ... ok
3334 django_bcrypt (bcrypt backend): test basic using() workflow ... ok
3335 django_bcrypt (bcrypt backend): test basic hash-string workflow. ... ok
3336 django_bcrypt (bcrypt backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
3337 django_bcrypt (bcrypt backend): test hashes can be unicode or bytes ... ok
3338 django_bcrypt (bcrypt backend): test multi-backend support ... ok
3339 django_bcrypt (bcrypt backend): validate optional salt attributes ... ok
3340 django_bcrypt (bcrypt backend): test hash() / genconfig() creates new salt each time ... ok
3341 django_bcrypt (bcrypt backend): test hash() / genconfig() honors min_salt_size ... ok
3342 django_bcrypt (bcrypt backend): test hash() / genconfig() honors max_salt_size ... ok
3343 django_bcrypt (bcrypt backend): test hash() honors salt_chars ... ok
3344 django_bcrypt (bcrypt backend): test non-string salt values ... ok
3345 django_bcrypt (bcrypt backend): validate optional rounds attributes ... ok
3346 django_bcrypt (bcrypt backend): test hash() / genconfig() honors min_rounds ... ok
3347 django_bcrypt (bcrypt backend): test hash() / genconfig() honors max_rounds ... ok
3348 django_bcrypt (bcrypt backend): validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
3349 django_bcrypt (bcrypt backend): test password case sensitivity ... ok
3350 django_bcrypt (bcrypt backend): test non-string passwords are rejected ... ok
3351 django_bcrypt (bcrypt backend): test MAX_PASSWORD_SIZE is enforced ... ok
3352 django_bcrypt (bcrypt backend): test forbidden characters not allowed in password ... ok
3353 django_bcrypt (bcrypt backend): test known hashes ... ok
3354 django_bcrypt (bcrypt backend): parsehash() ... SKIP: parsehash() not implemented
3355 django_bcrypt (bcrypt backend): test known alternate hashes ... SKIP: no alternate hashes provided
3356 django_bcrypt (bcrypt backend): parsehash() -- known outputs ... SKIP: parsehash() not implemented
3357 django_bcrypt (bcrypt backend): test known config strings ... SKIP: no config strings provided
3358 django_bcrypt (bcrypt backend): test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
3359 django_bcrypt (bcrypt backend): test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
3360 django_bcrypt (bcrypt backend): test known foreign hashes ... ok
3361 django_bcrypt (bcrypt backend): test non-string hashes are rejected ... ok
3362 django_bcrypt (bcrypt backend): fuzz testing -- random passwords and options ... ok
3363 django_bcrypt (bcrypt backend): multithreaded fuzz testing -- random password & options using multiple threads ... ok
3364 django_bcrypt (bcrypt backend): run known correct hashes through Django's check_password() ... SKIP: Django >= 1.8 not installed
3365 django_bcrypt (bcrypt backend): test against output of Django's make_password() ... SKIP: Django >= 1.8 not installed
3366 django_bcrypt (bcrypt backend): .disable() / .enable() methods ... SKIP: not applicable
3367 django_bcrypt (bcrypt backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
3368 django_bcrypt (bcrypt backend): HasRounds.using() -- max_rounds / max_desired_rounds ... ok
3369 django_bcrypt (bcrypt backend): HasRounds.using() -- desired_rounds + needs_update() ... ok
3370 django_bcrypt (bcrypt backend): HasRounds.using() -- sanity check test harness ... ok
3371 django_bcrypt (bcrypt backend): HasRounds.using() -- default_rounds ... ok
3372 django_bcrypt (bcrypt backend): HasRounds.using() -- min_rounds / min_desired_rounds ... ok
3373 django_bcrypt (bcrypt backend): HasRounds.using() -- rounds ... ok
3374 django_bcrypt (bcrypt backend): HasRounds.using() -- vary_rounds generation ... ok
3375 django_bcrypt (bcrypt backend): HasRounds.using() -- vary_rounds parsing ... ok
3376 django_bcrypt (bcrypt backend): test password size limits raise truncate_error (if appropriate) ... ok
3377 django_bcrypt (bcrypt backend): test no password size limits enforced (if truncate_size=None) ... SKIP: truncate_size is set
3378 django_bcrypt (bcrypt backend): validate 'truncate_error' setting & related attributes ... ok
3379 django_bcrypt (bcrypt backend): Handler.using() -- default_salt_size ... ok
3380 django_des_crypt: validate required attributes ... ok
3381 django_des_crypt: test basic config-string workflow ... ok
3382 django_des_crypt: test basic using() workflow ... ok
3383 django_des_crypt: test basic hash-string workflow. ... ok
3384 django_des_crypt: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
3385 django_des_crypt: test hashes can be unicode or bytes ... ok
3386 django_des_crypt: test multi-backend support ... SKIP: handler only has one backend
3387 django_des_crypt: validate optional salt attributes ... ok
3388 django_des_crypt: test hash() / genconfig() creates new salt each time ... ok
3389 django_des_crypt: test hash() / genconfig() honors min_salt_size ... ok
3390 django_des_crypt: test hash() / genconfig() honors max_salt_size ... ok
3391 django_des_crypt: test hash() honors salt_chars ... ok
3392 django_des_crypt: test non-string salt values ... ok
3393 django_des_crypt: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
3394 django_des_crypt: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
3395 django_des_crypt: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
3396 django_des_crypt: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
3397 django_des_crypt: test password case sensitivity ... ok
3398 django_des_crypt: test non-string passwords are rejected ... ok
3399 django_des_crypt: test MAX_PASSWORD_SIZE is enforced ... ok
3400 django_des_crypt: test forbidden characters not allowed in password ... SKIP: none listed
3401 django_des_crypt: test known hashes ... ok
3402 django_des_crypt: parsehash() ... ok
3403 django_des_crypt: test known alternate hashes ... ok
3404 django_des_crypt: parsehash() -- known outputs ... SKIP: no samples present
3405 django_des_crypt: test known config strings ... SKIP: no config strings provided
3406 django_des_crypt: test known unidentifiably-mangled strings ... ok
3407 django_des_crypt: test known identifiable-but-malformed strings ... ok
3408 django_des_crypt: test known foreign hashes ... ok
3409 django_des_crypt: test non-string hashes are rejected ... ok
3410 django_des_crypt: fuzz testing -- random passwords and options ... ok
3411 django_des_crypt: multithreaded fuzz testing -- random password & options using multiple threads ... ok
3412 django_des_crypt: run known correct hashes through Django's check_password() ... SKIP: Django >= 1.8 not installed
3413 django_des_crypt: test against output of Django's make_password() ... SKIP: Django >= 1.8 not installed
3414 django_des_crypt: .disable() / .enable() methods ... SKIP: not applicable
3415 django_des_crypt: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
3416 django_des_crypt: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
3417 django_des_crypt: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
3418 django_des_crypt: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
3419 django_des_crypt: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
3420 django_des_crypt: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
3421 django_des_crypt: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
3422 django_des_crypt: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
3423 django_des_crypt: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
3424 django_des_crypt: test password size limits raise truncate_error (if appropriate) ... ok
3425 django_des_crypt: test no password size limits enforced (if truncate_size=None) ... SKIP: truncate_size is set
3426 django_des_crypt: validate 'truncate_error' setting & related attributes ... ok
3427 django_des_crypt: Handler.using() -- default_salt_size ... ok
3428 django_disabled: validate required attributes ... ok
3429 django_disabled: test basic config-string workflow ... ok
3430 django_disabled: test basic using() workflow ... ok
3431 django_disabled: test basic hash-string workflow. ... ok
3432 django_disabled: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
3433 django_disabled: test hashes can be unicode or bytes ... ok
3434 django_disabled: test multi-backend support ... SKIP: handler only has one backend
3435 django_disabled: validate optional salt attributes ... SKIP: handler doesn't have salt
3436 django_disabled: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
3437 django_disabled: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
3438 django_disabled: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
3439 django_disabled: test hash() honors salt_chars ... SKIP: handler doesn't have salt
3440 django_disabled: test non-string salt values ... SKIP: handler doesn't have salt
3441 django_disabled: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
3442 django_disabled: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
3443 django_disabled: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
3444 django_disabled: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
3445 django_disabled: test password case sensitivity ... ok
3446 django_disabled: test non-string passwords are rejected ... ok
3447 django_disabled: test MAX_PASSWORD_SIZE is enforced ... ok
3448 django_disabled: test forbidden characters not allowed in password ... SKIP: none listed
3449 django_disabled: test known hashes ... ok
3450 django_disabled: parsehash() ... ok
3451 django_disabled: test known alternate hashes ... ok
3452 django_disabled: parsehash() -- known outputs ... SKIP: no samples present
3453 django_disabled: test known config strings ... SKIP: hash has no settings
3454 django_disabled: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
3455 django_disabled: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
3456 django_disabled: test known foreign hashes ... ok
3457 django_disabled: test non-string hashes are rejected ... ok
3458 django_disabled: fuzz testing -- random passwords and options ... SKIP: not applicable
3459 django_disabled: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: not applicable
3460 django_disabled: .disable() / .enable() methods ... ok
3461 django_disabled: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
3462 django_disabled: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
3463 django_disabled: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
3464 django_disabled: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
3465 django_disabled: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
3466 django_disabled: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
3467 django_disabled: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
3468 django_disabled: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
3469 django_disabled: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
3470 django_disabled: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
3471 django_disabled: test no password size limits enforced (if truncate_size=None) ... ok
3472 django_disabled: validate 'truncate_error' setting & related attributes ... ok
3473 django_disabled: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
3474 django_pbkdf2_sha1: validate required attributes ... ok
3475 django_pbkdf2_sha1: test basic config-string workflow ... ok
3476 django_pbkdf2_sha1: test basic using() workflow ... ok
3477 django_pbkdf2_sha1: test basic hash-string workflow. ... ok
3478 django_pbkdf2_sha1: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
3479 django_pbkdf2_sha1: test hashes can be unicode or bytes ... ok
3480 django_pbkdf2_sha1: test multi-backend support ... SKIP: handler only has one backend
3481 django_pbkdf2_sha1: validate optional salt attributes ... ok
3482 django_pbkdf2_sha1: test hash() / genconfig() creates new salt each time ... ok
3483 django_pbkdf2_sha1: test hash() / genconfig() honors min_salt_size ... ok
3484 django_pbkdf2_sha1: test hash() / genconfig() honors max_salt_size ... ok
3485 django_pbkdf2_sha1: test hash() honors salt_chars ... ok
3486 django_pbkdf2_sha1: test non-string salt values ... ok
3487 django_pbkdf2_sha1: validate optional rounds attributes ... ok
3488 django_pbkdf2_sha1: test hash() / genconfig() honors min_rounds ... ok
3489 django_pbkdf2_sha1: test hash() / genconfig() honors max_rounds ... ok
3490 django_pbkdf2_sha1: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
3491 django_pbkdf2_sha1: test password case sensitivity ... ok
3492 django_pbkdf2_sha1: test non-string passwords are rejected ... ok
3493 django_pbkdf2_sha1: test MAX_PASSWORD_SIZE is enforced ... ok
3494 django_pbkdf2_sha1: test forbidden characters not allowed in password ... SKIP: none listed
3495 django_pbkdf2_sha1: test known hashes ... ok
3496 django_pbkdf2_sha1: parsehash() ... ok
3497 django_pbkdf2_sha1: test known alternate hashes ... SKIP: no alternate hashes provided
3498 django_pbkdf2_sha1: parsehash() -- known outputs ... SKIP: no samples present
3499 django_pbkdf2_sha1: test known config strings ... SKIP: no config strings provided
3500 django_pbkdf2_sha1: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
3501 django_pbkdf2_sha1: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
3502 django_pbkdf2_sha1: test known foreign hashes ... ok
3503 django_pbkdf2_sha1: test non-string hashes are rejected ... ok
3504 django_pbkdf2_sha1: fuzz testing -- random passwords and options ... ok
3505 django_pbkdf2_sha1: multithreaded fuzz testing -- random password & options using multiple threads ... ok
3506 django_pbkdf2_sha1: run known correct hashes through Django's check_password() ... SKIP: Django >= 1.8 not installed
3507 django_pbkdf2_sha1: test against output of Django's make_password() ... SKIP: Django >= 1.8 not installed
3508 django_pbkdf2_sha1: .disable() / .enable() methods ... SKIP: not applicable
3509 django_pbkdf2_sha1: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
3510 django_pbkdf2_sha1: HasRounds.using() -- max_rounds / max_desired_rounds ... ok
3511 django_pbkdf2_sha1: HasRounds.using() -- desired_rounds + needs_update() ... ok
3512 django_pbkdf2_sha1: HasRounds.using() -- sanity check test harness ... ok
3513 django_pbkdf2_sha1: HasRounds.using() -- default_rounds ... ok
3514 django_pbkdf2_sha1: HasRounds.using() -- min_rounds / min_desired_rounds ... ok
3515 django_pbkdf2_sha1: HasRounds.using() -- rounds ... ok
3516 django_pbkdf2_sha1: HasRounds.using() -- vary_rounds generation ... ok
3517 django_pbkdf2_sha1: HasRounds.using() -- vary_rounds parsing ... ok
3518 django_pbkdf2_sha1: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
3519 django_pbkdf2_sha1: test no password size limits enforced (if truncate_size=None) ... ok
3520 django_pbkdf2_sha1: validate 'truncate_error' setting & related attributes ... ok
3521 django_pbkdf2_sha1: Handler.using() -- default_salt_size ... ok
3522 django_pbkdf2_sha256: validate required attributes ... ok
3523 django_pbkdf2_sha256: test basic config-string workflow ... ok
3524 django_pbkdf2_sha256: test basic using() workflow ... ok
3525 django_pbkdf2_sha256: test basic hash-string workflow. ... ok
3526 django_pbkdf2_sha256: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
3527 django_pbkdf2_sha256: test hashes can be unicode or bytes ... ok
3528 django_pbkdf2_sha256: test multi-backend support ... SKIP: handler only has one backend
3529 django_pbkdf2_sha256: validate optional salt attributes ... ok
3530 django_pbkdf2_sha256: test hash() / genconfig() creates new salt each time ... ok
3531 django_pbkdf2_sha256: test hash() / genconfig() honors min_salt_size ... ok
3532 django_pbkdf2_sha256: test hash() / genconfig() honors max_salt_size ... ok
3533 django_pbkdf2_sha256: test hash() honors salt_chars ... ok
3534 django_pbkdf2_sha256: test non-string salt values ... ok
3535 django_pbkdf2_sha256: validate optional rounds attributes ... ok
3536 django_pbkdf2_sha256: test hash() / genconfig() honors min_rounds ... ok
3537 django_pbkdf2_sha256: test hash() / genconfig() honors max_rounds ... ok
3538 django_pbkdf2_sha256: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
3539 django_pbkdf2_sha256: test password case sensitivity ... ok
3540 django_pbkdf2_sha256: test non-string passwords are rejected ... ok
3541 django_pbkdf2_sha256: test MAX_PASSWORD_SIZE is enforced ... ok
3542 django_pbkdf2_sha256: test forbidden characters not allowed in password ... SKIP: none listed
3543 django_pbkdf2_sha256: test known hashes ... ok
3544 django_pbkdf2_sha256: parsehash() ... ok
3545 django_pbkdf2_sha256: test known alternate hashes ... SKIP: no alternate hashes provided
3546 django_pbkdf2_sha256: parsehash() -- known outputs ... SKIP: no samples present
3547 django_pbkdf2_sha256: test known config strings ... SKIP: no config strings provided
3548 django_pbkdf2_sha256: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
3549 django_pbkdf2_sha256: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
3550 django_pbkdf2_sha256: test known foreign hashes ... ok
3551 django_pbkdf2_sha256: test non-string hashes are rejected ... ok
3552 django_pbkdf2_sha256: fuzz testing -- random passwords and options ... ok
3553 django_pbkdf2_sha256: multithreaded fuzz testing -- random password & options using multiple threads ... ok
3554 django_pbkdf2_sha256: run known correct hashes through Django's check_password() ... SKIP: Django >= 1.8 not installed
3555 django_pbkdf2_sha256: test against output of Django's make_password() ... SKIP: Django >= 1.8 not installed
3556 django_pbkdf2_sha256: .disable() / .enable() methods ... SKIP: not applicable
3557 django_pbkdf2_sha256: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
3558 django_pbkdf2_sha256: HasRounds.using() -- max_rounds / max_desired_rounds ... ok
3559 django_pbkdf2_sha256: HasRounds.using() -- desired_rounds + needs_update() ... ok
3560 django_pbkdf2_sha256: HasRounds.using() -- sanity check test harness ... ok
3561 django_pbkdf2_sha256: HasRounds.using() -- default_rounds ... ok
3562 django_pbkdf2_sha256: HasRounds.using() -- min_rounds / min_desired_rounds ... ok
3563 django_pbkdf2_sha256: HasRounds.using() -- rounds ... ok
3564 django_pbkdf2_sha256: HasRounds.using() -- vary_rounds generation ... ok
3565 django_pbkdf2_sha256: HasRounds.using() -- vary_rounds parsing ... ok
3566 django_pbkdf2_sha256: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
3567 django_pbkdf2_sha256: test no password size limits enforced (if truncate_size=None) ... ok
3568 django_pbkdf2_sha256: validate 'truncate_error' setting & related attributes ... ok
3569 django_pbkdf2_sha256: Handler.using() -- default_salt_size ... ok
3570 django_salted_md5: validate required attributes ... ok
3571 django_salted_md5: test basic config-string workflow ... ok
3572 django_salted_md5: test basic using() workflow ... ok
3573 django_salted_md5: test basic hash-string workflow. ... ok
3574 django_salted_md5: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
3575 django_salted_md5: test hashes can be unicode or bytes ... ok
3576 django_salted_md5: test multi-backend support ... SKIP: handler only has one backend
3577 django_salted_md5: validate optional salt attributes ... ok
3578 django_salted_md5: test hash() / genconfig() creates new salt each time ... ok
3579 django_salted_md5: test hash() / genconfig() honors min_salt_size ... ok
3580 django_salted_md5: test hash() / genconfig() honors max_salt_size ... ok
3581 django_salted_md5: test hash() honors salt_chars ... ok
3582 django_salted_md5: test non-string salt values ... ok
3583 django_salted_md5: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
3584 django_salted_md5: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
3585 django_salted_md5: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
3586 django_salted_md5: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
3587 django_salted_md5: test password case sensitivity ... ok
3588 django_salted_md5: test non-string passwords are rejected ... ok
3589 django_salted_md5: test MAX_PASSWORD_SIZE is enforced ... ok
3590 django_salted_md5: test forbidden characters not allowed in password ... SKIP: none listed
3591 django_salted_md5: test known hashes ... ok
3592 django_salted_md5: parsehash() ... ok
3593 django_salted_md5: test known alternate hashes ... SKIP: no alternate hashes provided
3594 django_salted_md5: parsehash() -- known outputs ... SKIP: no samples present
3595 django_salted_md5: test known config strings ... SKIP: no config strings provided
3596 django_salted_md5: test known unidentifiably-mangled strings ... ok
3597 django_salted_md5: test known identifiable-but-malformed strings ... ok
3598 django_salted_md5: test known foreign hashes ... ok
3599 django_salted_md5: test non-string hashes are rejected ... ok
3600 django_salted_md5: fuzz testing -- random passwords and options ... ok
3601 django_salted_md5: multithreaded fuzz testing -- random password & options using multiple threads ... ok
3602 django_salted_md5: run known correct hashes through Django's check_password() ... SKIP: Django >= 1.8 not installed
3603 django_salted_md5: test against output of Django's make_password() ... SKIP: Django >= 1.8 not installed
3604 django_salted_md5: .disable() / .enable() methods ... SKIP: not applicable
3605 django_salted_md5: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
3606 django_salted_md5: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
3607 django_salted_md5: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
3608 django_salted_md5: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
3609 django_salted_md5: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
3610 django_salted_md5: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
3611 django_salted_md5: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
3612 django_salted_md5: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
3613 django_salted_md5: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
3614 django_salted_md5: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
3615 django_salted_md5: test no password size limits enforced (if truncate_size=None) ... ok
3616 django_salted_md5: validate 'truncate_error' setting & related attributes ... ok
3617 django_salted_md5: Handler.using() -- default_salt_size ... ok
3618 django_salted_sha1: validate required attributes ... ok
3619 django_salted_sha1: test basic config-string workflow ... ok
3620 django_salted_sha1: test basic using() workflow ... ok
3621 django_salted_sha1: test basic hash-string workflow. ... ok
3622 django_salted_sha1: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
3623 django_salted_sha1: test hashes can be unicode or bytes ... ok
3624 django_salted_sha1: test multi-backend support ... SKIP: handler only has one backend
3625 django_salted_sha1: validate optional salt attributes ... ok
3626 django_salted_sha1: test hash() / genconfig() creates new salt each time ... ok
3627 django_salted_sha1: test hash() / genconfig() honors min_salt_size ... ok
3628 django_salted_sha1: test hash() / genconfig() honors max_salt_size ... ok
3629 django_salted_sha1: test hash() honors salt_chars ... ok
3630 django_salted_sha1: test non-string salt values ... ok
3631 django_salted_sha1: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
3632 django_salted_sha1: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
3633 django_salted_sha1: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
3634 django_salted_sha1: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
3635 django_salted_sha1: test password case sensitivity ... ok
3636 django_salted_sha1: test non-string passwords are rejected ... ok
3637 django_salted_sha1: test MAX_PASSWORD_SIZE is enforced ... ok
3638 django_salted_sha1: test forbidden characters not allowed in password ... SKIP: none listed
3639 django_salted_sha1: test known hashes ... ok
3640 django_salted_sha1: parsehash() ... ok
3641 django_salted_sha1: test known alternate hashes ... SKIP: no alternate hashes provided
3642 django_salted_sha1: parsehash() -- known outputs ... SKIP: no samples present
3643 django_salted_sha1: test known config strings ... SKIP: no config strings provided
3644 django_salted_sha1: test known unidentifiably-mangled strings ... ok
3645 django_salted_sha1: test known identifiable-but-malformed strings ... ok
3646 django_salted_sha1: test known foreign hashes ... ok
3647 django_salted_sha1: test non-string hashes are rejected ... ok
3648 django_salted_sha1: fuzz testing -- random passwords and options ... ok
3649 django_salted_sha1: multithreaded fuzz testing -- random password & options using multiple threads ... ok
3650 django_salted_sha1: run known correct hashes through Django's check_password() ... SKIP: Django >= 1.8 not installed
3651 django_salted_sha1: test against output of Django's make_password() ... SKIP: Django >= 1.8 not installed
3652 django_salted_sha1: .disable() / .enable() methods ... SKIP: not applicable
3653 django_salted_sha1: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
3654 django_salted_sha1: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
3655 django_salted_sha1: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
3656 django_salted_sha1: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
3657 django_salted_sha1: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
3658 django_salted_sha1: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
3659 django_salted_sha1: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
3660 django_salted_sha1: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
3661 django_salted_sha1: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
3662 django_salted_sha1: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
3663 django_salted_sha1: test no password size limits enforced (if truncate_size=None) ... ok
3664 django_salted_sha1: validate 'truncate_error' setting & related attributes ... ok
3665 django_salted_sha1: Handler.using() -- default_salt_size ... ok
3666 atlassian_pbkdf2_sha1: validate required attributes ... ok
3667 atlassian_pbkdf2_sha1: test basic config-string workflow ... ok
3668 atlassian_pbkdf2_sha1: test basic using() workflow ... ok
3669 atlassian_pbkdf2_sha1: test basic hash-string workflow. ... ok
3670 atlassian_pbkdf2_sha1: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
3671 atlassian_pbkdf2_sha1: test hashes can be unicode or bytes ... ok
3672 atlassian_pbkdf2_sha1: test multi-backend support ... SKIP: handler only has one backend
3673 atlassian_pbkdf2_sha1: validate optional salt attributes ... ok
3674 atlassian_pbkdf2_sha1: test hash() / genconfig() creates new salt each time ... ok
3675 atlassian_pbkdf2_sha1: test hash() / genconfig() honors min_salt_size ... ok
3676 atlassian_pbkdf2_sha1: test hash() / genconfig() honors max_salt_size ... ok
3677 atlassian_pbkdf2_sha1: test hash() honors salt_chars ... ok
3678 atlassian_pbkdf2_sha1: test non-string salt values ... ok
3679 atlassian_pbkdf2_sha1: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
3680 atlassian_pbkdf2_sha1: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
3681 atlassian_pbkdf2_sha1: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
3682 atlassian_pbkdf2_sha1: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
3683 atlassian_pbkdf2_sha1: test password case sensitivity ... ok
3684 atlassian_pbkdf2_sha1: test non-string passwords are rejected ... ok
3685 atlassian_pbkdf2_sha1: test MAX_PASSWORD_SIZE is enforced ... ok
3686 atlassian_pbkdf2_sha1: test forbidden characters not allowed in password ... SKIP: none listed
3687 atlassian_pbkdf2_sha1: test known hashes ... ok
3688 atlassian_pbkdf2_sha1: parsehash() ... ok
3689 atlassian_pbkdf2_sha1: test known alternate hashes ... SKIP: no alternate hashes provided
3690 atlassian_pbkdf2_sha1: parsehash() -- known outputs ... SKIP: no samples present
3691 atlassian_pbkdf2_sha1: test known config strings ... SKIP: no config strings provided
3692 atlassian_pbkdf2_sha1: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
3693 atlassian_pbkdf2_sha1: test known identifiable-but-malformed strings ... ok
3694 atlassian_pbkdf2_sha1: test known foreign hashes ... ok
3695 atlassian_pbkdf2_sha1: test non-string hashes are rejected ... ok
3696 atlassian_pbkdf2_sha1: fuzz testing -- random passwords and options ... ok
3697 atlassian_pbkdf2_sha1: multithreaded fuzz testing -- random password & options using multiple threads ... ok
3698 atlassian_pbkdf2_sha1: .disable() / .enable() methods ... SKIP: not applicable
3699 atlassian_pbkdf2_sha1: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
3700 atlassian_pbkdf2_sha1: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
3701 atlassian_pbkdf2_sha1: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
3702 atlassian_pbkdf2_sha1: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
3703 atlassian_pbkdf2_sha1: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
3704 atlassian_pbkdf2_sha1: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
3705 atlassian_pbkdf2_sha1: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
3706 atlassian_pbkdf2_sha1: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
3707 atlassian_pbkdf2_sha1: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
3708 atlassian_pbkdf2_sha1: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
3709 atlassian_pbkdf2_sha1: test no password size limits enforced (if truncate_size=None) ... ok
3710 atlassian_pbkdf2_sha1: validate 'truncate_error' setting & related attributes ... ok
3711 atlassian_pbkdf2_sha1: Handler.using() -- default_salt_size ... ok
3712 cta_pbkdf2_sha1: validate required attributes ... ok
3713 cta_pbkdf2_sha1: test basic config-string workflow ... ok
3714 cta_pbkdf2_sha1: test basic using() workflow ... ok
3715 cta_pbkdf2_sha1: test basic hash-string workflow. ... ok
3716 cta_pbkdf2_sha1: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
3717 cta_pbkdf2_sha1: test hashes can be unicode or bytes ... ok
3718 cta_pbkdf2_sha1: test multi-backend support ... SKIP: handler only has one backend
3719 cta_pbkdf2_sha1: validate optional salt attributes ... ok
3720 cta_pbkdf2_sha1: test hash() / genconfig() creates new salt each time ... ok
3721 cta_pbkdf2_sha1: test hash() / genconfig() honors min_salt_size ... ok
3722 cta_pbkdf2_sha1: test hash() / genconfig() honors max_salt_size ... ok
3723 cta_pbkdf2_sha1: test hash() honors salt_chars ... ok
3724 cta_pbkdf2_sha1: test non-string salt values ... ok
3725 cta_pbkdf2_sha1: validate optional rounds attributes ... ok
3726 cta_pbkdf2_sha1: test hash() / genconfig() honors min_rounds ... ok
3727 cta_pbkdf2_sha1: test hash() / genconfig() honors max_rounds ... ok
3728 cta_pbkdf2_sha1: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
3729 cta_pbkdf2_sha1: test password case sensitivity ... ok
3730 cta_pbkdf2_sha1: test non-string passwords are rejected ... ok
3731 cta_pbkdf2_sha1: test MAX_PASSWORD_SIZE is enforced ... ok
3732 cta_pbkdf2_sha1: test forbidden characters not allowed in password ... SKIP: none listed
3733 cta_pbkdf2_sha1: test known hashes ... ok
3734 cta_pbkdf2_sha1: parsehash() ... ok
3735 cta_pbkdf2_sha1: test known alternate hashes ... SKIP: no alternate hashes provided
3736 cta_pbkdf2_sha1: parsehash() -- known outputs ... SKIP: no samples present
3737 cta_pbkdf2_sha1: test known config strings ... SKIP: no config strings provided
3738 cta_pbkdf2_sha1: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
3739 cta_pbkdf2_sha1: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
3740 cta_pbkdf2_sha1: test known foreign hashes ... ok
3741 cta_pbkdf2_sha1: test non-string hashes are rejected ... ok
3742 cta_pbkdf2_sha1: fuzz testing -- random passwords and options ... ok
3743 cta_pbkdf2_sha1: multithreaded fuzz testing -- random password & options using multiple threads ... ok
3744 cta_pbkdf2_sha1: .disable() / .enable() methods ... SKIP: not applicable
3745 cta_pbkdf2_sha1: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
3746 cta_pbkdf2_sha1: HasRounds.using() -- max_rounds / max_desired_rounds ... ok
3747 cta_pbkdf2_sha1: HasRounds.using() -- desired_rounds + needs_update() ... ok
3748 cta_pbkdf2_sha1: HasRounds.using() -- sanity check test harness ... ok
3749 cta_pbkdf2_sha1: HasRounds.using() -- default_rounds ... ok
3750 cta_pbkdf2_sha1: HasRounds.using() -- min_rounds / min_desired_rounds ... ok
3751 cta_pbkdf2_sha1: HasRounds.using() -- rounds ... ok
3752 cta_pbkdf2_sha1: HasRounds.using() -- vary_rounds generation ... ok
3753 cta_pbkdf2_sha1: HasRounds.using() -- vary_rounds parsing ... ok
3754 cta_pbkdf2_sha1: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
3755 cta_pbkdf2_sha1: test no password size limits enforced (if truncate_size=None) ... ok
3756 cta_pbkdf2_sha1: validate 'truncate_error' setting & related attributes ... ok
3757 cta_pbkdf2_sha1: Handler.using() -- default_salt_size ... ok
3758 dlitz_pbkdf2_sha1: validate required attributes ... ok
3759 dlitz_pbkdf2_sha1: test basic config-string workflow ... ok
3760 dlitz_pbkdf2_sha1: test basic using() workflow ... ok
3761 dlitz_pbkdf2_sha1: test basic hash-string workflow. ... ok
3762 dlitz_pbkdf2_sha1: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
3763 dlitz_pbkdf2_sha1: test hashes can be unicode or bytes ... ok
3764 dlitz_pbkdf2_sha1: test multi-backend support ... SKIP: handler only has one backend
3765 dlitz_pbkdf2_sha1: validate optional salt attributes ... ok
3766 dlitz_pbkdf2_sha1: test hash() / genconfig() creates new salt each time ... ok
3767 dlitz_pbkdf2_sha1: test hash() / genconfig() honors min_salt_size ... ok
3768 dlitz_pbkdf2_sha1: test hash() / genconfig() honors max_salt_size ... ok
3769 dlitz_pbkdf2_sha1: test hash() honors salt_chars ... ok
3770 dlitz_pbkdf2_sha1: test non-string salt values ... ok
3771 dlitz_pbkdf2_sha1: validate optional rounds attributes ... ok
3772 dlitz_pbkdf2_sha1: test hash() / genconfig() honors min_rounds ... ok
3773 dlitz_pbkdf2_sha1: test hash() / genconfig() honors max_rounds ... ok
3774 dlitz_pbkdf2_sha1: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
3775 dlitz_pbkdf2_sha1: test password case sensitivity ... ok
3776 dlitz_pbkdf2_sha1: test non-string passwords are rejected ... ok
3777 dlitz_pbkdf2_sha1: test MAX_PASSWORD_SIZE is enforced ... ok
3778 dlitz_pbkdf2_sha1: test forbidden characters not allowed in password ... SKIP: none listed
3779 dlitz_pbkdf2_sha1: test known hashes ... ok
3780 dlitz_pbkdf2_sha1: parsehash() ... ok
3781 dlitz_pbkdf2_sha1: test known alternate hashes ... SKIP: no alternate hashes provided
3782 dlitz_pbkdf2_sha1: parsehash() -- known outputs ... SKIP: no samples present
3783 dlitz_pbkdf2_sha1: test known config strings ... SKIP: no config strings provided
3784 dlitz_pbkdf2_sha1: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
3785 dlitz_pbkdf2_sha1: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
3786 dlitz_pbkdf2_sha1: test known foreign hashes ... ok
3787 dlitz_pbkdf2_sha1: test non-string hashes are rejected ... ok
3788 dlitz_pbkdf2_sha1: fuzz testing -- random passwords and options ... ok
3789 dlitz_pbkdf2_sha1: multithreaded fuzz testing -- random password & options using multiple threads ... ok
3790 dlitz_pbkdf2_sha1: .disable() / .enable() methods ... SKIP: not applicable
3791 dlitz_pbkdf2_sha1: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
3792 dlitz_pbkdf2_sha1: HasRounds.using() -- max_rounds / max_desired_rounds ... ok
3793 dlitz_pbkdf2_sha1: HasRounds.using() -- desired_rounds + needs_update() ... ok
3794 dlitz_pbkdf2_sha1: HasRounds.using() -- sanity check test harness ... ok
3795 dlitz_pbkdf2_sha1: HasRounds.using() -- default_rounds ... ok
3796 dlitz_pbkdf2_sha1: HasRounds.using() -- min_rounds / min_desired_rounds ... ok
3797 dlitz_pbkdf2_sha1: HasRounds.using() -- rounds ... ok
3798 dlitz_pbkdf2_sha1: HasRounds.using() -- vary_rounds generation ... ok
3799 dlitz_pbkdf2_sha1: HasRounds.using() -- vary_rounds parsing ... ok
3800 dlitz_pbkdf2_sha1: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
3801 dlitz_pbkdf2_sha1: test no password size limits enforced (if truncate_size=None) ... ok
3802 dlitz_pbkdf2_sha1: validate 'truncate_error' setting & related attributes ... ok
3803 dlitz_pbkdf2_sha1: Handler.using() -- default_salt_size ... ok
3804 grub_pbkdf2_sha512: validate required attributes ... ok
3805 grub_pbkdf2_sha512: test basic config-string workflow ... ok
3806 grub_pbkdf2_sha512: test basic using() workflow ... ok
3807 grub_pbkdf2_sha512: test basic hash-string workflow. ... ok
3808 grub_pbkdf2_sha512: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
3809 grub_pbkdf2_sha512: test hashes can be unicode or bytes ... ok
3810 grub_pbkdf2_sha512: test multi-backend support ... SKIP: handler only has one backend
3811 grub_pbkdf2_sha512: validate optional salt attributes ... ok
3812 grub_pbkdf2_sha512: test hash() / genconfig() creates new salt each time ... ok
3813 grub_pbkdf2_sha512: test hash() / genconfig() honors min_salt_size ... ok
3814 grub_pbkdf2_sha512: test hash() / genconfig() honors max_salt_size ... ok
3815 grub_pbkdf2_sha512: test hash() honors salt_chars ... ok
3816 grub_pbkdf2_sha512: test non-string salt values ... ok
3817 grub_pbkdf2_sha512: validate optional rounds attributes ... ok
3818 grub_pbkdf2_sha512: test hash() / genconfig() honors min_rounds ... ok
3819 grub_pbkdf2_sha512: test hash() / genconfig() honors max_rounds ... ok
3820 grub_pbkdf2_sha512: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
3821 grub_pbkdf2_sha512: test password case sensitivity ... ok
3822 grub_pbkdf2_sha512: test non-string passwords are rejected ... ok
3823 grub_pbkdf2_sha512: test MAX_PASSWORD_SIZE is enforced ... ok
3824 grub_pbkdf2_sha512: test forbidden characters not allowed in password ... SKIP: none listed
3825 grub_pbkdf2_sha512: test known hashes ... ok
3826 grub_pbkdf2_sha512: parsehash() ... ok
3827 grub_pbkdf2_sha512: test known alternate hashes ... SKIP: no alternate hashes provided
3828 grub_pbkdf2_sha512: parsehash() -- known outputs ... SKIP: no samples present
3829 grub_pbkdf2_sha512: test known config strings ... SKIP: no config strings provided
3830 grub_pbkdf2_sha512: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
3831 grub_pbkdf2_sha512: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
3832 grub_pbkdf2_sha512: test known foreign hashes ... ok
3833 grub_pbkdf2_sha512: test non-string hashes are rejected ... ok
3834 grub_pbkdf2_sha512: fuzz testing -- random passwords and options ... ok
3835 grub_pbkdf2_sha512: multithreaded fuzz testing -- random password & options using multiple threads ... ok
3836 grub_pbkdf2_sha512: .disable() / .enable() methods ... SKIP: not applicable
3837 grub_pbkdf2_sha512: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
3838 grub_pbkdf2_sha512: HasRounds.using() -- max_rounds / max_desired_rounds ... ok
3839 grub_pbkdf2_sha512: HasRounds.using() -- desired_rounds + needs_update() ... ok
3840 grub_pbkdf2_sha512: HasRounds.using() -- sanity check test harness ... ok
3841 grub_pbkdf2_sha512: HasRounds.using() -- default_rounds ... ok
3842 grub_pbkdf2_sha512: HasRounds.using() -- min_rounds / min_desired_rounds ... ok
3843 grub_pbkdf2_sha512: HasRounds.using() -- rounds ... ok
3844 grub_pbkdf2_sha512: HasRounds.using() -- vary_rounds generation ... ok
3845 grub_pbkdf2_sha512: HasRounds.using() -- vary_rounds parsing ... ok
3846 grub_pbkdf2_sha512: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
3847 grub_pbkdf2_sha512: test no password size limits enforced (if truncate_size=None) ... ok
3848 grub_pbkdf2_sha512: validate 'truncate_error' setting & related attributes ... ok
3849 grub_pbkdf2_sha512: Handler.using() -- default_salt_size ... ok
3850 test ldap pbkdf2 wrappers ... ok
3851 pbkdf2_sha1: validate required attributes ... ok
3852 pbkdf2_sha1: test basic config-string workflow ... ok
3853 pbkdf2_sha1: test basic using() workflow ... ok
3854 pbkdf2_sha1: test basic hash-string workflow. ... ok
3855 pbkdf2_sha1: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
3856 pbkdf2_sha1: test hashes can be unicode or bytes ... ok
3857 pbkdf2_sha1: test multi-backend support ... SKIP: handler only has one backend
3858 pbkdf2_sha1: validate optional salt attributes ... ok
3859 pbkdf2_sha1: test hash() / genconfig() creates new salt each time ... ok
3860 pbkdf2_sha1: test hash() / genconfig() honors min_salt_size ... ok
3861 pbkdf2_sha1: test hash() / genconfig() honors max_salt_size ... ok
3862 pbkdf2_sha1: test hash() honors salt_chars ... ok
3863 pbkdf2_sha1: test non-string salt values ... ok
3864 pbkdf2_sha1: validate optional rounds attributes ... ok
3865 pbkdf2_sha1: test hash() / genconfig() honors min_rounds ... ok
3866 pbkdf2_sha1: test hash() / genconfig() honors max_rounds ... ok
3867 pbkdf2_sha1: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
3868 pbkdf2_sha1: test password case sensitivity ... ok
3869 pbkdf2_sha1: test non-string passwords are rejected ... ok
3870 pbkdf2_sha1: test MAX_PASSWORD_SIZE is enforced ... ok
3871 pbkdf2_sha1: test forbidden characters not allowed in password ... SKIP: none listed
3872 pbkdf2_sha1: test known hashes ... ok
3873 pbkdf2_sha1: parsehash() ... ok
3874 pbkdf2_sha1: test known alternate hashes ... SKIP: no alternate hashes provided
3875 pbkdf2_sha1: parsehash() -- known outputs ... SKIP: no samples present
3876 pbkdf2_sha1: test known config strings ... SKIP: no config strings provided
3877 pbkdf2_sha1: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
3878 pbkdf2_sha1: test known identifiable-but-malformed strings ... ok
3879 pbkdf2_sha1: test known foreign hashes ... ok
3880 pbkdf2_sha1: test non-string hashes are rejected ... ok
3881 pbkdf2_sha1: fuzz testing -- random passwords and options ... ok
3882 pbkdf2_sha1: multithreaded fuzz testing -- random password & options using multiple threads ... ok
3883 pbkdf2_sha1: .disable() / .enable() methods ... SKIP: not applicable
3884 pbkdf2_sha1: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
3885 pbkdf2_sha1: HasRounds.using() -- max_rounds / max_desired_rounds ... ok
3886 pbkdf2_sha1: HasRounds.using() -- desired_rounds + needs_update() ... ok
3887 pbkdf2_sha1: HasRounds.using() -- sanity check test harness ... ok
3888 pbkdf2_sha1: HasRounds.using() -- default_rounds ... ok
3889 pbkdf2_sha1: HasRounds.using() -- min_rounds / min_desired_rounds ... ok
3890 pbkdf2_sha1: HasRounds.using() -- rounds ... ok
3891 pbkdf2_sha1: HasRounds.using() -- vary_rounds generation ... ok
3892 pbkdf2_sha1: HasRounds.using() -- vary_rounds parsing ... ok
3893 pbkdf2_sha1: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
3894 pbkdf2_sha1: test no password size limits enforced (if truncate_size=None) ... ok
3895 pbkdf2_sha1: validate 'truncate_error' setting & related attributes ... ok
3896 pbkdf2_sha1: Handler.using() -- default_salt_size ... ok
3897 pbkdf2_sha256: validate required attributes ... ok
3898 pbkdf2_sha256: test basic config-string workflow ... ok
3899 pbkdf2_sha256: test basic using() workflow ... ok
3900 pbkdf2_sha256: test basic hash-string workflow. ... ok
3901 pbkdf2_sha256: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
3902 pbkdf2_sha256: test hashes can be unicode or bytes ... ok
3903 pbkdf2_sha256: test multi-backend support ... SKIP: handler only has one backend
3904 pbkdf2_sha256: validate optional salt attributes ... ok
3905 pbkdf2_sha256: test hash() / genconfig() creates new salt each time ... ok
3906 pbkdf2_sha256: test hash() / genconfig() honors min_salt_size ... ok
3907 pbkdf2_sha256: test hash() / genconfig() honors max_salt_size ... ok
3908 pbkdf2_sha256: test hash() honors salt_chars ... ok
3909 pbkdf2_sha256: test non-string salt values ... ok
3910 pbkdf2_sha256: validate optional rounds attributes ... ok
3911 pbkdf2_sha256: test hash() / genconfig() honors min_rounds ... ok
3912 pbkdf2_sha256: test hash() / genconfig() honors max_rounds ... ok
3913 pbkdf2_sha256: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
3914 pbkdf2_sha256: test password case sensitivity ... ok
3915 pbkdf2_sha256: test non-string passwords are rejected ... ok
3916 pbkdf2_sha256: test MAX_PASSWORD_SIZE is enforced ... ok
3917 pbkdf2_sha256: test forbidden characters not allowed in password ... SKIP: none listed
3918 pbkdf2_sha256: test known hashes ... ok
3919 pbkdf2_sha256: parsehash() ... ok
3920 pbkdf2_sha256: test known alternate hashes ... SKIP: no alternate hashes provided
3921 pbkdf2_sha256: parsehash() -- known outputs ... SKIP: no samples present
3922 pbkdf2_sha256: test known config strings ... SKIP: no config strings provided
3923 pbkdf2_sha256: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
3924 pbkdf2_sha256: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
3925 pbkdf2_sha256: test known foreign hashes ... ok
3926 pbkdf2_sha256: test non-string hashes are rejected ... ok
3927 pbkdf2_sha256: fuzz testing -- random passwords and options ... ok
3928 pbkdf2_sha256: multithreaded fuzz testing -- random password & options using multiple threads ... ok
3929 pbkdf2_sha256: .disable() / .enable() methods ... SKIP: not applicable
3930 pbkdf2_sha256: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
3931 pbkdf2_sha256: HasRounds.using() -- max_rounds / max_desired_rounds ... ok
3932 pbkdf2_sha256: HasRounds.using() -- desired_rounds + needs_update() ... ok
3933 pbkdf2_sha256: HasRounds.using() -- sanity check test harness ... ok
3934 pbkdf2_sha256: HasRounds.using() -- default_rounds ... ok
3935 pbkdf2_sha256: HasRounds.using() -- min_rounds / min_desired_rounds ... ok
3936 pbkdf2_sha256: HasRounds.using() -- rounds ... ok
3937 pbkdf2_sha256: HasRounds.using() -- vary_rounds generation ... ok
3938 pbkdf2_sha256: HasRounds.using() -- vary_rounds parsing ... ok
3939 pbkdf2_sha256: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
3940 pbkdf2_sha256: test no password size limits enforced (if truncate_size=None) ... ok
3941 pbkdf2_sha256: validate 'truncate_error' setting & related attributes ... ok
3942 pbkdf2_sha256: Handler.using() -- default_salt_size ... ok
3943 pbkdf2_sha512: validate required attributes ... ok
3944 pbkdf2_sha512: test basic config-string workflow ... ok
3945 pbkdf2_sha512: test basic using() workflow ... ok
3946 pbkdf2_sha512: test basic hash-string workflow. ... ok
3947 pbkdf2_sha512: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
3948 pbkdf2_sha512: test hashes can be unicode or bytes ... ok
3949 pbkdf2_sha512: test multi-backend support ... SKIP: handler only has one backend
3950 pbkdf2_sha512: validate optional salt attributes ... ok
3951 pbkdf2_sha512: test hash() / genconfig() creates new salt each time ... ok
3952 pbkdf2_sha512: test hash() / genconfig() honors min_salt_size ... ok
3953 pbkdf2_sha512: test hash() / genconfig() honors max_salt_size ... ok
3954 pbkdf2_sha512: test hash() honors salt_chars ... ok
3955 pbkdf2_sha512: test non-string salt values ... ok
3956 pbkdf2_sha512: validate optional rounds attributes ... ok
3957 pbkdf2_sha512: test hash() / genconfig() honors min_rounds ... ok
3958 pbkdf2_sha512: test hash() / genconfig() honors max_rounds ... ok
3959 pbkdf2_sha512: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
3960 pbkdf2_sha512: test password case sensitivity ... ok
3961 pbkdf2_sha512: test non-string passwords are rejected ... ok
3962 pbkdf2_sha512: test MAX_PASSWORD_SIZE is enforced ... ok
3963 pbkdf2_sha512: test forbidden characters not allowed in password ... SKIP: none listed
3964 pbkdf2_sha512: test known hashes ... ok
3965 pbkdf2_sha512: parsehash() ... ok
3966 pbkdf2_sha512: test known alternate hashes ... SKIP: no alternate hashes provided
3967 pbkdf2_sha512: parsehash() -- known outputs ... SKIP: no samples present
3968 pbkdf2_sha512: test known config strings ... SKIP: no config strings provided
3969 pbkdf2_sha512: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
3970 pbkdf2_sha512: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
3971 pbkdf2_sha512: test known foreign hashes ... ok
3972 pbkdf2_sha512: test non-string hashes are rejected ... ok
3973 pbkdf2_sha512: fuzz testing -- random passwords and options ... ok
3974 pbkdf2_sha512: multithreaded fuzz testing -- random password & options using multiple threads ... ok
3975 pbkdf2_sha512: .disable() / .enable() methods ... SKIP: not applicable
3976 pbkdf2_sha512: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
3977 pbkdf2_sha512: HasRounds.using() -- max_rounds / max_desired_rounds ... ok
3978 pbkdf2_sha512: HasRounds.using() -- desired_rounds + needs_update() ... ok
3979 pbkdf2_sha512: HasRounds.using() -- sanity check test harness ... ok
3980 pbkdf2_sha512: HasRounds.using() -- default_rounds ... ok
3981 pbkdf2_sha512: HasRounds.using() -- min_rounds / min_desired_rounds ... ok
3982 pbkdf2_sha512: HasRounds.using() -- rounds ... ok
3983 pbkdf2_sha512: HasRounds.using() -- vary_rounds generation ... ok
3984 pbkdf2_sha512: HasRounds.using() -- vary_rounds parsing ... ok
3985 pbkdf2_sha512: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
3986 pbkdf2_sha512: test no password size limits enforced (if truncate_size=None) ... ok
3987 pbkdf2_sha512: validate 'truncate_error' setting & related attributes ... ok
3988 pbkdf2_sha512: Handler.using() -- default_salt_size ... ok
3989 scram: validate required attributes ... ok
3990 scram: test basic config-string workflow ... ok
3991 scram: test basic using() workflow ... ok
3992 scram: test basic hash-string workflow. ... ok
3993 scram: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
3994 scram: test hashes can be unicode or bytes ... ok
3995 scram: test multi-backend support ... SKIP: handler only has one backend
3996 scram: validate optional salt attributes ... ok
3997 scram: test hash() / genconfig() creates new salt each time ... ok
3998 scram: test hash() / genconfig() honors min_salt_size ... ok
3999 scram: test hash() / genconfig() honors max_salt_size ... ok
4000 scram: test hash() honors salt_chars ... ok
4001 scram: test non-string salt values ... ok
4002 scram: validate optional rounds attributes ... ok
4003 scram: test hash() / genconfig() honors min_rounds ... ok
4004 scram: test hash() / genconfig() honors max_rounds ... ok
4005 scram: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
4006 scram: test password case sensitivity ... ok
4007 scram: test non-string passwords are rejected ... ok
4008 scram: test MAX_PASSWORD_SIZE is enforced ... ok
4009 scram: test forbidden characters not allowed in password ... SKIP: none listed
4010 scram: test known hashes ... ok
4011 scram: parsehash() ... ok
4012 scram: test known alternate hashes ... SKIP: no alternate hashes provided
4013 scram: parsehash() -- known outputs ... SKIP: no samples present
4014 scram: test known config strings ... SKIP: no config strings provided
4015 scram: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
4016 scram: test known identifiable-but-malformed strings ... ok
4017 scram: test known foreign hashes ... ok
4018 scram: test non-string hashes are rejected ... ok
4019 scram: fuzz testing -- random passwords and options ... ok
4020 scram: multithreaded fuzz testing -- random password & options using multiple threads ... ok
4021 scram: test parsing of 'algs' setting ... ok
4022 scram: test internal parsing of 'checksum' keyword ... ok
4023 scram: test scram.extract_digest_info() ... ok
4024 scram: test scram.extract_digest_algs() ... ok
4025 scram: test scram.derive_digest() ... ok
4026 scram: needs_update() -- algs setting ... ok
4027 scram: test hash/verify use saslprep ... ok
4028 scram: using() -- 'algs' parameter ... ok
4029 scram: using() -- 'default_algs' parameter ... ok
4030 scram: test handling of 'algs' in context object ... ok
4031 scram: test verify(full=True) flag ... ok
4032 scram: .disable() / .enable() methods ... SKIP: not applicable
4033 scram: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
4034 scram: HasRounds.using() -- max_rounds / max_desired_rounds ... ok
4035 scram: HasRounds.using() -- desired_rounds + needs_update() ... ok
4036 scram: HasRounds.using() -- sanity check test harness ... ok
4037 scram: HasRounds.using() -- default_rounds ... ok
4038 scram: HasRounds.using() -- min_rounds / min_desired_rounds ... ok
4039 scram: HasRounds.using() -- rounds ... ok
4040 scram: HasRounds.using() -- vary_rounds generation ... ok
4041 scram: HasRounds.using() -- vary_rounds parsing ... ok
4042 scram: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
4043 scram: test no password size limits enforced (if truncate_size=None) ... ok
4044 scram: validate 'truncate_error' setting & related attributes ... ok
4045 scram: Handler.using() -- default_salt_size ... ok
4046 scrypt (builtin backend): validate required attributes ... ok
4047 scrypt (builtin backend): test basic config-string workflow ... ok
4048 scrypt (builtin backend): test basic using() workflow ... ok
4049 scrypt (builtin backend): test basic hash-string workflow. ... ok
4050 scrypt (builtin backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
4051 scrypt (builtin backend): test hashes can be unicode or bytes ... ok
4052 scrypt (builtin backend): test multi-backend support ... ok
4053 scrypt (builtin backend): validate optional salt attributes ... ok
4054 scrypt (builtin backend): test hash() / genconfig() creates new salt each time ... ok
4055 scrypt (builtin backend): test hash() / genconfig() honors min_salt_size ... ok
4056 scrypt (builtin backend): test hash() / genconfig() honors max_salt_size ... ok
4057 scrypt (builtin backend): test hash() honors salt_chars ... ok
4058 scrypt (builtin backend): test non-string salt values ... ok
4059 scrypt (builtin backend): validate optional rounds attributes ... ok
4060 scrypt (builtin backend): test hash() / genconfig() honors min_rounds ... ok
4061 scrypt (builtin backend): test hash() / genconfig() honors max_rounds ... ok
4062 scrypt (builtin backend): validate HasManyIdents configuration ... ok
4063 scrypt (builtin backend): test password case sensitivity ... ok
4064 scrypt (builtin backend): test non-string passwords are rejected ... ok
4065 scrypt (builtin backend): test MAX_PASSWORD_SIZE is enforced ... ok
4066 scrypt (builtin backend): test forbidden characters not allowed in password ... SKIP: none listed
4067 scrypt (builtin backend): test known hashes ... ok
4068 scrypt (builtin backend): parsehash() ... ok
4069 scrypt (builtin backend): test known alternate hashes ... SKIP: no alternate hashes provided
4070 scrypt (builtin backend): parsehash() -- known outputs ... SKIP: no samples present
4071 scrypt (builtin backend): test known config strings ... SKIP: no config strings provided
4072 scrypt (builtin backend): test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
4073 scrypt (builtin backend): test known identifiable-but-malformed strings ... ok
4074 scrypt (builtin backend): test known foreign hashes ... ok
4075 scrypt (builtin backend): test non-string hashes are rejected ... ok
4076 scrypt (builtin backend): fuzz testing -- random passwords and options ... ok
4077 scrypt (builtin backend): multithreaded fuzz testing -- random password & options using multiple threads ... ok
4078 scrypt (builtin backend): .disable() / .enable() methods ... SKIP: not applicable
4079 scrypt (builtin backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... ok
4080 scrypt (builtin backend): HasRounds.using() -- max_rounds / max_desired_rounds ... ok
4081 scrypt (builtin backend): HasRounds.using() -- desired_rounds + needs_update() ... ok
4082 scrypt (builtin backend): HasRounds.using() -- sanity check test harness ... ok
4083 scrypt (builtin backend): HasRounds.using() -- default_rounds ... ok
4084 scrypt (builtin backend): HasRounds.using() -- min_rounds / min_desired_rounds ... ok
4085 scrypt (builtin backend): HasRounds.using() -- rounds ... ok
4086 scrypt (builtin backend): HasRounds.using() -- vary_rounds generation ... ok
4087 scrypt (builtin backend): HasRounds.using() -- vary_rounds parsing ... ok
4088 scrypt (builtin backend): test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
4089 scrypt (builtin backend): test no password size limits enforced (if truncate_size=None) ... ok
4090 scrypt (builtin backend): validate 'truncate_error' setting & related attributes ... ok
4091 scrypt (builtin backend): Handler.using() -- default_salt_size ... ok
4092 scrypt (scrypt backend): validate required attributes ... SKIP: backend not available
4093 scrypt (scrypt backend): test basic config-string workflow ... SKIP: backend not available
4094 scrypt (scrypt backend): test basic using() workflow ... SKIP: backend not available
4095 scrypt (scrypt backend): test basic hash-string workflow. ... SKIP: backend not available
4096 scrypt (scrypt backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... SKIP: backend not available
4097 scrypt (scrypt backend): test hashes can be unicode or bytes ... SKIP: backend not available
4098 scrypt (scrypt backend): test multi-backend support ... SKIP: backend not available
4099 scrypt (scrypt backend): validate optional salt attributes ... SKIP: backend not available
4100 scrypt (scrypt backend): test hash() / genconfig() creates new salt each time ... SKIP: backend not available
4101 scrypt (scrypt backend): test hash() / genconfig() honors min_salt_size ... SKIP: backend not available
4102 scrypt (scrypt backend): test hash() / genconfig() honors max_salt_size ... SKIP: backend not available
4103 scrypt (scrypt backend): test hash() honors salt_chars ... SKIP: backend not available
4104 scrypt (scrypt backend): test non-string salt values ... SKIP: backend not available
4105 scrypt (scrypt backend): validate optional rounds attributes ... SKIP: backend not available
4106 scrypt (scrypt backend): test hash() / genconfig() honors min_rounds ... SKIP: backend not available
4107 scrypt (scrypt backend): test hash() / genconfig() honors max_rounds ... SKIP: backend not available
4108 scrypt (scrypt backend): validate HasManyIdents configuration ... SKIP: backend not available
4109 scrypt (scrypt backend): test password case sensitivity ... SKIP: backend not available
4110 scrypt (scrypt backend): test non-string passwords are rejected ... SKIP: backend not available
4111 scrypt (scrypt backend): test MAX_PASSWORD_SIZE is enforced ... SKIP: backend not available
4112 scrypt (scrypt backend): test forbidden characters not allowed in password ... SKIP: backend not available
4113 scrypt (scrypt backend): test known hashes ... SKIP: backend not available
4114 scrypt (scrypt backend): parsehash() ... SKIP: backend not available
4115 scrypt (scrypt backend): test known alternate hashes ... SKIP: backend not available
4116 scrypt (scrypt backend): parsehash() -- known outputs ... SKIP: backend not available
4117 scrypt (scrypt backend): test known config strings ... SKIP: backend not available
4118 scrypt (scrypt backend): test known unidentifiably-mangled strings ... SKIP: backend not available
4119 scrypt (scrypt backend): test known identifiable-but-malformed strings ... SKIP: backend not available
4120 scrypt (scrypt backend): test known foreign hashes ... SKIP: backend not available
4121 scrypt (scrypt backend): test non-string hashes are rejected ... SKIP: backend not available
4122 scrypt (scrypt backend): fuzz testing -- random passwords and options ... SKIP: backend not available
4123 scrypt (scrypt backend): multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: backend not available
4124 scrypt (scrypt backend): .disable() / .enable() methods ... SKIP: backend not available
4125 scrypt (scrypt backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: backend not available
4126 scrypt (scrypt backend): HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: backend not available
4127 scrypt (scrypt backend): HasRounds.using() -- desired_rounds + needs_update() ... SKIP: backend not available
4128 scrypt (scrypt backend): HasRounds.using() -- sanity check test harness ... SKIP: backend not available
4129 scrypt (scrypt backend): HasRounds.using() -- default_rounds ... SKIP: backend not available
4130 scrypt (scrypt backend): HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: backend not available
4131 scrypt (scrypt backend): HasRounds.using() -- rounds ... SKIP: backend not available
4132 scrypt (scrypt backend): HasRounds.using() -- vary_rounds generation ... SKIP: backend not available
4133 scrypt (scrypt backend): HasRounds.using() -- vary_rounds parsing ... SKIP: backend not available
4134 scrypt (scrypt backend): test password size limits raise truncate_error (if appropriate) ... SKIP: backend not available
4135 scrypt (scrypt backend): test no password size limits enforced (if truncate_size=None) ... SKIP: backend not available
4136 scrypt (scrypt backend): validate 'truncate_error' setting & related attributes ... SKIP: backend not available
4137 scrypt (scrypt backend): Handler.using() -- default_salt_size ... SKIP: backend not available
4138 scrypt (stdlib backend): validate required attributes ... ok
4139 scrypt (stdlib backend): test basic config-string workflow ... ok
4140 scrypt (stdlib backend): test basic using() workflow ... ok
4141 scrypt (stdlib backend): test basic hash-string workflow. ... ok
4142 scrypt (stdlib backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
4143 scrypt (stdlib backend): test hashes can be unicode or bytes ... ok
4144 scrypt (stdlib backend): test multi-backend support ... ok
4145 scrypt (stdlib backend): validate optional salt attributes ... ok
4146 scrypt (stdlib backend): test hash() / genconfig() creates new salt each time ... ok
4147 scrypt (stdlib backend): test hash() / genconfig() honors min_salt_size ... ok
4148 scrypt (stdlib backend): test hash() / genconfig() honors max_salt_size ... ok
4149 scrypt (stdlib backend): test hash() honors salt_chars ... ok
4150 scrypt (stdlib backend): test non-string salt values ... ok
4151 scrypt (stdlib backend): validate optional rounds attributes ... ok
4152 scrypt (stdlib backend): test hash() / genconfig() honors min_rounds ... ok
4153 scrypt (stdlib backend): test hash() / genconfig() honors max_rounds ... ok
4154 scrypt (stdlib backend): validate HasManyIdents configuration ... ok
4155 scrypt (stdlib backend): test password case sensitivity ... ok
4156 scrypt (stdlib backend): test non-string passwords are rejected ... ok
4157 scrypt (stdlib backend): test MAX_PASSWORD_SIZE is enforced ... ok
4158 scrypt (stdlib backend): test forbidden characters not allowed in password ... SKIP: none listed
4159 scrypt (stdlib backend): test known hashes ... ok
4160 scrypt (stdlib backend): parsehash() ... ok
4161 scrypt (stdlib backend): test known alternate hashes ... SKIP: no alternate hashes provided
4162 scrypt (stdlib backend): parsehash() -- known outputs ... SKIP: no samples present
4163 scrypt (stdlib backend): test known config strings ... SKIP: no config strings provided
4164 scrypt (stdlib backend): test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
4165 scrypt (stdlib backend): test known identifiable-but-malformed strings ... ok
4166 scrypt (stdlib backend): test known foreign hashes ... ok
4167 scrypt (stdlib backend): test non-string hashes are rejected ... ok
4168 scrypt (stdlib backend): fuzz testing -- random passwords and options ... ok
4169 scrypt (stdlib backend): multithreaded fuzz testing -- random password & options using multiple threads ... ok
4170 scrypt (stdlib backend): .disable() / .enable() methods ... SKIP: not applicable
4171 scrypt (stdlib backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... ok
4172 scrypt (stdlib backend): HasRounds.using() -- max_rounds / max_desired_rounds ... ok
4173 scrypt (stdlib backend): HasRounds.using() -- desired_rounds + needs_update() ... ok
4174 scrypt (stdlib backend): HasRounds.using() -- sanity check test harness ... ok
4175 scrypt (stdlib backend): HasRounds.using() -- default_rounds ... ok
4176 scrypt (stdlib backend): HasRounds.using() -- min_rounds / min_desired_rounds ... ok
4177 scrypt (stdlib backend): HasRounds.using() -- rounds ... ok
4178 scrypt (stdlib backend): HasRounds.using() -- vary_rounds generation ... ok
4179 scrypt (stdlib backend): HasRounds.using() -- vary_rounds parsing ... ok
4180 scrypt (stdlib backend): test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
4181 scrypt (stdlib backend): test no password size limits enforced (if truncate_size=None) ... ok
4182 scrypt (stdlib backend): validate 'truncate_error' setting & related attributes ... ok
4183 scrypt (stdlib backend): Handler.using() -- default_salt_size ... ok
4184 test_bsd_contexts (passlib.tests.test_hosts.HostsTest) ... ok
4185 test_host_context (passlib.tests.test_hosts.HostsTest) ... ok
4186 test_linux_context (passlib.tests.test_hosts.HostsTest) ... ok
4187 passlib.pwd.genphrase(): 'length' & 'entropy' keywords ... ok
4188 passlib.pwd.genphrase(): general behavior ... ok
4189 passlib.pwd.genphrase(): 'returns' keyword ... ok
4190 passlib.pwd.genphrase(): 'wordset' & 'words' options ... ok
4191 passlib.pwd: _self_info_rate() ... ok
4192 passlib.pwd.genword(): 'charset' & 'chars' options ... ok
4193 passlib.pwd.genword(): general behavior ... ok
4194 passlib.pwd.genword(): 'returns' keyword ... ok
4195 passlib.registry: test get_crypt_handler() ... ok
4196 passlib.registry: verify we have tests for all builtin handlers ... ok
4197 passlib.registry: test passlib.hash proxy object ... ok
4198 passlib.registry: test list_crypt_handlers() ... ok
4199 passlib.registry: test register_crypt_handler() ... ok
4200 passlib.registry: test register_crypt_handler_path() ... ok
4201 passlib.totp.AppWallet: .decrypt_key() ... ok
4202 passlib.totp.AppWallet: .decrypt_key() -- needs_recrypt flag ... ok
4203 passlib.totp.AppWallet: constructor -- 'default_tag' param ... ok
4204 passlib.totp.AppWallet: verify cost parameter via timing ... ok
4205 passlib.totp.AppWallet: .encrypt_key() ... ok
4206 passlib.totp.AppWallet: constructor -- 'secrets' param -- tag/value normalization ... ok
4207 passlib.totp.AppWallet: constructor -- 'secrets' param -- input types ... ok
4208 passlib.totp.TOTP: helper to iterate over test vectors. ... ok
4209 passlib.totp.TOTP: constructor -- 'alg' parameter ... ok
4210 passlib.totp.TOTP: constructor -- 'digits' parameter ... ok
4211 passlib.totp.TOTP: constructor -- 'issuer' parameter ... ok
4212 passlib.totp.TOTP: constructor -- 'key' and 'format' parameters ... ok
4213 passlib.totp.TOTP: constructor -- 'label' parameter ... ok
4214 passlib.totp.TOTP: constructor -- 'new'  parameter ... ok
4215 passlib.totp.TOTP: constructor -- 'period' parameter ... ok
4216 passlib.totp.TOTP: constructor -- 'size'  parameter ... ok
4217 passlib.totp.TOTP: from_dict() ... ok
4218 passlib.totp.TOTP: from_source() ... ok
4219 passlib.totp.TOTP: from_uri() ... ok
4220 passlib.totp.TOTP: generate() ... ok
4221 passlib.totp.TOTP: generate() -- reference vectors ... ok
4222 passlib.totp.TOTP: pretty_key() and .key attributes ... ok
4223 passlib.totp.TOTP: match() -- reference vectors ... ok
4224 passlib.totp.TOTP: match() -- 'reuse' and 'last_counter' parameters ... ok
4225 passlib.totp.TOTP: match() -- 'skew' parameters ... ok
4226 passlib.totp.TOTP: match() -- token normalization ... ok
4227 passlib.totp.TOTP: match() -- 'time' and 'window' parameters ... ok
4228 passlib.totp.TOTP: normalize_time() ... ok
4229 passlib.totp.TOTP: normalize_token() -- class method ... ok
4230 passlib.totp.TOTP: normalize_token() -- instance method ... ok
4231 passlib.totp.TOTP: internal test -- randotp() ... ok
4232 passlib.totp.TOTP: to_dict() ... ok
4233 passlib.totp.TOTP: to_uri() ... ok
4234 passlib.totp.TOTP: match() -- invalid TotpMatch object ... ok
4235 passlib.totp.TOTP: match() -- valid TotpMatch object with past token ... ok
4236 passlib.totp.TOTP: match() -- valid TotpMatch object with future token ... ok
4237 passlib.totp.TOTP: match() -- valid TotpMatch object ... ok
4238 passlib.totp.TOTP: generate() -- TotpToken() class ... ok
4239 passlib.totp.TOTP: using -- 'now' parameter ... ok
4240 passlib.totp.TOTP: using() -- 'period' parameter ... ok
4241 passlib.totp.TOTP: verify() ... ok
4242 ab64_decode() ... ok
4243 ab64_encode() ... ok
4244 b64s_decode() ... ok
4245 b64s_encode() ... ok
4246 test_constructor (passlib.tests.test_utils.Base64EngineTest) ... ok
4247 test b() helper, bytes and native str type ... ok
4248 test is_ascii_safe() ... ok
4249 test is_same_codec() ... ok
4250 test to_bytes() ... ok
4251 test to_native_str() ... ok
4252 test to_unicode() ... ok
4253 h64big codec: test encode_bytes/decode_bytes against random data ... ok
4254 h64big codec: test decode_bytes() against reference inputs ... ok
4255 h64big codec: test decode_bytes() with bad input ... ok
4256 h64big codec: test decode_bytes() ignores padding bits ... ok
4257 h64big codec: test decode_transposed_bytes() ... ok
4258 h64big codec: test decode_transposed_bytes() fails if map is a one-way ... ok
4259 h64big codec: test encode_bytes() against reference inputs ... ok
4260 h64big codec: test encode_bytes() with bad input ... ok
4261 h64big codec: test encode_transposed_bytes() ... ok
4262 h64big codec: test against reference integer encodings ... ok
4263 h64big codec: test_int12 (passlib.tests.test_utils.H64Big_Test) ... ok
4264 h64big codec: test_int24 (passlib.tests.test_utils.H64Big_Test) ... ok
4265 h64big codec: test_int6 (passlib.tests.test_utils.H64Big_Test) ... ok
4266 h64big codec: test_int64 (passlib.tests.test_utils.H64Big_Test) ... ok
4267 h64big codec: test repair_unused() ... ok
4268 h64 codec: test encode_bytes/decode_bytes against random data ... ok
4269 h64 codec: test decode_bytes() against reference inputs ... ok
4270 h64 codec: test decode_bytes() with bad input ... ok
4271 h64 codec: test decode_bytes() ignores padding bits ... ok
4272 h64 codec: test decode_transposed_bytes() ... ok
4273 h64 codec: test decode_transposed_bytes() fails if map is a one-way ... ok
4274 h64 codec: test encode_bytes() against reference inputs ... ok
4275 h64 codec: test encode_bytes() with bad input ... ok
4276 h64 codec: test encode_transposed_bytes() ... ok
4277 h64 codec: test against reference integer encodings ... ok
4278 h64 codec: test_int12 (passlib.tests.test_utils.H64_Test) ... ok
4279 h64 codec: test_int24 (passlib.tests.test_utils.H64_Test) ... ok
4280 h64 codec: test_int6 (passlib.tests.test_utils.H64_Test) ... ok
4281 h64 codec: test_int64 (passlib.tests.test_utils.H64_Test) ... ok
4282 h64 codec: test repair_unused() ... ok
4283 test_classproperty (passlib.tests.test_utils.MiscTest) ... ok
4284 test compat's lazymodule ... ok
4285 test consteq() ... ok
4286 test crypt.crypt() wrappers ... ok
4287 test_deprecated_function (passlib.tests.test_utils.MiscTest) ... ok
4288 generate_password() ... ok
4289 test genseed() ... ok
4290 getrandbytes() ... ok
4291 getrandstr() ... ok
4292 test is_crypt_context() ... ok
4293 test_memoized_property (passlib.tests.test_utils.MiscTest) ... ok
4294 test saslprep() unicode normalizer ... ok
4295 test_splitcomma (passlib.tests.test_utils.MiscTest) ... ok
4296 utf8_truncate() ... ok
4297 test PrefixWrapper lazy loading of handler ... ok
4298 test PrefixWrapper active loading of handler ... ok
4299 test PrefixWrapper with explicitly specified handler ... ok
4300 test_10_wrapped_attributes (passlib.tests.test_utils_handlers.PrefixWrapperTest) ... ok
4301 test_11_wrapped_methods (passlib.tests.test_utils_handlers.PrefixWrapperTest) ... ok
4302 test_12_ident (passlib.tests.test_utils_handlers.PrefixWrapperTest) ... ok
4303 test repr() ... ok
4304 test orig_prefix sanity check ... ok
4305 salted_test_hash: validate required attributes ... ok
4306 salted_test_hash: test basic config-string workflow ... ok
4307 salted_test_hash: test basic using() workflow ... ok
4308 salted_test_hash: test basic hash-string workflow. ... ok
4309 salted_test_hash: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
4310 salted_test_hash: test hashes can be unicode or bytes ... ok
4311 salted_test_hash: test multi-backend support ... SKIP: handler only has one backend
4312 salted_test_hash: validate optional salt attributes ... ok
4313 salted_test_hash: test hash() / genconfig() creates new salt each time ... ok
4314 salted_test_hash: test hash() / genconfig() honors min_salt_size ... ok
4315 salted_test_hash: test hash() / genconfig() honors max_salt_size ... ok
4316 salted_test_hash: test hash() honors salt_chars ... ok
4317 salted_test_hash: test non-string salt values ... ok
4318 salted_test_hash: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
4319 salted_test_hash: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
4320 salted_test_hash: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
4321 salted_test_hash: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
4322 salted_test_hash: test password case sensitivity ... ok
4323 salted_test_hash: test non-string passwords are rejected ... ok
4324 salted_test_hash: test MAX_PASSWORD_SIZE is enforced ... ok
4325 salted_test_hash: test forbidden characters not allowed in password ... SKIP: none listed
4326 salted_test_hash: test known hashes ... ok
4327 salted_test_hash: parsehash() ... ok
4328 salted_test_hash: test known alternate hashes ... SKIP: no alternate hashes provided
4329 salted_test_hash: parsehash() -- known outputs ... SKIP: no samples present
4330 salted_test_hash: test known config strings ... SKIP: no config strings provided
4331 salted_test_hash: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
4332 salted_test_hash: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
4333 salted_test_hash: test known foreign hashes ... ok
4334 salted_test_hash: test non-string hashes are rejected ... ok
4335 salted_test_hash: fuzz testing -- random passwords and options ... ok
4336 salted_test_hash: multithreaded fuzz testing -- random password & options using multiple threads ... ok
4337 salted_test_hash: test_bad_kwds (passlib.tests.test_utils_handlers.SaltedHashTest) ... ok
4338 salted_test_hash: .disable() / .enable() methods ... SKIP: not applicable
4339 salted_test_hash: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
4340 salted_test_hash: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
4341 salted_test_hash: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
4342 salted_test_hash: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
4343 salted_test_hash: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
4344 salted_test_hash: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
4345 salted_test_hash: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
4346 salted_test_hash: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
4347 salted_test_hash: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
4348 salted_test_hash: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
4349 salted_test_hash: test no password size limits enforced (if truncate_size=None) ... ok
4350 salted_test_hash: validate 'truncate_error' setting & related attributes ... ok
4351 salted_test_hash: Handler.using() -- default_salt_size ... ok
4352 test StaticHandler class ... ok
4353 test StaticHandler legacy attr ... ok
4354 test GenericHandler.identify() ... ok
4355 test GenericHandler checksum handling ... ok
4356 test GenericHandler + HasRawChecksum mixin ... ok
4357 test GenericHandler + HasSalt mixin ... ok
4358 test GenericHandler + HasRounds mixin ... ok
4359 test GenericHandler + HasManyBackends mixin ... ok
4360 test GenericHandler + HasManyBackends mixin (deprecated api) ... ok
4361 test GenericHandler + HasManyIdents ... ok
4362 test parsehash() ... ok
4363 test bitsize() ... ok
4364 unsalted_test_hash: validate required attributes ... ok
4365 unsalted_test_hash: test basic config-string workflow ... ok
4366 unsalted_test_hash: test basic using() workflow ... ok
4367 unsalted_test_hash: test basic hash-string workflow. ... ok
4368 unsalted_test_hash: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
4369 unsalted_test_hash: test hashes can be unicode or bytes ... ok
4370 unsalted_test_hash: test multi-backend support ... SKIP: handler only has one backend
4371 unsalted_test_hash: validate optional salt attributes ... SKIP: handler doesn't have salt
4372 unsalted_test_hash: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
4373 unsalted_test_hash: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
4374 unsalted_test_hash: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
4375 unsalted_test_hash: test hash() honors salt_chars ... SKIP: handler doesn't have salt
4376 unsalted_test_hash: test non-string salt values ... SKIP: handler doesn't have salt
4377 unsalted_test_hash: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
4378 unsalted_test_hash: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
4379 unsalted_test_hash: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
4380 unsalted_test_hash: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
4381 unsalted_test_hash: test password case sensitivity ... ok
4382 unsalted_test_hash: test non-string passwords are rejected ... ok
4383 unsalted_test_hash: test MAX_PASSWORD_SIZE is enforced ... ok
4384 unsalted_test_hash: test forbidden characters not allowed in password ... SKIP: none listed
4385 unsalted_test_hash: test known hashes ... ok
4386 unsalted_test_hash: parsehash() ... ok
4387 unsalted_test_hash: test known alternate hashes ... SKIP: no alternate hashes provided
4388 unsalted_test_hash: parsehash() -- known outputs ... SKIP: no samples present
4389 unsalted_test_hash: test known config strings ... SKIP: hash has no settings
4390 unsalted_test_hash: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
4391 unsalted_test_hash: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
4392 unsalted_test_hash: test known foreign hashes ... ok
4393 unsalted_test_hash: test non-string hashes are rejected ... ok
4394 unsalted_test_hash: fuzz testing -- random passwords and options ... ok
4395 unsalted_test_hash: multithreaded fuzz testing -- random password & options using multiple threads ... ok
4396 unsalted_test_hash: test_bad_kwds (passlib.tests.test_utils_handlers.UnsaltedHashTest) ... ok
4397 unsalted_test_hash: .disable() / .enable() methods ... SKIP: not applicable
4398 unsalted_test_hash: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
4399 unsalted_test_hash: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
4400 unsalted_test_hash: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
4401 unsalted_test_hash: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
4402 unsalted_test_hash: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
4403 unsalted_test_hash: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
4404 unsalted_test_hash: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
4405 unsalted_test_hash: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
4406 unsalted_test_hash: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
4407 unsalted_test_hash: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
4408 unsalted_test_hash: test no password size limits enforced (if truncate_size=None) ... ok
4409 unsalted_test_hash: validate 'truncate_error' setting & related attributes ... ok
4410 unsalted_test_hash: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
4411 passlib.utils.md4.md4(): informational attributes ... ok
4412 passlib.utils.md4.md4(): copy() method ... ok
4413 passlib.utils.md4.md4(): digest() method ... ok
4414 passlib.utils.md4.md4(): hexdigest() method ... ok
4415 passlib.utils.md4.md4(): update() method ... ok
4416 passlib.utils.pbkdf2.pbkdf1(): test border cases ... ok
4417 passlib.utils.pbkdf2.pbkdf1(): test reference vectors ... ok
4418 passlib.utils.pbkdf2.pbkdf2(): test border cases ... ok
4419 passlib.utils.pbkdf2.pbkdf2(): test custom prf function ... ok
4420 passlib.utils.pbkdf2.pbkdf2(): test keylen==None ... ok
4421 passlib.utils.pbkdf2.pbkdf2(): test reference vectors ... ok
4422 passlib.utils.pbkdf2: norm_hash_name() ... ok
4423 test_lmhash (passlib.tests.test_win32.UtilTest) ... ok
4424 test_nthash (passlib.tests.test_win32.UtilTest) ... ok
4426 ----------------------------------------------------------------------
4427 Ran 4420 tests
4429 OK (SKIP=2008)
4430   py$(PYV): OK
4431   congratulations :)