Warning: Permanently added '172.25.93.233' (ECDSA) to the list of known hosts. Running: /usr/bin/copr-rpmbuild --verbose --drop-resultdir --build-id 886269 --chroot epel-7-x86_64 --detached default Version: 0.24 Task: {'build_id': 886269, 'buildroot_pkgs': [], 'chroot': 'epel-7-x86_64', 'enable_net': False, 'fetch_sources_only': True, 'git_hash': '9ca69412979835eb78c032e508346f4164919325', 'git_repo': 'duck/mailman3-rpm-repo-3132/python-passlib', 'memory_reqs': 2048, 'package_name': 'python-passlib', 'package_version': '1.7.1-3.fc28', 'project_dirname': 'mailman3-rpm-repo-3132', 'project_name': 'mailman3-rpm-repo-3132', 'project_owner': 'duck', 'repos': [{'baseurl': 'https://copr-be.cloud.fedoraproject.org/results/duck/mailman3-rpm-repo-3132/epel-7-x86_64/', 'id': 'copr_base', 'name': 'Copr repository'}], 'source_json': {'clone_url': 'https://copr-dist-git.fedorainfracloud.org/git/duck/mailman3-rpm-repo-3132/python-passlib.git', 'committish': '9ca69412979835eb78c032e508346f4164919325'}, 'source_type': 8, 'submitter': 'duck', 'task_id': '886269-epel-7-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-3132/python-passlib.git /tmp/tmpnruxboo6/python-passlib --depth 500 --no-single-branch cmd: ['git', 'clone', 'https://copr-dist-git.fedorainfracloud.org/git/duck/mailman3-rpm-repo-3132/python-passlib.git', '/tmp/tmpnruxboo6/python-passlib', '--depth', '500', '--no-single-branch'] cwd: . rc: 0 stdout: stderr: Cloning into '/tmp/tmpnruxboo6/python-passlib'... Running: git checkout 9ca69412979835eb78c032e508346f4164919325 cmd: ['git', 'checkout', '9ca69412979835eb78c032e508346f4164919325'] cwd: /tmp/tmpnruxboo6/python-passlib rc: 0 stdout: stderr: Note: checking out '9ca69412979835eb78c032e508346f4164919325'. 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 HEAD is now at 9ca6941 automatic import of python-passlib Running: cp -r . /tmp/tmpaordwb0_ cmd: ['cp', '-r', '.', '/tmp/tmpaordwb0_'] cwd: /tmp/tmpnruxboo6/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/tmpnruxboo6/.config/rpkg.conf Running: rpkg -C /tmp/tmpnruxboo6/.config/rpkg.conf sources --outdir /tmp/tmpaordwb0_ cmd: ['rpkg', '-C', '/tmp/tmpnruxboo6/.config/rpkg.conf', 'sources', '--outdir', '/tmp/tmpaordwb0_'] cwd: /tmp/tmpnruxboo6/python-passlib rc: 0 stdout: Downloading passlib-1.7.1.tar.gz from lookaside cache at copr-dist-git.fedorainfracloud.org stderr: /usr/bin/tail: /var/lib/copr-rpmbuild/main.log: file truncated Running (timeout=64800): unbuffer /usr/bin/mock --buildsrpm --spec /tmp/tmpaordwb0_/python-passlib.spec --sources /tmp/tmpaordwb0_ --configdir /var/lib/copr-rpmbuild/results/configs --resultdir /var/lib/copr-rpmbuild/results --define '%_disable_source_fetch 0' --uniqueext 1555921509.478853 -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/tmpaordwb0_/python-passlib.spec) Config(886269-epel-7-x86_64) Start: clean chroot Finish: clean chroot Start: chroot init INFO: mounting tmpfs at /var/lib/mock/886269-epel-7-x86_64-1555921509.478853/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: yum install Yum command has been deprecated, use dnf instead. See 'man dnf' and 'man yum2dnf' for more information. copr_base | 3.5 kB 00:00 base | 3.6 kB 00:00 epel | 4.7 kB 00:00 extras | 3.4 kB 00:00 sclo | 2.9 kB 00:00 sclo-rh | 3.0 kB 00:00 updates | 3.4 kB 00:00 (1/7): copr_base/primary_db | 5.4 kB 00:00 (2/7): epel/primary_db | 6.7 MB 00:00 (3/7): extras/primary_db | 188 kB 00:00 (4/7): sclo/primary_db | 288 kB 00:00 (5/7): sclo-rh/primary_db | 3.7 MB 00:00 (6/7): updates/primary_db | 3.4 MB 00:00 (7/7): base/primary_db | 6.0 MB 00:07 base/group_gz | 166 kB 00:00 epel/group_gz | 88 kB 00:00 Resolving Dependencies --> Running transaction check ---> Package bash.x86_64 0:4.2.46-31.el7 will be installed --> Processing Dependency: rtld(GNU_HASH) for package: bash-4.2.46-31.el7.x86_64 --> Processing Dependency: libdl.so.2(GLIBC_2.2.5)(64bit) for package: bash-4.2.46-31.el7.x86_64 --> Processing Dependency: libc.so.6(GLIBC_2.15)(64bit) for package: bash-4.2.46-31.el7.x86_64 --> Processing Dependency: libtinfo.so.5()(64bit) for package: bash-4.2.46-31.el7.x86_64 --> Processing Dependency: libdl.so.2()(64bit) for package: bash-4.2.46-31.el7.x86_64 ---> Package bzip2.x86_64 0:1.0.6-13.el7 will be installed --> Processing Dependency: bzip2-libs = 1.0.6-13.el7 for package: bzip2-1.0.6-13.el7.x86_64 --> Processing Dependency: libbz2.so.1()(64bit) for package: bzip2-1.0.6-13.el7.x86_64 ---> Package coreutils.x86_64 0:8.22-23.el7 will be installed --> Processing Dependency: ncurses for package: coreutils-8.22-23.el7.x86_64 --> Processing Dependency: libcrypto.so.10(libcrypto.so.10)(64bit) for package: coreutils-8.22-23.el7.x86_64 --> Processing Dependency: libattr.so.1(ATTR_1.1)(64bit) for package: coreutils-8.22-23.el7.x86_64 --> Processing Dependency: libacl.so.1(ACL_1.0)(64bit) for package: coreutils-8.22-23.el7.x86_64 --> Processing Dependency: gmp for package: coreutils-8.22-23.el7.x86_64 --> Processing Dependency: libselinux.so.1()(64bit) for package: coreutils-8.22-23.el7.x86_64 --> Processing Dependency: libgmp.so.10()(64bit) for package: coreutils-8.22-23.el7.x86_64 --> Processing Dependency: libcrypto.so.10()(64bit) for package: coreutils-8.22-23.el7.x86_64 --> Processing Dependency: libcap.so.2()(64bit) for package: coreutils-8.22-23.el7.x86_64 --> Processing Dependency: libattr.so.1()(64bit) for package: coreutils-8.22-23.el7.x86_64 --> Processing Dependency: libacl.so.1()(64bit) for package: coreutils-8.22-23.el7.x86_64 ---> Package cpio.x86_64 0:2.11-27.el7 will be installed ---> Package diffutils.x86_64 0:3.3-4.el7 will be installed ---> Package epel-release.noarch 0:7-11 will be installed --> Processing Dependency: redhat-release >= 7 for package: epel-release-7-11.noarch ---> Package epel-rpm-macros.noarch 0:7-19 will be installed --> Processing Dependency: python-rpm-macros for package: epel-rpm-macros-7-19.noarch --> Processing Dependency: python-srpm-macros for package: epel-rpm-macros-7-19.noarch --> Processing Dependency: python2-rpm-macros for package: epel-rpm-macros-7-19.noarch ---> Package findutils.x86_64 1:4.5.11-6.el7 will be installed ---> Package gawk.x86_64 0:4.0.2-4.el7_3.1 will be installed ---> Package gcc.x86_64 0:4.8.5-36.el7_6.1 will be installed --> Processing Dependency: libgomp = 4.8.5-36.el7_6.1 for package: gcc-4.8.5-36.el7_6.1.x86_64 --> Processing Dependency: cpp = 4.8.5-36.el7_6.1 for package: gcc-4.8.5-36.el7_6.1.x86_64 --> Processing Dependency: libgcc >= 4.8.5-36.el7_6.1 for package: gcc-4.8.5-36.el7_6.1.x86_64 --> Processing Dependency: glibc-devel >= 2.2.90-12 for package: gcc-4.8.5-36.el7_6.1.x86_64 --> Processing Dependency: binutils >= 2.20.51.0.2-12 for package: gcc-4.8.5-36.el7_6.1.x86_64 --> Processing Dependency: libz.so.1()(64bit) for package: gcc-4.8.5-36.el7_6.1.x86_64 --> Processing Dependency: libmpfr.so.4()(64bit) for package: gcc-4.8.5-36.el7_6.1.x86_64 --> Processing Dependency: libmpc.so.3()(64bit) for package: gcc-4.8.5-36.el7_6.1.x86_64 --> Processing Dependency: libgomp.so.1()(64bit) for package: gcc-4.8.5-36.el7_6.1.x86_64 --> Processing Dependency: libgcc_s.so.1()(64bit) for package: gcc-4.8.5-36.el7_6.1.x86_64 ---> Package gcc-c++.x86_64 0:4.8.5-36.el7_6.1 will be installed --> Processing Dependency: libstdc++-devel = 4.8.5-36.el7_6.1 for package: gcc-c++-4.8.5-36.el7_6.1.x86_64 --> Processing Dependency: libstdc++ = 4.8.5-36.el7_6.1 for package: gcc-c++-4.8.5-36.el7_6.1.x86_64 --> Processing Dependency: libstdc++.so.6()(64bit) for package: gcc-c++-4.8.5-36.el7_6.1.x86_64 ---> Package grep.x86_64 0:2.20-3.el7 will be installed --> Processing Dependency: libpcre.so.1()(64bit) for package: grep-2.20-3.el7.x86_64 ---> Package gzip.x86_64 0:1.5-10.el7 will be installed ---> Package info.x86_64 0:5.1-5.el7 will be installed ---> Package make.x86_64 1:3.82-23.el7 will be installed ---> Package patch.x86_64 0:2.7.1-10.el7_5 will be installed ---> Package redhat-rpm-config.noarch 0:9.1.0-87.el7.centos will be installed --> Processing Dependency: rpm >= 4.9.0 for package: redhat-rpm-config-9.1.0-87.el7.centos.noarch --> Processing Dependency: dwz >= 0.4 for package: redhat-rpm-config-9.1.0-87.el7.centos.noarch --> Processing Dependency: zip for package: redhat-rpm-config-9.1.0-87.el7.centos.noarch --> Processing Dependency: perl-srpm-macros for package: redhat-rpm-config-9.1.0-87.el7.centos.noarch --> Processing Dependency: perl(Getopt::Long) for package: redhat-rpm-config-9.1.0-87.el7.centos.noarch --> Processing Dependency: /usr/bin/perl for package: redhat-rpm-config-9.1.0-87.el7.centos.noarch ---> Package rpm-build.x86_64 0:4.11.3-35.el7 will be installed --> Processing Dependency: pkgconfig >= 1:0.24 for package: rpm-build-4.11.3-35.el7.x86_64 --> Processing Dependency: elfutils >= 0.128 for package: rpm-build-4.11.3-35.el7.x86_64 --> Processing Dependency: perl(threads) for package: rpm-build-4.11.3-35.el7.x86_64 --> Processing Dependency: perl(Thread::Queue) for package: rpm-build-4.11.3-35.el7.x86_64 --> Processing Dependency: perl(File::Temp) for package: rpm-build-4.11.3-35.el7.x86_64 --> Processing Dependency: libpopt.so.0(LIBPOPT_0)(64bit) for package: rpm-build-4.11.3-35.el7.x86_64 --> Processing Dependency: libelf.so.1(ELFUTILS_1.0)(64bit) for package: rpm-build-4.11.3-35.el7.x86_64 --> Processing Dependency: file for package: rpm-build-4.11.3-35.el7.x86_64 --> Processing Dependency: /usr/bin/gdb-add-index for package: rpm-build-4.11.3-35.el7.x86_64 --> Processing Dependency: librpmio.so.3()(64bit) for package: rpm-build-4.11.3-35.el7.x86_64 --> Processing Dependency: librpmbuild.so.3()(64bit) for package: rpm-build-4.11.3-35.el7.x86_64 --> Processing Dependency: librpm.so.3()(64bit) for package: rpm-build-4.11.3-35.el7.x86_64 --> Processing Dependency: libpopt.so.0()(64bit) for package: rpm-build-4.11.3-35.el7.x86_64 --> Processing Dependency: libnss3.so()(64bit) for package: rpm-build-4.11.3-35.el7.x86_64 --> Processing Dependency: libmagic.so.1()(64bit) for package: rpm-build-4.11.3-35.el7.x86_64 --> Processing Dependency: liblzma.so.5()(64bit) for package: rpm-build-4.11.3-35.el7.x86_64 --> Processing Dependency: liblua-5.1.so()(64bit) for package: rpm-build-4.11.3-35.el7.x86_64 --> Processing Dependency: libelf.so.1()(64bit) for package: rpm-build-4.11.3-35.el7.x86_64 --> Processing Dependency: libdb-5.3.so()(64bit) for package: rpm-build-4.11.3-35.el7.x86_64 --> Processing Dependency: libaudit.so.1()(64bit) for package: rpm-build-4.11.3-35.el7.x86_64 ---> Package sed.x86_64 0:4.2.2-5.el7 will be installed ---> Package shadow-utils.x86_64 2:4.1.5.1-25.el7_6.1 will be installed --> Processing Dependency: setup for package: 2:shadow-utils-4.1.5.1-25.el7_6.1.x86_64 --> Processing Dependency: libsemanage.so.1(LIBSEMANAGE_1.0)(64bit) for package: 2:shadow-utils-4.1.5.1-25.el7_6.1.x86_64 --> Processing Dependency: libsemanage.so.1()(64bit) for package: 2:shadow-utils-4.1.5.1-25.el7_6.1.x86_64 ---> Package tar.x86_64 2:1.26-35.el7 will be installed ---> Package unzip.x86_64 0:6.0-19.el7 will be installed ---> Package util-linux.x86_64 0:2.23.2-59.el7_6.1 will be installed --> Processing Dependency: libuuid = 2.23.2-59.el7_6.1 for package: util-linux-2.23.2-59.el7_6.1.x86_64 --> Processing Dependency: libsmartcols = 2.23.2-59.el7_6.1 for package: util-linux-2.23.2-59.el7_6.1.x86_64 --> Processing Dependency: libmount = 2.23.2-59.el7_6.1 for package: util-linux-2.23.2-59.el7_6.1.x86_64 --> Processing Dependency: libblkid = 2.23.2-59.el7_6.1 for package: util-linux-2.23.2-59.el7_6.1.x86_64 --> Processing Dependency: pam >= 1.1.3-7 for package: util-linux-2.23.2-59.el7_6.1.x86_64 --> Processing Dependency: libuuid.so.1(UUID_1.0)(64bit) for package: util-linux-2.23.2-59.el7_6.1.x86_64 --> Processing Dependency: libutempter.so.0(UTEMPTER_1.1)(64bit) for package: util-linux-2.23.2-59.el7_6.1.x86_64 --> Processing Dependency: libudev.so.1(LIBUDEV_183)(64bit) for package: util-linux-2.23.2-59.el7_6.1.x86_64 --> Processing Dependency: libsystemd.so.0(LIBSYSTEMD_209)(64bit) for package: util-linux-2.23.2-59.el7_6.1.x86_64 --> Processing Dependency: libsmartcols.so.1(SMARTCOLS_2.25)(64bit) for package: util-linux-2.23.2-59.el7_6.1.x86_64 --> Processing Dependency: libpam_misc.so.0(LIBPAM_MISC_1.0)(64bit) for package: util-linux-2.23.2-59.el7_6.1.x86_64 --> Processing Dependency: libpam.so.0(LIBPAM_1.0)(64bit) for package: util-linux-2.23.2-59.el7_6.1.x86_64 --> Processing Dependency: libmount.so.1(MOUNT_2.25)(64bit) for package: util-linux-2.23.2-59.el7_6.1.x86_64 --> Processing Dependency: libmount.so.1(MOUNT_2.23)(64bit) for package: util-linux-2.23.2-59.el7_6.1.x86_64 --> Processing Dependency: libmount.so.1(MOUNT_2.22)(64bit) for package: util-linux-2.23.2-59.el7_6.1.x86_64 --> Processing Dependency: libmount.so.1(MOUNT_2.21)(64bit) for package: util-linux-2.23.2-59.el7_6.1.x86_64 --> Processing Dependency: libmount.so.1(MOUNT_2.20)(64bit) for package: util-linux-2.23.2-59.el7_6.1.x86_64 --> Processing Dependency: libmount.so.1(MOUNT_2.19)(64bit) for package: util-linux-2.23.2-59.el7_6.1.x86_64 --> Processing Dependency: libblkid.so.1(BLKID_2.21)(64bit) for package: util-linux-2.23.2-59.el7_6.1.x86_64 --> Processing Dependency: libblkid.so.1(BLKID_2.20)(64bit) for package: util-linux-2.23.2-59.el7_6.1.x86_64 --> Processing Dependency: libblkid.so.1(BLKID_2.18)(64bit) for package: util-linux-2.23.2-59.el7_6.1.x86_64 --> Processing Dependency: libblkid.so.1(BLKID_2.17)(64bit) for package: util-linux-2.23.2-59.el7_6.1.x86_64 --> Processing Dependency: libblkid.so.1(BLKID_2.15)(64bit) for package: util-linux-2.23.2-59.el7_6.1.x86_64 --> Processing Dependency: libblkid.so.1(BLKID_1.0)(64bit) for package: util-linux-2.23.2-59.el7_6.1.x86_64 --> Processing Dependency: /etc/pam.d/system-auth for package: util-linux-2.23.2-59.el7_6.1.x86_64 --> Processing Dependency: libuuid.so.1()(64bit) for package: util-linux-2.23.2-59.el7_6.1.x86_64 --> Processing Dependency: libutempter.so.0()(64bit) for package: util-linux-2.23.2-59.el7_6.1.x86_64 --> Processing Dependency: libuser.so.1()(64bit) for package: util-linux-2.23.2-59.el7_6.1.x86_64 --> Processing Dependency: libudev.so.1()(64bit) for package: util-linux-2.23.2-59.el7_6.1.x86_64 --> Processing Dependency: libsystemd.so.0()(64bit) for package: util-linux-2.23.2-59.el7_6.1.x86_64 --> Processing Dependency: libsmartcols.so.1()(64bit) for package: util-linux-2.23.2-59.el7_6.1.x86_64 --> Processing Dependency: libpam_misc.so.0()(64bit) for package: util-linux-2.23.2-59.el7_6.1.x86_64 --> Processing Dependency: libpam.so.0()(64bit) for package: util-linux-2.23.2-59.el7_6.1.x86_64 --> Processing Dependency: libmount.so.1()(64bit) for package: util-linux-2.23.2-59.el7_6.1.x86_64 --> Processing Dependency: libcap-ng.so.0()(64bit) for package: util-linux-2.23.2-59.el7_6.1.x86_64 --> Processing Dependency: libblkid.so.1()(64bit) for package: util-linux-2.23.2-59.el7_6.1.x86_64 ---> Package which.x86_64 0:2.20-7.el7 will be installed ---> Package xz.x86_64 0:5.2.2-1.el7 will be installed --> Running transaction check ---> Package audit-libs.x86_64 0:2.8.4-4.el7 will be installed ---> Package binutils.x86_64 0:2.27-34.base.el7 will be installed --> Processing Dependency: /usr/sbin/alternatives for package: binutils-2.27-34.base.el7.x86_64 --> Processing Dependency: /usr/sbin/alternatives for package: binutils-2.27-34.base.el7.x86_64 ---> Package bzip2-libs.x86_64 0:1.0.6-13.el7 will be installed ---> Package centos-release.x86_64 0:7-6.1810.2.el7.centos will be installed ---> Package cpp.x86_64 0:4.8.5-36.el7_6.1 will be installed --> Processing Dependency: filesystem >= 3 for package: cpp-4.8.5-36.el7_6.1.x86_64 ---> Package dwz.x86_64 0:0.11-3.el7 will be installed ---> Package elfutils.x86_64 0:0.172-2.el7 will be installed --> Processing Dependency: elfutils-libs(x86-64) = 0.172-2.el7 for package: elfutils-0.172-2.el7.x86_64 --> Processing Dependency: libdw.so.1(ELFUTILS_0.171)(64bit) for package: elfutils-0.172-2.el7.x86_64 --> Processing Dependency: libdw.so.1(ELFUTILS_0.167)(64bit) for package: elfutils-0.172-2.el7.x86_64 --> Processing Dependency: libdw.so.1(ELFUTILS_0.165)(64bit) for package: elfutils-0.172-2.el7.x86_64 --> Processing Dependency: libdw.so.1(ELFUTILS_0.160)(64bit) for package: elfutils-0.172-2.el7.x86_64 --> Processing Dependency: libdw.so.1(ELFUTILS_0.159)(64bit) for package: elfutils-0.172-2.el7.x86_64 --> Processing Dependency: libdw.so.1(ELFUTILS_0.158)(64bit) for package: elfutils-0.172-2.el7.x86_64 --> Processing Dependency: libdw.so.1(ELFUTILS_0.149)(64bit) for package: elfutils-0.172-2.el7.x86_64 --> Processing Dependency: libdw.so.1(ELFUTILS_0.148)(64bit) for package: elfutils-0.172-2.el7.x86_64 --> Processing Dependency: libdw.so.1(ELFUTILS_0.138)(64bit) for package: elfutils-0.172-2.el7.x86_64 --> Processing Dependency: libdw.so.1(ELFUTILS_0.130)(64bit) for package: elfutils-0.172-2.el7.x86_64 --> Processing Dependency: libdw.so.1(ELFUTILS_0.127)(64bit) for package: elfutils-0.172-2.el7.x86_64 --> Processing Dependency: libdw.so.1(ELFUTILS_0.126)(64bit) for package: elfutils-0.172-2.el7.x86_64 --> Processing Dependency: libdw.so.1(ELFUTILS_0.122)(64bit) for package: elfutils-0.172-2.el7.x86_64 --> Processing Dependency: libasm.so.1(ELFUTILS_1.0)(64bit) for package: elfutils-0.172-2.el7.x86_64 --> Processing Dependency: libdw.so.1()(64bit) for package: elfutils-0.172-2.el7.x86_64 --> Processing Dependency: libasm.so.1()(64bit) for package: elfutils-0.172-2.el7.x86_64 ---> Package elfutils-libelf.x86_64 0:0.172-2.el7 will be installed ---> Package file.x86_64 0:5.11-35.el7 will be installed ---> Package file-libs.x86_64 0:5.11-35.el7 will be installed ---> Package gdb.x86_64 0:7.6.1-114.el7 will be installed --> Processing Dependency: libreadline.so.6()(64bit) for package: gdb-7.6.1-114.el7.x86_64 --> Processing Dependency: libpython2.7.so.1.0()(64bit) for package: gdb-7.6.1-114.el7.x86_64 --> Processing Dependency: libexpat.so.1()(64bit) for package: gdb-7.6.1-114.el7.x86_64 ---> Package glibc.x86_64 0:2.17-260.el7_6.4 will be installed --> Processing Dependency: glibc-common = 2.17-260.el7_6.4 for package: glibc-2.17-260.el7_6.4.x86_64 --> Processing Dependency: libfreebl3.so(NSSRAWHASH_3.12.3)(64bit) for package: glibc-2.17-260.el7_6.4.x86_64 --> Processing Dependency: basesystem for package: glibc-2.17-260.el7_6.4.x86_64 --> Processing Dependency: libfreebl3.so()(64bit) for package: glibc-2.17-260.el7_6.4.x86_64 ---> Package glibc-devel.x86_64 0:2.17-260.el7_6.4 will be installed --> Processing Dependency: glibc-headers = 2.17-260.el7_6.4 for package: glibc-devel-2.17-260.el7_6.4.x86_64 --> Processing Dependency: glibc-headers for package: glibc-devel-2.17-260.el7_6.4.x86_64 ---> Package gmp.x86_64 1:6.0.0-15.el7 will be installed ---> Package libacl.x86_64 0:2.2.51-14.el7 will be installed ---> Package libattr.x86_64 0:2.4.46-13.el7 will be installed ---> Package libblkid.x86_64 0:2.23.2-59.el7_6.1 will be installed ---> Package libcap.x86_64 0:2.22-9.el7 will be installed ---> Package libcap-ng.x86_64 0:0.7.5-4.el7 will be installed ---> Package libdb.x86_64 0:5.3.21-24.el7 will be installed ---> Package libgcc.x86_64 0:4.8.5-36.el7_6.1 will be installed ---> Package libgomp.x86_64 0:4.8.5-36.el7_6.1 will be installed ---> Package libmount.x86_64 0:2.23.2-59.el7_6.1 will be installed ---> Package libmpc.x86_64 0:1.0.1-3.el7 will be installed ---> Package libselinux.x86_64 0:2.5-14.1.el7 will be installed --> Processing Dependency: libsepol(x86-64) >= 2.5-10 for package: libselinux-2.5-14.1.el7.x86_64 --> Processing Dependency: libsepol.so.1(LIBSEPOL_1.0)(64bit) for package: libselinux-2.5-14.1.el7.x86_64 --> Processing Dependency: libsepol.so.1()(64bit) for package: libselinux-2.5-14.1.el7.x86_64 ---> Package libsemanage.x86_64 0:2.5-14.el7 will be installed --> Processing Dependency: libustr-1.0.so.1(USTR_1.0.1)(64bit) for package: libsemanage-2.5-14.el7.x86_64 --> Processing Dependency: libustr-1.0.so.1(USTR_1.0)(64bit) for package: libsemanage-2.5-14.el7.x86_64 --> Processing Dependency: libustr-1.0.so.1()(64bit) for package: libsemanage-2.5-14.el7.x86_64 ---> Package libsmartcols.x86_64 0:2.23.2-59.el7_6.1 will be installed ---> Package libstdc++.x86_64 0:4.8.5-36.el7_6.1 will be installed ---> Package libstdc++-devel.x86_64 0:4.8.5-36.el7_6.1 will be installed ---> Package libuser.x86_64 0:0.60-9.el7 will be installed --> Processing Dependency: libldap-2.4.so.2()(64bit) for package: libuser-0.60-9.el7.x86_64 --> Processing Dependency: libgobject-2.0.so.0()(64bit) for package: libuser-0.60-9.el7.x86_64 --> Processing Dependency: libgmodule-2.0.so.0()(64bit) for package: libuser-0.60-9.el7.x86_64 --> Processing Dependency: libglib-2.0.so.0()(64bit) for package: libuser-0.60-9.el7.x86_64 ---> Package libutempter.x86_64 0:1.1.6-4.el7 will be installed ---> Package libuuid.x86_64 0:2.23.2-59.el7_6.1 will be installed ---> Package lua.x86_64 0:5.1.4-15.el7 will be installed ---> Package mpfr.x86_64 0:3.1.1-4.el7 will be installed ---> Package ncurses.x86_64 0:5.9-14.20130511.el7_4 will be installed ---> Package ncurses-libs.x86_64 0:5.9-14.20130511.el7_4 will be installed --> Processing Dependency: ncurses-base = 5.9-14.20130511.el7_4 for package: ncurses-libs-5.9-14.20130511.el7_4.x86_64 ---> Package nss.x86_64 0:3.36.0-7.1.el7_6 will be installed --> Processing Dependency: nss-util >= 3.36.0-1.1 for package: nss-3.36.0-7.1.el7_6.x86_64 --> Processing Dependency: nss-softokn(x86-64) >= 3.36.0-1 for package: nss-3.36.0-7.1.el7_6.x86_64 --> Processing Dependency: nspr >= 4.19.0 for package: nss-3.36.0-7.1.el7_6.x86_64 --> Processing Dependency: nss-system-init for package: nss-3.36.0-7.1.el7_6.x86_64 --> Processing Dependency: nss-pem(x86-64) for package: nss-3.36.0-7.1.el7_6.x86_64 --> Processing Dependency: libnssutil3.so(NSSUTIL_3.31)(64bit) for package: nss-3.36.0-7.1.el7_6.x86_64 --> Processing Dependency: libnssutil3.so(NSSUTIL_3.24)(64bit) for package: nss-3.36.0-7.1.el7_6.x86_64 --> Processing Dependency: libnssutil3.so(NSSUTIL_3.21)(64bit) for package: nss-3.36.0-7.1.el7_6.x86_64 --> Processing Dependency: libnssutil3.so(NSSUTIL_3.17.1)(64bit) for package: nss-3.36.0-7.1.el7_6.x86_64 --> Processing Dependency: libnssutil3.so(NSSUTIL_3.15)(64bit) for package: nss-3.36.0-7.1.el7_6.x86_64 --> Processing Dependency: libnssutil3.so(NSSUTIL_3.14)(64bit) for package: nss-3.36.0-7.1.el7_6.x86_64 --> Processing Dependency: libnssutil3.so(NSSUTIL_3.13)(64bit) for package: nss-3.36.0-7.1.el7_6.x86_64 --> Processing Dependency: libnssutil3.so(NSSUTIL_3.12.5)(64bit) for package: nss-3.36.0-7.1.el7_6.x86_64 --> Processing Dependency: libnssutil3.so(NSSUTIL_3.12.3)(64bit) for package: nss-3.36.0-7.1.el7_6.x86_64 --> Processing Dependency: libnssutil3.so(NSSUTIL_3.12)(64bit) for package: nss-3.36.0-7.1.el7_6.x86_64 --> Processing Dependency: libplds4.so()(64bit) for package: nss-3.36.0-7.1.el7_6.x86_64 --> Processing Dependency: libplc4.so()(64bit) for package: nss-3.36.0-7.1.el7_6.x86_64 --> Processing Dependency: libnssutil3.so()(64bit) for package: nss-3.36.0-7.1.el7_6.x86_64 --> Processing Dependency: libnspr4.so()(64bit) for package: nss-3.36.0-7.1.el7_6.x86_64 ---> Package openssl-libs.x86_64 1:1.0.2k-16.el7_6.1 will be installed --> Processing Dependency: ca-certificates >= 2008-5 for package: 1:openssl-libs-1.0.2k-16.el7_6.1.x86_64 --> Processing Dependency: libkrb5.so.3(krb5_3_MIT)(64bit) for package: 1:openssl-libs-1.0.2k-16.el7_6.1.x86_64 --> Processing Dependency: libk5crypto.so.3(k5crypto_3_MIT)(64bit) for package: 1:openssl-libs-1.0.2k-16.el7_6.1.x86_64 --> Processing Dependency: libkrb5.so.3()(64bit) for package: 1:openssl-libs-1.0.2k-16.el7_6.1.x86_64 --> Processing Dependency: libk5crypto.so.3()(64bit) for package: 1:openssl-libs-1.0.2k-16.el7_6.1.x86_64 --> Processing Dependency: libgssapi_krb5.so.2()(64bit) for package: 1:openssl-libs-1.0.2k-16.el7_6.1.x86_64 --> Processing Dependency: libcom_err.so.2()(64bit) for package: 1:openssl-libs-1.0.2k-16.el7_6.1.x86_64 ---> Package pam.x86_64 0:1.1.8-22.el7 will be installed --> Processing Dependency: libpwquality >= 0.9.9 for package: pam-1.1.8-22.el7.x86_64 --> Processing Dependency: cracklib-dicts >= 2.8 for package: pam-1.1.8-22.el7.x86_64 --> Processing Dependency: libcrack.so.2()(64bit) for package: pam-1.1.8-22.el7.x86_64 ---> Package pcre.x86_64 0:8.32-17.el7 will be installed ---> Package perl.x86_64 4:5.16.3-294.el7_6 will be installed --> Processing Dependency: perl-libs = 4:5.16.3-294.el7_6 for package: 4:perl-5.16.3-294.el7_6.x86_64 --> Processing Dependency: perl(Socket) >= 1.3 for package: 4:perl-5.16.3-294.el7_6.x86_64 --> Processing Dependency: perl(Scalar::Util) >= 1.10 for package: 4:perl-5.16.3-294.el7_6.x86_64 --> Processing Dependency: perl-macros for package: 4:perl-5.16.3-294.el7_6.x86_64 --> Processing Dependency: perl-libs for package: 4:perl-5.16.3-294.el7_6.x86_64 --> Processing Dependency: perl(threads::shared) for package: 4:perl-5.16.3-294.el7_6.x86_64 --> Processing Dependency: perl(constant) for package: 4:perl-5.16.3-294.el7_6.x86_64 --> Processing Dependency: perl(Time::Local) for package: 4:perl-5.16.3-294.el7_6.x86_64 --> Processing Dependency: perl(Time::HiRes) for package: 4:perl-5.16.3-294.el7_6.x86_64 --> Processing Dependency: perl(Storable) for package: 4:perl-5.16.3-294.el7_6.x86_64 --> Processing Dependency: perl(Socket) for package: 4:perl-5.16.3-294.el7_6.x86_64 --> Processing Dependency: perl(Scalar::Util) for package: 4:perl-5.16.3-294.el7_6.x86_64 --> Processing Dependency: perl(Pod::Simple::XHTML) for package: 4:perl-5.16.3-294.el7_6.x86_64 --> Processing Dependency: perl(Pod::Simple::Search) for package: 4:perl-5.16.3-294.el7_6.x86_64 --> Processing Dependency: perl(Filter::Util::Call) for package: 4:perl-5.16.3-294.el7_6.x86_64 --> Processing Dependency: perl(File::Spec::Unix) for package: 4:perl-5.16.3-294.el7_6.x86_64 --> Processing Dependency: perl(File::Spec::Functions) for package: 4:perl-5.16.3-294.el7_6.x86_64 --> Processing Dependency: perl(File::Spec) for package: 4:perl-5.16.3-294.el7_6.x86_64 --> Processing Dependency: perl(File::Path) for package: 4:perl-5.16.3-294.el7_6.x86_64 --> Processing Dependency: perl(Exporter) for package: 4:perl-5.16.3-294.el7_6.x86_64 --> Processing Dependency: perl(Cwd) for package: 4:perl-5.16.3-294.el7_6.x86_64 --> Processing Dependency: perl(Carp) for package: 4:perl-5.16.3-294.el7_6.x86_64 --> Processing Dependency: libperl.so()(64bit) for package: 4:perl-5.16.3-294.el7_6.x86_64 --> Processing Dependency: libgdbm_compat.so.4()(64bit) for package: 4:perl-5.16.3-294.el7_6.x86_64 --> Processing Dependency: libgdbm.so.4()(64bit) for package: 4:perl-5.16.3-294.el7_6.x86_64 ---> Package perl-File-Temp.noarch 0:0.23.01-3.el7 will be installed ---> Package perl-Getopt-Long.noarch 0:2.40-3.el7 will be installed --> Processing Dependency: perl(Pod::Usage) >= 1.14 for package: perl-Getopt-Long-2.40-3.el7.noarch --> Processing Dependency: perl(Text::ParseWords) for package: perl-Getopt-Long-2.40-3.el7.noarch ---> Package perl-Thread-Queue.noarch 0:3.02-2.el7 will be installed ---> Package perl-srpm-macros.noarch 0:1-8.el7 will be installed ---> Package perl-threads.x86_64 0:1.87-4.el7 will be installed ---> Package pkgconfig.x86_64 1:0.27.1-4.el7 will be installed ---> Package popt.x86_64 0:1.13-16.el7 will be installed ---> Package python-rpm-macros.noarch 0:3-23.el7 will be installed ---> Package python-srpm-macros.noarch 0:3-23.el7 will be installed ---> Package python2-rpm-macros.noarch 0:3-23.el7 will be installed ---> Package rpm.x86_64 0:4.11.3-35.el7 will be installed --> Processing Dependency: curl for package: rpm-4.11.3-35.el7.x86_64 --> Processing Dependency: /usr/bin/db_stat for package: rpm-4.11.3-35.el7.x86_64 ---> Package rpm-build-libs.x86_64 0:4.11.3-35.el7 will be installed --> Processing Dependency: /usr/bin/gpg2 for package: rpm-build-libs-4.11.3-35.el7.x86_64 ---> Package rpm-libs.x86_64 0:4.11.3-35.el7 will be installed ---> Package setup.noarch 0:2.8.71-10.el7 will be installed ---> Package systemd-libs.x86_64 0:219-62.el7_6.5 will be installed --> Processing Dependency: libgcrypt.so.11(GCRYPT_1.2)(64bit) for package: systemd-libs-219-62.el7_6.5.x86_64 --> Processing Dependency: liblz4.so.1()(64bit) for package: systemd-libs-219-62.el7_6.5.x86_64 --> Processing Dependency: libgpg-error.so.0()(64bit) for package: systemd-libs-219-62.el7_6.5.x86_64 --> Processing Dependency: libgcrypt.so.11()(64bit) for package: systemd-libs-219-62.el7_6.5.x86_64 ---> Package xz-libs.x86_64 0:5.2.2-1.el7 will be installed ---> Package zip.x86_64 0:3.0-11.el7 will be installed ---> Package zlib.x86_64 0:1.2.7-18.el7 will be installed --> Running transaction check ---> Package basesystem.noarch 0:10.0-7.el7.centos will be installed ---> Package ca-certificates.noarch 0:2018.2.22-70.0.el7_5 will be installed --> Processing Dependency: p11-kit-trust >= 0.23.5 for package: ca-certificates-2018.2.22-70.0.el7_5.noarch --> Processing Dependency: p11-kit >= 0.23.5 for package: ca-certificates-2018.2.22-70.0.el7_5.noarch ---> Package chkconfig.x86_64 0:1.7.4-1.el7 will be installed ---> Package cracklib.x86_64 0:2.9.0-11.el7 will be installed ---> Package cracklib-dicts.x86_64 0:2.9.0-11.el7 will be installed ---> Package curl.x86_64 0:7.29.0-51.el7 will be installed --> Processing Dependency: libcurl = 7.29.0-51.el7 for package: curl-7.29.0-51.el7.x86_64 --> Processing Dependency: libcurl.so.4()(64bit) for package: curl-7.29.0-51.el7.x86_64 ---> Package elfutils-libs.x86_64 0:0.172-2.el7 will be installed --> Processing Dependency: default-yama-scope for package: elfutils-libs-0.172-2.el7.x86_64 ---> Package expat.x86_64 0:2.1.0-10.el7_3 will be installed ---> Package filesystem.x86_64 0:3.2-25.el7 will be installed ---> Package gdbm.x86_64 0:1.10-8.el7 will be installed ---> Package glib2.x86_64 0:2.56.1-2.el7 will be installed --> Processing Dependency: shared-mime-info for package: glib2-2.56.1-2.el7.x86_64 --> Processing Dependency: libffi.so.6()(64bit) for package: glib2-2.56.1-2.el7.x86_64 ---> Package glibc-common.x86_64 0:2.17-260.el7_6.4 will be installed --> Processing Dependency: tzdata >= 2003a for package: glibc-common-2.17-260.el7_6.4.x86_64 ---> Package glibc-headers.x86_64 0:2.17-260.el7_6.4 will be installed --> Processing Dependency: kernel-headers >= 2.2.1 for package: glibc-headers-2.17-260.el7_6.4.x86_64 --> Processing Dependency: kernel-headers for package: glibc-headers-2.17-260.el7_6.4.x86_64 ---> Package gnupg2.x86_64 0:2.0.22-5.el7_5 will be installed --> Processing Dependency: pinentry for package: gnupg2-2.0.22-5.el7_5.x86_64 --> Processing Dependency: libassuan.so.0(LIBASSUAN_1.0)(64bit) for package: gnupg2-2.0.22-5.el7_5.x86_64 --> Processing Dependency: libpth.so.20()(64bit) for package: gnupg2-2.0.22-5.el7_5.x86_64 --> Processing Dependency: libassuan.so.0()(64bit) for package: gnupg2-2.0.22-5.el7_5.x86_64 ---> Package krb5-libs.x86_64 0:1.15.1-37.el7_6 will be installed --> Processing Dependency: keyutils-libs >= 1.5.8 for package: krb5-libs-1.15.1-37.el7_6.x86_64 --> Processing Dependency: libkeyutils.so.1(KEYUTILS_1.5)(64bit) for package: krb5-libs-1.15.1-37.el7_6.x86_64 --> Processing Dependency: libkeyutils.so.1(KEYUTILS_1.0)(64bit) for package: krb5-libs-1.15.1-37.el7_6.x86_64 --> Processing Dependency: libkeyutils.so.1(KEYUTILS_0.3)(64bit) for package: krb5-libs-1.15.1-37.el7_6.x86_64 --> Processing Dependency: libverto.so.1()(64bit) for package: krb5-libs-1.15.1-37.el7_6.x86_64 --> Processing Dependency: libkeyutils.so.1()(64bit) for package: krb5-libs-1.15.1-37.el7_6.x86_64 ---> Package libcom_err.x86_64 0:1.42.9-13.el7 will be installed ---> Package libdb-utils.x86_64 0:5.3.21-24.el7 will be installed ---> Package libgcrypt.x86_64 0:1.5.3-14.el7 will be installed ---> Package libgpg-error.x86_64 0:1.12-3.el7 will be installed ---> Package libpwquality.x86_64 0:1.2.3-5.el7 will be installed ---> Package libsepol.x86_64 0:2.5-10.el7 will be installed ---> Package lz4.x86_64 0:1.7.5-2.el7 will be installed ---> Package ncurses-base.noarch 0:5.9-14.20130511.el7_4 will be installed ---> Package nspr.x86_64 0:4.19.0-1.el7_5 will be installed ---> Package nss-pem.x86_64 0:1.0.3-5.el7_6.1 will be installed ---> Package nss-softokn.x86_64 0:3.36.0-5.el7_5 will be installed --> Processing Dependency: libsqlite3.so.0()(64bit) for package: nss-softokn-3.36.0-5.el7_5.x86_64 ---> Package nss-softokn-freebl.x86_64 0:3.36.0-5.el7_5 will be installed ---> Package nss-sysinit.x86_64 0:3.36.0-7.1.el7_6 will be installed ---> Package nss-util.x86_64 0:3.36.0-1.1.el7_6 will be installed ---> Package openldap.x86_64 0:2.4.44-21.el7_6 will be installed --> Processing Dependency: nss-tools for package: openldap-2.4.44-21.el7_6.x86_64 --> Processing Dependency: libsasl2.so.3()(64bit) for package: openldap-2.4.44-21.el7_6.x86_64 ---> Package perl-Carp.noarch 0:1.26-244.el7 will be installed ---> Package perl-Exporter.noarch 0:5.68-3.el7 will be installed ---> Package perl-File-Path.noarch 0:2.09-2.el7 will be installed ---> Package perl-Filter.x86_64 0:1.49-3.el7 will be installed ---> Package perl-PathTools.x86_64 0:3.40-5.el7 will be installed ---> Package perl-Pod-Simple.noarch 1:3.28-4.el7 will be installed --> Processing Dependency: perl(Pod::Escapes) >= 1.04 for package: 1:perl-Pod-Simple-3.28-4.el7.noarch --> Processing Dependency: perl(Encode) for package: 1:perl-Pod-Simple-3.28-4.el7.noarch ---> Package perl-Pod-Usage.noarch 0:1.63-3.el7 will be installed --> Processing Dependency: perl(Pod::Text) >= 3.15 for package: perl-Pod-Usage-1.63-3.el7.noarch --> Processing Dependency: perl-Pod-Perldoc for package: perl-Pod-Usage-1.63-3.el7.noarch ---> Package perl-Scalar-List-Utils.x86_64 0:1.27-248.el7 will be installed ---> Package perl-Socket.x86_64 0:2.010-4.el7 will be installed ---> Package perl-Storable.x86_64 0:2.45-3.el7 will be installed ---> Package perl-Text-ParseWords.noarch 0:3.29-4.el7 will be installed ---> Package perl-Time-HiRes.x86_64 4:1.9725-3.el7 will be installed ---> Package perl-Time-Local.noarch 0:1.2300-2.el7 will be installed ---> Package perl-constant.noarch 0:1.27-2.el7 will be installed ---> Package perl-libs.x86_64 4:5.16.3-294.el7_6 will be installed ---> Package perl-macros.x86_64 4:5.16.3-294.el7_6 will be installed ---> Package perl-threads-shared.x86_64 0:1.43-6.el7 will be installed ---> Package python-libs.x86_64 0:2.7.5-77.el7_6 will be installed ---> Package readline.x86_64 0:6.2-10.el7 will be installed ---> Package ustr.x86_64 0:1.0.4-16.el7 will be installed --> Running transaction check ---> Package cyrus-sasl-lib.x86_64 0:2.1.26-23.el7 will be installed ---> Package elfutils-default-yama-scope.noarch 0:0.172-2.el7 will be installed --> Processing Dependency: systemd for package: elfutils-default-yama-scope-0.172-2.el7.noarch --> Processing Dependency: systemd for package: elfutils-default-yama-scope-0.172-2.el7.noarch ---> Package kernel-headers.x86_64 0:3.10.0-957.10.1.el7 will be installed ---> Package keyutils-libs.x86_64 0:1.5.8-3.el7 will be installed ---> Package libassuan.x86_64 0:2.1.0-3.el7 will be installed ---> Package libcurl.x86_64 0:7.29.0-51.el7 will be installed --> Processing Dependency: libssh2(x86-64) >= 1.4.3 for package: libcurl-7.29.0-51.el7.x86_64 --> Processing Dependency: libidn.so.11(LIBIDN_1.0)(64bit) for package: libcurl-7.29.0-51.el7.x86_64 --> Processing Dependency: libssh2.so.1()(64bit) for package: libcurl-7.29.0-51.el7.x86_64 --> Processing Dependency: libidn.so.11()(64bit) for package: libcurl-7.29.0-51.el7.x86_64 ---> Package libffi.x86_64 0:3.0.13-18.el7 will be installed ---> Package libverto.x86_64 0:0.2.5-4.el7 will be installed ---> Package nss-tools.x86_64 0:3.36.0-7.1.el7_6 will be installed ---> Package p11-kit.x86_64 0:0.23.5-3.el7 will be installed ---> Package p11-kit-trust.x86_64 0:0.23.5-3.el7 will be installed --> Processing Dependency: libtasn1.so.6(LIBTASN1_0_3)(64bit) for package: p11-kit-trust-0.23.5-3.el7.x86_64 --> Processing Dependency: libtasn1.so.6()(64bit) for package: p11-kit-trust-0.23.5-3.el7.x86_64 ---> Package perl-Encode.x86_64 0:2.51-7.el7 will be installed ---> Package perl-Pod-Escapes.noarch 1:1.04-294.el7_6 will be installed ---> Package perl-Pod-Perldoc.noarch 0:3.20-4.el7 will be installed --> Processing Dependency: perl(parent) for package: perl-Pod-Perldoc-3.20-4.el7.noarch --> Processing Dependency: perl(HTTP::Tiny) for package: perl-Pod-Perldoc-3.20-4.el7.noarch --> Processing Dependency: groff-base for package: perl-Pod-Perldoc-3.20-4.el7.noarch ---> Package perl-podlators.noarch 0:2.5.1-3.el7 will be installed ---> Package pinentry.x86_64 0:0.8.1-17.el7 will be installed ---> Package pth.x86_64 0:2.0.7-23.el7 will be installed ---> Package shared-mime-info.x86_64 0:1.8-4.el7 will be installed --> Processing Dependency: libxml2.so.2(LIBXML2_2.4.30)(64bit) for package: shared-mime-info-1.8-4.el7.x86_64 --> Processing Dependency: libxml2.so.2()(64bit) for package: shared-mime-info-1.8-4.el7.x86_64 ---> Package sqlite.x86_64 0:3.7.17-8.el7 will be installed ---> Package tzdata.noarch 0:2019a-1.el7 will be installed --> Running transaction check ---> Package groff-base.x86_64 0:1.22.2-8.el7 will be installed ---> Package libidn.x86_64 0:1.28-4.el7 will be installed ---> Package libssh2.x86_64 0:1.4.3-12.el7_6.2 will be installed ---> Package libtasn1.x86_64 0:4.10-1.el7 will be installed ---> Package libxml2.x86_64 0:2.9.1-6.el7_2.3 will be installed ---> Package perl-HTTP-Tiny.noarch 0:0.033-3.el7 will be installed ---> Package perl-parent.noarch 1:0.225-244.el7 will be installed ---> Package systemd.x86_64 0:219-62.el7_6.5 will be installed --> Processing Dependency: kmod >= 18-4 for package: systemd-219-62.el7_6.5.x86_64 --> Processing Dependency: libkmod.so.2(LIBKMOD_5)(64bit) for package: systemd-219-62.el7_6.5.x86_64 --> Processing Dependency: libcryptsetup.so.12(CRYPTSETUP_2.0)(64bit) for package: systemd-219-62.el7_6.5.x86_64 --> Processing Dependency: dbus for package: systemd-219-62.el7_6.5.x86_64 --> Processing Dependency: acl for package: systemd-219-62.el7_6.5.x86_64 --> Processing Dependency: libqrencode.so.3()(64bit) for package: systemd-219-62.el7_6.5.x86_64 --> Processing Dependency: libkmod.so.2()(64bit) for package: systemd-219-62.el7_6.5.x86_64 --> Processing Dependency: libcryptsetup.so.12()(64bit) for package: systemd-219-62.el7_6.5.x86_64 --> Running transaction check ---> Package acl.x86_64 0:2.2.51-14.el7 will be installed ---> Package cryptsetup-libs.x86_64 0:2.0.3-3.el7 will be installed --> Processing Dependency: libdevmapper.so.1.02(DM_1_02_97)(64bit) for package: cryptsetup-libs-2.0.3-3.el7.x86_64 --> Processing Dependency: libdevmapper.so.1.02(Base)(64bit) for package: cryptsetup-libs-2.0.3-3.el7.x86_64 --> Processing Dependency: libjson-c.so.2()(64bit) for package: cryptsetup-libs-2.0.3-3.el7.x86_64 --> Processing Dependency: libdevmapper.so.1.02()(64bit) for package: cryptsetup-libs-2.0.3-3.el7.x86_64 ---> Package dbus.x86_64 1:1.10.24-13.el7_6 will be installed --> Processing Dependency: dbus-libs(x86-64) = 1:1.10.24-13.el7_6 for package: 1:dbus-1.10.24-13.el7_6.x86_64 --> Processing Dependency: libdbus-1.so.3(LIBDBUS_PRIVATE_1.10.24)(64bit) for package: 1:dbus-1.10.24-13.el7_6.x86_64 --> Processing Dependency: libdbus-1.so.3(LIBDBUS_1_3)(64bit) for package: 1:dbus-1.10.24-13.el7_6.x86_64 --> Processing Dependency: libdbus-1.so.3()(64bit) for package: 1:dbus-1.10.24-13.el7_6.x86_64 ---> Package kmod.x86_64 0:20-23.el7 will be installed --> Processing Dependency: dracut for package: kmod-20-23.el7.x86_64 ---> Package kmod-libs.x86_64 0:20-23.el7 will be installed ---> Package qrencode-libs.x86_64 0:3.4.1-3.el7 will be installed --> Running transaction check ---> Package dbus-libs.x86_64 1:1.10.24-13.el7_6 will be installed ---> Package device-mapper-libs.x86_64 7:1.02.149-10.el7_6.3 will be installed --> Processing Dependency: device-mapper = 7:1.02.149-10.el7_6.3 for package: 7:device-mapper-libs-1.02.149-10.el7_6.3.x86_64 ---> Package dracut.x86_64 0:033-554.el7 will be installed --> Processing Dependency: procps-ng for package: dracut-033-554.el7.x86_64 --> Processing Dependency: kpartx for package: dracut-033-554.el7.x86_64 --> Processing Dependency: hardlink for package: dracut-033-554.el7.x86_64 ---> Package json-c.x86_64 0:0.11-4.el7_0 will be installed --> Running transaction check ---> Package device-mapper.x86_64 7:1.02.149-10.el7_6.3 will be installed ---> Package hardlink.x86_64 1:1.0-19.el7 will be installed ---> Package kpartx.x86_64 0:0.4.9-123.el7 will be installed ---> Package procps-ng.x86_64 0:3.3.10-23.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing for group install "Buildsystem building group": bash x86_64 4.2.46-31.el7 base 1.0 M bzip2 x86_64 1.0.6-13.el7 base 52 k coreutils x86_64 8.22-23.el7 base 3.3 M cpio x86_64 2.11-27.el7 base 211 k diffutils x86_64 3.3-4.el7 base 322 k epel-release noarch 7-11 epel 15 k epel-rpm-macros noarch 7-19 epel 13 k findutils x86_64 1:4.5.11-6.el7 base 559 k gawk x86_64 4.0.2-4.el7_3.1 base 874 k gcc x86_64 4.8.5-36.el7_6.1 updates 16 M gcc-c++ x86_64 4.8.5-36.el7_6.1 updates 7.2 M grep x86_64 2.20-3.el7 base 344 k gzip x86_64 1.5-10.el7 base 130 k info x86_64 5.1-5.el7 base 233 k make x86_64 1:3.82-23.el7 base 420 k patch x86_64 2.7.1-10.el7_5 base 110 k redhat-rpm-config noarch 9.1.0-87.el7.centos base 81 k rpm-build x86_64 4.11.3-35.el7 base 147 k sed x86_64 4.2.2-5.el7 base 231 k shadow-utils x86_64 2:4.1.5.1-25.el7_6.1 updates 1.1 M tar x86_64 2:1.26-35.el7 base 846 k unzip x86_64 6.0-19.el7 base 170 k util-linux x86_64 2.23.2-59.el7_6.1 updates 2.0 M which x86_64 2.20-7.el7 base 41 k xz x86_64 5.2.2-1.el7 base 229 k Installing for dependencies: acl x86_64 2.2.51-14.el7 base 81 k audit-libs x86_64 2.8.4-4.el7 base 100 k basesystem noarch 10.0-7.el7.centos base 5.0 k binutils x86_64 2.27-34.base.el7 base 5.9 M bzip2-libs x86_64 1.0.6-13.el7 base 40 k ca-certificates noarch 2018.2.22-70.0.el7_5 base 392 k centos-release x86_64 7-6.1810.2.el7.centos base 26 k chkconfig x86_64 1.7.4-1.el7 base 181 k cpp x86_64 4.8.5-36.el7_6.1 updates 5.9 M cracklib x86_64 2.9.0-11.el7 base 80 k cracklib-dicts x86_64 2.9.0-11.el7 base 3.6 M cryptsetup-libs x86_64 2.0.3-3.el7 base 338 k curl x86_64 7.29.0-51.el7 base 269 k cyrus-sasl-lib x86_64 2.1.26-23.el7 base 155 k dbus x86_64 1:1.10.24-13.el7_6 updates 245 k dbus-libs x86_64 1:1.10.24-13.el7_6 updates 169 k device-mapper x86_64 7:1.02.149-10.el7_6.3 updates 292 k device-mapper-libs x86_64 7:1.02.149-10.el7_6.3 updates 320 k dracut x86_64 033-554.el7 base 327 k dwz x86_64 0.11-3.el7 base 99 k elfutils x86_64 0.172-2.el7 base 299 k elfutils-default-yama-scope noarch 0.172-2.el7 base 32 k elfutils-libelf x86_64 0.172-2.el7 base 194 k elfutils-libs x86_64 0.172-2.el7 base 285 k expat x86_64 2.1.0-10.el7_3 base 81 k file x86_64 5.11-35.el7 base 57 k file-libs x86_64 5.11-35.el7 base 340 k filesystem x86_64 3.2-25.el7 base 1.0 M gdb x86_64 7.6.1-114.el7 base 2.4 M gdbm x86_64 1.10-8.el7 base 70 k glib2 x86_64 2.56.1-2.el7 base 2.5 M glibc x86_64 2.17-260.el7_6.4 updates 3.7 M glibc-common x86_64 2.17-260.el7_6.4 updates 12 M glibc-devel x86_64 2.17-260.el7_6.4 updates 1.1 M glibc-headers x86_64 2.17-260.el7_6.4 updates 683 k gmp x86_64 1:6.0.0-15.el7 base 281 k gnupg2 x86_64 2.0.22-5.el7_5 base 1.5 M groff-base x86_64 1.22.2-8.el7 base 942 k hardlink x86_64 1:1.0-19.el7 base 14 k json-c x86_64 0.11-4.el7_0 base 31 k kernel-headers x86_64 3.10.0-957.10.1.el7 updates 8.0 M keyutils-libs x86_64 1.5.8-3.el7 base 25 k kmod x86_64 20-23.el7 base 121 k kmod-libs x86_64 20-23.el7 base 50 k kpartx x86_64 0.4.9-123.el7 base 77 k krb5-libs x86_64 1.15.1-37.el7_6 updates 803 k libacl x86_64 2.2.51-14.el7 base 27 k libassuan x86_64 2.1.0-3.el7 base 63 k libattr x86_64 2.4.46-13.el7 base 18 k libblkid x86_64 2.23.2-59.el7_6.1 updates 181 k libcap x86_64 2.22-9.el7 base 47 k libcap-ng x86_64 0.7.5-4.el7 base 25 k libcom_err x86_64 1.42.9-13.el7 base 41 k libcurl x86_64 7.29.0-51.el7 base 221 k libdb x86_64 5.3.21-24.el7 base 720 k libdb-utils x86_64 5.3.21-24.el7 base 132 k libffi x86_64 3.0.13-18.el7 base 30 k libgcc x86_64 4.8.5-36.el7_6.1 updates 102 k libgcrypt x86_64 1.5.3-14.el7 base 263 k libgomp x86_64 4.8.5-36.el7_6.1 updates 157 k libgpg-error x86_64 1.12-3.el7 base 87 k libidn x86_64 1.28-4.el7 base 209 k libmount x86_64 2.23.2-59.el7_6.1 updates 182 k libmpc x86_64 1.0.1-3.el7 base 51 k libpwquality x86_64 1.2.3-5.el7 base 85 k libselinux x86_64 2.5-14.1.el7 base 162 k libsemanage x86_64 2.5-14.el7 base 151 k libsepol x86_64 2.5-10.el7 base 297 k libsmartcols x86_64 2.23.2-59.el7_6.1 updates 140 k libssh2 x86_64 1.4.3-12.el7_6.2 updates 135 k libstdc++ x86_64 4.8.5-36.el7_6.1 updates 305 k libstdc++-devel x86_64 4.8.5-36.el7_6.1 updates 1.5 M libtasn1 x86_64 4.10-1.el7 base 320 k libuser x86_64 0.60-9.el7 base 400 k libutempter x86_64 1.1.6-4.el7 base 25 k libuuid x86_64 2.23.2-59.el7_6.1 updates 82 k libverto x86_64 0.2.5-4.el7 base 16 k libxml2 x86_64 2.9.1-6.el7_2.3 base 668 k lua x86_64 5.1.4-15.el7 base 201 k lz4 x86_64 1.7.5-2.el7 base 98 k mpfr x86_64 3.1.1-4.el7 base 203 k ncurses x86_64 5.9-14.20130511.el7_4 base 304 k ncurses-base noarch 5.9-14.20130511.el7_4 base 68 k ncurses-libs x86_64 5.9-14.20130511.el7_4 base 316 k nspr x86_64 4.19.0-1.el7_5 base 127 k nss x86_64 3.36.0-7.1.el7_6 updates 835 k nss-pem x86_64 1.0.3-5.el7_6.1 updates 74 k nss-softokn x86_64 3.36.0-5.el7_5 base 315 k nss-softokn-freebl x86_64 3.36.0-5.el7_5 base 222 k nss-sysinit x86_64 3.36.0-7.1.el7_6 updates 62 k nss-tools x86_64 3.36.0-7.1.el7_6 updates 515 k nss-util x86_64 3.36.0-1.1.el7_6 updates 78 k openldap x86_64 2.4.44-21.el7_6 updates 356 k openssl-libs x86_64 1:1.0.2k-16.el7_6.1 updates 1.2 M p11-kit x86_64 0.23.5-3.el7 base 252 k p11-kit-trust x86_64 0.23.5-3.el7 base 129 k pam x86_64 1.1.8-22.el7 base 720 k pcre x86_64 8.32-17.el7 base 422 k perl x86_64 4:5.16.3-294.el7_6 updates 8.0 M perl-Carp noarch 1.26-244.el7 base 19 k perl-Encode x86_64 2.51-7.el7 base 1.5 M perl-Exporter noarch 5.68-3.el7 base 28 k perl-File-Path noarch 2.09-2.el7 base 26 k perl-File-Temp noarch 0.23.01-3.el7 base 56 k perl-Filter x86_64 1.49-3.el7 base 76 k perl-Getopt-Long noarch 2.40-3.el7 base 56 k perl-HTTP-Tiny noarch 0.033-3.el7 base 38 k perl-PathTools x86_64 3.40-5.el7 base 82 k perl-Pod-Escapes noarch 1:1.04-294.el7_6 updates 51 k perl-Pod-Perldoc noarch 3.20-4.el7 base 87 k perl-Pod-Simple noarch 1:3.28-4.el7 base 216 k perl-Pod-Usage noarch 1.63-3.el7 base 27 k perl-Scalar-List-Utils x86_64 1.27-248.el7 base 36 k perl-Socket x86_64 2.010-4.el7 base 49 k perl-Storable x86_64 2.45-3.el7 base 77 k perl-Text-ParseWords noarch 3.29-4.el7 base 14 k perl-Thread-Queue noarch 3.02-2.el7 base 17 k perl-Time-HiRes x86_64 4:1.9725-3.el7 base 45 k perl-Time-Local noarch 1.2300-2.el7 base 24 k perl-constant noarch 1.27-2.el7 base 19 k perl-libs x86_64 4:5.16.3-294.el7_6 updates 688 k perl-macros x86_64 4:5.16.3-294.el7_6 updates 44 k perl-parent noarch 1:0.225-244.el7 base 12 k perl-podlators noarch 2.5.1-3.el7 base 112 k perl-srpm-macros noarch 1-8.el7 base 4.6 k perl-threads x86_64 1.87-4.el7 base 49 k perl-threads-shared x86_64 1.43-6.el7 base 39 k pinentry x86_64 0.8.1-17.el7 base 73 k pkgconfig x86_64 1:0.27.1-4.el7 base 54 k popt x86_64 1.13-16.el7 base 42 k procps-ng x86_64 3.3.10-23.el7 base 291 k pth x86_64 2.0.7-23.el7 base 89 k python-libs x86_64 2.7.5-77.el7_6 updates 5.6 M python-rpm-macros noarch 3-23.el7 epel 7.7 k python-srpm-macros noarch 3-23.el7 epel 7.2 k python2-rpm-macros noarch 3-23.el7 epel 6.4 k qrencode-libs x86_64 3.4.1-3.el7 base 50 k readline x86_64 6.2-10.el7 base 193 k rpm x86_64 4.11.3-35.el7 base 1.2 M rpm-build-libs x86_64 4.11.3-35.el7 base 106 k rpm-libs x86_64 4.11.3-35.el7 base 277 k setup noarch 2.8.71-10.el7 base 166 k shared-mime-info x86_64 1.8-4.el7 base 312 k sqlite x86_64 3.7.17-8.el7 base 393 k systemd x86_64 219-62.el7_6.5 updates 5.1 M systemd-libs x86_64 219-62.el7_6.5 updates 407 k tzdata noarch 2019a-1.el7 updates 494 k ustr x86_64 1.0.4-16.el7 base 92 k xz-libs x86_64 5.2.2-1.el7 base 103 k zip x86_64 3.0-11.el7 base 260 k zlib x86_64 1.2.7-18.el7 base 90 k Transaction Summary ================================================================================ Install 25 Packages (+151 Dependent packages) Total download size: 130 M Installed size: 461 M Downloading packages: warning: /var/lib/mock/886269-epel-7-x86_64-1555921509.478853/root/var/cache/yum/base/packages/basesystem-10.0-7.el7.centos.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY Public key for basesystem-10.0-7.el7.centos.noarch.rpm is not installed (1/176): basesystem-10.0-7.el7.centos.noarch.rpm | 5.0 kB 00:00 (2/176): audit-libs-2.8.4-4.el7.x86_64.rpm | 100 kB 00:00 (3/176): bzip2-libs-1.0.6-13.el7.x86_64.rpm | 40 kB 00:00 (4/176): bzip2-1.0.6-13.el7.x86_64.rpm | 52 kB 00:00 (5/176): centos-release-7-6.1810.2.el7.centos.x86_64.rpm | 26 kB 00:00 (6/176): ca-certificates-2018.2.22-70.0.el7_5.noarch.rpm | 392 kB 00:00 (7/176): coreutils-8.22-23.el7.x86_64.rpm | 3.3 MB 00:00 (8/176): chkconfig-1.7.4-1.el7.x86_64.rpm | 181 kB 00:00 (9/176): acl-2.2.51-14.el7.x86_64.rpm | 81 kB 00:00 (10/176): cpio-2.11-27.el7.x86_64.rpm | 211 kB 00:00 (11/176): cracklib-dicts-2.9.0-11.el7.x86_64.rpm | 3.6 MB 00:00 (12/176): cryptsetup-libs-2.0.3-3.el7.x86_64.rpm | 338 kB 00:00 (13/176): cracklib-2.9.0-11.el7.x86_64.rpm | 80 kB 00:00 (14/176): curl-7.29.0-51.el7.x86_64.rpm | 269 kB 00:00 (15/176): cyrus-sasl-lib-2.1.26-23.el7.x86_64.rpm | 155 kB 00:00 (16/176): binutils-2.27-34.base.el7.x86_64.rpm | 5.9 MB 00:00 (17/176): bash-4.2.46-31.el7.x86_64.rpm | 1.0 MB 00:01 Public key for dbus-1.10.24-13.el7_6.x86_64.rpm is not installed (18/176): dbus-1.10.24-13.el7_6.x86_64.rpm | 245 kB 00:00 (19/176): cpp-4.8.5-36.el7_6.1.x86_64.rpm | 5.9 MB 00:00 (20/176): dbus-libs-1.10.24-13.el7_6.x86_64.rpm | 169 kB 00:00 (21/176): device-mapper-1.02.149-10.el7_6.3.x86_64.rpm | 292 kB 00:00 (22/176): diffutils-3.3-4.el7.x86_64.rpm | 322 kB 00:00 (23/176): dwz-0.11-3.el7.x86_64.rpm | 99 kB 00:00 (24/176): device-mapper-libs-1.02.149-10.el7_6.3.x86_64.rpm | 320 kB 00:00 (25/176): elfutils-0.172-2.el7.x86_64.rpm | 299 kB 00:00 (26/176): elfutils-default-yama-scope-0.172-2.el7.noarch.rp | 32 kB 00:00 (27/176): elfutils-libelf-0.172-2.el7.x86_64.rpm | 194 kB 00:00 (28/176): elfutils-libs-0.172-2.el7.x86_64.rpm | 285 kB 00:00 (29/176): dracut-033-554.el7.x86_64.rpm | 327 kB 00:00 (30/176): expat-2.1.0-10.el7_3.x86_64.rpm | 81 kB 00:00 (31/176): file-5.11-35.el7.x86_64.rpm | 57 kB 00:00 warning: Public key for epel-release-7-11.noarch.rpm is not installed/var/lib/mock/886269-epel-7-x86_64-1555921509.478853/root/var/cache/yum/epel/packages/epel-release-7-11.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID 352c64e5: NOKEY (32/176): epel-release-7-11.noarch.rpm | 15 kB 00:00 (33/176): file-libs-5.11-35.el7.x86_64.rpm | 340 kB 00:00 (34/176): epel-rpm-macros-7-19.noarch.rpm | 13 kB 00:00 (35/176): findutils-4.5.11-6.el7.x86_64.rpm | 559 kB 00:00 (36/176): filesystem-3.2-25.el7.x86_64.rpm | 1.0 MB 00:00 (37/176): gawk-4.0.2-4.el7_3.1.x86_64.rpm | 874 kB 00:00 (38/176): gdb-7.6.1-114.el7.x86_64.rpm | 2.4 MB 00:00 (39/176): gdbm-1.10-8.el7.x86_64.rpm | 70 kB 00:00 (40/176): glib2-2.56.1-2.el7.x86_64.rpm | 2.5 MB 00:00 (41/176): gcc-4.8.5-36.el7_6.1.x86_64.rpm | 16 MB 00:00 (42/176): glibc-2.17-260.el7_6.4.x86_64.rpm | 3.7 MB 00:00 (43/176): gcc-c++-4.8.5-36.el7_6.1.x86_64.rpm | 7.2 MB 00:01 (44/176): glibc-devel-2.17-260.el7_6.4.x86_64.rpm | 1.1 MB 00:00 (45/176): glibc-common-2.17-260.el7_6.4.x86_64.rpm | 12 MB 00:00 (46/176): gmp-6.0.0-15.el7.x86_64.rpm | 281 kB 00:00 (47/176): glibc-headers-2.17-260.el7_6.4.x86_64.rpm | 683 kB 00:00 (48/176): grep-2.20-3.el7.x86_64.rpm | 344 kB 00:00 (49/176): groff-base-1.22.2-8.el7.x86_64.rpm | 942 kB 00:00 (50/176): gzip-1.5-10.el7.x86_64.rpm | 130 kB 00:00 (51/176): hardlink-1.0-19.el7.x86_64.rpm | 14 kB 00:00 (52/176): info-5.1-5.el7.x86_64.rpm | 233 kB 00:00 (53/176): gnupg2-2.0.22-5.el7_5.x86_64.rpm | 1.5 MB 00:00 (54/176): keyutils-libs-1.5.8-3.el7.x86_64.rpm | 25 kB 00:00 (55/176): kmod-20-23.el7.x86_64.rpm | 121 kB 00:00 (56/176): kmod-libs-20-23.el7.x86_64.rpm | 50 kB 00:00 (57/176): kpartx-0.4.9-123.el7.x86_64.rpm | 77 kB 00:00 (58/176): libacl-2.2.51-14.el7.x86_64.rpm | 27 kB 00:00 (59/176): libassuan-2.1.0-3.el7.x86_64.rpm | 63 kB 00:00 (60/176): kernel-headers-3.10.0-957.10.1.el7.x86_64.rpm | 8.0 MB 00:00 (61/176): libattr-2.4.46-13.el7.x86_64.rpm | 18 kB 00:00 (62/176): libcap-2.22-9.el7.x86_64.rpm | 47 kB 00:00 (63/176): libcap-ng-0.7.5-4.el7.x86_64.rpm | 25 kB 00:00 (64/176): json-c-0.11-4.el7_0.x86_64.rpm | 31 kB 00:00 (65/176): libblkid-2.23.2-59.el7_6.1.x86_64.rpm | 181 kB 00:00 (66/176): libcom_err-1.42.9-13.el7.x86_64.rpm | 41 kB 00:00 (67/176): libcurl-7.29.0-51.el7.x86_64.rpm | 221 kB 00:00 (68/176): libdb-5.3.21-24.el7.x86_64.rpm | 720 kB 00:00 (69/176): libdb-utils-5.3.21-24.el7.x86_64.rpm | 132 kB 00:00 (70/176): libffi-3.0.13-18.el7.x86_64.rpm | 30 kB 00:00 (71/176): libgcrypt-1.5.3-14.el7.x86_64.rpm | 263 kB 00:00 (72/176): libgcc-4.8.5-36.el7_6.1.x86_64.rpm | 102 kB 00:00 (73/176): libgpg-error-1.12-3.el7.x86_64.rpm | 87 kB 00:00 (74/176): libgomp-4.8.5-36.el7_6.1.x86_64.rpm | 157 kB 00:00 (75/176): libmpc-1.0.1-3.el7.x86_64.rpm | 51 kB 00:00 (76/176): libpwquality-1.2.3-5.el7.x86_64.rpm | 85 kB 00:00 (77/176): libselinux-2.5-14.1.el7.x86_64.rpm | 162 kB 00:00 (78/176): libsemanage-2.5-14.el7.x86_64.rpm | 151 kB 00:00 (79/176): libsepol-2.5-10.el7.x86_64.rpm | 297 kB 00:00 (80/176): libidn-1.28-4.el7.x86_64.rpm | 209 kB 00:00 (81/176): libmount-2.23.2-59.el7_6.1.x86_64.rpm | 182 kB 00:00 (82/176): libsmartcols-2.23.2-59.el7_6.1.x86_64.rpm | 140 kB 00:00 (83/176): krb5-libs-1.15.1-37.el7_6.x86_64.rpm | 803 kB 00:00 (84/176): libssh2-1.4.3-12.el7_6.2.x86_64.rpm | 135 kB 00:00 (85/176): libstdc++-4.8.5-36.el7_6.1.x86_64.rpm | 305 kB 00:00 (86/176): libtasn1-4.10-1.el7.x86_64.rpm | 320 kB 00:00 (87/176): libutempter-1.1.6-4.el7.x86_64.rpm | 25 kB 00:00 (88/176): libstdc++-devel-4.8.5-36.el7_6.1.x86_64.rpm | 1.5 MB 00:00 (89/176): libverto-0.2.5-4.el7.x86_64.rpm | 16 kB 00:00 (90/176): libuuid-2.23.2-59.el7_6.1.x86_64.rpm | 82 kB 00:00 (91/176): libxml2-2.9.1-6.el7_2.3.x86_64.rpm | 668 kB 00:00 (92/176): lua-5.1.4-15.el7.x86_64.rpm | 201 kB 00:00 (93/176): lz4-1.7.5-2.el7.x86_64.rpm | 98 kB 00:00 (94/176): make-3.82-23.el7.x86_64.rpm | 420 kB 00:00 (95/176): mpfr-3.1.1-4.el7.x86_64.rpm | 203 kB 00:00 (96/176): libuser-0.60-9.el7.x86_64.rpm | 400 kB 00:00 (97/176): ncurses-5.9-14.20130511.el7_4.x86_64.rpm | 304 kB 00:00 (98/176): ncurses-base-5.9-14.20130511.el7_4.noarch.rpm | 68 kB 00:00 (99/176): ncurses-libs-5.9-14.20130511.el7_4.x86_64.rpm | 316 kB 00:00 (100/176): nspr-4.19.0-1.el7_5.x86_64.rpm | 127 kB 00:00 (101/176): nss-softokn-3.36.0-5.el7_5.x86_64.rpm | 315 kB 00:00 (102/176): nss-softokn-freebl-3.36.0-5.el7_5.x86_64.rpm | 222 kB 00:00 (103/176): nss-3.36.0-7.1.el7_6.x86_64.rpm | 835 kB 00:00 (104/176): nss-sysinit-3.36.0-7.1.el7_6.x86_64.rpm | 62 kB 00:00 (105/176): nss-tools-3.36.0-7.1.el7_6.x86_64.rpm | 515 kB 00:00 (106/176): nss-util-3.36.0-1.1.el7_6.x86_64.rpm | 78 kB 00:00 (107/176): nss-pem-1.0.3-5.el7_6.1.x86_64.rpm | 74 kB 00:00 (108/176): p11-kit-0.23.5-3.el7.x86_64.rpm | 252 kB 00:00 (109/176): openldap-2.4.44-21.el7_6.x86_64.rpm | 356 kB 00:00 (110/176): pam-1.1.8-22.el7.x86_64.rpm | 720 kB 00:00 (111/176): patch-2.7.1-10.el7_5.x86_64.rpm | 110 kB 00:00 (112/176): pcre-8.32-17.el7.x86_64.rpm | 422 kB 00:00 (113/176): perl-Carp-1.26-244.el7.noarch.rpm | 19 kB 00:00 (114/176): perl-Encode-2.51-7.el7.x86_64.rpm | 1.5 MB 00:00 (115/176): p11-kit-trust-0.23.5-3.el7.x86_64.rpm | 129 kB 00:00 (116/176): perl-Exporter-5.68-3.el7.noarch.rpm | 28 kB 00:00 (117/176): perl-File-Path-2.09-2.el7.noarch.rpm | 26 kB 00:00 (118/176): perl-File-Temp-0.23.01-3.el7.noarch.rpm | 56 kB 00:00 (119/176): perl-Filter-1.49-3.el7.x86_64.rpm | 76 kB 00:00 (120/176): openssl-libs-1.0.2k-16.el7_6.1.x86_64.rpm | 1.2 MB 00:00 (121/176): perl-Getopt-Long-2.40-3.el7.noarch.rpm | 56 kB 00:00 (122/176): perl-PathTools-3.40-5.el7.x86_64.rpm | 82 kB 00:00 (123/176): perl-HTTP-Tiny-0.033-3.el7.noarch.rpm | 38 kB 00:00 (124/176): perl-Pod-Perldoc-3.20-4.el7.noarch.rpm | 87 kB 00:00 (125/176): perl-Pod-Escapes-1.04-294.el7_6.noarch.rpm | 51 kB 00:00 (126/176): perl-Pod-Usage-1.63-3.el7.noarch.rpm | 27 kB 00:00 (127/176): perl-Scalar-List-Utils-1.27-248.el7.x86_64.rpm | 36 kB 00:00 (128/176): perl-5.16.3-294.el7_6.x86_64.rpm | 8.0 MB 00:00 (129/176): perl-Socket-2.010-4.el7.x86_64.rpm | 49 kB 00:00 (130/176): perl-Storable-2.45-3.el7.x86_64.rpm | 77 kB 00:00 (131/176): perl-Text-ParseWords-3.29-4.el7.noarch.rpm | 14 kB 00:00 (132/176): perl-Thread-Queue-3.02-2.el7.noarch.rpm | 17 kB 00:00 (133/176): perl-Time-HiRes-1.9725-3.el7.x86_64.rpm | 45 kB 00:00 (134/176): perl-Pod-Simple-3.28-4.el7.noarch.rpm | 216 kB 00:00 (135/176): perl-Time-Local-1.2300-2.el7.noarch.rpm | 24 kB 00:00 (136/176): perl-constant-1.27-2.el7.noarch.rpm | 19 kB 00:00 (137/176): perl-parent-0.225-244.el7.noarch.rpm | 12 kB 00:00 (138/176): perl-podlators-2.5.1-3.el7.noarch.rpm | 112 kB 00:00 (139/176): perl-srpm-macros-1-8.el7.noarch.rpm | 4.6 kB 00:00 (140/176): perl-libs-5.16.3-294.el7_6.x86_64.rpm | 688 kB 00:00 (141/176): perl-threads-1.87-4.el7.x86_64.rpm | 49 kB 00:00 (142/176): perl-threads-shared-1.43-6.el7.x86_64.rpm | 39 kB 00:00 (143/176): pinentry-0.8.1-17.el7.x86_64.rpm | 73 kB 00:00 (144/176): pkgconfig-0.27.1-4.el7.x86_64.rpm | 54 kB 00:00 (145/176): popt-1.13-16.el7.x86_64.rpm | 42 kB 00:00 (146/176): python-rpm-macros-3-23.el7.noarch.rpm | 7.7 kB 00:00 (147/176): python-srpm-macros-3-23.el7.noarch.rpm | 7.2 kB 00:00 (148/176): python2-rpm-macros-3-23.el7.noarch.rpm | 6.4 kB 00:00 (149/176): pth-2.0.7-23.el7.x86_64.rpm | 89 kB 00:00 (150/176): procps-ng-3.3.10-23.el7.x86_64.rpm | 291 kB 00:00 (151/176): readline-6.2-10.el7.x86_64.rpm | 193 kB 00:00 (152/176): qrencode-libs-3.4.1-3.el7.x86_64.rpm | 50 kB 00:00 (153/176): redhat-rpm-config-9.1.0-87.el7.centos.noarch.rpm | 81 kB 00:00 (154/176): rpm-build-4.11.3-35.el7.x86_64.rpm | 147 kB 00:00 (155/176): rpm-build-libs-4.11.3-35.el7.x86_64.rpm | 106 kB 00:00 (156/176): rpm-4.11.3-35.el7.x86_64.rpm | 1.2 MB 00:00 (157/176): rpm-libs-4.11.3-35.el7.x86_64.rpm | 277 kB 00:00 (158/176): sed-4.2.2-5.el7.x86_64.rpm | 231 kB 00:00 (159/176): perl-macros-5.16.3-294.el7_6.x86_64.rpm | 44 kB 00:00 (160/176): setup-2.8.71-10.el7.noarch.rpm | 166 kB 00:00 (161/176): shared-mime-info-1.8-4.el7.x86_64.rpm | 312 kB 00:00 (162/176): python-libs-2.7.5-77.el7_6.x86_64.rpm | 5.6 MB 00:00 (163/176): sqlite-3.7.17-8.el7.x86_64.rpm | 393 kB 00:00 (164/176): systemd-219-62.el7_6.5.x86_64.rpm | 5.1 MB 00:00 (165/176): tar-1.26-35.el7.x86_64.rpm | 846 kB 00:00 (166/176): shadow-utils-4.1.5.1-25.el7_6.1.x86_64.rpm | 1.1 MB 00:00 (167/176): systemd-libs-219-62.el7_6.5.x86_64.rpm | 407 kB 00:00 (168/176): unzip-6.0-19.el7.x86_64.rpm | 170 kB 00:00 (169/176): which-2.20-7.el7.x86_64.rpm | 41 kB 00:00 (170/176): xz-5.2.2-1.el7.x86_64.rpm | 229 kB 00:00 (171/176): tzdata-2019a-1.el7.noarch.rpm | 494 kB 00:00 (172/176): xz-libs-5.2.2-1.el7.x86_64.rpm | 103 kB 00:00 (173/176): util-linux-2.23.2-59.el7_6.1.x86_64.rpm | 2.0 MB 00:00 (174/176): zip-3.0-11.el7.x86_64.rpm | 260 kB 00:00 (175/176): zlib-1.2.7-18.el7.x86_64.rpm | 90 kB 00:00 (176/176): ustr-1.0.4-16.el7.x86_64.rpm | 92 kB 00:00 -------------------------------------------------------------------------------- Total 20 MB/s | 130 MB 00:06 Retrieving key from file:///usr/share/distribution-gpg-keys/centos/RPM-GPG-KEY-CentOS-7 Importing GPG key 0xF4A80EB5: Userid : "CentOS-7 Key (CentOS 7 Official Signing Key) " Fingerprint: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5 From : /usr/share/distribution-gpg-keys/centos/RPM-GPG-KEY-CentOS-7 Retrieving key from file:///usr/share/distribution-gpg-keys/epel/RPM-GPG-KEY-EPEL-7 Importing GPG key 0x352C64E5: Userid : "Fedora EPEL (7) " Fingerprint: 91e9 7d7c 4a5e 96f1 7f3e 888f 6a2f aea2 352c 64e5 From : /usr/share/distribution-gpg-keys/epel/RPM-GPG-KEY-EPEL-7 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : libgcc-4.8.5-36.el7_6.1.x86_64 1/176 Installing : python-srpm-macros-3-23.el7.noarch 2/176 Installing : python-rpm-macros-3-23.el7.noarch 3/176 Installing : python2-rpm-macros-3-23.el7.noarch 4/176 Installing : ncurses-base-5.9-14.20130511.el7_4.noarch 5/176 Installing : kernel-headers-3.10.0-957.10.1.el7.x86_64 6/176 Installing : perl-srpm-macros-1-8.el7.noarch 7/176 Installing : tzdata-2019a-1.el7.noarch 8/176 Installing : chkconfig-1.7.4-1.el7.x86_64 9/176 Installing : nss-softokn-freebl-3.36.0-5.el7_5.x86_64 10/176 Installing : glibc-common-2.17-260.el7_6.4.x86_64 11/176 Installing : bash-4.2.46-31.el7.x86_64 12/176 Installing : ncurses-5.9-14.20130511.el7_4.x86_64 13/176 Installing : setup-2.8.71-10.el7.noarch 14/176 warning: /etc/hosts created as /etc/hosts.rpmnew Installing : filesystem-3.2-25.el7.x86_64 15/176 Installing : basesystem-10.0-7.el7.centos.noarch 16/176 Installing : glibc-2.17-260.el7_6.4.x86_64 17/176 Installing : zlib-1.2.7-18.el7.x86_64 18/176 Installing : nspr-4.19.0-1.el7_5.x86_64 19/176 Installing : nss-util-3.36.0-1.1.el7_6.x86_64 20/176 Installing : libstdc++-4.8.5-36.el7_6.1.x86_64 21/176 Installing : ncurses-libs-5.9-14.20130511.el7_4.x86_64 22/176 Installing : info-5.1-5.el7.x86_64 23/176 Installing : 1:gmp-6.0.0-15.el7.x86_64 24/176 Installing : popt-1.13-16.el7.x86_64 25/176 Installing : libattr-2.4.46-13.el7.x86_64 26/176 Installing : libacl-2.2.51-14.el7.x86_64 27/176 Installing : libcap-2.22-9.el7.x86_64 28/176 Installing : libffi-3.0.13-18.el7.x86_64 29/176 Installing : libsepol-2.5-10.el7.x86_64 30/176 Installing : libcom_err-1.42.9-13.el7.x86_64 31/176 Installing : gawk-4.0.2-4.el7_3.1.x86_64 32/176 Installing : pcre-8.32-17.el7.x86_64 33/176 Installing : libselinux-2.5-14.1.el7.x86_64 34/176 Installing : sed-4.2.2-5.el7.x86_64 35/176 Installing : grep-2.20-3.el7.x86_64 36/176 Installing : p11-kit-0.23.5-3.el7.x86_64 37/176 Installing : libverto-0.2.5-4.el7.x86_64 38/176 Installing : libtasn1-4.10-1.el7.x86_64 39/176 Installing : p11-kit-trust-0.23.5-3.el7.x86_64 40/176 Installing : ca-certificates-2018.2.22-70.0.el7_5.noarch 41/176 Installing : keyutils-libs-1.5.8-3.el7.x86_64 42/176 Installing : krb5-libs-1.15.1-37.el7_6.x86_64 43/176 Installing : 1:openssl-libs-1.0.2k-16.el7_6.1.x86_64 44/176 Installing : coreutils-8.22-23.el7.x86_64 45/176 Installing : centos-release-7-6.1810.2.el7.centos.x86_64 46/176 Installing : bzip2-libs-1.0.6-13.el7.x86_64 47/176 Installing : xz-libs-5.2.2-1.el7.x86_64 48/176 Installing : elfutils-libelf-0.172-2.el7.x86_64 49/176 Installing : libdb-5.3.21-24.el7.x86_64 50/176 Installing : readline-6.2-10.el7.x86_64 51/176 Installing : libgpg-error-1.12-3.el7.x86_64 52/176 Installing : libgcrypt-1.5.3-14.el7.x86_64 53/176 Installing : lua-5.1.4-15.el7.x86_64 54/176 Installing : gzip-1.5-10.el7.x86_64 55/176 Installing : mpfr-3.1.1-4.el7.x86_64 56/176 Installing : libuuid-2.23.2-59.el7_6.1.x86_64 57/176 Installing : libblkid-2.23.2-59.el7_6.1.x86_64 58/176 Installing : libmount-2.23.2-59.el7_6.1.x86_64 59/176 Installing : libmpc-1.0.1-3.el7.x86_64 60/176 Installing : cracklib-2.9.0-11.el7.x86_64 61/176 Installing : xz-5.2.2-1.el7.x86_64 62/176 Installing : binutils-2.27-34.base.el7.x86_64 63/176 Installing : 1:findutils-4.5.11-6.el7.x86_64 64/176 Installing : cpio-2.11-27.el7.x86_64 65/176 Installing : diffutils-3.3-4.el7.x86_64 66/176 Installing : file-libs-5.11-35.el7.x86_64 67/176 Installing : expat-2.1.0-10.el7_3.x86_64 68/176 Installing : libcap-ng-0.7.5-4.el7.x86_64 69/176 Installing : audit-libs-2.8.4-4.el7.x86_64 70/176 Installing : cracklib-dicts-2.9.0-11.el7.x86_64 71/176 Installing : libpwquality-1.2.3-5.el7.x86_64 72/176 Installing : pam-1.1.8-22.el7.x86_64 73/176 Installing : sqlite-3.7.17-8.el7.x86_64 74/176 Installing : nss-softokn-3.36.0-5.el7_5.x86_64 75/176 Installing : nss-sysinit-3.36.0-7.1.el7_6.x86_64 76/176 Installing : nss-3.36.0-7.1.el7_6.x86_64 77/176 Installing : nss-pem-1.0.3-5.el7_6.1.x86_64 78/176 Installing : 2:tar-1.26-35.el7.x86_64 79/176 Installing : lz4-1.7.5-2.el7.x86_64 80/176 Installing : gdbm-1.10-8.el7.x86_64 81/176 Installing : python-libs-2.7.5-77.el7_6.x86_64 82/176 Installing : gdb-7.6.1-114.el7.x86_64 83/176 Installing : nss-tools-3.36.0-7.1.el7_6.x86_64 84/176 Installing : file-5.11-35.el7.x86_64 85/176 Installing : cpp-4.8.5-36.el7_6.1.x86_64 86/176 Installing : libassuan-2.1.0-3.el7.x86_64 87/176 Installing : libdb-utils-5.3.21-24.el7.x86_64 88/176 Installing : cyrus-sasl-lib-2.1.26-23.el7.x86_64 89/176 Installing : dwz-0.11-3.el7.x86_64 90/176 Installing : libxml2-2.9.1-6.el7_2.3.x86_64 91/176 Installing : glib2-2.56.1-2.el7.x86_64 92/176 Installing : shared-mime-info-1.8-4.el7.x86_64 93/176 Installing : 1:pkgconfig-0.27.1-4.el7.x86_64 94/176 Installing : kmod-libs-20-23.el7.x86_64 95/176 Installing : bzip2-1.0.6-13.el7.x86_64 96/176 Installing : unzip-6.0-19.el7.x86_64 97/176 Installing : zip-3.0-11.el7.x86_64 98/176 Installing : libssh2-1.4.3-12.el7_6.2.x86_64 99/176 Installing : groff-base-1.22.2-8.el7.x86_64 100/176 Installing : 1:perl-parent-0.225-244.el7.noarch 101/176 Installing : perl-HTTP-Tiny-0.033-3.el7.noarch 102/176 Installing : perl-podlators-2.5.1-3.el7.noarch 103/176 Installing : perl-Pod-Perldoc-3.20-4.el7.noarch 104/176 Installing : 1:perl-Pod-Escapes-1.04-294.el7_6.noarch 105/176 Installing : perl-Text-ParseWords-3.29-4.el7.noarch 106/176 Installing : perl-Encode-2.51-7.el7.x86_64 107/176 Installing : perl-Pod-Usage-1.63-3.el7.noarch 108/176 Installing : 4:perl-libs-5.16.3-294.el7_6.x86_64 109/176 Installing : perl-Socket-2.010-4.el7.x86_64 110/176 Installing : 4:perl-Time-HiRes-1.9725-3.el7.x86_64 111/176 Installing : perl-threads-1.87-4.el7.x86_64 112/176 Installing : perl-Storable-2.45-3.el7.x86_64 113/176 Installing : perl-Carp-1.26-244.el7.noarch 114/176 Installing : perl-Filter-1.49-3.el7.x86_64 115/176 Installing : perl-Exporter-5.68-3.el7.noarch 116/176 Installing : perl-constant-1.27-2.el7.noarch 117/176 Installing : perl-Time-Local-1.2300-2.el7.noarch 118/176 Installing : 4:perl-macros-5.16.3-294.el7_6.x86_64 119/176 Installing : perl-threads-shared-1.43-6.el7.x86_64 120/176 Installing : perl-File-Temp-0.23.01-3.el7.noarch 121/176 Installing : perl-File-Path-2.09-2.el7.noarch 122/176 Installing : perl-PathTools-3.40-5.el7.x86_64 123/176 Installing : perl-Scalar-List-Utils-1.27-248.el7.x86_64 124/176 Installing : 1:perl-Pod-Simple-3.28-4.el7.noarch 125/176 Installing : perl-Getopt-Long-2.40-3.el7.noarch 126/176 Installing : 4:perl-5.16.3-294.el7_6.x86_64 127/176 Installing : perl-Thread-Queue-3.02-2.el7.noarch 128/176 Installing : patch-2.7.1-10.el7_5.x86_64 129/176 Installing : acl-2.2.51-14.el7.x86_64 130/176 Installing : libgomp-4.8.5-36.el7_6.1.x86_64 131/176 Installing : libidn-1.28-4.el7.x86_64 132/176 Installing : libcurl-7.29.0-51.el7.x86_64 133/176 Installing : curl-7.29.0-51.el7.x86_64 134/176 Installing : rpm-libs-4.11.3-35.el7.x86_64 135/176 Installing : rpm-4.11.3-35.el7.x86_64 136/176 Installing : openldap-2.4.44-21.el7_6.x86_64 137/176 Installing : libuser-0.60-9.el7.x86_64 138/176 Installing : redhat-rpm-config-9.1.0-87.el7.centos.noarch 139/176 Installing : pinentry-0.8.1-17.el7.x86_64 140/176 Installing : libstdc++-devel-4.8.5-36.el7_6.1.x86_64 141/176 Installing : ustr-1.0.4-16.el7.x86_64 142/176 Installing : libsemanage-2.5-14.el7.x86_64 143/176 Installing : 2:shadow-utils-4.1.5.1-25.el7_6.1.x86_64 144/176 Installing : libutempter-1.1.6-4.el7.x86_64 145/176 Installing : glibc-headers-2.17-260.el7_6.4.x86_64 146/176 Installing : glibc-devel-2.17-260.el7_6.4.x86_64 147/176 Installing : gcc-4.8.5-36.el7_6.1.x86_64 148/176 Installing : qrencode-libs-3.4.1-3.el7.x86_64 149/176 Installing : libsmartcols-2.23.2-59.el7_6.1.x86_64 150/176 Installing : 1:hardlink-1.0-19.el7.x86_64 151/176 Installing : json-c-0.11-4.el7_0.x86_64 152/176 Installing : procps-ng-3.3.10-23.el7.x86_64 153/176 Installing : kpartx-0.4.9-123.el7.x86_64 154/176 Installing : 7:device-mapper-1.02.149-10.el7_6.3.x86_64 155/176 Installing : util-linux-2.23.2-59.el7_6.1.x86_64 156/176 Installing : dracut-033-554.el7.x86_64 157/176 Installing : kmod-20-23.el7.x86_64 158/176 Installing : 7:device-mapper-libs-1.02.149-10.el7_6.3.x86_64 159/176 Installing : cryptsetup-libs-2.0.3-3.el7.x86_64 160/176 Installing : elfutils-libs-0.172-2.el7.x86_64 161/176 Installing : systemd-libs-219-62.el7_6.5.x86_64 162/176 Installing : 1:dbus-libs-1.10.24-13.el7_6.x86_64 163/176 Installing : systemd-219-62.el7_6.5.x86_64 164/176 Running in chroot, ignoring request. Installing : elfutils-default-yama-scope-0.172-2.el7.noarch 165/176 Installing : 1:dbus-1.10.24-13.el7_6.x86_64 166/176 Installing : elfutils-0.172-2.el7.x86_64 167/176 Installing : pth-2.0.7-23.el7.x86_64 168/176 Installing : gnupg2-2.0.22-5.el7_5.x86_64 169/176 Installing : rpm-build-libs-4.11.3-35.el7.x86_64 170/176 Installing : rpm-build-4.11.3-35.el7.x86_64 171/176 Installing : gcc-c++-4.8.5-36.el7_6.1.x86_64 172/176 Installing : epel-release-7-11.noarch 173/176 Installing : epel-rpm-macros-7-19.noarch 174/176 Installing : which-2.20-7.el7.x86_64 175/176 Installing : 1:make-3.82-23.el7.x86_64 176/176 Verifying : perl-HTTP-Tiny-0.033-3.el7.noarch 1/176 Verifying : python-rpm-macros-3-23.el7.noarch 2/176 Verifying : nss-pem-1.0.3-5.el7_6.1.x86_64 3/176 Verifying : rpm-build-4.11.3-35.el7.x86_64 4/176 Verifying : 1:pkgconfig-0.27.1-4.el7.x86_64 5/176 Verifying : libblkid-2.23.2-59.el7_6.1.x86_64 6/176 Verifying : libgomp-4.8.5-36.el7_6.1.x86_64 7/176 Verifying : nss-sysinit-3.36.0-7.1.el7_6.x86_64 8/176 Verifying : pcre-8.32-17.el7.x86_64 9/176 Verifying : libcurl-7.29.0-51.el7.x86_64 10/176 Verifying : acl-2.2.51-14.el7.x86_64 11/176 Verifying : cpp-4.8.5-36.el7_6.1.x86_64 12/176 Verifying : cryptsetup-libs-2.0.3-3.el7.x86_64 13/176 Verifying : epel-release-7-11.noarch 14/176 Verifying : 7:device-mapper-libs-1.02.149-10.el7_6.3.x86_64 15/176 Verifying : which-2.20-7.el7.x86_64 16/176 Verifying : groff-base-1.22.2-8.el7.x86_64 17/176 Verifying : file-libs-5.11-35.el7.x86_64 18/176 Verifying : perl-File-Temp-0.23.01-3.el7.noarch 19/176 Verifying : libssh2-1.4.3-12.el7_6.2.x86_64 20/176 Verifying : gdb-7.6.1-114.el7.x86_64 21/176 Verifying : redhat-rpm-config-9.1.0-87.el7.centos.noarch 22/176 Verifying : perl-Socket-2.010-4.el7.x86_64 23/176 Verifying : file-5.11-35.el7.x86_64 24/176 Verifying : libsemanage-2.5-14.el7.x86_64 25/176 Verifying : 1:make-3.82-23.el7.x86_64 26/176 Verifying : gcc-4.8.5-36.el7_6.1.x86_64 27/176 Verifying : cracklib-dicts-2.9.0-11.el7.x86_64 28/176 Verifying : perl-File-Path-2.09-2.el7.noarch 29/176 Verifying : libffi-3.0.13-18.el7.x86_64 30/176 Verifying : libassuan-2.1.0-3.el7.x86_64 31/176 Verifying : readline-6.2-10.el7.x86_64 32/176 Verifying : perl-Text-ParseWords-3.29-4.el7.noarch 33/176 Verifying : chkconfig-1.7.4-1.el7.x86_64 34/176 Verifying : ustr-1.0.4-16.el7.x86_64 35/176 Verifying : lua-5.1.4-15.el7.x86_64 36/176 Verifying : libxml2-2.9.1-6.el7_2.3.x86_64 37/176 Verifying : setup-2.8.71-10.el7.noarch 38/176 Verifying : libutempter-1.1.6-4.el7.x86_64 39/176 Verifying : libidn-1.28-4.el7.x86_64 40/176 Verifying : nss-tools-3.36.0-7.1.el7_6.x86_64 41/176 Verifying : nspr-4.19.0-1.el7_5.x86_64 42/176 Verifying : 4:perl-Time-HiRes-1.9725-3.el7.x86_64 43/176 Verifying : ncurses-libs-5.9-14.20130511.el7_4.x86_64 44/176 Verifying : bash-4.2.46-31.el7.x86_64 45/176 Verifying : rpm-libs-4.11.3-35.el7.x86_64 46/176 Verifying : libstdc++-devel-4.8.5-36.el7_6.1.x86_64 47/176 Verifying : libmount-2.23.2-59.el7_6.1.x86_64 48/176 Verifying : bzip2-1.0.6-13.el7.x86_64 49/176 Verifying : glibc-headers-2.17-260.el7_6.4.x86_64 50/176 Verifying : krb5-libs-1.15.1-37.el7_6.x86_64 51/176 Verifying : basesystem-10.0-7.el7.centos.noarch 52/176 Verifying : 4:perl-libs-5.16.3-294.el7_6.x86_64 53/176 Verifying : 2:shadow-utils-4.1.5.1-25.el7_6.1.x86_64 54/176 Verifying : libverto-0.2.5-4.el7.x86_64 55/176 Verifying : systemd-libs-219-62.el7_6.5.x86_64 56/176 Verifying : tzdata-2019a-1.el7.noarch 57/176 Verifying : info-5.1-5.el7.x86_64 58/176 Verifying : coreutils-8.22-23.el7.x86_64 59/176 Verifying : rpm-build-libs-4.11.3-35.el7.x86_64 60/176 Verifying : nss-3.36.0-7.1.el7_6.x86_64 61/176 Verifying : elfutils-libelf-0.172-2.el7.x86_64 62/176 Verifying : bzip2-libs-1.0.6-13.el7.x86_64 63/176 Verifying : lz4-1.7.5-2.el7.x86_64 64/176 Verifying : libsepol-2.5-10.el7.x86_64 65/176 Verifying : libmpc-1.0.1-3.el7.x86_64 66/176 Verifying : libgcc-4.8.5-36.el7_6.1.x86_64 67/176 Verifying : elfutils-libs-0.172-2.el7.x86_64 68/176 Verifying : perl-Pod-Usage-1.63-3.el7.noarch 69/176 Verifying : perl-Encode-2.51-7.el7.x86_64 70/176 Verifying : nss-softokn-3.36.0-5.el7_5.x86_64 71/176 Verifying : ca-certificates-2018.2.22-70.0.el7_5.noarch 72/176 Verifying : sqlite-3.7.17-8.el7.x86_64 73/176 Verifying : libuser-0.60-9.el7.x86_64 74/176 Verifying : libtasn1-4.10-1.el7.x86_64 75/176 Verifying : perl-threads-1.87-4.el7.x86_64 76/176 Verifying : elfutils-0.172-2.el7.x86_64 77/176 Verifying : cracklib-2.9.0-11.el7.x86_64 78/176 Verifying : libgpg-error-1.12-3.el7.x86_64 79/176 Verifying : perl-Getopt-Long-2.40-3.el7.noarch 80/176 Verifying : centos-release-7-6.1810.2.el7.centos.x86_64 81/176 Verifying : libcom_err-1.42.9-13.el7.x86_64 82/176 Verifying : python-libs-2.7.5-77.el7_6.x86_64 83/176 Verifying : openldap-2.4.44-21.el7_6.x86_64 84/176 Verifying : libselinux-2.5-14.1.el7.x86_64 85/176 Verifying : gnupg2-2.0.22-5.el7_5.x86_64 86/176 Verifying : popt-1.13-16.el7.x86_64 87/176 Verifying : gzip-1.5-10.el7.x86_64 88/176 Verifying : libdb-utils-5.3.21-24.el7.x86_64 89/176 Verifying : p11-kit-0.23.5-3.el7.x86_64 90/176 Verifying : perl-threads-shared-1.43-6.el7.x86_64 91/176 Verifying : perl-Storable-2.45-3.el7.x86_64 92/176 Verifying : 1:perl-Pod-Escapes-1.04-294.el7_6.noarch 93/176 Verifying : zlib-1.2.7-18.el7.x86_64 94/176 Verifying : dracut-033-554.el7.x86_64 95/176 Verifying : cpio-2.11-27.el7.x86_64 96/176 Verifying : libattr-2.4.46-13.el7.x86_64 97/176 Verifying : unzip-6.0-19.el7.x86_64 98/176 Verifying : gawk-4.0.2-4.el7_3.1.x86_64 99/176 Verifying : 1:perl-parent-0.225-244.el7.noarch 100/176 Verifying : glib2-2.56.1-2.el7.x86_64 101/176 Verifying : perl-srpm-macros-1-8.el7.noarch 102/176 Verifying : rpm-4.11.3-35.el7.x86_64 103/176 Verifying : qrencode-libs-3.4.1-3.el7.x86_64 104/176 Verifying : binutils-2.27-34.base.el7.x86_64 105/176 Verifying : kernel-headers-3.10.0-957.10.1.el7.x86_64 106/176 Verifying : grep-2.20-3.el7.x86_64 107/176 Verifying : 4:perl-5.16.3-294.el7_6.x86_64 108/176 Verifying : libdb-5.3.21-24.el7.x86_64 109/176 Verifying : systemd-219-62.el7_6.5.x86_64 110/176 Verifying : filesystem-3.2-25.el7.x86_64 111/176 Verifying : perl-Carp-1.26-244.el7.noarch 112/176 Verifying : kmod-20-23.el7.x86_64 113/176 Verifying : 1:dbus-libs-1.10.24-13.el7_6.x86_64 114/176 Verifying : elfutils-default-yama-scope-0.172-2.el7.noarch 115/176 Verifying : gdbm-1.10-8.el7.x86_64 116/176 Verifying : patch-2.7.1-10.el7_5.x86_64 117/176 Verifying : libsmartcols-2.23.2-59.el7_6.1.x86_64 118/176 Verifying : xz-libs-5.2.2-1.el7.x86_64 119/176 Verifying : 1:findutils-4.5.11-6.el7.x86_64 120/176 Verifying : libuuid-2.23.2-59.el7_6.1.x86_64 121/176 Verifying : glibc-devel-2.17-260.el7_6.4.x86_64 122/176 Verifying : pam-1.1.8-22.el7.x86_64 123/176 Verifying : nss-softokn-freebl-3.36.0-5.el7_5.x86_64 124/176 Verifying : glibc-common-2.17-260.el7_6.4.x86_64 125/176 Verifying : mpfr-3.1.1-4.el7.x86_64 126/176 Verifying : perl-Filter-1.49-3.el7.x86_64 127/176 Verifying : dwz-0.11-3.el7.x86_64 128/176 Verifying : ncurses-5.9-14.20130511.el7_4.x86_64 129/176 Verifying : 7:device-mapper-1.02.149-10.el7_6.3.x86_64 130/176 Verifying : ncurses-base-5.9-14.20130511.el7_4.noarch 131/176 Verifying : expat-2.1.0-10.el7_3.x86_64 132/176 Verifying : kpartx-0.4.9-123.el7.x86_64 133/176 Verifying : glibc-2.17-260.el7_6.4.x86_64 134/176 Verifying : epel-rpm-macros-7-19.noarch 135/176 Verifying : python2-rpm-macros-3-23.el7.noarch 136/176 Verifying : 2:tar-1.26-35.el7.x86_64 137/176 Verifying : perl-Exporter-5.68-3.el7.noarch 138/176 Verifying : perl-constant-1.27-2.el7.noarch 139/176 Verifying : perl-PathTools-3.40-5.el7.x86_64 140/176 Verifying : util-linux-2.23.2-59.el7_6.1.x86_64 141/176 Verifying : keyutils-libs-1.5.8-3.el7.x86_64 142/176 Verifying : pinentry-0.8.1-17.el7.x86_64 143/176 Verifying : 1:hardlink-1.0-19.el7.x86_64 144/176 Verifying : python-srpm-macros-3-23.el7.noarch 145/176 Verifying : procps-ng-3.3.10-23.el7.x86_64 146/176 Verifying : nss-util-3.36.0-1.1.el7_6.x86_64 147/176 Verifying : audit-libs-2.8.4-4.el7.x86_64 148/176 Verifying : kmod-libs-20-23.el7.x86_64 149/176 Verifying : perl-Thread-Queue-3.02-2.el7.noarch 150/176 Verifying : 1:perl-Pod-Simple-3.28-4.el7.noarch 151/176 Verifying : perl-Time-Local-1.2300-2.el7.noarch 152/176 Verifying : perl-Pod-Perldoc-3.20-4.el7.noarch 153/176 Verifying : 4:perl-macros-5.16.3-294.el7_6.x86_64 154/176 Verifying : json-c-0.11-4.el7_0.x86_64 155/176 Verifying : libstdc++-4.8.5-36.el7_6.1.x86_64 156/176 Verifying : libcap-2.22-9.el7.x86_64 157/176 Verifying : xz-5.2.2-1.el7.x86_64 158/176 Verifying : libcap-ng-0.7.5-4.el7.x86_64 159/176 Verifying : 1:gmp-6.0.0-15.el7.x86_64 160/176 Verifying : libacl-2.2.51-14.el7.x86_64 161/176 Verifying : perl-Scalar-List-Utils-1.27-248.el7.x86_64 162/176 Verifying : p11-kit-trust-0.23.5-3.el7.x86_64 163/176 Verifying : 1:dbus-1.10.24-13.el7_6.x86_64 164/176 Verifying : libgcrypt-1.5.3-14.el7.x86_64 165/176 Verifying : sed-4.2.2-5.el7.x86_64 166/176 Verifying : perl-podlators-2.5.1-3.el7.noarch 167/176 Verifying : shared-mime-info-1.8-4.el7.x86_64 168/176 Verifying : zip-3.0-11.el7.x86_64 169/176 Verifying : curl-7.29.0-51.el7.x86_64 170/176 Verifying : gcc-c++-4.8.5-36.el7_6.1.x86_64 171/176 Verifying : libpwquality-1.2.3-5.el7.x86_64 172/176 Verifying : cyrus-sasl-lib-2.1.26-23.el7.x86_64 173/176 Verifying : 1:openssl-libs-1.0.2k-16.el7_6.1.x86_64 174/176 Verifying : diffutils-3.3-4.el7.x86_64 175/176 Verifying : pth-2.0.7-23.el7.x86_64 176/176 Installed: bash.x86_64 0:4.2.46-31.el7 bzip2.x86_64 0:1.0.6-13.el7 coreutils.x86_64 0:8.22-23.el7 cpio.x86_64 0:2.11-27.el7 diffutils.x86_64 0:3.3-4.el7 epel-release.noarch 0:7-11 epel-rpm-macros.noarch 0:7-19 findutils.x86_64 1:4.5.11-6.el7 gawk.x86_64 0:4.0.2-4.el7_3.1 gcc.x86_64 0:4.8.5-36.el7_6.1 gcc-c++.x86_64 0:4.8.5-36.el7_6.1 grep.x86_64 0:2.20-3.el7 gzip.x86_64 0:1.5-10.el7 info.x86_64 0:5.1-5.el7 make.x86_64 1:3.82-23.el7 patch.x86_64 0:2.7.1-10.el7_5 redhat-rpm-config.noarch 0:9.1.0-87.el7.centos rpm-build.x86_64 0:4.11.3-35.el7 sed.x86_64 0:4.2.2-5.el7 shadow-utils.x86_64 2:4.1.5.1-25.el7_6.1 tar.x86_64 2:1.26-35.el7 unzip.x86_64 0:6.0-19.el7 util-linux.x86_64 0:2.23.2-59.el7_6.1 which.x86_64 0:2.20-7.el7 xz.x86_64 0:5.2.2-1.el7 Dependency Installed: acl.x86_64 0:2.2.51-14.el7 audit-libs.x86_64 0:2.8.4-4.el7 basesystem.noarch 0:10.0-7.el7.centos binutils.x86_64 0:2.27-34.base.el7 bzip2-libs.x86_64 0:1.0.6-13.el7 ca-certificates.noarch 0:2018.2.22-70.0.el7_5 centos-release.x86_64 0:7-6.1810.2.el7.centos chkconfig.x86_64 0:1.7.4-1.el7 cpp.x86_64 0:4.8.5-36.el7_6.1 cracklib.x86_64 0:2.9.0-11.el7 cracklib-dicts.x86_64 0:2.9.0-11.el7 cryptsetup-libs.x86_64 0:2.0.3-3.el7 curl.x86_64 0:7.29.0-51.el7 cyrus-sasl-lib.x86_64 0:2.1.26-23.el7 dbus.x86_64 1:1.10.24-13.el7_6 dbus-libs.x86_64 1:1.10.24-13.el7_6 device-mapper.x86_64 7:1.02.149-10.el7_6.3 device-mapper-libs.x86_64 7:1.02.149-10.el7_6.3 dracut.x86_64 0:033-554.el7 dwz.x86_64 0:0.11-3.el7 elfutils.x86_64 0:0.172-2.el7 elfutils-default-yama-scope.noarch 0:0.172-2.el7 elfutils-libelf.x86_64 0:0.172-2.el7 elfutils-libs.x86_64 0:0.172-2.el7 expat.x86_64 0:2.1.0-10.el7_3 file.x86_64 0:5.11-35.el7 file-libs.x86_64 0:5.11-35.el7 filesystem.x86_64 0:3.2-25.el7 gdb.x86_64 0:7.6.1-114.el7 gdbm.x86_64 0:1.10-8.el7 glib2.x86_64 0:2.56.1-2.el7 glibc.x86_64 0:2.17-260.el7_6.4 glibc-common.x86_64 0:2.17-260.el7_6.4 glibc-devel.x86_64 0:2.17-260.el7_6.4 glibc-headers.x86_64 0:2.17-260.el7_6.4 gmp.x86_64 1:6.0.0-15.el7 gnupg2.x86_64 0:2.0.22-5.el7_5 groff-base.x86_64 0:1.22.2-8.el7 hardlink.x86_64 1:1.0-19.el7 json-c.x86_64 0:0.11-4.el7_0 kernel-headers.x86_64 0:3.10.0-957.10.1.el7 keyutils-libs.x86_64 0:1.5.8-3.el7 kmod.x86_64 0:20-23.el7 kmod-libs.x86_64 0:20-23.el7 kpartx.x86_64 0:0.4.9-123.el7 krb5-libs.x86_64 0:1.15.1-37.el7_6 libacl.x86_64 0:2.2.51-14.el7 libassuan.x86_64 0:2.1.0-3.el7 libattr.x86_64 0:2.4.46-13.el7 libblkid.x86_64 0:2.23.2-59.el7_6.1 libcap.x86_64 0:2.22-9.el7 libcap-ng.x86_64 0:0.7.5-4.el7 libcom_err.x86_64 0:1.42.9-13.el7 libcurl.x86_64 0:7.29.0-51.el7 libdb.x86_64 0:5.3.21-24.el7 libdb-utils.x86_64 0:5.3.21-24.el7 libffi.x86_64 0:3.0.13-18.el7 libgcc.x86_64 0:4.8.5-36.el7_6.1 libgcrypt.x86_64 0:1.5.3-14.el7 libgomp.x86_64 0:4.8.5-36.el7_6.1 libgpg-error.x86_64 0:1.12-3.el7 libidn.x86_64 0:1.28-4.el7 libmount.x86_64 0:2.23.2-59.el7_6.1 libmpc.x86_64 0:1.0.1-3.el7 libpwquality.x86_64 0:1.2.3-5.el7 libselinux.x86_64 0:2.5-14.1.el7 libsemanage.x86_64 0:2.5-14.el7 libsepol.x86_64 0:2.5-10.el7 libsmartcols.x86_64 0:2.23.2-59.el7_6.1 libssh2.x86_64 0:1.4.3-12.el7_6.2 libstdc++.x86_64 0:4.8.5-36.el7_6.1 libstdc++-devel.x86_64 0:4.8.5-36.el7_6.1 libtasn1.x86_64 0:4.10-1.el7 libuser.x86_64 0:0.60-9.el7 libutempter.x86_64 0:1.1.6-4.el7 libuuid.x86_64 0:2.23.2-59.el7_6.1 libverto.x86_64 0:0.2.5-4.el7 libxml2.x86_64 0:2.9.1-6.el7_2.3 lua.x86_64 0:5.1.4-15.el7 lz4.x86_64 0:1.7.5-2.el7 mpfr.x86_64 0:3.1.1-4.el7 ncurses.x86_64 0:5.9-14.20130511.el7_4 ncurses-base.noarch 0:5.9-14.20130511.el7_4 ncurses-libs.x86_64 0:5.9-14.20130511.el7_4 nspr.x86_64 0:4.19.0-1.el7_5 nss.x86_64 0:3.36.0-7.1.el7_6 nss-pem.x86_64 0:1.0.3-5.el7_6.1 nss-softokn.x86_64 0:3.36.0-5.el7_5 nss-softokn-freebl.x86_64 0:3.36.0-5.el7_5 nss-sysinit.x86_64 0:3.36.0-7.1.el7_6 nss-tools.x86_64 0:3.36.0-7.1.el7_6 nss-util.x86_64 0:3.36.0-1.1.el7_6 openldap.x86_64 0:2.4.44-21.el7_6 openssl-libs.x86_64 1:1.0.2k-16.el7_6.1 p11-kit.x86_64 0:0.23.5-3.el7 p11-kit-trust.x86_64 0:0.23.5-3.el7 pam.x86_64 0:1.1.8-22.el7 pcre.x86_64 0:8.32-17.el7 perl.x86_64 4:5.16.3-294.el7_6 perl-Carp.noarch 0:1.26-244.el7 perl-Encode.x86_64 0:2.51-7.el7 perl-Exporter.noarch 0:5.68-3.el7 perl-File-Path.noarch 0:2.09-2.el7 perl-File-Temp.noarch 0:0.23.01-3.el7 perl-Filter.x86_64 0:1.49-3.el7 perl-Getopt-Long.noarch 0:2.40-3.el7 perl-HTTP-Tiny.noarch 0:0.033-3.el7 perl-PathTools.x86_64 0:3.40-5.el7 perl-Pod-Escapes.noarch 1:1.04-294.el7_6 perl-Pod-Perldoc.noarch 0:3.20-4.el7 perl-Pod-Simple.noarch 1:3.28-4.el7 perl-Pod-Usage.noarch 0:1.63-3.el7 perl-Scalar-List-Utils.x86_64 0:1.27-248.el7 perl-Socket.x86_64 0:2.010-4.el7 perl-Storable.x86_64 0:2.45-3.el7 perl-Text-ParseWords.noarch 0:3.29-4.el7 perl-Thread-Queue.noarch 0:3.02-2.el7 perl-Time-HiRes.x86_64 4:1.9725-3.el7 perl-Time-Local.noarch 0:1.2300-2.el7 perl-constant.noarch 0:1.27-2.el7 perl-libs.x86_64 4:5.16.3-294.el7_6 perl-macros.x86_64 4:5.16.3-294.el7_6 perl-parent.noarch 1:0.225-244.el7 perl-podlators.noarch 0:2.5.1-3.el7 perl-srpm-macros.noarch 0:1-8.el7 perl-threads.x86_64 0:1.87-4.el7 perl-threads-shared.x86_64 0:1.43-6.el7 pinentry.x86_64 0:0.8.1-17.el7 pkgconfig.x86_64 1:0.27.1-4.el7 popt.x86_64 0:1.13-16.el7 procps-ng.x86_64 0:3.3.10-23.el7 pth.x86_64 0:2.0.7-23.el7 python-libs.x86_64 0:2.7.5-77.el7_6 python-rpm-macros.noarch 0:3-23.el7 python-srpm-macros.noarch 0:3-23.el7 python2-rpm-macros.noarch 0:3-23.el7 qrencode-libs.x86_64 0:3.4.1-3.el7 readline.x86_64 0:6.2-10.el7 rpm.x86_64 0:4.11.3-35.el7 rpm-build-libs.x86_64 0:4.11.3-35.el7 rpm-libs.x86_64 0:4.11.3-35.el7 setup.noarch 0:2.8.71-10.el7 shared-mime-info.x86_64 0:1.8-4.el7 sqlite.x86_64 0:3.7.17-8.el7 systemd.x86_64 0:219-62.el7_6.5 systemd-libs.x86_64 0:219-62.el7_6.5 tzdata.noarch 0:2019a-1.el7 ustr.x86_64 0:1.0.4-16.el7 xz-libs.x86_64 0:5.2.2-1.el7 zip.x86_64 0:3.0-11.el7 zlib.x86_64 0:1.2.7-18.el7 Complete! Finish: yum install Start: creating root cache Finish: creating root cache Finish: chroot init INFO: Installed packages: Start: buildsrpm Start: rpmbuild -bs sh: /usr/bin/python2: No such file or directory sh: /usr/bin/python2: No such file or directory Building target platforms: x86_64 Building for target x86_64 Wrote: /builddir/build/SRPMS/python-passlib-1.7.1-3.el7.src.rpm Finish: rpmbuild -bs Finish: buildsrpm INFO: Done(/tmp/tmpaordwb0_/python-passlib.spec) Config(child) 1 minutes 12 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.el7.src.rpm --configdir /var/lib/copr-rpmbuild/results/configs --resultdir /var/lib/copr-rpmbuild/results --uniqueext 1555921583.494582 -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.el7.src.rpm) Config(886269-epel-7-x86_64) Start: clean chroot Finish: clean chroot Start: chroot init INFO: mounting tmpfs at /var/lib/mock/886269-epel-7-x86_64-1555921583.494582/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: yum update Yum command has been deprecated, use dnf instead. See 'man dnf' and 'man yum2dnf' for more information. copr_base | 3.5 kB 00:00 base | 3.6 kB 00:00 epel | 4.7 kB 00:00 extras | 3.4 kB 00:00 sclo | 2.9 kB 00:00 sclo-rh | 3.0 kB 00:00 updates | 3.4 kB 00:00 (1/7): copr_base/primary_db | 5.4 kB 00:00 (2/7): epel/primary_db | 6.7 MB 00:00 (3/7): sclo/primary_db | 288 kB 00:00 (4/7): extras/primary_db | 188 kB 00:00 (5/7): sclo-rh/primary_db | 3.7 MB 00:00 (6/7): updates/primary_db | 3.4 MB 00:00 (7/7): base/primary_db | 6.0 MB 00:06 base/group_gz | 166 kB 00:00 epel/group_gz | 88 kB 00:00 No packages marked for update Finish: yum update Finish: chroot init Start: build phase for python-passlib-1.7.1-3.el7.src.rpm Start: build setup for python-passlib-1.7.1-3.el7.src.rpm sh: /usr/bin/python2: No such file or directory sh: /usr/bin/python2: No such file or directory Building target platforms: x86_64 Building for target x86_64 Wrote: /builddir/build/SRPMS/python-passlib-1.7.1-3.el7.src.rpm Yum-utils package has been deprecated, use dnf instead. See 'man yum2dnf' for more information. copr_base | 3.5 kB 00:00 Getting requirements for python-passlib-1.7.1-3.el7.src --> python-devel-2.7.5-77.el7_6.x86_64 --> python-nose-1.3.7-1.el7.noarch --> python-setuptools-0.9.8-7.el7.noarch --> python36-devel-3.6.6-5.el7.x86_64 --> python36-nose-1.3.7-4.el7.noarch --> python36-setuptools-39.2.0-3.el7.noarch --> Running transaction check ---> Package python-devel.x86_64 0:2.7.5-77.el7_6 will be installed --> Processing Dependency: python(x86-64) = 2.7.5-77.el7_6 for package: python-devel-2.7.5-77.el7_6.x86_64 --> Processing Dependency: /usr/bin/python2.7 for package: python-devel-2.7.5-77.el7_6.x86_64 ---> Package python-nose.noarch 0:1.3.7-1.el7 will be installed ---> Package python-setuptools.noarch 0:0.9.8-7.el7 will be installed --> Processing Dependency: python-backports-ssl_match_hostname for package: python-setuptools-0.9.8-7.el7.noarch ---> Package python36-devel.x86_64 0:3.6.6-5.el7 will be installed --> Processing Dependency: python(abi) = 3.6 for package: python36-devel-3.6.6-5.el7.x86_64 --> Processing Dependency: python36 = 3.6.6-5.el7 for package: python36-devel-3.6.6-5.el7.x86_64 --> Processing Dependency: python36-libs(x86-64) = 3.6.6-5.el7 for package: python36-devel-3.6.6-5.el7.x86_64 --> Processing Dependency: python3-rpm-macros for package: python36-devel-3.6.6-5.el7.x86_64 --> Processing Dependency: libpython3.6m.so.1.0()(64bit) for package: python36-devel-3.6.6-5.el7.x86_64 ---> Package python36-nose.noarch 0:1.3.7-4.el7 will be installed ---> Package python36-setuptools.noarch 0:39.2.0-3.el7 will be installed --> Running transaction check ---> Package python.x86_64 0:2.7.5-77.el7_6 will be installed ---> Package python-backports-ssl_match_hostname.noarch 0:3.5.0.1-1.el7 will be installed --> Processing Dependency: python-ipaddress for package: python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch --> Processing Dependency: python-backports for package: python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch ---> Package python3-rpm-macros.noarch 0:3-23.el7 will be installed ---> Package python36.x86_64 0:3.6.6-5.el7 will be installed ---> Package python36-libs.x86_64 0:3.6.6-5.el7 will be installed --> Running transaction check ---> Package python-backports.x86_64 0:1.0-8.el7 will be installed ---> Package python-ipaddress.noarch 0:1.0.16-2.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: python-devel x86_64 2.7.5-77.el7_6 updates 398 k python-nose noarch 1.3.7-1.el7 base 276 k python-setuptools noarch 0.9.8-7.el7 base 397 k python36-devel x86_64 3.6.6-5.el7 epel 850 k python36-nose noarch 1.3.7-4.el7 epel 301 k python36-setuptools noarch 39.2.0-3.el7 epel 631 k Installing for dependencies: python x86_64 2.7.5-77.el7_6 updates 94 k python-backports x86_64 1.0-8.el7 base 5.8 k python-backports-ssl_match_hostname noarch 3.5.0.1-1.el7 base 13 k python-ipaddress noarch 1.0.16-2.el7 base 34 k python3-rpm-macros noarch 3-23.el7 epel 6.8 k python36 x86_64 3.6.6-5.el7 epel 66 k python36-libs x86_64 3.6.6-5.el7 epel 8.5 M Transaction Summary ================================================================================ Install 6 Packages (+7 Dependent packages) Total download size: 12 M Installed size: 48 M Downloading packages: (1/13): python-backports-ssl_match_hostname-3.5.0.1-1.el7.n | 13 kB 00:00 (2/13): python-ipaddress-1.0.16-2.el7.noarch.rpm | 34 kB 00:00 (3/13): python-backports-1.0-8.el7.x86_64.rpm | 5.8 kB 00:00 (4/13): python3-rpm-macros-3-23.el7.noarch.rpm | 6.8 kB 00:00 (5/13): python36-3.6.6-5.el7.x86_64.rpm | 66 kB 00:00 (6/13): python36-devel-3.6.6-5.el7.x86_64.rpm | 850 kB 00:00 (7/13): python-nose-1.3.7-1.el7.noarch.rpm | 276 kB 00:00 (8/13): python-2.7.5-77.el7_6.x86_64.rpm | 94 kB 00:00 (9/13): python-setuptools-0.9.8-7.el7.noarch.rpm | 397 kB 00:00 (10/13): python36-libs-3.6.6-5.el7.x86_64.rpm | 8.5 MB 00:00 (11/13): python36-setuptools-39.2.0-3.el7.noarch.rpm | 631 kB 00:00 (12/13): python36-nose-1.3.7-4.el7.noarch.rpm | 301 kB 00:00 (13/13): python-devel-2.7.5-77.el7_6.x86_64.rpm | 398 kB 00:00 -------------------------------------------------------------------------------- Total 17 MB/s | 12 MB 00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : python-2.7.5-77.el7_6.x86_64 1/13 Installing : python36-3.6.6-5.el7.x86_64 2/13 Installing : python36-libs-3.6.6-5.el7.x86_64 3/13 Installing : python36-setuptools-39.2.0-3.el7.noarch 4/13 Installing : python-backports-1.0-8.el7.x86_64 5/13 Installing : python-ipaddress-1.0.16-2.el7.noarch 6/13 Installing : python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch 7/13 Installing : python-setuptools-0.9.8-7.el7.noarch 8/13 Installing : python3-rpm-macros-3-23.el7.noarch 9/13 Installing : python36-devel-3.6.6-5.el7.x86_64 10/13 Installing : python-nose-1.3.7-1.el7.noarch 11/13 Installing : python36-nose-1.3.7-4.el7.noarch 12/13 Installing : python-devel-2.7.5-77.el7_6.x86_64 13/13 Verifying : python36-devel-3.6.6-5.el7.x86_64 1/13 Verifying : python36-setuptools-39.2.0-3.el7.noarch 2/13 Verifying : python-backports-ssl_match_hostname-3.5.0.1-1.el7.noarch 3/13 Verifying : python36-libs-3.6.6-5.el7.x86_64 4/13 Verifying : python-backports-1.0-8.el7.x86_64 5/13 Verifying : python3-rpm-macros-3-23.el7.noarch 6/13 Verifying : python36-nose-1.3.7-4.el7.noarch 7/13 Verifying : python-2.7.5-77.el7_6.x86_64 8/13 Verifying : python-ipaddress-1.0.16-2.el7.noarch 9/13 Verifying : python-devel-2.7.5-77.el7_6.x86_64 10/13 Verifying : python-setuptools-0.9.8-7.el7.noarch 11/13 Verifying : python36-3.6.6-5.el7.x86_64 12/13 Verifying : python-nose-1.3.7-1.el7.noarch 13/13 Installed: python-devel.x86_64 0:2.7.5-77.el7_6 python-nose.noarch 0:1.3.7-1.el7 python-setuptools.noarch 0:0.9.8-7.el7 python36-devel.x86_64 0:3.6.6-5.el7 python36-nose.noarch 0:1.3.7-4.el7 python36-setuptools.noarch 0:39.2.0-3.el7 Dependency Installed: python.x86_64 0:2.7.5-77.el7_6 python-backports.x86_64 0:1.0-8.el7 python-backports-ssl_match_hostname.noarch 0:3.5.0.1-1.el7 python-ipaddress.noarch 0:1.0.16-2.el7 python3-rpm-macros.noarch 0:3-23.el7 python36.x86_64 0:3.6.6-5.el7 python36-libs.x86_64 0:3.6.6-5.el7 Complete! Finish: build setup for python-passlib-1.7.1-3.el7.src.rpm Start: rpmbuild python-passlib-1.7.1-3.el7.src.rpm Building target platforms: x86_64 Building for target x86_64 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.oFU90k + 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 -xf - + 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 + rm -fr passlib.egg-info + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.uoXT15 + umask 022 + cd /builddir/build/BUILD + cd passlib-1.7.1 + CFLAGS='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic' + /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 -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic' + /usr/bin/python3.6 setup.py build '--executable=/usr/bin/python3.6 -s' running build running build_py + sleep 1 + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.zwBByX + umask 022 + cd /builddir/build/BUILD + '[' /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64 '!=' / ']' + rm -rf /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64 ++ dirname /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64 + mkdir -p /builddir/build/BUILDROOT + mkdir /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64 + cd passlib-1.7.1 + export PASSLIB_SETUP_TAG_RELEASE=no + PASSLIB_SETUP_TAG_RELEASE=no + CFLAGS='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic' + /usr/bin/python2 setup.py install -O1 --skip-build --root /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64 running install running install_lib creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python2.7 creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python2.7/site-packages creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python2.7/site-packages/passlib creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python2.7/site-packages/passlib/_data creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.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.el7.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.el7.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.el7.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.el7.x86_64/usr/lib/python2.7/site-packages/passlib/_data/wordsets creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python2.7/site-packages/passlib/utils creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.x86_64/usr/lib/python2.7/site-packages/passlib/utils creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python2.7/site-packages/passlib/ext creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.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.el7.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.el7.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.el7.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.el7.x86_64/usr/lib/python2.7/site-packages/passlib/ext creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python2.7/site-packages/passlib/crypto creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.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.el7.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.el7.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.el7.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.el7.x86_64/usr/lib/python2.7/site-packages/passlib/crypto/_blowfish creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.x86_64/usr/lib/python2.7/site-packages/passlib/crypto creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.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.el7.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.el7.x86_64/usr/lib/python2.7/site-packages/passlib/_setup creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.x86_64/usr/lib/python2.7/site-packages/passlib/handlers creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.x86_64/usr/lib/python2.7/site-packages/passlib copying build/lib/passlib/ifc.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python2.7/site-packages/passlib copying build/lib/passlib/context.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python2.7/site-packages/passlib copying build/lib/passlib/hosts.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python2.7/site-packages/passlib copying build/lib/passlib/exc.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python2.7/site-packages/passlib copying build/lib/passlib/pwd.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python2.7/site-packages/passlib copying build/lib/passlib/hash.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python2.7/site-packages/passlib copying build/lib/passlib/registry.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python2.7/site-packages/passlib copying build/lib/passlib/apps.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python2.7/site-packages/passlib copying build/lib/passlib/totp.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python2.7/site-packages/passlib copying build/lib/passlib/apache.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python2.7/site-packages/passlib copying build/lib/passlib/win32.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python2.7/site-packages/passlib byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.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.el7.x86_64/usr/lib/python2.7/site-packages/passlib/win32.py to win32.pyc writing byte-compilation script '/tmp/tmp4o5jhX.py' /usr/bin/python2 -O /tmp/tmp4o5jhX.py removing /tmp/tmp4o5jhX.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.el7.x86_64/usr/lib/python2.7/site-packages/passlib-1.7.1-py2.7.egg-info running install_scripts + CFLAGS='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic' + /usr/bin/python3.6 setup.py install -O1 --skip-build --root /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64 running install running install_lib creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6 creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/_data creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/_data/wordsets copying build/lib/passlib/_data/wordsets/eff_short.txt -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/_data/wordsets copying build/lib/passlib/_data/wordsets/eff_prefixed.txt -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/_data/wordsets copying build/lib/passlib/_data/wordsets/bip39.txt -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/_data/wordsets copying build/lib/passlib/_data/wordsets/eff_long.txt -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/_data/wordsets creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/utils creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/utils/compat copying build/lib/passlib/utils/compat/__init__.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/utils/compat copying build/lib/passlib/utils/compat/_ordered_dict.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/utils/compat copying build/lib/passlib/utils/md4.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/utils copying build/lib/passlib/utils/__init__.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/utils copying build/lib/passlib/utils/handlers.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/utils copying build/lib/passlib/utils/decor.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/utils copying build/lib/passlib/utils/binary.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/utils copying build/lib/passlib/utils/pbkdf2.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/utils copying build/lib/passlib/utils/des.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/utils creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/ext creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/ext/django copying build/lib/passlib/ext/django/__init__.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/ext/django copying build/lib/passlib/ext/django/utils.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/ext/django copying build/lib/passlib/ext/django/models.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/ext/django copying build/lib/passlib/ext/__init__.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/ext creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/crypto creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/crypto/_blowfish copying build/lib/passlib/crypto/_blowfish/__init__.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/crypto/_blowfish copying build/lib/passlib/crypto/_blowfish/base.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/crypto/_blowfish copying build/lib/passlib/crypto/_blowfish/unrolled.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/crypto/_blowfish copying build/lib/passlib/crypto/_blowfish/_gen_files.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/crypto/_blowfish creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/crypto/scrypt copying build/lib/passlib/crypto/scrypt/__init__.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/crypto/scrypt copying build/lib/passlib/crypto/scrypt/_salsa.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/crypto/scrypt copying build/lib/passlib/crypto/scrypt/_builtin.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/crypto/scrypt copying build/lib/passlib/crypto/scrypt/_gen_files.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/crypto/scrypt copying build/lib/passlib/crypto/__init__.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/crypto copying build/lib/passlib/crypto/_md4.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/crypto copying build/lib/passlib/crypto/digest.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/crypto copying build/lib/passlib/crypto/des.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/crypto creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/_setup copying build/lib/passlib/_setup/__init__.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/_setup copying build/lib/passlib/_setup/stamp.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/_setup creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/handlers copying build/lib/passlib/handlers/fshp.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/handlers copying build/lib/passlib/handlers/__init__.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/handlers copying build/lib/passlib/handlers/ldap_digests.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/handlers copying build/lib/passlib/handlers/scrypt.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/handlers copying build/lib/passlib/handlers/oracle.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/handlers copying build/lib/passlib/handlers/scram.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/handlers copying build/lib/passlib/handlers/roundup.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/handlers copying build/lib/passlib/handlers/des_crypt.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/handlers copying build/lib/passlib/handlers/sha1_crypt.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/handlers copying build/lib/passlib/handlers/argon2.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/handlers copying build/lib/passlib/handlers/bcrypt.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/handlers copying build/lib/passlib/handlers/md5_crypt.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/handlers copying build/lib/passlib/handlers/sha2_crypt.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/handlers copying build/lib/passlib/handlers/mssql.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/handlers copying build/lib/passlib/handlers/digests.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/handlers copying build/lib/passlib/handlers/windows.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/handlers copying build/lib/passlib/handlers/postgres.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/handlers copying build/lib/passlib/handlers/django.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/handlers copying build/lib/passlib/handlers/pbkdf2.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/handlers copying build/lib/passlib/handlers/phpass.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/handlers copying build/lib/passlib/handlers/mysql.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/handlers copying build/lib/passlib/handlers/cisco.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/handlers copying build/lib/passlib/handlers/sun_md5_crypt.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/handlers copying build/lib/passlib/handlers/misc.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/handlers creating /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests copying build/lib/passlib/tests/sample1b.cfg -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests copying build/lib/passlib/tests/sample1.cfg -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests copying build/lib/passlib/tests/sample_config_1s.cfg -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests copying build/lib/passlib/tests/sample1c.cfg -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests copying build/lib/passlib/tests/__init__.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests copying build/lib/passlib/tests/test_handlers_scrypt.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests copying build/lib/passlib/tests/test_utils_handlers.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests copying build/lib/passlib/tests/test_utils_md4.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests copying build/lib/passlib/tests/test_pwd.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests copying build/lib/passlib/tests/test_crypto_digest.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests copying build/lib/passlib/tests/test_apache.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests copying build/lib/passlib/tests/test_utils.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests copying build/lib/passlib/tests/test_handlers_pbkdf2.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests copying build/lib/passlib/tests/test_apps.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests copying build/lib/passlib/tests/test_utils_pbkdf2.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests copying build/lib/passlib/tests/test_ext_django_source.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests copying build/lib/passlib/tests/test_totp.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests copying build/lib/passlib/tests/_test_bad_register.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests copying build/lib/passlib/tests/test_handlers_argon2.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests copying build/lib/passlib/tests/test_handlers_bcrypt.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests copying build/lib/passlib/tests/test_handlers_cisco.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests copying build/lib/passlib/tests/backports.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests copying build/lib/passlib/tests/test_handlers_django.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests copying build/lib/passlib/tests/utils.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests copying build/lib/passlib/tests/test_crypto_builtin_md4.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests copying build/lib/passlib/tests/test_hosts.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests copying build/lib/passlib/tests/tox_support.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests copying build/lib/passlib/tests/test_win32.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests copying build/lib/passlib/tests/test_ext_django.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests copying build/lib/passlib/tests/test_crypto_scrypt.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests copying build/lib/passlib/tests/test_registry.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests copying build/lib/passlib/tests/__main__.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests copying build/lib/passlib/tests/test_crypto_des.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests copying build/lib/passlib/tests/test_context_deprecated.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests copying build/lib/passlib/tests/test_context.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests copying build/lib/passlib/tests/test_handlers.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests copying build/lib/passlib/__init__.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib copying build/lib/passlib/ifc.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib copying build/lib/passlib/context.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib copying build/lib/passlib/hosts.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib copying build/lib/passlib/exc.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib copying build/lib/passlib/pwd.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib copying build/lib/passlib/hash.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib copying build/lib/passlib/registry.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib copying build/lib/passlib/apps.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib copying build/lib/passlib/totp.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib copying build/lib/passlib/apache.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib copying build/lib/passlib/win32.py -> /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/utils/compat/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/utils/compat/_ordered_dict.py to _ordered_dict.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/utils/md4.py to md4.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/utils/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/utils/handlers.py to handlers.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/utils/decor.py to decor.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/utils/binary.py to binary.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/utils/pbkdf2.py to pbkdf2.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/utils/des.py to des.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/ext/django/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/ext/django/utils.py to utils.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/ext/django/models.py to models.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/ext/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/crypto/_blowfish/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/crypto/_blowfish/base.py to base.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/crypto/_blowfish/unrolled.py to unrolled.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/crypto/_blowfish/_gen_files.py to _gen_files.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/crypto/scrypt/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/crypto/scrypt/_salsa.py to _salsa.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/crypto/scrypt/_builtin.py to _builtin.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/crypto/scrypt/_gen_files.py to _gen_files.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/crypto/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/crypto/_md4.py to _md4.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/crypto/digest.py to digest.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/crypto/des.py to des.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/_setup/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/_setup/stamp.py to stamp.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/handlers/fshp.py to fshp.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/handlers/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/handlers/ldap_digests.py to ldap_digests.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/handlers/scrypt.py to scrypt.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/handlers/oracle.py to oracle.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/handlers/scram.py to scram.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/handlers/roundup.py to roundup.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/handlers/des_crypt.py to des_crypt.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/handlers/sha1_crypt.py to sha1_crypt.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/handlers/argon2.py to argon2.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/handlers/bcrypt.py to bcrypt.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/handlers/md5_crypt.py to md5_crypt.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/handlers/sha2_crypt.py to sha2_crypt.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/handlers/mssql.py to mssql.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/handlers/digests.py to digests.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/handlers/windows.py to windows.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/handlers/postgres.py to postgres.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/handlers/django.py to django.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/handlers/pbkdf2.py to pbkdf2.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/handlers/phpass.py to phpass.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/handlers/mysql.py to mysql.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/handlers/cisco.py to cisco.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/handlers/sun_md5_crypt.py to sun_md5_crypt.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/handlers/misc.py to misc.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests/test_handlers_scrypt.py to test_handlers_scrypt.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests/test_utils_handlers.py to test_utils_handlers.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests/test_utils_md4.py to test_utils_md4.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests/test_pwd.py to test_pwd.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests/test_crypto_digest.py to test_crypto_digest.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests/test_apache.py to test_apache.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests/test_utils.py to test_utils.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests/test_handlers_pbkdf2.py to test_handlers_pbkdf2.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests/test_apps.py to test_apps.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests/test_utils_pbkdf2.py to test_utils_pbkdf2.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests/test_ext_django_source.py to test_ext_django_source.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests/test_totp.py to test_totp.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests/_test_bad_register.py to _test_bad_register.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests/test_handlers_argon2.py to test_handlers_argon2.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests/test_handlers_bcrypt.py to test_handlers_bcrypt.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests/test_handlers_cisco.py to test_handlers_cisco.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests/backports.py to backports.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests/test_handlers_django.py to test_handlers_django.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests/utils.py to utils.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests/test_crypto_builtin_md4.py to test_crypto_builtin_md4.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests/test_hosts.py to test_hosts.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests/tox_support.py to tox_support.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests/test_win32.py to test_win32.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests/test_ext_django.py to test_ext_django.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests/test_crypto_scrypt.py to test_crypto_scrypt.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests/test_registry.py to test_registry.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests/__main__.py to __main__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests/test_crypto_des.py to test_crypto_des.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests/test_context_deprecated.py to test_context_deprecated.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests/test_context.py to test_context.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/tests/test_handlers.py to test_handlers.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/ifc.py to ifc.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/context.py to context.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/hosts.py to hosts.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/exc.py to exc.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/pwd.py to pwd.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/hash.py to hash.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/registry.py to registry.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/apps.py to apps.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/totp.py to totp.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/apache.py to apache.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6/site-packages/passlib/win32.py to win32.cpython-36.pyc writing byte-compilation script '/tmp/tmpb92ti4ah.py' /usr/bin/python3.6 /tmp/tmpb92ti4ah.py removing /tmp/tmpb92ti4ah.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.el7.x86_64/usr/lib/python3.6/site-packages/passlib-1.7.1-py3.6.egg-info running install_scripts + /usr/lib/rpm/find-debuginfo.sh --strict-build-id -m --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 110000000 /builddir/build/BUILD/passlib-1.7.1 /usr/lib/rpm/sepdebugcrcfix: Updated 0 CRC32s, 0 CRC32s did match. find: 'debug': No such file or directory + /usr/lib/rpm/check-buildroot + /usr/lib/rpm/redhat/brp-compress + /usr/lib/rpm/redhat/brp-strip-static-archive /usr/bin/strip + /usr/lib/rpm/brp-python-bytecompile /usr/bin/python 1 Bytecompiling .py files below /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python3.6 using /usr/bin/python3.6 Bytecompiling .py files below /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/lib/python2.7 using /usr/bin/python2.7 + /usr/lib/rpm/redhat/brp-python-hardlink + /usr/lib/rpm/redhat/brp-java-repack-jars Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.1dD84Y + 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() : verify expected backends are present ... ok passlib.crypto.digest.pbkdf2_hmac() : test border cases ... ok passlib.crypto.digest.pbkdf2_hmac() : test keylen==None ... ok passlib.crypto.digest.pbkdf2_hmac() : test reference vectors ... ok passlib.utils.scrypt.scrypt() : backend management ... ok passlib.utils.scrypt.scrypt() : 'keylen' parameter ... ok passlib.utils.scrypt.scrypt() : backend management -- missing backend ... ok passlib.utils.scrypt.scrypt() : 'n' (rounds) parameter ... ok passlib.utils.scrypt.scrypt() : compare output to other backends ... SKIP: no other backends found passlib.utils.scrypt.scrypt() : 'p' (parallelism) parameter ... ok passlib.utils.scrypt.scrypt() : 'r' (block size) parameter ... ok passlib.utils.scrypt.scrypt() : reference vectors ... ok passlib.utils.scrypt.scrypt() : 'salt' parameter ... ok passlib.utils.scrypt.scrypt() : '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='' ... 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 (builtin backend): validate required attributes ... ok bsdi_crypt (builtin backend): test basic config-string workflow ... ok bsdi_crypt (builtin backend): test basic using() workflow ... ok bsdi_crypt (builtin backend): test basic hash-string workflow. ... ok bsdi_crypt (builtin backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok bsdi_crypt (builtin backend): test hashes can be unicode or bytes ... ok bsdi_crypt (builtin backend): test multi-backend support ... ok bsdi_crypt (builtin backend): validate optional salt attributes ... ok bsdi_crypt (builtin backend): test hash() / genconfig() creates new salt each time ... ok bsdi_crypt (builtin backend): test hash() / genconfig() honors min_salt_size ... ok bsdi_crypt (builtin backend): test hash() / genconfig() honors max_salt_size ... ok bsdi_crypt (builtin backend): test hash() honors salt_chars ... ok bsdi_crypt (builtin backend): test non-string salt values ... ok bsdi_crypt (builtin backend): validate optional rounds attributes ... ok bsdi_crypt (builtin backend): test hash() / genconfig() honors min_rounds ... ok bsdi_crypt (builtin backend): test hash() / genconfig() honors max_rounds ... ok bsdi_crypt (builtin backend): validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents bsdi_crypt (builtin backend): test password case sensitivity ... ok bsdi_crypt (builtin backend): test non-string passwords are rejected ... ok bsdi_crypt (builtin backend): test MAX_PASSWORD_SIZE is enforced ... ok bsdi_crypt (builtin backend): test forbidden characters not allowed in password ... ok bsdi_crypt (builtin backend): test known hashes ... ok bsdi_crypt (builtin backend): test known alternate hashes ... SKIP: no alternate hashes provided bsdi_crypt (builtin backend): test known config strings ... SKIP: no config strings provided bsdi_crypt (builtin backend): test known unidentifiably-mangled strings ... ok bsdi_crypt (builtin backend): test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided bsdi_crypt (builtin backend): test known foreign hashes ... ok bsdi_crypt (builtin backend): test non-string hashes are rejected ... ok bsdi_crypt (builtin backend): test_77_fuzz_input (passlib.tests.test_handlers.bsdi_crypt_builtin_test) ... ok bsdi_crypt (builtin backend): multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode bsdi_crypt (builtin backend): .disable() / .enable() methods ... SKIP: not applicable bsdi_crypt (builtin backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents bsdi_crypt (builtin backend): HasRounds.using() -- max_rounds / max_desired_rounds ... ok bsdi_crypt (builtin backend): HasRounds.using() -- desired_rounds + needs_update() ... ok bsdi_crypt (builtin backend): HasRounds.using() -- sanity check test harness ... ok bsdi_crypt (builtin backend): HasRounds.using() -- default_rounds ... ok bsdi_crypt (builtin backend): HasRounds.using() -- min_rounds / min_desired_rounds ... ok bsdi_crypt (builtin backend): HasRounds.using() -- rounds ... ok bsdi_crypt (builtin backend): HasRounds.using() -- vary_rounds generation ... ok bsdi_crypt (builtin backend): HasRounds.using() -- vary_rounds parsing ... ok bsdi_crypt (builtin backend): needs_update() should flag even rounds ... ok bsdi_crypt (builtin backend): test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set bsdi_crypt (builtin backend): test no password size limits enforced (if truncate_size=None) ... ok bsdi_crypt (builtin backend): validate 'truncate_error' setting & related attributes ... ok bsdi_crypt (builtin 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: 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 (builtin backend): validate required attributes ... ok sha1_crypt (builtin backend): test basic config-string workflow ... ok sha1_crypt (builtin backend): test basic using() workflow ... ok sha1_crypt (builtin backend): test basic hash-string workflow. ... ok sha1_crypt (builtin backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok sha1_crypt (builtin backend): test hashes can be unicode or bytes ... ok sha1_crypt (builtin backend): test multi-backend support ... ok sha1_crypt (builtin backend): validate optional salt attributes ... ok sha1_crypt (builtin backend): test hash() / genconfig() creates new salt each time ... ok sha1_crypt (builtin backend): test hash() / genconfig() honors min_salt_size ... ok sha1_crypt (builtin backend): test hash() / genconfig() honors max_salt_size ... ok sha1_crypt (builtin backend): test hash() honors salt_chars ... ok sha1_crypt (builtin backend): test non-string salt values ... ok sha1_crypt (builtin backend): validate optional rounds attributes ... ok sha1_crypt (builtin backend): test hash() / genconfig() honors min_rounds ... ok sha1_crypt (builtin backend): test hash() / genconfig() honors max_rounds ... ok sha1_crypt (builtin backend): validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents sha1_crypt (builtin backend): test password case sensitivity ... ok sha1_crypt (builtin backend): test non-string passwords are rejected ... ok sha1_crypt (builtin backend): test MAX_PASSWORD_SIZE is enforced ... ok sha1_crypt (builtin backend): test forbidden characters not allowed in password ... ok sha1_crypt (builtin backend): test known hashes ... ok sha1_crypt (builtin backend): test known alternate hashes ... SKIP: no alternate hashes provided sha1_crypt (builtin backend): test known config strings ... SKIP: no config strings provided sha1_crypt (builtin backend): test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided sha1_crypt (builtin backend): test known identifiable-but-malformed strings ... ok sha1_crypt (builtin backend): test known foreign hashes ... ok sha1_crypt (builtin backend): test non-string hashes are rejected ... ok sha1_crypt (builtin backend): fuzz testing -- random passwords and options ... ok sha1_crypt (builtin backend): multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode sha1_crypt (builtin backend): .disable() / .enable() methods ... SKIP: not applicable sha1_crypt (builtin backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents sha1_crypt (builtin backend): HasRounds.using() -- max_rounds / max_desired_rounds ... ok sha1_crypt (builtin backend): HasRounds.using() -- desired_rounds + needs_update() ... ok sha1_crypt (builtin backend): HasRounds.using() -- sanity check test harness ... ok sha1_crypt (builtin backend): HasRounds.using() -- default_rounds ... ok sha1_crypt (builtin backend): HasRounds.using() -- min_rounds / min_desired_rounds ... ok sha1_crypt (builtin backend): HasRounds.using() -- rounds ... ok sha1_crypt (builtin backend): HasRounds.using() -- vary_rounds generation ... ok sha1_crypt (builtin backend): HasRounds.using() -- vary_rounds parsing ... ok sha1_crypt (builtin backend): test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set sha1_crypt (builtin backend): test no password size limits enforced (if truncate_size=None) ... ok sha1_crypt (builtin backend): validate 'truncate_error' setting & related attributes ... ok sha1_crypt (builtin 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 2967 tests in 148.838s OK (SKIP=1254) + nosetests-3.6 -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() : verify expected backends are present ... ok passlib.crypto.digest.pbkdf2_hmac() : test border cases ... ok passlib.crypto.digest.pbkdf2_hmac() : test keylen==None ... ok passlib.crypto.digest.pbkdf2_hmac() : test reference vectors ... ok passlib.utils.scrypt.scrypt() : backend management ... ok passlib.utils.scrypt.scrypt() : 'keylen' parameter ... ok passlib.utils.scrypt.scrypt() : backend management -- missing backend ... ok passlib.utils.scrypt.scrypt() : 'n' (rounds) parameter ... ok passlib.utils.scrypt.scrypt() : compare output to other backends ... SKIP: no other backends found passlib.utils.scrypt.scrypt() : 'p' (parallelism) parameter ... ok passlib.utils.scrypt.scrypt() : 'r' (block size) parameter ... ok passlib.utils.scrypt.scrypt() : reference vectors ... ok passlib.utils.scrypt.scrypt() : 'salt' parameter ... ok passlib.utils.scrypt.scrypt() : '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='' ... 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 (builtin backend): validate required attributes ... ok bsdi_crypt (builtin backend): test basic config-string workflow ... ok bsdi_crypt (builtin backend): test basic using() workflow ... ok bsdi_crypt (builtin backend): test basic hash-string workflow. ... ok bsdi_crypt (builtin backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok bsdi_crypt (builtin backend): test hashes can be unicode or bytes ... ok bsdi_crypt (builtin backend): test multi-backend support ... ok bsdi_crypt (builtin backend): validate optional salt attributes ... ok bsdi_crypt (builtin backend): test hash() / genconfig() creates new salt each time ... ok bsdi_crypt (builtin backend): test hash() / genconfig() honors min_salt_size ... ok bsdi_crypt (builtin backend): test hash() / genconfig() honors max_salt_size ... ok bsdi_crypt (builtin backend): test hash() honors salt_chars ... ok bsdi_crypt (builtin backend): test non-string salt values ... ok bsdi_crypt (builtin backend): validate optional rounds attributes ... ok bsdi_crypt (builtin backend): test hash() / genconfig() honors min_rounds ... ok bsdi_crypt (builtin backend): test hash() / genconfig() honors max_rounds ... ok bsdi_crypt (builtin backend): validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents bsdi_crypt (builtin backend): test password case sensitivity ... ok bsdi_crypt (builtin backend): test non-string passwords are rejected ... ok bsdi_crypt (builtin backend): test MAX_PASSWORD_SIZE is enforced ... ok bsdi_crypt (builtin backend): test forbidden characters not allowed in password ... ok bsdi_crypt (builtin backend): test known hashes ... ok bsdi_crypt (builtin backend): test known alternate hashes ... SKIP: no alternate hashes provided bsdi_crypt (builtin backend): test known config strings ... SKIP: no config strings provided bsdi_crypt (builtin backend): test known unidentifiably-mangled strings ... ok bsdi_crypt (builtin backend): test known identifiable-but-malformed strings ... SKIP: no malformed hashes provided bsdi_crypt (builtin backend): test known foreign hashes ... ok bsdi_crypt (builtin backend): test non-string hashes are rejected ... ok bsdi_crypt (builtin backend): test_77_fuzz_input (passlib.tests.test_handlers.bsdi_crypt_builtin_test) ... ok bsdi_crypt (builtin backend): multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode bsdi_crypt (builtin backend): .disable() / .enable() methods ... SKIP: not applicable bsdi_crypt (builtin backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents bsdi_crypt (builtin backend): HasRounds.using() -- max_rounds / max_desired_rounds ... ok bsdi_crypt (builtin backend): HasRounds.using() -- desired_rounds + needs_update() ... ok bsdi_crypt (builtin backend): HasRounds.using() -- sanity check test harness ... ok bsdi_crypt (builtin backend): HasRounds.using() -- default_rounds ... ok bsdi_crypt (builtin backend): HasRounds.using() -- min_rounds / min_desired_rounds ... ok bsdi_crypt (builtin backend): HasRounds.using() -- rounds ... ok bsdi_crypt (builtin backend): HasRounds.using() -- vary_rounds generation ... ok bsdi_crypt (builtin backend): HasRounds.using() -- vary_rounds parsing ... ok bsdi_crypt (builtin backend): needs_update() should flag even rounds ... ok bsdi_crypt (builtin backend): test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set bsdi_crypt (builtin backend): test no password size limits enforced (if truncate_size=None) ... ok bsdi_crypt (builtin backend): validate 'truncate_error' setting & related attributes ... ok bsdi_crypt (builtin 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: 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 (builtin backend): validate required attributes ... ok sha1_crypt (builtin backend): test basic config-string workflow ... ok sha1_crypt (builtin backend): test basic using() workflow ... ok sha1_crypt (builtin backend): test basic hash-string workflow. ... ok sha1_crypt (builtin backend): test hash-string workflow with legacy .encrypt() & .genhash() methods ... ok sha1_crypt (builtin backend): test hashes can be unicode or bytes ... ok sha1_crypt (builtin backend): test multi-backend support ... ok sha1_crypt (builtin backend): validate optional salt attributes ... ok sha1_crypt (builtin backend): test hash() / genconfig() creates new salt each time ... ok sha1_crypt (builtin backend): test hash() / genconfig() honors min_salt_size ... ok sha1_crypt (builtin backend): test hash() / genconfig() honors max_salt_size ... ok sha1_crypt (builtin backend): test hash() honors salt_chars ... ok sha1_crypt (builtin backend): test non-string salt values ... ok sha1_crypt (builtin backend): validate optional rounds attributes ... ok sha1_crypt (builtin backend): test hash() / genconfig() honors min_rounds ... ok sha1_crypt (builtin backend): test hash() / genconfig() honors max_rounds ... ok sha1_crypt (builtin backend): validate HasManyIdents configuration ... SKIP: handler doesn't derive from HasManyIdents sha1_crypt (builtin backend): test password case sensitivity ... ok sha1_crypt (builtin backend): test non-string passwords are rejected ... ok sha1_crypt (builtin backend): test MAX_PASSWORD_SIZE is enforced ... ok sha1_crypt (builtin backend): test forbidden characters not allowed in password ... ok sha1_crypt (builtin backend): test known hashes ... ok sha1_crypt (builtin backend): test known alternate hashes ... SKIP: no alternate hashes provided sha1_crypt (builtin backend): test known config strings ... SKIP: no config strings provided sha1_crypt (builtin backend): test known unidentifiably-mangled strings ... SKIP: no unidentified hashes provided sha1_crypt (builtin backend): test known identifiable-but-malformed strings ... ok sha1_crypt (builtin backend): test known foreign hashes ... ok sha1_crypt (builtin backend): test non-string hashes are rejected ... ok sha1_crypt (builtin backend): fuzz testing -- random passwords and options ... ok sha1_crypt (builtin backend): multithreaded fuzz testing -- random password & options using multiple threads ... SKIP: requires >= 'full' test mode sha1_crypt (builtin backend): .disable() / .enable() methods ... SKIP: not applicable sha1_crypt (builtin backend): HasManyIdents.using() -- 'default_ident' and 'ident' keywords ... SKIP: handler doesn't derive from HasManyIdents sha1_crypt (builtin backend): HasRounds.using() -- max_rounds / max_desired_rounds ... ok sha1_crypt (builtin backend): HasRounds.using() -- desired_rounds + needs_update() ... ok sha1_crypt (builtin backend): HasRounds.using() -- sanity check test harness ... ok sha1_crypt (builtin backend): HasRounds.using() -- default_rounds ... ok sha1_crypt (builtin backend): HasRounds.using() -- min_rounds / min_desired_rounds ... ok sha1_crypt (builtin backend): HasRounds.using() -- rounds ... ok sha1_crypt (builtin backend): HasRounds.using() -- vary_rounds generation ... ok sha1_crypt (builtin backend): HasRounds.using() -- vary_rounds parsing ... ok sha1_crypt (builtin backend): test password size limits raise truncate_error (if appropriate) ... SKIP: truncate_size not set sha1_crypt (builtin backend): test no password size limits enforced (if truncate_size=None) ... ok sha1_crypt (builtin backend): validate 'truncate_error' setting & related attributes ... ok sha1_crypt (builtin 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 2967 tests in 174.977s OK (SKIP=1254) + exit 0 Processing files: python2-passlib-1.7.1-3.el7.noarch Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.cdd4rh + umask 022 + cd /builddir/build/BUILD + cd passlib-1.7.1 + DOCDIR=/builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/share/doc/python2-passlib-1.7.1 + export DOCDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/share/doc/python2-passlib-1.7.1 + cp -pr README /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/share/doc/python2-passlib-1.7.1 + exit 0 Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.qvhnQz + umask 022 + cd /builddir/build/BUILD + cd passlib-1.7.1 + LICENSEDIR=/builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/share/licenses/python2-passlib-1.7.1 + export LICENSEDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/share/licenses/python2-passlib-1.7.1 + cp -pr LICENSE /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/share/licenses/python2-passlib-1.7.1 + exit 0 Provides: python-passlib = 1.7.1-3.el7 python2-passlib = 1.7.1-3.el7 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.7.1-3.el7 python-passlib < 1.6.5-1 Processing files: python36-passlib-1.7.1-3.el7.noarch Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.oqNr1Y + umask 022 + cd /builddir/build/BUILD + cd passlib-1.7.1 + DOCDIR=/builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/share/doc/python36-passlib-1.7.1 + export DOCDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/share/doc/python36-passlib-1.7.1 + cp -pr README /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/share/doc/python36-passlib-1.7.1 + exit 0 Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.sXaYdo + umask 022 + cd /builddir/build/BUILD + cd passlib-1.7.1 + LICENSEDIR=/builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/share/licenses/python36-passlib-1.7.1 + export LICENSEDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/share/licenses/python36-passlib-1.7.1 + cp -pr LICENSE /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64/usr/share/licenses/python36-passlib-1.7.1 + exit 0 Provides: python36-passlib = 1.7.1-3.el7 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires: python(abi) = 3.6 Checking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64 Wrote: /builddir/build/RPMS/python2-passlib-1.7.1-3.el7.noarch.rpm Wrote: /builddir/build/RPMS/python36-passlib-1.7.1-3.el7.noarch.rpm Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.pHXxt2 + umask 022 + cd /builddir/build/BUILD + cd passlib-1.7.1 + /usr/bin/rm -rf /builddir/build/BUILDROOT/python-passlib-1.7.1-3.el7.x86_64 + exit 0 Finish: rpmbuild python-passlib-1.7.1-3.el7.src.rpm Finish: build phase for python-passlib-1.7.1-3.el7.src.rpm INFO: Done(/var/lib/copr-rpmbuild/results/python-passlib-1.7.1-3.el7.src.rpm) Config(child) 6 minutes 2 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