Warning: Permanently added '172.25.84.228' (ECDSA) to the list of known hosts.
Running: /usr/bin/copr-rpmbuild --verbose --drop-resultdir --build-id 883567 --chroot fedora-rawhide-x86_64 --detached default
Version: 0.24
Task:
{'build_id': 883567,
 'buildroot_pkgs': [],
 'chroot': 'fedora-rawhide-x86_64',
 'enable_net': False,
 'fetch_sources_only': True,
 'git_hash': '108a77c55a23b4b63360aeb8a27cd4c1a12b5a13',
 'git_repo': 'duck/mailman3-rpm-repo-devel/python-passlib',
 'memory_reqs': 2048,
 'package_name': 'python-passlib',
 'package_version': '1.7.1-3.fc28',
 'project_dirname': 'mailman3-rpm-repo-devel',
 'project_name': 'mailman3-rpm-repo-devel',
 'project_owner': 'duck',
 'repos': [{'baseurl': 'https://copr-be.cloud.fedoraproject.org/results/duck/mailman3-rpm-repo-devel/fedora-rawhide-x86_64/',
            'id': 'copr_base',
            'name': 'Copr repository'}],
 'source_json': {'clone_url': 'https://copr-dist-git.fedorainfracloud.org/git/duck/mailman3-rpm-repo-devel/python-passlib.git',
                 'committish': '108a77c55a23b4b63360aeb8a27cd4c1a12b5a13'},
 'source_type': 8,
 'submitter': 'duck',
 'task_id': '883567-fedora-rawhide-x86_64',
 'timeout': 64800,
 'use_bootstrap_container': False,
 'with_opts': [],
 'without_opts': []}

Running: git clone https://copr-dist-git.fedorainfracloud.org/git/duck/mailman3-rpm-repo-devel/python-passlib.git /tmp/tmp5_jf61dv/python-passlib --depth 500 --no-single-branch

cmd: ['git', 'clone', 'https://copr-dist-git.fedorainfracloud.org/git/duck/mailman3-rpm-repo-devel/python-passlib.git', '/tmp/tmp5_jf61dv/python-passlib', '--depth', '500', '--no-single-branch']
cwd: .
rc: 0
stdout: 
stderr: Cloning into '/tmp/tmp5_jf61dv/python-passlib'...

Running: git checkout 108a77c55a23b4b63360aeb8a27cd4c1a12b5a13

cmd: ['git', 'checkout', '108a77c55a23b4b63360aeb8a27cd4c1a12b5a13']
cwd: /tmp/tmp5_jf61dv/python-passlib
rc: 0
stdout: 
stderr: Note: checking out '108a77c55a23b4b63360aeb8a27cd4c1a12b5a13'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at 108a77c automatic import of python-passlib

Running: cp -r . /tmp/tmp43joapm0

cmd: ['cp', '-r', '.', '/tmp/tmp43joapm0']
cwd: /tmp/tmp5_jf61dv/python-passlib
rc: 0
stdout: 
stderr: 

Generated rpkg config:
[rpkg]
preprocess_spec = True
# auto-packing is deprecated:
auto_pack = True

[git]
lookaside = https://copr-dist-git.fedorainfracloud.org/repo/pkgs/%(ns2)s/%(ns1)s/%(name)s/%(filename)s/%(hashtype)s/%(hash)s/%(filename)s
anongiturl = https://copr-dist-git.fedorainfracloud.org/git/%(module)s

Writing config into /tmp/tmp5_jf61dv/.config/rpkg.conf
Running: rpkg -C /tmp/tmp5_jf61dv/.config/rpkg.conf sources --outdir /tmp/tmp43joapm0
/usr/bin/tail: /var/lib/copr-rpmbuild/main.log: file truncated

cmd: ['rpkg', '-C', '/tmp/tmp5_jf61dv/.config/rpkg.conf', 'sources', '--outdir', '/tmp/tmp43joapm0']
cwd: /tmp/tmp5_jf61dv/python-passlib
rc: 0
stdout: Downloading passlib-1.7.1.tar.gz from lookaside cache at copr-dist-git.fedorainfracloud.org
stderr: 

Running (timeout=64800): unbuffer /usr/bin/mock --buildsrpm --spec /tmp/tmp43joapm0/python-passlib.spec --sources /tmp/tmp43joapm0 --configdir /var/lib/copr-rpmbuild/results/configs --resultdir /var/lib/copr-rpmbuild/results --define '%_disable_source_fetch 0' --uniqueext 1555337353.262598 -r child
WARNING: Could not find required logging config file: /var/lib/copr-rpmbuild/results/configs/logging.ini. Using default...
INFO: mock.py version 1.4.14 starting (python version = 3.6.5)...
Start: init plugins
INFO: tmpfs initialized
INFO: selinux disabled
INFO: chroot_scan: initialized
INFO: compress_logs: initialized
Finish: init plugins
Start: run
INFO: Start(/tmp/tmp43joapm0/python-passlib.spec)  Config(883567-fedora-rawhide-x86_64)
Start: clean chroot
Finish: clean chroot
Start: chroot init
INFO: mounting tmpfs at /var/lib/mock/883567-fedora-rawhide-x86_64-1555337353.262598/root.
INFO: calling preinit hooks
INFO: enabled root cache
INFO: enabled HW Info plugin
Mock Version: 1.4.14
INFO: Mock Version: 1.4.14
Start: dnf install
fedora                                           62 MB/s |  61 MB     00:00    
Failed to synchronize cache for repo 'copr_base', disabling.
Last metadata expiration check: 0:00:26 ago on Mon 15 Apr 2019 02:09:16 PM UTC.
Dependencies resolved.
================================================================================
 Group                       Packages                                         
================================================================================
Marking packages as installed by the group:
 @Buildsystem building group rpm-build              util-linux cpio           
                             which                  make       unzip          
                             tar                    info       fedora-release 
                             coreutils              diffutils  redhat-rpm-config
                             gawk                   patch      xz             
                             bzip2                  grep       shadow-utils   
                             glibc-minimal-langpack bash       sed            
                             gzip                   findutils                 
================================================================================
 Package                    Arch   Version                         Repository
                                                                           Size
================================================================================
Installing group packages:
 bash                       x86_64 5.0.2-1.fc30                    fedora 1.6 M
 bzip2                      x86_64 1.0.6-29.fc30                   fedora  49 k
 coreutils                  x86_64 8.31-2.fc31                     fedora 1.2 M
 cpio                       x86_64 2.12-10.fc30                    fedora 247 k
 diffutils                  x86_64 3.7-2.fc30                      fedora 384 k
 fedora-release             noarch 31-0.5                          fedora  11 k
 findutils                  x86_64 1:4.6.0-22.fc30                 fedora 504 k
 gawk                       x86_64 4.2.1-6.fc31                    fedora 1.1 M
 glibc-minimal-langpack     x86_64 2.29.9000-14.fc31               fedora  57 k
 grep                       x86_64 3.3-1.fc31                      fedora 246 k
 gzip                       x86_64 1.9-9.fc31                      fedora 151 k
 info                       x86_64 6.6-1.fc30                      fedora 212 k
 make                       x86_64 1:4.2.1-13.fc30                 fedora 482 k
 patch                      x86_64 2.7.6-9.fc31                    fedora 123 k
 redhat-rpm-config          noarch 128-1.fc30                      fedora  60 k
 rpm-build                  x86_64 4.14.2.1-7.fc31                 fedora 117 k
 sed                        x86_64 4.5-3.fc30                      fedora 285 k
 shadow-utils               x86_64 2:4.6-12.fc31                   fedora 1.2 M
 tar                        x86_64 2:1.32-1.fc31                   fedora 863 k
 unzip                      x86_64 6.0-43.fc30                     fedora 175 k
 util-linux                 x86_64 2.33.2-1.fc31                   fedora 2.4 M
 which                      x86_64 2.21-14.fc30                    fedora  41 k
 xz                         x86_64 5.2.4-5.fc30                    fedora 143 k
Installing dependencies:
 alternatives               x86_64 1.11-4.fc31                     fedora  33 k
 audit-libs                 x86_64 3.0-0.7.20190326git03e7489.fc31 fedora 107 k
 basesystem                 noarch 11-7.fc30                       fedora 6.9 k
 binutils                   x86_64 2.32-11.fc31                    fedora 6.0 M
 binutils-gold              x86_64 2.32-11.fc31                    fedora 838 k
 boost-regex                x86_64 1.69.0-6.fc30                   fedora 289 k
 brotli                     x86_64 1.0.7-3.fc30                    fedora 311 k
 bzip2-libs                 x86_64 1.0.6-29.fc30                   fedora  37 k
 ca-certificates            noarch 2018.2.26-3.fc30                fedora 385 k
 coreutils-common           x86_64 8.31-2.fc31                     fedora 2.0 M
 cracklib                   x86_64 2.9.6-19.fc30                   fedora  77 k
 crypto-policies            noarch 20190211-2.gite3eacfc.fc30      fedora  51 k
 ctags                      x86_64 5.8-25.fc30                     fedora 158 k
 curl                       x86_64 7.64.1-1.fc31                   fedora 297 k
 cyrus-sasl-lib             x86_64 2.1.27-0.6rc7.fc30              fedora  92 k
 dwz                        x86_64 0.12-10.fc30                    fedora 102 k
 efi-srpm-macros            noarch 4-2.fc30                        fedora  23 k
 elfutils                   x86_64 0.176-1.fc30                    fedora 291 k
 elfutils-default-yama-scope
                            noarch 0.176-1.fc30                    fedora  16 k
 elfutils-libelf            x86_64 0.176-1.fc30                    fedora 177 k
 elfutils-libs              x86_64 0.176-1.fc30                    fedora 260 k
 expat                      x86_64 2.2.6-2.fc30                    fedora  92 k
 fedora-gpg-keys            noarch 31-0.2                          fedora 102 k
 fedora-release-common      noarch 31-0.5                          fedora  18 k
 fedora-repos               noarch 31-0.2                          fedora 9.2 k
 fedora-repos-rawhide       noarch 31-0.2                          fedora 8.4 k
 file                       x86_64 5.36-2.fc31                     fedora  49 k
 file-libs                  x86_64 5.36-2.fc31                     fedora 545 k
 filesystem                 x86_64 3.10-1.fc30                     fedora 1.1 M
 fpc-srpm-macros            noarch 1.2-1.fc31                      fedora 7.5 k
 gc                         x86_64 7.6.4-5.fc30                    fedora  93 k
 gdb-headless               x86_64 8.3.50.20190412-6.fc31          fedora 3.6 M
 gdbm-libs                  x86_64 1:1.18-4.fc30                   fedora  50 k
 ghc-srpm-macros            noarch 1.4.2-9.fc30                    fedora 7.6 k
 glib2                      x86_64 2.60.0-3.fc31                   fedora 2.5 M
 glibc                      x86_64 2.29.9000-14.fc31               fedora 4.0 M
 glibc-common               x86_64 2.29.9000-14.fc31               fedora 848 k
 gmp                        x86_64 1:6.1.2-10.fc31                 fedora 265 k
 gnat-srpm-macros           noarch 4-9.fc30                        fedora 8.5 k
 go-srpm-macros             noarch 2-19.fc30                       fedora  11 k
 guile22                    x86_64 2.2.4-3.fc30                    fedora 6.4 M
 keyutils-libs              x86_64 1.6-2.fc30                      fedora  30 k
 krb5-libs                  x86_64 1.17-9.fc31                     fedora 747 k
 libacl                     x86_64 2.2.53-3.fc30                   fedora  24 k
 libarchive                 x86_64 3.3.3-7.fc31                    fedora 342 k
 libatomic_ops              x86_64 7.6.10-1.fc31                   fedora  34 k
 libattr                    x86_64 2.4.48-5.fc30                   fedora  17 k
 libbabeltrace              x86_64 1.5.6-2.fc30                    fedora 184 k
 libblkid                   x86_64 2.33.2-1.fc31                   fedora 146 k
 libcap                     x86_64 2.26-5.fc30                     fedora  46 k
 libcap-ng                  x86_64 0.7.9-7.fc31                    fedora  27 k
 libcom_err                 x86_64 1.45.0-1.fc31                   fedora  26 k
 libcurl                    x86_64 7.64.1-1.fc31                   fedora 255 k
 libdb                      x86_64 5.3.28-37.fc30                  fedora 735 k
 libdb-utils                x86_64 5.3.28-37.fc30                  fedora 129 k
 libfdisk                   x86_64 2.33.2-1.fc31                   fedora 194 k
 libffi                     x86_64 3.1-19.fc30                     fedora  31 k
 libgcc                     x86_64 9.0.1-0.12.fc31                 fedora  83 k
 libgcrypt                  x86_64 1.8.4-3.fc30                    fedora 435 k
 libgpg-error               x86_64 1.33-2.fc30                     fedora 238 k
 libicu                     x86_64 63.1-2.fc30                     fedora 9.0 M
 libidn2                    x86_64 2.1.1a-1.fc30                   fedora  89 k
 libipt                     x86_64 2.0-2.fc30                      fedora  51 k
 libmetalink                x86_64 0.1.3-8.fc30                    fedora  28 k
 libmount                   x86_64 2.33.2-1.fc31                   fedora 168 k
 libnghttp2                 x86_64 1.37.0-1.fc31                   fedora  69 k
 libnsl2                    x86_64 1.2.0-4.20180605git4a062cf.fc30 fedora  54 k
 libpkgconf                 x86_64 1.6.1-1.fc31                    fedora  34 k
 libpsl                     x86_64 0.20.2-6.fc30                   fedora  57 k
 libpwquality               x86_64 1.4.0-12.fc30                   fedora  96 k
 libselinux                 x86_64 2.9-1.fc31                      fedora  79 k
 libsemanage                x86_64 2.9-1.fc31                      fedora 112 k
 libsepol                   x86_64 2.9-1.fc31                      fedora 280 k
 libsigsegv                 x86_64 2.11-7.fc30                     fedora  25 k
 libsmartcols               x86_64 2.33.2-1.fc31                   fedora 108 k
 libssh                     x86_64 0.8.7-1.fc31                    fedora 212 k
 libstdc++                  x86_64 9.0.1-0.12.fc31                 fedora 572 k
 libtasn1                   x86_64 4.13-7.fc30                     fedora  67 k
 libtirpc                   x86_64 1.1.4-2.rc2.fc30.1              fedora  97 k
 libtool-ltdl               x86_64 2.4.6-29.fc30                   fedora  34 k
 libunistring               x86_64 0.9.10-5.fc30                   fedora 415 k
 libutempter                x86_64 1.1.6-16.fc30                   fedora  24 k
 libuuid                    x86_64 2.33.2-1.fc31                   fedora  26 k
 libverto                   x86_64 0.3.0-7.fc30                    fedora  20 k
 libxcrypt                  x86_64 4.4.4-2.fc31                    fedora 119 k
 libxml2                    x86_64 2.9.9-2.fc30                    fedora 651 k
 libzstd                    x86_64 1.3.8-2.fc30                    fedora 252 k
 lua-libs                   x86_64 5.3.5-5.fc30                    fedora 104 k
 lz4-libs                   x86_64 1.8.3-2.fc30                    fedora  60 k
 mpfr                       x86_64 3.1.6-4.fc30                    fedora 212 k
 ncurses                    x86_64 6.1-10.20180923.fc30            fedora 360 k
 ncurses-base               noarch 6.1-10.20180923.fc30            fedora  59 k
 ncurses-libs               x86_64 6.1-10.20180923.fc30            fedora 288 k
 nim-srpm-macros            noarch 1-4.fc30                        fedora 8.1 k
 ocaml-srpm-macros          noarch 5-5.fc30                        fedora 7.7 k
 openblas-srpm-macros       noarch 2-5.fc30                        fedora 7.3 k
 openldap                   x86_64 2.4.47-1.fc30                   fedora 280 k
 openssl-libs               x86_64 1:1.1.1b-4.fc31                 fedora 1.3 M
 p11-kit                    x86_64 0.23.15-3.fc30                  fedora 240 k
 p11-kit-trust              x86_64 0.23.15-3.fc30                  fedora 125 k
 pam                        x86_64 1.3.1-17.fc30                   fedora 624 k
 pcre                       x86_64 8.43-1.fc31                     fedora 187 k
 pcre2                      x86_64 10.33-0.4.RC1.fc31              fedora 248 k
 perl-srpm-macros           noarch 1-29.fc30                       fedora 8.2 k
 pkgconf                    x86_64 1.6.1-1.fc31                    fedora  38 k
 pkgconf-m4                 noarch 1.6.1-1.fc31                    fedora  15 k
 pkgconf-pkg-config         x86_64 1.6.1-1.fc31                    fedora  11 k
 popt                       x86_64 1.16-17.fc30                    fedora  55 k
 publicsuffix-list-dafsa    noarch 20190128-2.fc30                 fedora  54 k
 python-pip-wheel           noarch 19.0.3-1.fc31                   fedora 1.1 M
 python-setuptools-wheel    noarch 40.8.0-1.fc30                   fedora 279 k
 python-srpm-macros         noarch 3-42.fc30                       fedora  11 k
 python3-libs               x86_64 3.7.3-1.fc31                    fedora 7.7 M
 qt5-srpm-macros            noarch 5.12.1-1.fc31                   fedora 9.1 k
 readline                   x86_64 8.0-2.fc30                      fedora 191 k
 rpm                        x86_64 4.14.2.1-7.fc31                 fedora 489 k
 rpm-build-libs             x86_64 4.14.2.1-7.fc31                 fedora  94 k
 rpm-libs                   x86_64 4.14.2.1-7.fc31                 fedora 287 k
 rust-srpm-macros           noarch 6-4.fc30                        fedora 9.0 k
 setup                      noarch 2.13.3-1.fc31                   fedora 149 k
 source-highlight           x86_64 3.1.8-24.fc31                   fedora 649 k
 sqlite-libs                x86_64 3.27.2-3.fc31                   fedora 540 k
 systemd-libs               x86_64 242-1.fc31                      fedora 512 k
 tzdata                     noarch 2019a-1.fc31                    fedora 425 k
 xz-libs                    x86_64 5.2.4-5.fc30                    fedora  85 k
 zip                        x86_64 3.0-24.fc30                     fedora 264 k
 zlib                       x86_64 1.2.11-15.fc30                  fedora  89 k
 zstd                       x86_64 1.3.8-2.fc30                    fedora 361 k

Transaction Summary
================================================================================
Install  151 Packages

Total download size: 76 M
Installed size: 351 M
Downloading Packages:
(1/151): gzip-1.9-9.fc31.x86_64.rpm             2.3 MB/s | 151 kB     00:00    
(2/151): diffutils-3.7-2.fc30.x86_64.rpm        5.4 MB/s | 384 kB     00:00    
(3/151): redhat-rpm-config-128-1.fc30.noarch.rp  11 MB/s |  60 kB     00:00    
(4/151): glibc-minimal-langpack-2.29.9000-14.fc  11 MB/s |  57 kB     00:00    
(5/151): make-4.2.1-13.fc30.x86_64.rpm           20 MB/s | 482 kB     00:00    
(6/151): shadow-utils-4.6-12.fc31.x86_64.rpm     12 MB/s | 1.2 MB     00:00    
(7/151): fedora-release-31-0.5.noarch.rpm       1.4 MB/s |  11 kB     00:00    
(8/151): rpm-build-4.14.2.1-7.fc31.x86_64.rpm    18 MB/s | 117 kB     00:00    
(9/151): sed-4.5-3.fc30.x86_64.rpm               21 MB/s | 285 kB     00:00    
(10/151): findutils-4.6.0-22.fc30.x86_64.rpm     15 MB/s | 504 kB     00:00    
(11/151): which-2.21-14.fc30.x86_64.rpm         6.8 MB/s |  41 kB     00:00    
(12/151): grep-3.3-1.fc31.x86_64.rpm             17 MB/s | 246 kB     00:00    
(13/151): patch-2.7.6-9.fc31.x86_64.rpm          17 MB/s | 123 kB     00:00    
(14/151): info-6.6-1.fc30.x86_64.rpm             23 MB/s | 212 kB     00:00    
(15/151): unzip-6.0-43.fc30.x86_64.rpm           18 MB/s | 175 kB     00:00    
(16/151): cpio-2.12-10.fc30.x86_64.rpm           24 MB/s | 247 kB     00:00    
(17/151): tar-1.32-1.fc31.x86_64.rpm             25 MB/s | 863 kB     00:00    
(18/151): xz-5.2.4-5.fc30.x86_64.rpm             12 MB/s | 143 kB     00:00    
(19/151): bzip2-1.0.6-29.fc30.x86_64.rpm         12 MB/s |  49 kB     00:00    
(20/151): coreutils-8.31-2.fc31.x86_64.rpm       25 MB/s | 1.2 MB     00:00    
(21/151): gawk-4.2.1-6.fc31.x86_64.rpm           27 MB/s | 1.1 MB     00:00    
(22/151): audit-libs-3.0-0.7.20190326git03e7489  18 MB/s | 107 kB     00:00    
(23/151): util-linux-2.33.2-1.fc31.x86_64.rpm    27 MB/s | 2.4 MB     00:00    
(24/151): bash-5.0.2-1.fc30.x86_64.rpm           22 MB/s | 1.6 MB     00:00    
(25/151): libacl-2.2.53-3.fc30.x86_64.rpm       1.7 MB/s |  24 kB     00:00    
(26/151): libattr-2.4.48-5.fc30.x86_64.rpm      4.6 MB/s |  17 kB     00:00    
(27/151): libselinux-2.9-1.fc31.x86_64.rpm       16 MB/s |  79 kB     00:00    
(28/151): libsemanage-2.9-1.fc31.x86_64.rpm      19 MB/s | 112 kB     00:00    
(29/151): libxcrypt-4.4.4-2.fc31.x86_64.rpm      18 MB/s | 119 kB     00:00    
(30/151): setup-2.13.3-1.fc31.noarch.rpm         19 MB/s | 149 kB     00:00    
(31/151): dwz-0.12-10.fc30.x86_64.rpm            14 MB/s | 102 kB     00:00    
(32/151): efi-srpm-macros-4-2.fc30.noarch.rpm   4.3 MB/s |  23 kB     00:00    
(33/151): file-5.36-2.fc31.x86_64.rpm           8.5 MB/s |  49 kB     00:00    
(34/151): fpc-srpm-macros-1.2-1.fc31.noarch.rpm 1.8 MB/s | 7.5 kB     00:00    
(35/151): ghc-srpm-macros-1.4.2-9.fc30.noarch.r 2.5 MB/s | 7.6 kB     00:00    
(36/151): gnat-srpm-macros-4-9.fc30.noarch.rpm  2.9 MB/s | 8.5 kB     00:00    
(37/151): go-srpm-macros-2-19.fc30.noarch.rpm   3.8 MB/s |  11 kB     00:00    
(38/151): nim-srpm-macros-1-4.fc30.noarch.rpm   3.0 MB/s | 8.1 kB     00:00    
(39/151): ocaml-srpm-macros-5-5.fc30.noarch.rpm 2.7 MB/s | 7.7 kB     00:00    
(40/151): openblas-srpm-macros-2-5.fc30.noarch. 2.5 MB/s | 7.3 kB     00:00    
(41/151): glibc-2.29.9000-14.fc31.x86_64.rpm     28 MB/s | 4.0 MB     00:00    
(42/151): perl-srpm-macros-1-29.fc30.noarch.rpm 385 kB/s | 8.2 kB     00:00    
(43/151): python-srpm-macros-3-42.fc30.noarch.r 4.5 MB/s |  11 kB     00:00    
(44/151): qt5-srpm-macros-5.12.1-1.fc31.noarch. 3.0 MB/s | 9.1 kB     00:00    
(45/151): rust-srpm-macros-6-4.fc30.noarch.rpm  2.0 MB/s | 9.0 kB     00:00    
(46/151): rpm-4.14.2.1-7.fc31.x86_64.rpm         33 MB/s | 489 kB     00:00    
(47/151): zip-3.0-24.fc30.x86_64.rpm             21 MB/s | 264 kB     00:00    
(48/151): fedora-release-common-31-0.5.noarch.r 3.2 MB/s |  18 kB     00:00    
(49/151): glibc-common-2.29.9000-14.fc31.x86_64  30 MB/s | 848 kB     00:00    
(50/151): elfutils-0.176-1.fc30.x86_64.rpm       25 MB/s | 291 kB     00:00    
(51/151): elfutils-libelf-0.176-1.fc30.x86_64.r  21 MB/s | 177 kB     00:00    
(52/151): elfutils-libs-0.176-1.fc30.x86_64.rpm  23 MB/s | 260 kB     00:00    
(53/151): guile22-2.2.4-3.fc30.x86_64.rpm        32 MB/s | 6.4 MB     00:00    
(54/151): popt-1.16-17.fc30.x86_64.rpm          6.5 MB/s |  55 kB     00:00    
(55/151): rpm-build-libs-4.14.2.1-7.fc31.x86_64  12 MB/s |  94 kB     00:00    
(56/151): rpm-libs-4.14.2.1-7.fc31.x86_64.rpm    22 MB/s | 287 kB     00:00    
(57/151): zstd-1.3.8-2.fc30.x86_64.rpm           23 MB/s | 361 kB     00:00    
(58/151): pcre-8.43-1.fc31.x86_64.rpm            16 MB/s | 187 kB     00:00    
(59/151): gdb-headless-8.3.50.20190412-6.fc31.x  29 MB/s | 3.6 MB     00:00    
(60/151): ncurses-libs-6.1-10.20180923.fc30.x86  11 MB/s | 288 kB     00:00    
(61/151): zlib-1.2.11-15.fc30.x86_64.rpm        9.5 MB/s |  89 kB     00:00    
(62/151): bzip2-libs-1.0.6-29.fc30.x86_64.rpm   9.1 MB/s |  37 kB     00:00    
(63/151): gmp-6.1.2-10.fc31.x86_64.rpm           19 MB/s | 265 kB     00:00    
(64/151): libcap-2.26-5.fc30.x86_64.rpm         6.1 MB/s |  46 kB     00:00    
(65/151): ncurses-6.1-10.20180923.fc30.x86_64.r  20 MB/s | 360 kB     00:00    
(66/151): coreutils-common-8.31-2.fc31.x86_64.r  36 MB/s | 2.0 MB     00:00    
(67/151): xz-libs-5.2.4-5.fc30.x86_64.rpm       9.6 MB/s |  85 kB     00:00    
(68/151): openssl-libs-1.1.1b-4.fc31.x86_64.rpm  26 MB/s | 1.3 MB     00:00    
(69/151): libsigsegv-2.11-7.fc30.x86_64.rpm     5.0 MB/s |  25 kB     00:00    
(70/151): filesystem-3.10-1.fc30.x86_64.rpm      25 MB/s | 1.1 MB     00:00    
(71/151): mpfr-3.1.6-4.fc30.x86_64.rpm           15 MB/s | 212 kB     00:00    
(72/151): readline-8.0-2.fc30.x86_64.rpm         21 MB/s | 191 kB     00:00    
(73/151): libblkid-2.33.2-1.fc31.x86_64.rpm      21 MB/s | 146 kB     00:00    
(74/151): libcap-ng-0.7.9-7.fc31.x86_64.rpm     5.0 MB/s |  27 kB     00:00    
(75/151): libfdisk-2.33.2-1.fc31.x86_64.rpm      26 MB/s | 194 kB     00:00    
(76/151): libmount-2.33.2-1.fc31.x86_64.rpm      18 MB/s | 168 kB     00:00    
(77/151): libsmartcols-2.33.2-1.fc31.x86_64.rpm  17 MB/s | 108 kB     00:00    
(78/151): libutempter-1.1.6-16.fc30.x86_64.rpm  5.3 MB/s |  24 kB     00:00    
(79/151): libuuid-2.33.2-1.fc31.x86_64.rpm      8.2 MB/s |  26 kB     00:00    
(80/151): binutils-2.32-11.fc31.x86_64.rpm       17 MB/s | 6.0 MB     00:00    
(81/151): basesystem-11-7.fc30.noarch.rpm       1.8 MB/s | 6.9 kB     00:00    
(82/151): pam-1.3.1-17.fc30.x86_64.rpm           13 MB/s | 624 kB     00:00    
(83/151): libgcc-9.0.1-0.12.fc31.x86_64.rpm     9.0 MB/s |  83 kB     00:00    
(84/151): systemd-libs-242-1.fc31.x86_64.rpm     10 MB/s | 512 kB     00:00    
(85/151): pcre2-10.33-0.4.RC1.fc31.x86_64.rpm    25 MB/s | 248 kB     00:00    
(86/151): gc-7.6.4-5.fc30.x86_64.rpm             13 MB/s |  93 kB     00:00    
(87/151): libsepol-2.9-1.fc31.x86_64.rpm         11 MB/s | 280 kB     00:00    
(88/151): libffi-3.1-19.fc30.x86_64.rpm         2.0 MB/s |  31 kB     00:00    
(89/151): libtool-ltdl-2.4.6-29.fc30.x86_64.rpm 2.0 MB/s |  34 kB     00:00    
(90/151): libunistring-0.9.10-5.fc30.x86_64.rpm  32 MB/s | 415 kB     00:00    
(91/151): libarchive-3.3.3-7.fc31.x86_64.rpm     20 MB/s | 342 kB     00:00    
(92/151): libdb-utils-5.3.28-37.fc30.x86_64.rpm  14 MB/s | 129 kB     00:00    
(93/151): file-libs-5.36-2.fc31.x86_64.rpm       20 MB/s | 545 kB     00:00    
(94/151): fedora-repos-31-0.2.noarch.rpm        1.5 MB/s | 9.2 kB     00:00    
(95/151): alternatives-1.11-4.fc31.x86_64.rpm   9.5 MB/s |  33 kB     00:00    
(96/151): tzdata-2019a-1.fc31.noarch.rpm         25 MB/s | 425 kB     00:00    
(97/151): elfutils-default-yama-scope-0.176-1.f 3.4 MB/s |  16 kB     00:00    
(98/151): expat-2.2.6-2.fc30.x86_64.rpm          16 MB/s |  92 kB     00:00    
(99/151): binutils-gold-2.32-11.fc31.x86_64.rpm  32 MB/s | 838 kB     00:00    
(100/151): libstdc++-9.0.1-0.12.fc31.x86_64.rpm  21 MB/s | 572 kB     00:00    
(101/151): libipt-2.0-2.fc30.x86_64.rpm         8.7 MB/s |  51 kB     00:00    
(102/151): libbabeltrace-1.5.6-2.fc30.x86_64.rp  12 MB/s | 184 kB     00:00    
(103/151): source-highlight-3.1.8-24.fc31.x86_6  39 MB/s | 649 kB     00:00    
(104/151): libdb-5.3.28-37.fc30.x86_64.rpm       28 MB/s | 735 kB     00:00    
(105/151): libzstd-1.3.8-2.fc30.x86_64.rpm       18 MB/s | 252 kB     00:00    
(106/151): lua-libs-5.3.5-5.fc30.x86_64.rpm      21 MB/s | 104 kB     00:00    
(107/151): ncurses-base-6.1-10.20180923.fc30.no  12 MB/s |  59 kB     00:00    
(108/151): crypto-policies-20190211-2.gite3eacf 8.5 MB/s |  51 kB     00:00    
(109/151): ca-certificates-2018.2.26-3.fc30.noa  31 MB/s | 385 kB     00:00    
(110/151): cracklib-2.9.6-19.fc30.x86_64.rpm     13 MB/s |  77 kB     00:00    
(111/151): libnsl2-1.2.0-4.20180605git4a062cf.f  12 MB/s |  54 kB     00:00    
(112/151): libtirpc-1.1.4-2.rc2.fc30.1.x86_64.r  19 MB/s |  97 kB     00:00    
(113/151): lz4-libs-1.8.3-2.fc30.x86_64.rpm     8.9 MB/s |  60 kB     00:00    
(114/151): libgcrypt-1.8.4-3.fc30.x86_64.rpm     30 MB/s | 435 kB     00:00    
(115/151): libatomic_ops-7.6.10-1.fc31.x86_64.r 6.1 MB/s |  34 kB     00:00    
(116/151): fedora-gpg-keys-31-0.2.noarch.rpm     14 MB/s | 102 kB     00:00    
(117/151): fedora-repos-rawhide-31-0.2.noarch.r 2.1 MB/s | 8.4 kB     00:00    
(118/151): libxml2-2.9.9-2.fc30.x86_64.rpm       34 MB/s | 651 kB     00:00    
(119/151): gdbm-libs-1.18-4.fc30.x86_64.rpm     9.0 MB/s |  50 kB     00:00    
(120/151): python-pip-wheel-19.0.3-1.fc31.noarc  34 MB/s | 1.1 MB     00:00    
(121/151): python-setuptools-wheel-40.8.0-1.fc3  22 MB/s | 279 kB     00:00    
(122/151): glib2-2.60.0-3.fc31.x86_64.rpm        33 MB/s | 2.5 MB     00:00    
(123/151): sqlite-libs-3.27.2-3.fc31.x86_64.rpm  18 MB/s | 540 kB     00:00    
(124/151): boost-regex-1.69.0-6.fc30.x86_64.rpm  21 MB/s | 289 kB     00:00    
(125/151): ctags-5.8-25.fc30.x86_64.rpm          25 MB/s | 158 kB     00:00    
(126/151): libcom_err-1.45.0-1.fc31.x86_64.rpm  4.0 MB/s |  26 kB     00:00    
(127/151): krb5-libs-1.17-9.fc31.x86_64.rpm      33 MB/s | 747 kB     00:00    
(128/151): libgpg-error-1.33-2.fc30.x86_64.rpm   18 MB/s | 238 kB     00:00    
(129/151): keyutils-libs-1.6-2.fc30.x86_64.rpm  4.3 MB/s |  30 kB     00:00    
(130/151): libverto-0.3.0-7.fc30.x86_64.rpm     3.3 MB/s |  20 kB     00:00    
(131/151): pkgconf-pkg-config-1.6.1-1.fc31.x86_ 2.8 MB/s |  11 kB     00:00    
(132/151): pkgconf-1.6.1-1.fc31.x86_64.rpm      7.9 MB/s |  38 kB     00:00    
(133/151): python3-libs-3.7.3-1.fc31.x86_64.rpm  30 MB/s | 7.7 MB     00:00    
(134/151): pkgconf-m4-1.6.1-1.fc31.noarch.rpm   406 kB/s |  15 kB     00:00    
(135/151): libpkgconf-1.6.1-1.fc31.x86_64.rpm   6.5 MB/s |  34 kB     00:00    
(136/151): libpwquality-1.4.0-12.fc30.x86_64.rp  13 MB/s |  96 kB     00:00    
(137/151): p11-kit-0.23.15-3.fc30.x86_64.rpm     23 MB/s | 240 kB     00:00    
(138/151): p11-kit-trust-0.23.15-3.fc30.x86_64.  13 MB/s | 125 kB     00:00    
(139/151): libtasn1-4.13-7.fc30.x86_64.rpm       12 MB/s |  67 kB     00:00    
(140/151): libmetalink-0.1.3-8.fc30.x86_64.rpm  4.2 MB/s |  28 kB     00:00    
(141/151): curl-7.64.1-1.fc31.x86_64.rpm         17 MB/s | 297 kB     00:00    
(142/151): libcurl-7.64.1-1.fc31.x86_64.rpm      14 MB/s | 255 kB     00:00    
(143/151): brotli-1.0.7-3.fc30.x86_64.rpm        15 MB/s | 311 kB     00:00    
(144/151): libidn2-2.1.1a-1.fc30.x86_64.rpm     8.3 MB/s |  89 kB     00:00    
(145/151): libpsl-0.20.2-6.fc30.x86_64.rpm      8.8 MB/s |  57 kB     00:00    
(146/151): libnghttp2-1.37.0-1.fc31.x86_64.rpm  7.5 MB/s |  69 kB     00:00    
(147/151): libssh-0.8.7-1.fc31.x86_64.rpm        23 MB/s | 212 kB     00:00    
(148/151): openldap-2.4.47-1.fc30.x86_64.rpm     23 MB/s | 280 kB     00:00    
(149/151): publicsuffix-list-dafsa-20190128-2.f 7.3 MB/s |  54 kB     00:00    
(150/151): cyrus-sasl-lib-2.1.27-0.6rc7.fc30.x8  18 MB/s |  92 kB     00:00    
(151/151): libicu-63.1-2.fc30.x86_64.rpm         36 MB/s | 9.0 MB     00:00    
--------------------------------------------------------------------------------
Total                                            47 MB/s |  76 MB     00:01     
warning: /var/lib/mock/883567-fedora-rawhide-x86_64-1555337353.262598/root/var/cache/dnf/fedora-2d95c80a1fa0a67d/packages/shadow-utils-4.6-12.fc31.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID 3c3359c4: NOKEY
Importing GPG key 0x3C3359C4:
 Userid     : "Fedora (31) <fedora-31-primary@fedoraproject.org>"
 Fingerprint: 7D22 D586 7F2A 4236 474B F7B8 50CB 390B 3C33 59C4
 From       : /usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-31-primary
Key imported successfully
Importing GPG key 0xCFC659B9:
 Userid     : "Fedora (30) <fedora-30-primary@fedoraproject.org>"
 Fingerprint: F1D8 EC98 F241 AAF2 0DF6 9420 EF3C 111F CFC6 59B9
 From       : /usr/share/distribution-gpg-keys/fedora/RPM-GPG-KEY-fedora-30-primary
Key imported successfully
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Running scriptlet: filesystem-3.10-1.fc30.x86_64                          1/1 
  Preparing        :                                                        1/1 
  Installing       : libgcc-9.0.1-0.12.fc31.x86_64                        1/151 
  Running scriptlet: libgcc-9.0.1-0.12.fc31.x86_64                        1/151 
  Installing       : publicsuffix-list-dafsa-20190128-2.fc30.noarch       2/151 
  Installing       : pkgconf-m4-1.6.1-1.fc31.noarch                       3/151 
  Installing       : python-setuptools-wheel-40.8.0-1.fc30.noarch         4/151 
  Installing       : fedora-gpg-keys-31-0.2.noarch                        5/151 
  Installing       : fedora-release-common-31-0.5.noarch                  6/151 
  Installing       : fedora-release-31-0.5.noarch                         7/151 
  Installing       : fedora-repos-rawhide-31-0.2.noarch                   8/151 
  Installing       : fedora-repos-31-0.2.noarch                           9/151 
  Installing       : setup-2.13.3-1.fc31.noarch                          10/151 
  Running scriptlet: setup-2.13.3-1.fc31.noarch                          10/151 
warning: /etc/hosts created as /etc/hosts.rpmnew
  Installing       : filesystem-3.10-1.fc30.x86_64                       11/151 
  Installing       : basesystem-11-7.fc30.noarch                         12/151 
  Installing       : ncurses-base-6.1-10.20180923.fc30.noarch            13/151 
  Installing       : tzdata-2019a-1.fc31.noarch                          14/151 
  Installing       : pcre2-10.33-0.4.RC1.fc31.x86_64                     15/151 
  Installing       : libselinux-2.9-1.fc31.x86_64                        16/151 
  Installing       : ncurses-libs-6.1-10.20180923.fc30.x86_64            17/151 
  Installing       : glibc-common-2.29.9000-14.fc31.x86_64               18/151 
  Installing       : glibc-minimal-langpack-2.29.9000-14.fc31.x86_64     19/151 
  Running scriptlet: glibc-2.29.9000-14.fc31.x86_64                      20/151 
  Installing       : glibc-2.29.9000-14.fc31.x86_64                      20/151 
  Running scriptlet: glibc-2.29.9000-14.fc31.x86_64                      20/151 
  Installing       : bash-5.0.2-1.fc30.x86_64                            21/151 
  Running scriptlet: bash-5.0.2-1.fc30.x86_64                            21/151 
  Installing       : libsepol-2.9-1.fc31.x86_64                          22/151 
  Running scriptlet: libsepol-2.9-1.fc31.x86_64                          22/151 
  Installing       : zlib-1.2.11-15.fc30.x86_64                          23/151 
  Installing       : bzip2-libs-1.0.6-29.fc30.x86_64                     24/151 
  Installing       : xz-libs-5.2.4-5.fc30.x86_64                         25/151 
  Installing       : libstdc++-9.0.1-0.12.fc31.x86_64                    26/151 
  Installing       : elfutils-libelf-0.176-1.fc30.x86_64                 27/151 
  Installing       : libxcrypt-4.4.4-2.fc31.x86_64                       28/151 
  Installing       : libuuid-2.33.2-1.fc31.x86_64                        29/151 
  Installing       : popt-1.16-17.fc30.x86_64                            30/151 
  Installing       : libdb-5.3.28-37.fc30.x86_64                         31/151 
  Installing       : libattr-2.4.48-5.fc30.x86_64                        32/151 
  Installing       : libacl-2.2.53-3.fc30.x86_64                         33/151 
  Installing       : sed-4.5-3.fc30.x86_64                               34/151 
  Installing       : gmp-1:6.1.2-10.fc31.x86_64                          35/151 
  Installing       : readline-8.0-2.fc30.x86_64                          36/151 
  Installing       : libffi-3.1-19.fc30.x86_64                           37/151 
  Installing       : libcom_err-1.45.0-1.fc31.x86_64                     38/151 
  Installing       : libcap-2.26-5.fc30.x86_64                           39/151 
  Installing       : libunistring-0.9.10-5.fc30.x86_64                   40/151 
  Installing       : expat-2.2.6-2.fc30.x86_64                           41/151 
  Installing       : libzstd-1.3.8-2.fc30.x86_64                         42/151 
  Installing       : libidn2-2.1.1a-1.fc30.x86_64                        43/151 
  Installing       : p11-kit-0.23.15-3.fc30.x86_64                       44/151 
  Installing       : mpfr-3.1.6-4.fc30.x86_64                            45/151 
  Installing       : unzip-6.0-43.fc30.x86_64                            46/151 
  Installing       : file-libs-5.36-2.fc31.x86_64                        47/151 
  Installing       : file-5.36-2.fc31.x86_64                             48/151 
  Installing       : elfutils-default-yama-scope-0.176-1.fc30.noarch     49/151 
  Running scriptlet: elfutils-default-yama-scope-0.176-1.fc30.noarch     49/151 
  Installing       : elfutils-libs-0.176-1.fc30.x86_64                   50/151 
  Installing       : findutils-1:4.6.0-22.fc30.x86_64                    51/151 
  Installing       : pcre-8.43-1.fc31.x86_64                             52/151 
  Installing       : grep-3.3-1.fc31.x86_64                              53/151 
  Installing       : libcap-ng-0.7.9-7.fc31.x86_64                       54/151 
  Installing       : audit-libs-3.0-0.7.20190326git03e7489.fc31.x86_6    55/151 
  Installing       : alternatives-1.11-4.fc31.x86_64                     56/151 
  Installing       : lua-libs-5.3.5-5.fc30.x86_64                        57/151 
  Installing       : lz4-libs-1.8.3-2.fc30.x86_64                        58/151 
  Installing       : libsemanage-2.9-1.fc31.x86_64                       59/151 
  Installing       : shadow-utils-2:4.6-12.fc31.x86_64                   60/151 
  Running scriptlet: libutempter-1.1.6-16.fc30.x86_64                    61/151 
  Installing       : libutempter-1.1.6-16.fc30.x86_64                    61/151 
  Installing       : xz-5.2.4-5.fc30.x86_64                              62/151 
  Installing       : elfutils-0.176-1.fc30.x86_64                        63/151 
  Installing       : zip-3.0-24.fc30.x86_64                              64/151 
  Installing       : libpsl-0.20.2-6.fc30.x86_64                         65/151 
  Installing       : libmetalink-0.1.3-8.fc30.x86_64                     66/151 
  Installing       : tar-2:1.32-1.fc31.x86_64                            67/151 
  Installing       : patch-2.7.6-9.fc31.x86_64                           68/151 
  Installing       : libdb-utils-5.3.28-37.fc30.x86_64                   69/151 
  Installing       : dwz-0.12-10.fc30.x86_64                             70/151 
  Installing       : zstd-1.3.8-2.fc30.x86_64                            71/151 
  Installing       : libicu-63.1-2.fc30.x86_64                           72/151 
  Installing       : boost-regex-1.69.0-6.fc30.x86_64                    73/151 
  Installing       : libxml2-2.9.9-2.fc30.x86_64                         74/151 
  Installing       : bzip2-1.0.6-29.fc30.x86_64                          75/151 
  Installing       : sqlite-libs-3.27.2-3.fc31.x86_64                    76/151 
  Installing       : diffutils-3.7-2.fc30.x86_64                         77/151 
  Installing       : cpio-2.12-10.fc30.x86_64                            78/151 
  Installing       : ncurses-6.1-10.20180923.fc30.x86_64                 79/151 
  Installing       : libsigsegv-2.11-7.fc30.x86_64                       80/151 
  Installing       : gawk-4.2.1-6.fc31.x86_64                            81/151 
  Installing       : libsmartcols-2.33.2-1.fc31.x86_64                   82/151 
  Installing       : libtool-ltdl-2.4.6-29.fc30.x86_64                   83/151 
  Installing       : libipt-2.0-2.fc30.x86_64                            84/151 
  Installing       : libatomic_ops-7.6.10-1.fc31.x86_64                  85/151 
  Installing       : gc-7.6.4-5.fc30.x86_64                              86/151 
  Installing       : gdbm-libs-1:1.18-4.fc30.x86_64                      87/151 
  Installing       : ctags-5.8-25.fc30.x86_64                            88/151 
  Installing       : source-highlight-3.1.8-24.fc31.x86_64               89/151 
  Installing       : libgpg-error-1.33-2.fc30.x86_64                     90/151 
  Installing       : libgcrypt-1.8.4-3.fc30.x86_64                       91/151 
  Installing       : keyutils-libs-1.6-2.fc30.x86_64                     92/151 
  Installing       : libverto-0.3.0-7.fc30.x86_64                        93/151 
  Installing       : libpkgconf-1.6.1-1.fc31.x86_64                      94/151 
  Installing       : pkgconf-1.6.1-1.fc31.x86_64                         95/151 
  Installing       : pkgconf-pkg-config-1.6.1-1.fc31.x86_64              96/151 
  Installing       : libtasn1-4.13-7.fc30.x86_64                         97/151 
  Installing       : p11-kit-trust-0.23.15-3.fc30.x86_64                 98/151 
  Running scriptlet: p11-kit-trust-0.23.15-3.fc30.x86_64                 98/151 
  Installing       : brotli-1.0.7-3.fc30.x86_64                          99/151 
  Installing       : libnghttp2-1.37.0-1.fc31.x86_64                    100/151 
  Installing       : coreutils-common-8.31-2.fc31.x86_64                101/151 
  Installing       : openssl-libs-1:1.1.1b-4.fc31.x86_64                102/151 
  Installing       : coreutils-8.31-2.fc31.x86_64                       103/151 
  Running scriptlet: ca-certificates-2018.2.26-3.fc30.noarch            104/151 
  Installing       : ca-certificates-2018.2.26-3.fc30.noarch            104/151 
  Running scriptlet: ca-certificates-2018.2.26-3.fc30.noarch            104/151 
  Installing       : crypto-policies-20190211-2.gite3eacfc.fc30.noarc   105/151 
  Running scriptlet: crypto-policies-20190211-2.gite3eacfc.fc30.noarc   105/151 
  Installing       : krb5-libs-1.17-9.fc31.x86_64                       106/151 
  Installing       : libtirpc-1.1.4-2.rc2.fc30.1.x86_64                 107/151 
  Installing       : libblkid-2.33.2-1.fc31.x86_64                      108/151 
  Running scriptlet: libblkid-2.33.2-1.fc31.x86_64                      108/151 
  Installing       : libmount-2.33.2-1.fc31.x86_64                      109/151 
  Installing       : libnsl2-1.2.0-4.20180605git4a062cf.fc30.x86_64     110/151 
  Installing       : gzip-1.9-9.fc31.x86_64                             111/151 
  Installing       : cracklib-2.9.6-19.fc30.x86_64                      112/151 
  Installing       : pam-1.3.1-17.fc30.x86_64                           113/151 
  Installing       : libpwquality-1.4.0-12.fc30.x86_64                  114/151 
  Installing       : binutils-gold-2.32-11.fc31.x86_64                  115/151 
  Installing       : binutils-2.32-11.fc31.x86_64                       116/151 
  Running scriptlet: binutils-2.32-11.fc31.x86_64                       116/151 
  Installing       : glib2-2.60.0-3.fc31.x86_64                         117/151 
  Installing       : libbabeltrace-1.5.6-2.fc30.x86_64                  118/151 
  Installing       : libfdisk-2.33.2-1.fc31.x86_64                      119/151 
  Installing       : libssh-0.8.7-1.fc31.x86_64                         120/151 
  Installing       : cyrus-sasl-lib-2.1.27-0.6rc7.fc30.x86_64           121/151 
  Installing       : openldap-2.4.47-1.fc30.x86_64                      122/151 
  Installing       : libcurl-7.64.1-1.fc31.x86_64                       123/151 
  Installing       : curl-7.64.1-1.fc31.x86_64                          124/151 
  Installing       : python-pip-wheel-19.0.3-1.fc31.noarch              125/151 
  Installing       : python3-libs-3.7.3-1.fc31.x86_64                   126/151 
  Installing       : guile22-2.2.4-3.fc30.x86_64                        127/151 
  Running scriptlet: guile22-2.2.4-3.fc30.x86_64                        127/151 
  Installing       : systemd-libs-242-1.fc31.x86_64                     128/151 
  Running scriptlet: systemd-libs-242-1.fc31.x86_64                     128/151 
  Installing       : libarchive-3.3.3-7.fc31.x86_64                     129/151 
  Installing       : rpm-libs-4.14.2.1-7.fc31.x86_64                    130/151 
  Installing       : rpm-4.14.2.1-7.fc31.x86_64                         131/151 
  Installing       : efi-srpm-macros-4-2.fc30.noarch                    132/151 
  Installing       : gdb-headless-8.3.50.20190412-6.fc31.x86_64         133/151 
  Installing       : rpm-build-libs-4.14.2.1-7.fc31.x86_64              134/151 
  Installing       : rust-srpm-macros-6-4.fc30.noarch                   135/151 
  Installing       : qt5-srpm-macros-5.12.1-1.fc31.noarch               136/151 
  Installing       : python-srpm-macros-3-42.fc30.noarch                137/151 
  Installing       : perl-srpm-macros-1-29.fc30.noarch                  138/151 
  Installing       : openblas-srpm-macros-2-5.fc30.noarch               139/151 
  Installing       : ocaml-srpm-macros-5-5.fc30.noarch                  140/151 
  Installing       : nim-srpm-macros-1-4.fc30.noarch                    141/151 
  Installing       : go-srpm-macros-2-19.fc30.noarch                    142/151 
  Installing       : gnat-srpm-macros-4-9.fc30.noarch                   143/151 
  Installing       : ghc-srpm-macros-1.4.2-9.fc30.noarch                144/151 
  Installing       : fpc-srpm-macros-1.2-1.fc31.noarch                  145/151 
  Installing       : redhat-rpm-config-128-1.fc30.noarch                146/151 
  Installing       : rpm-build-4.14.2.1-7.fc31.x86_64                   147/151 
  Installing       : util-linux-2.33.2-1.fc31.x86_64                    148/151 
  Running scriptlet: util-linux-2.33.2-1.fc31.x86_64                    148/151 
  Installing       : make-1:4.2.1-13.fc30.x86_64                        149/151 
  Installing       : info-6.6-1.fc30.x86_64                             150/151 
  Installing       : which-2.21-14.fc30.x86_64                          151/151 
  Running scriptlet: filesystem-3.10-1.fc30.x86_64                      151/151 
  Running scriptlet: glibc-common-2.29.9000-14.fc31.x86_64              151/151 
  Running scriptlet: glib2-2.60.0-3.fc31.x86_64                         151/151 
  Running scriptlet: info-6.6-1.fc30.x86_64                             151/151 
  Verifying        : shadow-utils-2:4.6-12.fc31.x86_64                    1/151 
  Verifying        : diffutils-3.7-2.fc30.x86_64                          2/151 
  Verifying        : gzip-1.9-9.fc31.x86_64                               3/151 
  Verifying        : make-1:4.2.1-13.fc30.x86_64                          4/151 
  Verifying        : redhat-rpm-config-128-1.fc30.noarch                  5/151 
  Verifying        : glibc-minimal-langpack-2.29.9000-14.fc31.x86_64      6/151 
  Verifying        : findutils-1:4.6.0-22.fc30.x86_64                     7/151 
  Verifying        : fedora-release-31-0.5.noarch                         8/151 
  Verifying        : sed-4.5-3.fc30.x86_64                                9/151 
  Verifying        : rpm-build-4.14.2.1-7.fc31.x86_64                    10/151 
  Verifying        : grep-3.3-1.fc31.x86_64                              11/151 
  Verifying        : which-2.21-14.fc30.x86_64                           12/151 
  Verifying        : patch-2.7.6-9.fc31.x86_64                           13/151 
  Verifying        : tar-2:1.32-1.fc31.x86_64                            14/151 
  Verifying        : info-6.6-1.fc30.x86_64                              15/151 
  Verifying        : unzip-6.0-43.fc30.x86_64                            16/151 
  Verifying        : cpio-2.12-10.fc30.x86_64                            17/151 
  Verifying        : coreutils-8.31-2.fc31.x86_64                        18/151 
  Verifying        : xz-5.2.4-5.fc30.x86_64                              19/151 
  Verifying        : bzip2-1.0.6-29.fc30.x86_64                          20/151 
  Verifying        : gawk-4.2.1-6.fc31.x86_64                            21/151 
  Verifying        : util-linux-2.33.2-1.fc31.x86_64                     22/151 
  Verifying        : bash-5.0.2-1.fc30.x86_64                            23/151 
  Verifying        : audit-libs-3.0-0.7.20190326git03e7489.fc31.x86_6    24/151 
  Verifying        : glibc-2.29.9000-14.fc31.x86_64                      25/151 
  Verifying        : libacl-2.2.53-3.fc30.x86_64                         26/151 
  Verifying        : libattr-2.4.48-5.fc30.x86_64                        27/151 
  Verifying        : libselinux-2.9-1.fc31.x86_64                        28/151 
  Verifying        : libsemanage-2.9-1.fc31.x86_64                       29/151 
  Verifying        : libxcrypt-4.4.4-2.fc31.x86_64                       30/151 
  Verifying        : setup-2.13.3-1.fc31.noarch                          31/151 
  Verifying        : guile22-2.2.4-3.fc30.x86_64                         32/151 
  Verifying        : dwz-0.12-10.fc30.x86_64                             33/151 
  Verifying        : efi-srpm-macros-4-2.fc30.noarch                     34/151 
  Verifying        : file-5.36-2.fc31.x86_64                             35/151 
  Verifying        : fpc-srpm-macros-1.2-1.fc31.noarch                   36/151 
  Verifying        : ghc-srpm-macros-1.4.2-9.fc30.noarch                 37/151 
  Verifying        : gnat-srpm-macros-4-9.fc30.noarch                    38/151 
  Verifying        : go-srpm-macros-2-19.fc30.noarch                     39/151 
  Verifying        : nim-srpm-macros-1-4.fc30.noarch                     40/151 
  Verifying        : ocaml-srpm-macros-5-5.fc30.noarch                   41/151 
  Verifying        : openblas-srpm-macros-2-5.fc30.noarch                42/151 
  Verifying        : perl-srpm-macros-1-29.fc30.noarch                   43/151 
  Verifying        : python-srpm-macros-3-42.fc30.noarch                 44/151 
  Verifying        : qt5-srpm-macros-5.12.1-1.fc31.noarch                45/151 
  Verifying        : rpm-4.14.2.1-7.fc31.x86_64                          46/151 
  Verifying        : rust-srpm-macros-6-4.fc30.noarch                    47/151 
  Verifying        : zip-3.0-24.fc30.x86_64                              48/151 
  Verifying        : glibc-common-2.29.9000-14.fc31.x86_64               49/151 
  Verifying        : fedora-release-common-31-0.5.noarch                 50/151 
  Verifying        : binutils-2.32-11.fc31.x86_64                        51/151 
  Verifying        : elfutils-0.176-1.fc30.x86_64                        52/151 
  Verifying        : elfutils-libelf-0.176-1.fc30.x86_64                 53/151 
  Verifying        : elfutils-libs-0.176-1.fc30.x86_64                   54/151 
  Verifying        : gdb-headless-8.3.50.20190412-6.fc31.x86_64          55/151 
  Verifying        : popt-1.16-17.fc30.x86_64                            56/151 
  Verifying        : rpm-build-libs-4.14.2.1-7.fc31.x86_64               57/151 
  Verifying        : rpm-libs-4.14.2.1-7.fc31.x86_64                     58/151 
  Verifying        : zstd-1.3.8-2.fc30.x86_64                            59/151 
  Verifying        : pcre-8.43-1.fc31.x86_64                             60/151 
  Verifying        : ncurses-libs-6.1-10.20180923.fc30.x86_64            61/151 
  Verifying        : zlib-1.2.11-15.fc30.x86_64                          62/151 
  Verifying        : bzip2-libs-1.0.6-29.fc30.x86_64                     63/151 
  Verifying        : coreutils-common-8.31-2.fc31.x86_64                 64/151 
  Verifying        : gmp-1:6.1.2-10.fc31.x86_64                          65/151 
  Verifying        : libcap-2.26-5.fc30.x86_64                           66/151 
  Verifying        : ncurses-6.1-10.20180923.fc30.x86_64                 67/151 
  Verifying        : openssl-libs-1:1.1.1b-4.fc31.x86_64                 68/151 
  Verifying        : xz-libs-5.2.4-5.fc30.x86_64                         69/151 
  Verifying        : filesystem-3.10-1.fc30.x86_64                       70/151 
  Verifying        : libsigsegv-2.11-7.fc30.x86_64                       71/151 
  Verifying        : mpfr-3.1.6-4.fc30.x86_64                            72/151 
  Verifying        : readline-8.0-2.fc30.x86_64                          73/151 
  Verifying        : libblkid-2.33.2-1.fc31.x86_64                       74/151 
  Verifying        : libcap-ng-0.7.9-7.fc31.x86_64                       75/151 
  Verifying        : libfdisk-2.33.2-1.fc31.x86_64                       76/151 
  Verifying        : libmount-2.33.2-1.fc31.x86_64                       77/151 
  Verifying        : libsmartcols-2.33.2-1.fc31.x86_64                   78/151 
  Verifying        : libutempter-1.1.6-16.fc30.x86_64                    79/151 
  Verifying        : libuuid-2.33.2-1.fc31.x86_64                        80/151 
  Verifying        : pam-1.3.1-17.fc30.x86_64                            81/151 
  Verifying        : systemd-libs-242-1.fc31.x86_64                      82/151 
  Verifying        : basesystem-11-7.fc30.noarch                         83/151 
  Verifying        : libgcc-9.0.1-0.12.fc31.x86_64                       84/151 
  Verifying        : libsepol-2.9-1.fc31.x86_64                          85/151 
  Verifying        : pcre2-10.33-0.4.RC1.fc31.x86_64                     86/151 
  Verifying        : gc-7.6.4-5.fc30.x86_64                              87/151 
  Verifying        : libffi-3.1-19.fc30.x86_64                           88/151 
  Verifying        : libtool-ltdl-2.4.6-29.fc30.x86_64                   89/151 
  Verifying        : libunistring-0.9.10-5.fc30.x86_64                   90/151 
  Verifying        : file-libs-5.36-2.fc31.x86_64                        91/151 
  Verifying        : libarchive-3.3.3-7.fc31.x86_64                      92/151 
  Verifying        : libdb-utils-5.3.28-37.fc30.x86_64                   93/151 
  Verifying        : tzdata-2019a-1.fc31.noarch                          94/151 
  Verifying        : fedora-repos-31-0.2.noarch                          95/151 
  Verifying        : alternatives-1.11-4.fc31.x86_64                     96/151 
  Verifying        : binutils-gold-2.32-11.fc31.x86_64                   97/151 
  Verifying        : libstdc++-9.0.1-0.12.fc31.x86_64                    98/151 
  Verifying        : elfutils-default-yama-scope-0.176-1.fc30.noarch     99/151 
  Verifying        : expat-2.2.6-2.fc30.x86_64                          100/151 
  Verifying        : libbabeltrace-1.5.6-2.fc30.x86_64                  101/151 
  Verifying        : libipt-2.0-2.fc30.x86_64                           102/151 
  Verifying        : python3-libs-3.7.3-1.fc31.x86_64                   103/151 
  Verifying        : source-highlight-3.1.8-24.fc31.x86_64              104/151 
  Verifying        : libdb-5.3.28-37.fc30.x86_64                        105/151 
  Verifying        : libzstd-1.3.8-2.fc30.x86_64                        106/151 
  Verifying        : lua-libs-5.3.5-5.fc30.x86_64                       107/151 
  Verifying        : ncurses-base-6.1-10.20180923.fc30.noarch           108/151 
  Verifying        : ca-certificates-2018.2.26-3.fc30.noarch            109/151 
  Verifying        : crypto-policies-20190211-2.gite3eacfc.fc30.noarc   110/151 
  Verifying        : cracklib-2.9.6-19.fc30.x86_64                      111/151 
  Verifying        : libnsl2-1.2.0-4.20180605git4a062cf.fc30.x86_64     112/151 
  Verifying        : libtirpc-1.1.4-2.rc2.fc30.1.x86_64                 113/151 
  Verifying        : libgcrypt-1.8.4-3.fc30.x86_64                      114/151 
  Verifying        : lz4-libs-1.8.3-2.fc30.x86_64                       115/151 
  Verifying        : libatomic_ops-7.6.10-1.fc31.x86_64                 116/151 
  Verifying        : libxml2-2.9.9-2.fc30.x86_64                        117/151 
  Verifying        : fedora-gpg-keys-31-0.2.noarch                      118/151 
  Verifying        : fedora-repos-rawhide-31-0.2.noarch                 119/151 
  Verifying        : glib2-2.60.0-3.fc31.x86_64                         120/151 
  Verifying        : gdbm-libs-1:1.18-4.fc30.x86_64                     121/151 
  Verifying        : python-pip-wheel-19.0.3-1.fc31.noarch              122/151 
  Verifying        : python-setuptools-wheel-40.8.0-1.fc30.noarch       123/151 
  Verifying        : sqlite-libs-3.27.2-3.fc31.x86_64                   124/151 
  Verifying        : boost-regex-1.69.0-6.fc30.x86_64                   125/151 
  Verifying        : ctags-5.8-25.fc30.x86_64                           126/151 
  Verifying        : krb5-libs-1.17-9.fc31.x86_64                       127/151 
  Verifying        : libcom_err-1.45.0-1.fc31.x86_64                    128/151 
  Verifying        : libgpg-error-1.33-2.fc30.x86_64                    129/151 
  Verifying        : libicu-63.1-2.fc30.x86_64                          130/151 
  Verifying        : keyutils-libs-1.6-2.fc30.x86_64                    131/151 
  Verifying        : libverto-0.3.0-7.fc30.x86_64                       132/151 
  Verifying        : pkgconf-pkg-config-1.6.1-1.fc31.x86_64             133/151 
  Verifying        : pkgconf-1.6.1-1.fc31.x86_64                        134/151 
  Verifying        : pkgconf-m4-1.6.1-1.fc31.noarch                     135/151 
  Verifying        : libpkgconf-1.6.1-1.fc31.x86_64                     136/151 
  Verifying        : libpwquality-1.4.0-12.fc30.x86_64                  137/151 
  Verifying        : p11-kit-0.23.15-3.fc30.x86_64                      138/151 
  Verifying        : p11-kit-trust-0.23.15-3.fc30.x86_64                139/151 
  Verifying        : libtasn1-4.13-7.fc30.x86_64                        140/151 
  Verifying        : curl-7.64.1-1.fc31.x86_64                          141/151 
  Verifying        : libmetalink-0.1.3-8.fc30.x86_64                    142/151 
  Verifying        : libcurl-7.64.1-1.fc31.x86_64                       143/151 
  Verifying        : brotli-1.0.7-3.fc30.x86_64                         144/151 
  Verifying        : libidn2-2.1.1a-1.fc30.x86_64                       145/151 
  Verifying        : libnghttp2-1.37.0-1.fc31.x86_64                    146/151 
  Verifying        : libpsl-0.20.2-6.fc30.x86_64                        147/151 
  Verifying        : libssh-0.8.7-1.fc31.x86_64                         148/151 
  Verifying        : openldap-2.4.47-1.fc30.x86_64                      149/151 
  Verifying        : publicsuffix-list-dafsa-20190128-2.fc30.noarch     150/151 
  Verifying        : cyrus-sasl-lib-2.1.27-0.6rc7.fc30.x86_64           151/151 

Installed:
  bash.x86_64 5.0.2-1.fc30                                                      
  bzip2.x86_64 1.0.6-29.fc30                                                    
  coreutils.x86_64 8.31-2.fc31                                                  
  cpio.x86_64 2.12-10.fc30                                                      
  diffutils.x86_64 3.7-2.fc30                                                   
  fedora-release.noarch 31-0.5                                                  
  findutils.x86_64 1:4.6.0-22.fc30                                              
  gawk.x86_64 4.2.1-6.fc31                                                      
  glibc-minimal-langpack.x86_64 2.29.9000-14.fc31                               
  grep.x86_64 3.3-1.fc31                                                        
  gzip.x86_64 1.9-9.fc31                                                        
  info.x86_64 6.6-1.fc30                                                        
  make.x86_64 1:4.2.1-13.fc30                                                   
  patch.x86_64 2.7.6-9.fc31                                                     
  redhat-rpm-config.noarch 128-1.fc30                                           
  rpm-build.x86_64 4.14.2.1-7.fc31                                              
  sed.x86_64 4.5-3.fc30                                                         
  shadow-utils.x86_64 2:4.6-12.fc31                                             
  tar.x86_64 2:1.32-1.fc31                                                      
  unzip.x86_64 6.0-43.fc30                                                      
  util-linux.x86_64 2.33.2-1.fc31                                               
  which.x86_64 2.21-14.fc30                                                     
  xz.x86_64 5.2.4-5.fc30                                                        
  alternatives.x86_64 1.11-4.fc31                                               
  audit-libs.x86_64 3.0-0.7.20190326git03e7489.fc31                             
  basesystem.noarch 11-7.fc30                                                   
  binutils.x86_64 2.32-11.fc31                                                  
  binutils-gold.x86_64 2.32-11.fc31                                             
  boost-regex.x86_64 1.69.0-6.fc30                                              
  brotli.x86_64 1.0.7-3.fc30                                                    
  bzip2-libs.x86_64 1.0.6-29.fc30                                               
  ca-certificates.noarch 2018.2.26-3.fc30                                       
  coreutils-common.x86_64 8.31-2.fc31                                           
  cracklib.x86_64 2.9.6-19.fc30                                                 
  crypto-policies.noarch 20190211-2.gite3eacfc.fc30                             
  ctags.x86_64 5.8-25.fc30                                                      
  curl.x86_64 7.64.1-1.fc31                                                     
  cyrus-sasl-lib.x86_64 2.1.27-0.6rc7.fc30                                      
  dwz.x86_64 0.12-10.fc30                                                       
  efi-srpm-macros.noarch 4-2.fc30                                               
  elfutils.x86_64 0.176-1.fc30                                                  
  elfutils-default-yama-scope.noarch 0.176-1.fc30                               
  elfutils-libelf.x86_64 0.176-1.fc30                                           
  elfutils-libs.x86_64 0.176-1.fc30                                             
  expat.x86_64 2.2.6-2.fc30                                                     
  fedora-gpg-keys.noarch 31-0.2                                                 
  fedora-release-common.noarch 31-0.5                                           
  fedora-repos.noarch 31-0.2                                                    
  fedora-repos-rawhide.noarch 31-0.2                                            
  file.x86_64 5.36-2.fc31                                                       
  file-libs.x86_64 5.36-2.fc31                                                  
  filesystem.x86_64 3.10-1.fc30                                                 
  fpc-srpm-macros.noarch 1.2-1.fc31                                             
  gc.x86_64 7.6.4-5.fc30                                                        
  gdb-headless.x86_64 8.3.50.20190412-6.fc31                                    
  gdbm-libs.x86_64 1:1.18-4.fc30                                                
  ghc-srpm-macros.noarch 1.4.2-9.fc30                                           
  glib2.x86_64 2.60.0-3.fc31                                                    
  glibc.x86_64 2.29.9000-14.fc31                                                
  glibc-common.x86_64 2.29.9000-14.fc31                                         
  gmp.x86_64 1:6.1.2-10.fc31                                                    
  gnat-srpm-macros.noarch 4-9.fc30                                              
  go-srpm-macros.noarch 2-19.fc30                                               
  guile22.x86_64 2.2.4-3.fc30                                                   
  keyutils-libs.x86_64 1.6-2.fc30                                               
  krb5-libs.x86_64 1.17-9.fc31                                                  
  libacl.x86_64 2.2.53-3.fc30                                                   
  libarchive.x86_64 3.3.3-7.fc31                                                
  libatomic_ops.x86_64 7.6.10-1.fc31                                            
  libattr.x86_64 2.4.48-5.fc30                                                  
  libbabeltrace.x86_64 1.5.6-2.fc30                                             
  libblkid.x86_64 2.33.2-1.fc31                                                 
  libcap.x86_64 2.26-5.fc30                                                     
  libcap-ng.x86_64 0.7.9-7.fc31                                                 
  libcom_err.x86_64 1.45.0-1.fc31                                               
  libcurl.x86_64 7.64.1-1.fc31                                                  
  libdb.x86_64 5.3.28-37.fc30                                                   
  libdb-utils.x86_64 5.3.28-37.fc30                                             
  libfdisk.x86_64 2.33.2-1.fc31                                                 
  libffi.x86_64 3.1-19.fc30                                                     
  libgcc.x86_64 9.0.1-0.12.fc31                                                 
  libgcrypt.x86_64 1.8.4-3.fc30                                                 
  libgpg-error.x86_64 1.33-2.fc30                                               
  libicu.x86_64 63.1-2.fc30                                                     
  libidn2.x86_64 2.1.1a-1.fc30                                                  
  libipt.x86_64 2.0-2.fc30                                                      
  libmetalink.x86_64 0.1.3-8.fc30                                               
  libmount.x86_64 2.33.2-1.fc31                                                 
  libnghttp2.x86_64 1.37.0-1.fc31                                               
  libnsl2.x86_64 1.2.0-4.20180605git4a062cf.fc30                                
  libpkgconf.x86_64 1.6.1-1.fc31                                                
  libpsl.x86_64 0.20.2-6.fc30                                                   
  libpwquality.x86_64 1.4.0-12.fc30                                             
  libselinux.x86_64 2.9-1.fc31                                                  
  libsemanage.x86_64 2.9-1.fc31                                                 
  libsepol.x86_64 2.9-1.fc31                                                    
  libsigsegv.x86_64 2.11-7.fc30                                                 
  libsmartcols.x86_64 2.33.2-1.fc31                                             
  libssh.x86_64 0.8.7-1.fc31                                                    
  libstdc++.x86_64 9.0.1-0.12.fc31                                              
  libtasn1.x86_64 4.13-7.fc30                                                   
  libtirpc.x86_64 1.1.4-2.rc2.fc30.1                                            
  libtool-ltdl.x86_64 2.4.6-29.fc30                                             
  libunistring.x86_64 0.9.10-5.fc30                                             
  libutempter.x86_64 1.1.6-16.fc30                                              
  libuuid.x86_64 2.33.2-1.fc31                                                  
  libverto.x86_64 0.3.0-7.fc30                                                  
  libxcrypt.x86_64 4.4.4-2.fc31                                                 
  libxml2.x86_64 2.9.9-2.fc30                                                   
  libzstd.x86_64 1.3.8-2.fc30                                                   
  lua-libs.x86_64 5.3.5-5.fc30                                                  
  lz4-libs.x86_64 1.8.3-2.fc30                                                  
  mpfr.x86_64 3.1.6-4.fc30                                                      
  ncurses.x86_64 6.1-10.20180923.fc30                                           
  ncurses-base.noarch 6.1-10.20180923.fc30                                      
  ncurses-libs.x86_64 6.1-10.20180923.fc30                                      
  nim-srpm-macros.noarch 1-4.fc30                                               
  ocaml-srpm-macros.noarch 5-5.fc30                                             
  openblas-srpm-macros.noarch 2-5.fc30                                          
  openldap.x86_64 2.4.47-1.fc30                                                 
  openssl-libs.x86_64 1:1.1.1b-4.fc31                                           
  p11-kit.x86_64 0.23.15-3.fc30                                                 
  p11-kit-trust.x86_64 0.23.15-3.fc30                                           
  pam.x86_64 1.3.1-17.fc30                                                      
  pcre.x86_64 8.43-1.fc31                                                       
  pcre2.x86_64 10.33-0.4.RC1.fc31                                               
  perl-srpm-macros.noarch 1-29.fc30                                             
  pkgconf.x86_64 1.6.1-1.fc31                                                   
  pkgconf-m4.noarch 1.6.1-1.fc31                                                
  pkgconf-pkg-config.x86_64 1.6.1-1.fc31                                        
  popt.x86_64 1.16-17.fc30                                                      
  publicsuffix-list-dafsa.noarch 20190128-2.fc30                                
  python-pip-wheel.noarch 19.0.3-1.fc31                                         
  python-setuptools-wheel.noarch 40.8.0-1.fc30                                  
  python-srpm-macros.noarch 3-42.fc30                                           
  python3-libs.x86_64 3.7.3-1.fc31                                              
  qt5-srpm-macros.noarch 5.12.1-1.fc31                                          
  readline.x86_64 8.0-2.fc30                                                    
  rpm.x86_64 4.14.2.1-7.fc31                                                    
  rpm-build-libs.x86_64 4.14.2.1-7.fc31                                         
  rpm-libs.x86_64 4.14.2.1-7.fc31                                               
  rust-srpm-macros.noarch 6-4.fc30                                              
  setup.noarch 2.13.3-1.fc31                                                    
  source-highlight.x86_64 3.1.8-24.fc31                                         
  sqlite-libs.x86_64 3.27.2-3.fc31                                              
  systemd-libs.x86_64 242-1.fc31                                                
  tzdata.noarch 2019a-1.fc31                                                    
  xz-libs.x86_64 5.2.4-5.fc30                                                   
  zip.x86_64 3.0-24.fc30                                                        
  zlib.x86_64 1.2.11-15.fc30                                                    
  zstd.x86_64 1.3.8-2.fc30                                                      

Complete!
Finish: dnf install
Start: creating root cache
Finish: creating root cache
Finish: chroot init
INFO: Installed packages:
Start: buildsrpm
Start: rpmbuild -bs
Building target platforms: x86_64
Building for target x86_64
Wrote: /builddir/build/SRPMS/python-passlib-1.7.1-3.fc31.src.rpm
Finish: rpmbuild -bs
INFO: chroot_scan: 3 files copied to /var/lib/copr-rpmbuild/results/chroot_scan
INFO: /var/lib/mock/883567-fedora-rawhide-x86_64-1555337353.262598/root/var/log/dnf.rpm.log
/var/lib/mock/883567-fedora-rawhide-x86_64-1555337353.262598/root/var/log/dnf.librepo.log
/var/lib/mock/883567-fedora-rawhide-x86_64-1555337353.262598/root/var/log/dnf.log
Finish: buildsrpm
INFO: Done(/tmp/tmp43joapm0/python-passlib.spec) Config(child) 1 minutes 6 seconds
INFO: Results and/or logs in: /var/lib/copr-rpmbuild/results
INFO: Cleaning up build root ('cleanup_on_success=True')
Start: clean chroot
INFO: unmounting tmpfs.
Finish: clean chroot
Finish: run
Running (timeout=64800): unbuffer /usr/bin/mock --rebuild /var/lib/copr-rpmbuild/results/python-passlib-1.7.1-3.fc31.src.rpm --configdir /var/lib/copr-rpmbuild/results/configs --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1555337421.721624 -r child
WARNING: Could not find required logging config file: /var/lib/copr-rpmbuild/results/configs/logging.ini. Using default...
INFO: mock.py version 1.4.14 starting (python version = 3.6.5)...
Start: init plugins
INFO: tmpfs initialized
INFO: selinux disabled
INFO: chroot_scan: initialized
INFO: compress_logs: initialized
Finish: init plugins
Start: run
INFO: Start(/var/lib/copr-rpmbuild/results/python-passlib-1.7.1-3.fc31.src.rpm)  Config(883567-fedora-rawhide-x86_64)
Start: clean chroot
Finish: clean chroot
Start: chroot init
INFO: mounting tmpfs at /var/lib/mock/883567-fedora-rawhide-x86_64-1555337421.721624/root.
INFO: calling preinit hooks
INFO: enabled root cache
Start: unpacking root cache
Finish: unpacking root cache
INFO: enabled HW Info plugin
Mock Version: 1.4.14
INFO: Mock Version: 1.4.14
Start: dnf update
'Copr repository'                                23 kB/s | 1.6 kB     00:00    
fedora                                           65 MB/s |  61 MB     00:00    
Last metadata expiration check: 0:00:00 ago on Mon 15 Apr 2019 02:10:28 PM UTC.
Dependencies resolved.
Nothing to do.
Complete!
Finish: dnf update
Finish: chroot init
Start: build phase for python-passlib-1.7.1-3.fc31.src.rpm
Start: build setup for python-passlib-1.7.1-3.fc31.src.rpm
Building target platforms: x86_64
Building for target x86_64
Wrote: /builddir/build/SRPMS/python-passlib-1.7.1-3.fc31.src.rpm
'Copr repository'                                66 kB/s | 4.3 kB     00:00    
Last metadata expiration check: 0:00:00 ago on Mon 15 Apr 2019 02:10:59 PM UTC.
Dependencies resolved.
================================================================================
 Package                     Arch        Version              Repository   Size
================================================================================
Installing:
 python2-devel               x86_64      2.7.16-1.fc31        fedora      356 k
 python2-nose                noarch      1.3.7-22.fc30        fedora      261 k
 python2-setuptools          noarch      40.8.0-1.fc30        fedora      644 k
 python3-devel               x86_64      3.7.3-1.fc31         fedora      211 k
 python3-nose                noarch      1.3.7-22.fc30        fedora      261 k
 python3-setuptools          noarch      40.8.0-1.fc30        fedora      636 k
Installing dependencies:
 gdbm                        x86_64      1:1.18-4.fc30        fedora      116 k
 python-rpm-macros           noarch      3-42.fc30            fedora       11 k
 python2                     x86_64      2.7.16-1.fc31        fedora       46 k
 python2-libs                x86_64      2.7.16-1.fc31        fedora      6.3 M
 python2-rpm-macros          noarch      3-42.fc30            fedora       10 k
 python3                     x86_64      3.7.3-1.fc31         fedora       37 k
 python3-rpm-generators      noarch      7-2.fc30             fedora       23 k
 python3-rpm-macros          noarch      3-42.fc30            fedora       10 k

Transaction Summary
================================================================================
Install  14 Packages

Total download size: 8.8 M
Installed size: 37 M
Downloading Packages:
(1/14): python3-nose-1.3.7-22.fc30.noarch.rpm   4.4 MB/s | 261 kB     00:00    
(2/14): python2-nose-1.3.7-22.fc30.noarch.rpm   3.8 MB/s | 261 kB     00:00    
(3/14): python2-setuptools-40.8.0-1.fc30.noarch 8.7 MB/s | 644 kB     00:00    
(4/14): python3-setuptools-40.8.0-1.fc30.noarch  24 MB/s | 636 kB     00:00    
(5/14): python3-devel-3.7.3-1.fc31.x86_64.rpm    15 MB/s | 211 kB     00:00    
(6/14): python2-devel-2.7.16-1.fc31.x86_64.rpm   14 MB/s | 356 kB     00:00    
(7/14): python-rpm-macros-3-42.fc30.noarch.rpm  1.7 MB/s |  11 kB     00:00    
(8/14): python2-2.7.16-1.fc31.x86_64.rpm        6.9 MB/s |  46 kB     00:00    
(9/14): python2-rpm-macros-3-42.fc30.noarch.rpm 3.4 MB/s |  10 kB     00:00    
(10/14): python3-rpm-generators-7-2.fc30.noarch 7.7 MB/s |  23 kB     00:00    
(11/14): python3-rpm-macros-3-42.fc30.noarch.rp 3.5 MB/s |  10 kB     00:00    
(12/14): python3-3.7.3-1.fc31.x86_64.rpm        9.8 MB/s |  37 kB     00:00    
(13/14): gdbm-1.18-4.fc30.x86_64.rpm             18 MB/s | 116 kB     00:00    
(14/14): python2-libs-2.7.16-1.fc31.x86_64.rpm   49 MB/s | 6.3 MB     00:00    
--------------------------------------------------------------------------------
Total                                            28 MB/s | 8.8 MB     00:00     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                        1/1 
  Installing       : python3-3.7.3-1.fc31.x86_64                           1/14 
  Installing       : python3-setuptools-40.8.0-1.fc30.noarch               2/14 
  Installing       : python3-rpm-generators-7-2.fc30.noarch                3/14 
  Installing       : python-rpm-macros-3-42.fc30.noarch                    4/14 
  Installing       : gdbm-1:1.18-4.fc30.x86_64                             5/14 
  Installing       : python2-libs-2.7.16-1.fc31.x86_64                     6/14 
  Installing       : python2-2.7.16-1.fc31.x86_64                          7/14 
  Installing       : python2-setuptools-40.8.0-1.fc30.noarch               8/14 
  Installing       : python3-rpm-macros-3-42.fc30.noarch                   9/14 
  Installing       : python2-rpm-macros-3-42.fc30.noarch                  10/14 
  Installing       : python2-devel-2.7.16-1.fc31.x86_64                   11/14 
  Installing       : python3-devel-3.7.3-1.fc31.x86_64                    12/14 
  Installing       : python2-nose-1.3.7-22.fc30.noarch                    13/14 
  Installing       : python3-nose-1.3.7-22.fc30.noarch                    14/14 
  Running scriptlet: python3-nose-1.3.7-22.fc30.noarch                    14/14 
  Verifying        : python2-nose-1.3.7-22.fc30.noarch                     1/14 
  Verifying        : python2-setuptools-40.8.0-1.fc30.noarch               2/14 
  Verifying        : python3-nose-1.3.7-22.fc30.noarch                     3/14 
  Verifying        : python3-setuptools-40.8.0-1.fc30.noarch               4/14 
  Verifying        : python2-devel-2.7.16-1.fc31.x86_64                    5/14 
  Verifying        : python3-devel-3.7.3-1.fc31.x86_64                     6/14 
  Verifying        : python-rpm-macros-3-42.fc30.noarch                    7/14 
  Verifying        : python2-2.7.16-1.fc31.x86_64                          8/14 
  Verifying        : python2-libs-2.7.16-1.fc31.x86_64                     9/14 
  Verifying        : python2-rpm-macros-3-42.fc30.noarch                  10/14 
  Verifying        : python3-rpm-generators-7-2.fc30.noarch               11/14 
  Verifying        : python3-rpm-macros-3-42.fc30.noarch                  12/14 
  Verifying        : gdbm-1:1.18-4.fc30.x86_64                            13/14 
  Verifying        : python3-3.7.3-1.fc31.x86_64                          14/14 

Installed:
  python2-devel.x86_64 2.7.16-1.fc31                                            
  python2-nose.noarch 1.3.7-22.fc30                                             
  python2-setuptools.noarch 40.8.0-1.fc30                                       
  python3-devel.x86_64 3.7.3-1.fc31                                             
  python3-nose.noarch 1.3.7-22.fc30                                             
  python3-setuptools.noarch 40.8.0-1.fc30                                       
  gdbm.x86_64 1:1.18-4.fc30                                                     
  python-rpm-macros.noarch 3-42.fc30                                            
  python2.x86_64 2.7.16-1.fc31                                                  
  python2-libs.x86_64 2.7.16-1.fc31                                             
  python2-rpm-macros.noarch 3-42.fc30                                           
  python3.x86_64 3.7.3-1.fc31                                                   
  python3-rpm-generators.noarch 7-2.fc30                                        
  python3-rpm-macros.noarch 3-42.fc30                                           

Complete!
Finish: build setup for python-passlib-1.7.1-3.fc31.src.rpm
Start: rpmbuild python-passlib-1.7.1-3.fc31.src.rpm
Building target platforms: x86_64
Building for target x86_64
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.pDNH6u
+ umask 022
+ cd /builddir/build/BUILD
+ cd /builddir/build/BUILD
+ rm -rf passlib-1.7.1
+ /usr/bin/gzip -dc /builddir/build/SOURCES/passlib-1.7.1.tar.gz
+ /usr/bin/tar -xof -
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd passlib-1.7.1
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ /usr/bin/cat /builddir/build/SOURCES/python-passlib-1.7.1-libxcrypt-compat.patch
+ /usr/bin/patch -p1 -s --fuzz=0 --no-backup-if-mismatch
+ rm -fr passlib.egg-info
+ exit 0
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.hcRyTv
+ umask 022
+ cd /builddir/build/BUILD
+ cd passlib-1.7.1
+ sleep 1
+ CFLAGS='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection'
+ LDFLAGS='-Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld'
+ /usr/bin/python2 setup.py build '--executable=/usr/bin/python2 -s'
running build
running build_py
creating build
creating build/lib
creating build/lib/passlib
copying passlib/win32.py -> build/lib/passlib
copying passlib/apache.py -> build/lib/passlib
copying passlib/totp.py -> build/lib/passlib
copying passlib/apps.py -> build/lib/passlib
copying passlib/registry.py -> build/lib/passlib
copying passlib/hash.py -> build/lib/passlib
copying passlib/pwd.py -> build/lib/passlib
copying passlib/exc.py -> build/lib/passlib
copying passlib/hosts.py -> build/lib/passlib
copying passlib/context.py -> build/lib/passlib
copying passlib/ifc.py -> build/lib/passlib
copying passlib/__init__.py -> build/lib/passlib
creating build/lib/passlib/tests
copying passlib/tests/test_handlers.py -> build/lib/passlib/tests
copying passlib/tests/test_context.py -> build/lib/passlib/tests
copying passlib/tests/test_context_deprecated.py -> build/lib/passlib/tests
copying passlib/tests/test_crypto_des.py -> build/lib/passlib/tests
copying passlib/tests/__main__.py -> build/lib/passlib/tests
copying passlib/tests/test_registry.py -> build/lib/passlib/tests
copying passlib/tests/test_crypto_scrypt.py -> build/lib/passlib/tests
copying passlib/tests/test_ext_django.py -> build/lib/passlib/tests
copying passlib/tests/test_win32.py -> build/lib/passlib/tests
copying passlib/tests/tox_support.py -> build/lib/passlib/tests
copying passlib/tests/test_hosts.py -> build/lib/passlib/tests
copying passlib/tests/test_crypto_builtin_md4.py -> build/lib/passlib/tests
copying passlib/tests/utils.py -> build/lib/passlib/tests
copying passlib/tests/test_handlers_django.py -> build/lib/passlib/tests
copying passlib/tests/backports.py -> build/lib/passlib/tests
copying passlib/tests/test_handlers_cisco.py -> build/lib/passlib/tests
copying passlib/tests/test_handlers_bcrypt.py -> build/lib/passlib/tests
copying passlib/tests/test_handlers_argon2.py -> build/lib/passlib/tests
copying passlib/tests/_test_bad_register.py -> build/lib/passlib/tests
copying passlib/tests/test_totp.py -> build/lib/passlib/tests
copying passlib/tests/test_ext_django_source.py -> build/lib/passlib/tests
copying passlib/tests/test_utils_pbkdf2.py -> build/lib/passlib/tests
copying passlib/tests/test_apps.py -> build/lib/passlib/tests
copying passlib/tests/test_handlers_pbkdf2.py -> build/lib/passlib/tests
copying passlib/tests/test_utils.py -> build/lib/passlib/tests
copying passlib/tests/test_apache.py -> build/lib/passlib/tests
copying passlib/tests/test_crypto_digest.py -> build/lib/passlib/tests
copying passlib/tests/test_pwd.py -> build/lib/passlib/tests
copying passlib/tests/test_utils_md4.py -> build/lib/passlib/tests
copying passlib/tests/test_utils_handlers.py -> build/lib/passlib/tests
copying passlib/tests/test_handlers_scrypt.py -> build/lib/passlib/tests
copying passlib/tests/__init__.py -> build/lib/passlib/tests
creating build/lib/passlib/handlers
copying passlib/handlers/misc.py -> build/lib/passlib/handlers
copying passlib/handlers/sun_md5_crypt.py -> build/lib/passlib/handlers
copying passlib/handlers/cisco.py -> build/lib/passlib/handlers
copying passlib/handlers/mysql.py -> build/lib/passlib/handlers
copying passlib/handlers/phpass.py -> build/lib/passlib/handlers
copying passlib/handlers/pbkdf2.py -> build/lib/passlib/handlers
copying passlib/handlers/django.py -> build/lib/passlib/handlers
copying passlib/handlers/postgres.py -> build/lib/passlib/handlers
copying passlib/handlers/windows.py -> build/lib/passlib/handlers
copying passlib/handlers/digests.py -> build/lib/passlib/handlers
copying passlib/handlers/mssql.py -> build/lib/passlib/handlers
copying passlib/handlers/sha2_crypt.py -> build/lib/passlib/handlers
copying passlib/handlers/md5_crypt.py -> build/lib/passlib/handlers
copying passlib/handlers/bcrypt.py -> build/lib/passlib/handlers
copying passlib/handlers/argon2.py -> build/lib/passlib/handlers
copying passlib/handlers/sha1_crypt.py -> build/lib/passlib/handlers
copying passlib/handlers/des_crypt.py -> build/lib/passlib/handlers
copying passlib/handlers/roundup.py -> build/lib/passlib/handlers
copying passlib/handlers/scram.py -> build/lib/passlib/handlers
copying passlib/handlers/oracle.py -> build/lib/passlib/handlers
copying passlib/handlers/scrypt.py -> build/lib/passlib/handlers
copying passlib/handlers/ldap_digests.py -> build/lib/passlib/handlers
copying passlib/handlers/__init__.py -> build/lib/passlib/handlers
copying passlib/handlers/fshp.py -> build/lib/passlib/handlers
creating build/lib/passlib/_setup
copying passlib/_setup/stamp.py -> build/lib/passlib/_setup
copying passlib/_setup/__init__.py -> build/lib/passlib/_setup
creating build/lib/passlib/crypto
copying passlib/crypto/des.py -> build/lib/passlib/crypto
copying passlib/crypto/digest.py -> build/lib/passlib/crypto
copying passlib/crypto/_md4.py -> build/lib/passlib/crypto
copying passlib/crypto/__init__.py -> build/lib/passlib/crypto
creating build/lib/passlib/ext
copying passlib/ext/__init__.py -> build/lib/passlib/ext
creating build/lib/passlib/utils
copying passlib/utils/des.py -> build/lib/passlib/utils
copying passlib/utils/pbkdf2.py -> build/lib/passlib/utils
copying passlib/utils/binary.py -> build/lib/passlib/utils
copying passlib/utils/decor.py -> build/lib/passlib/utils
copying passlib/utils/handlers.py -> build/lib/passlib/utils
copying passlib/utils/__init__.py -> build/lib/passlib/utils
copying passlib/utils/md4.py -> build/lib/passlib/utils
creating build/lib/passlib/crypto/scrypt
copying passlib/crypto/scrypt/_gen_files.py -> build/lib/passlib/crypto/scrypt
copying passlib/crypto/scrypt/_builtin.py -> build/lib/passlib/crypto/scrypt
copying passlib/crypto/scrypt/_salsa.py -> build/lib/passlib/crypto/scrypt
copying passlib/crypto/scrypt/__init__.py -> build/lib/passlib/crypto/scrypt
creating build/lib/passlib/crypto/_blowfish
copying passlib/crypto/_blowfish/_gen_files.py -> build/lib/passlib/crypto/_blowfish
copying passlib/crypto/_blowfish/unrolled.py -> build/lib/passlib/crypto/_blowfish
copying passlib/crypto/_blowfish/base.py -> build/lib/passlib/crypto/_blowfish
copying passlib/crypto/_blowfish/__init__.py -> build/lib/passlib/crypto/_blowfish
creating build/lib/passlib/ext/django
copying passlib/ext/django/models.py -> build/lib/passlib/ext/django
copying passlib/ext/django/utils.py -> build/lib/passlib/ext/django
copying passlib/ext/django/__init__.py -> build/lib/passlib/ext/django
creating build/lib/passlib/utils/compat
copying passlib/utils/compat/_ordered_dict.py -> build/lib/passlib/utils/compat
copying passlib/utils/compat/__init__.py -> build/lib/passlib/utils/compat
creating build/lib/passlib/_data
creating build/lib/passlib/_data/wordsets
copying passlib/_data/wordsets/eff_long.txt -> build/lib/passlib/_data/wordsets
copying passlib/_data/wordsets/bip39.txt -> build/lib/passlib/_data/wordsets
copying passlib/_data/wordsets/eff_prefixed.txt -> build/lib/passlib/_data/wordsets
copying passlib/_data/wordsets/eff_short.txt -> build/lib/passlib/_data/wordsets
copying passlib/tests/sample1c.cfg -> build/lib/passlib/tests
copying passlib/tests/sample_config_1s.cfg -> build/lib/passlib/tests
copying passlib/tests/sample1.cfg -> build/lib/passlib/tests
copying passlib/tests/sample1b.cfg -> build/lib/passlib/tests
+ sleep 1
+ CFLAGS='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection'
+ LDFLAGS='-Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld'
+ /usr/bin/python3 setup.py build '--executable=/usr/bin/python3 -s'
running build
running build_py
+ exit 0
Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.twbn4t
+ umask 022
+ cd /builddir/build/BUILD
+ '[' /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64 '!=' / ']'
+ rm -rf /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64
++ dirname /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64
+ mkdir -p /builddir/build/BUILDROOT
+ mkdir /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64
+ cd passlib-1.7.1
+ export PASSLIB_SETUP_TAG_RELEASE=no
+ PASSLIB_SETUP_TAG_RELEASE=no
+ CFLAGS='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection'
+ LDFLAGS='-Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld'
+ /usr/bin/python2 setup.py install -O1 --skip-build --root /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64
running install
running install_lib
creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr
creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib
creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7
creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages
creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib
creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/_data
creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/_data/wordsets
copying build/lib/passlib/_data/wordsets/eff_short.txt -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/_data/wordsets
copying build/lib/passlib/_data/wordsets/eff_prefixed.txt -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/_data/wordsets
copying build/lib/passlib/_data/wordsets/bip39.txt -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/_data/wordsets
copying build/lib/passlib/_data/wordsets/eff_long.txt -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/_data/wordsets
creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/utils
creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/utils/compat
copying build/lib/passlib/utils/compat/__init__.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/utils/compat
copying build/lib/passlib/utils/compat/_ordered_dict.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/utils/compat
copying build/lib/passlib/utils/md4.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/utils
copying build/lib/passlib/utils/__init__.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/utils
copying build/lib/passlib/utils/handlers.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/utils
copying build/lib/passlib/utils/decor.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/utils
copying build/lib/passlib/utils/binary.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/utils
copying build/lib/passlib/utils/pbkdf2.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/utils
copying build/lib/passlib/utils/des.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/utils
creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/ext
creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/ext/django
copying build/lib/passlib/ext/django/__init__.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/ext/django
copying build/lib/passlib/ext/django/utils.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/ext/django
copying build/lib/passlib/ext/django/models.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/ext/django
copying build/lib/passlib/ext/__init__.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/ext
creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/crypto
creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/crypto/_blowfish
copying build/lib/passlib/crypto/_blowfish/__init__.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/crypto/_blowfish
copying build/lib/passlib/crypto/_blowfish/base.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/crypto/_blowfish
copying build/lib/passlib/crypto/_blowfish/unrolled.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/crypto/_blowfish
copying build/lib/passlib/crypto/_blowfish/_gen_files.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/crypto/_blowfish
creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/crypto/scrypt
copying build/lib/passlib/crypto/scrypt/__init__.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/crypto/scrypt
copying build/lib/passlib/crypto/scrypt/_salsa.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/crypto/scrypt
copying build/lib/passlib/crypto/scrypt/_builtin.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/crypto/scrypt
copying build/lib/passlib/crypto/scrypt/_gen_files.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/crypto/scrypt
copying build/lib/passlib/crypto/__init__.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/crypto
copying build/lib/passlib/crypto/_md4.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/crypto
copying build/lib/passlib/crypto/digest.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/crypto
copying build/lib/passlib/crypto/des.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/crypto
creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/_setup
copying build/lib/passlib/_setup/__init__.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/_setup
copying build/lib/passlib/_setup/stamp.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/_setup
creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/handlers
copying build/lib/passlib/handlers/fshp.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/handlers
copying build/lib/passlib/handlers/__init__.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/handlers
copying build/lib/passlib/handlers/ldap_digests.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/handlers
copying build/lib/passlib/handlers/scrypt.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/handlers
copying build/lib/passlib/handlers/oracle.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/handlers
copying build/lib/passlib/handlers/scram.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/handlers
copying build/lib/passlib/handlers/roundup.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/handlers
copying build/lib/passlib/handlers/des_crypt.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/handlers
copying build/lib/passlib/handlers/sha1_crypt.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/handlers
copying build/lib/passlib/handlers/argon2.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/handlers
copying build/lib/passlib/handlers/bcrypt.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/handlers
copying build/lib/passlib/handlers/md5_crypt.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/handlers
copying build/lib/passlib/handlers/sha2_crypt.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/handlers
copying build/lib/passlib/handlers/mssql.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/handlers
copying build/lib/passlib/handlers/digests.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/handlers
copying build/lib/passlib/handlers/windows.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/handlers
copying build/lib/passlib/handlers/postgres.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/handlers
copying build/lib/passlib/handlers/django.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/handlers
copying build/lib/passlib/handlers/pbkdf2.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/handlers
copying build/lib/passlib/handlers/phpass.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/handlers
copying build/lib/passlib/handlers/mysql.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/handlers
copying build/lib/passlib/handlers/cisco.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/handlers
copying build/lib/passlib/handlers/sun_md5_crypt.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/handlers
copying build/lib/passlib/handlers/misc.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/handlers
creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests
copying build/lib/passlib/tests/sample1b.cfg -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests
copying build/lib/passlib/tests/sample1.cfg -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests
copying build/lib/passlib/tests/sample_config_1s.cfg -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests
copying build/lib/passlib/tests/sample1c.cfg -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests
copying build/lib/passlib/tests/__init__.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_handlers_scrypt.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_utils_handlers.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_utils_md4.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_pwd.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_crypto_digest.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_apache.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_utils.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_handlers_pbkdf2.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_apps.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_utils_pbkdf2.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_ext_django_source.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_totp.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests
copying build/lib/passlib/tests/_test_bad_register.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_handlers_argon2.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_handlers_bcrypt.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_handlers_cisco.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests
copying build/lib/passlib/tests/backports.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_handlers_django.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests
copying build/lib/passlib/tests/utils.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_crypto_builtin_md4.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_hosts.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests
copying build/lib/passlib/tests/tox_support.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_win32.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_ext_django.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_crypto_scrypt.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_registry.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests
copying build/lib/passlib/tests/__main__.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_crypto_des.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_context_deprecated.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_context.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_handlers.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests
copying build/lib/passlib/__init__.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib
copying build/lib/passlib/ifc.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib
copying build/lib/passlib/context.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib
copying build/lib/passlib/hosts.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib
copying build/lib/passlib/exc.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib
copying build/lib/passlib/pwd.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib
copying build/lib/passlib/hash.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib
copying build/lib/passlib/registry.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib
copying build/lib/passlib/apps.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib
copying build/lib/passlib/totp.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib
copying build/lib/passlib/apache.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib
copying build/lib/passlib/win32.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/utils/compat/__init__.py to __init__.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/utils/compat/_ordered_dict.py to _ordered_dict.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/utils/md4.py to md4.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/utils/__init__.py to __init__.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/utils/handlers.py to handlers.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/utils/decor.py to decor.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/utils/binary.py to binary.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/utils/pbkdf2.py to pbkdf2.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/utils/des.py to des.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/ext/django/__init__.py to __init__.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/ext/django/utils.py to utils.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/ext/django/models.py to models.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/ext/__init__.py to __init__.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/crypto/_blowfish/__init__.py to __init__.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/crypto/_blowfish/base.py to base.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/crypto/_blowfish/unrolled.py to unrolled.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/crypto/_blowfish/_gen_files.py to _gen_files.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/crypto/scrypt/__init__.py to __init__.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/crypto/scrypt/_salsa.py to _salsa.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/crypto/scrypt/_builtin.py to _builtin.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/crypto/scrypt/_gen_files.py to _gen_files.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/crypto/__init__.py to __init__.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/crypto/_md4.py to _md4.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/crypto/digest.py to digest.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/crypto/des.py to des.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/_setup/__init__.py to __init__.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/_setup/stamp.py to stamp.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/handlers/fshp.py to fshp.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/handlers/__init__.py to __init__.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/handlers/ldap_digests.py to ldap_digests.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/handlers/scrypt.py to scrypt.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/handlers/oracle.py to oracle.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/handlers/scram.py to scram.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/handlers/roundup.py to roundup.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/handlers/des_crypt.py to des_crypt.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/handlers/sha1_crypt.py to sha1_crypt.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/handlers/argon2.py to argon2.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/handlers/bcrypt.py to bcrypt.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/handlers/md5_crypt.py to md5_crypt.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/handlers/sha2_crypt.py to sha2_crypt.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/handlers/mssql.py to mssql.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/handlers/digests.py to digests.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/handlers/windows.py to windows.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/handlers/postgres.py to postgres.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/handlers/django.py to django.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/handlers/pbkdf2.py to pbkdf2.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/handlers/phpass.py to phpass.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/handlers/mysql.py to mysql.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/handlers/cisco.py to cisco.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/handlers/sun_md5_crypt.py to sun_md5_crypt.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/handlers/misc.py to misc.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests/__init__.py to __init__.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests/test_handlers_scrypt.py to test_handlers_scrypt.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests/test_utils_handlers.py to test_utils_handlers.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests/test_utils_md4.py to test_utils_md4.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests/test_pwd.py to test_pwd.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests/test_crypto_digest.py to test_crypto_digest.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests/test_apache.py to test_apache.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests/test_utils.py to test_utils.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests/test_handlers_pbkdf2.py to test_handlers_pbkdf2.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests/test_apps.py to test_apps.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests/test_utils_pbkdf2.py to test_utils_pbkdf2.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests/test_ext_django_source.py to test_ext_django_source.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests/test_totp.py to test_totp.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests/_test_bad_register.py to _test_bad_register.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests/test_handlers_argon2.py to test_handlers_argon2.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests/test_handlers_bcrypt.py to test_handlers_bcrypt.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests/test_handlers_cisco.py to test_handlers_cisco.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests/backports.py to backports.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests/test_handlers_django.py to test_handlers_django.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests/utils.py to utils.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests/test_crypto_builtin_md4.py to test_crypto_builtin_md4.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests/test_hosts.py to test_hosts.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests/tox_support.py to tox_support.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests/test_win32.py to test_win32.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests/test_ext_django.py to test_ext_django.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests/test_crypto_scrypt.py to test_crypto_scrypt.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests/test_registry.py to test_registry.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests/__main__.py to __main__.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests/test_crypto_des.py to test_crypto_des.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests/test_context_deprecated.py to test_context_deprecated.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests/test_context.py to test_context.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/tests/test_handlers.py to test_handlers.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/__init__.py to __init__.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/ifc.py to ifc.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/context.py to context.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/hosts.py to hosts.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/exc.py to exc.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/pwd.py to pwd.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/hash.py to hash.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/registry.py to registry.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/apps.py to apps.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/totp.py to totp.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/apache.py to apache.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib/win32.py to win32.pyc
writing byte-compilation script '/tmp/tmpyC1OL4.py'
/usr/bin/python2 -O /tmp/tmpyC1OL4.py
removing /tmp/tmpyC1OL4.py
running install_egg_info
running egg_info
creating passlib.egg-info
writing requirements to passlib.egg-info/requires.txt
writing passlib.egg-info/PKG-INFO
writing top-level names to passlib.egg-info/top_level.txt
writing dependency_links to passlib.egg-info/dependency_links.txt
writing manifest file 'passlib.egg-info/SOURCES.txt'
reading manifest file 'passlib.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching 'CHANGES'
writing manifest file 'passlib.egg-info/SOURCES.txt'
Copying passlib.egg-info to /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7/site-packages/passlib-1.7.1-py2.7.egg-info
running install_scripts
+ CFLAGS='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection'
+ LDFLAGS='-Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld'
+ /usr/bin/python3 setup.py install -O1 --skip-build --root /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64
running install
running install_lib
creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7
creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages
creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib
creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/_data
creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/_data/wordsets
copying build/lib/passlib/_data/wordsets/eff_short.txt -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/_data/wordsets
copying build/lib/passlib/_data/wordsets/eff_prefixed.txt -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/_data/wordsets
copying build/lib/passlib/_data/wordsets/bip39.txt -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/_data/wordsets
copying build/lib/passlib/_data/wordsets/eff_long.txt -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/_data/wordsets
creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/utils
creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/utils/compat
copying build/lib/passlib/utils/compat/__init__.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/utils/compat
copying build/lib/passlib/utils/compat/_ordered_dict.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/utils/compat
copying build/lib/passlib/utils/md4.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/utils
copying build/lib/passlib/utils/__init__.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/utils
copying build/lib/passlib/utils/handlers.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/utils
copying build/lib/passlib/utils/decor.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/utils
copying build/lib/passlib/utils/binary.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/utils
copying build/lib/passlib/utils/pbkdf2.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/utils
copying build/lib/passlib/utils/des.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/utils
creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/ext
creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/ext/django
copying build/lib/passlib/ext/django/__init__.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/ext/django
copying build/lib/passlib/ext/django/utils.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/ext/django
copying build/lib/passlib/ext/django/models.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/ext/django
copying build/lib/passlib/ext/__init__.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/ext
creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/crypto
creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/crypto/_blowfish
copying build/lib/passlib/crypto/_blowfish/__init__.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/crypto/_blowfish
copying build/lib/passlib/crypto/_blowfish/base.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/crypto/_blowfish
copying build/lib/passlib/crypto/_blowfish/unrolled.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/crypto/_blowfish
copying build/lib/passlib/crypto/_blowfish/_gen_files.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/crypto/_blowfish
creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/crypto/scrypt
copying build/lib/passlib/crypto/scrypt/__init__.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/crypto/scrypt
copying build/lib/passlib/crypto/scrypt/_salsa.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/crypto/scrypt
copying build/lib/passlib/crypto/scrypt/_builtin.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/crypto/scrypt
copying build/lib/passlib/crypto/scrypt/_gen_files.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/crypto/scrypt
copying build/lib/passlib/crypto/__init__.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/crypto
copying build/lib/passlib/crypto/_md4.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/crypto
copying build/lib/passlib/crypto/digest.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/crypto
copying build/lib/passlib/crypto/des.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/crypto
creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/_setup
copying build/lib/passlib/_setup/__init__.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/_setup
copying build/lib/passlib/_setup/stamp.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/_setup
creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/handlers
copying build/lib/passlib/handlers/fshp.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/handlers
copying build/lib/passlib/handlers/__init__.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/handlers
copying build/lib/passlib/handlers/ldap_digests.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/handlers
copying build/lib/passlib/handlers/scrypt.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/handlers
copying build/lib/passlib/handlers/oracle.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/handlers
copying build/lib/passlib/handlers/scram.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/handlers
copying build/lib/passlib/handlers/roundup.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/handlers
copying build/lib/passlib/handlers/des_crypt.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/handlers
copying build/lib/passlib/handlers/sha1_crypt.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/handlers
copying build/lib/passlib/handlers/argon2.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/handlers
copying build/lib/passlib/handlers/bcrypt.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/handlers
copying build/lib/passlib/handlers/md5_crypt.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/handlers
copying build/lib/passlib/handlers/sha2_crypt.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/handlers
copying build/lib/passlib/handlers/mssql.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/handlers
copying build/lib/passlib/handlers/digests.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/handlers
copying build/lib/passlib/handlers/windows.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/handlers
copying build/lib/passlib/handlers/postgres.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/handlers
copying build/lib/passlib/handlers/django.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/handlers
copying build/lib/passlib/handlers/pbkdf2.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/handlers
copying build/lib/passlib/handlers/phpass.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/handlers
copying build/lib/passlib/handlers/mysql.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/handlers
copying build/lib/passlib/handlers/cisco.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/handlers
copying build/lib/passlib/handlers/sun_md5_crypt.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/handlers
copying build/lib/passlib/handlers/misc.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/handlers
creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests
copying build/lib/passlib/tests/sample1b.cfg -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests
copying build/lib/passlib/tests/sample1.cfg -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests
copying build/lib/passlib/tests/sample_config_1s.cfg -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests
copying build/lib/passlib/tests/sample1c.cfg -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests
copying build/lib/passlib/tests/__init__.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_handlers_scrypt.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_utils_handlers.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_utils_md4.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_pwd.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_crypto_digest.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_apache.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_utils.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_handlers_pbkdf2.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_apps.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_utils_pbkdf2.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_ext_django_source.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_totp.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests
copying build/lib/passlib/tests/_test_bad_register.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_handlers_argon2.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_handlers_bcrypt.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_handlers_cisco.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests
copying build/lib/passlib/tests/backports.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_handlers_django.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests
copying build/lib/passlib/tests/utils.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_crypto_builtin_md4.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_hosts.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests
copying build/lib/passlib/tests/tox_support.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_win32.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_ext_django.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_crypto_scrypt.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_registry.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests
copying build/lib/passlib/tests/__main__.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_crypto_des.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_context_deprecated.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_context.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests
copying build/lib/passlib/tests/test_handlers.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests
copying build/lib/passlib/__init__.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib
copying build/lib/passlib/ifc.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib
copying build/lib/passlib/context.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib
copying build/lib/passlib/hosts.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib
copying build/lib/passlib/exc.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib
copying build/lib/passlib/pwd.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib
copying build/lib/passlib/hash.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib
copying build/lib/passlib/registry.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib
copying build/lib/passlib/apps.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib
copying build/lib/passlib/totp.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib
copying build/lib/passlib/apache.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib
copying build/lib/passlib/win32.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/utils/compat/__init__.py to __init__.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/utils/compat/_ordered_dict.py to _ordered_dict.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/utils/md4.py to md4.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/utils/__init__.py to __init__.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/utils/handlers.py to handlers.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/utils/decor.py to decor.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/utils/binary.py to binary.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/utils/pbkdf2.py to pbkdf2.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/utils/des.py to des.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/ext/django/__init__.py to __init__.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/ext/django/utils.py to utils.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/ext/django/models.py to models.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/ext/__init__.py to __init__.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/crypto/_blowfish/__init__.py to __init__.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/crypto/_blowfish/base.py to base.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/crypto/_blowfish/unrolled.py to unrolled.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/crypto/_blowfish/_gen_files.py to _gen_files.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/crypto/scrypt/__init__.py to __init__.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/crypto/scrypt/_salsa.py to _salsa.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/crypto/scrypt/_builtin.py to _builtin.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/crypto/scrypt/_gen_files.py to _gen_files.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/crypto/__init__.py to __init__.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/crypto/_md4.py to _md4.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/crypto/digest.py to digest.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/crypto/des.py to des.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/_setup/__init__.py to __init__.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/_setup/stamp.py to stamp.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/handlers/fshp.py to fshp.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/handlers/__init__.py to __init__.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/handlers/ldap_digests.py to ldap_digests.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/handlers/scrypt.py to scrypt.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/handlers/oracle.py to oracle.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/handlers/scram.py to scram.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/handlers/roundup.py to roundup.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/handlers/des_crypt.py to des_crypt.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/handlers/sha1_crypt.py to sha1_crypt.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/handlers/argon2.py to argon2.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/handlers/bcrypt.py to bcrypt.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/handlers/md5_crypt.py to md5_crypt.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/handlers/sha2_crypt.py to sha2_crypt.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/handlers/mssql.py to mssql.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/handlers/digests.py to digests.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/handlers/windows.py to windows.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/handlers/postgres.py to postgres.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/handlers/django.py to django.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/handlers/pbkdf2.py to pbkdf2.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/handlers/phpass.py to phpass.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/handlers/mysql.py to mysql.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/handlers/cisco.py to cisco.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/handlers/sun_md5_crypt.py to sun_md5_crypt.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/handlers/misc.py to misc.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests/__init__.py to __init__.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests/test_handlers_scrypt.py to test_handlers_scrypt.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests/test_utils_handlers.py to test_utils_handlers.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests/test_utils_md4.py to test_utils_md4.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests/test_pwd.py to test_pwd.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests/test_crypto_digest.py to test_crypto_digest.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests/test_apache.py to test_apache.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests/test_utils.py to test_utils.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests/test_handlers_pbkdf2.py to test_handlers_pbkdf2.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests/test_apps.py to test_apps.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests/test_utils_pbkdf2.py to test_utils_pbkdf2.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests/test_ext_django_source.py to test_ext_django_source.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests/test_totp.py to test_totp.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests/_test_bad_register.py to _test_bad_register.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests/test_handlers_argon2.py to test_handlers_argon2.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests/test_handlers_bcrypt.py to test_handlers_bcrypt.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests/test_handlers_cisco.py to test_handlers_cisco.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests/backports.py to backports.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests/test_handlers_django.py to test_handlers_django.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests/utils.py to utils.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests/test_crypto_builtin_md4.py to test_crypto_builtin_md4.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests/test_hosts.py to test_hosts.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests/tox_support.py to tox_support.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests/test_win32.py to test_win32.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests/test_ext_django.py to test_ext_django.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests/test_crypto_scrypt.py to test_crypto_scrypt.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests/test_registry.py to test_registry.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests/__main__.py to __main__.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests/test_crypto_des.py to test_crypto_des.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests/test_context_deprecated.py to test_context_deprecated.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests/test_context.py to test_context.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/tests/test_handlers.py to test_handlers.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/__init__.py to __init__.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/ifc.py to ifc.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/context.py to context.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/hosts.py to hosts.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/exc.py to exc.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/pwd.py to pwd.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/hash.py to hash.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/registry.py to registry.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/apps.py to apps.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/totp.py to totp.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/apache.py to apache.cpython-37.pyc
byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib/win32.py to win32.cpython-37.pyc
writing byte-compilation script '/tmp/tmpjwvfeet_.py'
/usr/bin/python3 /tmp/tmpjwvfeet_.py
removing /tmp/tmpjwvfeet_.py
running install_egg_info
running egg_info
writing passlib.egg-info/PKG-INFO
writing dependency_links to passlib.egg-info/dependency_links.txt
writing requirements to passlib.egg-info/requires.txt
writing top-level names to passlib.egg-info/top_level.txt
reading manifest file 'passlib.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no files found matching 'CHANGES'
writing manifest file 'passlib.egg-info/SOURCES.txt'
Copying passlib.egg-info to /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7/site-packages/passlib-1.7.1-py3.7.egg-info
running install_scripts
+ /usr/lib/rpm/find-debuginfo.sh -j2 --strict-build-id -m -i --build-id-seed 1.7.1-3.fc31 --unique-debug-suffix -1.7.1-3.fc31.x86_64 --unique-debug-src-base python-passlib-1.7.1-3.fc31.x86_64 --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 110000000 -S debugsourcefiles.list /builddir/build/BUILD/passlib-1.7.1
find: 'debug': No such file or directory
+ /usr/lib/rpm/check-buildroot
+ /usr/lib/rpm/redhat/brp-ldconfig
+ /usr/lib/rpm/brp-compress
+ /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip
+ /usr/lib/rpm/brp-python-bytecompile /usr/bin/python 1 0
Bytecompiling .py files below /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python3.7 using /usr/bin/python3.7
Bytecompiling .py files below /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/lib/python2.7 using /usr/bin/python2.7
+ /usr/lib/rpm/brp-python-hardlink
+ /usr/lib/rpm/redhat/brp-mangle-shebangs
Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.ZprGDw
+ umask 022
+ cd /builddir/build/BUILD
+ cd passlib-1.7.1
+ nosetests-2.7 -v
/builddir/build/BUILD/passlib-1.7.1/passlib/crypto/scrypt/__init__.py:127: 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
  "is strongly recommended" % slowdown, exc.PasslibSecurityWarning)
HtdigestFile: test constructor autoload ... ok
HtdigestFile: test delete() ... ok
HtdigestFile: test_01_delete_autosave (passlib.tests.test_apache.HtdigestFileTest) ... ok
HtdigestFile: test update() ... ok
HtdigestFile: test users() ... ok
HtdigestFile: test check_password() ... ok
HtdigestFile: test load() ... ok
HtdigestFile: test save() ... ok
HtdigestFile: test realms() & delete_realm() ... ok
HtdigestFile: test get_hash() ... ok
HtdigestFile: test encoding parameter ... ok
HtdigestFile: test to_string() ... ok
HtdigestFile: test_11_malformed (passlib.tests.test_apache.HtdigestFileTest) ... ok
HtpasswdFile: test constructor autoload ... ok
HtpasswdFile: test_00_from_path (passlib.tests.test_apache.HtpasswdFileTest) ... ok
HtpasswdFile: test delete() ... ok
HtpasswdFile: test_01_delete_autosave (passlib.tests.test_apache.HtpasswdFileTest) ... ok
HtpasswdFile: test set_password() ... ok
HtpasswdFile: test_02_set_password_autosave (passlib.tests.test_apache.HtpasswdFileTest) ... ok
HtpasswdFile: test set_password() -- default_scheme ... /builddir/build/BUILD/passlib-1.7.1/passlib/apache.py:717: PasslibSecurityWarning: HtpasswdFile: no bcrypt backends available, using fallback for default scheme 'portable'
  exc.PasslibSecurityWarning)
ok
HtpasswdFile: test users() ... ok
HtpasswdFile: test check_password() ... ok
HtpasswdFile: test load() ... ok
HtpasswdFile: test save() ... ok
HtpasswdFile: test 'encoding' kwd ... ok
HtpasswdFile: test get_hash() ... ok
HtpasswdFile: test to_string ... ok
HtpasswdFile: test_10_repr (passlib.tests.test_apache.HtpasswdFileTest) ... ok
HtpasswdFile: test_11_malformed (passlib.tests.test_apache.HtpasswdFileTest) ... ok
HtpasswdFile: test_12_from_string (passlib.tests.test_apache.HtpasswdFileTest) ... ok
HtpasswdFile: whitespace & comment handling ... ok
test_custom_app_context (passlib.tests.test_apps.AppsTest) ... ok
test_django16_context (passlib.tests.test_apps.AppsTest) ... ok
test_django_context (passlib.tests.test_apps.AppsTest) ... ok
test_ldap_context (passlib.tests.test_apps.AppsTest) ... ok
test_ldap_mysql_context (passlib.tests.test_apps.AppsTest) ... ok
test_ldap_nocrypt_context (passlib.tests.test_apps.AppsTest) ... ok
test_master_context (passlib.tests.test_apps.AppsTest) ... ok
test_phpbb3_context (passlib.tests.test_apps.AppsTest) ... ok
test_phppass_context (passlib.tests.test_apps.AppsTest) ... ok
test_postgres_context (passlib.tests.test_apps.AppsTest) ... ok
test_roundup_context (passlib.tests.test_apps.AppsTest) ... ok
CryptContext: test class constructor ... ok
CryptContext: test from_string() constructor ... ok
CryptContext: test from_path() constructor ... ok
CryptContext: test copy() method ... ok
CryptContext: test repr() ... ok
CryptContext: test load() / load_path() method ... ok
CryptContext: test load() errors restore old state ... ok
CryptContext: test update() method ... ok
CryptContext: test basic option parsing ... ok
CryptContext: test 'schemes' context option parsing ... ok
CryptContext: test 'deprecated' context option parsing ... ok
CryptContext: test 'default' context option parsing ... ok
CryptContext: test 'vary_rounds' hash option parsing ... ok
CryptContext: test schemes() method ... ok
CryptContext: test default_scheme() method ... ok
CryptContext: test handler() method ... ok
CryptContext: test internal _get_record_options() method ... ok
CryptContext: test to_dict() method ... ok
CryptContext: test to_string() method ... ok
CryptContext: test basic hash/identify/verify functionality ... ok
CryptContext: test genconfig() method ... ok
CryptContext: test genhash() method ... ok
CryptContext: test hash() method ... ok
CryptContext: test hash() method -- legacy 'scheme' and settings keywords ... ok
CryptContext: test identify() border cases ... ok
CryptContext: test verify() scheme kwd ... ok
CryptContext: test needs_update() method ... ok
CryptContext: test verify_and_update() ... ok
CryptContext: hash(), verify(), and verify_and_update() -- discard unused context keywords ... ok
CryptContext: test rounds limits ... ok
CryptContext: test linear vary rounds ... ok
CryptContext: test log2 vary rounds ... ok
CryptContext: test deprecated='auto' is handled correctly ... ok
CryptContext: disabled hash support ... ok
CryptContext: dummy_verify() method ... ok
CryptContext: harden_verify -- parsing ... ok
LazyCryptContext: test_callable_constructor (passlib.tests.test_context.LazyCryptContextTest) ... ok
LazyCryptContext: test plain kwds ... ok
CryptContext: test constructor ... ok
CryptContext: test replace() ... ok
CryptContext: test no handlers ... ok
CryptContext: test hash_needs_update() method ... ok
CryptContext: test non-string hash values cause error ... ok
CryptPolicy: test CryptPolicy() constructor ... ok
CryptPolicy: test CryptPolicy.from_path() constructor with encodings ... ok
CryptPolicy: test CryptPolicy.from_path() constructor ... ok
CryptPolicy: test CryptPolicy.from_string() constructor ... ok
CryptPolicy: test CryptPolicy.from_source() constructor ... ok
CryptPolicy: test CryptPolicy.from_sources() constructor ... ok
CryptPolicy: test CryptPolicy.replace() constructor ... ok
CryptPolicy: test CryptPolicy() forbidden kwds ... ok
CryptPolicy: test has_schemes() method ... ok
CryptPolicy: test iter_handlers() method ... ok
CryptPolicy: test get_handler() method ... ok
CryptPolicy: test get_options() method ... ok
CryptPolicy: test handler_is_deprecated() method ... ok
CryptPolicy: test get_min_verify_time() method ... ok
CryptPolicy: test iter_config() method ... ok
CryptPolicy: test to_dict() method ... ok
CryptPolicy: test to_string() method ... ok
LazyCryptContext: test create_policy() hook, returning CryptPolicy ... ok
LazyCryptContext: test plain kwds ... ok
passlib.crypto._md4.md4(): informational attributes ... ok
passlib.crypto._md4.md4(): copy() method ... ok
passlib.crypto._md4.md4(): digest() method ... ok
passlib.crypto._md4.md4(): hexdigest() method ... ok
passlib.crypto._md4.md4(): update() method ... ok
hashlib.new('md4'): informational attributes ... ok
hashlib.new('md4'): copy() method ... ok
hashlib.new('md4'): digest() method ... ok
hashlib.new('md4'): hexdigest() method ... ok
hashlib.new('md4'): update() method ... ok
passlib.crypto.des: expand_des_key() ... ok
passlib.crypto.des: shrink_des_key() ... ok
passlib.crypto.des: des_encrypt_block() ... ok
passlib.crypto.des: des_encrypt_int_block() ... ok
passlib.crypto.digest: lookup_hash() -- alternate types ... ok
passlib.crypto.digest: lookup_hash() -- constructor ... ok
passlib.crypto.digest: lookup_hash() -- metadata ... ok
passlib.crypto.digest: norm_hash_name() ... ok
passlib.crypto.digest.pbkdf1: test border cases ... ok
passlib.crypto.digest.pbkdf1: test reference vectors ... ok
passlib.crypto.digest.pbkdf2_hmac() <backends: hashlib-ssl, builtin-unpack>: verify expected backends are present ... ok
passlib.crypto.digest.pbkdf2_hmac() <backends: hashlib-ssl, builtin-unpack>: test border cases ... ok
passlib.crypto.digest.pbkdf2_hmac() <backends: hashlib-ssl, builtin-unpack>: test keylen==None ... ok
passlib.crypto.digest.pbkdf2_hmac() <backends: hashlib-ssl, builtin-unpack>: test reference vectors ... ok
passlib.utils.scrypt.scrypt() <builtin backend>: backend management ... ok
passlib.utils.scrypt.scrypt() <builtin backend>: 'keylen' parameter ... ok
passlib.utils.scrypt.scrypt() <builtin backend>: backend management -- missing backend ... ok
passlib.utils.scrypt.scrypt() <builtin backend>: 'n' (rounds) parameter ... ok
passlib.utils.scrypt.scrypt() <builtin backend>: compare output to other backends ... SKIP: no other backends found
passlib.utils.scrypt.scrypt() <builtin backend>: 'p' (parallelism) parameter ... ok
passlib.utils.scrypt.scrypt() <builtin backend>: 'r' (block size) parameter ... ok
passlib.utils.scrypt.scrypt() <builtin backend>: reference vectors ... ok
passlib.utils.scrypt.scrypt() <builtin backend>: 'salt' parameter ... ok
passlib.utils.scrypt.scrypt() <builtin backend>: 'secret' parameter ... ok
passlib.crypto.scrypt._builtin: bmix() ... ok
passlib.crypto.scrypt._builtin: salsa20() ... ok
passlib.crypto.scrypt._builtin: smix() ... ok
verify django behavior: test hashing interface ... SKIP: Django not installed
passlib.ext.django plugin: test set_django_password_context patch/unpatch ... SKIP: Django not installed
passlib.ext.django plugin: test detection of foreign monkeypatching ... SKIP: Django not installed
passlib.ext.django plugin: test Hasher-compatible handler wrappers ... SKIP: Django not installed
passlib.ext.django plugin: test PASSLIB_CONFIG='disabled' ... SKIP: Django not installed
passlib.ext.django plugin: test PASSLIB_CONFIG='<preset>' ... SKIP: Django not installed
passlib.ext.django plugin: test PASSLIB_CONFIG default behavior ... SKIP: Django not installed
passlib.ext.django plugin: test PASSLIB_CONFIG type checks ... SKIP: Django not installed
passlib.ext.django plugin: test PASSLIB_GET_CATEGORY parameter ... SKIP: Django not installed
verify extension behavior: test hashing interface ... SKIP: Django not installed
external django hasher tests ... SKIP: django not installed
test_pairs (passlib.tests.test_handlers.RoundupTest) ... ok
apr_md5_crypt: validate required attributes ... ok
apr_md5_crypt: test basic config-string workflow ... ok
apr_md5_crypt: test basic using() workflow ... ok
apr_md5_crypt: test basic hash-string workflow. ... ok
apr_md5_crypt: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
apr_md5_crypt: test hashes can be unicode or bytes ... ok
apr_md5_crypt: test multi-backend support ... SKIP: handler only has one backend
apr_md5_crypt: validate optional salt attributes ... ok
apr_md5_crypt: test hash() / genconfig() creates new salt each time ... ok
apr_md5_crypt: test hash() / genconfig() honors min_salt_size ... ok
apr_md5_crypt: test hash() / genconfig() honors max_salt_size ... ok
apr_md5_crypt: test hash() honors salt_chars ... ok
apr_md5_crypt: test non-string salt values ... ok
apr_md5_crypt: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
apr_md5_crypt: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
apr_md5_crypt: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
apr_md5_crypt: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
apr_md5_crypt: test password case sensitivity ... ok
apr_md5_crypt: test non-string passwords are rejected ... ok
apr_md5_crypt: test MAX_PASSWORD_SIZE is enforced ... ok
apr_md5_crypt: test forbidden characters not allowed in password ... SKIP: none listed
apr_md5_crypt: test known hashes ... ok
apr_md5_crypt: test known alternate hashes ... SKIP: no alternate hashes provided
apr_md5_crypt: test known config strings ... SKIP: no config strings provided
apr_md5_crypt: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
apr_md5_crypt: test known identifiable-but-malformed strings ... ok
apr_md5_crypt: test known foreign hashes ... ok
apr_md5_crypt: test non-string hashes are rejected ... ok
apr_md5_crypt: fuzz testing -- random passwords and options ... ok
apr_md5_crypt: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
apr_md5_crypt: .disable() / .enable() methods ... SKIP: not applicable
apr_md5_crypt: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
apr_md5_crypt: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
apr_md5_crypt: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
apr_md5_crypt: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
apr_md5_crypt: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
apr_md5_crypt: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
apr_md5_crypt: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
apr_md5_crypt: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
apr_md5_crypt: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
apr_md5_crypt: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
apr_md5_crypt: test no password size limits enforced (if truncate_size=None) ... ok
apr_md5_crypt: validate 'truncate_error' setting & related attributes ... ok
apr_md5_crypt: Handler.using() -- default_salt_size ... ok
bigcrypt: validate required attributes ... ok
bigcrypt: test basic config-string workflow ... ok
bigcrypt: test basic using() workflow ... ok
bigcrypt: test basic hash-string workflow. ... ok
bigcrypt: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
bigcrypt: test hashes can be unicode or bytes ... ok
bigcrypt: test multi-backend support ... SKIP: handler only has one backend
bigcrypt: validate optional salt attributes ... ok
bigcrypt: test hash() / genconfig() creates new salt each time ... ok
bigcrypt: test hash() / genconfig() honors min_salt_size ... ok
bigcrypt: test hash() / genconfig() honors max_salt_size ... ok
bigcrypt: test hash() honors salt_chars ... ok
bigcrypt: test non-string salt values ... ok
bigcrypt: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
bigcrypt: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
bigcrypt: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
bigcrypt: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
bigcrypt: test password case sensitivity ... ok
bigcrypt: test non-string passwords are rejected ... ok
bigcrypt: test MAX_PASSWORD_SIZE is enforced ... ok
bigcrypt: test forbidden characters not allowed in password ... SKIP: none listed
bigcrypt: test known hashes ... ok
bigcrypt: test known alternate hashes ... SKIP: no alternate hashes provided
bigcrypt: test known config strings ... SKIP: no config strings provided
bigcrypt: test known unidentifiably-mangled strings ... ok
bigcrypt: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
bigcrypt: test known foreign hashes ... ok
bigcrypt: test non-string hashes are rejected ... ok
bigcrypt: fuzz testing -- random passwords and options ... ok
bigcrypt: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
bigcrypt: test_90_internal (passlib.tests.test_handlers.bigcrypt_test) ... ok
bigcrypt: .disable() / .enable() methods ... SKIP: not applicable
bigcrypt: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
bigcrypt: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
bigcrypt: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
bigcrypt: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
bigcrypt: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
bigcrypt: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
bigcrypt: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
bigcrypt: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
bigcrypt: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
bigcrypt: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
bigcrypt: test no password size limits enforced (if truncate_size=None) ... ok
bigcrypt: validate 'truncate_error' setting & related attributes ... ok
bigcrypt: Handler.using() -- default_salt_size ... ok
bsd_nthash: validate required attributes ... ok
bsd_nthash: test basic config-string workflow ... ok
bsd_nthash: test basic using() workflow ... ok
bsd_nthash: test basic hash-string workflow. ... ok
bsd_nthash: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
bsd_nthash: test hashes can be unicode or bytes ... ok
bsd_nthash: test multi-backend support ... SKIP: handler only has one backend
bsd_nthash: validate optional salt attributes ... SKIP: handler doesn't have salt
bsd_nthash: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
bsd_nthash: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
bsd_nthash: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
bsd_nthash: test hash() honors salt_chars ... SKIP: handler doesn't have salt
bsd_nthash: test non-string salt values ... SKIP: handler doesn't have salt
bsd_nthash: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
bsd_nthash: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
bsd_nthash: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
bsd_nthash: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
bsd_nthash: test password case sensitivity ... ok
bsd_nthash: test non-string passwords are rejected ... ok
bsd_nthash: test MAX_PASSWORD_SIZE is enforced ... ok
bsd_nthash: test forbidden characters not allowed in password ... SKIP: none listed
bsd_nthash: test known hashes ... ok
bsd_nthash: test known alternate hashes ... SKIP: no alternate hashes provided
bsd_nthash: test known config strings ... SKIP: hash has no settings
bsd_nthash: test known unidentifiably-mangled strings ... ok
bsd_nthash: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
bsd_nthash: test known foreign hashes ... ok
bsd_nthash: test non-string hashes are rejected ... ok
bsd_nthash: fuzz testing -- random passwords and options ... ok
bsd_nthash: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
bsd_nthash: .disable() / .enable() methods ... SKIP: not applicable
bsd_nthash: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
bsd_nthash: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
bsd_nthash: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
bsd_nthash: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
bsd_nthash: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
bsd_nthash: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
bsd_nthash: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
bsd_nthash: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
bsd_nthash: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
bsd_nthash: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
bsd_nthash: test no password size limits enforced (if truncate_size=None) ... ok
bsd_nthash: validate 'truncate_error' setting & related attributes ... ok
bsd_nthash: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
bsdi_crypt (os_crypt backend): validate required attributes ... ok
bsdi_crypt (os_crypt backend): test basic config-string workflow ... ok
bsdi_crypt (os_crypt backend): test basic using() workflow ... ok
bsdi_crypt (os_crypt backend): test basic hash-string workflow. ... ok
bsdi_crypt (os_crypt backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
bsdi_crypt (os_crypt backend): test hashes can be unicode or bytes ... ok
bsdi_crypt (os_crypt backend): test multi-backend support ... ok
bsdi_crypt (os_crypt backend): validate optional salt attributes ... ok
bsdi_crypt (os_crypt backend): test hash() / genconfig() creates new salt each time ... ok
bsdi_crypt (os_crypt backend): test hash() / genconfig() honors min_salt_size ... ok
bsdi_crypt (os_crypt backend): test hash() / genconfig() honors max_salt_size ... ok
bsdi_crypt (os_crypt backend): test hash() honors salt_chars ... ok
bsdi_crypt (os_crypt backend): test non-string salt values ... ok
bsdi_crypt (os_crypt backend): validate optional rounds attributes ... ok
bsdi_crypt (os_crypt backend): test hash() / genconfig() honors min_rounds ... ok
bsdi_crypt (os_crypt backend): test hash() / genconfig() honors max_rounds ... ok
bsdi_crypt (os_crypt backend): validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
bsdi_crypt (os_crypt backend): test password case sensitivity ... ok
bsdi_crypt (os_crypt backend): test non-string passwords are rejected ... ok
bsdi_crypt (os_crypt backend): test MAX_PASSWORD_SIZE is enforced ... ok
bsdi_crypt (os_crypt backend): test forbidden characters not allowed in password ... ok
bsdi_crypt (os_crypt backend): test known hashes ... ok
bsdi_crypt (os_crypt backend): test known alternate hashes ... SKIP: no alternate hashes provided
bsdi_crypt (os_crypt backend): test known config strings ... SKIP: no config strings provided
bsdi_crypt (os_crypt backend): test known unidentifiably-mangled strings ... ok
bsdi_crypt (os_crypt backend): test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
bsdi_crypt (os_crypt backend): test known foreign hashes ... ok
bsdi_crypt (os_crypt backend): test non-string hashes are rejected ... ok
bsdi_crypt (os_crypt backend): test_77_fuzz_input (passlib.tests.test_handlers.bsdi_crypt_os_crypt_test) ... ok
bsdi_crypt (os_crypt backend): multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
bsdi_crypt (os_crypt backend): test with faulty crypt() ... ok
bsdi_crypt (os_crypt backend): test per-call crypt() fallback ... ok
bsdi_crypt (os_crypt backend): test platform-specific crypt() support detection ... SKIP: no data for 'linux2' platform
bsdi_crypt (os_crypt backend): .disable() / .enable() methods ... SKIP: not applicable
bsdi_crypt (os_crypt backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
bsdi_crypt (os_crypt backend): HasRounds.using() -- max_rounds / max_desired_rounds ... ok
bsdi_crypt (os_crypt backend): HasRounds.using() -- desired_rounds + needs_update() ... ok
bsdi_crypt (os_crypt backend): HasRounds.using() -- sanity check test harness ... ok
bsdi_crypt (os_crypt backend): HasRounds.using() -- default_rounds ... ok
bsdi_crypt (os_crypt backend): HasRounds.using() -- min_rounds / min_desired_rounds ... ok
bsdi_crypt (os_crypt backend): HasRounds.using() -- rounds ... ok
bsdi_crypt (os_crypt backend): HasRounds.using() -- vary_rounds generation ... ok
bsdi_crypt (os_crypt backend): HasRounds.using() -- vary_rounds parsing ... ok
bsdi_crypt (os_crypt backend): needs_update() should flag even rounds ... ok
bsdi_crypt (os_crypt backend): test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
bsdi_crypt (os_crypt backend): test no password size limits enforced (if truncate_size=None) ... ok
bsdi_crypt (os_crypt backend): validate 'truncate_error' setting & related attributes ... ok
bsdi_crypt (os_crypt backend): Handler.using() -- default_salt_size ... ok
crypt16: validate required attributes ... ok
crypt16: test basic config-string workflow ... ok
crypt16: test basic using() workflow ... ok
crypt16: test basic hash-string workflow. ... ok
crypt16: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
crypt16: test hashes can be unicode or bytes ... ok
crypt16: test multi-backend support ... SKIP: handler only has one backend
crypt16: validate optional salt attributes ... ok
crypt16: test hash() / genconfig() creates new salt each time ... ok
crypt16: test hash() / genconfig() honors min_salt_size ... ok
crypt16: test hash() / genconfig() honors max_salt_size ... ok
crypt16: test hash() honors salt_chars ... ok
crypt16: test non-string salt values ... ok
crypt16: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
crypt16: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
crypt16: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
crypt16: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
crypt16: test password case sensitivity ... ok
crypt16: test non-string passwords are rejected ... ok
crypt16: test MAX_PASSWORD_SIZE is enforced ... ok
crypt16: test forbidden characters not allowed in password ... SKIP: none listed
crypt16: test known hashes ... ok
crypt16: test known alternate hashes ... SKIP: no alternate hashes provided
crypt16: test known config strings ... SKIP: no config strings provided
crypt16: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
crypt16: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
crypt16: test known foreign hashes ... ok
crypt16: test non-string hashes are rejected ... ok
crypt16: fuzz testing -- random passwords and options ... ok
crypt16: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
crypt16: .disable() / .enable() methods ... SKIP: not applicable
crypt16: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
crypt16: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
crypt16: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
crypt16: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
crypt16: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
crypt16: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
crypt16: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
crypt16: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
crypt16: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
crypt16: test password size limits raise truncate_error (if appropriate) ... ok
crypt16: test no password size limits enforced (if truncate_size=None) ... SKIP: truncate_size is set
crypt16: validate 'truncate_error' setting & related attributes ... ok
crypt16: Handler.using() -- default_salt_size ... ok
des_crypt (os_crypt backend): validate required attributes ... ok
des_crypt (os_crypt backend): test basic config-string workflow ... ok
des_crypt (os_crypt backend): test basic using() workflow ... ok
des_crypt (os_crypt backend): test basic hash-string workflow. ... ok
des_crypt (os_crypt backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
des_crypt (os_crypt backend): test hashes can be unicode or bytes ... ok
des_crypt (os_crypt backend): test multi-backend support ... ok
des_crypt (os_crypt backend): validate optional salt attributes ... ok
des_crypt (os_crypt backend): test hash() / genconfig() creates new salt each time ... ok
des_crypt (os_crypt backend): test hash() / genconfig() honors min_salt_size ... ok
des_crypt (os_crypt backend): test hash() / genconfig() honors max_salt_size ... ok
des_crypt (os_crypt backend): test hash() honors salt_chars ... ok
des_crypt (os_crypt backend): test non-string salt values ... ok
des_crypt (os_crypt backend): validate optional rounds attributes ... SKIP: handler lacks rounds attributes
des_crypt (os_crypt backend): test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
des_crypt (os_crypt backend): test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
des_crypt (os_crypt backend): validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
des_crypt (os_crypt backend): test password case sensitivity ... ok
des_crypt (os_crypt backend): test non-string passwords are rejected ... ok
des_crypt (os_crypt backend): test MAX_PASSWORD_SIZE is enforced ... ok
des_crypt (os_crypt backend): test forbidden characters not allowed in password ... ok
des_crypt (os_crypt backend): test known hashes ... ok
des_crypt (os_crypt backend): test known alternate hashes ... SKIP: no alternate hashes provided
des_crypt (os_crypt backend): test known config strings ... SKIP: no config strings provided
des_crypt (os_crypt backend): test known unidentifiably-mangled strings ... ok
des_crypt (os_crypt backend): test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
des_crypt (os_crypt backend): test known foreign hashes ... ok
des_crypt (os_crypt backend): test non-string hashes are rejected ... ok
des_crypt (os_crypt backend): fuzz testing -- random passwords and options ... ok
des_crypt (os_crypt backend): multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
des_crypt (os_crypt backend): test with faulty crypt() ... ok
des_crypt (os_crypt backend): test per-call crypt() fallback ... ok
des_crypt (os_crypt backend): test platform-specific crypt() support detection ... ok
des_crypt (os_crypt backend): .disable() / .enable() methods ... SKIP: not applicable
des_crypt (os_crypt backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
des_crypt (os_crypt backend): HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
des_crypt (os_crypt backend): HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
des_crypt (os_crypt backend): HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
des_crypt (os_crypt backend): HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
des_crypt (os_crypt backend): HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
des_crypt (os_crypt backend): HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
des_crypt (os_crypt backend): HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
des_crypt (os_crypt backend): HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
des_crypt (os_crypt backend): test password size limits raise truncate_error (if appropriate) ... ok
des_crypt (os_crypt backend): test no password size limits enforced (if truncate_size=None) ... SKIP: truncate_size is set
des_crypt (os_crypt backend): validate 'truncate_error' setting & related attributes ... ok
des_crypt (os_crypt backend): Handler.using() -- default_salt_size ... ok
fshp: validate required attributes ... ok
fshp: test basic config-string workflow ... ok
fshp: test basic using() workflow ... ok
fshp: test basic hash-string workflow. ... ok
fshp: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
fshp: test hashes can be unicode or bytes ... ok
fshp: test multi-backend support ... SKIP: handler only has one backend
fshp: validate optional salt attributes ... ok
fshp: test hash() / genconfig() creates new salt each time ... ok
fshp: test hash() / genconfig() honors min_salt_size ... ok
fshp: test hash() / genconfig() honors max_salt_size ... ok
fshp: test hash() honors salt_chars ... ok
fshp: test non-string salt values ... ok
fshp: validate optional rounds attributes ... ok
fshp: test hash() / genconfig() honors min_rounds ... ok
fshp: test hash() / genconfig() honors max_rounds ... ok
fshp: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
fshp: test password case sensitivity ... ok
fshp: test non-string passwords are rejected ... ok
fshp: test MAX_PASSWORD_SIZE is enforced ... ok
fshp: test forbidden characters not allowed in password ... SKIP: none listed
fshp: test known hashes ... ok
fshp: test known alternate hashes ... SKIP: no alternate hashes provided
fshp: test known config strings ... SKIP: no config strings provided
fshp: test known unidentifiably-mangled strings ... ok
fshp: test known identifiable-but-malformed strings ... ok
fshp: test known foreign hashes ... ok
fshp: test non-string hashes are rejected ... ok
fshp: fuzz testing -- random passwords and options ... ok
fshp: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
fshp: test variant keyword ... ok
fshp: .disable() / .enable() methods ... SKIP: not applicable
fshp: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
fshp: HasRounds.using() -- max_rounds / max_desired_rounds ... ok
fshp: HasRounds.using() -- desired_rounds + needs_update() ... ok
fshp: HasRounds.using() -- sanity check test harness ... ok
fshp: HasRounds.using() -- default_rounds ... ok
fshp: HasRounds.using() -- min_rounds / min_desired_rounds ... ok
fshp: HasRounds.using() -- rounds ... ok
fshp: HasRounds.using() -- vary_rounds generation ... ok
fshp: HasRounds.using() -- vary_rounds parsing ... ok
fshp: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
fshp: test no password size limits enforced (if truncate_size=None) ... ok
fshp: validate 'truncate_error' setting & related attributes ... ok
fshp: Handler.using() -- default_salt_size ... ok
hex_md4: validate required attributes ... ok
hex_md4: test basic config-string workflow ... ok
hex_md4: test basic using() workflow ... ok
hex_md4: test basic hash-string workflow. ... ok
hex_md4: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
hex_md4: test hashes can be unicode or bytes ... ok
hex_md4: test multi-backend support ... SKIP: handler only has one backend
hex_md4: validate optional salt attributes ... SKIP: handler doesn't have salt
hex_md4: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
hex_md4: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
hex_md4: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
hex_md4: test hash() honors salt_chars ... SKIP: handler doesn't have salt
hex_md4: test non-string salt values ... SKIP: handler doesn't have salt
hex_md4: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
hex_md4: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
hex_md4: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
hex_md4: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
hex_md4: test password case sensitivity ... ok
hex_md4: test non-string passwords are rejected ... ok
hex_md4: test MAX_PASSWORD_SIZE is enforced ... ok
hex_md4: test forbidden characters not allowed in password ... SKIP: none listed
hex_md4: test known hashes ... ok
hex_md4: test known alternate hashes ... SKIP: no alternate hashes provided
hex_md4: test known config strings ... SKIP: hash has no settings
hex_md4: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
hex_md4: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
hex_md4: test known foreign hashes ... ok
hex_md4: test non-string hashes are rejected ... ok
hex_md4: fuzz testing -- random passwords and options ... ok
hex_md4: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
hex_md4: .disable() / .enable() methods ... SKIP: not applicable
hex_md4: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
hex_md4: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
hex_md4: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
hex_md4: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
hex_md4: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
hex_md4: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
hex_md4: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
hex_md4: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
hex_md4: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
hex_md4: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
hex_md4: test no password size limits enforced (if truncate_size=None) ... ok
hex_md4: validate 'truncate_error' setting & related attributes ... ok
hex_md4: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
hex_md5: validate required attributes ... ok
hex_md5: test basic config-string workflow ... ok
hex_md5: test basic using() workflow ... ok
hex_md5: test basic hash-string workflow. ... ok
hex_md5: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
hex_md5: test hashes can be unicode or bytes ... ok
hex_md5: test multi-backend support ... SKIP: handler only has one backend
hex_md5: validate optional salt attributes ... SKIP: handler doesn't have salt
hex_md5: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
hex_md5: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
hex_md5: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
hex_md5: test hash() honors salt_chars ... SKIP: handler doesn't have salt
hex_md5: test non-string salt values ... SKIP: handler doesn't have salt
hex_md5: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
hex_md5: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
hex_md5: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
hex_md5: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
hex_md5: test password case sensitivity ... ok
hex_md5: test non-string passwords are rejected ... ok
hex_md5: test MAX_PASSWORD_SIZE is enforced ... ok
hex_md5: test forbidden characters not allowed in password ... SKIP: none listed
hex_md5: test known hashes ... ok
hex_md5: test known alternate hashes ... SKIP: no alternate hashes provided
hex_md5: test known config strings ... SKIP: hash has no settings
hex_md5: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
hex_md5: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
hex_md5: test known foreign hashes ... ok
hex_md5: test non-string hashes are rejected ... ok
hex_md5: fuzz testing -- random passwords and options ... ok
hex_md5: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
hex_md5: .disable() / .enable() methods ... SKIP: not applicable
hex_md5: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
hex_md5: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
hex_md5: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
hex_md5: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
hex_md5: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
hex_md5: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
hex_md5: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
hex_md5: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
hex_md5: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
hex_md5: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
hex_md5: test no password size limits enforced (if truncate_size=None) ... ok
hex_md5: validate 'truncate_error' setting & related attributes ... ok
hex_md5: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
hex_sha1: validate required attributes ... ok
hex_sha1: test basic config-string workflow ... ok
hex_sha1: test basic using() workflow ... ok
hex_sha1: test basic hash-string workflow. ... ok
hex_sha1: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
hex_sha1: test hashes can be unicode or bytes ... ok
hex_sha1: test multi-backend support ... SKIP: handler only has one backend
hex_sha1: validate optional salt attributes ... SKIP: handler doesn't have salt
hex_sha1: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
hex_sha1: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
hex_sha1: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
hex_sha1: test hash() honors salt_chars ... SKIP: handler doesn't have salt
hex_sha1: test non-string salt values ... SKIP: handler doesn't have salt
hex_sha1: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
hex_sha1: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
hex_sha1: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
hex_sha1: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
hex_sha1: test password case sensitivity ... ok
hex_sha1: test non-string passwords are rejected ... ok
hex_sha1: test MAX_PASSWORD_SIZE is enforced ... ok
hex_sha1: test forbidden characters not allowed in password ... SKIP: none listed
hex_sha1: test known hashes ... ok
hex_sha1: test known alternate hashes ... SKIP: no alternate hashes provided
hex_sha1: test known config strings ... SKIP: hash has no settings
hex_sha1: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
hex_sha1: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
hex_sha1: test known foreign hashes ... ok
hex_sha1: test non-string hashes are rejected ... ok
hex_sha1: fuzz testing -- random passwords and options ... ok
hex_sha1: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
hex_sha1: .disable() / .enable() methods ... SKIP: not applicable
hex_sha1: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
hex_sha1: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
hex_sha1: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
hex_sha1: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
hex_sha1: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
hex_sha1: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
hex_sha1: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
hex_sha1: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
hex_sha1: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
hex_sha1: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
hex_sha1: test no password size limits enforced (if truncate_size=None) ... ok
hex_sha1: validate 'truncate_error' setting & related attributes ... ok
hex_sha1: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
hex_sha256: validate required attributes ... ok
hex_sha256: test basic config-string workflow ... ok
hex_sha256: test basic using() workflow ... ok
hex_sha256: test basic hash-string workflow. ... ok
hex_sha256: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
hex_sha256: test hashes can be unicode or bytes ... ok
hex_sha256: test multi-backend support ... SKIP: handler only has one backend
hex_sha256: validate optional salt attributes ... SKIP: handler doesn't have salt
hex_sha256: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
hex_sha256: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
hex_sha256: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
hex_sha256: test hash() honors salt_chars ... SKIP: handler doesn't have salt
hex_sha256: test non-string salt values ... SKIP: handler doesn't have salt
hex_sha256: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
hex_sha256: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
hex_sha256: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
hex_sha256: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
hex_sha256: test password case sensitivity ... ok
hex_sha256: test non-string passwords are rejected ... ok
hex_sha256: test MAX_PASSWORD_SIZE is enforced ... ok
hex_sha256: test forbidden characters not allowed in password ... SKIP: none listed
hex_sha256: test known hashes ... ok
hex_sha256: test known alternate hashes ... SKIP: no alternate hashes provided
hex_sha256: test known config strings ... SKIP: hash has no settings
hex_sha256: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
hex_sha256: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
hex_sha256: test known foreign hashes ... ok
hex_sha256: test non-string hashes are rejected ... ok
hex_sha256: fuzz testing -- random passwords and options ... ok
hex_sha256: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
hex_sha256: .disable() / .enable() methods ... SKIP: not applicable
hex_sha256: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
hex_sha256: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
hex_sha256: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
hex_sha256: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
hex_sha256: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
hex_sha256: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
hex_sha256: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
hex_sha256: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
hex_sha256: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
hex_sha256: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
hex_sha256: test no password size limits enforced (if truncate_size=None) ... ok
hex_sha256: validate 'truncate_error' setting & related attributes ... ok
hex_sha256: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
hex_sha512: validate required attributes ... ok
hex_sha512: test basic config-string workflow ... ok
hex_sha512: test basic using() workflow ... ok
hex_sha512: test basic hash-string workflow. ... ok
hex_sha512: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
hex_sha512: test hashes can be unicode or bytes ... ok
hex_sha512: test multi-backend support ... SKIP: handler only has one backend
hex_sha512: validate optional salt attributes ... SKIP: handler doesn't have salt
hex_sha512: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
hex_sha512: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
hex_sha512: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
hex_sha512: test hash() honors salt_chars ... SKIP: handler doesn't have salt
hex_sha512: test non-string salt values ... SKIP: handler doesn't have salt
hex_sha512: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
hex_sha512: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
hex_sha512: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
hex_sha512: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
hex_sha512: test password case sensitivity ... ok
hex_sha512: test non-string passwords are rejected ... ok
hex_sha512: test MAX_PASSWORD_SIZE is enforced ... ok
hex_sha512: test forbidden characters not allowed in password ... SKIP: none listed
hex_sha512: test known hashes ... ok
hex_sha512: test known alternate hashes ... SKIP: no alternate hashes provided
hex_sha512: test known config strings ... SKIP: hash has no settings
hex_sha512: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
hex_sha512: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
hex_sha512: test known foreign hashes ... ok
hex_sha512: test non-string hashes are rejected ... ok
hex_sha512: fuzz testing -- random passwords and options ... ok
hex_sha512: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
hex_sha512: .disable() / .enable() methods ... SKIP: not applicable
hex_sha512: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
hex_sha512: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
hex_sha512: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
hex_sha512: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
hex_sha512: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
hex_sha512: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
hex_sha512: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
hex_sha512: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
hex_sha512: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
hex_sha512: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
hex_sha512: test no password size limits enforced (if truncate_size=None) ... ok
hex_sha512: validate 'truncate_error' setting & related attributes ... ok
hex_sha512: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
htdigest: validate required attributes ... ok
htdigest: test basic config-string workflow ... ok
htdigest: test basic using() workflow ... ok
htdigest: test basic hash-string workflow. ... ok
htdigest: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
htdigest: test hashes can be unicode or bytes ... ok
htdigest: test multi-backend support ... SKIP: handler only has one backend
htdigest: validate optional salt attributes ... SKIP: handler doesn't have salt
htdigest: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
htdigest: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
htdigest: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
htdigest: test hash() honors salt_chars ... SKIP: handler doesn't have salt
htdigest: test non-string salt values ... SKIP: handler doesn't have salt
htdigest: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
htdigest: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
htdigest: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
htdigest: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
htdigest: test password case sensitivity ... ok
htdigest: test non-string passwords are rejected ... ok
htdigest: test MAX_PASSWORD_SIZE is enforced ... ok
htdigest: test forbidden characters not allowed in password ... SKIP: none listed
htdigest: test known hashes ... ok
htdigest: test known alternate hashes ... SKIP: no alternate hashes provided
htdigest: test known config strings ... SKIP: hash has no settings
htdigest: test known unidentifiably-mangled strings ... ok
htdigest: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
htdigest: test known foreign hashes ... ok
htdigest: test non-string hashes are rejected ... ok
htdigest: fuzz testing -- random passwords and options ... ok
htdigest: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
htdigest: test_80_user (passlib.tests.test_handlers.htdigest_test) ... SKIP: test case doesn't support 'realm' keyword
htdigest: test user case sensitivity ... ok
htdigest: test user used as salt ... ok
htdigest: .disable() / .enable() methods ... SKIP: not applicable
htdigest: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
htdigest: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
htdigest: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
htdigest: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
htdigest: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
htdigest: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
htdigest: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
htdigest: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
htdigest: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
htdigest: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
htdigest: test no password size limits enforced (if truncate_size=None) ... ok
htdigest: validate 'truncate_error' setting & related attributes ... ok
htdigest: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
ldap_md5_crypt (os_crypt backend): validate required attributes ... ok
ldap_md5_crypt (os_crypt backend): test basic config-string workflow ... ok
ldap_md5_crypt (os_crypt backend): test basic using() workflow ... ok
ldap_md5_crypt (os_crypt backend): test basic hash-string workflow. ... ok
ldap_md5_crypt (os_crypt backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
ldap_md5_crypt (os_crypt backend): test hashes can be unicode or bytes ... ok
ldap_md5_crypt (os_crypt backend): test multi-backend support ... ok
ldap_md5_crypt (os_crypt backend): validate optional salt attributes ... ok
ldap_md5_crypt (os_crypt backend): test hash() / genconfig() creates new salt each time ... ok
ldap_md5_crypt (os_crypt backend): test hash() / genconfig() honors min_salt_size ... ok
ldap_md5_crypt (os_crypt backend): test hash() / genconfig() honors max_salt_size ... ok
ldap_md5_crypt (os_crypt backend): test hash() honors salt_chars ... ok
ldap_md5_crypt (os_crypt backend): test non-string salt values ... ok
ldap_md5_crypt (os_crypt backend): validate optional rounds attributes ... SKIP: handler lacks rounds attributes
ldap_md5_crypt (os_crypt backend): test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
ldap_md5_crypt (os_crypt backend): test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
ldap_md5_crypt (os_crypt backend): validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
ldap_md5_crypt (os_crypt backend): test password case sensitivity ... ok
ldap_md5_crypt (os_crypt backend): test non-string passwords are rejected ... ok
ldap_md5_crypt (os_crypt backend): test MAX_PASSWORD_SIZE is enforced ... ok
ldap_md5_crypt (os_crypt backend): test forbidden characters not allowed in password ... ok
ldap_md5_crypt (os_crypt backend): test known hashes ... ok
ldap_md5_crypt (os_crypt backend): test known alternate hashes ... SKIP: no alternate hashes provided
ldap_md5_crypt (os_crypt backend): test known config strings ... SKIP: no config strings provided
ldap_md5_crypt (os_crypt backend): test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
ldap_md5_crypt (os_crypt backend): test known identifiable-but-malformed strings ... ok
ldap_md5_crypt (os_crypt backend): test known foreign hashes ... ok
ldap_md5_crypt (os_crypt backend): test non-string hashes are rejected ... ok
ldap_md5_crypt (os_crypt backend): fuzz testing -- random passwords and options ... ok
ldap_md5_crypt (os_crypt backend): multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
ldap_md5_crypt (os_crypt backend): test with faulty crypt() ... ok
ldap_md5_crypt (os_crypt backend): test per-call crypt() fallback ... ok
ldap_md5_crypt (os_crypt backend): test platform-specific crypt() support detection ... SKIP: not applicable to wrappers
ldap_md5_crypt (os_crypt backend): .disable() / .enable() methods ... SKIP: not applicable
ldap_md5_crypt (os_crypt backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
ldap_md5_crypt (os_crypt backend): HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
ldap_md5_crypt (os_crypt backend): HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
ldap_md5_crypt (os_crypt backend): HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
ldap_md5_crypt (os_crypt backend): HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
ldap_md5_crypt (os_crypt backend): HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
ldap_md5_crypt (os_crypt backend): HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
ldap_md5_crypt (os_crypt backend): HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
ldap_md5_crypt (os_crypt backend): HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
ldap_md5_crypt (os_crypt backend): test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
ldap_md5_crypt (os_crypt backend): test no password size limits enforced (if truncate_size=None) ... ok
ldap_md5_crypt (os_crypt backend): validate 'truncate_error' setting & related attributes ... ok
ldap_md5_crypt (os_crypt backend): Handler.using() -- default_salt_size ... ok
ldap_md5: validate required attributes ... ok
ldap_md5: test basic config-string workflow ... ok
ldap_md5: test basic using() workflow ... ok
ldap_md5: test basic hash-string workflow. ... ok
ldap_md5: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
ldap_md5: test hashes can be unicode or bytes ... ok
ldap_md5: test multi-backend support ... SKIP: handler only has one backend
ldap_md5: validate optional salt attributes ... SKIP: handler doesn't have salt
ldap_md5: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
ldap_md5: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
ldap_md5: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
ldap_md5: test hash() honors salt_chars ... SKIP: handler doesn't have salt
ldap_md5: test non-string salt values ... SKIP: handler doesn't have salt
ldap_md5: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
ldap_md5: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
ldap_md5: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
ldap_md5: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
ldap_md5: test password case sensitivity ... ok
ldap_md5: test non-string passwords are rejected ... ok
ldap_md5: test MAX_PASSWORD_SIZE is enforced ... ok
ldap_md5: test forbidden characters not allowed in password ... SKIP: none listed
ldap_md5: test known hashes ... ok
ldap_md5: test known alternate hashes ... SKIP: no alternate hashes provided
ldap_md5: test known config strings ... SKIP: hash has no settings
ldap_md5: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
ldap_md5: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
ldap_md5: test known foreign hashes ... ok
ldap_md5: test non-string hashes are rejected ... ok
ldap_md5: fuzz testing -- random passwords and options ... ok
ldap_md5: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
ldap_md5: .disable() / .enable() methods ... SKIP: not applicable
ldap_md5: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
ldap_md5: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
ldap_md5: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
ldap_md5: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
ldap_md5: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
ldap_md5: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
ldap_md5: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
ldap_md5: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
ldap_md5: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
ldap_md5: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
ldap_md5: test no password size limits enforced (if truncate_size=None) ... ok
ldap_md5: validate 'truncate_error' setting & related attributes ... ok
ldap_md5: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
ldap_plaintext: validate required attributes ... ok
ldap_plaintext: test basic config-string workflow ... ok
ldap_plaintext: test basic using() workflow ... ok
ldap_plaintext: test basic hash-string workflow. ... ok
ldap_plaintext: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
ldap_plaintext: test hashes can be unicode or bytes ... ok
ldap_plaintext: test multi-backend support ... SKIP: handler only has one backend
ldap_plaintext: validate optional salt attributes ... SKIP: handler doesn't have salt
ldap_plaintext: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
ldap_plaintext: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
ldap_plaintext: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
ldap_plaintext: test hash() honors salt_chars ... SKIP: handler doesn't have salt
ldap_plaintext: test non-string salt values ... SKIP: handler doesn't have salt
ldap_plaintext: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
ldap_plaintext: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
ldap_plaintext: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
ldap_plaintext: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
ldap_plaintext: test password case sensitivity ... ok
ldap_plaintext: test non-string passwords are rejected ... ok
ldap_plaintext: test MAX_PASSWORD_SIZE is enforced ... ok
ldap_plaintext: test forbidden characters not allowed in password ... SKIP: none listed
ldap_plaintext: test known hashes ... ok
ldap_plaintext: test known alternate hashes ... SKIP: no alternate hashes provided
ldap_plaintext: test known config strings ... SKIP: hash has no settings
ldap_plaintext: test known unidentifiably-mangled strings ... ok
ldap_plaintext: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
ldap_plaintext: test known foreign hashes ... ok
ldap_plaintext: test non-string hashes are rejected ... ok
ldap_plaintext: fuzz testing -- random passwords and options ... ok
ldap_plaintext: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
ldap_plaintext: .disable() / .enable() methods ... SKIP: not applicable
ldap_plaintext: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
ldap_plaintext: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
ldap_plaintext: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
ldap_plaintext: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
ldap_plaintext: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
ldap_plaintext: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
ldap_plaintext: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
ldap_plaintext: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
ldap_plaintext: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
ldap_plaintext: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
ldap_plaintext: test no password size limits enforced (if truncate_size=None) ... ok
ldap_plaintext: validate 'truncate_error' setting & related attributes ... ok
ldap_plaintext: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
ldap_salted_md5: validate required attributes ... ok
ldap_salted_md5: test basic config-string workflow ... ok
ldap_salted_md5: test basic using() workflow ... ok
ldap_salted_md5: test basic hash-string workflow. ... ok
ldap_salted_md5: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
ldap_salted_md5: test hashes can be unicode or bytes ... ok
ldap_salted_md5: test multi-backend support ... SKIP: handler only has one backend
ldap_salted_md5: validate optional salt attributes ... ok
ldap_salted_md5: test hash() / genconfig() creates new salt each time ... ok
ldap_salted_md5: test hash() / genconfig() honors min_salt_size ... ok
ldap_salted_md5: test hash() / genconfig() honors max_salt_size ... ok
ldap_salted_md5: test hash() honors salt_chars ... ok
ldap_salted_md5: test non-string salt values ... ok
ldap_salted_md5: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
ldap_salted_md5: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
ldap_salted_md5: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
ldap_salted_md5: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
ldap_salted_md5: test password case sensitivity ... ok
ldap_salted_md5: test non-string passwords are rejected ... ok
ldap_salted_md5: test MAX_PASSWORD_SIZE is enforced ... ok
ldap_salted_md5: test forbidden characters not allowed in password ... SKIP: none listed
ldap_salted_md5: test known hashes ... ok
ldap_salted_md5: test known alternate hashes ... SKIP: no alternate hashes provided
ldap_salted_md5: test known config strings ... SKIP: no config strings provided
ldap_salted_md5: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
ldap_salted_md5: test known identifiable-but-malformed strings ... ok
ldap_salted_md5: test known foreign hashes ... ok
ldap_salted_md5: test non-string hashes are rejected ... ok
ldap_salted_md5: fuzz testing -- random passwords and options ... ok
ldap_salted_md5: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
ldap_salted_md5: .disable() / .enable() methods ... SKIP: not applicable
ldap_salted_md5: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
ldap_salted_md5: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
ldap_salted_md5: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
ldap_salted_md5: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
ldap_salted_md5: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
ldap_salted_md5: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
ldap_salted_md5: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
ldap_salted_md5: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
ldap_salted_md5: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
ldap_salted_md5: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
ldap_salted_md5: test no password size limits enforced (if truncate_size=None) ... ok
ldap_salted_md5: validate 'truncate_error' setting & related attributes ... ok
ldap_salted_md5: Handler.using() -- default_salt_size ... ok
ldap_salted_sha1: validate required attributes ... ok
ldap_salted_sha1: test basic config-string workflow ... ok
ldap_salted_sha1: test basic using() workflow ... ok
ldap_salted_sha1: test basic hash-string workflow. ... ok
ldap_salted_sha1: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
ldap_salted_sha1: test hashes can be unicode or bytes ... ok
ldap_salted_sha1: test multi-backend support ... SKIP: handler only has one backend
ldap_salted_sha1: validate optional salt attributes ... ok
ldap_salted_sha1: test hash() / genconfig() creates new salt each time ... ok
ldap_salted_sha1: test hash() / genconfig() honors min_salt_size ... ok
ldap_salted_sha1: test hash() / genconfig() honors max_salt_size ... ok
ldap_salted_sha1: test hash() honors salt_chars ... ok
ldap_salted_sha1: test non-string salt values ... ok
ldap_salted_sha1: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
ldap_salted_sha1: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
ldap_salted_sha1: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
ldap_salted_sha1: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
ldap_salted_sha1: test password case sensitivity ... ok
ldap_salted_sha1: test non-string passwords are rejected ... ok
ldap_salted_sha1: test MAX_PASSWORD_SIZE is enforced ... ok
ldap_salted_sha1: test forbidden characters not allowed in password ... SKIP: none listed
ldap_salted_sha1: test known hashes ... ok
ldap_salted_sha1: test known alternate hashes ... SKIP: no alternate hashes provided
ldap_salted_sha1: test known config strings ... SKIP: no config strings provided
ldap_salted_sha1: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
ldap_salted_sha1: test known identifiable-but-malformed strings ... ok
ldap_salted_sha1: test known foreign hashes ... ok
ldap_salted_sha1: test non-string hashes are rejected ... ok
ldap_salted_sha1: fuzz testing -- random passwords and options ... ok
ldap_salted_sha1: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
ldap_salted_sha1: .disable() / .enable() methods ... SKIP: not applicable
ldap_salted_sha1: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
ldap_salted_sha1: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
ldap_salted_sha1: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
ldap_salted_sha1: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
ldap_salted_sha1: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
ldap_salted_sha1: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
ldap_salted_sha1: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
ldap_salted_sha1: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
ldap_salted_sha1: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
ldap_salted_sha1: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
ldap_salted_sha1: test no password size limits enforced (if truncate_size=None) ... ok
ldap_salted_sha1: validate 'truncate_error' setting & related attributes ... ok
ldap_salted_sha1: Handler.using() -- default_salt_size ... ok
ldap_sha1_crypt (os_crypt backend): validate required attributes ... ok
ldap_sha1_crypt (os_crypt backend): test basic config-string workflow ... ok
ldap_sha1_crypt (os_crypt backend): test basic using() workflow ... ok
ldap_sha1_crypt (os_crypt backend): test basic hash-string workflow. ... ok
ldap_sha1_crypt (os_crypt backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
ldap_sha1_crypt (os_crypt backend): test hashes can be unicode or bytes ... ok
ldap_sha1_crypt (os_crypt backend): test multi-backend support ... ok
ldap_sha1_crypt (os_crypt backend): validate optional salt attributes ... ok
ldap_sha1_crypt (os_crypt backend): test hash() / genconfig() creates new salt each time ... ok
ldap_sha1_crypt (os_crypt backend): test hash() / genconfig() honors min_salt_size ... ok
ldap_sha1_crypt (os_crypt backend): test hash() / genconfig() honors max_salt_size ... ok
ldap_sha1_crypt (os_crypt backend): test hash() honors salt_chars ... ok
ldap_sha1_crypt (os_crypt backend): test non-string salt values ... ok
ldap_sha1_crypt (os_crypt backend): validate optional rounds attributes ... ok
ldap_sha1_crypt (os_crypt backend): test hash() / genconfig() honors min_rounds ... ok
ldap_sha1_crypt (os_crypt backend): test hash() / genconfig() honors max_rounds ... ok
ldap_sha1_crypt (os_crypt backend): validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
ldap_sha1_crypt (os_crypt backend): test password case sensitivity ... ok
ldap_sha1_crypt (os_crypt backend): test non-string passwords are rejected ... ok
ldap_sha1_crypt (os_crypt backend): test MAX_PASSWORD_SIZE is enforced ... ok
ldap_sha1_crypt (os_crypt backend): test forbidden characters not allowed in password ... ok
ldap_sha1_crypt (os_crypt backend): test known hashes ... ok
ldap_sha1_crypt (os_crypt backend): test known alternate hashes ... SKIP: no alternate hashes provided
ldap_sha1_crypt (os_crypt backend): test known config strings ... SKIP: no config strings provided
ldap_sha1_crypt (os_crypt backend): test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
ldap_sha1_crypt (os_crypt backend): test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
ldap_sha1_crypt (os_crypt backend): test known foreign hashes ... ok
ldap_sha1_crypt (os_crypt backend): test non-string hashes are rejected ... ok
ldap_sha1_crypt (os_crypt backend): test_77_fuzz_input (passlib.tests.test_handlers.ldap_sha1_crypt_os_crypt_test) ... SKIP: unneeded
ldap_sha1_crypt (os_crypt backend): multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
ldap_sha1_crypt (os_crypt backend): test with faulty crypt() ... ok
ldap_sha1_crypt (os_crypt backend): test per-call crypt() fallback ... ok
ldap_sha1_crypt (os_crypt backend): test platform-specific crypt() support detection ... SKIP: not applicable to wrappers
ldap_sha1_crypt (os_crypt backend): .disable() / .enable() methods ... SKIP: not applicable
ldap_sha1_crypt (os_crypt backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
ldap_sha1_crypt (os_crypt backend): HasRounds.using() -- max_rounds / max_desired_rounds ... ok
ldap_sha1_crypt (os_crypt backend): HasRounds.using() -- desired_rounds + needs_update() ... ok
ldap_sha1_crypt (os_crypt backend): HasRounds.using() -- sanity check test harness ... ok
ldap_sha1_crypt (os_crypt backend): HasRounds.using() -- default_rounds ... ok
ldap_sha1_crypt (os_crypt backend): HasRounds.using() -- min_rounds / min_desired_rounds ... ok
ldap_sha1_crypt (os_crypt backend): HasRounds.using() -- rounds ... ok
ldap_sha1_crypt (os_crypt backend): HasRounds.using() -- vary_rounds generation ... ok
ldap_sha1_crypt (os_crypt backend): HasRounds.using() -- vary_rounds parsing ... ok
ldap_sha1_crypt (os_crypt backend): test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
ldap_sha1_crypt (os_crypt backend): test no password size limits enforced (if truncate_size=None) ... ok
ldap_sha1_crypt (os_crypt backend): validate 'truncate_error' setting & related attributes ... ok
ldap_sha1_crypt (os_crypt backend): Handler.using() -- default_salt_size ... ok
ldap_sha1: validate required attributes ... ok
ldap_sha1: test basic config-string workflow ... ok
ldap_sha1: test basic using() workflow ... ok
ldap_sha1: test basic hash-string workflow. ... ok
ldap_sha1: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
ldap_sha1: test hashes can be unicode or bytes ... ok
ldap_sha1: test multi-backend support ... SKIP: handler only has one backend
ldap_sha1: validate optional salt attributes ... SKIP: handler doesn't have salt
ldap_sha1: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
ldap_sha1: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
ldap_sha1: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
ldap_sha1: test hash() honors salt_chars ... SKIP: handler doesn't have salt
ldap_sha1: test non-string salt values ... SKIP: handler doesn't have salt
ldap_sha1: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
ldap_sha1: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
ldap_sha1: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
ldap_sha1: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
ldap_sha1: test password case sensitivity ... ok
ldap_sha1: test non-string passwords are rejected ... ok
ldap_sha1: test MAX_PASSWORD_SIZE is enforced ... ok
ldap_sha1: test forbidden characters not allowed in password ... SKIP: none listed
ldap_sha1: test known hashes ... ok
ldap_sha1: test known alternate hashes ... SKIP: no alternate hashes provided
ldap_sha1: test known config strings ... SKIP: hash has no settings
ldap_sha1: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
ldap_sha1: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
ldap_sha1: test known foreign hashes ... ok
ldap_sha1: test non-string hashes are rejected ... ok
ldap_sha1: fuzz testing -- random passwords and options ... ok
ldap_sha1: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
ldap_sha1: .disable() / .enable() methods ... SKIP: not applicable
ldap_sha1: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
ldap_sha1: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
ldap_sha1: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
ldap_sha1: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
ldap_sha1: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
ldap_sha1: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
ldap_sha1: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
ldap_sha1: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
ldap_sha1: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
ldap_sha1: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
ldap_sha1: test no password size limits enforced (if truncate_size=None) ... ok
ldap_sha1: validate 'truncate_error' setting & related attributes ... ok
ldap_sha1: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
lmhash: validate required attributes ... ok
lmhash: test basic config-string workflow ... ok
lmhash: test basic using() workflow ... ok
lmhash: test basic hash-string workflow. ... ok
lmhash: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
lmhash: test hashes can be unicode or bytes ... ok
lmhash: test multi-backend support ... SKIP: handler only has one backend
lmhash: validate optional salt attributes ... SKIP: handler doesn't have salt
lmhash: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
lmhash: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
lmhash: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
lmhash: test hash() honors salt_chars ... SKIP: handler doesn't have salt
lmhash: test non-string salt values ... SKIP: handler doesn't have salt
lmhash: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
lmhash: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
lmhash: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
lmhash: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
lmhash: test password case sensitivity ... ok
lmhash: test non-string passwords are rejected ... ok
lmhash: test MAX_PASSWORD_SIZE is enforced ... ok
lmhash: test forbidden characters not allowed in password ... SKIP: none listed
lmhash: test known hashes ... ok
lmhash: test known alternate hashes ... SKIP: no alternate hashes provided
lmhash: test known config strings ... SKIP: no config strings provided
lmhash: test known unidentifiably-mangled strings ... ok
lmhash: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
lmhash: test known foreign hashes ... ok
lmhash: test non-string hashes are rejected ... ok
lmhash: fuzz testing -- random passwords and options ... ok
lmhash: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
lmhash: test lmhash.raw() method ... ok
lmhash: .disable() / .enable() methods ... SKIP: not applicable
lmhash: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
lmhash: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
lmhash: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
lmhash: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
lmhash: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
lmhash: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
lmhash: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
lmhash: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
lmhash: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
lmhash: test password size limits raise truncate_error (if appropriate) ... ok
lmhash: test no password size limits enforced (if truncate_size=None) ... SKIP: truncate_size is set
lmhash: validate 'truncate_error' setting & related attributes ... ok
lmhash: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
md5_crypt (os_crypt backend): validate required attributes ... ok
md5_crypt (os_crypt backend): test basic config-string workflow ... ok
md5_crypt (os_crypt backend): test basic using() workflow ... ok
md5_crypt (os_crypt backend): test basic hash-string workflow. ... ok
md5_crypt (os_crypt backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
md5_crypt (os_crypt backend): test hashes can be unicode or bytes ... ok
md5_crypt (os_crypt backend): test multi-backend support ... ok
md5_crypt (os_crypt backend): validate optional salt attributes ... ok
md5_crypt (os_crypt backend): test hash() / genconfig() creates new salt each time ... ok
md5_crypt (os_crypt backend): test hash() / genconfig() honors min_salt_size ... ok
md5_crypt (os_crypt backend): test hash() / genconfig() honors max_salt_size ... ok
md5_crypt (os_crypt backend): test hash() honors salt_chars ... ok
md5_crypt (os_crypt backend): test non-string salt values ... ok
md5_crypt (os_crypt backend): validate optional rounds attributes ... SKIP: handler lacks rounds attributes
md5_crypt (os_crypt backend): test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
md5_crypt (os_crypt backend): test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
md5_crypt (os_crypt backend): validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
md5_crypt (os_crypt backend): test password case sensitivity ... ok
md5_crypt (os_crypt backend): test non-string passwords are rejected ... ok
md5_crypt (os_crypt backend): test MAX_PASSWORD_SIZE is enforced ... ok
md5_crypt (os_crypt backend): test forbidden characters not allowed in password ... ok
md5_crypt (os_crypt backend): test known hashes ... ok
md5_crypt (os_crypt backend): test known alternate hashes ... SKIP: no alternate hashes provided
md5_crypt (os_crypt backend): test known config strings ... SKIP: no config strings provided
md5_crypt (os_crypt backend): test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
md5_crypt (os_crypt backend): test known identifiable-but-malformed strings ... ok
md5_crypt (os_crypt backend): test known foreign hashes ... ok
md5_crypt (os_crypt backend): test non-string hashes are rejected ... ok
md5_crypt (os_crypt backend): fuzz testing -- random passwords and options ... ok
md5_crypt (os_crypt backend): multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
md5_crypt (os_crypt backend): test with faulty crypt() ... ok
md5_crypt (os_crypt backend): test per-call crypt() fallback ... ok
md5_crypt (os_crypt backend): test platform-specific crypt() support detection ... ok
md5_crypt (os_crypt backend): .disable() / .enable() methods ... SKIP: not applicable
md5_crypt (os_crypt backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
md5_crypt (os_crypt backend): HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
md5_crypt (os_crypt backend): HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
md5_crypt (os_crypt backend): HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
md5_crypt (os_crypt backend): HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
md5_crypt (os_crypt backend): HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
md5_crypt (os_crypt backend): HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
md5_crypt (os_crypt backend): HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
md5_crypt (os_crypt backend): HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
md5_crypt (os_crypt backend): test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
md5_crypt (os_crypt backend): test no password size limits enforced (if truncate_size=None) ... ok
md5_crypt (os_crypt backend): validate 'truncate_error' setting & related attributes ... ok
md5_crypt (os_crypt backend): Handler.using() -- default_salt_size ... ok
msdcc2: validate required attributes ... ok
msdcc2: test basic config-string workflow ... ok
msdcc2: test basic using() workflow ... ok
msdcc2: test basic hash-string workflow. ... ok
msdcc2: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
msdcc2: test hashes can be unicode or bytes ... ok
msdcc2: test multi-backend support ... SKIP: handler only has one backend
msdcc2: validate optional salt attributes ... SKIP: handler doesn't have salt
msdcc2: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
msdcc2: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
msdcc2: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
msdcc2: test hash() honors salt_chars ... SKIP: handler doesn't have salt
msdcc2: test non-string salt values ... SKIP: handler doesn't have salt
msdcc2: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
msdcc2: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
msdcc2: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
msdcc2: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
msdcc2: test password case sensitivity ... ok
msdcc2: test non-string passwords are rejected ... ok
msdcc2: test MAX_PASSWORD_SIZE is enforced ... ok
msdcc2: test forbidden characters not allowed in password ... SKIP: none listed
msdcc2: test known hashes ... ok
msdcc2: test known alternate hashes ... SKIP: no alternate hashes provided
msdcc2: test known config strings ... SKIP: hash has no settings
msdcc2: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
msdcc2: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
msdcc2: test known foreign hashes ... ok
msdcc2: test non-string hashes are rejected ... ok
msdcc2: fuzz testing -- random passwords and options ... ok
msdcc2: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
msdcc2: test user context keyword ... ok
msdcc2: test user case sensitivity ... ok
msdcc2: test user used as salt ... ok
msdcc2: .disable() / .enable() methods ... SKIP: not applicable
msdcc2: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
msdcc2: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
msdcc2: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
msdcc2: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
msdcc2: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
msdcc2: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
msdcc2: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
msdcc2: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
msdcc2: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
msdcc2: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
msdcc2: test no password size limits enforced (if truncate_size=None) ... ok
msdcc2: validate 'truncate_error' setting & related attributes ... ok
msdcc2: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
msdcc: validate required attributes ... ok
msdcc: test basic config-string workflow ... ok
msdcc: test basic using() workflow ... ok
msdcc: test basic hash-string workflow. ... ok
msdcc: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
msdcc: test hashes can be unicode or bytes ... ok
msdcc: test multi-backend support ... SKIP: handler only has one backend
msdcc: validate optional salt attributes ... SKIP: handler doesn't have salt
msdcc: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
msdcc: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
msdcc: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
msdcc: test hash() honors salt_chars ... SKIP: handler doesn't have salt
msdcc: test non-string salt values ... SKIP: handler doesn't have salt
msdcc: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
msdcc: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
msdcc: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
msdcc: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
msdcc: test password case sensitivity ... ok
msdcc: test non-string passwords are rejected ... ok
msdcc: test MAX_PASSWORD_SIZE is enforced ... ok
msdcc: test forbidden characters not allowed in password ... SKIP: none listed
msdcc: test known hashes ... ok
msdcc: test known alternate hashes ... ok
msdcc: test known config strings ... SKIP: hash has no settings
msdcc: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
msdcc: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
msdcc: test known foreign hashes ... ok
msdcc: test non-string hashes are rejected ... ok
msdcc: fuzz testing -- random passwords and options ... ok
msdcc: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
msdcc: test user context keyword ... ok
msdcc: test user case sensitivity ... ok
msdcc: test user used as salt ... ok
msdcc: .disable() / .enable() methods ... SKIP: not applicable
msdcc: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
msdcc: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
msdcc: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
msdcc: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
msdcc: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
msdcc: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
msdcc: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
msdcc: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
msdcc: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
msdcc: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
msdcc: test no password size limits enforced (if truncate_size=None) ... ok
msdcc: validate 'truncate_error' setting & related attributes ... ok
msdcc: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
mssql2000: validate required attributes ... ok
mssql2000: test basic config-string workflow ... ok
mssql2000: test basic using() workflow ... ok
mssql2000: test basic hash-string workflow. ... ok
mssql2000: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
mssql2000: test hashes can be unicode or bytes ... ok
mssql2000: test multi-backend support ... SKIP: handler only has one backend
mssql2000: validate optional salt attributes ... ok
mssql2000: test hash() / genconfig() creates new salt each time ... ok
mssql2000: test hash() / genconfig() honors min_salt_size ... ok
mssql2000: test hash() / genconfig() honors max_salt_size ... ok
mssql2000: test hash() honors salt_chars ... ok
mssql2000: test non-string salt values ... ok
mssql2000: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
mssql2000: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
mssql2000: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
mssql2000: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
mssql2000: test password case sensitivity ... ok
mssql2000: test non-string passwords are rejected ... ok
mssql2000: test MAX_PASSWORD_SIZE is enforced ... ok
mssql2000: test forbidden characters not allowed in password ... SKIP: none listed
mssql2000: test known hashes ... ok
mssql2000: test known alternate hashes ... ok
mssql2000: test known config strings ... SKIP: no config strings provided
mssql2000: test known unidentifiably-mangled strings ... ok
mssql2000: test known identifiable-but-malformed strings ... ok
mssql2000: test known foreign hashes ... ok
mssql2000: test non-string hashes are rejected ... ok
mssql2000: fuzz testing -- random passwords and options ... ok
mssql2000: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
mssql2000: .disable() / .enable() methods ... SKIP: not applicable
mssql2000: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
mssql2000: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
mssql2000: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
mssql2000: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
mssql2000: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
mssql2000: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
mssql2000: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
mssql2000: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
mssql2000: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
mssql2000: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
mssql2000: test no password size limits enforced (if truncate_size=None) ... ok
mssql2000: validate 'truncate_error' setting & related attributes ... ok
mssql2000: Handler.using() -- default_salt_size ... ok
mssql2005: validate required attributes ... ok
mssql2005: test basic config-string workflow ... ok
mssql2005: test basic using() workflow ... ok
mssql2005: test basic hash-string workflow. ... ok
mssql2005: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
mssql2005: test hashes can be unicode or bytes ... ok
mssql2005: test multi-backend support ... SKIP: handler only has one backend
mssql2005: validate optional salt attributes ... ok
mssql2005: test hash() / genconfig() creates new salt each time ... ok
mssql2005: test hash() / genconfig() honors min_salt_size ... ok
mssql2005: test hash() / genconfig() honors max_salt_size ... ok
mssql2005: test hash() honors salt_chars ... ok
mssql2005: test non-string salt values ... ok
mssql2005: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
mssql2005: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
mssql2005: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
mssql2005: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
mssql2005: test password case sensitivity ... ok
mssql2005: test non-string passwords are rejected ... ok
mssql2005: test MAX_PASSWORD_SIZE is enforced ... ok
mssql2005: test forbidden characters not allowed in password ... SKIP: none listed
mssql2005: test known hashes ... ok
mssql2005: test known alternate hashes ... ok
mssql2005: test known config strings ... SKIP: no config strings provided
mssql2005: test known unidentifiably-mangled strings ... ok
mssql2005: test known identifiable-but-malformed strings ... ok
mssql2005: test known foreign hashes ... ok
mssql2005: test non-string hashes are rejected ... ok
mssql2005: fuzz testing -- random passwords and options ... ok
mssql2005: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
mssql2005: .disable() / .enable() methods ... SKIP: not applicable
mssql2005: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
mssql2005: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
mssql2005: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
mssql2005: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
mssql2005: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
mssql2005: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
mssql2005: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
mssql2005: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
mssql2005: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
mssql2005: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
mssql2005: test no password size limits enforced (if truncate_size=None) ... ok
mssql2005: validate 'truncate_error' setting & related attributes ... ok
mssql2005: Handler.using() -- default_salt_size ... ok
mysql323: validate required attributes ... ok
mysql323: test basic config-string workflow ... ok
mysql323: test basic using() workflow ... ok
mysql323: test basic hash-string workflow. ... ok
mysql323: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
mysql323: test hashes can be unicode or bytes ... ok
mysql323: test multi-backend support ... SKIP: handler only has one backend
mysql323: validate optional salt attributes ... SKIP: handler doesn't have salt
mysql323: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
mysql323: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
mysql323: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
mysql323: test hash() honors salt_chars ... SKIP: handler doesn't have salt
mysql323: test non-string salt values ... SKIP: handler doesn't have salt
mysql323: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
mysql323: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
mysql323: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
mysql323: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
mysql323: test password case sensitivity ... ok
mysql323: test non-string passwords are rejected ... ok
mysql323: test MAX_PASSWORD_SIZE is enforced ... ok
mysql323: test forbidden characters not allowed in password ... SKIP: none listed
mysql323: test known hashes ... ok
mysql323: test known alternate hashes ... SKIP: no alternate hashes provided
mysql323: test known config strings ... SKIP: hash has no settings
mysql323: test known unidentifiably-mangled strings ... ok
mysql323: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
mysql323: test known foreign hashes ... ok
mysql323: test non-string hashes are rejected ... ok
mysql323: fuzz testing -- random passwords and options ... ok
mysql323: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
mysql323: check whitespace is ignored per spec ... ok
mysql323: .disable() / .enable() methods ... SKIP: not applicable
mysql323: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
mysql323: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
mysql323: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
mysql323: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
mysql323: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
mysql323: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
mysql323: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
mysql323: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
mysql323: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
mysql323: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
mysql323: test no password size limits enforced (if truncate_size=None) ... ok
mysql323: validate 'truncate_error' setting & related attributes ... ok
mysql323: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
mysql41: validate required attributes ... ok
mysql41: test basic config-string workflow ... ok
mysql41: test basic using() workflow ... ok
mysql41: test basic hash-string workflow. ... ok
mysql41: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
mysql41: test hashes can be unicode or bytes ... ok
mysql41: test multi-backend support ... SKIP: handler only has one backend
mysql41: validate optional salt attributes ... SKIP: handler doesn't have salt
mysql41: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
mysql41: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
mysql41: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
mysql41: test hash() honors salt_chars ... SKIP: handler doesn't have salt
mysql41: test non-string salt values ... SKIP: handler doesn't have salt
mysql41: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
mysql41: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
mysql41: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
mysql41: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
mysql41: test password case sensitivity ... ok
mysql41: test non-string passwords are rejected ... ok
mysql41: test MAX_PASSWORD_SIZE is enforced ... ok
mysql41: test forbidden characters not allowed in password ... SKIP: none listed
mysql41: test known hashes ... ok
mysql41: test known alternate hashes ... SKIP: no alternate hashes provided
mysql41: test known config strings ... SKIP: hash has no settings
mysql41: test known unidentifiably-mangled strings ... ok
mysql41: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
mysql41: test known foreign hashes ... ok
mysql41: test non-string hashes are rejected ... ok
mysql41: fuzz testing -- random passwords and options ... ok
mysql41: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
mysql41: .disable() / .enable() methods ... SKIP: not applicable
mysql41: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
mysql41: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
mysql41: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
mysql41: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
mysql41: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
mysql41: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
mysql41: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
mysql41: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
mysql41: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
mysql41: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
mysql41: test no password size limits enforced (if truncate_size=None) ... ok
mysql41: validate 'truncate_error' setting & related attributes ... ok
mysql41: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
nthash: validate required attributes ... ok
nthash: test basic config-string workflow ... ok
nthash: test basic using() workflow ... ok
nthash: test basic hash-string workflow. ... ok
nthash: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
nthash: test hashes can be unicode or bytes ... ok
nthash: test multi-backend support ... SKIP: handler only has one backend
nthash: validate optional salt attributes ... SKIP: handler doesn't have salt
nthash: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
nthash: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
nthash: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
nthash: test hash() honors salt_chars ... SKIP: handler doesn't have salt
nthash: test non-string salt values ... SKIP: handler doesn't have salt
nthash: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
nthash: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
nthash: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
nthash: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
nthash: test password case sensitivity ... ok
nthash: test non-string passwords are rejected ... ok
nthash: test MAX_PASSWORD_SIZE is enforced ... ok
nthash: test forbidden characters not allowed in password ... SKIP: none listed
nthash: test known hashes ... ok
nthash: test known alternate hashes ... SKIP: no alternate hashes provided
nthash: test known config strings ... SKIP: hash has no settings
nthash: test known unidentifiably-mangled strings ... ok
nthash: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
nthash: test known foreign hashes ... ok
nthash: test non-string hashes are rejected ... ok
nthash: fuzz testing -- random passwords and options ... ok
nthash: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
nthash: .disable() / .enable() methods ... SKIP: not applicable
nthash: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
nthash: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
nthash: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
nthash: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
nthash: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
nthash: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
nthash: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
nthash: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
nthash: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
nthash: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
nthash: test no password size limits enforced (if truncate_size=None) ... ok
nthash: validate 'truncate_error' setting & related attributes ... ok
nthash: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
oracle10: validate required attributes ... ok
oracle10: test basic config-string workflow ... ok
oracle10: test basic using() workflow ... ok
oracle10: test basic hash-string workflow. ... ok
oracle10: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
oracle10: test hashes can be unicode or bytes ... ok
oracle10: test multi-backend support ... SKIP: handler only has one backend
oracle10: validate optional salt attributes ... SKIP: handler doesn't have salt
oracle10: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
oracle10: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
oracle10: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
oracle10: test hash() honors salt_chars ... SKIP: handler doesn't have salt
oracle10: test non-string salt values ... SKIP: handler doesn't have salt
oracle10: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
oracle10: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
oracle10: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
oracle10: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
oracle10: test password case sensitivity ... ok
oracle10: test non-string passwords are rejected ... ok
oracle10: test MAX_PASSWORD_SIZE is enforced ... ok
oracle10: test forbidden characters not allowed in password ... SKIP: none listed
oracle10: test known hashes ... ok
oracle10: test known alternate hashes ... SKIP: no alternate hashes provided
oracle10: test known config strings ... SKIP: hash has no settings
oracle10: test known unidentifiably-mangled strings ... ok
oracle10: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
oracle10: test known foreign hashes ... ok
oracle10: test non-string hashes are rejected ... ok
oracle10: fuzz testing -- random passwords and options ... ok
oracle10: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
oracle10: test user context keyword ... ok
oracle10: test user case sensitivity ... ok
oracle10: test user used as salt ... ok
oracle10: .disable() / .enable() methods ... SKIP: not applicable
oracle10: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
oracle10: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
oracle10: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
oracle10: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
oracle10: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
oracle10: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
oracle10: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
oracle10: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
oracle10: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
oracle10: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
oracle10: test no password size limits enforced (if truncate_size=None) ... ok
oracle10: validate 'truncate_error' setting & related attributes ... ok
oracle10: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
oracle11: validate required attributes ... ok
oracle11: test basic config-string workflow ... ok
oracle11: test basic using() workflow ... ok
oracle11: test basic hash-string workflow. ... ok
oracle11: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
oracle11: test hashes can be unicode or bytes ... ok
oracle11: test multi-backend support ... SKIP: handler only has one backend
oracle11: validate optional salt attributes ... ok
oracle11: test hash() / genconfig() creates new salt each time ... ok
oracle11: test hash() / genconfig() honors min_salt_size ... ok
oracle11: test hash() / genconfig() honors max_salt_size ... ok
oracle11: test hash() honors salt_chars ... ok
oracle11: test non-string salt values ... ok
oracle11: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
oracle11: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
oracle11: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
oracle11: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
oracle11: test password case sensitivity ... ok
oracle11: test non-string passwords are rejected ... ok
oracle11: test MAX_PASSWORD_SIZE is enforced ... ok
oracle11: test forbidden characters not allowed in password ... SKIP: none listed
oracle11: test known hashes ... ok
oracle11: test known alternate hashes ... SKIP: no alternate hashes provided
oracle11: test known config strings ... SKIP: no config strings provided
oracle11: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
oracle11: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
oracle11: test known foreign hashes ... ok
oracle11: test non-string hashes are rejected ... ok
oracle11: fuzz testing -- random passwords and options ... ok
oracle11: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
oracle11: .disable() / .enable() methods ... SKIP: not applicable
oracle11: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
oracle11: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
oracle11: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
oracle11: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
oracle11: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
oracle11: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
oracle11: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
oracle11: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
oracle11: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
oracle11: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
oracle11: test no password size limits enforced (if truncate_size=None) ... ok
oracle11: validate 'truncate_error' setting & related attributes ... ok
oracle11: Handler.using() -- default_salt_size ... ok
phpass: validate required attributes ... ok
phpass: test basic config-string workflow ... ok
phpass: test basic using() workflow ... ok
phpass: test basic hash-string workflow. ... ok
phpass: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
phpass: test hashes can be unicode or bytes ... ok
phpass: test multi-backend support ... SKIP: handler only has one backend
phpass: validate optional salt attributes ... ok
phpass: test hash() / genconfig() creates new salt each time ... ok
phpass: test hash() / genconfig() honors min_salt_size ... ok
phpass: test hash() / genconfig() honors max_salt_size ... ok
phpass: test hash() honors salt_chars ... ok
phpass: test non-string salt values ... ok
phpass: validate optional rounds attributes ... ok
phpass: test hash() / genconfig() honors min_rounds ... ok
phpass: test hash() / genconfig() honors max_rounds ... ok
phpass: validate HasManyIdents configuration ... ok
phpass: test password case sensitivity ... ok
phpass: test non-string passwords are rejected ... ok
phpass: test MAX_PASSWORD_SIZE is enforced ... ok
phpass: test forbidden characters not allowed in password ... SKIP: none listed
phpass: test known hashes ... ok
phpass: test known alternate hashes ... SKIP: no alternate hashes provided
phpass: test known config strings ... SKIP: no config strings provided
phpass: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
phpass: test known identifiable-but-malformed strings ... ok
phpass: test known foreign hashes ... ok
phpass: test non-string hashes are rejected ... ok
phpass: fuzz testing -- random passwords and options ... ok
phpass: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
phpass: .disable() / .enable() methods ... SKIP: not applicable
phpass: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... ok
phpass: HasRounds.using() -- max_rounds / max_desired_rounds ... ok
phpass: HasRounds.using() -- desired_rounds + needs_update() ... ok
phpass: HasRounds.using() -- sanity check test harness ... ok
phpass: HasRounds.using() -- default_rounds ... ok
phpass: HasRounds.using() -- min_rounds / min_desired_rounds ... ok
phpass: HasRounds.using() -- rounds ... ok
phpass: HasRounds.using() -- vary_rounds generation ... ok
phpass: HasRounds.using() -- vary_rounds parsing ... ok
phpass: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
phpass: test no password size limits enforced (if truncate_size=None) ... ok
phpass: validate 'truncate_error' setting & related attributes ... ok
phpass: Handler.using() -- default_salt_size ... ok
plaintext: validate required attributes ... ok
plaintext: test basic config-string workflow ... ok
plaintext: test basic using() workflow ... ok
plaintext: test basic hash-string workflow. ... ok
plaintext: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
plaintext: test hashes can be unicode or bytes ... ok
plaintext: test multi-backend support ... SKIP: handler only has one backend
plaintext: validate optional salt attributes ... SKIP: handler doesn't have salt
plaintext: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
plaintext: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
plaintext: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
plaintext: test hash() honors salt_chars ... SKIP: handler doesn't have salt
plaintext: test non-string salt values ... SKIP: handler doesn't have salt
plaintext: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
plaintext: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
plaintext: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
plaintext: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
plaintext: test password case sensitivity ... ok
plaintext: test non-string passwords are rejected ... ok
plaintext: test MAX_PASSWORD_SIZE is enforced ... ok
plaintext: test forbidden characters not allowed in password ... SKIP: none listed
plaintext: test known hashes ... ok
plaintext: test known alternate hashes ... SKIP: no alternate hashes provided
plaintext: test known config strings ... SKIP: hash has no settings
plaintext: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
plaintext: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
plaintext: test known foreign hashes ... SKIP: not applicable
plaintext: test non-string hashes are rejected ... ok
plaintext: fuzz testing -- random passwords and options ... ok
plaintext: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
plaintext: .disable() / .enable() methods ... SKIP: not applicable
plaintext: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
plaintext: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
plaintext: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
plaintext: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
plaintext: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
plaintext: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
plaintext: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
plaintext: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
plaintext: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
plaintext: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
plaintext: test no password size limits enforced (if truncate_size=None) ... ok
plaintext: validate 'truncate_error' setting & related attributes ... ok
plaintext: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
postgres_md5: validate required attributes ... ok
postgres_md5: test basic config-string workflow ... ok
postgres_md5: test basic using() workflow ... ok
postgres_md5: test basic hash-string workflow. ... ok
postgres_md5: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
postgres_md5: test hashes can be unicode or bytes ... ok
postgres_md5: test multi-backend support ... SKIP: handler only has one backend
postgres_md5: validate optional salt attributes ... SKIP: handler doesn't have salt
postgres_md5: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
postgres_md5: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
postgres_md5: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
postgres_md5: test hash() honors salt_chars ... SKIP: handler doesn't have salt
postgres_md5: test non-string salt values ... SKIP: handler doesn't have salt
postgres_md5: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
postgres_md5: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
postgres_md5: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
postgres_md5: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
postgres_md5: test password case sensitivity ... ok
postgres_md5: test non-string passwords are rejected ... ok
postgres_md5: test MAX_PASSWORD_SIZE is enforced ... ok
postgres_md5: test forbidden characters not allowed in password ... SKIP: none listed
postgres_md5: test known hashes ... ok
postgres_md5: test known alternate hashes ... SKIP: no alternate hashes provided
postgres_md5: test known config strings ... SKIP: hash has no settings
postgres_md5: test known unidentifiably-mangled strings ... ok
postgres_md5: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
postgres_md5: test known foreign hashes ... ok
postgres_md5: test non-string hashes are rejected ... ok
postgres_md5: fuzz testing -- random passwords and options ... ok
postgres_md5: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
postgres_md5: test user context keyword ... ok
postgres_md5: test user case sensitivity ... ok
postgres_md5: test user used as salt ... ok
postgres_md5: .disable() / .enable() methods ... SKIP: not applicable
postgres_md5: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
postgres_md5: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
postgres_md5: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
postgres_md5: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
postgres_md5: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
postgres_md5: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
postgres_md5: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
postgres_md5: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
postgres_md5: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
postgres_md5: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
postgres_md5: test no password size limits enforced (if truncate_size=None) ... ok
postgres_md5: validate 'truncate_error' setting & related attributes ... ok
postgres_md5: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
sha1_crypt (os_crypt backend): validate required attributes ... ok
sha1_crypt (os_crypt backend): test basic config-string workflow ... ok
sha1_crypt (os_crypt backend): test basic using() workflow ... ok
sha1_crypt (os_crypt backend): test basic hash-string workflow. ... ok
sha1_crypt (os_crypt backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
sha1_crypt (os_crypt backend): test hashes can be unicode or bytes ... ok
sha1_crypt (os_crypt backend): test multi-backend support ... ok
sha1_crypt (os_crypt backend): validate optional salt attributes ... ok
sha1_crypt (os_crypt backend): test hash() / genconfig() creates new salt each time ... ok
sha1_crypt (os_crypt backend): test hash() / genconfig() honors min_salt_size ... ok
sha1_crypt (os_crypt backend): test hash() / genconfig() honors max_salt_size ... ok
sha1_crypt (os_crypt backend): test hash() honors salt_chars ... ok
sha1_crypt (os_crypt backend): test non-string salt values ... ok
sha1_crypt (os_crypt backend): validate optional rounds attributes ... ok
sha1_crypt (os_crypt backend): test hash() / genconfig() honors min_rounds ... ok
sha1_crypt (os_crypt backend): test hash() / genconfig() honors max_rounds ... ok
sha1_crypt (os_crypt backend): validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
sha1_crypt (os_crypt backend): test password case sensitivity ... ok
sha1_crypt (os_crypt backend): test non-string passwords are rejected ... ok
sha1_crypt (os_crypt backend): test MAX_PASSWORD_SIZE is enforced ... ok
sha1_crypt (os_crypt backend): test forbidden characters not allowed in password ... ok
sha1_crypt (os_crypt backend): test known hashes ... ok
sha1_crypt (os_crypt backend): test known alternate hashes ... SKIP: no alternate hashes provided
sha1_crypt (os_crypt backend): test known config strings ... SKIP: no config strings provided
sha1_crypt (os_crypt backend): test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
sha1_crypt (os_crypt backend): test known identifiable-but-malformed strings ... ok
sha1_crypt (os_crypt backend): test known foreign hashes ... ok
sha1_crypt (os_crypt backend): test non-string hashes are rejected ... ok
sha1_crypt (os_crypt backend): fuzz testing -- random passwords and options ... ok
sha1_crypt (os_crypt backend): multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
sha1_crypt (os_crypt backend): test with faulty crypt() ... ok
sha1_crypt (os_crypt backend): test per-call crypt() fallback ... ok
sha1_crypt (os_crypt backend): test platform-specific crypt() support detection ... SKIP: no data for 'linux2' platform
sha1_crypt (os_crypt backend): .disable() / .enable() methods ... SKIP: not applicable
sha1_crypt (os_crypt backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
sha1_crypt (os_crypt backend): HasRounds.using() -- max_rounds / max_desired_rounds ... ok
sha1_crypt (os_crypt backend): HasRounds.using() -- desired_rounds + needs_update() ... ok
sha1_crypt (os_crypt backend): HasRounds.using() -- sanity check test harness ... ok
sha1_crypt (os_crypt backend): HasRounds.using() -- default_rounds ... ok
sha1_crypt (os_crypt backend): HasRounds.using() -- min_rounds / min_desired_rounds ... ok
sha1_crypt (os_crypt backend): HasRounds.using() -- rounds ... ok
sha1_crypt (os_crypt backend): HasRounds.using() -- vary_rounds generation ... ok
sha1_crypt (os_crypt backend): HasRounds.using() -- vary_rounds parsing ... ok
sha1_crypt (os_crypt backend): test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
sha1_crypt (os_crypt backend): test no password size limits enforced (if truncate_size=None) ... ok
sha1_crypt (os_crypt backend): validate 'truncate_error' setting & related attributes ... ok
sha1_crypt (os_crypt backend): Handler.using() -- default_salt_size ... ok
sha256_crypt (os_crypt backend): validate required attributes ... ok
sha256_crypt (os_crypt backend): test basic config-string workflow ... ok
sha256_crypt (os_crypt backend): test basic using() workflow ... ok
sha256_crypt (os_crypt backend): test basic hash-string workflow. ... ok
sha256_crypt (os_crypt backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
sha256_crypt (os_crypt backend): test hashes can be unicode or bytes ... ok
sha256_crypt (os_crypt backend): test multi-backend support ... ok
sha256_crypt (os_crypt backend): validate optional salt attributes ... ok
sha256_crypt (os_crypt backend): test hash() / genconfig() creates new salt each time ... ok
sha256_crypt (os_crypt backend): test hash() / genconfig() honors min_salt_size ... ok
sha256_crypt (os_crypt backend): test hash() / genconfig() honors max_salt_size ... ok
sha256_crypt (os_crypt backend): test hash() honors salt_chars ... ok
sha256_crypt (os_crypt backend): test non-string salt values ... ok
sha256_crypt (os_crypt backend): validate optional rounds attributes ... ok
sha256_crypt (os_crypt backend): test hash() / genconfig() honors min_rounds ... ok
sha256_crypt (os_crypt backend): test hash() / genconfig() honors max_rounds ... ok
sha256_crypt (os_crypt backend): validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
sha256_crypt (os_crypt backend): test password case sensitivity ... ok
sha256_crypt (os_crypt backend): test non-string passwords are rejected ... ok
sha256_crypt (os_crypt backend): test MAX_PASSWORD_SIZE is enforced ... ok
sha256_crypt (os_crypt backend): test forbidden characters not allowed in password ... ok
sha256_crypt (os_crypt backend): test known hashes ... ok
sha256_crypt (os_crypt backend): test known alternate hashes ... SKIP: no alternate hashes provided
sha256_crypt (os_crypt backend): test known config strings ... ok
sha256_crypt (os_crypt backend): test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
sha256_crypt (os_crypt backend): test known identifiable-but-malformed strings ... ok
sha256_crypt (os_crypt backend): test known foreign hashes ... ok
sha256_crypt (os_crypt backend): test non-string hashes are rejected ... ok
sha256_crypt (os_crypt backend): fuzz testing -- random passwords and options ... ok
sha256_crypt (os_crypt backend): multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
sha256_crypt (os_crypt backend): test with faulty crypt() ... ok
sha256_crypt (os_crypt backend): test per-call crypt() fallback ... ok
sha256_crypt (os_crypt backend): test platform-specific crypt() support detection ... ok
sha256_crypt (os_crypt backend): .disable() / .enable() methods ... SKIP: not applicable
sha256_crypt (os_crypt backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
sha256_crypt (os_crypt backend): HasRounds.using() -- max_rounds / max_desired_rounds ... ok
sha256_crypt (os_crypt backend): HasRounds.using() -- desired_rounds + needs_update() ... ok
sha256_crypt (os_crypt backend): HasRounds.using() -- sanity check test harness ... ok
sha256_crypt (os_crypt backend): HasRounds.using() -- default_rounds ... ok
sha256_crypt (os_crypt backend): HasRounds.using() -- min_rounds / min_desired_rounds ... ok
sha256_crypt (os_crypt backend): HasRounds.using() -- rounds ... ok
sha256_crypt (os_crypt backend): HasRounds.using() -- vary_rounds generation ... ok
sha256_crypt (os_crypt backend): HasRounds.using() -- vary_rounds parsing ... ok
sha256_crypt (os_crypt backend): test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
sha256_crypt (os_crypt backend): test no password size limits enforced (if truncate_size=None) ... ok
sha256_crypt (os_crypt backend): validate 'truncate_error' setting & related attributes ... ok
sha256_crypt (os_crypt backend): Handler.using() -- default_salt_size ... ok
sha512_crypt (os_crypt backend): validate required attributes ... ok
sha512_crypt (os_crypt backend): test basic config-string workflow ... ok
sha512_crypt (os_crypt backend): test basic using() workflow ... ok
sha512_crypt (os_crypt backend): test basic hash-string workflow. ... ok
sha512_crypt (os_crypt backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
sha512_crypt (os_crypt backend): test hashes can be unicode or bytes ... ok
sha512_crypt (os_crypt backend): test multi-backend support ... ok
sha512_crypt (os_crypt backend): validate optional salt attributes ... ok
sha512_crypt (os_crypt backend): test hash() / genconfig() creates new salt each time ... ok
sha512_crypt (os_crypt backend): test hash() / genconfig() honors min_salt_size ... ok
sha512_crypt (os_crypt backend): test hash() / genconfig() honors max_salt_size ... ok
sha512_crypt (os_crypt backend): test hash() honors salt_chars ... ok
sha512_crypt (os_crypt backend): test non-string salt values ... ok
sha512_crypt (os_crypt backend): validate optional rounds attributes ... ok
sha512_crypt (os_crypt backend): test hash() / genconfig() honors min_rounds ... ok
sha512_crypt (os_crypt backend): test hash() / genconfig() honors max_rounds ... ok
sha512_crypt (os_crypt backend): validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
sha512_crypt (os_crypt backend): test password case sensitivity ... ok
sha512_crypt (os_crypt backend): test non-string passwords are rejected ... ok
sha512_crypt (os_crypt backend): test MAX_PASSWORD_SIZE is enforced ... ok
sha512_crypt (os_crypt backend): test forbidden characters not allowed in password ... ok
sha512_crypt (os_crypt backend): test known hashes ... ok
sha512_crypt (os_crypt backend): test known alternate hashes ... SKIP: no alternate hashes provided
sha512_crypt (os_crypt backend): test known config strings ... ok
sha512_crypt (os_crypt backend): test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
sha512_crypt (os_crypt backend): test known identifiable-but-malformed strings ... ok
sha512_crypt (os_crypt backend): test known foreign hashes ... ok
sha512_crypt (os_crypt backend): test non-string hashes are rejected ... ok
sha512_crypt (os_crypt backend): fuzz testing -- random passwords and options ... ok
sha512_crypt (os_crypt backend): multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
sha512_crypt (os_crypt backend): test with faulty crypt() ... ok
sha512_crypt (os_crypt backend): test per-call crypt() fallback ... ok
sha512_crypt (os_crypt backend): test platform-specific crypt() support detection ... ok
sha512_crypt (os_crypt backend): .disable() / .enable() methods ... SKIP: not applicable
sha512_crypt (os_crypt backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
sha512_crypt (os_crypt backend): HasRounds.using() -- max_rounds / max_desired_rounds ... ok
sha512_crypt (os_crypt backend): HasRounds.using() -- desired_rounds + needs_update() ... ok
sha512_crypt (os_crypt backend): HasRounds.using() -- sanity check test harness ... ok
sha512_crypt (os_crypt backend): HasRounds.using() -- default_rounds ... ok
sha512_crypt (os_crypt backend): HasRounds.using() -- min_rounds / min_desired_rounds ... ok
sha512_crypt (os_crypt backend): HasRounds.using() -- rounds ... ok
sha512_crypt (os_crypt backend): HasRounds.using() -- vary_rounds generation ... ok
sha512_crypt (os_crypt backend): HasRounds.using() -- vary_rounds parsing ... ok
sha512_crypt (os_crypt backend): test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
sha512_crypt (os_crypt backend): test no password size limits enforced (if truncate_size=None) ... ok
sha512_crypt (os_crypt backend): validate 'truncate_error' setting & related attributes ... ok
sha512_crypt (os_crypt backend): Handler.using() -- default_salt_size ... ok
sun_md5_crypt: validate required attributes ... ok
sun_md5_crypt: test basic config-string workflow ... ok
sun_md5_crypt: test basic using() workflow ... ok
sun_md5_crypt: test basic hash-string workflow. ... ok
sun_md5_crypt: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
sun_md5_crypt: test hashes can be unicode or bytes ... ok
sun_md5_crypt: test multi-backend support ... SKIP: handler only has one backend
sun_md5_crypt: validate optional salt attributes ... ok
sun_md5_crypt: test hash() / genconfig() creates new salt each time ... ok
sun_md5_crypt: test hash() / genconfig() honors min_salt_size ... ok
sun_md5_crypt: test hash() / genconfig() honors max_salt_size ... ok
sun_md5_crypt: test hash() honors salt_chars ... ok
sun_md5_crypt: test non-string salt values ... ok
sun_md5_crypt: validate optional rounds attributes ... ok
sun_md5_crypt: test hash() / genconfig() honors min_rounds ... ok
sun_md5_crypt: test hash() / genconfig() honors max_rounds ... ok
sun_md5_crypt: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
sun_md5_crypt: test password case sensitivity ... ok
sun_md5_crypt: test non-string passwords are rejected ... ok
sun_md5_crypt: test MAX_PASSWORD_SIZE is enforced ... ok
sun_md5_crypt: test forbidden characters not allowed in password ... SKIP: none listed
sun_md5_crypt: test known hashes ... ok
sun_md5_crypt: test known alternate hashes ... SKIP: no alternate hashes provided
sun_md5_crypt: test known config strings ... ok
sun_md5_crypt: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
sun_md5_crypt: test known identifiable-but-malformed strings ... ok
sun_md5_crypt: test known foreign hashes ... ok
sun_md5_crypt: test non-string hashes are rejected ... ok
sun_md5_crypt: fuzz testing -- random passwords and options ... ok
sun_md5_crypt: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
sun_md5_crypt: .disable() / .enable() methods ... SKIP: not applicable
sun_md5_crypt: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
sun_md5_crypt: HasRounds.using() -- max_rounds / max_desired_rounds ... ok
sun_md5_crypt: HasRounds.using() -- desired_rounds + needs_update() ... ok
sun_md5_crypt: HasRounds.using() -- sanity check test harness ... ok
sun_md5_crypt: HasRounds.using() -- default_rounds ... ok
sun_md5_crypt: HasRounds.using() -- min_rounds / min_desired_rounds ... ok
sun_md5_crypt: HasRounds.using() -- rounds ... ok
sun_md5_crypt: HasRounds.using() -- vary_rounds generation ... ok
sun_md5_crypt: HasRounds.using() -- vary_rounds parsing ... ok
sun_md5_crypt: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
sun_md5_crypt: test no password size limits enforced (if truncate_size=None) ... ok
sun_md5_crypt: validate 'truncate_error' setting & related attributes ... ok
sun_md5_crypt: Handler.using() -- default_salt_size ... ok
unix_disabled: validate required attributes ... ok
unix_disabled: test basic config-string workflow ... ok
unix_disabled: test basic using() workflow ... ok
unix_disabled: test basic hash-string workflow. ... ok
unix_disabled: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
unix_disabled: test hashes can be unicode or bytes ... ok
unix_disabled: test multi-backend support ... SKIP: handler only has one backend
unix_disabled: validate optional salt attributes ... SKIP: handler doesn't have salt
unix_disabled: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
unix_disabled: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
unix_disabled: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
unix_disabled: test hash() honors salt_chars ... SKIP: handler doesn't have salt
unix_disabled: test non-string salt values ... SKIP: handler doesn't have salt
unix_disabled: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
unix_disabled: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
unix_disabled: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
unix_disabled: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
unix_disabled: test password case sensitivity ... ok
unix_disabled: test non-string passwords are rejected ... ok
unix_disabled: test MAX_PASSWORD_SIZE is enforced ... ok
unix_disabled: test forbidden characters not allowed in password ... SKIP: none listed
unix_disabled: test known hashes ... ok
unix_disabled: test known alternate hashes ... SKIP: no alternate hashes provided
unix_disabled: test known config strings ... SKIP: no config strings provided
unix_disabled: test known unidentifiably-mangled strings ... ok
unix_disabled: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
unix_disabled: test known foreign hashes ... ok
unix_disabled: test_76_hash_border (passlib.tests.test_handlers.unix_disabled_test) ... ok
unix_disabled: fuzz testing -- random passwords and options ... SKIP: not applicable
unix_disabled: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
unix_disabled: test marker option & special behavior ... ok
unix_disabled: .disable() / .enable() methods ... ok
unix_disabled: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
unix_disabled: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
unix_disabled: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
unix_disabled: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
unix_disabled: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
unix_disabled: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
unix_disabled: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
unix_disabled: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
unix_disabled: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
unix_disabled: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
unix_disabled: test no password size limits enforced (if truncate_size=None) ... ok
unix_disabled: validate 'truncate_error' setting & related attributes ... ok
unix_disabled: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
unix_fallback: validate required attributes ... ok
unix_fallback: test basic config-string workflow ... ok
unix_fallback: test basic using() workflow ... ok
unix_fallback: test basic hash-string workflow. ... ok
unix_fallback: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
unix_fallback: test hashes can be unicode or bytes ... ok
unix_fallback: test multi-backend support ... SKIP: handler only has one backend
unix_fallback: validate optional salt attributes ... SKIP: handler doesn't have salt
unix_fallback: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
unix_fallback: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
unix_fallback: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
unix_fallback: test hash() honors salt_chars ... SKIP: handler doesn't have salt
unix_fallback: test non-string salt values ... SKIP: handler doesn't have salt
unix_fallback: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
unix_fallback: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
unix_fallback: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
unix_fallback: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
unix_fallback: test password case sensitivity ... ok
unix_fallback: test non-string passwords are rejected ... ok
unix_fallback: test MAX_PASSWORD_SIZE is enforced ... ok
unix_fallback: test forbidden characters not allowed in password ... SKIP: none listed
unix_fallback: test known hashes ... ok
unix_fallback: test known alternate hashes ... SKIP: no alternate hashes provided
unix_fallback: test known config strings ... SKIP: hash has no settings
unix_fallback: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
unix_fallback: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
unix_fallback: test known foreign hashes ... SKIP: not applicable
unix_fallback: test non-string hashes are rejected ... ok
unix_fallback: fuzz testing -- random passwords and options ... SKIP: not applicable
unix_fallback: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
unix_fallback: test enable_wildcard flag ... ok
unix_fallback: test preserves existing disabled hash ... ok
unix_fallback: .disable() / .enable() methods ... ok
unix_fallback: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
unix_fallback: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
unix_fallback: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
unix_fallback: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
unix_fallback: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
unix_fallback: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
unix_fallback: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
unix_fallback: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
unix_fallback: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
unix_fallback: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
unix_fallback: test no password size limits enforced (if truncate_size=None) ... ok
unix_fallback: validate 'truncate_error' setting & related attributes ... ok
unix_fallback: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
cisco_asa: validate required attributes ... ok
cisco_asa: test basic config-string workflow ... ok
cisco_asa: test basic using() workflow ... ok
cisco_asa: test basic hash-string workflow. ... ok
cisco_asa: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
cisco_asa: test hashes can be unicode or bytes ... ok
cisco_asa: test multi-backend support ... SKIP: handler only has one backend
cisco_asa: validate optional salt attributes ... SKIP: handler doesn't have salt
cisco_asa: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
cisco_asa: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
cisco_asa: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
cisco_asa: test hash() honors salt_chars ... SKIP: handler doesn't have salt
cisco_asa: test non-string salt values ... SKIP: handler doesn't have salt
cisco_asa: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
cisco_asa: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
cisco_asa: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
cisco_asa: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
cisco_asa: test password case sensitivity ... ok
cisco_asa: test non-string passwords are rejected ... ok
cisco_asa: test MAX_PASSWORD_SIZE is enforced ... ok
cisco_asa: test forbidden characters not allowed in password ... SKIP: none listed
cisco_asa: test known hashes ... ok
cisco_asa: test known alternate hashes ... SKIP: no alternate hashes provided
cisco_asa: test known config strings ... SKIP: hash has no settings
cisco_asa: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
cisco_asa: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
cisco_asa: test known foreign hashes ... ok
cisco_asa: test non-string hashes are rejected ... ok
cisco_asa: fuzz testing -- random passwords and options ... ok
cisco_asa: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
cisco_asa: test user context keyword ... ok
cisco_asa: test user case sensitivity ... ok
cisco_asa: test user used as salt ... ok
cisco_asa: _calc_checksum() -- spoil oversize passwords during verify ... ok
cisco_asa: .disable() / .enable() methods ... SKIP: not applicable
cisco_asa: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
cisco_asa: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
cisco_asa: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
cisco_asa: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
cisco_asa: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
cisco_asa: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
cisco_asa: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
cisco_asa: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
cisco_asa: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
cisco_asa: test password size limits raise truncate_error (if appropriate) ... ok
cisco_asa: test no password size limits enforced (if truncate_size=None) ... SKIP: truncate_size is set
cisco_asa: validate 'truncate_error' setting & related attributes ... ok
cisco_asa: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
cisco_pix: validate required attributes ... ok
cisco_pix: test basic config-string workflow ... ok
cisco_pix: test basic using() workflow ... ok
cisco_pix: test basic hash-string workflow. ... ok
cisco_pix: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
cisco_pix: test hashes can be unicode or bytes ... ok
cisco_pix: test multi-backend support ... SKIP: handler only has one backend
cisco_pix: validate optional salt attributes ... SKIP: handler doesn't have salt
cisco_pix: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
cisco_pix: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
cisco_pix: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
cisco_pix: test hash() honors salt_chars ... SKIP: handler doesn't have salt
cisco_pix: test non-string salt values ... SKIP: handler doesn't have salt
cisco_pix: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
cisco_pix: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
cisco_pix: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
cisco_pix: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
cisco_pix: test password case sensitivity ... ok
cisco_pix: test non-string passwords are rejected ... ok
cisco_pix: test MAX_PASSWORD_SIZE is enforced ... ok
cisco_pix: test forbidden characters not allowed in password ... SKIP: none listed
cisco_pix: test known hashes ... ok
cisco_pix: test known alternate hashes ... SKIP: no alternate hashes provided
cisco_pix: test known config strings ... SKIP: hash has no settings
cisco_pix: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
cisco_pix: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
cisco_pix: test known foreign hashes ... ok
cisco_pix: test non-string hashes are rejected ... ok
cisco_pix: fuzz testing -- random passwords and options ... ok
cisco_pix: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
cisco_pix: test user context keyword ... ok
cisco_pix: test user case sensitivity ... ok
cisco_pix: test user used as salt ... ok
cisco_pix: _calc_checksum() -- spoil oversize passwords during verify ... ok
cisco_pix: .disable() / .enable() methods ... SKIP: not applicable
cisco_pix: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
cisco_pix: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
cisco_pix: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
cisco_pix: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
cisco_pix: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
cisco_pix: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
cisco_pix: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
cisco_pix: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
cisco_pix: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
cisco_pix: test password size limits raise truncate_error (if appropriate) ... ok
cisco_pix: test no password size limits enforced (if truncate_size=None) ... SKIP: truncate_size is set
cisco_pix: validate 'truncate_error' setting & related attributes ... ok
cisco_pix: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
cisco_type7: validate required attributes ... ok
cisco_type7: test basic config-string workflow ... ok
cisco_type7: test basic using() workflow ... ok
cisco_type7: test basic hash-string workflow. ... ok
cisco_type7: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
cisco_type7: test hashes can be unicode or bytes ... ok
cisco_type7: test multi-backend support ... SKIP: handler only has one backend
cisco_type7: validate optional salt attributes ... SKIP: handler doesn't provide salt info
cisco_type7: test hash() / genconfig() creates new salt each time ... ok
cisco_type7: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't provide salt info
cisco_type7: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't provide salt info
cisco_type7: test hash() honors salt_chars ... SKIP: handler doesn't provide salt info
cisco_type7: test non-string salt values ... ok
cisco_type7: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
cisco_type7: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
cisco_type7: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
cisco_type7: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
cisco_type7: test password case sensitivity ... ok
cisco_type7: test non-string passwords are rejected ... ok
cisco_type7: test MAX_PASSWORD_SIZE is enforced ... ok
cisco_type7: test forbidden characters not allowed in password ... SKIP: none listed
cisco_type7: test known hashes ... ok
cisco_type7: test known alternate hashes ... SKIP: no alternate hashes provided
cisco_type7: test known config strings ... SKIP: no config strings provided
cisco_type7: test known unidentifiably-mangled strings ... ok
cisco_type7: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
cisco_type7: test known foreign hashes ... ok
cisco_type7: test non-string hashes are rejected ... ok
cisco_type7: fuzz testing -- random passwords and options ... ok
cisco_type7: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
cisco_type7: test cisco_type7.decode() ... ok
cisco_type7: test salt value border cases ... ok
cisco_type7: .disable() / .enable() methods ... SKIP: not applicable
cisco_type7: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
cisco_type7: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
cisco_type7: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
cisco_type7: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
cisco_type7: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
cisco_type7: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
cisco_type7: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
cisco_type7: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
cisco_type7: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
cisco_type7: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
cisco_type7: test no password size limits enforced (if truncate_size=None) ... ok
cisco_type7: validate 'truncate_error' setting & related attributes ... ok
cisco_type7: Handler.using() -- default_salt_size ... SKIP: handler doesn't provide salt info
django_des_crypt: validate required attributes ... ok
django_des_crypt: test basic config-string workflow ... ok
django_des_crypt: test basic using() workflow ... ok
django_des_crypt: test basic hash-string workflow. ... ok
django_des_crypt: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
django_des_crypt: test hashes can be unicode or bytes ... ok
django_des_crypt: test multi-backend support ... SKIP: handler only has one backend
django_des_crypt: validate optional salt attributes ... ok
django_des_crypt: test hash() / genconfig() creates new salt each time ... ok
django_des_crypt: test hash() / genconfig() honors min_salt_size ... ok
django_des_crypt: test hash() / genconfig() honors max_salt_size ... ok
django_des_crypt: test hash() honors salt_chars ... ok
django_des_crypt: test non-string salt values ... ok
django_des_crypt: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
django_des_crypt: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
django_des_crypt: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
django_des_crypt: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
django_des_crypt: test password case sensitivity ... ok
django_des_crypt: test non-string passwords are rejected ... ok
django_des_crypt: test MAX_PASSWORD_SIZE is enforced ... ok
django_des_crypt: test forbidden characters not allowed in password ... SKIP: none listed
django_des_crypt: test known hashes ... ok
django_des_crypt: test known alternate hashes ... ok
django_des_crypt: test known config strings ... SKIP: no config strings provided
django_des_crypt: test known unidentifiably-mangled strings ... ok
django_des_crypt: test known identifiable-but-malformed strings ... ok
django_des_crypt: test known foreign hashes ... ok
django_des_crypt: test non-string hashes are rejected ... ok
django_des_crypt: fuzz testing -- random passwords and options ... ok
django_des_crypt: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
django_des_crypt: run known correct hashes through Django's check_password() ... SKIP: Django >= 1.8 not installed
django_des_crypt: test against output of Django's make_password() ... SKIP: Django >= 1.8 not installed
django_des_crypt: .disable() / .enable() methods ... SKIP: not applicable
django_des_crypt: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
django_des_crypt: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
django_des_crypt: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
django_des_crypt: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
django_des_crypt: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
django_des_crypt: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
django_des_crypt: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
django_des_crypt: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
django_des_crypt: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
django_des_crypt: test password size limits raise truncate_error (if appropriate) ... ok
django_des_crypt: test no password size limits enforced (if truncate_size=None) ... SKIP: truncate_size is set
django_des_crypt: validate 'truncate_error' setting & related attributes ... ok
django_des_crypt: Handler.using() -- default_salt_size ... ok
django_disabled: validate required attributes ... ok
django_disabled: test basic config-string workflow ... ok
django_disabled: test basic using() workflow ... ok
django_disabled: test basic hash-string workflow. ... ok
django_disabled: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
django_disabled: test hashes can be unicode or bytes ... ok
django_disabled: test multi-backend support ... SKIP: handler only has one backend
django_disabled: validate optional salt attributes ... SKIP: handler doesn't have salt
django_disabled: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
django_disabled: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
django_disabled: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
django_disabled: test hash() honors salt_chars ... SKIP: handler doesn't have salt
django_disabled: test non-string salt values ... SKIP: handler doesn't have salt
django_disabled: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
django_disabled: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
django_disabled: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
django_disabled: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
django_disabled: test password case sensitivity ... ok
django_disabled: test non-string passwords are rejected ... ok
django_disabled: test MAX_PASSWORD_SIZE is enforced ... ok
django_disabled: test forbidden characters not allowed in password ... SKIP: none listed
django_disabled: test known hashes ... ok
django_disabled: test known alternate hashes ... ok
django_disabled: test known config strings ... SKIP: hash has no settings
django_disabled: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
django_disabled: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
django_disabled: test known foreign hashes ... ok
django_disabled: test non-string hashes are rejected ... ok
django_disabled: fuzz testing -- random passwords and options ... SKIP: not applicable
django_disabled: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
django_disabled: .disable() / .enable() methods ... ok
django_disabled: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
django_disabled: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
django_disabled: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
django_disabled: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
django_disabled: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
django_disabled: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
django_disabled: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
django_disabled: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
django_disabled: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
django_disabled: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
django_disabled: test no password size limits enforced (if truncate_size=None) ... ok
django_disabled: validate 'truncate_error' setting & related attributes ... ok
django_disabled: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
django_pbkdf2_sha1: validate required attributes ... ok
django_pbkdf2_sha1: test basic config-string workflow ... ok
django_pbkdf2_sha1: test basic using() workflow ... ok
django_pbkdf2_sha1: test basic hash-string workflow. ... ok
django_pbkdf2_sha1: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
django_pbkdf2_sha1: test hashes can be unicode or bytes ... ok
django_pbkdf2_sha1: test multi-backend support ... SKIP: handler only has one backend
django_pbkdf2_sha1: validate optional salt attributes ... ok
django_pbkdf2_sha1: test hash() / genconfig() creates new salt each time ... ok
django_pbkdf2_sha1: test hash() / genconfig() honors min_salt_size ... ok
django_pbkdf2_sha1: test hash() / genconfig() honors max_salt_size ... ok
django_pbkdf2_sha1: test hash() honors salt_chars ... ok
django_pbkdf2_sha1: test non-string salt values ... ok
django_pbkdf2_sha1: validate optional rounds attributes ... ok
django_pbkdf2_sha1: test hash() / genconfig() honors min_rounds ... ok
django_pbkdf2_sha1: test hash() / genconfig() honors max_rounds ... ok
django_pbkdf2_sha1: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
django_pbkdf2_sha1: test password case sensitivity ... ok
django_pbkdf2_sha1: test non-string passwords are rejected ... ok
django_pbkdf2_sha1: test MAX_PASSWORD_SIZE is enforced ... ok
django_pbkdf2_sha1: test forbidden characters not allowed in password ... SKIP: none listed
django_pbkdf2_sha1: test known hashes ... ok
django_pbkdf2_sha1: test known alternate hashes ... SKIP: no alternate hashes provided
django_pbkdf2_sha1: test known config strings ... SKIP: no config strings provided
django_pbkdf2_sha1: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
django_pbkdf2_sha1: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
django_pbkdf2_sha1: test known foreign hashes ... ok
django_pbkdf2_sha1: test non-string hashes are rejected ... ok
django_pbkdf2_sha1: fuzz testing -- random passwords and options ... ok
django_pbkdf2_sha1: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
django_pbkdf2_sha1: run known correct hashes through Django's check_password() ... SKIP: Django >= 1.8 not installed
django_pbkdf2_sha1: test against output of Django's make_password() ... SKIP: Django >= 1.8 not installed
django_pbkdf2_sha1: .disable() / .enable() methods ... SKIP: not applicable
django_pbkdf2_sha1: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
django_pbkdf2_sha1: HasRounds.using() -- max_rounds / max_desired_rounds ... ok
django_pbkdf2_sha1: HasRounds.using() -- desired_rounds + needs_update() ... ok
django_pbkdf2_sha1: HasRounds.using() -- sanity check test harness ... ok
django_pbkdf2_sha1: HasRounds.using() -- default_rounds ... ok
django_pbkdf2_sha1: HasRounds.using() -- min_rounds / min_desired_rounds ... ok
django_pbkdf2_sha1: HasRounds.using() -- rounds ... ok
django_pbkdf2_sha1: HasRounds.using() -- vary_rounds generation ... ok
django_pbkdf2_sha1: HasRounds.using() -- vary_rounds parsing ... ok
django_pbkdf2_sha1: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
django_pbkdf2_sha1: test no password size limits enforced (if truncate_size=None) ... ok
django_pbkdf2_sha1: validate 'truncate_error' setting & related attributes ... ok
django_pbkdf2_sha1: Handler.using() -- default_salt_size ... ok
django_pbkdf2_sha256: validate required attributes ... ok
django_pbkdf2_sha256: test basic config-string workflow ... ok
django_pbkdf2_sha256: test basic using() workflow ... ok
django_pbkdf2_sha256: test basic hash-string workflow. ... ok
django_pbkdf2_sha256: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
django_pbkdf2_sha256: test hashes can be unicode or bytes ... ok
django_pbkdf2_sha256: test multi-backend support ... SKIP: handler only has one backend
django_pbkdf2_sha256: validate optional salt attributes ... ok
django_pbkdf2_sha256: test hash() / genconfig() creates new salt each time ... ok
django_pbkdf2_sha256: test hash() / genconfig() honors min_salt_size ... ok
django_pbkdf2_sha256: test hash() / genconfig() honors max_salt_size ... ok
django_pbkdf2_sha256: test hash() honors salt_chars ... ok
django_pbkdf2_sha256: test non-string salt values ... ok
django_pbkdf2_sha256: validate optional rounds attributes ... ok
django_pbkdf2_sha256: test hash() / genconfig() honors min_rounds ... ok
django_pbkdf2_sha256: test hash() / genconfig() honors max_rounds ... ok
django_pbkdf2_sha256: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
django_pbkdf2_sha256: test password case sensitivity ... ok
django_pbkdf2_sha256: test non-string passwords are rejected ... ok
django_pbkdf2_sha256: test MAX_PASSWORD_SIZE is enforced ... ok
django_pbkdf2_sha256: test forbidden characters not allowed in password ... SKIP: none listed
django_pbkdf2_sha256: test known hashes ... ok
django_pbkdf2_sha256: test known alternate hashes ... SKIP: no alternate hashes provided
django_pbkdf2_sha256: test known config strings ... SKIP: no config strings provided
django_pbkdf2_sha256: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
django_pbkdf2_sha256: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
django_pbkdf2_sha256: test known foreign hashes ... ok
django_pbkdf2_sha256: test non-string hashes are rejected ... ok
django_pbkdf2_sha256: fuzz testing -- random passwords and options ... ok
django_pbkdf2_sha256: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
django_pbkdf2_sha256: run known correct hashes through Django's check_password() ... SKIP: Django >= 1.8 not installed
django_pbkdf2_sha256: test against output of Django's make_password() ... SKIP: Django >= 1.8 not installed
django_pbkdf2_sha256: .disable() / .enable() methods ... SKIP: not applicable
django_pbkdf2_sha256: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
django_pbkdf2_sha256: HasRounds.using() -- max_rounds / max_desired_rounds ... ok
django_pbkdf2_sha256: HasRounds.using() -- desired_rounds + needs_update() ... ok
django_pbkdf2_sha256: HasRounds.using() -- sanity check test harness ... ok
django_pbkdf2_sha256: HasRounds.using() -- default_rounds ... ok
django_pbkdf2_sha256: HasRounds.using() -- min_rounds / min_desired_rounds ... ok
django_pbkdf2_sha256: HasRounds.using() -- rounds ... ok
django_pbkdf2_sha256: HasRounds.using() -- vary_rounds generation ... ok
django_pbkdf2_sha256: HasRounds.using() -- vary_rounds parsing ... ok
django_pbkdf2_sha256: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
django_pbkdf2_sha256: test no password size limits enforced (if truncate_size=None) ... ok
django_pbkdf2_sha256: validate 'truncate_error' setting & related attributes ... ok
django_pbkdf2_sha256: Handler.using() -- default_salt_size ... ok
django_salted_md5: validate required attributes ... ok
django_salted_md5: test basic config-string workflow ... ok
django_salted_md5: test basic using() workflow ... ok
django_salted_md5: test basic hash-string workflow. ... ok
django_salted_md5: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
django_salted_md5: test hashes can be unicode or bytes ... ok
django_salted_md5: test multi-backend support ... SKIP: handler only has one backend
django_salted_md5: validate optional salt attributes ... ok
django_salted_md5: test hash() / genconfig() creates new salt each time ... ok
django_salted_md5: test hash() / genconfig() honors min_salt_size ... ok
django_salted_md5: test hash() / genconfig() honors max_salt_size ... ok
django_salted_md5: test hash() honors salt_chars ... ok
django_salted_md5: test non-string salt values ... ok
django_salted_md5: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
django_salted_md5: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
django_salted_md5: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
django_salted_md5: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
django_salted_md5: test password case sensitivity ... ok
django_salted_md5: test non-string passwords are rejected ... ok
django_salted_md5: test MAX_PASSWORD_SIZE is enforced ... ok
django_salted_md5: test forbidden characters not allowed in password ... SKIP: none listed
django_salted_md5: test known hashes ... ok
django_salted_md5: test known alternate hashes ... SKIP: no alternate hashes provided
django_salted_md5: test known config strings ... SKIP: no config strings provided
django_salted_md5: test known unidentifiably-mangled strings ... ok
django_salted_md5: test known identifiable-but-malformed strings ... ok
django_salted_md5: test known foreign hashes ... ok
django_salted_md5: test non-string hashes are rejected ... ok
django_salted_md5: fuzz testing -- random passwords and options ... ok
django_salted_md5: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
django_salted_md5: run known correct hashes through Django's check_password() ... SKIP: Django >= 1.8 not installed
django_salted_md5: test against output of Django's make_password() ... SKIP: Django >= 1.8 not installed
django_salted_md5: .disable() / .enable() methods ... SKIP: not applicable
django_salted_md5: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
django_salted_md5: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
django_salted_md5: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
django_salted_md5: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
django_salted_md5: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
django_salted_md5: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
django_salted_md5: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
django_salted_md5: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
django_salted_md5: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
django_salted_md5: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
django_salted_md5: test no password size limits enforced (if truncate_size=None) ... ok
django_salted_md5: validate 'truncate_error' setting & related attributes ... ok
django_salted_md5: Handler.using() -- default_salt_size ... ok
django_salted_sha1: validate required attributes ... ok
django_salted_sha1: test basic config-string workflow ... ok
django_salted_sha1: test basic using() workflow ... ok
django_salted_sha1: test basic hash-string workflow. ... ok
django_salted_sha1: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
django_salted_sha1: test hashes can be unicode or bytes ... ok
django_salted_sha1: test multi-backend support ... SKIP: handler only has one backend
django_salted_sha1: validate optional salt attributes ... ok
django_salted_sha1: test hash() / genconfig() creates new salt each time ... ok
django_salted_sha1: test hash() / genconfig() honors min_salt_size ... ok
django_salted_sha1: test hash() / genconfig() honors max_salt_size ... ok
django_salted_sha1: test hash() honors salt_chars ... ok
django_salted_sha1: test non-string salt values ... ok
django_salted_sha1: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
django_salted_sha1: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
django_salted_sha1: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
django_salted_sha1: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
django_salted_sha1: test password case sensitivity ... ok
django_salted_sha1: test non-string passwords are rejected ... ok
django_salted_sha1: test MAX_PASSWORD_SIZE is enforced ... ok
django_salted_sha1: test forbidden characters not allowed in password ... SKIP: none listed
django_salted_sha1: test known hashes ... ok
django_salted_sha1: test known alternate hashes ... SKIP: no alternate hashes provided
django_salted_sha1: test known config strings ... SKIP: no config strings provided
django_salted_sha1: test known unidentifiably-mangled strings ... ok
django_salted_sha1: test known identifiable-but-malformed strings ... ok
django_salted_sha1: test known foreign hashes ... ok
django_salted_sha1: test non-string hashes are rejected ... ok
django_salted_sha1: fuzz testing -- random passwords and options ... ok
django_salted_sha1: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
django_salted_sha1: run known correct hashes through Django's check_password() ... SKIP: Django >= 1.8 not installed
django_salted_sha1: test against output of Django's make_password() ... SKIP: Django >= 1.8 not installed
django_salted_sha1: .disable() / .enable() methods ... SKIP: not applicable
django_salted_sha1: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
django_salted_sha1: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
django_salted_sha1: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
django_salted_sha1: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
django_salted_sha1: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
django_salted_sha1: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
django_salted_sha1: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
django_salted_sha1: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
django_salted_sha1: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
django_salted_sha1: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
django_salted_sha1: test no password size limits enforced (if truncate_size=None) ... ok
django_salted_sha1: validate 'truncate_error' setting & related attributes ... ok
django_salted_sha1: Handler.using() -- default_salt_size ... ok
atlassian_pbkdf2_sha1: validate required attributes ... ok
atlassian_pbkdf2_sha1: test basic config-string workflow ... ok
atlassian_pbkdf2_sha1: test basic using() workflow ... ok
atlassian_pbkdf2_sha1: test basic hash-string workflow. ... ok
atlassian_pbkdf2_sha1: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
atlassian_pbkdf2_sha1: test hashes can be unicode or bytes ... ok
atlassian_pbkdf2_sha1: test multi-backend support ... SKIP: handler only has one backend
atlassian_pbkdf2_sha1: validate optional salt attributes ... ok
atlassian_pbkdf2_sha1: test hash() / genconfig() creates new salt each time ... ok
atlassian_pbkdf2_sha1: test hash() / genconfig() honors min_salt_size ... ok
atlassian_pbkdf2_sha1: test hash() / genconfig() honors max_salt_size ... ok
atlassian_pbkdf2_sha1: test hash() honors salt_chars ... ok
atlassian_pbkdf2_sha1: test non-string salt values ... ok
atlassian_pbkdf2_sha1: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
atlassian_pbkdf2_sha1: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
atlassian_pbkdf2_sha1: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
atlassian_pbkdf2_sha1: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
atlassian_pbkdf2_sha1: test password case sensitivity ... ok
atlassian_pbkdf2_sha1: test non-string passwords are rejected ... ok
atlassian_pbkdf2_sha1: test MAX_PASSWORD_SIZE is enforced ... ok
atlassian_pbkdf2_sha1: test forbidden characters not allowed in password ... SKIP: none listed
atlassian_pbkdf2_sha1: test known hashes ... ok
atlassian_pbkdf2_sha1: test known alternate hashes ... SKIP: no alternate hashes provided
atlassian_pbkdf2_sha1: test known config strings ... SKIP: no config strings provided
atlassian_pbkdf2_sha1: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
atlassian_pbkdf2_sha1: test known identifiable-but-malformed strings ... ok
atlassian_pbkdf2_sha1: test known foreign hashes ... ok
atlassian_pbkdf2_sha1: test non-string hashes are rejected ... ok
atlassian_pbkdf2_sha1: fuzz testing -- random passwords and options ... ok
atlassian_pbkdf2_sha1: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
atlassian_pbkdf2_sha1: .disable() / .enable() methods ... SKIP: not applicable
atlassian_pbkdf2_sha1: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
atlassian_pbkdf2_sha1: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
atlassian_pbkdf2_sha1: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
atlassian_pbkdf2_sha1: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
atlassian_pbkdf2_sha1: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
atlassian_pbkdf2_sha1: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
atlassian_pbkdf2_sha1: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
atlassian_pbkdf2_sha1: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
atlassian_pbkdf2_sha1: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
atlassian_pbkdf2_sha1: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
atlassian_pbkdf2_sha1: test no password size limits enforced (if truncate_size=None) ... ok
atlassian_pbkdf2_sha1: validate 'truncate_error' setting & related attributes ... ok
atlassian_pbkdf2_sha1: Handler.using() -- default_salt_size ... ok
cta_pbkdf2_sha1: validate required attributes ... ok
cta_pbkdf2_sha1: test basic config-string workflow ... ok
cta_pbkdf2_sha1: test basic using() workflow ... ok
cta_pbkdf2_sha1: test basic hash-string workflow. ... ok
cta_pbkdf2_sha1: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
cta_pbkdf2_sha1: test hashes can be unicode or bytes ... ok
cta_pbkdf2_sha1: test multi-backend support ... SKIP: handler only has one backend
cta_pbkdf2_sha1: validate optional salt attributes ... ok
cta_pbkdf2_sha1: test hash() / genconfig() creates new salt each time ... ok
cta_pbkdf2_sha1: test hash() / genconfig() honors min_salt_size ... ok
cta_pbkdf2_sha1: test hash() / genconfig() honors max_salt_size ... ok
cta_pbkdf2_sha1: test hash() honors salt_chars ... ok
cta_pbkdf2_sha1: test non-string salt values ... ok
cta_pbkdf2_sha1: validate optional rounds attributes ... ok
cta_pbkdf2_sha1: test hash() / genconfig() honors min_rounds ... ok
cta_pbkdf2_sha1: test hash() / genconfig() honors max_rounds ... ok
cta_pbkdf2_sha1: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
cta_pbkdf2_sha1: test password case sensitivity ... ok
cta_pbkdf2_sha1: test non-string passwords are rejected ... ok
cta_pbkdf2_sha1: test MAX_PASSWORD_SIZE is enforced ... ok
cta_pbkdf2_sha1: test forbidden characters not allowed in password ... SKIP: none listed
cta_pbkdf2_sha1: test known hashes ... ok
cta_pbkdf2_sha1: test known alternate hashes ... SKIP: no alternate hashes provided
cta_pbkdf2_sha1: test known config strings ... SKIP: no config strings provided
cta_pbkdf2_sha1: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
cta_pbkdf2_sha1: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
cta_pbkdf2_sha1: test known foreign hashes ... ok
cta_pbkdf2_sha1: test non-string hashes are rejected ... ok
cta_pbkdf2_sha1: fuzz testing -- random passwords and options ... ok
cta_pbkdf2_sha1: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
cta_pbkdf2_sha1: .disable() / .enable() methods ... SKIP: not applicable
cta_pbkdf2_sha1: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
cta_pbkdf2_sha1: HasRounds.using() -- max_rounds / max_desired_rounds ... ok
cta_pbkdf2_sha1: HasRounds.using() -- desired_rounds + needs_update() ... ok
cta_pbkdf2_sha1: HasRounds.using() -- sanity check test harness ... ok
cta_pbkdf2_sha1: HasRounds.using() -- default_rounds ... ok
cta_pbkdf2_sha1: HasRounds.using() -- min_rounds / min_desired_rounds ... ok
cta_pbkdf2_sha1: HasRounds.using() -- rounds ... ok
cta_pbkdf2_sha1: HasRounds.using() -- vary_rounds generation ... ok
cta_pbkdf2_sha1: HasRounds.using() -- vary_rounds parsing ... ok
cta_pbkdf2_sha1: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
cta_pbkdf2_sha1: test no password size limits enforced (if truncate_size=None) ... ok
cta_pbkdf2_sha1: validate 'truncate_error' setting & related attributes ... ok
cta_pbkdf2_sha1: Handler.using() -- default_salt_size ... ok
dlitz_pbkdf2_sha1: validate required attributes ... ok
dlitz_pbkdf2_sha1: test basic config-string workflow ... ok
dlitz_pbkdf2_sha1: test basic using() workflow ... ok
dlitz_pbkdf2_sha1: test basic hash-string workflow. ... ok
dlitz_pbkdf2_sha1: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
dlitz_pbkdf2_sha1: test hashes can be unicode or bytes ... ok
dlitz_pbkdf2_sha1: test multi-backend support ... SKIP: handler only has one backend
dlitz_pbkdf2_sha1: validate optional salt attributes ... ok
dlitz_pbkdf2_sha1: test hash() / genconfig() creates new salt each time ... ok
dlitz_pbkdf2_sha1: test hash() / genconfig() honors min_salt_size ... ok
dlitz_pbkdf2_sha1: test hash() / genconfig() honors max_salt_size ... ok
dlitz_pbkdf2_sha1: test hash() honors salt_chars ... ok
dlitz_pbkdf2_sha1: test non-string salt values ... ok
dlitz_pbkdf2_sha1: validate optional rounds attributes ... ok
dlitz_pbkdf2_sha1: test hash() / genconfig() honors min_rounds ... ok
dlitz_pbkdf2_sha1: test hash() / genconfig() honors max_rounds ... ok
dlitz_pbkdf2_sha1: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
dlitz_pbkdf2_sha1: test password case sensitivity ... ok
dlitz_pbkdf2_sha1: test non-string passwords are rejected ... ok
dlitz_pbkdf2_sha1: test MAX_PASSWORD_SIZE is enforced ... ok
dlitz_pbkdf2_sha1: test forbidden characters not allowed in password ... SKIP: none listed
dlitz_pbkdf2_sha1: test known hashes ... ok
dlitz_pbkdf2_sha1: test known alternate hashes ... SKIP: no alternate hashes provided
dlitz_pbkdf2_sha1: test known config strings ... SKIP: no config strings provided
dlitz_pbkdf2_sha1: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
dlitz_pbkdf2_sha1: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
dlitz_pbkdf2_sha1: test known foreign hashes ... ok
dlitz_pbkdf2_sha1: test non-string hashes are rejected ... ok
dlitz_pbkdf2_sha1: fuzz testing -- random passwords and options ... ok
dlitz_pbkdf2_sha1: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
dlitz_pbkdf2_sha1: .disable() / .enable() methods ... SKIP: not applicable
dlitz_pbkdf2_sha1: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
dlitz_pbkdf2_sha1: HasRounds.using() -- max_rounds / max_desired_rounds ... ok
dlitz_pbkdf2_sha1: HasRounds.using() -- desired_rounds + needs_update() ... ok
dlitz_pbkdf2_sha1: HasRounds.using() -- sanity check test harness ... ok
dlitz_pbkdf2_sha1: HasRounds.using() -- default_rounds ... ok
dlitz_pbkdf2_sha1: HasRounds.using() -- min_rounds / min_desired_rounds ... ok
dlitz_pbkdf2_sha1: HasRounds.using() -- rounds ... ok
dlitz_pbkdf2_sha1: HasRounds.using() -- vary_rounds generation ... ok
dlitz_pbkdf2_sha1: HasRounds.using() -- vary_rounds parsing ... ok
dlitz_pbkdf2_sha1: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
dlitz_pbkdf2_sha1: test no password size limits enforced (if truncate_size=None) ... ok
dlitz_pbkdf2_sha1: validate 'truncate_error' setting & related attributes ... ok
dlitz_pbkdf2_sha1: Handler.using() -- default_salt_size ... ok
grub_pbkdf2_sha512: validate required attributes ... ok
grub_pbkdf2_sha512: test basic config-string workflow ... ok
grub_pbkdf2_sha512: test basic using() workflow ... ok
grub_pbkdf2_sha512: test basic hash-string workflow. ... ok
grub_pbkdf2_sha512: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
grub_pbkdf2_sha512: test hashes can be unicode or bytes ... ok
grub_pbkdf2_sha512: test multi-backend support ... SKIP: handler only has one backend
grub_pbkdf2_sha512: validate optional salt attributes ... ok
grub_pbkdf2_sha512: test hash() / genconfig() creates new salt each time ... ok
grub_pbkdf2_sha512: test hash() / genconfig() honors min_salt_size ... ok
grub_pbkdf2_sha512: test hash() / genconfig() honors max_salt_size ... ok
grub_pbkdf2_sha512: test hash() honors salt_chars ... ok
grub_pbkdf2_sha512: test non-string salt values ... ok
grub_pbkdf2_sha512: validate optional rounds attributes ... ok
grub_pbkdf2_sha512: test hash() / genconfig() honors min_rounds ... ok
grub_pbkdf2_sha512: test hash() / genconfig() honors max_rounds ... ok
grub_pbkdf2_sha512: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
grub_pbkdf2_sha512: test password case sensitivity ... ok
grub_pbkdf2_sha512: test non-string passwords are rejected ... ok
grub_pbkdf2_sha512: test MAX_PASSWORD_SIZE is enforced ... ok
grub_pbkdf2_sha512: test forbidden characters not allowed in password ... SKIP: none listed
grub_pbkdf2_sha512: test known hashes ... ok
grub_pbkdf2_sha512: test known alternate hashes ... SKIP: no alternate hashes provided
grub_pbkdf2_sha512: test known config strings ... SKIP: no config strings provided
grub_pbkdf2_sha512: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
grub_pbkdf2_sha512: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
grub_pbkdf2_sha512: test known foreign hashes ... ok
grub_pbkdf2_sha512: test non-string hashes are rejected ... ok
grub_pbkdf2_sha512: fuzz testing -- random passwords and options ... ok
grub_pbkdf2_sha512: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
grub_pbkdf2_sha512: .disable() / .enable() methods ... SKIP: not applicable
grub_pbkdf2_sha512: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
grub_pbkdf2_sha512: HasRounds.using() -- max_rounds / max_desired_rounds ... ok
grub_pbkdf2_sha512: HasRounds.using() -- desired_rounds + needs_update() ... ok
grub_pbkdf2_sha512: HasRounds.using() -- sanity check test harness ... ok
grub_pbkdf2_sha512: HasRounds.using() -- default_rounds ... ok
grub_pbkdf2_sha512: HasRounds.using() -- min_rounds / min_desired_rounds ... ok
grub_pbkdf2_sha512: HasRounds.using() -- rounds ... ok
grub_pbkdf2_sha512: HasRounds.using() -- vary_rounds generation ... ok
grub_pbkdf2_sha512: HasRounds.using() -- vary_rounds parsing ... ok
grub_pbkdf2_sha512: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
grub_pbkdf2_sha512: test no password size limits enforced (if truncate_size=None) ... ok
grub_pbkdf2_sha512: validate 'truncate_error' setting & related attributes ... ok
grub_pbkdf2_sha512: Handler.using() -- default_salt_size ... ok
test ldap pbkdf2 wrappers ... ok
pbkdf2_sha1: validate required attributes ... ok
pbkdf2_sha1: test basic config-string workflow ... ok
pbkdf2_sha1: test basic using() workflow ... ok
pbkdf2_sha1: test basic hash-string workflow. ... ok
pbkdf2_sha1: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
pbkdf2_sha1: test hashes can be unicode or bytes ... ok
pbkdf2_sha1: test multi-backend support ... SKIP: handler only has one backend
pbkdf2_sha1: validate optional salt attributes ... ok
pbkdf2_sha1: test hash() / genconfig() creates new salt each time ... ok
pbkdf2_sha1: test hash() / genconfig() honors min_salt_size ... ok
pbkdf2_sha1: test hash() / genconfig() honors max_salt_size ... ok
pbkdf2_sha1: test hash() honors salt_chars ... ok
pbkdf2_sha1: test non-string salt values ... ok
pbkdf2_sha1: validate optional rounds attributes ... ok
pbkdf2_sha1: test hash() / genconfig() honors min_rounds ... ok
pbkdf2_sha1: test hash() / genconfig() honors max_rounds ... ok
pbkdf2_sha1: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
pbkdf2_sha1: test password case sensitivity ... ok
pbkdf2_sha1: test non-string passwords are rejected ... ok
pbkdf2_sha1: test MAX_PASSWORD_SIZE is enforced ... ok
pbkdf2_sha1: test forbidden characters not allowed in password ... SKIP: none listed
pbkdf2_sha1: test known hashes ... ok
pbkdf2_sha1: test known alternate hashes ... SKIP: no alternate hashes provided
pbkdf2_sha1: test known config strings ... SKIP: no config strings provided
pbkdf2_sha1: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
pbkdf2_sha1: test known identifiable-but-malformed strings ... ok
pbkdf2_sha1: test known foreign hashes ... ok
pbkdf2_sha1: test non-string hashes are rejected ... ok
pbkdf2_sha1: fuzz testing -- random passwords and options ... ok
pbkdf2_sha1: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
pbkdf2_sha1: .disable() / .enable() methods ... SKIP: not applicable
pbkdf2_sha1: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
pbkdf2_sha1: HasRounds.using() -- max_rounds / max_desired_rounds ... ok
pbkdf2_sha1: HasRounds.using() -- desired_rounds + needs_update() ... ok
pbkdf2_sha1: HasRounds.using() -- sanity check test harness ... ok
pbkdf2_sha1: HasRounds.using() -- default_rounds ... ok
pbkdf2_sha1: HasRounds.using() -- min_rounds / min_desired_rounds ... ok
pbkdf2_sha1: HasRounds.using() -- rounds ... ok
pbkdf2_sha1: HasRounds.using() -- vary_rounds generation ... ok
pbkdf2_sha1: HasRounds.using() -- vary_rounds parsing ... ok
pbkdf2_sha1: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
pbkdf2_sha1: test no password size limits enforced (if truncate_size=None) ... ok
pbkdf2_sha1: validate 'truncate_error' setting & related attributes ... ok
pbkdf2_sha1: Handler.using() -- default_salt_size ... ok
pbkdf2_sha256: validate required attributes ... ok
pbkdf2_sha256: test basic config-string workflow ... ok
pbkdf2_sha256: test basic using() workflow ... ok
pbkdf2_sha256: test basic hash-string workflow. ... ok
pbkdf2_sha256: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
pbkdf2_sha256: test hashes can be unicode or bytes ... ok
pbkdf2_sha256: test multi-backend support ... SKIP: handler only has one backend
pbkdf2_sha256: validate optional salt attributes ... ok
pbkdf2_sha256: test hash() / genconfig() creates new salt each time ... ok
pbkdf2_sha256: test hash() / genconfig() honors min_salt_size ... ok
pbkdf2_sha256: test hash() / genconfig() honors max_salt_size ... ok
pbkdf2_sha256: test hash() honors salt_chars ... ok
pbkdf2_sha256: test non-string salt values ... ok
pbkdf2_sha256: validate optional rounds attributes ... ok
pbkdf2_sha256: test hash() / genconfig() honors min_rounds ... ok
pbkdf2_sha256: test hash() / genconfig() honors max_rounds ... ok
pbkdf2_sha256: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
pbkdf2_sha256: test password case sensitivity ... ok
pbkdf2_sha256: test non-string passwords are rejected ... ok
pbkdf2_sha256: test MAX_PASSWORD_SIZE is enforced ... ok
pbkdf2_sha256: test forbidden characters not allowed in password ... SKIP: none listed
pbkdf2_sha256: test known hashes ... ok
pbkdf2_sha256: test known alternate hashes ... SKIP: no alternate hashes provided
pbkdf2_sha256: test known config strings ... SKIP: no config strings provided
pbkdf2_sha256: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
pbkdf2_sha256: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
pbkdf2_sha256: test known foreign hashes ... ok
pbkdf2_sha256: test non-string hashes are rejected ... ok
pbkdf2_sha256: fuzz testing -- random passwords and options ... ok
pbkdf2_sha256: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
pbkdf2_sha256: .disable() / .enable() methods ... SKIP: not applicable
pbkdf2_sha256: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
pbkdf2_sha256: HasRounds.using() -- max_rounds / max_desired_rounds ... ok
pbkdf2_sha256: HasRounds.using() -- desired_rounds + needs_update() ... ok
pbkdf2_sha256: HasRounds.using() -- sanity check test harness ... ok
pbkdf2_sha256: HasRounds.using() -- default_rounds ... ok
pbkdf2_sha256: HasRounds.using() -- min_rounds / min_desired_rounds ... ok
pbkdf2_sha256: HasRounds.using() -- rounds ... ok
pbkdf2_sha256: HasRounds.using() -- vary_rounds generation ... ok
pbkdf2_sha256: HasRounds.using() -- vary_rounds parsing ... ok
pbkdf2_sha256: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
pbkdf2_sha256: test no password size limits enforced (if truncate_size=None) ... ok
pbkdf2_sha256: validate 'truncate_error' setting & related attributes ... ok
pbkdf2_sha256: Handler.using() -- default_salt_size ... ok
pbkdf2_sha512: validate required attributes ... ok
pbkdf2_sha512: test basic config-string workflow ... ok
pbkdf2_sha512: test basic using() workflow ... ok
pbkdf2_sha512: test basic hash-string workflow. ... ok
pbkdf2_sha512: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
pbkdf2_sha512: test hashes can be unicode or bytes ... ok
pbkdf2_sha512: test multi-backend support ... SKIP: handler only has one backend
pbkdf2_sha512: validate optional salt attributes ... ok
pbkdf2_sha512: test hash() / genconfig() creates new salt each time ... ok
pbkdf2_sha512: test hash() / genconfig() honors min_salt_size ... ok
pbkdf2_sha512: test hash() / genconfig() honors max_salt_size ... ok
pbkdf2_sha512: test hash() honors salt_chars ... ok
pbkdf2_sha512: test non-string salt values ... ok
pbkdf2_sha512: validate optional rounds attributes ... ok
pbkdf2_sha512: test hash() / genconfig() honors min_rounds ... ok
pbkdf2_sha512: test hash() / genconfig() honors max_rounds ... ok
pbkdf2_sha512: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
pbkdf2_sha512: test password case sensitivity ... ok
pbkdf2_sha512: test non-string passwords are rejected ... ok
pbkdf2_sha512: test MAX_PASSWORD_SIZE is enforced ... ok
pbkdf2_sha512: test forbidden characters not allowed in password ... SKIP: none listed
pbkdf2_sha512: test known hashes ... ok
pbkdf2_sha512: test known alternate hashes ... SKIP: no alternate hashes provided
pbkdf2_sha512: test known config strings ... SKIP: no config strings provided
pbkdf2_sha512: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
pbkdf2_sha512: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
pbkdf2_sha512: test known foreign hashes ... ok
pbkdf2_sha512: test non-string hashes are rejected ... ok
pbkdf2_sha512: fuzz testing -- random passwords and options ... ok
pbkdf2_sha512: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
pbkdf2_sha512: .disable() / .enable() methods ... SKIP: not applicable
pbkdf2_sha512: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
pbkdf2_sha512: HasRounds.using() -- max_rounds / max_desired_rounds ... ok
pbkdf2_sha512: HasRounds.using() -- desired_rounds + needs_update() ... ok
pbkdf2_sha512: HasRounds.using() -- sanity check test harness ... ok
pbkdf2_sha512: HasRounds.using() -- default_rounds ... ok
pbkdf2_sha512: HasRounds.using() -- min_rounds / min_desired_rounds ... ok
pbkdf2_sha512: HasRounds.using() -- rounds ... ok
pbkdf2_sha512: HasRounds.using() -- vary_rounds generation ... ok
pbkdf2_sha512: HasRounds.using() -- vary_rounds parsing ... ok
pbkdf2_sha512: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
pbkdf2_sha512: test no password size limits enforced (if truncate_size=None) ... ok
pbkdf2_sha512: validate 'truncate_error' setting & related attributes ... ok
pbkdf2_sha512: Handler.using() -- default_salt_size ... ok
scram: validate required attributes ... ok
scram: test basic config-string workflow ... ok
scram: test basic using() workflow ... ok
scram: test basic hash-string workflow. ... ok
scram: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
scram: test hashes can be unicode or bytes ... ok
scram: test multi-backend support ... SKIP: handler only has one backend
scram: validate optional salt attributes ... ok
scram: test hash() / genconfig() creates new salt each time ... ok
scram: test hash() / genconfig() honors min_salt_size ... ok
scram: test hash() / genconfig() honors max_salt_size ... ok
scram: test hash() honors salt_chars ... ok
scram: test non-string salt values ... ok
scram: validate optional rounds attributes ... ok
scram: test hash() / genconfig() honors min_rounds ... ok
scram: test hash() / genconfig() honors max_rounds ... ok
scram: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
scram: test password case sensitivity ... ok
scram: test non-string passwords are rejected ... ok
scram: test MAX_PASSWORD_SIZE is enforced ... ok
scram: test forbidden characters not allowed in password ... SKIP: none listed
scram: test known hashes ... ok
scram: test known alternate hashes ... SKIP: no alternate hashes provided
scram: test known config strings ... SKIP: no config strings provided
scram: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
scram: test known identifiable-but-malformed strings ... ok
scram: test known foreign hashes ... ok
scram: test non-string hashes are rejected ... ok
scram: fuzz testing -- random passwords and options ... ok
scram: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
scram: test parsing of 'algs' setting ... ok
scram: test internal parsing of 'checksum' keyword ... ok
scram: test scram.extract_digest_info() ... ok
scram: test scram.extract_digest_algs() ... ok
scram: test scram.derive_digest() ... ok
scram: needs_update() -- algs setting ... ok
scram: test hash/verify use saslprep ... ok
scram: using() -- 'algs' parameter ... ok
scram: using() -- 'default_algs' parameter ... ok
scram: test handling of 'algs' in context object ... ok
scram: test verify(full=True) flag ... ok
scram: .disable() / .enable() methods ... SKIP: not applicable
scram: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
scram: HasRounds.using() -- max_rounds / max_desired_rounds ... ok
scram: HasRounds.using() -- desired_rounds + needs_update() ... ok
scram: HasRounds.using() -- sanity check test harness ... ok
scram: HasRounds.using() -- default_rounds ... ok
scram: HasRounds.using() -- min_rounds / min_desired_rounds ... ok
scram: HasRounds.using() -- rounds ... ok
scram: HasRounds.using() -- vary_rounds generation ... ok
scram: HasRounds.using() -- vary_rounds parsing ... ok
scram: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
scram: test no password size limits enforced (if truncate_size=None) ... ok
scram: validate 'truncate_error' setting & related attributes ... ok
scram: Handler.using() -- default_salt_size ... ok
scrypt (builtin backend): validate required attributes ... ok
scrypt (builtin backend): test basic config-string workflow ... ok
scrypt (builtin backend): test basic using() workflow ... ok
scrypt (builtin backend): test basic hash-string workflow. ... ok
scrypt (builtin backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
scrypt (builtin backend): test hashes can be unicode or bytes ... ok
scrypt (builtin backend): test multi-backend support ... ok
scrypt (builtin backend): validate optional salt attributes ... ok
scrypt (builtin backend): test hash() / genconfig() creates new salt each time ... ok
scrypt (builtin backend): test hash() / genconfig() honors min_salt_size ... ok
scrypt (builtin backend): test hash() / genconfig() honors max_salt_size ... ok
scrypt (builtin backend): test hash() honors salt_chars ... ok
scrypt (builtin backend): test non-string salt values ... ok
scrypt (builtin backend): validate optional rounds attributes ... ok
scrypt (builtin backend): test hash() / genconfig() honors min_rounds ... ok
scrypt (builtin backend): test hash() / genconfig() honors max_rounds ... ok
scrypt (builtin backend): validate HasManyIdents configuration ... ok
scrypt (builtin backend): test password case sensitivity ... ok
scrypt (builtin backend): test non-string passwords are rejected ... ok
scrypt (builtin backend): test MAX_PASSWORD_SIZE is enforced ... ok
scrypt (builtin backend): test forbidden characters not allowed in password ... SKIP: none listed
scrypt (builtin backend): test known hashes ... ok
scrypt (builtin backend): test known alternate hashes ... SKIP: no alternate hashes provided
scrypt (builtin backend): test known config strings ... SKIP: no config strings provided
scrypt (builtin backend): test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
scrypt (builtin backend): test known identifiable-but-malformed strings ... ok
scrypt (builtin backend): test known foreign hashes ... ok
scrypt (builtin backend): test non-string hashes are rejected ... ok
scrypt (builtin backend): fuzz testing -- random passwords and options ... ok
scrypt (builtin backend): multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
scrypt (builtin backend): .disable() / .enable() methods ... SKIP: not applicable
scrypt (builtin backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... ok
scrypt (builtin backend): HasRounds.using() -- max_rounds / max_desired_rounds ... ok
scrypt (builtin backend): HasRounds.using() -- desired_rounds + needs_update() ... ok
scrypt (builtin backend): HasRounds.using() -- sanity check test harness ... ok
scrypt (builtin backend): HasRounds.using() -- default_rounds ... ok
scrypt (builtin backend): HasRounds.using() -- min_rounds / min_desired_rounds ... ok
scrypt (builtin backend): HasRounds.using() -- rounds ... ok
scrypt (builtin backend): HasRounds.using() -- vary_rounds generation ... ok
scrypt (builtin backend): HasRounds.using() -- vary_rounds parsing ... ok
scrypt (builtin backend): test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
scrypt (builtin backend): test no password size limits enforced (if truncate_size=None) ... ok
scrypt (builtin backend): validate 'truncate_error' setting & related attributes ... ok
scrypt (builtin backend): Handler.using() -- default_salt_size ... ok
test_bsd_contexts (passlib.tests.test_hosts.HostsTest) ... ok
test_host_context (passlib.tests.test_hosts.HostsTest) ... ok
test_linux_context (passlib.tests.test_hosts.HostsTest) ... ok
passlib.pwd.genphrase(): 'length' & 'entropy' keywords ... ok
passlib.pwd.genphrase(): general behavior ... ok
passlib.pwd.genphrase(): 'returns' keyword ... ok
passlib.pwd.genphrase(): 'wordset' & 'words' options ... ok
passlib.pwd: _self_info_rate() ... ok
passlib.pwd.genword(): 'charset' & 'chars' options ... ok
passlib.pwd.genword(): general behavior ... ok
passlib.pwd.genword(): 'returns' keyword ... ok
passlib.registry: test get_crypt_handler() ... ok
passlib.registry: verify we have tests for all builtin handlers ... ok
passlib.registry: test passlib.hash proxy object ... ok
passlib.registry: test list_crypt_handlers() ... ok
passlib.registry: test register_crypt_handler() ... ok
passlib.registry: test register_crypt_handler_path() ... ok
passlib.totp.AppWallet: .decrypt_key() ... SKIP: 'cryptography' package not installed
passlib.totp.AppWallet: .decrypt_key() -- needs_recrypt flag ... SKIP: 'cryptography' package not installed
passlib.totp.AppWallet: constructor -- 'default_tag' param ... ok
passlib.totp.AppWallet: verify cost parameter via timing ... SKIP: 'cryptography' package not installed
passlib.totp.AppWallet: .encrypt_key() ... SKIP: 'cryptography' package not installed
passlib.totp.AppWallet: constructor -- 'secrets' param -- tag/value normalization ... ok
passlib.totp.AppWallet: constructor -- 'secrets' param -- input types ... ok
passlib.totp.TOTP: helper to iterate over test vectors. ... ok
passlib.totp.TOTP: constructor -- 'alg' parameter ... ok
passlib.totp.TOTP: constructor -- 'digits' parameter ... ok
passlib.totp.TOTP: constructor -- 'issuer' parameter ... ok
passlib.totp.TOTP: constructor -- 'key' and 'format' parameters ... ok
passlib.totp.TOTP: constructor -- 'label' parameter ... ok
passlib.totp.TOTP: constructor -- 'new'  parameter ... ok
passlib.totp.TOTP: constructor -- 'period' parameter ... ok
passlib.totp.TOTP: constructor -- 'size'  parameter ... ok
passlib.totp.TOTP: from_dict() ... ok
passlib.totp.TOTP: from_source() ... ok
passlib.totp.TOTP: from_uri() ... ok
passlib.totp.TOTP: generate() ... ok
passlib.totp.TOTP: generate() -- reference vectors ... ok
passlib.totp.TOTP: pretty_key() and .key attributes ... ok
passlib.totp.TOTP: match() -- reference vectors ... ok
passlib.totp.TOTP: match() -- 'reuse' and 'last_counter' parameters ... ok
passlib.totp.TOTP: match() -- 'skew' parameters ... ok
passlib.totp.TOTP: match() -- token normalization ... ok
passlib.totp.TOTP: match() -- 'time' and 'window' parameters ... ok
passlib.totp.TOTP: normalize_time() ... ok
passlib.totp.TOTP: normalize_token() -- class method ... ok
passlib.totp.TOTP: normalize_token() -- instance method ... ok
passlib.totp.TOTP: internal test -- randotp() ... ok
passlib.totp.TOTP: to_dict() ... ok
passlib.totp.TOTP: to_uri() ... ok
passlib.totp.TOTP: match() -- invalid TotpMatch object ... ok
passlib.totp.TOTP: match() -- valid TotpMatch object with past token ... ok
passlib.totp.TOTP: match() -- valid TotpMatch object with future token ... ok
passlib.totp.TOTP: match() -- valid TotpMatch object ... ok
passlib.totp.TOTP: generate() -- TotpToken() class ... ok
passlib.totp.TOTP: using -- 'now' parameter ... ok
passlib.totp.TOTP: using() -- 'period' parameter ... ok
passlib.totp.TOTP: verify() ... ok
ab64_decode() ... ok
ab64_encode() ... ok
b64s_decode() ... ok
b64s_encode() ... ok
test_constructor (passlib.tests.test_utils.Base64EngineTest) ... ok
test b() helper, bytes and native str type ... ok
test is_ascii_safe() ... ok
test is_same_codec() ... ok
test to_bytes() ... ok
test to_native_str() ... ok
test to_unicode() ... ok
h64big codec: test encode_bytes/decode_bytes against random data ... ok
h64big codec: test decode_bytes() against reference inputs ... ok
h64big codec: test decode_bytes() with bad input ... ok
h64big codec: test decode_bytes() ignores padding bits ... ok
h64big codec: test decode_transposed_bytes() ... ok
h64big codec: test decode_transposed_bytes() fails if map is a one-way ... ok
h64big codec: test encode_bytes() against reference inputs ... ok
h64big codec: test encode_bytes() with bad input ... ok
h64big codec: test encode_transposed_bytes() ... ok
h64big codec: test against reference integer encodings ... ok
h64big codec: test_int12 (passlib.tests.test_utils.H64Big_Test) ... ok
h64big codec: test_int24 (passlib.tests.test_utils.H64Big_Test) ... ok
h64big codec: test_int6 (passlib.tests.test_utils.H64Big_Test) ... ok
h64big codec: test_int64 (passlib.tests.test_utils.H64Big_Test) ... ok
h64big codec: test repair_unused() ... ok
h64 codec: test encode_bytes/decode_bytes against random data ... ok
h64 codec: test decode_bytes() against reference inputs ... ok
h64 codec: test decode_bytes() with bad input ... ok
h64 codec: test decode_bytes() ignores padding bits ... ok
h64 codec: test decode_transposed_bytes() ... ok
h64 codec: test decode_transposed_bytes() fails if map is a one-way ... ok
h64 codec: test encode_bytes() against reference inputs ... ok
h64 codec: test encode_bytes() with bad input ... ok
h64 codec: test encode_transposed_bytes() ... ok
h64 codec: test against reference integer encodings ... ok
h64 codec: test_int12 (passlib.tests.test_utils.H64_Test) ... ok
h64 codec: test_int24 (passlib.tests.test_utils.H64_Test) ... ok
h64 codec: test_int6 (passlib.tests.test_utils.H64_Test) ... ok
h64 codec: test_int64 (passlib.tests.test_utils.H64_Test) ... ok
h64 codec: test repair_unused() ... ok
test_classproperty (passlib.tests.test_utils.MiscTest) ... ok
test compat's lazymodule ... ok
test consteq() ... ok
test crypt.crypt() wrappers ... ok
test_deprecated_function (passlib.tests.test_utils.MiscTest) ... ok
generate_password() ... ok
test genseed() ... ok
getrandbytes() ... ok
getrandstr() ... ok
test is_crypt_context() ... ok
test_memoized_property (passlib.tests.test_utils.MiscTest) ... ok
test saslprep() unicode normalizer ... ok
test_splitcomma (passlib.tests.test_utils.MiscTest) ... ok
test PrefixWrapper lazy loading of handler ... ok
test PrefixWrapper active loading of handler ... ok
test PrefixWrapper with explicitly specified handler ... ok
test_10_wrapped_attributes (passlib.tests.test_utils_handlers.PrefixWrapperTest) ... ok
test_11_wrapped_methods (passlib.tests.test_utils_handlers.PrefixWrapperTest) ... ok
test_12_ident (passlib.tests.test_utils_handlers.PrefixWrapperTest) ... ok
test repr() ... ok
test orig_prefix sanity check ... ok
salted_test_hash: validate required attributes ... ok
salted_test_hash: test basic config-string workflow ... ok
salted_test_hash: test basic using() workflow ... ok
salted_test_hash: test basic hash-string workflow. ... ok
salted_test_hash: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
salted_test_hash: test hashes can be unicode or bytes ... ok
salted_test_hash: test multi-backend support ... SKIP: handler only has one backend
salted_test_hash: validate optional salt attributes ... ok
salted_test_hash: test hash() / genconfig() creates new salt each time ... ok
salted_test_hash: test hash() / genconfig() honors min_salt_size ... ok
salted_test_hash: test hash() / genconfig() honors max_salt_size ... ok
salted_test_hash: test hash() honors salt_chars ... ok
salted_test_hash: test non-string salt values ... ok
salted_test_hash: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
salted_test_hash: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
salted_test_hash: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
salted_test_hash: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
salted_test_hash: test password case sensitivity ... ok
salted_test_hash: test non-string passwords are rejected ... ok
salted_test_hash: test MAX_PASSWORD_SIZE is enforced ... ok
salted_test_hash: test forbidden characters not allowed in password ... SKIP: none listed
salted_test_hash: test known hashes ... ok
salted_test_hash: test known alternate hashes ... SKIP: no alternate hashes provided
salted_test_hash: test known config strings ... SKIP: no config strings provided
salted_test_hash: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
salted_test_hash: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
salted_test_hash: test known foreign hashes ... ok
salted_test_hash: test non-string hashes are rejected ... ok
salted_test_hash: fuzz testing -- random passwords and options ... ok
salted_test_hash: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
salted_test_hash: test_bad_kwds (passlib.tests.test_utils_handlers.SaltedHashTest) ... ok
salted_test_hash: .disable() / .enable() methods ... SKIP: not applicable
salted_test_hash: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
salted_test_hash: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
salted_test_hash: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
salted_test_hash: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
salted_test_hash: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
salted_test_hash: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
salted_test_hash: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
salted_test_hash: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
salted_test_hash: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
salted_test_hash: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
salted_test_hash: test no password size limits enforced (if truncate_size=None) ... ok
salted_test_hash: validate 'truncate_error' setting & related attributes ... ok
salted_test_hash: Handler.using() -- default_salt_size ... ok
test StaticHandler class ... ok
test StaticHandler legacy attr ... ok
test GenericHandler.identify() ... ok
test GenericHandler checksum handling ... ok
test GenericHandler + HasRawChecksum mixin ... ok
test GenericHandler + HasSalt mixin ... ok
test GenericHandler + HasRounds mixin ... ok
test GenericHandler + HasManyBackends mixin ... ok
test GenericHandler + HasManyBackends mixin (deprecated api) ... ok
test GenericHandler + HasManyIdents ... ok
test parsehash() ... ok
test bitsize() ... ok
unsalted_test_hash: validate required attributes ... ok
unsalted_test_hash: test basic config-string workflow ... ok
unsalted_test_hash: test basic using() workflow ... ok
unsalted_test_hash: test basic hash-string workflow. ... ok
unsalted_test_hash: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
unsalted_test_hash: test hashes can be unicode or bytes ... ok
unsalted_test_hash: test multi-backend support ... SKIP: handler only has one backend
unsalted_test_hash: validate optional salt attributes ... SKIP: handler doesn't have salt
unsalted_test_hash: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
unsalted_test_hash: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
unsalted_test_hash: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
unsalted_test_hash: test hash() honors salt_chars ... SKIP: handler doesn't have salt
unsalted_test_hash: test non-string salt values ... SKIP: handler doesn't have salt
unsalted_test_hash: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
unsalted_test_hash: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
unsalted_test_hash: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
unsalted_test_hash: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
unsalted_test_hash: test password case sensitivity ... ok
unsalted_test_hash: test non-string passwords are rejected ... ok
unsalted_test_hash: test MAX_PASSWORD_SIZE is enforced ... ok
unsalted_test_hash: test forbidden characters not allowed in password ... SKIP: none listed
unsalted_test_hash: test known hashes ... ok
unsalted_test_hash: test known alternate hashes ... SKIP: no alternate hashes provided
unsalted_test_hash: test known config strings ... SKIP: hash has no settings
unsalted_test_hash: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
unsalted_test_hash: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
unsalted_test_hash: test known foreign hashes ... ok
unsalted_test_hash: test non-string hashes are rejected ... ok
unsalted_test_hash: fuzz testing -- random passwords and options ... ok
unsalted_test_hash: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
unsalted_test_hash: test_bad_kwds (passlib.tests.test_utils_handlers.UnsaltedHashTest) ... ok
unsalted_test_hash: .disable() / .enable() methods ... SKIP: not applicable
unsalted_test_hash: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
unsalted_test_hash: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
unsalted_test_hash: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
unsalted_test_hash: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
unsalted_test_hash: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
unsalted_test_hash: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
unsalted_test_hash: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
unsalted_test_hash: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
unsalted_test_hash: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
unsalted_test_hash: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
unsalted_test_hash: test no password size limits enforced (if truncate_size=None) ... ok
unsalted_test_hash: validate 'truncate_error' setting & related attributes ... ok
unsalted_test_hash: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
passlib.utils.md4.md4(): informational attributes ... ok
passlib.utils.md4.md4(): copy() method ... ok
passlib.utils.md4.md4(): digest() method ... ok
passlib.utils.md4.md4(): hexdigest() method ... ok
passlib.utils.md4.md4(): update() method ... ok
passlib.utils.pbkdf2.pbkdf1(): test border cases ... ok
passlib.utils.pbkdf2.pbkdf1(): test reference vectors ... ok
passlib.utils.pbkdf2.pbkdf2(): test border cases ... ok
passlib.utils.pbkdf2.pbkdf2(): test custom prf function ... ok
passlib.utils.pbkdf2.pbkdf2(): test keylen==None ... ok
passlib.utils.pbkdf2.pbkdf2(): test reference vectors ... ok
passlib.utils.pbkdf2: norm_hash_name() ... ok
test_lmhash (passlib.tests.test_win32.UtilTest) ... ok
test_nthash (passlib.tests.test_win32.UtilTest) ... ok

----------------------------------------------------------------------
Ran 3020 tests in 149.192s

OK (SKIP=1267)
+ nosetests-3.7 -v
/builddir/build/BUILD/passlib-1.7.1/passlib/crypto/scrypt/__init__.py:127: 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
  "is strongly recommended" % slowdown, exc.PasslibSecurityWarning)
HtdigestFile: test constructor autoload ... ok
HtdigestFile: test delete() ... ok
HtdigestFile: test_01_delete_autosave (passlib.tests.test_apache.HtdigestFileTest) ... ok
HtdigestFile: test update() ... ok
HtdigestFile: test users() ... ok
HtdigestFile: test check_password() ... ok
HtdigestFile: test load() ... ok
HtdigestFile: test save() ... ok
HtdigestFile: test realms() & delete_realm() ... ok
HtdigestFile: test get_hash() ... ok
HtdigestFile: test encoding parameter ... ok
HtdigestFile: test to_string() ... ok
HtdigestFile: test_11_malformed (passlib.tests.test_apache.HtdigestFileTest) ... ok
HtpasswdFile: test constructor autoload ... ok
HtpasswdFile: test_00_from_path (passlib.tests.test_apache.HtpasswdFileTest) ... ok
HtpasswdFile: test delete() ... ok
HtpasswdFile: test_01_delete_autosave (passlib.tests.test_apache.HtpasswdFileTest) ... ok
HtpasswdFile: test set_password() ... ok
HtpasswdFile: test_02_set_password_autosave (passlib.tests.test_apache.HtpasswdFileTest) ... ok
HtpasswdFile: test set_password() -- default_scheme ... /builddir/build/BUILD/passlib-1.7.1/passlib/apache.py:717: PasslibSecurityWarning: HtpasswdFile: no bcrypt backends available, using fallback for default scheme 'portable'
  exc.PasslibSecurityWarning)
ok
HtpasswdFile: test users() ... ok
HtpasswdFile: test check_password() ... ok
HtpasswdFile: test load() ... ok
HtpasswdFile: test save() ... ok
HtpasswdFile: test 'encoding' kwd ... ok
HtpasswdFile: test get_hash() ... ok
HtpasswdFile: test to_string ... ok
HtpasswdFile: test_10_repr (passlib.tests.test_apache.HtpasswdFileTest) ... ok
HtpasswdFile: test_11_malformed (passlib.tests.test_apache.HtpasswdFileTest) ... ok
HtpasswdFile: test_12_from_string (passlib.tests.test_apache.HtpasswdFileTest) ... ok
HtpasswdFile: whitespace & comment handling ... ok
test_custom_app_context (passlib.tests.test_apps.AppsTest) ... ok
test_django16_context (passlib.tests.test_apps.AppsTest) ... ok
test_django_context (passlib.tests.test_apps.AppsTest) ... ok
test_ldap_context (passlib.tests.test_apps.AppsTest) ... ok
test_ldap_mysql_context (passlib.tests.test_apps.AppsTest) ... ok
test_ldap_nocrypt_context (passlib.tests.test_apps.AppsTest) ... ok
test_master_context (passlib.tests.test_apps.AppsTest) ... ok
test_phpbb3_context (passlib.tests.test_apps.AppsTest) ... ok
test_phppass_context (passlib.tests.test_apps.AppsTest) ... ok
test_postgres_context (passlib.tests.test_apps.AppsTest) ... ok
test_roundup_context (passlib.tests.test_apps.AppsTest) ... ok
CryptContext: test class constructor ... ok
CryptContext: test from_string() constructor ... ok
CryptContext: test from_path() constructor ... ok
CryptContext: test copy() method ... ok
CryptContext: test repr() ... ok
CryptContext: test load() / load_path() method ... ok
CryptContext: test load() errors restore old state ... ok
CryptContext: test update() method ... ok
CryptContext: test basic option parsing ... ok
CryptContext: test 'schemes' context option parsing ... ok
CryptContext: test 'deprecated' context option parsing ... ok
CryptContext: test 'default' context option parsing ... ok
CryptContext: test 'vary_rounds' hash option parsing ... ok
CryptContext: test schemes() method ... ok
CryptContext: test default_scheme() method ... ok
CryptContext: test handler() method ... ok
CryptContext: test internal _get_record_options() method ... ok
CryptContext: test to_dict() method ... ok
CryptContext: test to_string() method ... ok
CryptContext: test basic hash/identify/verify functionality ... ok
CryptContext: test genconfig() method ... ok
CryptContext: test genhash() method ... ok
CryptContext: test hash() method ... ok
CryptContext: test hash() method -- legacy 'scheme' and settings keywords ... ok
CryptContext: test identify() border cases ... ok
CryptContext: test verify() scheme kwd ... ok
CryptContext: test needs_update() method ... ok
CryptContext: test verify_and_update() ... ok
CryptContext: hash(), verify(), and verify_and_update() -- discard unused context keywords ... ok
CryptContext: test rounds limits ... ok
CryptContext: test linear vary rounds ... ok
CryptContext: test log2 vary rounds ... ok
CryptContext: test deprecated='auto' is handled correctly ... ok
CryptContext: disabled hash support ... ok
CryptContext: dummy_verify() method ... ok
CryptContext: harden_verify -- parsing ... ok
LazyCryptContext: test_callable_constructor (passlib.tests.test_context.LazyCryptContextTest) ... ok
LazyCryptContext: test plain kwds ... ok
CryptContext: test constructor ... ok
CryptContext: test replace() ... ok
CryptContext: test no handlers ... ok
CryptContext: test hash_needs_update() method ... ok
CryptContext: test non-string hash values cause error ... ok
CryptPolicy: test CryptPolicy() constructor ... ok
CryptPolicy: test CryptPolicy.from_path() constructor with encodings ... ok
CryptPolicy: test CryptPolicy.from_path() constructor ... ok
CryptPolicy: test CryptPolicy.from_string() constructor ... ok
CryptPolicy: test CryptPolicy.from_source() constructor ... ok
CryptPolicy: test CryptPolicy.from_sources() constructor ... ok
CryptPolicy: test CryptPolicy.replace() constructor ... ok
CryptPolicy: test CryptPolicy() forbidden kwds ... ok
CryptPolicy: test has_schemes() method ... ok
CryptPolicy: test iter_handlers() method ... ok
CryptPolicy: test get_handler() method ... ok
CryptPolicy: test get_options() method ... ok
CryptPolicy: test handler_is_deprecated() method ... ok
CryptPolicy: test get_min_verify_time() method ... ok
CryptPolicy: test iter_config() method ... ok
CryptPolicy: test to_dict() method ... ok
CryptPolicy: test to_string() method ... ok
LazyCryptContext: test create_policy() hook, returning CryptPolicy ... ok
LazyCryptContext: test plain kwds ... ok
passlib.crypto._md4.md4(): informational attributes ... ok
passlib.crypto._md4.md4(): copy() method ... ok
passlib.crypto._md4.md4(): digest() method ... ok
passlib.crypto._md4.md4(): hexdigest() method ... ok
passlib.crypto._md4.md4(): update() method ... ok
hashlib.new('md4'): informational attributes ... ok
hashlib.new('md4'): copy() method ... ok
hashlib.new('md4'): digest() method ... ok
hashlib.new('md4'): hexdigest() method ... ok
hashlib.new('md4'): update() method ... ok
passlib.crypto.des: expand_des_key() ... ok
passlib.crypto.des: shrink_des_key() ... ok
passlib.crypto.des: des_encrypt_block() ... ok
passlib.crypto.des: des_encrypt_int_block() ... ok
passlib.crypto.digest: lookup_hash() -- alternate types ... ok
passlib.crypto.digest: lookup_hash() -- constructor ... ok
passlib.crypto.digest: lookup_hash() -- metadata ... ok
passlib.crypto.digest: norm_hash_name() ... ok
passlib.crypto.digest.pbkdf1: test border cases ... ok
passlib.crypto.digest.pbkdf1: test reference vectors ... ok
passlib.crypto.digest.pbkdf2_hmac() <backends: hashlib-ssl, builtin-from-bytes>: verify expected backends are present ... ok
passlib.crypto.digest.pbkdf2_hmac() <backends: hashlib-ssl, builtin-from-bytes>: test border cases ... ok
passlib.crypto.digest.pbkdf2_hmac() <backends: hashlib-ssl, builtin-from-bytes>: test keylen==None ... ok
passlib.crypto.digest.pbkdf2_hmac() <backends: hashlib-ssl, builtin-from-bytes>: test reference vectors ... ok
passlib.utils.scrypt.scrypt() <builtin backend>: backend management ... ok
passlib.utils.scrypt.scrypt() <builtin backend>: 'keylen' parameter ... ok
passlib.utils.scrypt.scrypt() <builtin backend>: backend management -- missing backend ... ok
passlib.utils.scrypt.scrypt() <builtin backend>: 'n' (rounds) parameter ... ok
passlib.utils.scrypt.scrypt() <builtin backend>: compare output to other backends ... SKIP: no other backends found
passlib.utils.scrypt.scrypt() <builtin backend>: 'p' (parallelism) parameter ... ok
passlib.utils.scrypt.scrypt() <builtin backend>: 'r' (block size) parameter ... ok
passlib.utils.scrypt.scrypt() <builtin backend>: reference vectors ... ok
passlib.utils.scrypt.scrypt() <builtin backend>: 'salt' parameter ... ok
passlib.utils.scrypt.scrypt() <builtin backend>: 'secret' parameter ... ok
passlib.crypto.scrypt._builtin: bmix() ... ok
passlib.crypto.scrypt._builtin: salsa20() ... ok
passlib.crypto.scrypt._builtin: smix() ... ok
verify django behavior: test hashing interface ... SKIP: Django not installed
passlib.ext.django plugin: test set_django_password_context patch/unpatch ... SKIP: Django not installed
passlib.ext.django plugin: test detection of foreign monkeypatching ... SKIP: Django not installed
passlib.ext.django plugin: test Hasher-compatible handler wrappers ... SKIP: Django not installed
passlib.ext.django plugin: test PASSLIB_CONFIG='disabled' ... SKIP: Django not installed
passlib.ext.django plugin: test PASSLIB_CONFIG='<preset>' ... SKIP: Django not installed
passlib.ext.django plugin: test PASSLIB_CONFIG default behavior ... SKIP: Django not installed
passlib.ext.django plugin: test PASSLIB_CONFIG type checks ... SKIP: Django not installed
passlib.ext.django plugin: test PASSLIB_GET_CATEGORY parameter ... SKIP: Django not installed
verify extension behavior: test hashing interface ... SKIP: Django not installed
external django hasher tests ... SKIP: django not installed
test_pairs (passlib.tests.test_handlers.RoundupTest) ... ok
apr_md5_crypt: validate required attributes ... ok
apr_md5_crypt: test basic config-string workflow ... ok
apr_md5_crypt: test basic using() workflow ... ok
apr_md5_crypt: test basic hash-string workflow. ... ok
apr_md5_crypt: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
apr_md5_crypt: test hashes can be unicode or bytes ... ok
apr_md5_crypt: test multi-backend support ... SKIP: handler only has one backend
apr_md5_crypt: validate optional salt attributes ... ok
apr_md5_crypt: test hash() / genconfig() creates new salt each time ... ok
apr_md5_crypt: test hash() / genconfig() honors min_salt_size ... ok
apr_md5_crypt: test hash() / genconfig() honors max_salt_size ... ok
apr_md5_crypt: test hash() honors salt_chars ... /builddir/build/BUILD/passlib-1.7.1/passlib/utils/__init__.py:278: DeprecationWarning: Using or importing the ABCs from 'collections' instead of from 'collections.abc' is deprecated, and in 3.8 it will stop working
  if isinstance(source, collections.Sequence):
ok
apr_md5_crypt: test non-string salt values ... ok
apr_md5_crypt: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
apr_md5_crypt: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
apr_md5_crypt: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
apr_md5_crypt: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
apr_md5_crypt: test password case sensitivity ... ok
apr_md5_crypt: test non-string passwords are rejected ... ok
apr_md5_crypt: test MAX_PASSWORD_SIZE is enforced ... ok
apr_md5_crypt: test forbidden characters not allowed in password ... SKIP: none listed
apr_md5_crypt: test known hashes ... ok
apr_md5_crypt: test known alternate hashes ... SKIP: no alternate hashes provided
apr_md5_crypt: test known config strings ... SKIP: no config strings provided
apr_md5_crypt: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
apr_md5_crypt: test known identifiable-but-malformed strings ... ok
apr_md5_crypt: test known foreign hashes ... ok
apr_md5_crypt: test non-string hashes are rejected ... ok
apr_md5_crypt: fuzz testing -- random passwords and options ... ok
apr_md5_crypt: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
apr_md5_crypt: .disable() / .enable() methods ... SKIP: not applicable
apr_md5_crypt: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
apr_md5_crypt: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
apr_md5_crypt: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
apr_md5_crypt: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
apr_md5_crypt: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
apr_md5_crypt: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
apr_md5_crypt: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
apr_md5_crypt: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
apr_md5_crypt: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
apr_md5_crypt: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
apr_md5_crypt: test no password size limits enforced (if truncate_size=None) ... ok
apr_md5_crypt: validate 'truncate_error' setting & related attributes ... ok
apr_md5_crypt: Handler.using() -- default_salt_size ... ok
bigcrypt: validate required attributes ... ok
bigcrypt: test basic config-string workflow ... ok
bigcrypt: test basic using() workflow ... ok
bigcrypt: test basic hash-string workflow. ... ok
bigcrypt: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
bigcrypt: test hashes can be unicode or bytes ... ok
bigcrypt: test multi-backend support ... SKIP: handler only has one backend
bigcrypt: validate optional salt attributes ... ok
bigcrypt: test hash() / genconfig() creates new salt each time ... ok
bigcrypt: test hash() / genconfig() honors min_salt_size ... ok
bigcrypt: test hash() / genconfig() honors max_salt_size ... ok
bigcrypt: test hash() honors salt_chars ... ok
bigcrypt: test non-string salt values ... ok
bigcrypt: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
bigcrypt: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
bigcrypt: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
bigcrypt: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
bigcrypt: test password case sensitivity ... ok
bigcrypt: test non-string passwords are rejected ... ok
bigcrypt: test MAX_PASSWORD_SIZE is enforced ... ok
bigcrypt: test forbidden characters not allowed in password ... SKIP: none listed
bigcrypt: test known hashes ... ok
bigcrypt: test known alternate hashes ... SKIP: no alternate hashes provided
bigcrypt: test known config strings ... SKIP: no config strings provided
bigcrypt: test known unidentifiably-mangled strings ... ok
bigcrypt: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
bigcrypt: test known foreign hashes ... ok
bigcrypt: test non-string hashes are rejected ... ok
bigcrypt: fuzz testing -- random passwords and options ... ok
bigcrypt: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
bigcrypt: test_90_internal (passlib.tests.test_handlers.bigcrypt_test) ... ok
bigcrypt: .disable() / .enable() methods ... SKIP: not applicable
bigcrypt: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
bigcrypt: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
bigcrypt: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
bigcrypt: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
bigcrypt: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
bigcrypt: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
bigcrypt: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
bigcrypt: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
bigcrypt: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
bigcrypt: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
bigcrypt: test no password size limits enforced (if truncate_size=None) ... ok
bigcrypt: validate 'truncate_error' setting & related attributes ... ok
bigcrypt: Handler.using() -- default_salt_size ... ok
bsd_nthash: validate required attributes ... ok
bsd_nthash: test basic config-string workflow ... ok
bsd_nthash: test basic using() workflow ... ok
bsd_nthash: test basic hash-string workflow. ... ok
bsd_nthash: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
bsd_nthash: test hashes can be unicode or bytes ... ok
bsd_nthash: test multi-backend support ... SKIP: handler only has one backend
bsd_nthash: validate optional salt attributes ... SKIP: handler doesn't have salt
bsd_nthash: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
bsd_nthash: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
bsd_nthash: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
bsd_nthash: test hash() honors salt_chars ... SKIP: handler doesn't have salt
bsd_nthash: test non-string salt values ... SKIP: handler doesn't have salt
bsd_nthash: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
bsd_nthash: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
bsd_nthash: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
bsd_nthash: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
bsd_nthash: test password case sensitivity ... ok
bsd_nthash: test non-string passwords are rejected ... ok
bsd_nthash: test MAX_PASSWORD_SIZE is enforced ... ok
bsd_nthash: test forbidden characters not allowed in password ... SKIP: none listed
bsd_nthash: test known hashes ... ok
bsd_nthash: test known alternate hashes ... SKIP: no alternate hashes provided
bsd_nthash: test known config strings ... SKIP: hash has no settings
bsd_nthash: test known unidentifiably-mangled strings ... ok
bsd_nthash: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
bsd_nthash: test known foreign hashes ... ok
bsd_nthash: test non-string hashes are rejected ... ok
bsd_nthash: fuzz testing -- random passwords and options ... ok
bsd_nthash: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
bsd_nthash: .disable() / .enable() methods ... SKIP: not applicable
bsd_nthash: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
bsd_nthash: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
bsd_nthash: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
bsd_nthash: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
bsd_nthash: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
bsd_nthash: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
bsd_nthash: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
bsd_nthash: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
bsd_nthash: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
bsd_nthash: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
bsd_nthash: test no password size limits enforced (if truncate_size=None) ... ok
bsd_nthash: validate 'truncate_error' setting & related attributes ... ok
bsd_nthash: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
bsdi_crypt (os_crypt backend): validate required attributes ... ok
bsdi_crypt (os_crypt backend): test basic config-string workflow ... ok
bsdi_crypt (os_crypt backend): test basic using() workflow ... ok
bsdi_crypt (os_crypt backend): test basic hash-string workflow. ... ok
bsdi_crypt (os_crypt backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
bsdi_crypt (os_crypt backend): test hashes can be unicode or bytes ... ok
bsdi_crypt (os_crypt backend): test multi-backend support ... ok
bsdi_crypt (os_crypt backend): validate optional salt attributes ... ok
bsdi_crypt (os_crypt backend): test hash() / genconfig() creates new salt each time ... ok
bsdi_crypt (os_crypt backend): test hash() / genconfig() honors min_salt_size ... ok
bsdi_crypt (os_crypt backend): test hash() / genconfig() honors max_salt_size ... ok
bsdi_crypt (os_crypt backend): test hash() honors salt_chars ... ok
bsdi_crypt (os_crypt backend): test non-string salt values ... ok
bsdi_crypt (os_crypt backend): validate optional rounds attributes ... ok
bsdi_crypt (os_crypt backend): test hash() / genconfig() honors min_rounds ... ok
bsdi_crypt (os_crypt backend): test hash() / genconfig() honors max_rounds ... ok
bsdi_crypt (os_crypt backend): validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
bsdi_crypt (os_crypt backend): test password case sensitivity ... ok
bsdi_crypt (os_crypt backend): test non-string passwords are rejected ... ok
bsdi_crypt (os_crypt backend): test MAX_PASSWORD_SIZE is enforced ... ok
bsdi_crypt (os_crypt backend): test forbidden characters not allowed in password ... ok
bsdi_crypt (os_crypt backend): test known hashes ... ok
bsdi_crypt (os_crypt backend): test known alternate hashes ... SKIP: no alternate hashes provided
bsdi_crypt (os_crypt backend): test known config strings ... SKIP: no config strings provided
bsdi_crypt (os_crypt backend): test known unidentifiably-mangled strings ... ok
bsdi_crypt (os_crypt backend): test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
bsdi_crypt (os_crypt backend): test known foreign hashes ... ok
bsdi_crypt (os_crypt backend): test non-string hashes are rejected ... ok
bsdi_crypt (os_crypt backend): test_77_fuzz_input (passlib.tests.test_handlers.bsdi_crypt_os_crypt_test) ... ok
bsdi_crypt (os_crypt backend): multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
bsdi_crypt (os_crypt backend): test with faulty crypt() ... ok
bsdi_crypt (os_crypt backend): test per-call crypt() fallback ... ok
bsdi_crypt (os_crypt backend): test platform-specific crypt() support detection ... SKIP: no data for 'linux' platform
bsdi_crypt (os_crypt backend): .disable() / .enable() methods ... SKIP: not applicable
bsdi_crypt (os_crypt backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
bsdi_crypt (os_crypt backend): HasRounds.using() -- max_rounds / max_desired_rounds ... ok
bsdi_crypt (os_crypt backend): HasRounds.using() -- desired_rounds + needs_update() ... ok
bsdi_crypt (os_crypt backend): HasRounds.using() -- sanity check test harness ... ok
bsdi_crypt (os_crypt backend): HasRounds.using() -- default_rounds ... ok
bsdi_crypt (os_crypt backend): HasRounds.using() -- min_rounds / min_desired_rounds ... ok
bsdi_crypt (os_crypt backend): HasRounds.using() -- rounds ... ok
bsdi_crypt (os_crypt backend): HasRounds.using() -- vary_rounds generation ... ok
bsdi_crypt (os_crypt backend): HasRounds.using() -- vary_rounds parsing ... ok
bsdi_crypt (os_crypt backend): needs_update() should flag even rounds ... ok
bsdi_crypt (os_crypt backend): test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
bsdi_crypt (os_crypt backend): test no password size limits enforced (if truncate_size=None) ... ok
bsdi_crypt (os_crypt backend): validate 'truncate_error' setting & related attributes ... ok
bsdi_crypt (os_crypt backend): Handler.using() -- default_salt_size ... ok
crypt16: validate required attributes ... ok
crypt16: test basic config-string workflow ... ok
crypt16: test basic using() workflow ... ok
crypt16: test basic hash-string workflow. ... ok
crypt16: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
crypt16: test hashes can be unicode or bytes ... ok
crypt16: test multi-backend support ... SKIP: handler only has one backend
crypt16: validate optional salt attributes ... ok
crypt16: test hash() / genconfig() creates new salt each time ... ok
crypt16: test hash() / genconfig() honors min_salt_size ... ok
crypt16: test hash() / genconfig() honors max_salt_size ... ok
crypt16: test hash() honors salt_chars ... ok
crypt16: test non-string salt values ... ok
crypt16: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
crypt16: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
crypt16: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
crypt16: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
crypt16: test password case sensitivity ... ok
crypt16: test non-string passwords are rejected ... ok
crypt16: test MAX_PASSWORD_SIZE is enforced ... ok
crypt16: test forbidden characters not allowed in password ... SKIP: none listed
crypt16: test known hashes ... ok
crypt16: test known alternate hashes ... SKIP: no alternate hashes provided
crypt16: test known config strings ... SKIP: no config strings provided
crypt16: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
crypt16: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
crypt16: test known foreign hashes ... ok
crypt16: test non-string hashes are rejected ... ok
crypt16: fuzz testing -- random passwords and options ... ok
crypt16: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
crypt16: .disable() / .enable() methods ... SKIP: not applicable
crypt16: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
crypt16: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
crypt16: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
crypt16: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
crypt16: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
crypt16: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
crypt16: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
crypt16: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
crypt16: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
crypt16: test password size limits raise truncate_error (if appropriate) ... ok
crypt16: test no password size limits enforced (if truncate_size=None) ... SKIP: truncate_size is set
crypt16: validate 'truncate_error' setting & related attributes ... ok
crypt16: Handler.using() -- default_salt_size ... ok
des_crypt (os_crypt backend): validate required attributes ... ok
des_crypt (os_crypt backend): test basic config-string workflow ... ok
des_crypt (os_crypt backend): test basic using() workflow ... ok
des_crypt (os_crypt backend): test basic hash-string workflow. ... ok
des_crypt (os_crypt backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
des_crypt (os_crypt backend): test hashes can be unicode or bytes ... ok
des_crypt (os_crypt backend): test multi-backend support ... ok
des_crypt (os_crypt backend): validate optional salt attributes ... ok
des_crypt (os_crypt backend): test hash() / genconfig() creates new salt each time ... ok
des_crypt (os_crypt backend): test hash() / genconfig() honors min_salt_size ... ok
des_crypt (os_crypt backend): test hash() / genconfig() honors max_salt_size ... ok
des_crypt (os_crypt backend): test hash() honors salt_chars ... ok
des_crypt (os_crypt backend): test non-string salt values ... ok
des_crypt (os_crypt backend): validate optional rounds attributes ... SKIP: handler lacks rounds attributes
des_crypt (os_crypt backend): test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
des_crypt (os_crypt backend): test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
des_crypt (os_crypt backend): validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
des_crypt (os_crypt backend): test password case sensitivity ... ok
des_crypt (os_crypt backend): test non-string passwords are rejected ... ok
des_crypt (os_crypt backend): test MAX_PASSWORD_SIZE is enforced ... ok
des_crypt (os_crypt backend): test forbidden characters not allowed in password ... ok
des_crypt (os_crypt backend): test known hashes ... ok
des_crypt (os_crypt backend): test known alternate hashes ... SKIP: no alternate hashes provided
des_crypt (os_crypt backend): test known config strings ... SKIP: no config strings provided
des_crypt (os_crypt backend): test known unidentifiably-mangled strings ... ok
des_crypt (os_crypt backend): test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
des_crypt (os_crypt backend): test known foreign hashes ... ok
des_crypt (os_crypt backend): test non-string hashes are rejected ... ok
des_crypt (os_crypt backend): fuzz testing -- random passwords and options ... ok
des_crypt (os_crypt backend): multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
des_crypt (os_crypt backend): test with faulty crypt() ... ok
des_crypt (os_crypt backend): test per-call crypt() fallback ... ok
des_crypt (os_crypt backend): test platform-specific crypt() support detection ... ok
des_crypt (os_crypt backend): .disable() / .enable() methods ... SKIP: not applicable
des_crypt (os_crypt backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
des_crypt (os_crypt backend): HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
des_crypt (os_crypt backend): HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
des_crypt (os_crypt backend): HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
des_crypt (os_crypt backend): HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
des_crypt (os_crypt backend): HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
des_crypt (os_crypt backend): HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
des_crypt (os_crypt backend): HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
des_crypt (os_crypt backend): HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
des_crypt (os_crypt backend): test password size limits raise truncate_error (if appropriate) ... ok
des_crypt (os_crypt backend): test no password size limits enforced (if truncate_size=None) ... SKIP: truncate_size is set
des_crypt (os_crypt backend): validate 'truncate_error' setting & related attributes ... ok
des_crypt (os_crypt backend): Handler.using() -- default_salt_size ... ok
fshp: validate required attributes ... ok
fshp: test basic config-string workflow ... ok
fshp: test basic using() workflow ... ok
fshp: test basic hash-string workflow. ... ok
fshp: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
fshp: test hashes can be unicode or bytes ... ok
fshp: test multi-backend support ... SKIP: handler only has one backend
fshp: validate optional salt attributes ... ok
fshp: test hash() / genconfig() creates new salt each time ... ok
fshp: test hash() / genconfig() honors min_salt_size ... ok
fshp: test hash() / genconfig() honors max_salt_size ... ok
fshp: test hash() honors salt_chars ... ok
fshp: test non-string salt values ... ok
fshp: validate optional rounds attributes ... ok
fshp: test hash() / genconfig() honors min_rounds ... ok
fshp: test hash() / genconfig() honors max_rounds ... ok
fshp: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
fshp: test password case sensitivity ... ok
fshp: test non-string passwords are rejected ... ok
fshp: test MAX_PASSWORD_SIZE is enforced ... ok
fshp: test forbidden characters not allowed in password ... SKIP: none listed
fshp: test known hashes ... ok
fshp: test known alternate hashes ... SKIP: no alternate hashes provided
fshp: test known config strings ... SKIP: no config strings provided
fshp: test known unidentifiably-mangled strings ... ok
fshp: test known identifiable-but-malformed strings ... ok
fshp: test known foreign hashes ... ok
fshp: test non-string hashes are rejected ... ok
fshp: fuzz testing -- random passwords and options ... ok
fshp: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
fshp: test variant keyword ... ok
fshp: .disable() / .enable() methods ... SKIP: not applicable
fshp: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
fshp: HasRounds.using() -- max_rounds / max_desired_rounds ... ok
fshp: HasRounds.using() -- desired_rounds + needs_update() ... ok
fshp: HasRounds.using() -- sanity check test harness ... ok
fshp: HasRounds.using() -- default_rounds ... ok
fshp: HasRounds.using() -- min_rounds / min_desired_rounds ... ok
fshp: HasRounds.using() -- rounds ... ok
fshp: HasRounds.using() -- vary_rounds generation ... ok
fshp: HasRounds.using() -- vary_rounds parsing ... ok
fshp: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
fshp: test no password size limits enforced (if truncate_size=None) ... ok
fshp: validate 'truncate_error' setting & related attributes ... ok
fshp: Handler.using() -- default_salt_size ... ok
hex_md4: validate required attributes ... ok
hex_md4: test basic config-string workflow ... ok
hex_md4: test basic using() workflow ... ok
hex_md4: test basic hash-string workflow. ... ok
hex_md4: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
hex_md4: test hashes can be unicode or bytes ... ok
hex_md4: test multi-backend support ... SKIP: handler only has one backend
hex_md4: validate optional salt attributes ... SKIP: handler doesn't have salt
hex_md4: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
hex_md4: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
hex_md4: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
hex_md4: test hash() honors salt_chars ... SKIP: handler doesn't have salt
hex_md4: test non-string salt values ... SKIP: handler doesn't have salt
hex_md4: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
hex_md4: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
hex_md4: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
hex_md4: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
hex_md4: test password case sensitivity ... ok
hex_md4: test non-string passwords are rejected ... ok
hex_md4: test MAX_PASSWORD_SIZE is enforced ... ok
hex_md4: test forbidden characters not allowed in password ... SKIP: none listed
hex_md4: test known hashes ... ok
hex_md4: test known alternate hashes ... SKIP: no alternate hashes provided
hex_md4: test known config strings ... SKIP: hash has no settings
hex_md4: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
hex_md4: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
hex_md4: test known foreign hashes ... ok
hex_md4: test non-string hashes are rejected ... ok
hex_md4: fuzz testing -- random passwords and options ... ok
hex_md4: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
hex_md4: .disable() / .enable() methods ... SKIP: not applicable
hex_md4: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
hex_md4: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
hex_md4: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
hex_md4: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
hex_md4: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
hex_md4: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
hex_md4: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
hex_md4: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
hex_md4: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
hex_md4: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
hex_md4: test no password size limits enforced (if truncate_size=None) ... ok
hex_md4: validate 'truncate_error' setting & related attributes ... ok
hex_md4: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
hex_md5: validate required attributes ... ok
hex_md5: test basic config-string workflow ... ok
hex_md5: test basic using() workflow ... ok
hex_md5: test basic hash-string workflow. ... ok
hex_md5: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
hex_md5: test hashes can be unicode or bytes ... ok
hex_md5: test multi-backend support ... SKIP: handler only has one backend
hex_md5: validate optional salt attributes ... SKIP: handler doesn't have salt
hex_md5: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
hex_md5: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
hex_md5: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
hex_md5: test hash() honors salt_chars ... SKIP: handler doesn't have salt
hex_md5: test non-string salt values ... SKIP: handler doesn't have salt
hex_md5: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
hex_md5: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
hex_md5: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
hex_md5: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
hex_md5: test password case sensitivity ... ok
hex_md5: test non-string passwords are rejected ... ok
hex_md5: test MAX_PASSWORD_SIZE is enforced ... ok
hex_md5: test forbidden characters not allowed in password ... SKIP: none listed
hex_md5: test known hashes ... ok
hex_md5: test known alternate hashes ... SKIP: no alternate hashes provided
hex_md5: test known config strings ... SKIP: hash has no settings
hex_md5: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
hex_md5: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
hex_md5: test known foreign hashes ... ok
hex_md5: test non-string hashes are rejected ... ok
hex_md5: fuzz testing -- random passwords and options ... ok
hex_md5: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
hex_md5: .disable() / .enable() methods ... SKIP: not applicable
hex_md5: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
hex_md5: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
hex_md5: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
hex_md5: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
hex_md5: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
hex_md5: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
hex_md5: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
hex_md5: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
hex_md5: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
hex_md5: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
hex_md5: test no password size limits enforced (if truncate_size=None) ... ok
hex_md5: validate 'truncate_error' setting & related attributes ... ok
hex_md5: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
hex_sha1: validate required attributes ... ok
hex_sha1: test basic config-string workflow ... ok
hex_sha1: test basic using() workflow ... ok
hex_sha1: test basic hash-string workflow. ... ok
hex_sha1: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
hex_sha1: test hashes can be unicode or bytes ... ok
hex_sha1: test multi-backend support ... SKIP: handler only has one backend
hex_sha1: validate optional salt attributes ... SKIP: handler doesn't have salt
hex_sha1: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
hex_sha1: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
hex_sha1: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
hex_sha1: test hash() honors salt_chars ... SKIP: handler doesn't have salt
hex_sha1: test non-string salt values ... SKIP: handler doesn't have salt
hex_sha1: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
hex_sha1: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
hex_sha1: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
hex_sha1: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
hex_sha1: test password case sensitivity ... ok
hex_sha1: test non-string passwords are rejected ... ok
hex_sha1: test MAX_PASSWORD_SIZE is enforced ... ok
hex_sha1: test forbidden characters not allowed in password ... SKIP: none listed
hex_sha1: test known hashes ... ok
hex_sha1: test known alternate hashes ... SKIP: no alternate hashes provided
hex_sha1: test known config strings ... SKIP: hash has no settings
hex_sha1: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
hex_sha1: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
hex_sha1: test known foreign hashes ... ok
hex_sha1: test non-string hashes are rejected ... ok
hex_sha1: fuzz testing -- random passwords and options ... ok
hex_sha1: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
hex_sha1: .disable() / .enable() methods ... SKIP: not applicable
hex_sha1: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
hex_sha1: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
hex_sha1: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
hex_sha1: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
hex_sha1: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
hex_sha1: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
hex_sha1: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
hex_sha1: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
hex_sha1: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
hex_sha1: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
hex_sha1: test no password size limits enforced (if truncate_size=None) ... ok
hex_sha1: validate 'truncate_error' setting & related attributes ... ok
hex_sha1: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
hex_sha256: validate required attributes ... ok
hex_sha256: test basic config-string workflow ... ok
hex_sha256: test basic using() workflow ... ok
hex_sha256: test basic hash-string workflow. ... ok
hex_sha256: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
hex_sha256: test hashes can be unicode or bytes ... ok
hex_sha256: test multi-backend support ... SKIP: handler only has one backend
hex_sha256: validate optional salt attributes ... SKIP: handler doesn't have salt
hex_sha256: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
hex_sha256: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
hex_sha256: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
hex_sha256: test hash() honors salt_chars ... SKIP: handler doesn't have salt
hex_sha256: test non-string salt values ... SKIP: handler doesn't have salt
hex_sha256: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
hex_sha256: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
hex_sha256: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
hex_sha256: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
hex_sha256: test password case sensitivity ... ok
hex_sha256: test non-string passwords are rejected ... ok
hex_sha256: test MAX_PASSWORD_SIZE is enforced ... ok
hex_sha256: test forbidden characters not allowed in password ... SKIP: none listed
hex_sha256: test known hashes ... ok
hex_sha256: test known alternate hashes ... SKIP: no alternate hashes provided
hex_sha256: test known config strings ... SKIP: hash has no settings
hex_sha256: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
hex_sha256: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
hex_sha256: test known foreign hashes ... ok
hex_sha256: test non-string hashes are rejected ... ok
hex_sha256: fuzz testing -- random passwords and options ... ok
hex_sha256: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
hex_sha256: .disable() / .enable() methods ... SKIP: not applicable
hex_sha256: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
hex_sha256: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
hex_sha256: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
hex_sha256: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
hex_sha256: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
hex_sha256: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
hex_sha256: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
hex_sha256: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
hex_sha256: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
hex_sha256: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
hex_sha256: test no password size limits enforced (if truncate_size=None) ... ok
hex_sha256: validate 'truncate_error' setting & related attributes ... ok
hex_sha256: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
hex_sha512: validate required attributes ... ok
hex_sha512: test basic config-string workflow ... ok
hex_sha512: test basic using() workflow ... ok
hex_sha512: test basic hash-string workflow. ... ok
hex_sha512: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
hex_sha512: test hashes can be unicode or bytes ... ok
hex_sha512: test multi-backend support ... SKIP: handler only has one backend
hex_sha512: validate optional salt attributes ... SKIP: handler doesn't have salt
hex_sha512: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
hex_sha512: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
hex_sha512: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
hex_sha512: test hash() honors salt_chars ... SKIP: handler doesn't have salt
hex_sha512: test non-string salt values ... SKIP: handler doesn't have salt
hex_sha512: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
hex_sha512: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
hex_sha512: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
hex_sha512: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
hex_sha512: test password case sensitivity ... ok
hex_sha512: test non-string passwords are rejected ... ok
hex_sha512: test MAX_PASSWORD_SIZE is enforced ... ok
hex_sha512: test forbidden characters not allowed in password ... SKIP: none listed
hex_sha512: test known hashes ... ok
hex_sha512: test known alternate hashes ... SKIP: no alternate hashes provided
hex_sha512: test known config strings ... SKIP: hash has no settings
hex_sha512: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
hex_sha512: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
hex_sha512: test known foreign hashes ... ok
hex_sha512: test non-string hashes are rejected ... ok
hex_sha512: fuzz testing -- random passwords and options ... ok
hex_sha512: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
hex_sha512: .disable() / .enable() methods ... SKIP: not applicable
hex_sha512: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
hex_sha512: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
hex_sha512: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
hex_sha512: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
hex_sha512: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
hex_sha512: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
hex_sha512: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
hex_sha512: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
hex_sha512: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
hex_sha512: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
hex_sha512: test no password size limits enforced (if truncate_size=None) ... ok
hex_sha512: validate 'truncate_error' setting & related attributes ... ok
hex_sha512: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
htdigest: validate required attributes ... ok
htdigest: test basic config-string workflow ... ok
htdigest: test basic using() workflow ... ok
htdigest: test basic hash-string workflow. ... ok
htdigest: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
htdigest: test hashes can be unicode or bytes ... ok
htdigest: test multi-backend support ... SKIP: handler only has one backend
htdigest: validate optional salt attributes ... SKIP: handler doesn't have salt
htdigest: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
htdigest: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
htdigest: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
htdigest: test hash() honors salt_chars ... SKIP: handler doesn't have salt
htdigest: test non-string salt values ... SKIP: handler doesn't have salt
htdigest: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
htdigest: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
htdigest: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
htdigest: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
htdigest: test password case sensitivity ... ok
htdigest: test non-string passwords are rejected ... ok
htdigest: test MAX_PASSWORD_SIZE is enforced ... ok
htdigest: test forbidden characters not allowed in password ... SKIP: none listed
htdigest: test known hashes ... ok
htdigest: test known alternate hashes ... SKIP: no alternate hashes provided
htdigest: test known config strings ... SKIP: hash has no settings
htdigest: test known unidentifiably-mangled strings ... ok
htdigest: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
htdigest: test known foreign hashes ... ok
htdigest: test non-string hashes are rejected ... ok
htdigest: fuzz testing -- random passwords and options ... ok
htdigest: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
htdigest: test_80_user (passlib.tests.test_handlers.htdigest_test) ... SKIP: test case doesn't support 'realm' keyword
htdigest: test user case sensitivity ... ok
htdigest: test user used as salt ... ok
htdigest: .disable() / .enable() methods ... SKIP: not applicable
htdigest: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
htdigest: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
htdigest: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
htdigest: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
htdigest: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
htdigest: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
htdigest: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
htdigest: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
htdigest: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
htdigest: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
htdigest: test no password size limits enforced (if truncate_size=None) ... ok
htdigest: validate 'truncate_error' setting & related attributes ... ok
htdigest: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
ldap_md5_crypt (os_crypt backend): validate required attributes ... ok
ldap_md5_crypt (os_crypt backend): test basic config-string workflow ... ok
ldap_md5_crypt (os_crypt backend): test basic using() workflow ... ok
ldap_md5_crypt (os_crypt backend): test basic hash-string workflow. ... ok
ldap_md5_crypt (os_crypt backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
ldap_md5_crypt (os_crypt backend): test hashes can be unicode or bytes ... ok
ldap_md5_crypt (os_crypt backend): test multi-backend support ... ok
ldap_md5_crypt (os_crypt backend): validate optional salt attributes ... ok
ldap_md5_crypt (os_crypt backend): test hash() / genconfig() creates new salt each time ... ok
ldap_md5_crypt (os_crypt backend): test hash() / genconfig() honors min_salt_size ... ok
ldap_md5_crypt (os_crypt backend): test hash() / genconfig() honors max_salt_size ... ok
ldap_md5_crypt (os_crypt backend): test hash() honors salt_chars ... ok
ldap_md5_crypt (os_crypt backend): test non-string salt values ... ok
ldap_md5_crypt (os_crypt backend): validate optional rounds attributes ... SKIP: handler lacks rounds attributes
ldap_md5_crypt (os_crypt backend): test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
ldap_md5_crypt (os_crypt backend): test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
ldap_md5_crypt (os_crypt backend): validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
ldap_md5_crypt (os_crypt backend): test password case sensitivity ... ok
ldap_md5_crypt (os_crypt backend): test non-string passwords are rejected ... ok
ldap_md5_crypt (os_crypt backend): test MAX_PASSWORD_SIZE is enforced ... ok
ldap_md5_crypt (os_crypt backend): test forbidden characters not allowed in password ... ok
ldap_md5_crypt (os_crypt backend): test known hashes ... ok
ldap_md5_crypt (os_crypt backend): test known alternate hashes ... SKIP: no alternate hashes provided
ldap_md5_crypt (os_crypt backend): test known config strings ... SKIP: no config strings provided
ldap_md5_crypt (os_crypt backend): test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
ldap_md5_crypt (os_crypt backend): test known identifiable-but-malformed strings ... ok
ldap_md5_crypt (os_crypt backend): test known foreign hashes ... ok
ldap_md5_crypt (os_crypt backend): test non-string hashes are rejected ... ok
ldap_md5_crypt (os_crypt backend): fuzz testing -- random passwords and options ... ok
ldap_md5_crypt (os_crypt backend): multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
ldap_md5_crypt (os_crypt backend): test with faulty crypt() ... ok
ldap_md5_crypt (os_crypt backend): test per-call crypt() fallback ... ok
ldap_md5_crypt (os_crypt backend): test platform-specific crypt() support detection ... SKIP: not applicable to wrappers
ldap_md5_crypt (os_crypt backend): .disable() / .enable() methods ... SKIP: not applicable
ldap_md5_crypt (os_crypt backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
ldap_md5_crypt (os_crypt backend): HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
ldap_md5_crypt (os_crypt backend): HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
ldap_md5_crypt (os_crypt backend): HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
ldap_md5_crypt (os_crypt backend): HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
ldap_md5_crypt (os_crypt backend): HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
ldap_md5_crypt (os_crypt backend): HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
ldap_md5_crypt (os_crypt backend): HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
ldap_md5_crypt (os_crypt backend): HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
ldap_md5_crypt (os_crypt backend): test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
ldap_md5_crypt (os_crypt backend): test no password size limits enforced (if truncate_size=None) ... ok
ldap_md5_crypt (os_crypt backend): validate 'truncate_error' setting & related attributes ... ok
ldap_md5_crypt (os_crypt backend): Handler.using() -- default_salt_size ... ok
ldap_md5: validate required attributes ... ok
ldap_md5: test basic config-string workflow ... ok
ldap_md5: test basic using() workflow ... ok
ldap_md5: test basic hash-string workflow. ... ok
ldap_md5: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
ldap_md5: test hashes can be unicode or bytes ... ok
ldap_md5: test multi-backend support ... SKIP: handler only has one backend
ldap_md5: validate optional salt attributes ... SKIP: handler doesn't have salt
ldap_md5: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
ldap_md5: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
ldap_md5: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
ldap_md5: test hash() honors salt_chars ... SKIP: handler doesn't have salt
ldap_md5: test non-string salt values ... SKIP: handler doesn't have salt
ldap_md5: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
ldap_md5: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
ldap_md5: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
ldap_md5: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
ldap_md5: test password case sensitivity ... ok
ldap_md5: test non-string passwords are rejected ... ok
ldap_md5: test MAX_PASSWORD_SIZE is enforced ... ok
ldap_md5: test forbidden characters not allowed in password ... SKIP: none listed
ldap_md5: test known hashes ... ok
ldap_md5: test known alternate hashes ... SKIP: no alternate hashes provided
ldap_md5: test known config strings ... SKIP: hash has no settings
ldap_md5: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
ldap_md5: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
ldap_md5: test known foreign hashes ... ok
ldap_md5: test non-string hashes are rejected ... ok
ldap_md5: fuzz testing -- random passwords and options ... ok
ldap_md5: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
ldap_md5: .disable() / .enable() methods ... SKIP: not applicable
ldap_md5: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
ldap_md5: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
ldap_md5: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
ldap_md5: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
ldap_md5: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
ldap_md5: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
ldap_md5: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
ldap_md5: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
ldap_md5: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
ldap_md5: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
ldap_md5: test no password size limits enforced (if truncate_size=None) ... ok
ldap_md5: validate 'truncate_error' setting & related attributes ... ok
ldap_md5: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
ldap_plaintext: validate required attributes ... ok
ldap_plaintext: test basic config-string workflow ... ok
ldap_plaintext: test basic using() workflow ... ok
ldap_plaintext: test basic hash-string workflow. ... ok
ldap_plaintext: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
ldap_plaintext: test hashes can be unicode or bytes ... ok
ldap_plaintext: test multi-backend support ... SKIP: handler only has one backend
ldap_plaintext: validate optional salt attributes ... SKIP: handler doesn't have salt
ldap_plaintext: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
ldap_plaintext: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
ldap_plaintext: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
ldap_plaintext: test hash() honors salt_chars ... SKIP: handler doesn't have salt
ldap_plaintext: test non-string salt values ... SKIP: handler doesn't have salt
ldap_plaintext: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
ldap_plaintext: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
ldap_plaintext: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
ldap_plaintext: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
ldap_plaintext: test password case sensitivity ... ok
ldap_plaintext: test non-string passwords are rejected ... ok
ldap_plaintext: test MAX_PASSWORD_SIZE is enforced ... ok
ldap_plaintext: test forbidden characters not allowed in password ... SKIP: none listed
ldap_plaintext: test known hashes ... ok
ldap_plaintext: test known alternate hashes ... SKIP: no alternate hashes provided
ldap_plaintext: test known config strings ... SKIP: hash has no settings
ldap_plaintext: test known unidentifiably-mangled strings ... ok
ldap_plaintext: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
ldap_plaintext: test known foreign hashes ... ok
ldap_plaintext: test non-string hashes are rejected ... ok
ldap_plaintext: fuzz testing -- random passwords and options ... ok
ldap_plaintext: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
ldap_plaintext: .disable() / .enable() methods ... SKIP: not applicable
ldap_plaintext: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
ldap_plaintext: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
ldap_plaintext: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
ldap_plaintext: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
ldap_plaintext: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
ldap_plaintext: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
ldap_plaintext: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
ldap_plaintext: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
ldap_plaintext: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
ldap_plaintext: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
ldap_plaintext: test no password size limits enforced (if truncate_size=None) ... ok
ldap_plaintext: validate 'truncate_error' setting & related attributes ... ok
ldap_plaintext: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
ldap_salted_md5: validate required attributes ... ok
ldap_salted_md5: test basic config-string workflow ... ok
ldap_salted_md5: test basic using() workflow ... ok
ldap_salted_md5: test basic hash-string workflow. ... ok
ldap_salted_md5: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
ldap_salted_md5: test hashes can be unicode or bytes ... ok
ldap_salted_md5: test multi-backend support ... SKIP: handler only has one backend
ldap_salted_md5: validate optional salt attributes ... ok
ldap_salted_md5: test hash() / genconfig() creates new salt each time ... ok
ldap_salted_md5: test hash() / genconfig() honors min_salt_size ... ok
ldap_salted_md5: test hash() / genconfig() honors max_salt_size ... ok
ldap_salted_md5: test hash() honors salt_chars ... ok
ldap_salted_md5: test non-string salt values ... ok
ldap_salted_md5: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
ldap_salted_md5: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
ldap_salted_md5: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
ldap_salted_md5: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
ldap_salted_md5: test password case sensitivity ... ok
ldap_salted_md5: test non-string passwords are rejected ... ok
ldap_salted_md5: test MAX_PASSWORD_SIZE is enforced ... ok
ldap_salted_md5: test forbidden characters not allowed in password ... SKIP: none listed
ldap_salted_md5: test known hashes ... ok
ldap_salted_md5: test known alternate hashes ... SKIP: no alternate hashes provided
ldap_salted_md5: test known config strings ... SKIP: no config strings provided
ldap_salted_md5: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
ldap_salted_md5: test known identifiable-but-malformed strings ... ok
ldap_salted_md5: test known foreign hashes ... ok
ldap_salted_md5: test non-string hashes are rejected ... ok
ldap_salted_md5: fuzz testing -- random passwords and options ... ok
ldap_salted_md5: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
ldap_salted_md5: .disable() / .enable() methods ... SKIP: not applicable
ldap_salted_md5: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
ldap_salted_md5: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
ldap_salted_md5: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
ldap_salted_md5: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
ldap_salted_md5: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
ldap_salted_md5: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
ldap_salted_md5: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
ldap_salted_md5: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
ldap_salted_md5: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
ldap_salted_md5: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
ldap_salted_md5: test no password size limits enforced (if truncate_size=None) ... ok
ldap_salted_md5: validate 'truncate_error' setting & related attributes ... ok
ldap_salted_md5: Handler.using() -- default_salt_size ... ok
ldap_salted_sha1: validate required attributes ... ok
ldap_salted_sha1: test basic config-string workflow ... ok
ldap_salted_sha1: test basic using() workflow ... ok
ldap_salted_sha1: test basic hash-string workflow. ... ok
ldap_salted_sha1: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
ldap_salted_sha1: test hashes can be unicode or bytes ... ok
ldap_salted_sha1: test multi-backend support ... SKIP: handler only has one backend
ldap_salted_sha1: validate optional salt attributes ... ok
ldap_salted_sha1: test hash() / genconfig() creates new salt each time ... ok
ldap_salted_sha1: test hash() / genconfig() honors min_salt_size ... ok
ldap_salted_sha1: test hash() / genconfig() honors max_salt_size ... ok
ldap_salted_sha1: test hash() honors salt_chars ... ok
ldap_salted_sha1: test non-string salt values ... ok
ldap_salted_sha1: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
ldap_salted_sha1: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
ldap_salted_sha1: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
ldap_salted_sha1: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
ldap_salted_sha1: test password case sensitivity ... ok
ldap_salted_sha1: test non-string passwords are rejected ... ok
ldap_salted_sha1: test MAX_PASSWORD_SIZE is enforced ... ok
ldap_salted_sha1: test forbidden characters not allowed in password ... SKIP: none listed
ldap_salted_sha1: test known hashes ... ok
ldap_salted_sha1: test known alternate hashes ... SKIP: no alternate hashes provided
ldap_salted_sha1: test known config strings ... SKIP: no config strings provided
ldap_salted_sha1: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
ldap_salted_sha1: test known identifiable-but-malformed strings ... ok
ldap_salted_sha1: test known foreign hashes ... ok
ldap_salted_sha1: test non-string hashes are rejected ... ok
ldap_salted_sha1: fuzz testing -- random passwords and options ... ok
ldap_salted_sha1: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
ldap_salted_sha1: .disable() / .enable() methods ... SKIP: not applicable
ldap_salted_sha1: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
ldap_salted_sha1: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
ldap_salted_sha1: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
ldap_salted_sha1: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
ldap_salted_sha1: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
ldap_salted_sha1: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
ldap_salted_sha1: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
ldap_salted_sha1: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
ldap_salted_sha1: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
ldap_salted_sha1: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
ldap_salted_sha1: test no password size limits enforced (if truncate_size=None) ... ok
ldap_salted_sha1: validate 'truncate_error' setting & related attributes ... ok
ldap_salted_sha1: Handler.using() -- default_salt_size ... ok
ldap_sha1_crypt (os_crypt backend): validate required attributes ... ok
ldap_sha1_crypt (os_crypt backend): test basic config-string workflow ... ok
ldap_sha1_crypt (os_crypt backend): test basic using() workflow ... ok
ldap_sha1_crypt (os_crypt backend): test basic hash-string workflow. ... ok
ldap_sha1_crypt (os_crypt backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
ldap_sha1_crypt (os_crypt backend): test hashes can be unicode or bytes ... ok
ldap_sha1_crypt (os_crypt backend): test multi-backend support ... ok
ldap_sha1_crypt (os_crypt backend): validate optional salt attributes ... ok
ldap_sha1_crypt (os_crypt backend): test hash() / genconfig() creates new salt each time ... ok
ldap_sha1_crypt (os_crypt backend): test hash() / genconfig() honors min_salt_size ... ok
ldap_sha1_crypt (os_crypt backend): test hash() / genconfig() honors max_salt_size ... ok
ldap_sha1_crypt (os_crypt backend): test hash() honors salt_chars ... ok
ldap_sha1_crypt (os_crypt backend): test non-string salt values ... ok
ldap_sha1_crypt (os_crypt backend): validate optional rounds attributes ... ok
ldap_sha1_crypt (os_crypt backend): test hash() / genconfig() honors min_rounds ... ok
ldap_sha1_crypt (os_crypt backend): test hash() / genconfig() honors max_rounds ... ok
ldap_sha1_crypt (os_crypt backend): validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
ldap_sha1_crypt (os_crypt backend): test password case sensitivity ... ok
ldap_sha1_crypt (os_crypt backend): test non-string passwords are rejected ... ok
ldap_sha1_crypt (os_crypt backend): test MAX_PASSWORD_SIZE is enforced ... ok
ldap_sha1_crypt (os_crypt backend): test forbidden characters not allowed in password ... ok
ldap_sha1_crypt (os_crypt backend): test known hashes ... ok
ldap_sha1_crypt (os_crypt backend): test known alternate hashes ... SKIP: no alternate hashes provided
ldap_sha1_crypt (os_crypt backend): test known config strings ... SKIP: no config strings provided
ldap_sha1_crypt (os_crypt backend): test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
ldap_sha1_crypt (os_crypt backend): test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
ldap_sha1_crypt (os_crypt backend): test known foreign hashes ... ok
ldap_sha1_crypt (os_crypt backend): test non-string hashes are rejected ... ok
ldap_sha1_crypt (os_crypt backend): test_77_fuzz_input (passlib.tests.test_handlers.ldap_sha1_crypt_os_crypt_test) ... SKIP: unneeded
ldap_sha1_crypt (os_crypt backend): multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
ldap_sha1_crypt (os_crypt backend): test with faulty crypt() ... ok
ldap_sha1_crypt (os_crypt backend): test per-call crypt() fallback ... ok
ldap_sha1_crypt (os_crypt backend): test platform-specific crypt() support detection ... SKIP: not applicable to wrappers
ldap_sha1_crypt (os_crypt backend): .disable() / .enable() methods ... SKIP: not applicable
ldap_sha1_crypt (os_crypt backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
ldap_sha1_crypt (os_crypt backend): HasRounds.using() -- max_rounds / max_desired_rounds ... ok
ldap_sha1_crypt (os_crypt backend): HasRounds.using() -- desired_rounds + needs_update() ... ok
ldap_sha1_crypt (os_crypt backend): HasRounds.using() -- sanity check test harness ... ok
ldap_sha1_crypt (os_crypt backend): HasRounds.using() -- default_rounds ... ok
ldap_sha1_crypt (os_crypt backend): HasRounds.using() -- min_rounds / min_desired_rounds ... ok
ldap_sha1_crypt (os_crypt backend): HasRounds.using() -- rounds ... ok
ldap_sha1_crypt (os_crypt backend): HasRounds.using() -- vary_rounds generation ... ok
ldap_sha1_crypt (os_crypt backend): HasRounds.using() -- vary_rounds parsing ... ok
ldap_sha1_crypt (os_crypt backend): test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
ldap_sha1_crypt (os_crypt backend): test no password size limits enforced (if truncate_size=None) ... ok
ldap_sha1_crypt (os_crypt backend): validate 'truncate_error' setting & related attributes ... ok
ldap_sha1_crypt (os_crypt backend): Handler.using() -- default_salt_size ... ok
ldap_sha1: validate required attributes ... ok
ldap_sha1: test basic config-string workflow ... ok
ldap_sha1: test basic using() workflow ... ok
ldap_sha1: test basic hash-string workflow. ... ok
ldap_sha1: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
ldap_sha1: test hashes can be unicode or bytes ... ok
ldap_sha1: test multi-backend support ... SKIP: handler only has one backend
ldap_sha1: validate optional salt attributes ... SKIP: handler doesn't have salt
ldap_sha1: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
ldap_sha1: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
ldap_sha1: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
ldap_sha1: test hash() honors salt_chars ... SKIP: handler doesn't have salt
ldap_sha1: test non-string salt values ... SKIP: handler doesn't have salt
ldap_sha1: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
ldap_sha1: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
ldap_sha1: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
ldap_sha1: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
ldap_sha1: test password case sensitivity ... ok
ldap_sha1: test non-string passwords are rejected ... ok
ldap_sha1: test MAX_PASSWORD_SIZE is enforced ... ok
ldap_sha1: test forbidden characters not allowed in password ... SKIP: none listed
ldap_sha1: test known hashes ... ok
ldap_sha1: test known alternate hashes ... SKIP: no alternate hashes provided
ldap_sha1: test known config strings ... SKIP: hash has no settings
ldap_sha1: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
ldap_sha1: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
ldap_sha1: test known foreign hashes ... ok
ldap_sha1: test non-string hashes are rejected ... ok
ldap_sha1: fuzz testing -- random passwords and options ... ok
ldap_sha1: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
ldap_sha1: .disable() / .enable() methods ... SKIP: not applicable
ldap_sha1: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
ldap_sha1: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
ldap_sha1: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
ldap_sha1: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
ldap_sha1: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
ldap_sha1: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
ldap_sha1: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
ldap_sha1: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
ldap_sha1: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
ldap_sha1: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
ldap_sha1: test no password size limits enforced (if truncate_size=None) ... ok
ldap_sha1: validate 'truncate_error' setting & related attributes ... ok
ldap_sha1: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
lmhash: validate required attributes ... ok
lmhash: test basic config-string workflow ... ok
lmhash: test basic using() workflow ... ok
lmhash: test basic hash-string workflow. ... ok
lmhash: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
lmhash: test hashes can be unicode or bytes ... ok
lmhash: test multi-backend support ... SKIP: handler only has one backend
lmhash: validate optional salt attributes ... SKIP: handler doesn't have salt
lmhash: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
lmhash: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
lmhash: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
lmhash: test hash() honors salt_chars ... SKIP: handler doesn't have salt
lmhash: test non-string salt values ... SKIP: handler doesn't have salt
lmhash: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
lmhash: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
lmhash: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
lmhash: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
lmhash: test password case sensitivity ... ok
lmhash: test non-string passwords are rejected ... ok
lmhash: test MAX_PASSWORD_SIZE is enforced ... ok
lmhash: test forbidden characters not allowed in password ... SKIP: none listed
lmhash: test known hashes ... ok
lmhash: test known alternate hashes ... SKIP: no alternate hashes provided
lmhash: test known config strings ... SKIP: no config strings provided
lmhash: test known unidentifiably-mangled strings ... ok
lmhash: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
lmhash: test known foreign hashes ... ok
lmhash: test non-string hashes are rejected ... ok
lmhash: fuzz testing -- random passwords and options ... ok
lmhash: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
lmhash: test lmhash.raw() method ... ok
lmhash: .disable() / .enable() methods ... SKIP: not applicable
lmhash: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
lmhash: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
lmhash: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
lmhash: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
lmhash: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
lmhash: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
lmhash: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
lmhash: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
lmhash: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
lmhash: test password size limits raise truncate_error (if appropriate) ... ok
lmhash: test no password size limits enforced (if truncate_size=None) ... SKIP: truncate_size is set
lmhash: validate 'truncate_error' setting & related attributes ... ok
lmhash: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
md5_crypt (os_crypt backend): validate required attributes ... ok
md5_crypt (os_crypt backend): test basic config-string workflow ... ok
md5_crypt (os_crypt backend): test basic using() workflow ... ok
md5_crypt (os_crypt backend): test basic hash-string workflow. ... ok
md5_crypt (os_crypt backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
md5_crypt (os_crypt backend): test hashes can be unicode or bytes ... ok
md5_crypt (os_crypt backend): test multi-backend support ... ok
md5_crypt (os_crypt backend): validate optional salt attributes ... ok
md5_crypt (os_crypt backend): test hash() / genconfig() creates new salt each time ... ok
md5_crypt (os_crypt backend): test hash() / genconfig() honors min_salt_size ... ok
md5_crypt (os_crypt backend): test hash() / genconfig() honors max_salt_size ... ok
md5_crypt (os_crypt backend): test hash() honors salt_chars ... ok
md5_crypt (os_crypt backend): test non-string salt values ... ok
md5_crypt (os_crypt backend): validate optional rounds attributes ... SKIP: handler lacks rounds attributes
md5_crypt (os_crypt backend): test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
md5_crypt (os_crypt backend): test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
md5_crypt (os_crypt backend): validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
md5_crypt (os_crypt backend): test password case sensitivity ... ok
md5_crypt (os_crypt backend): test non-string passwords are rejected ... ok
md5_crypt (os_crypt backend): test MAX_PASSWORD_SIZE is enforced ... ok
md5_crypt (os_crypt backend): test forbidden characters not allowed in password ... ok
md5_crypt (os_crypt backend): test known hashes ... ok
md5_crypt (os_crypt backend): test known alternate hashes ... SKIP: no alternate hashes provided
md5_crypt (os_crypt backend): test known config strings ... SKIP: no config strings provided
md5_crypt (os_crypt backend): test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
md5_crypt (os_crypt backend): test known identifiable-but-malformed strings ... ok
md5_crypt (os_crypt backend): test known foreign hashes ... ok
md5_crypt (os_crypt backend): test non-string hashes are rejected ... ok
md5_crypt (os_crypt backend): fuzz testing -- random passwords and options ... ok
md5_crypt (os_crypt backend): multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
md5_crypt (os_crypt backend): test with faulty crypt() ... ok
md5_crypt (os_crypt backend): test per-call crypt() fallback ... ok
md5_crypt (os_crypt backend): test platform-specific crypt() support detection ... ok
md5_crypt (os_crypt backend): .disable() / .enable() methods ... SKIP: not applicable
md5_crypt (os_crypt backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
md5_crypt (os_crypt backend): HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
md5_crypt (os_crypt backend): HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
md5_crypt (os_crypt backend): HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
md5_crypt (os_crypt backend): HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
md5_crypt (os_crypt backend): HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
md5_crypt (os_crypt backend): HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
md5_crypt (os_crypt backend): HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
md5_crypt (os_crypt backend): HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
md5_crypt (os_crypt backend): test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
md5_crypt (os_crypt backend): test no password size limits enforced (if truncate_size=None) ... ok
md5_crypt (os_crypt backend): validate 'truncate_error' setting & related attributes ... ok
md5_crypt (os_crypt backend): Handler.using() -- default_salt_size ... ok
msdcc2: validate required attributes ... ok
msdcc2: test basic config-string workflow ... ok
msdcc2: test basic using() workflow ... ok
msdcc2: test basic hash-string workflow. ... ok
msdcc2: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
msdcc2: test hashes can be unicode or bytes ... ok
msdcc2: test multi-backend support ... SKIP: handler only has one backend
msdcc2: validate optional salt attributes ... SKIP: handler doesn't have salt
msdcc2: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
msdcc2: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
msdcc2: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
msdcc2: test hash() honors salt_chars ... SKIP: handler doesn't have salt
msdcc2: test non-string salt values ... SKIP: handler doesn't have salt
msdcc2: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
msdcc2: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
msdcc2: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
msdcc2: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
msdcc2: test password case sensitivity ... ok
msdcc2: test non-string passwords are rejected ... ok
msdcc2: test MAX_PASSWORD_SIZE is enforced ... ok
msdcc2: test forbidden characters not allowed in password ... SKIP: none listed
msdcc2: test known hashes ... ok
msdcc2: test known alternate hashes ... SKIP: no alternate hashes provided
msdcc2: test known config strings ... SKIP: hash has no settings
msdcc2: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
msdcc2: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
msdcc2: test known foreign hashes ... ok
msdcc2: test non-string hashes are rejected ... ok
msdcc2: fuzz testing -- random passwords and options ... ok
msdcc2: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
msdcc2: test user context keyword ... ok
msdcc2: test user case sensitivity ... ok
msdcc2: test user used as salt ... ok
msdcc2: .disable() / .enable() methods ... SKIP: not applicable
msdcc2: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
msdcc2: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
msdcc2: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
msdcc2: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
msdcc2: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
msdcc2: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
msdcc2: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
msdcc2: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
msdcc2: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
msdcc2: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
msdcc2: test no password size limits enforced (if truncate_size=None) ... ok
msdcc2: validate 'truncate_error' setting & related attributes ... ok
msdcc2: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
msdcc: validate required attributes ... ok
msdcc: test basic config-string workflow ... ok
msdcc: test basic using() workflow ... ok
msdcc: test basic hash-string workflow. ... ok
msdcc: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
msdcc: test hashes can be unicode or bytes ... ok
msdcc: test multi-backend support ... SKIP: handler only has one backend
msdcc: validate optional salt attributes ... SKIP: handler doesn't have salt
msdcc: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
msdcc: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
msdcc: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
msdcc: test hash() honors salt_chars ... SKIP: handler doesn't have salt
msdcc: test non-string salt values ... SKIP: handler doesn't have salt
msdcc: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
msdcc: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
msdcc: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
msdcc: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
msdcc: test password case sensitivity ... ok
msdcc: test non-string passwords are rejected ... ok
msdcc: test MAX_PASSWORD_SIZE is enforced ... ok
msdcc: test forbidden characters not allowed in password ... SKIP: none listed
msdcc: test known hashes ... ok
msdcc: test known alternate hashes ... ok
msdcc: test known config strings ... SKIP: hash has no settings
msdcc: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
msdcc: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
msdcc: test known foreign hashes ... ok
msdcc: test non-string hashes are rejected ... ok
msdcc: fuzz testing -- random passwords and options ... ok
msdcc: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
msdcc: test user context keyword ... ok
msdcc: test user case sensitivity ... ok
msdcc: test user used as salt ... ok
msdcc: .disable() / .enable() methods ... SKIP: not applicable
msdcc: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
msdcc: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
msdcc: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
msdcc: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
msdcc: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
msdcc: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
msdcc: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
msdcc: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
msdcc: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
msdcc: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
msdcc: test no password size limits enforced (if truncate_size=None) ... ok
msdcc: validate 'truncate_error' setting & related attributes ... ok
msdcc: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
mssql2000: validate required attributes ... ok
mssql2000: test basic config-string workflow ... ok
mssql2000: test basic using() workflow ... ok
mssql2000: test basic hash-string workflow. ... ok
mssql2000: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
mssql2000: test hashes can be unicode or bytes ... ok
mssql2000: test multi-backend support ... SKIP: handler only has one backend
mssql2000: validate optional salt attributes ... ok
mssql2000: test hash() / genconfig() creates new salt each time ... ok
mssql2000: test hash() / genconfig() honors min_salt_size ... ok
mssql2000: test hash() / genconfig() honors max_salt_size ... ok
mssql2000: test hash() honors salt_chars ... ok
mssql2000: test non-string salt values ... ok
mssql2000: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
mssql2000: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
mssql2000: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
mssql2000: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
mssql2000: test password case sensitivity ... ok
mssql2000: test non-string passwords are rejected ... ok
mssql2000: test MAX_PASSWORD_SIZE is enforced ... ok
mssql2000: test forbidden characters not allowed in password ... SKIP: none listed
mssql2000: test known hashes ... ok
mssql2000: test known alternate hashes ... ok
mssql2000: test known config strings ... SKIP: no config strings provided
mssql2000: test known unidentifiably-mangled strings ... ok
mssql2000: test known identifiable-but-malformed strings ... ok
mssql2000: test known foreign hashes ... ok
mssql2000: test non-string hashes are rejected ... ok
mssql2000: fuzz testing -- random passwords and options ... ok
mssql2000: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
mssql2000: .disable() / .enable() methods ... SKIP: not applicable
mssql2000: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
mssql2000: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
mssql2000: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
mssql2000: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
mssql2000: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
mssql2000: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
mssql2000: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
mssql2000: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
mssql2000: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
mssql2000: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
mssql2000: test no password size limits enforced (if truncate_size=None) ... ok
mssql2000: validate 'truncate_error' setting & related attributes ... ok
mssql2000: Handler.using() -- default_salt_size ... ok
mssql2005: validate required attributes ... ok
mssql2005: test basic config-string workflow ... ok
mssql2005: test basic using() workflow ... ok
mssql2005: test basic hash-string workflow. ... ok
mssql2005: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
mssql2005: test hashes can be unicode or bytes ... ok
mssql2005: test multi-backend support ... SKIP: handler only has one backend
mssql2005: validate optional salt attributes ... ok
mssql2005: test hash() / genconfig() creates new salt each time ... ok
mssql2005: test hash() / genconfig() honors min_salt_size ... ok
mssql2005: test hash() / genconfig() honors max_salt_size ... ok
mssql2005: test hash() honors salt_chars ... ok
mssql2005: test non-string salt values ... ok
mssql2005: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
mssql2005: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
mssql2005: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
mssql2005: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
mssql2005: test password case sensitivity ... ok
mssql2005: test non-string passwords are rejected ... ok
mssql2005: test MAX_PASSWORD_SIZE is enforced ... ok
mssql2005: test forbidden characters not allowed in password ... SKIP: none listed
mssql2005: test known hashes ... ok
mssql2005: test known alternate hashes ... ok
mssql2005: test known config strings ... SKIP: no config strings provided
mssql2005: test known unidentifiably-mangled strings ... ok
mssql2005: test known identifiable-but-malformed strings ... ok
mssql2005: test known foreign hashes ... ok
mssql2005: test non-string hashes are rejected ... ok
mssql2005: fuzz testing -- random passwords and options ... ok
mssql2005: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
mssql2005: .disable() / .enable() methods ... SKIP: not applicable
mssql2005: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
mssql2005: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
mssql2005: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
mssql2005: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
mssql2005: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
mssql2005: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
mssql2005: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
mssql2005: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
mssql2005: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
mssql2005: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
mssql2005: test no password size limits enforced (if truncate_size=None) ... ok
mssql2005: validate 'truncate_error' setting & related attributes ... ok
mssql2005: Handler.using() -- default_salt_size ... ok
mysql323: validate required attributes ... ok
mysql323: test basic config-string workflow ... ok
mysql323: test basic using() workflow ... ok
mysql323: test basic hash-string workflow. ... ok
mysql323: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
mysql323: test hashes can be unicode or bytes ... ok
mysql323: test multi-backend support ... SKIP: handler only has one backend
mysql323: validate optional salt attributes ... SKIP: handler doesn't have salt
mysql323: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
mysql323: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
mysql323: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
mysql323: test hash() honors salt_chars ... SKIP: handler doesn't have salt
mysql323: test non-string salt values ... SKIP: handler doesn't have salt
mysql323: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
mysql323: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
mysql323: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
mysql323: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
mysql323: test password case sensitivity ... ok
mysql323: test non-string passwords are rejected ... ok
mysql323: test MAX_PASSWORD_SIZE is enforced ... ok
mysql323: test forbidden characters not allowed in password ... SKIP: none listed
mysql323: test known hashes ... ok
mysql323: test known alternate hashes ... SKIP: no alternate hashes provided
mysql323: test known config strings ... SKIP: hash has no settings
mysql323: test known unidentifiably-mangled strings ... ok
mysql323: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
mysql323: test known foreign hashes ... ok
mysql323: test non-string hashes are rejected ... ok
mysql323: fuzz testing -- random passwords and options ... ok
mysql323: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
mysql323: check whitespace is ignored per spec ... ok
mysql323: .disable() / .enable() methods ... SKIP: not applicable
mysql323: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
mysql323: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
mysql323: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
mysql323: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
mysql323: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
mysql323: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
mysql323: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
mysql323: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
mysql323: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
mysql323: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
mysql323: test no password size limits enforced (if truncate_size=None) ... ok
mysql323: validate 'truncate_error' setting & related attributes ... ok
mysql323: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
mysql41: validate required attributes ... ok
mysql41: test basic config-string workflow ... ok
mysql41: test basic using() workflow ... ok
mysql41: test basic hash-string workflow. ... ok
mysql41: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
mysql41: test hashes can be unicode or bytes ... ok
mysql41: test multi-backend support ... SKIP: handler only has one backend
mysql41: validate optional salt attributes ... SKIP: handler doesn't have salt
mysql41: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
mysql41: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
mysql41: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
mysql41: test hash() honors salt_chars ... SKIP: handler doesn't have salt
mysql41: test non-string salt values ... SKIP: handler doesn't have salt
mysql41: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
mysql41: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
mysql41: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
mysql41: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
mysql41: test password case sensitivity ... ok
mysql41: test non-string passwords are rejected ... ok
mysql41: test MAX_PASSWORD_SIZE is enforced ... ok
mysql41: test forbidden characters not allowed in password ... SKIP: none listed
mysql41: test known hashes ... ok
mysql41: test known alternate hashes ... SKIP: no alternate hashes provided
mysql41: test known config strings ... SKIP: hash has no settings
mysql41: test known unidentifiably-mangled strings ... ok
mysql41: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
mysql41: test known foreign hashes ... ok
mysql41: test non-string hashes are rejected ... ok
mysql41: fuzz testing -- random passwords and options ... ok
mysql41: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
mysql41: .disable() / .enable() methods ... SKIP: not applicable
mysql41: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
mysql41: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
mysql41: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
mysql41: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
mysql41: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
mysql41: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
mysql41: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
mysql41: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
mysql41: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
mysql41: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
mysql41: test no password size limits enforced (if truncate_size=None) ... ok
mysql41: validate 'truncate_error' setting & related attributes ... ok
mysql41: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
nthash: validate required attributes ... ok
nthash: test basic config-string workflow ... ok
nthash: test basic using() workflow ... ok
nthash: test basic hash-string workflow. ... ok
nthash: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
nthash: test hashes can be unicode or bytes ... ok
nthash: test multi-backend support ... SKIP: handler only has one backend
nthash: validate optional salt attributes ... SKIP: handler doesn't have salt
nthash: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
nthash: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
nthash: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
nthash: test hash() honors salt_chars ... SKIP: handler doesn't have salt
nthash: test non-string salt values ... SKIP: handler doesn't have salt
nthash: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
nthash: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
nthash: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
nthash: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
nthash: test password case sensitivity ... ok
nthash: test non-string passwords are rejected ... ok
nthash: test MAX_PASSWORD_SIZE is enforced ... ok
nthash: test forbidden characters not allowed in password ... SKIP: none listed
nthash: test known hashes ... ok
nthash: test known alternate hashes ... SKIP: no alternate hashes provided
nthash: test known config strings ... SKIP: hash has no settings
nthash: test known unidentifiably-mangled strings ... ok
nthash: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
nthash: test known foreign hashes ... ok
nthash: test non-string hashes are rejected ... ok
nthash: fuzz testing -- random passwords and options ... ok
nthash: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
nthash: .disable() / .enable() methods ... SKIP: not applicable
nthash: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
nthash: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
nthash: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
nthash: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
nthash: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
nthash: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
nthash: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
nthash: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
nthash: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
nthash: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
nthash: test no password size limits enforced (if truncate_size=None) ... ok
nthash: validate 'truncate_error' setting & related attributes ... ok
nthash: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
oracle10: validate required attributes ... ok
oracle10: test basic config-string workflow ... ok
oracle10: test basic using() workflow ... ok
oracle10: test basic hash-string workflow. ... ok
oracle10: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
oracle10: test hashes can be unicode or bytes ... ok
oracle10: test multi-backend support ... SKIP: handler only has one backend
oracle10: validate optional salt attributes ... SKIP: handler doesn't have salt
oracle10: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
oracle10: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
oracle10: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
oracle10: test hash() honors salt_chars ... SKIP: handler doesn't have salt
oracle10: test non-string salt values ... SKIP: handler doesn't have salt
oracle10: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
oracle10: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
oracle10: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
oracle10: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
oracle10: test password case sensitivity ... ok
oracle10: test non-string passwords are rejected ... ok
oracle10: test MAX_PASSWORD_SIZE is enforced ... ok
oracle10: test forbidden characters not allowed in password ... SKIP: none listed
oracle10: test known hashes ... ok
oracle10: test known alternate hashes ... SKIP: no alternate hashes provided
oracle10: test known config strings ... SKIP: hash has no settings
oracle10: test known unidentifiably-mangled strings ... ok
oracle10: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
oracle10: test known foreign hashes ... ok
oracle10: test non-string hashes are rejected ... ok
oracle10: fuzz testing -- random passwords and options ... ok
oracle10: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
oracle10: test user context keyword ... ok
oracle10: test user case sensitivity ... ok
oracle10: test user used as salt ... ok
oracle10: .disable() / .enable() methods ... SKIP: not applicable
oracle10: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
oracle10: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
oracle10: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
oracle10: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
oracle10: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
oracle10: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
oracle10: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
oracle10: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
oracle10: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
oracle10: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
oracle10: test no password size limits enforced (if truncate_size=None) ... ok
oracle10: validate 'truncate_error' setting & related attributes ... ok
oracle10: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
oracle11: validate required attributes ... ok
oracle11: test basic config-string workflow ... ok
oracle11: test basic using() workflow ... ok
oracle11: test basic hash-string workflow. ... ok
oracle11: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
oracle11: test hashes can be unicode or bytes ... ok
oracle11: test multi-backend support ... SKIP: handler only has one backend
oracle11: validate optional salt attributes ... ok
oracle11: test hash() / genconfig() creates new salt each time ... ok
oracle11: test hash() / genconfig() honors min_salt_size ... ok
oracle11: test hash() / genconfig() honors max_salt_size ... ok
oracle11: test hash() honors salt_chars ... ok
oracle11: test non-string salt values ... ok
oracle11: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
oracle11: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
oracle11: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
oracle11: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
oracle11: test password case sensitivity ... ok
oracle11: test non-string passwords are rejected ... ok
oracle11: test MAX_PASSWORD_SIZE is enforced ... ok
oracle11: test forbidden characters not allowed in password ... SKIP: none listed
oracle11: test known hashes ... ok
oracle11: test known alternate hashes ... SKIP: no alternate hashes provided
oracle11: test known config strings ... SKIP: no config strings provided
oracle11: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
oracle11: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
oracle11: test known foreign hashes ... ok
oracle11: test non-string hashes are rejected ... ok
oracle11: fuzz testing -- random passwords and options ... ok
oracle11: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
oracle11: .disable() / .enable() methods ... SKIP: not applicable
oracle11: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
oracle11: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
oracle11: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
oracle11: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
oracle11: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
oracle11: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
oracle11: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
oracle11: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
oracle11: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
oracle11: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
oracle11: test no password size limits enforced (if truncate_size=None) ... ok
oracle11: validate 'truncate_error' setting & related attributes ... ok
oracle11: Handler.using() -- default_salt_size ... ok
phpass: validate required attributes ... ok
phpass: test basic config-string workflow ... ok
phpass: test basic using() workflow ... ok
phpass: test basic hash-string workflow. ... ok
phpass: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
phpass: test hashes can be unicode or bytes ... ok
phpass: test multi-backend support ... SKIP: handler only has one backend
phpass: validate optional salt attributes ... ok
phpass: test hash() / genconfig() creates new salt each time ... ok
phpass: test hash() / genconfig() honors min_salt_size ... ok
phpass: test hash() / genconfig() honors max_salt_size ... ok
phpass: test hash() honors salt_chars ... ok
phpass: test non-string salt values ... ok
phpass: validate optional rounds attributes ... ok
phpass: test hash() / genconfig() honors min_rounds ... ok
phpass: test hash() / genconfig() honors max_rounds ... ok
phpass: validate HasManyIdents configuration ... ok
phpass: test password case sensitivity ... ok
phpass: test non-string passwords are rejected ... ok
phpass: test MAX_PASSWORD_SIZE is enforced ... ok
phpass: test forbidden characters not allowed in password ... SKIP: none listed
phpass: test known hashes ... ok
phpass: test known alternate hashes ... SKIP: no alternate hashes provided
phpass: test known config strings ... SKIP: no config strings provided
phpass: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
phpass: test known identifiable-but-malformed strings ... ok
phpass: test known foreign hashes ... ok
phpass: test non-string hashes are rejected ... ok
phpass: fuzz testing -- random passwords and options ... ok
phpass: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
phpass: .disable() / .enable() methods ... SKIP: not applicable
phpass: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... ok
phpass: HasRounds.using() -- max_rounds / max_desired_rounds ... ok
phpass: HasRounds.using() -- desired_rounds + needs_update() ... ok
phpass: HasRounds.using() -- sanity check test harness ... ok
phpass: HasRounds.using() -- default_rounds ... ok
phpass: HasRounds.using() -- min_rounds / min_desired_rounds ... ok
phpass: HasRounds.using() -- rounds ... ok
phpass: HasRounds.using() -- vary_rounds generation ... ok
phpass: HasRounds.using() -- vary_rounds parsing ... ok
phpass: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
phpass: test no password size limits enforced (if truncate_size=None) ... ok
phpass: validate 'truncate_error' setting & related attributes ... ok
phpass: Handler.using() -- default_salt_size ... ok
plaintext: validate required attributes ... ok
plaintext: test basic config-string workflow ... ok
plaintext: test basic using() workflow ... ok
plaintext: test basic hash-string workflow. ... ok
plaintext: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
plaintext: test hashes can be unicode or bytes ... ok
plaintext: test multi-backend support ... SKIP: handler only has one backend
plaintext: validate optional salt attributes ... SKIP: handler doesn't have salt
plaintext: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
plaintext: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
plaintext: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
plaintext: test hash() honors salt_chars ... SKIP: handler doesn't have salt
plaintext: test non-string salt values ... SKIP: handler doesn't have salt
plaintext: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
plaintext: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
plaintext: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
plaintext: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
plaintext: test password case sensitivity ... ok
plaintext: test non-string passwords are rejected ... ok
plaintext: test MAX_PASSWORD_SIZE is enforced ... ok
plaintext: test forbidden characters not allowed in password ... SKIP: none listed
plaintext: test known hashes ... ok
plaintext: test known alternate hashes ... SKIP: no alternate hashes provided
plaintext: test known config strings ... SKIP: hash has no settings
plaintext: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
plaintext: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
plaintext: test known foreign hashes ... SKIP: not applicable
plaintext: test non-string hashes are rejected ... ok
plaintext: fuzz testing -- random passwords and options ... ok
plaintext: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
plaintext: .disable() / .enable() methods ... SKIP: not applicable
plaintext: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
plaintext: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
plaintext: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
plaintext: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
plaintext: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
plaintext: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
plaintext: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
plaintext: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
plaintext: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
plaintext: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
plaintext: test no password size limits enforced (if truncate_size=None) ... ok
plaintext: validate 'truncate_error' setting & related attributes ... ok
plaintext: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
postgres_md5: validate required attributes ... ok
postgres_md5: test basic config-string workflow ... ok
postgres_md5: test basic using() workflow ... ok
postgres_md5: test basic hash-string workflow. ... ok
postgres_md5: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
postgres_md5: test hashes can be unicode or bytes ... ok
postgres_md5: test multi-backend support ... SKIP: handler only has one backend
postgres_md5: validate optional salt attributes ... SKIP: handler doesn't have salt
postgres_md5: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
postgres_md5: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
postgres_md5: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
postgres_md5: test hash() honors salt_chars ... SKIP: handler doesn't have salt
postgres_md5: test non-string salt values ... SKIP: handler doesn't have salt
postgres_md5: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
postgres_md5: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
postgres_md5: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
postgres_md5: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
postgres_md5: test password case sensitivity ... ok
postgres_md5: test non-string passwords are rejected ... ok
postgres_md5: test MAX_PASSWORD_SIZE is enforced ... ok
postgres_md5: test forbidden characters not allowed in password ... SKIP: none listed
postgres_md5: test known hashes ... ok
postgres_md5: test known alternate hashes ... SKIP: no alternate hashes provided
postgres_md5: test known config strings ... SKIP: hash has no settings
postgres_md5: test known unidentifiably-mangled strings ... ok
postgres_md5: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
postgres_md5: test known foreign hashes ... ok
postgres_md5: test non-string hashes are rejected ... ok
postgres_md5: fuzz testing -- random passwords and options ... ok
postgres_md5: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
postgres_md5: test user context keyword ... ok
postgres_md5: test user case sensitivity ... ok
postgres_md5: test user used as salt ... ok
postgres_md5: .disable() / .enable() methods ... SKIP: not applicable
postgres_md5: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
postgres_md5: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
postgres_md5: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
postgres_md5: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
postgres_md5: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
postgres_md5: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
postgres_md5: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
postgres_md5: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
postgres_md5: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
postgres_md5: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
postgres_md5: test no password size limits enforced (if truncate_size=None) ... ok
postgres_md5: validate 'truncate_error' setting & related attributes ... ok
postgres_md5: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
sha1_crypt (os_crypt backend): validate required attributes ... ok
sha1_crypt (os_crypt backend): test basic config-string workflow ... ok
sha1_crypt (os_crypt backend): test basic using() workflow ... ok
sha1_crypt (os_crypt backend): test basic hash-string workflow. ... ok
sha1_crypt (os_crypt backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
sha1_crypt (os_crypt backend): test hashes can be unicode or bytes ... ok
sha1_crypt (os_crypt backend): test multi-backend support ... ok
sha1_crypt (os_crypt backend): validate optional salt attributes ... ok
sha1_crypt (os_crypt backend): test hash() / genconfig() creates new salt each time ... ok
sha1_crypt (os_crypt backend): test hash() / genconfig() honors min_salt_size ... ok
sha1_crypt (os_crypt backend): test hash() / genconfig() honors max_salt_size ... ok
sha1_crypt (os_crypt backend): test hash() honors salt_chars ... ok
sha1_crypt (os_crypt backend): test non-string salt values ... ok
sha1_crypt (os_crypt backend): validate optional rounds attributes ... ok
sha1_crypt (os_crypt backend): test hash() / genconfig() honors min_rounds ... ok
sha1_crypt (os_crypt backend): test hash() / genconfig() honors max_rounds ... ok
sha1_crypt (os_crypt backend): validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
sha1_crypt (os_crypt backend): test password case sensitivity ... ok
sha1_crypt (os_crypt backend): test non-string passwords are rejected ... ok
sha1_crypt (os_crypt backend): test MAX_PASSWORD_SIZE is enforced ... ok
sha1_crypt (os_crypt backend): test forbidden characters not allowed in password ... ok
sha1_crypt (os_crypt backend): test known hashes ... ok
sha1_crypt (os_crypt backend): test known alternate hashes ... SKIP: no alternate hashes provided
sha1_crypt (os_crypt backend): test known config strings ... SKIP: no config strings provided
sha1_crypt (os_crypt backend): test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
sha1_crypt (os_crypt backend): test known identifiable-but-malformed strings ... ok
sha1_crypt (os_crypt backend): test known foreign hashes ... ok
sha1_crypt (os_crypt backend): test non-string hashes are rejected ... ok
sha1_crypt (os_crypt backend): fuzz testing -- random passwords and options ... ok
sha1_crypt (os_crypt backend): multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
sha1_crypt (os_crypt backend): test with faulty crypt() ... ok
sha1_crypt (os_crypt backend): test per-call crypt() fallback ... ok
sha1_crypt (os_crypt backend): test platform-specific crypt() support detection ... SKIP: no data for 'linux' platform
sha1_crypt (os_crypt backend): .disable() / .enable() methods ... SKIP: not applicable
sha1_crypt (os_crypt backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
sha1_crypt (os_crypt backend): HasRounds.using() -- max_rounds / max_desired_rounds ... ok
sha1_crypt (os_crypt backend): HasRounds.using() -- desired_rounds + needs_update() ... ok
sha1_crypt (os_crypt backend): HasRounds.using() -- sanity check test harness ... ok
sha1_crypt (os_crypt backend): HasRounds.using() -- default_rounds ... ok
sha1_crypt (os_crypt backend): HasRounds.using() -- min_rounds / min_desired_rounds ... ok
sha1_crypt (os_crypt backend): HasRounds.using() -- rounds ... ok
sha1_crypt (os_crypt backend): HasRounds.using() -- vary_rounds generation ... ok
sha1_crypt (os_crypt backend): HasRounds.using() -- vary_rounds parsing ... ok
sha1_crypt (os_crypt backend): test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
sha1_crypt (os_crypt backend): test no password size limits enforced (if truncate_size=None) ... ok
sha1_crypt (os_crypt backend): validate 'truncate_error' setting & related attributes ... ok
sha1_crypt (os_crypt backend): Handler.using() -- default_salt_size ... ok
sha256_crypt (os_crypt backend): validate required attributes ... ok
sha256_crypt (os_crypt backend): test basic config-string workflow ... ok
sha256_crypt (os_crypt backend): test basic using() workflow ... ok
sha256_crypt (os_crypt backend): test basic hash-string workflow. ... ok
sha256_crypt (os_crypt backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
sha256_crypt (os_crypt backend): test hashes can be unicode or bytes ... ok
sha256_crypt (os_crypt backend): test multi-backend support ... ok
sha256_crypt (os_crypt backend): validate optional salt attributes ... ok
sha256_crypt (os_crypt backend): test hash() / genconfig() creates new salt each time ... ok
sha256_crypt (os_crypt backend): test hash() / genconfig() honors min_salt_size ... ok
sha256_crypt (os_crypt backend): test hash() / genconfig() honors max_salt_size ... ok
sha256_crypt (os_crypt backend): test hash() honors salt_chars ... ok
sha256_crypt (os_crypt backend): test non-string salt values ... ok
sha256_crypt (os_crypt backend): validate optional rounds attributes ... ok
sha256_crypt (os_crypt backend): test hash() / genconfig() honors min_rounds ... ok
sha256_crypt (os_crypt backend): test hash() / genconfig() honors max_rounds ... ok
sha256_crypt (os_crypt backend): validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
sha256_crypt (os_crypt backend): test password case sensitivity ... ok
sha256_crypt (os_crypt backend): test non-string passwords are rejected ... ok
sha256_crypt (os_crypt backend): test MAX_PASSWORD_SIZE is enforced ... ok
sha256_crypt (os_crypt backend): test forbidden characters not allowed in password ... ok
sha256_crypt (os_crypt backend): test known hashes ... ok
sha256_crypt (os_crypt backend): test known alternate hashes ... SKIP: no alternate hashes provided
sha256_crypt (os_crypt backend): test known config strings ... ok
sha256_crypt (os_crypt backend): test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
sha256_crypt (os_crypt backend): test known identifiable-but-malformed strings ... ok
sha256_crypt (os_crypt backend): test known foreign hashes ... ok
sha256_crypt (os_crypt backend): test non-string hashes are rejected ... ok
sha256_crypt (os_crypt backend): fuzz testing -- random passwords and options ... ok
sha256_crypt (os_crypt backend): multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
sha256_crypt (os_crypt backend): test with faulty crypt() ... ok
sha256_crypt (os_crypt backend): test per-call crypt() fallback ... ok
sha256_crypt (os_crypt backend): test platform-specific crypt() support detection ... ok
sha256_crypt (os_crypt backend): .disable() / .enable() methods ... SKIP: not applicable
sha256_crypt (os_crypt backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
sha256_crypt (os_crypt backend): HasRounds.using() -- max_rounds / max_desired_rounds ... ok
sha256_crypt (os_crypt backend): HasRounds.using() -- desired_rounds + needs_update() ... ok
sha256_crypt (os_crypt backend): HasRounds.using() -- sanity check test harness ... ok
sha256_crypt (os_crypt backend): HasRounds.using() -- default_rounds ... ok
sha256_crypt (os_crypt backend): HasRounds.using() -- min_rounds / min_desired_rounds ... ok
sha256_crypt (os_crypt backend): HasRounds.using() -- rounds ... ok
sha256_crypt (os_crypt backend): HasRounds.using() -- vary_rounds generation ... ok
sha256_crypt (os_crypt backend): HasRounds.using() -- vary_rounds parsing ... ok
sha256_crypt (os_crypt backend): test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
sha256_crypt (os_crypt backend): test no password size limits enforced (if truncate_size=None) ... ok
sha256_crypt (os_crypt backend): validate 'truncate_error' setting & related attributes ... ok
sha256_crypt (os_crypt backend): Handler.using() -- default_salt_size ... ok
sha512_crypt (os_crypt backend): validate required attributes ... ok
sha512_crypt (os_crypt backend): test basic config-string workflow ... ok
sha512_crypt (os_crypt backend): test basic using() workflow ... ok
sha512_crypt (os_crypt backend): test basic hash-string workflow. ... ok
sha512_crypt (os_crypt backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
sha512_crypt (os_crypt backend): test hashes can be unicode or bytes ... ok
sha512_crypt (os_crypt backend): test multi-backend support ... ok
sha512_crypt (os_crypt backend): validate optional salt attributes ... ok
sha512_crypt (os_crypt backend): test hash() / genconfig() creates new salt each time ... ok
sha512_crypt (os_crypt backend): test hash() / genconfig() honors min_salt_size ... ok
sha512_crypt (os_crypt backend): test hash() / genconfig() honors max_salt_size ... ok
sha512_crypt (os_crypt backend): test hash() honors salt_chars ... ok
sha512_crypt (os_crypt backend): test non-string salt values ... ok
sha512_crypt (os_crypt backend): validate optional rounds attributes ... ok
sha512_crypt (os_crypt backend): test hash() / genconfig() honors min_rounds ... ok
sha512_crypt (os_crypt backend): test hash() / genconfig() honors max_rounds ... ok
sha512_crypt (os_crypt backend): validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
sha512_crypt (os_crypt backend): test password case sensitivity ... ok
sha512_crypt (os_crypt backend): test non-string passwords are rejected ... ok
sha512_crypt (os_crypt backend): test MAX_PASSWORD_SIZE is enforced ... ok
sha512_crypt (os_crypt backend): test forbidden characters not allowed in password ... ok
sha512_crypt (os_crypt backend): test known hashes ... ok
sha512_crypt (os_crypt backend): test known alternate hashes ... SKIP: no alternate hashes provided
sha512_crypt (os_crypt backend): test known config strings ... ok
sha512_crypt (os_crypt backend): test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
sha512_crypt (os_crypt backend): test known identifiable-but-malformed strings ... ok
sha512_crypt (os_crypt backend): test known foreign hashes ... ok
sha512_crypt (os_crypt backend): test non-string hashes are rejected ... ok
sha512_crypt (os_crypt backend): fuzz testing -- random passwords and options ... ok
sha512_crypt (os_crypt backend): multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
sha512_crypt (os_crypt backend): test with faulty crypt() ... ok
sha512_crypt (os_crypt backend): test per-call crypt() fallback ... ok
sha512_crypt (os_crypt backend): test platform-specific crypt() support detection ... ok
sha512_crypt (os_crypt backend): .disable() / .enable() methods ... SKIP: not applicable
sha512_crypt (os_crypt backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
sha512_crypt (os_crypt backend): HasRounds.using() -- max_rounds / max_desired_rounds ... ok
sha512_crypt (os_crypt backend): HasRounds.using() -- desired_rounds + needs_update() ... ok
sha512_crypt (os_crypt backend): HasRounds.using() -- sanity check test harness ... ok
sha512_crypt (os_crypt backend): HasRounds.using() -- default_rounds ... ok
sha512_crypt (os_crypt backend): HasRounds.using() -- min_rounds / min_desired_rounds ... ok
sha512_crypt (os_crypt backend): HasRounds.using() -- rounds ... ok
sha512_crypt (os_crypt backend): HasRounds.using() -- vary_rounds generation ... ok
sha512_crypt (os_crypt backend): HasRounds.using() -- vary_rounds parsing ... ok
sha512_crypt (os_crypt backend): test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
sha512_crypt (os_crypt backend): test no password size limits enforced (if truncate_size=None) ... ok
sha512_crypt (os_crypt backend): validate 'truncate_error' setting & related attributes ... ok
sha512_crypt (os_crypt backend): Handler.using() -- default_salt_size ... ok
sun_md5_crypt: validate required attributes ... ok
sun_md5_crypt: test basic config-string workflow ... ok
sun_md5_crypt: test basic using() workflow ... ok
sun_md5_crypt: test basic hash-string workflow. ... ok
sun_md5_crypt: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
sun_md5_crypt: test hashes can be unicode or bytes ... ok
sun_md5_crypt: test multi-backend support ... SKIP: handler only has one backend
sun_md5_crypt: validate optional salt attributes ... ok
sun_md5_crypt: test hash() / genconfig() creates new salt each time ... ok
sun_md5_crypt: test hash() / genconfig() honors min_salt_size ... ok
sun_md5_crypt: test hash() / genconfig() honors max_salt_size ... ok
sun_md5_crypt: test hash() honors salt_chars ... ok
sun_md5_crypt: test non-string salt values ... ok
sun_md5_crypt: validate optional rounds attributes ... ok
sun_md5_crypt: test hash() / genconfig() honors min_rounds ... ok
sun_md5_crypt: test hash() / genconfig() honors max_rounds ... ok
sun_md5_crypt: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
sun_md5_crypt: test password case sensitivity ... ok
sun_md5_crypt: test non-string passwords are rejected ... ok
sun_md5_crypt: test MAX_PASSWORD_SIZE is enforced ... ok
sun_md5_crypt: test forbidden characters not allowed in password ... SKIP: none listed
sun_md5_crypt: test known hashes ... ok
sun_md5_crypt: test known alternate hashes ... SKIP: no alternate hashes provided
sun_md5_crypt: test known config strings ... ok
sun_md5_crypt: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
sun_md5_crypt: test known identifiable-but-malformed strings ... ok
sun_md5_crypt: test known foreign hashes ... ok
sun_md5_crypt: test non-string hashes are rejected ... ok
sun_md5_crypt: fuzz testing -- random passwords and options ... ok
sun_md5_crypt: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
sun_md5_crypt: .disable() / .enable() methods ... SKIP: not applicable
sun_md5_crypt: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
sun_md5_crypt: HasRounds.using() -- max_rounds / max_desired_rounds ... ok
sun_md5_crypt: HasRounds.using() -- desired_rounds + needs_update() ... ok
sun_md5_crypt: HasRounds.using() -- sanity check test harness ... ok
sun_md5_crypt: HasRounds.using() -- default_rounds ... ok
sun_md5_crypt: HasRounds.using() -- min_rounds / min_desired_rounds ... ok
sun_md5_crypt: HasRounds.using() -- rounds ... ok
sun_md5_crypt: HasRounds.using() -- vary_rounds generation ... ok
sun_md5_crypt: HasRounds.using() -- vary_rounds parsing ... ok
sun_md5_crypt: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
sun_md5_crypt: test no password size limits enforced (if truncate_size=None) ... ok
sun_md5_crypt: validate 'truncate_error' setting & related attributes ... ok
sun_md5_crypt: Handler.using() -- default_salt_size ... ok
unix_disabled: validate required attributes ... ok
unix_disabled: test basic config-string workflow ... ok
unix_disabled: test basic using() workflow ... ok
unix_disabled: test basic hash-string workflow. ... ok
unix_disabled: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
unix_disabled: test hashes can be unicode or bytes ... ok
unix_disabled: test multi-backend support ... SKIP: handler only has one backend
unix_disabled: validate optional salt attributes ... SKIP: handler doesn't have salt
unix_disabled: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
unix_disabled: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
unix_disabled: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
unix_disabled: test hash() honors salt_chars ... SKIP: handler doesn't have salt
unix_disabled: test non-string salt values ... SKIP: handler doesn't have salt
unix_disabled: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
unix_disabled: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
unix_disabled: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
unix_disabled: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
unix_disabled: test password case sensitivity ... ok
unix_disabled: test non-string passwords are rejected ... ok
unix_disabled: test MAX_PASSWORD_SIZE is enforced ... ok
unix_disabled: test forbidden characters not allowed in password ... SKIP: none listed
unix_disabled: test known hashes ... ok
unix_disabled: test known alternate hashes ... SKIP: no alternate hashes provided
unix_disabled: test known config strings ... SKIP: no config strings provided
unix_disabled: test known unidentifiably-mangled strings ... ok
unix_disabled: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
unix_disabled: test known foreign hashes ... ok
unix_disabled: test_76_hash_border (passlib.tests.test_handlers.unix_disabled_test) ... ok
unix_disabled: fuzz testing -- random passwords and options ... SKIP: not applicable
unix_disabled: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
unix_disabled: test marker option & special behavior ... ok
unix_disabled: .disable() / .enable() methods ... ok
unix_disabled: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
unix_disabled: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
unix_disabled: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
unix_disabled: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
unix_disabled: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
unix_disabled: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
unix_disabled: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
unix_disabled: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
unix_disabled: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
unix_disabled: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
unix_disabled: test no password size limits enforced (if truncate_size=None) ... ok
unix_disabled: validate 'truncate_error' setting & related attributes ... ok
unix_disabled: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
unix_fallback: validate required attributes ... ok
unix_fallback: test basic config-string workflow ... ok
unix_fallback: test basic using() workflow ... ok
unix_fallback: test basic hash-string workflow. ... ok
unix_fallback: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
unix_fallback: test hashes can be unicode or bytes ... ok
unix_fallback: test multi-backend support ... SKIP: handler only has one backend
unix_fallback: validate optional salt attributes ... SKIP: handler doesn't have salt
unix_fallback: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
unix_fallback: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
unix_fallback: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
unix_fallback: test hash() honors salt_chars ... SKIP: handler doesn't have salt
unix_fallback: test non-string salt values ... SKIP: handler doesn't have salt
unix_fallback: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
unix_fallback: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
unix_fallback: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
unix_fallback: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
unix_fallback: test password case sensitivity ... ok
unix_fallback: test non-string passwords are rejected ... ok
unix_fallback: test MAX_PASSWORD_SIZE is enforced ... ok
unix_fallback: test forbidden characters not allowed in password ... SKIP: none listed
unix_fallback: test known hashes ... ok
unix_fallback: test known alternate hashes ... SKIP: no alternate hashes provided
unix_fallback: test known config strings ... SKIP: hash has no settings
unix_fallback: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
unix_fallback: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
unix_fallback: test known foreign hashes ... SKIP: not applicable
unix_fallback: test non-string hashes are rejected ... ok
unix_fallback: fuzz testing -- random passwords and options ... SKIP: not applicable
unix_fallback: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
unix_fallback: test enable_wildcard flag ... ok
unix_fallback: test preserves existing disabled hash ... ok
unix_fallback: .disable() / .enable() methods ... ok
unix_fallback: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
unix_fallback: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
unix_fallback: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
unix_fallback: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
unix_fallback: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
unix_fallback: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
unix_fallback: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
unix_fallback: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
unix_fallback: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
unix_fallback: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
unix_fallback: test no password size limits enforced (if truncate_size=None) ... ok
unix_fallback: validate 'truncate_error' setting & related attributes ... ok
unix_fallback: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
cisco_asa: validate required attributes ... ok
cisco_asa: test basic config-string workflow ... ok
cisco_asa: test basic using() workflow ... ok
cisco_asa: test basic hash-string workflow. ... ok
cisco_asa: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
cisco_asa: test hashes can be unicode or bytes ... ok
cisco_asa: test multi-backend support ... SKIP: handler only has one backend
cisco_asa: validate optional salt attributes ... SKIP: handler doesn't have salt
cisco_asa: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
cisco_asa: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
cisco_asa: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
cisco_asa: test hash() honors salt_chars ... SKIP: handler doesn't have salt
cisco_asa: test non-string salt values ... SKIP: handler doesn't have salt
cisco_asa: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
cisco_asa: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
cisco_asa: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
cisco_asa: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
cisco_asa: test password case sensitivity ... ok
cisco_asa: test non-string passwords are rejected ... ok
cisco_asa: test MAX_PASSWORD_SIZE is enforced ... ok
cisco_asa: test forbidden characters not allowed in password ... SKIP: none listed
cisco_asa: test known hashes ... ok
cisco_asa: test known alternate hashes ... SKIP: no alternate hashes provided
cisco_asa: test known config strings ... SKIP: hash has no settings
cisco_asa: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
cisco_asa: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
cisco_asa: test known foreign hashes ... ok
cisco_asa: test non-string hashes are rejected ... ok
cisco_asa: fuzz testing -- random passwords and options ... ok
cisco_asa: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
cisco_asa: test user context keyword ... ok
cisco_asa: test user case sensitivity ... ok
cisco_asa: test user used as salt ... ok
cisco_asa: _calc_checksum() -- spoil oversize passwords during verify ... ok
cisco_asa: .disable() / .enable() methods ... SKIP: not applicable
cisco_asa: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
cisco_asa: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
cisco_asa: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
cisco_asa: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
cisco_asa: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
cisco_asa: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
cisco_asa: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
cisco_asa: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
cisco_asa: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
cisco_asa: test password size limits raise truncate_error (if appropriate) ... ok
cisco_asa: test no password size limits enforced (if truncate_size=None) ... SKIP: truncate_size is set
cisco_asa: validate 'truncate_error' setting & related attributes ... ok
cisco_asa: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
cisco_pix: validate required attributes ... ok
cisco_pix: test basic config-string workflow ... ok
cisco_pix: test basic using() workflow ... ok
cisco_pix: test basic hash-string workflow. ... ok
cisco_pix: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
cisco_pix: test hashes can be unicode or bytes ... ok
cisco_pix: test multi-backend support ... SKIP: handler only has one backend
cisco_pix: validate optional salt attributes ... SKIP: handler doesn't have salt
cisco_pix: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
cisco_pix: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
cisco_pix: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
cisco_pix: test hash() honors salt_chars ... SKIP: handler doesn't have salt
cisco_pix: test non-string salt values ... SKIP: handler doesn't have salt
cisco_pix: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
cisco_pix: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
cisco_pix: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
cisco_pix: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
cisco_pix: test password case sensitivity ... ok
cisco_pix: test non-string passwords are rejected ... ok
cisco_pix: test MAX_PASSWORD_SIZE is enforced ... ok
cisco_pix: test forbidden characters not allowed in password ... SKIP: none listed
cisco_pix: test known hashes ... ok
cisco_pix: test known alternate hashes ... SKIP: no alternate hashes provided
cisco_pix: test known config strings ... SKIP: hash has no settings
cisco_pix: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
cisco_pix: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
cisco_pix: test known foreign hashes ... ok
cisco_pix: test non-string hashes are rejected ... ok
cisco_pix: fuzz testing -- random passwords and options ... ok
cisco_pix: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
cisco_pix: test user context keyword ... ok
cisco_pix: test user case sensitivity ... ok
cisco_pix: test user used as salt ... ok
cisco_pix: _calc_checksum() -- spoil oversize passwords during verify ... ok
cisco_pix: .disable() / .enable() methods ... SKIP: not applicable
cisco_pix: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
cisco_pix: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
cisco_pix: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
cisco_pix: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
cisco_pix: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
cisco_pix: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
cisco_pix: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
cisco_pix: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
cisco_pix: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
cisco_pix: test password size limits raise truncate_error (if appropriate) ... ok
cisco_pix: test no password size limits enforced (if truncate_size=None) ... SKIP: truncate_size is set
cisco_pix: validate 'truncate_error' setting & related attributes ... ok
cisco_pix: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
cisco_type7: validate required attributes ... ok
cisco_type7: test basic config-string workflow ... ok
cisco_type7: test basic using() workflow ... ok
cisco_type7: test basic hash-string workflow. ... ok
cisco_type7: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
cisco_type7: test hashes can be unicode or bytes ... ok
cisco_type7: test multi-backend support ... SKIP: handler only has one backend
cisco_type7: validate optional salt attributes ... SKIP: handler doesn't provide salt info
cisco_type7: test hash() / genconfig() creates new salt each time ... ok
cisco_type7: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't provide salt info
cisco_type7: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't provide salt info
cisco_type7: test hash() honors salt_chars ... SKIP: handler doesn't provide salt info
cisco_type7: test non-string salt values ... ok
cisco_type7: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
cisco_type7: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
cisco_type7: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
cisco_type7: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
cisco_type7: test password case sensitivity ... ok
cisco_type7: test non-string passwords are rejected ... ok
cisco_type7: test MAX_PASSWORD_SIZE is enforced ... ok
cisco_type7: test forbidden characters not allowed in password ... SKIP: none listed
cisco_type7: test known hashes ... ok
cisco_type7: test known alternate hashes ... SKIP: no alternate hashes provided
cisco_type7: test known config strings ... SKIP: no config strings provided
cisco_type7: test known unidentifiably-mangled strings ... ok
cisco_type7: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
cisco_type7: test known foreign hashes ... ok
cisco_type7: test non-string hashes are rejected ... ok
cisco_type7: fuzz testing -- random passwords and options ... ok
cisco_type7: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
cisco_type7: test cisco_type7.decode() ... ok
cisco_type7: test salt value border cases ... ok
cisco_type7: .disable() / .enable() methods ... SKIP: not applicable
cisco_type7: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
cisco_type7: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
cisco_type7: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
cisco_type7: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
cisco_type7: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
cisco_type7: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
cisco_type7: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
cisco_type7: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
cisco_type7: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
cisco_type7: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
cisco_type7: test no password size limits enforced (if truncate_size=None) ... ok
cisco_type7: validate 'truncate_error' setting & related attributes ... ok
cisco_type7: Handler.using() -- default_salt_size ... SKIP: handler doesn't provide salt info
django_des_crypt: validate required attributes ... ok
django_des_crypt: test basic config-string workflow ... ok
django_des_crypt: test basic using() workflow ... ok
django_des_crypt: test basic hash-string workflow. ... ok
django_des_crypt: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
django_des_crypt: test hashes can be unicode or bytes ... ok
django_des_crypt: test multi-backend support ... SKIP: handler only has one backend
django_des_crypt: validate optional salt attributes ... ok
django_des_crypt: test hash() / genconfig() creates new salt each time ... ok
django_des_crypt: test hash() / genconfig() honors min_salt_size ... ok
django_des_crypt: test hash() / genconfig() honors max_salt_size ... ok
django_des_crypt: test hash() honors salt_chars ... ok
django_des_crypt: test non-string salt values ... ok
django_des_crypt: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
django_des_crypt: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
django_des_crypt: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
django_des_crypt: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
django_des_crypt: test password case sensitivity ... ok
django_des_crypt: test non-string passwords are rejected ... ok
django_des_crypt: test MAX_PASSWORD_SIZE is enforced ... ok
django_des_crypt: test forbidden characters not allowed in password ... SKIP: none listed
django_des_crypt: test known hashes ... ok
django_des_crypt: test known alternate hashes ... ok
django_des_crypt: test known config strings ... SKIP: no config strings provided
django_des_crypt: test known unidentifiably-mangled strings ... ok
django_des_crypt: test known identifiable-but-malformed strings ... ok
django_des_crypt: test known foreign hashes ... ok
django_des_crypt: test non-string hashes are rejected ... ok
django_des_crypt: fuzz testing -- random passwords and options ... ok
django_des_crypt: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
django_des_crypt: run known correct hashes through Django's check_password() ... SKIP: Django >= 1.8 not installed
django_des_crypt: test against output of Django's make_password() ... SKIP: Django >= 1.8 not installed
django_des_crypt: .disable() / .enable() methods ... SKIP: not applicable
django_des_crypt: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
django_des_crypt: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
django_des_crypt: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
django_des_crypt: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
django_des_crypt: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
django_des_crypt: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
django_des_crypt: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
django_des_crypt: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
django_des_crypt: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
django_des_crypt: test password size limits raise truncate_error (if appropriate) ... ok
django_des_crypt: test no password size limits enforced (if truncate_size=None) ... SKIP: truncate_size is set
django_des_crypt: validate 'truncate_error' setting & related attributes ... ok
django_des_crypt: Handler.using() -- default_salt_size ... ok
django_disabled: validate required attributes ... ok
django_disabled: test basic config-string workflow ... ok
django_disabled: test basic using() workflow ... ok
django_disabled: test basic hash-string workflow. ... ok
django_disabled: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
django_disabled: test hashes can be unicode or bytes ... ok
django_disabled: test multi-backend support ... SKIP: handler only has one backend
django_disabled: validate optional salt attributes ... SKIP: handler doesn't have salt
django_disabled: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
django_disabled: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
django_disabled: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
django_disabled: test hash() honors salt_chars ... SKIP: handler doesn't have salt
django_disabled: test non-string salt values ... SKIP: handler doesn't have salt
django_disabled: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
django_disabled: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
django_disabled: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
django_disabled: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
django_disabled: test password case sensitivity ... ok
django_disabled: test non-string passwords are rejected ... ok
django_disabled: test MAX_PASSWORD_SIZE is enforced ... ok
django_disabled: test forbidden characters not allowed in password ... SKIP: none listed
django_disabled: test known hashes ... ok
django_disabled: test known alternate hashes ... ok
django_disabled: test known config strings ... SKIP: hash has no settings
django_disabled: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
django_disabled: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
django_disabled: test known foreign hashes ... ok
django_disabled: test non-string hashes are rejected ... ok
django_disabled: fuzz testing -- random passwords and options ... SKIP: not applicable
django_disabled: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
django_disabled: .disable() / .enable() methods ... ok
django_disabled: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
django_disabled: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
django_disabled: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
django_disabled: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
django_disabled: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
django_disabled: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
django_disabled: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
django_disabled: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
django_disabled: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
django_disabled: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
django_disabled: test no password size limits enforced (if truncate_size=None) ... ok
django_disabled: validate 'truncate_error' setting & related attributes ... ok
django_disabled: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
django_pbkdf2_sha1: validate required attributes ... ok
django_pbkdf2_sha1: test basic config-string workflow ... ok
django_pbkdf2_sha1: test basic using() workflow ... ok
django_pbkdf2_sha1: test basic hash-string workflow. ... ok
django_pbkdf2_sha1: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
django_pbkdf2_sha1: test hashes can be unicode or bytes ... ok
django_pbkdf2_sha1: test multi-backend support ... SKIP: handler only has one backend
django_pbkdf2_sha1: validate optional salt attributes ... ok
django_pbkdf2_sha1: test hash() / genconfig() creates new salt each time ... ok
django_pbkdf2_sha1: test hash() / genconfig() honors min_salt_size ... ok
django_pbkdf2_sha1: test hash() / genconfig() honors max_salt_size ... ok
django_pbkdf2_sha1: test hash() honors salt_chars ... ok
django_pbkdf2_sha1: test non-string salt values ... ok
django_pbkdf2_sha1: validate optional rounds attributes ... ok
django_pbkdf2_sha1: test hash() / genconfig() honors min_rounds ... ok
django_pbkdf2_sha1: test hash() / genconfig() honors max_rounds ... ok
django_pbkdf2_sha1: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
django_pbkdf2_sha1: test password case sensitivity ... ok
django_pbkdf2_sha1: test non-string passwords are rejected ... ok
django_pbkdf2_sha1: test MAX_PASSWORD_SIZE is enforced ... ok
django_pbkdf2_sha1: test forbidden characters not allowed in password ... SKIP: none listed
django_pbkdf2_sha1: test known hashes ... ok
django_pbkdf2_sha1: test known alternate hashes ... SKIP: no alternate hashes provided
django_pbkdf2_sha1: test known config strings ... SKIP: no config strings provided
django_pbkdf2_sha1: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
django_pbkdf2_sha1: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
django_pbkdf2_sha1: test known foreign hashes ... ok
django_pbkdf2_sha1: test non-string hashes are rejected ... ok
django_pbkdf2_sha1: fuzz testing -- random passwords and options ... ok
django_pbkdf2_sha1: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
django_pbkdf2_sha1: run known correct hashes through Django's check_password() ... SKIP: Django >= 1.8 not installed
django_pbkdf2_sha1: test against output of Django's make_password() ... SKIP: Django >= 1.8 not installed
django_pbkdf2_sha1: .disable() / .enable() methods ... SKIP: not applicable
django_pbkdf2_sha1: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
django_pbkdf2_sha1: HasRounds.using() -- max_rounds / max_desired_rounds ... ok
django_pbkdf2_sha1: HasRounds.using() -- desired_rounds + needs_update() ... ok
django_pbkdf2_sha1: HasRounds.using() -- sanity check test harness ... ok
django_pbkdf2_sha1: HasRounds.using() -- default_rounds ... ok
django_pbkdf2_sha1: HasRounds.using() -- min_rounds / min_desired_rounds ... ok
django_pbkdf2_sha1: HasRounds.using() -- rounds ... ok
django_pbkdf2_sha1: HasRounds.using() -- vary_rounds generation ... ok
django_pbkdf2_sha1: HasRounds.using() -- vary_rounds parsing ... ok
django_pbkdf2_sha1: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
django_pbkdf2_sha1: test no password size limits enforced (if truncate_size=None) ... ok
django_pbkdf2_sha1: validate 'truncate_error' setting & related attributes ... ok
django_pbkdf2_sha1: Handler.using() -- default_salt_size ... ok
django_pbkdf2_sha256: validate required attributes ... ok
django_pbkdf2_sha256: test basic config-string workflow ... ok
django_pbkdf2_sha256: test basic using() workflow ... ok
django_pbkdf2_sha256: test basic hash-string workflow. ... ok
django_pbkdf2_sha256: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
django_pbkdf2_sha256: test hashes can be unicode or bytes ... ok
django_pbkdf2_sha256: test multi-backend support ... SKIP: handler only has one backend
django_pbkdf2_sha256: validate optional salt attributes ... ok
django_pbkdf2_sha256: test hash() / genconfig() creates new salt each time ... ok
django_pbkdf2_sha256: test hash() / genconfig() honors min_salt_size ... ok
django_pbkdf2_sha256: test hash() / genconfig() honors max_salt_size ... ok
django_pbkdf2_sha256: test hash() honors salt_chars ... ok
django_pbkdf2_sha256: test non-string salt values ... ok
django_pbkdf2_sha256: validate optional rounds attributes ... ok
django_pbkdf2_sha256: test hash() / genconfig() honors min_rounds ... ok
django_pbkdf2_sha256: test hash() / genconfig() honors max_rounds ... ok
django_pbkdf2_sha256: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
django_pbkdf2_sha256: test password case sensitivity ... ok
django_pbkdf2_sha256: test non-string passwords are rejected ... ok
django_pbkdf2_sha256: test MAX_PASSWORD_SIZE is enforced ... ok
django_pbkdf2_sha256: test forbidden characters not allowed in password ... SKIP: none listed
django_pbkdf2_sha256: test known hashes ... ok
django_pbkdf2_sha256: test known alternate hashes ... SKIP: no alternate hashes provided
django_pbkdf2_sha256: test known config strings ... SKIP: no config strings provided
django_pbkdf2_sha256: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
django_pbkdf2_sha256: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
django_pbkdf2_sha256: test known foreign hashes ... ok
django_pbkdf2_sha256: test non-string hashes are rejected ... ok
django_pbkdf2_sha256: fuzz testing -- random passwords and options ... ok
django_pbkdf2_sha256: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
django_pbkdf2_sha256: run known correct hashes through Django's check_password() ... SKIP: Django >= 1.8 not installed
django_pbkdf2_sha256: test against output of Django's make_password() ... SKIP: Django >= 1.8 not installed
django_pbkdf2_sha256: .disable() / .enable() methods ... SKIP: not applicable
django_pbkdf2_sha256: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
django_pbkdf2_sha256: HasRounds.using() -- max_rounds / max_desired_rounds ... ok
django_pbkdf2_sha256: HasRounds.using() -- desired_rounds + needs_update() ... ok
django_pbkdf2_sha256: HasRounds.using() -- sanity check test harness ... ok
django_pbkdf2_sha256: HasRounds.using() -- default_rounds ... ok
django_pbkdf2_sha256: HasRounds.using() -- min_rounds / min_desired_rounds ... ok
django_pbkdf2_sha256: HasRounds.using() -- rounds ... ok
django_pbkdf2_sha256: HasRounds.using() -- vary_rounds generation ... ok
django_pbkdf2_sha256: HasRounds.using() -- vary_rounds parsing ... ok
django_pbkdf2_sha256: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
django_pbkdf2_sha256: test no password size limits enforced (if truncate_size=None) ... ok
django_pbkdf2_sha256: validate 'truncate_error' setting & related attributes ... ok
django_pbkdf2_sha256: Handler.using() -- default_salt_size ... ok
django_salted_md5: validate required attributes ... ok
django_salted_md5: test basic config-string workflow ... ok
django_salted_md5: test basic using() workflow ... ok
django_salted_md5: test basic hash-string workflow. ... ok
django_salted_md5: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
django_salted_md5: test hashes can be unicode or bytes ... ok
django_salted_md5: test multi-backend support ... SKIP: handler only has one backend
django_salted_md5: validate optional salt attributes ... ok
django_salted_md5: test hash() / genconfig() creates new salt each time ... ok
django_salted_md5: test hash() / genconfig() honors min_salt_size ... ok
django_salted_md5: test hash() / genconfig() honors max_salt_size ... ok
django_salted_md5: test hash() honors salt_chars ... ok
django_salted_md5: test non-string salt values ... ok
django_salted_md5: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
django_salted_md5: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
django_salted_md5: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
django_salted_md5: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
django_salted_md5: test password case sensitivity ... ok
django_salted_md5: test non-string passwords are rejected ... ok
django_salted_md5: test MAX_PASSWORD_SIZE is enforced ... ok
django_salted_md5: test forbidden characters not allowed in password ... SKIP: none listed
django_salted_md5: test known hashes ... ok
django_salted_md5: test known alternate hashes ... SKIP: no alternate hashes provided
django_salted_md5: test known config strings ... SKIP: no config strings provided
django_salted_md5: test known unidentifiably-mangled strings ... ok
django_salted_md5: test known identifiable-but-malformed strings ... ok
django_salted_md5: test known foreign hashes ... ok
django_salted_md5: test non-string hashes are rejected ... ok
django_salted_md5: fuzz testing -- random passwords and options ... ok
django_salted_md5: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
django_salted_md5: run known correct hashes through Django's check_password() ... SKIP: Django >= 1.8 not installed
django_salted_md5: test against output of Django's make_password() ... SKIP: Django >= 1.8 not installed
django_salted_md5: .disable() / .enable() methods ... SKIP: not applicable
django_salted_md5: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
django_salted_md5: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
django_salted_md5: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
django_salted_md5: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
django_salted_md5: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
django_salted_md5: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
django_salted_md5: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
django_salted_md5: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
django_salted_md5: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
django_salted_md5: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
django_salted_md5: test no password size limits enforced (if truncate_size=None) ... ok
django_salted_md5: validate 'truncate_error' setting & related attributes ... ok
django_salted_md5: Handler.using() -- default_salt_size ... ok
django_salted_sha1: validate required attributes ... ok
django_salted_sha1: test basic config-string workflow ... ok
django_salted_sha1: test basic using() workflow ... ok
django_salted_sha1: test basic hash-string workflow. ... ok
django_salted_sha1: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
django_salted_sha1: test hashes can be unicode or bytes ... ok
django_salted_sha1: test multi-backend support ... SKIP: handler only has one backend
django_salted_sha1: validate optional salt attributes ... ok
django_salted_sha1: test hash() / genconfig() creates new salt each time ... ok
django_salted_sha1: test hash() / genconfig() honors min_salt_size ... ok
django_salted_sha1: test hash() / genconfig() honors max_salt_size ... ok
django_salted_sha1: test hash() honors salt_chars ... ok
django_salted_sha1: test non-string salt values ... ok
django_salted_sha1: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
django_salted_sha1: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
django_salted_sha1: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
django_salted_sha1: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
django_salted_sha1: test password case sensitivity ... ok
django_salted_sha1: test non-string passwords are rejected ... ok
django_salted_sha1: test MAX_PASSWORD_SIZE is enforced ... ok
django_salted_sha1: test forbidden characters not allowed in password ... SKIP: none listed
django_salted_sha1: test known hashes ... ok
django_salted_sha1: test known alternate hashes ... SKIP: no alternate hashes provided
django_salted_sha1: test known config strings ... SKIP: no config strings provided
django_salted_sha1: test known unidentifiably-mangled strings ... ok
django_salted_sha1: test known identifiable-but-malformed strings ... ok
django_salted_sha1: test known foreign hashes ... ok
django_salted_sha1: test non-string hashes are rejected ... ok
django_salted_sha1: fuzz testing -- random passwords and options ... ok
django_salted_sha1: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
django_salted_sha1: run known correct hashes through Django's check_password() ... SKIP: Django >= 1.8 not installed
django_salted_sha1: test against output of Django's make_password() ... SKIP: Django >= 1.8 not installed
django_salted_sha1: .disable() / .enable() methods ... SKIP: not applicable
django_salted_sha1: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
django_salted_sha1: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
django_salted_sha1: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
django_salted_sha1: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
django_salted_sha1: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
django_salted_sha1: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
django_salted_sha1: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
django_salted_sha1: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
django_salted_sha1: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
django_salted_sha1: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
django_salted_sha1: test no password size limits enforced (if truncate_size=None) ... ok
django_salted_sha1: validate 'truncate_error' setting & related attributes ... ok
django_salted_sha1: Handler.using() -- default_salt_size ... ok
atlassian_pbkdf2_sha1: validate required attributes ... ok
atlassian_pbkdf2_sha1: test basic config-string workflow ... ok
atlassian_pbkdf2_sha1: test basic using() workflow ... ok
atlassian_pbkdf2_sha1: test basic hash-string workflow. ... ok
atlassian_pbkdf2_sha1: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
atlassian_pbkdf2_sha1: test hashes can be unicode or bytes ... ok
atlassian_pbkdf2_sha1: test multi-backend support ... SKIP: handler only has one backend
atlassian_pbkdf2_sha1: validate optional salt attributes ... ok
atlassian_pbkdf2_sha1: test hash() / genconfig() creates new salt each time ... ok
atlassian_pbkdf2_sha1: test hash() / genconfig() honors min_salt_size ... ok
atlassian_pbkdf2_sha1: test hash() / genconfig() honors max_salt_size ... ok
atlassian_pbkdf2_sha1: test hash() honors salt_chars ... ok
atlassian_pbkdf2_sha1: test non-string salt values ... ok
atlassian_pbkdf2_sha1: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
atlassian_pbkdf2_sha1: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
atlassian_pbkdf2_sha1: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
atlassian_pbkdf2_sha1: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
atlassian_pbkdf2_sha1: test password case sensitivity ... ok
atlassian_pbkdf2_sha1: test non-string passwords are rejected ... ok
atlassian_pbkdf2_sha1: test MAX_PASSWORD_SIZE is enforced ... ok
atlassian_pbkdf2_sha1: test forbidden characters not allowed in password ... SKIP: none listed
atlassian_pbkdf2_sha1: test known hashes ... ok
atlassian_pbkdf2_sha1: test known alternate hashes ... SKIP: no alternate hashes provided
atlassian_pbkdf2_sha1: test known config strings ... SKIP: no config strings provided
atlassian_pbkdf2_sha1: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
atlassian_pbkdf2_sha1: test known identifiable-but-malformed strings ... ok
atlassian_pbkdf2_sha1: test known foreign hashes ... ok
atlassian_pbkdf2_sha1: test non-string hashes are rejected ... ok
atlassian_pbkdf2_sha1: fuzz testing -- random passwords and options ... ok
atlassian_pbkdf2_sha1: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
atlassian_pbkdf2_sha1: .disable() / .enable() methods ... SKIP: not applicable
atlassian_pbkdf2_sha1: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
atlassian_pbkdf2_sha1: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
atlassian_pbkdf2_sha1: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
atlassian_pbkdf2_sha1: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
atlassian_pbkdf2_sha1: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
atlassian_pbkdf2_sha1: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
atlassian_pbkdf2_sha1: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
atlassian_pbkdf2_sha1: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
atlassian_pbkdf2_sha1: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
atlassian_pbkdf2_sha1: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
atlassian_pbkdf2_sha1: test no password size limits enforced (if truncate_size=None) ... ok
atlassian_pbkdf2_sha1: validate 'truncate_error' setting & related attributes ... ok
atlassian_pbkdf2_sha1: Handler.using() -- default_salt_size ... ok
cta_pbkdf2_sha1: validate required attributes ... ok
cta_pbkdf2_sha1: test basic config-string workflow ... ok
cta_pbkdf2_sha1: test basic using() workflow ... ok
cta_pbkdf2_sha1: test basic hash-string workflow. ... ok
cta_pbkdf2_sha1: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
cta_pbkdf2_sha1: test hashes can be unicode or bytes ... ok
cta_pbkdf2_sha1: test multi-backend support ... SKIP: handler only has one backend
cta_pbkdf2_sha1: validate optional salt attributes ... ok
cta_pbkdf2_sha1: test hash() / genconfig() creates new salt each time ... ok
cta_pbkdf2_sha1: test hash() / genconfig() honors min_salt_size ... ok
cta_pbkdf2_sha1: test hash() / genconfig() honors max_salt_size ... ok
cta_pbkdf2_sha1: test hash() honors salt_chars ... ok
cta_pbkdf2_sha1: test non-string salt values ... ok
cta_pbkdf2_sha1: validate optional rounds attributes ... ok
cta_pbkdf2_sha1: test hash() / genconfig() honors min_rounds ... ok
cta_pbkdf2_sha1: test hash() / genconfig() honors max_rounds ... ok
cta_pbkdf2_sha1: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
cta_pbkdf2_sha1: test password case sensitivity ... ok
cta_pbkdf2_sha1: test non-string passwords are rejected ... ok
cta_pbkdf2_sha1: test MAX_PASSWORD_SIZE is enforced ... ok
cta_pbkdf2_sha1: test forbidden characters not allowed in password ... SKIP: none listed
cta_pbkdf2_sha1: test known hashes ... ok
cta_pbkdf2_sha1: test known alternate hashes ... SKIP: no alternate hashes provided
cta_pbkdf2_sha1: test known config strings ... SKIP: no config strings provided
cta_pbkdf2_sha1: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
cta_pbkdf2_sha1: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
cta_pbkdf2_sha1: test known foreign hashes ... ok
cta_pbkdf2_sha1: test non-string hashes are rejected ... ok
cta_pbkdf2_sha1: fuzz testing -- random passwords and options ... ok
cta_pbkdf2_sha1: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
cta_pbkdf2_sha1: .disable() / .enable() methods ... SKIP: not applicable
cta_pbkdf2_sha1: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
cta_pbkdf2_sha1: HasRounds.using() -- max_rounds / max_desired_rounds ... ok
cta_pbkdf2_sha1: HasRounds.using() -- desired_rounds + needs_update() ... ok
cta_pbkdf2_sha1: HasRounds.using() -- sanity check test harness ... ok
cta_pbkdf2_sha1: HasRounds.using() -- default_rounds ... ok
cta_pbkdf2_sha1: HasRounds.using() -- min_rounds / min_desired_rounds ... ok
cta_pbkdf2_sha1: HasRounds.using() -- rounds ... ok
cta_pbkdf2_sha1: HasRounds.using() -- vary_rounds generation ... ok
cta_pbkdf2_sha1: HasRounds.using() -- vary_rounds parsing ... ok
cta_pbkdf2_sha1: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
cta_pbkdf2_sha1: test no password size limits enforced (if truncate_size=None) ... ok
cta_pbkdf2_sha1: validate 'truncate_error' setting & related attributes ... ok
cta_pbkdf2_sha1: Handler.using() -- default_salt_size ... ok
dlitz_pbkdf2_sha1: validate required attributes ... ok
dlitz_pbkdf2_sha1: test basic config-string workflow ... ok
dlitz_pbkdf2_sha1: test basic using() workflow ... ok
dlitz_pbkdf2_sha1: test basic hash-string workflow. ... ok
dlitz_pbkdf2_sha1: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
dlitz_pbkdf2_sha1: test hashes can be unicode or bytes ... ok
dlitz_pbkdf2_sha1: test multi-backend support ... SKIP: handler only has one backend
dlitz_pbkdf2_sha1: validate optional salt attributes ... ok
dlitz_pbkdf2_sha1: test hash() / genconfig() creates new salt each time ... ok
dlitz_pbkdf2_sha1: test hash() / genconfig() honors min_salt_size ... ok
dlitz_pbkdf2_sha1: test hash() / genconfig() honors max_salt_size ... ok
dlitz_pbkdf2_sha1: test hash() honors salt_chars ... ok
dlitz_pbkdf2_sha1: test non-string salt values ... ok
dlitz_pbkdf2_sha1: validate optional rounds attributes ... ok
dlitz_pbkdf2_sha1: test hash() / genconfig() honors min_rounds ... ok
dlitz_pbkdf2_sha1: test hash() / genconfig() honors max_rounds ... ok
dlitz_pbkdf2_sha1: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
dlitz_pbkdf2_sha1: test password case sensitivity ... ok
dlitz_pbkdf2_sha1: test non-string passwords are rejected ... ok
dlitz_pbkdf2_sha1: test MAX_PASSWORD_SIZE is enforced ... ok
dlitz_pbkdf2_sha1: test forbidden characters not allowed in password ... SKIP: none listed
dlitz_pbkdf2_sha1: test known hashes ... ok
dlitz_pbkdf2_sha1: test known alternate hashes ... SKIP: no alternate hashes provided
dlitz_pbkdf2_sha1: test known config strings ... SKIP: no config strings provided
dlitz_pbkdf2_sha1: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
dlitz_pbkdf2_sha1: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
dlitz_pbkdf2_sha1: test known foreign hashes ... ok
dlitz_pbkdf2_sha1: test non-string hashes are rejected ... ok
dlitz_pbkdf2_sha1: fuzz testing -- random passwords and options ... ok
dlitz_pbkdf2_sha1: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
dlitz_pbkdf2_sha1: .disable() / .enable() methods ... SKIP: not applicable
dlitz_pbkdf2_sha1: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
dlitz_pbkdf2_sha1: HasRounds.using() -- max_rounds / max_desired_rounds ... ok
dlitz_pbkdf2_sha1: HasRounds.using() -- desired_rounds + needs_update() ... ok
dlitz_pbkdf2_sha1: HasRounds.using() -- sanity check test harness ... ok
dlitz_pbkdf2_sha1: HasRounds.using() -- default_rounds ... ok
dlitz_pbkdf2_sha1: HasRounds.using() -- min_rounds / min_desired_rounds ... ok
dlitz_pbkdf2_sha1: HasRounds.using() -- rounds ... ok
dlitz_pbkdf2_sha1: HasRounds.using() -- vary_rounds generation ... ok
dlitz_pbkdf2_sha1: HasRounds.using() -- vary_rounds parsing ... ok
dlitz_pbkdf2_sha1: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
dlitz_pbkdf2_sha1: test no password size limits enforced (if truncate_size=None) ... ok
dlitz_pbkdf2_sha1: validate 'truncate_error' setting & related attributes ... ok
dlitz_pbkdf2_sha1: Handler.using() -- default_salt_size ... ok
grub_pbkdf2_sha512: validate required attributes ... ok
grub_pbkdf2_sha512: test basic config-string workflow ... ok
grub_pbkdf2_sha512: test basic using() workflow ... ok
grub_pbkdf2_sha512: test basic hash-string workflow. ... ok
grub_pbkdf2_sha512: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
grub_pbkdf2_sha512: test hashes can be unicode or bytes ... ok
grub_pbkdf2_sha512: test multi-backend support ... SKIP: handler only has one backend
grub_pbkdf2_sha512: validate optional salt attributes ... ok
grub_pbkdf2_sha512: test hash() / genconfig() creates new salt each time ... ok
grub_pbkdf2_sha512: test hash() / genconfig() honors min_salt_size ... ok
grub_pbkdf2_sha512: test hash() / genconfig() honors max_salt_size ... ok
grub_pbkdf2_sha512: test hash() honors salt_chars ... ok
grub_pbkdf2_sha512: test non-string salt values ... ok
grub_pbkdf2_sha512: validate optional rounds attributes ... ok
grub_pbkdf2_sha512: test hash() / genconfig() honors min_rounds ... ok
grub_pbkdf2_sha512: test hash() / genconfig() honors max_rounds ... ok
grub_pbkdf2_sha512: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
grub_pbkdf2_sha512: test password case sensitivity ... ok
grub_pbkdf2_sha512: test non-string passwords are rejected ... ok
grub_pbkdf2_sha512: test MAX_PASSWORD_SIZE is enforced ... ok
grub_pbkdf2_sha512: test forbidden characters not allowed in password ... SKIP: none listed
grub_pbkdf2_sha512: test known hashes ... ok
grub_pbkdf2_sha512: test known alternate hashes ... SKIP: no alternate hashes provided
grub_pbkdf2_sha512: test known config strings ... SKIP: no config strings provided
grub_pbkdf2_sha512: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
grub_pbkdf2_sha512: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
grub_pbkdf2_sha512: test known foreign hashes ... ok
grub_pbkdf2_sha512: test non-string hashes are rejected ... ok
grub_pbkdf2_sha512: fuzz testing -- random passwords and options ... ok
grub_pbkdf2_sha512: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
grub_pbkdf2_sha512: .disable() / .enable() methods ... SKIP: not applicable
grub_pbkdf2_sha512: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
grub_pbkdf2_sha512: HasRounds.using() -- max_rounds / max_desired_rounds ... ok
grub_pbkdf2_sha512: HasRounds.using() -- desired_rounds + needs_update() ... ok
grub_pbkdf2_sha512: HasRounds.using() -- sanity check test harness ... ok
grub_pbkdf2_sha512: HasRounds.using() -- default_rounds ... ok
grub_pbkdf2_sha512: HasRounds.using() -- min_rounds / min_desired_rounds ... ok
grub_pbkdf2_sha512: HasRounds.using() -- rounds ... ok
grub_pbkdf2_sha512: HasRounds.using() -- vary_rounds generation ... ok
grub_pbkdf2_sha512: HasRounds.using() -- vary_rounds parsing ... ok
grub_pbkdf2_sha512: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
grub_pbkdf2_sha512: test no password size limits enforced (if truncate_size=None) ... ok
grub_pbkdf2_sha512: validate 'truncate_error' setting & related attributes ... ok
grub_pbkdf2_sha512: Handler.using() -- default_salt_size ... ok
test ldap pbkdf2 wrappers ... ok
pbkdf2_sha1: validate required attributes ... ok
pbkdf2_sha1: test basic config-string workflow ... ok
pbkdf2_sha1: test basic using() workflow ... ok
pbkdf2_sha1: test basic hash-string workflow. ... ok
pbkdf2_sha1: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
pbkdf2_sha1: test hashes can be unicode or bytes ... ok
pbkdf2_sha1: test multi-backend support ... SKIP: handler only has one backend
pbkdf2_sha1: validate optional salt attributes ... ok
pbkdf2_sha1: test hash() / genconfig() creates new salt each time ... ok
pbkdf2_sha1: test hash() / genconfig() honors min_salt_size ... ok
pbkdf2_sha1: test hash() / genconfig() honors max_salt_size ... ok
pbkdf2_sha1: test hash() honors salt_chars ... ok
pbkdf2_sha1: test non-string salt values ... ok
pbkdf2_sha1: validate optional rounds attributes ... ok
pbkdf2_sha1: test hash() / genconfig() honors min_rounds ... ok
pbkdf2_sha1: test hash() / genconfig() honors max_rounds ... ok
pbkdf2_sha1: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
pbkdf2_sha1: test password case sensitivity ... ok
pbkdf2_sha1: test non-string passwords are rejected ... ok
pbkdf2_sha1: test MAX_PASSWORD_SIZE is enforced ... ok
pbkdf2_sha1: test forbidden characters not allowed in password ... SKIP: none listed
pbkdf2_sha1: test known hashes ... ok
pbkdf2_sha1: test known alternate hashes ... SKIP: no alternate hashes provided
pbkdf2_sha1: test known config strings ... SKIP: no config strings provided
pbkdf2_sha1: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
pbkdf2_sha1: test known identifiable-but-malformed strings ... ok
pbkdf2_sha1: test known foreign hashes ... ok
pbkdf2_sha1: test non-string hashes are rejected ... ok
pbkdf2_sha1: fuzz testing -- random passwords and options ... ok
pbkdf2_sha1: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
pbkdf2_sha1: .disable() / .enable() methods ... SKIP: not applicable
pbkdf2_sha1: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
pbkdf2_sha1: HasRounds.using() -- max_rounds / max_desired_rounds ... ok
pbkdf2_sha1: HasRounds.using() -- desired_rounds + needs_update() ... ok
pbkdf2_sha1: HasRounds.using() -- sanity check test harness ... ok
pbkdf2_sha1: HasRounds.using() -- default_rounds ... ok
pbkdf2_sha1: HasRounds.using() -- min_rounds / min_desired_rounds ... ok
pbkdf2_sha1: HasRounds.using() -- rounds ... ok
pbkdf2_sha1: HasRounds.using() -- vary_rounds generation ... ok
pbkdf2_sha1: HasRounds.using() -- vary_rounds parsing ... ok
pbkdf2_sha1: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
pbkdf2_sha1: test no password size limits enforced (if truncate_size=None) ... ok
pbkdf2_sha1: validate 'truncate_error' setting & related attributes ... ok
pbkdf2_sha1: Handler.using() -- default_salt_size ... ok
pbkdf2_sha256: validate required attributes ... ok
pbkdf2_sha256: test basic config-string workflow ... ok
pbkdf2_sha256: test basic using() workflow ... ok
pbkdf2_sha256: test basic hash-string workflow. ... ok
pbkdf2_sha256: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
pbkdf2_sha256: test hashes can be unicode or bytes ... ok
pbkdf2_sha256: test multi-backend support ... SKIP: handler only has one backend
pbkdf2_sha256: validate optional salt attributes ... ok
pbkdf2_sha256: test hash() / genconfig() creates new salt each time ... ok
pbkdf2_sha256: test hash() / genconfig() honors min_salt_size ... ok
pbkdf2_sha256: test hash() / genconfig() honors max_salt_size ... ok
pbkdf2_sha256: test hash() honors salt_chars ... ok
pbkdf2_sha256: test non-string salt values ... ok
pbkdf2_sha256: validate optional rounds attributes ... ok
pbkdf2_sha256: test hash() / genconfig() honors min_rounds ... ok
pbkdf2_sha256: test hash() / genconfig() honors max_rounds ... ok
pbkdf2_sha256: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
pbkdf2_sha256: test password case sensitivity ... ok
pbkdf2_sha256: test non-string passwords are rejected ... ok
pbkdf2_sha256: test MAX_PASSWORD_SIZE is enforced ... ok
pbkdf2_sha256: test forbidden characters not allowed in password ... SKIP: none listed
pbkdf2_sha256: test known hashes ... ok
pbkdf2_sha256: test known alternate hashes ... SKIP: no alternate hashes provided
pbkdf2_sha256: test known config strings ... SKIP: no config strings provided
pbkdf2_sha256: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
pbkdf2_sha256: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
pbkdf2_sha256: test known foreign hashes ... ok
pbkdf2_sha256: test non-string hashes are rejected ... ok
pbkdf2_sha256: fuzz testing -- random passwords and options ... ok
pbkdf2_sha256: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
pbkdf2_sha256: .disable() / .enable() methods ... SKIP: not applicable
pbkdf2_sha256: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
pbkdf2_sha256: HasRounds.using() -- max_rounds / max_desired_rounds ... ok
pbkdf2_sha256: HasRounds.using() -- desired_rounds + needs_update() ... ok
pbkdf2_sha256: HasRounds.using() -- sanity check test harness ... ok
pbkdf2_sha256: HasRounds.using() -- default_rounds ... ok
pbkdf2_sha256: HasRounds.using() -- min_rounds / min_desired_rounds ... ok
pbkdf2_sha256: HasRounds.using() -- rounds ... ok
pbkdf2_sha256: HasRounds.using() -- vary_rounds generation ... ok
pbkdf2_sha256: HasRounds.using() -- vary_rounds parsing ... ok
pbkdf2_sha256: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
pbkdf2_sha256: test no password size limits enforced (if truncate_size=None) ... ok
pbkdf2_sha256: validate 'truncate_error' setting & related attributes ... ok
pbkdf2_sha256: Handler.using() -- default_salt_size ... ok
pbkdf2_sha512: validate required attributes ... ok
pbkdf2_sha512: test basic config-string workflow ... ok
pbkdf2_sha512: test basic using() workflow ... ok
pbkdf2_sha512: test basic hash-string workflow. ... ok
pbkdf2_sha512: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
pbkdf2_sha512: test hashes can be unicode or bytes ... ok
pbkdf2_sha512: test multi-backend support ... SKIP: handler only has one backend
pbkdf2_sha512: validate optional salt attributes ... ok
pbkdf2_sha512: test hash() / genconfig() creates new salt each time ... ok
pbkdf2_sha512: test hash() / genconfig() honors min_salt_size ... ok
pbkdf2_sha512: test hash() / genconfig() honors max_salt_size ... ok
pbkdf2_sha512: test hash() honors salt_chars ... ok
pbkdf2_sha512: test non-string salt values ... ok
pbkdf2_sha512: validate optional rounds attributes ... ok
pbkdf2_sha512: test hash() / genconfig() honors min_rounds ... ok
pbkdf2_sha512: test hash() / genconfig() honors max_rounds ... ok
pbkdf2_sha512: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
pbkdf2_sha512: test password case sensitivity ... ok
pbkdf2_sha512: test non-string passwords are rejected ... ok
pbkdf2_sha512: test MAX_PASSWORD_SIZE is enforced ... ok
pbkdf2_sha512: test forbidden characters not allowed in password ... SKIP: none listed
pbkdf2_sha512: test known hashes ... ok
pbkdf2_sha512: test known alternate hashes ... SKIP: no alternate hashes provided
pbkdf2_sha512: test known config strings ... SKIP: no config strings provided
pbkdf2_sha512: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
pbkdf2_sha512: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
pbkdf2_sha512: test known foreign hashes ... ok
pbkdf2_sha512: test non-string hashes are rejected ... ok
pbkdf2_sha512: fuzz testing -- random passwords and options ... ok
pbkdf2_sha512: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
pbkdf2_sha512: .disable() / .enable() methods ... SKIP: not applicable
pbkdf2_sha512: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
pbkdf2_sha512: HasRounds.using() -- max_rounds / max_desired_rounds ... ok
pbkdf2_sha512: HasRounds.using() -- desired_rounds + needs_update() ... ok
pbkdf2_sha512: HasRounds.using() -- sanity check test harness ... ok
pbkdf2_sha512: HasRounds.using() -- default_rounds ... ok
pbkdf2_sha512: HasRounds.using() -- min_rounds / min_desired_rounds ... ok
pbkdf2_sha512: HasRounds.using() -- rounds ... ok
pbkdf2_sha512: HasRounds.using() -- vary_rounds generation ... ok
pbkdf2_sha512: HasRounds.using() -- vary_rounds parsing ... ok
pbkdf2_sha512: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
pbkdf2_sha512: test no password size limits enforced (if truncate_size=None) ... ok
pbkdf2_sha512: validate 'truncate_error' setting & related attributes ... ok
pbkdf2_sha512: Handler.using() -- default_salt_size ... ok
scram: validate required attributes ... ok
scram: test basic config-string workflow ... ok
scram: test basic using() workflow ... ok
scram: test basic hash-string workflow. ... ok
scram: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
scram: test hashes can be unicode or bytes ... ok
scram: test multi-backend support ... SKIP: handler only has one backend
scram: validate optional salt attributes ... ok
scram: test hash() / genconfig() creates new salt each time ... ok
scram: test hash() / genconfig() honors min_salt_size ... ok
scram: test hash() / genconfig() honors max_salt_size ... ok
scram: test hash() honors salt_chars ... ok
scram: test non-string salt values ... ok
scram: validate optional rounds attributes ... ok
scram: test hash() / genconfig() honors min_rounds ... ok
scram: test hash() / genconfig() honors max_rounds ... ok
scram: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
scram: test password case sensitivity ... ok
scram: test non-string passwords are rejected ... ok
scram: test MAX_PASSWORD_SIZE is enforced ... ok
scram: test forbidden characters not allowed in password ... SKIP: none listed
scram: test known hashes ... ok
scram: test known alternate hashes ... SKIP: no alternate hashes provided
scram: test known config strings ... SKIP: no config strings provided
scram: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
scram: test known identifiable-but-malformed strings ... ok
scram: test known foreign hashes ... ok
scram: test non-string hashes are rejected ... ok
scram: fuzz testing -- random passwords and options ... ok
scram: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
scram: test parsing of 'algs' setting ... ok
scram: test internal parsing of 'checksum' keyword ... ok
scram: test scram.extract_digest_info() ... ok
scram: test scram.extract_digest_algs() ... ok
scram: test scram.derive_digest() ... ok
scram: needs_update() -- algs setting ... ok
scram: test hash/verify use saslprep ... ok
scram: using() -- 'algs' parameter ... ok
scram: using() -- 'default_algs' parameter ... ok
scram: test handling of 'algs' in context object ... ok
scram: test verify(full=True) flag ... ok
scram: .disable() / .enable() methods ... SKIP: not applicable
scram: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
scram: HasRounds.using() -- max_rounds / max_desired_rounds ... ok
scram: HasRounds.using() -- desired_rounds + needs_update() ... ok
scram: HasRounds.using() -- sanity check test harness ... ok
scram: HasRounds.using() -- default_rounds ... ok
scram: HasRounds.using() -- min_rounds / min_desired_rounds ... ok
scram: HasRounds.using() -- rounds ... ok
scram: HasRounds.using() -- vary_rounds generation ... ok
scram: HasRounds.using() -- vary_rounds parsing ... ok
scram: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
scram: test no password size limits enforced (if truncate_size=None) ... ok
scram: validate 'truncate_error' setting & related attributes ... ok
scram: Handler.using() -- default_salt_size ... ok
scrypt (builtin backend): validate required attributes ... ok
scrypt (builtin backend): test basic config-string workflow ... ok
scrypt (builtin backend): test basic using() workflow ... ok
scrypt (builtin backend): test basic hash-string workflow. ... ok
scrypt (builtin backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
scrypt (builtin backend): test hashes can be unicode or bytes ... ok
scrypt (builtin backend): test multi-backend support ... ok
scrypt (builtin backend): validate optional salt attributes ... ok
scrypt (builtin backend): test hash() / genconfig() creates new salt each time ... ok
scrypt (builtin backend): test hash() / genconfig() honors min_salt_size ... ok
scrypt (builtin backend): test hash() / genconfig() honors max_salt_size ... ok
scrypt (builtin backend): test hash() honors salt_chars ... ok
scrypt (builtin backend): test non-string salt values ... ok
scrypt (builtin backend): validate optional rounds attributes ... ok
scrypt (builtin backend): test hash() / genconfig() honors min_rounds ... ok
scrypt (builtin backend): test hash() / genconfig() honors max_rounds ... ok
scrypt (builtin backend): validate HasManyIdents configuration ... ok
scrypt (builtin backend): test password case sensitivity ... ok
scrypt (builtin backend): test non-string passwords are rejected ... ok
scrypt (builtin backend): test MAX_PASSWORD_SIZE is enforced ... ok
scrypt (builtin backend): test forbidden characters not allowed in password ... SKIP: none listed
scrypt (builtin backend): test known hashes ... ok
scrypt (builtin backend): test known alternate hashes ... SKIP: no alternate hashes provided
scrypt (builtin backend): test known config strings ... SKIP: no config strings provided
scrypt (builtin backend): test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
scrypt (builtin backend): test known identifiable-but-malformed strings ... ok
scrypt (builtin backend): test known foreign hashes ... ok
scrypt (builtin backend): test non-string hashes are rejected ... ok
scrypt (builtin backend): fuzz testing -- random passwords and options ... ok
scrypt (builtin backend): multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
scrypt (builtin backend): .disable() / .enable() methods ... SKIP: not applicable
scrypt (builtin backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... ok
scrypt (builtin backend): HasRounds.using() -- max_rounds / max_desired_rounds ... ok
scrypt (builtin backend): HasRounds.using() -- desired_rounds + needs_update() ... ok
scrypt (builtin backend): HasRounds.using() -- sanity check test harness ... ok
scrypt (builtin backend): HasRounds.using() -- default_rounds ... ok
scrypt (builtin backend): HasRounds.using() -- min_rounds / min_desired_rounds ... ok
scrypt (builtin backend): HasRounds.using() -- rounds ... ok
scrypt (builtin backend): HasRounds.using() -- vary_rounds generation ... ok
scrypt (builtin backend): HasRounds.using() -- vary_rounds parsing ... ok
scrypt (builtin backend): test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
scrypt (builtin backend): test no password size limits enforced (if truncate_size=None) ... ok
scrypt (builtin backend): validate 'truncate_error' setting & related attributes ... ok
scrypt (builtin backend): Handler.using() -- default_salt_size ... ok
test_bsd_contexts (passlib.tests.test_hosts.HostsTest) ... ok
test_host_context (passlib.tests.test_hosts.HostsTest) ... ok
test_linux_context (passlib.tests.test_hosts.HostsTest) ... ok
passlib.pwd.genphrase(): 'length' & 'entropy' keywords ... ok
passlib.pwd.genphrase(): general behavior ... ok
passlib.pwd.genphrase(): 'returns' keyword ... ok
passlib.pwd.genphrase(): 'wordset' & 'words' options ... ok
passlib.pwd: _self_info_rate() ... ok
passlib.pwd.genword(): 'charset' & 'chars' options ... ok
passlib.pwd.genword(): general behavior ... ok
passlib.pwd.genword(): 'returns' keyword ... ok
passlib.registry: test get_crypt_handler() ... ok
passlib.registry: verify we have tests for all builtin handlers ... ok
passlib.registry: test passlib.hash proxy object ... ok
passlib.registry: test list_crypt_handlers() ... ok
passlib.registry: test register_crypt_handler() ... ok
passlib.registry: test register_crypt_handler_path() ... ok
passlib.totp.AppWallet: .decrypt_key() ... SKIP: 'cryptography' package not installed
passlib.totp.AppWallet: .decrypt_key() -- needs_recrypt flag ... SKIP: 'cryptography' package not installed
passlib.totp.AppWallet: constructor -- 'default_tag' param ... ok
passlib.totp.AppWallet: verify cost parameter via timing ... SKIP: 'cryptography' package not installed
passlib.totp.AppWallet: .encrypt_key() ... SKIP: 'cryptography' package not installed
passlib.totp.AppWallet: constructor -- 'secrets' param -- tag/value normalization ... ok
passlib.totp.AppWallet: constructor -- 'secrets' param -- input types ... ok
passlib.totp.TOTP: helper to iterate over test vectors. ... ok
passlib.totp.TOTP: constructor -- 'alg' parameter ... ok
passlib.totp.TOTP: constructor -- 'digits' parameter ... ok
passlib.totp.TOTP: constructor -- 'issuer' parameter ... ok
passlib.totp.TOTP: constructor -- 'key' and 'format' parameters ... ok
passlib.totp.TOTP: constructor -- 'label' parameter ... ok
passlib.totp.TOTP: constructor -- 'new'  parameter ... ok
passlib.totp.TOTP: constructor -- 'period' parameter ... ok
passlib.totp.TOTP: constructor -- 'size'  parameter ... ok
passlib.totp.TOTP: from_dict() ... ok
passlib.totp.TOTP: from_source() ... ok
passlib.totp.TOTP: from_uri() ... ok
passlib.totp.TOTP: generate() ... ok
passlib.totp.TOTP: generate() -- reference vectors ... ok
passlib.totp.TOTP: pretty_key() and .key attributes ... ok
passlib.totp.TOTP: match() -- reference vectors ... ok
passlib.totp.TOTP: match() -- 'reuse' and 'last_counter' parameters ... ok
passlib.totp.TOTP: match() -- 'skew' parameters ... ok
passlib.totp.TOTP: match() -- token normalization ... ok
passlib.totp.TOTP: match() -- 'time' and 'window' parameters ... ok
passlib.totp.TOTP: normalize_time() ... ok
passlib.totp.TOTP: normalize_token() -- class method ... ok
passlib.totp.TOTP: normalize_token() -- instance method ... ok
passlib.totp.TOTP: internal test -- randotp() ... ok
passlib.totp.TOTP: to_dict() ... ok
passlib.totp.TOTP: to_uri() ... ok
passlib.totp.TOTP: match() -- invalid TotpMatch object ... ok
passlib.totp.TOTP: match() -- valid TotpMatch object with past token ... ok
passlib.totp.TOTP: match() -- valid TotpMatch object with future token ... ok
passlib.totp.TOTP: match() -- valid TotpMatch object ... ok
passlib.totp.TOTP: generate() -- TotpToken() class ... ok
passlib.totp.TOTP: using -- 'now' parameter ... ok
passlib.totp.TOTP: using() -- 'period' parameter ... ok
passlib.totp.TOTP: verify() ... ok
ab64_decode() ... ok
ab64_encode() ... ok
b64s_decode() ... ok
b64s_encode() ... ok
test_constructor (passlib.tests.test_utils.Base64EngineTest) ... ok
test b() helper, bytes and native str type ... ok
test is_ascii_safe() ... ok
test is_same_codec() ... ok
test to_bytes() ... ok
test to_native_str() ... ok
test to_unicode() ... ok
h64big codec: test encode_bytes/decode_bytes against random data ... ok
h64big codec: test decode_bytes() against reference inputs ... ok
h64big codec: test decode_bytes() with bad input ... ok
h64big codec: test decode_bytes() ignores padding bits ... ok
h64big codec: test decode_transposed_bytes() ... ok
h64big codec: test decode_transposed_bytes() fails if map is a one-way ... ok
h64big codec: test encode_bytes() against reference inputs ... ok
h64big codec: test encode_bytes() with bad input ... ok
h64big codec: test encode_transposed_bytes() ... ok
h64big codec: test against reference integer encodings ... ok
h64big codec: test_int12 (passlib.tests.test_utils.H64Big_Test) ... ok
h64big codec: test_int24 (passlib.tests.test_utils.H64Big_Test) ... ok
h64big codec: test_int6 (passlib.tests.test_utils.H64Big_Test) ... ok
h64big codec: test_int64 (passlib.tests.test_utils.H64Big_Test) ... ok
h64big codec: test repair_unused() ... ok
h64 codec: test encode_bytes/decode_bytes against random data ... ok
h64 codec: test decode_bytes() against reference inputs ... ok
h64 codec: test decode_bytes() with bad input ... ok
h64 codec: test decode_bytes() ignores padding bits ... ok
h64 codec: test decode_transposed_bytes() ... ok
h64 codec: test decode_transposed_bytes() fails if map is a one-way ... ok
h64 codec: test encode_bytes() against reference inputs ... ok
h64 codec: test encode_bytes() with bad input ... ok
h64 codec: test encode_transposed_bytes() ... ok
h64 codec: test against reference integer encodings ... ok
h64 codec: test_int12 (passlib.tests.test_utils.H64_Test) ... ok
h64 codec: test_int24 (passlib.tests.test_utils.H64_Test) ... ok
h64 codec: test_int6 (passlib.tests.test_utils.H64_Test) ... ok
h64 codec: test_int64 (passlib.tests.test_utils.H64_Test) ... ok
h64 codec: test repair_unused() ... ok
test_classproperty (passlib.tests.test_utils.MiscTest) ... ok
test compat's lazymodule ... ok
test consteq() ... ok
test crypt.crypt() wrappers ... ok
test_deprecated_function (passlib.tests.test_utils.MiscTest) ... ok
generate_password() ... ok
test genseed() ... /builddir/build/BUILD/passlib-1.7.1/passlib/utils/__init__.py:906: DeprecationWarning: time.clock has been deprecated in Python 3.3 and will be removed from Python 3.8: use time.perf_counter or time.process_time instead
  time.clock(),
/builddir/build/BUILD/passlib-1.7.1/passlib/utils/__init__.py:906: DeprecationWarning: time.clock has been deprecated in Python 3.3 and will be removed from Python 3.8: use time.perf_counter or time.process_time instead
  time.clock(),
/builddir/build/BUILD/passlib-1.7.1/passlib/utils/__init__.py:906: DeprecationWarning: time.clock has been deprecated in Python 3.3 and will be removed from Python 3.8: use time.perf_counter or time.process_time instead
  time.clock(),
ok
getrandbytes() ... ok
getrandstr() ... ok
test is_crypt_context() ... ok
test_memoized_property (passlib.tests.test_utils.MiscTest) ... ok
test saslprep() unicode normalizer ... ok
test_splitcomma (passlib.tests.test_utils.MiscTest) ... ok
test PrefixWrapper lazy loading of handler ... ok
test PrefixWrapper active loading of handler ... ok
test PrefixWrapper with explicitly specified handler ... ok
test_10_wrapped_attributes (passlib.tests.test_utils_handlers.PrefixWrapperTest) ... ok
test_11_wrapped_methods (passlib.tests.test_utils_handlers.PrefixWrapperTest) ... ok
test_12_ident (passlib.tests.test_utils_handlers.PrefixWrapperTest) ... ok
test repr() ... ok
test orig_prefix sanity check ... ok
salted_test_hash: validate required attributes ... ok
salted_test_hash: test basic config-string workflow ... ok
salted_test_hash: test basic using() workflow ... ok
salted_test_hash: test basic hash-string workflow. ... ok
salted_test_hash: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
salted_test_hash: test hashes can be unicode or bytes ... ok
salted_test_hash: test multi-backend support ... SKIP: handler only has one backend
salted_test_hash: validate optional salt attributes ... ok
salted_test_hash: test hash() / genconfig() creates new salt each time ... ok
salted_test_hash: test hash() / genconfig() honors min_salt_size ... ok
salted_test_hash: test hash() / genconfig() honors max_salt_size ... ok
salted_test_hash: test hash() honors salt_chars ... ok
salted_test_hash: test non-string salt values ... ok
salted_test_hash: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
salted_test_hash: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
salted_test_hash: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
salted_test_hash: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
salted_test_hash: test password case sensitivity ... ok
salted_test_hash: test non-string passwords are rejected ... ok
salted_test_hash: test MAX_PASSWORD_SIZE is enforced ... ok
salted_test_hash: test forbidden characters not allowed in password ... SKIP: none listed
salted_test_hash: test known hashes ... ok
salted_test_hash: test known alternate hashes ... SKIP: no alternate hashes provided
salted_test_hash: test known config strings ... SKIP: no config strings provided
salted_test_hash: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
salted_test_hash: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
salted_test_hash: test known foreign hashes ... ok
salted_test_hash: test non-string hashes are rejected ... ok
salted_test_hash: fuzz testing -- random passwords and options ... ok
salted_test_hash: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
salted_test_hash: test_bad_kwds (passlib.tests.test_utils_handlers.SaltedHashTest) ... ok
salted_test_hash: .disable() / .enable() methods ... SKIP: not applicable
salted_test_hash: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
salted_test_hash: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
salted_test_hash: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
salted_test_hash: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
salted_test_hash: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
salted_test_hash: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
salted_test_hash: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
salted_test_hash: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
salted_test_hash: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
salted_test_hash: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
salted_test_hash: test no password size limits enforced (if truncate_size=None) ... ok
salted_test_hash: validate 'truncate_error' setting & related attributes ... ok
salted_test_hash: Handler.using() -- default_salt_size ... ok
test StaticHandler class ... ok
test StaticHandler legacy attr ... ok
test GenericHandler.identify() ... ok
test GenericHandler checksum handling ... ok
test GenericHandler + HasRawChecksum mixin ... ok
test GenericHandler + HasSalt mixin ... ok
test GenericHandler + HasRounds mixin ... ok
test GenericHandler + HasManyBackends mixin ... ok
test GenericHandler + HasManyBackends mixin (deprecated api) ... ok
test GenericHandler + HasManyIdents ... ok
test parsehash() ... ok
test bitsize() ... ok
unsalted_test_hash: validate required attributes ... ok
unsalted_test_hash: test basic config-string workflow ... ok
unsalted_test_hash: test basic using() workflow ... ok
unsalted_test_hash: test basic hash-string workflow. ... ok
unsalted_test_hash: test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok
unsalted_test_hash: test hashes can be unicode or bytes ... ok
unsalted_test_hash: test multi-backend support ... SKIP: handler only has one backend
unsalted_test_hash: validate optional salt attributes ... SKIP: handler doesn't have salt
unsalted_test_hash: test hash() / genconfig() creates new salt each time ... SKIP: handler doesn't have salt
unsalted_test_hash: test hash() / genconfig() honors min_salt_size ... SKIP: handler doesn't have salt
unsalted_test_hash: test hash() / genconfig() honors max_salt_size ... SKIP: handler doesn't have salt
unsalted_test_hash: test hash() honors salt_chars ... SKIP: handler doesn't have salt
unsalted_test_hash: test non-string salt values ... SKIP: handler doesn't have salt
unsalted_test_hash: validate optional rounds attributes ... SKIP: handler lacks rounds attributes
unsalted_test_hash: test hash() / genconfig() honors min_rounds ... SKIP: handler lacks rounds attributes
unsalted_test_hash: test hash() / genconfig() honors max_rounds ... SKIP: handler lacks rounds attributes
unsalted_test_hash: validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents
unsalted_test_hash: test password case sensitivity ... ok
unsalted_test_hash: test non-string passwords are rejected ... ok
unsalted_test_hash: test MAX_PASSWORD_SIZE is enforced ... ok
unsalted_test_hash: test forbidden characters not allowed in password ... SKIP: none listed
unsalted_test_hash: test known hashes ... ok
unsalted_test_hash: test known alternate hashes ... SKIP: no alternate hashes provided
unsalted_test_hash: test known config strings ... SKIP: hash has no settings
unsalted_test_hash: test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided
unsalted_test_hash: test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided
unsalted_test_hash: test known foreign hashes ... ok
unsalted_test_hash: test non-string hashes are rejected ... ok
unsalted_test_hash: fuzz testing -- random passwords and options ... ok
unsalted_test_hash: multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode
unsalted_test_hash: test_bad_kwds (passlib.tests.test_utils_handlers.UnsaltedHashTest) ... ok
unsalted_test_hash: .disable() / .enable() methods ... SKIP: not applicable
unsalted_test_hash: HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents
unsalted_test_hash: HasRounds.using() -- max_rounds / max_desired_rounds ... SKIP: handler lacks rounds attributes
unsalted_test_hash: HasRounds.using() -- desired_rounds + needs_update() ... SKIP: handler lacks rounds attributes
unsalted_test_hash: HasRounds.using() -- sanity check test harness ... SKIP: handler lacks rounds attributes
unsalted_test_hash: HasRounds.using() -- default_rounds ... SKIP: handler lacks rounds attributes
unsalted_test_hash: HasRounds.using() -- min_rounds / min_desired_rounds ... SKIP: handler lacks rounds attributes
unsalted_test_hash: HasRounds.using() -- rounds ... SKIP: handler lacks rounds attributes
unsalted_test_hash: HasRounds.using() -- vary_rounds generation ... SKIP: handler lacks rounds attributes
unsalted_test_hash: HasRounds.using() -- vary_rounds parsing ... SKIP: handler lacks rounds attributes
unsalted_test_hash: test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set
unsalted_test_hash: test no password size limits enforced (if truncate_size=None) ... ok
unsalted_test_hash: validate 'truncate_error' setting & related attributes ... ok
unsalted_test_hash: Handler.using() -- default_salt_size ... SKIP: handler doesn't have salt
passlib.utils.md4.md4(): informational attributes ... ok
passlib.utils.md4.md4(): copy() method ... ok
passlib.utils.md4.md4(): digest() method ... ok
passlib.utils.md4.md4(): hexdigest() method ... ok
passlib.utils.md4.md4(): update() method ... ok
passlib.utils.pbkdf2.pbkdf1(): test border cases ... ok
passlib.utils.pbkdf2.pbkdf1(): test reference vectors ... ok
passlib.utils.pbkdf2.pbkdf2(): test border cases ... ok
passlib.utils.pbkdf2.pbkdf2(): test custom prf function ... ok
passlib.utils.pbkdf2.pbkdf2(): test keylen==None ... ok
passlib.utils.pbkdf2.pbkdf2(): test reference vectors ... ok
passlib.utils.pbkdf2: norm_hash_name() ... ok
test_lmhash (passlib.tests.test_win32.UtilTest) ... ok
test_nthash (passlib.tests.test_win32.UtilTest) ... ok

----------------------------------------------------------------------
Ran 3020 tests in 180.182s

OK (SKIP=1267)
+ exit 0
Processing files: python2-passlib-1.7.1-3.fc31.noarch
Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.oZ3xdw
+ umask 022
+ cd /builddir/build/BUILD
+ cd passlib-1.7.1
+ DOCDIR=/builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/share/doc/python2-passlib
+ export LC_ALL=C
+ LC_ALL=C
+ export DOCDIR
+ /usr/bin/mkdir -p /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/share/doc/python2-passlib
+ cp -pr README /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/share/doc/python2-passlib
+ exit 0
Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.JtDHyt
+ umask 022
+ cd /builddir/build/BUILD
+ cd passlib-1.7.1
+ LICENSEDIR=/builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/share/licenses/python2-passlib
+ export LC_ALL=C
+ LC_ALL=C
+ export LICENSEDIR
+ /usr/bin/mkdir -p /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/share/licenses/python2-passlib
+ cp -pr LICENSE /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/share/licenses/python2-passlib
+ exit 0
Provides: python-passlib = 1.7.1-3.fc31 python2-passlib = 1.7.1-3.fc31 python2.7dist(passlib) = 1.7.1 python2dist(passlib) = 1.7.1
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PartialHardlinkSets) <= 4.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires: python(abi) = 2.7
Obsoletes: python-passlib < 1.6.5-1 python-passlib < 1.7.1-3.fc31
Processing files: python3-passlib-1.7.1-3.fc31.noarch
Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.pOfazu
+ umask 022
+ cd /builddir/build/BUILD
+ cd passlib-1.7.1
+ DOCDIR=/builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/share/doc/python3-passlib
+ export LC_ALL=C
+ LC_ALL=C
+ export DOCDIR
+ /usr/bin/mkdir -p /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/share/doc/python3-passlib
+ cp -pr README /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/share/doc/python3-passlib
+ exit 0
Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.7kB5Gv
+ umask 022
+ cd /builddir/build/BUILD
+ cd passlib-1.7.1
+ LICENSEDIR=/builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/share/licenses/python3-passlib
+ export LC_ALL=C
+ LC_ALL=C
+ export LICENSEDIR
+ /usr/bin/mkdir -p /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/share/licenses/python3-passlib
+ cp -pr LICENSE /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64/usr/share/licenses/python3-passlib
+ exit 0
Provides: python3-passlib = 1.7.1-3.fc31 python3.7dist(passlib) = 1.7.1 python3dist(passlib) = 1.7.1
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PartialHardlinkSets) <= 4.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires: python(abi) = 3.7
Checking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64
Wrote: /builddir/build/RPMS/python2-passlib-1.7.1-3.fc31.noarch.rpm
Wrote: /builddir/build/RPMS/python3-passlib-1.7.1-3.fc31.noarch.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.l9jyLv
+ umask 022
+ cd /builddir/build/BUILD
+ cd passlib-1.7.1
+ /usr/bin/rm -rf /builddir/build/BUILDROOT/python-passlib-1.7.1-3.fc31.x86_64
+ exit 0
Finish: rpmbuild python-passlib-1.7.1-3.fc31.src.rpm
INFO: chroot_scan: 3 files copied to /var/lib/copr-rpmbuild/results/chroot_scan
INFO: /var/lib/mock/883567-fedora-rawhide-x86_64-1555337421.721624/root/var/log/dnf.log
/var/lib/mock/883567-fedora-rawhide-x86_64-1555337421.721624/root/var/log/dnf.librepo.log
/var/lib/mock/883567-fedora-rawhide-x86_64-1555337421.721624/root/var/log/dnf.rpm.log
Finish: build phase for python-passlib-1.7.1-3.fc31.src.rpm
INFO: Done(/var/lib/copr-rpmbuild/results/python-passlib-1.7.1-3.fc31.src.rpm) Config(child) 6 minutes 27 seconds
INFO: Results and/or logs in: /var/lib/copr-rpmbuild/results
INFO: Cleaning up build root ('cleanup_on_success=True')
Start: clean chroot
INFO: unmounting tmpfs.
Finish: clean chroot
Finish: run