Running as unit: rb-build-amd64_18-23479.service ==================================================================================== Fri Nov 22 05:01:28 UTC 2024 - running /srv/jenkins/bin/reproducible_build.sh (for job reproducible_builder_amd64_18) on jenkins, called using "ionos5-amd64 ionos1-amd64" as arguments. Fri Nov 22 05:01:28 UTC 2024 - actually running "reproducible_build.sh" (md5sum 68e686e434c9ab7bc3ec047d8b309cbc) as "/tmp/jenkins-script-EcArbskG" $ git clone https://salsa.debian.org/qa/jenkins.debian.net.git ; more CONTRIBUTING Fri Nov 22 05:01:28 UTC 2024 - checking /var/lib/jenkins/offline_nodes if ionos5-amd64.debian.net is marked as down. Fri Nov 22 05:01:28 UTC 2024 - checking via ssh if ionos5-amd64.debian.net is up. removed '/tmp/read-only-fs-test-ZKsdgz' Fri Nov 22 05:01:28 UTC 2024 - checking /var/lib/jenkins/offline_nodes if ionos1-amd64.debian.net is marked as down. Fri Nov 22 05:01:28 UTC 2024 - checking via ssh if ionos1-amd64.debian.net is up. removed '/tmp/read-only-fs-test-s6PsFR' ok, let's check if analizo is building anywhere yet… ok, analizo is not building anywhere… UPDATE 1 ============================================================================= Initialising reproducibly build of analizo in trixie on amd64 on jenkins now. 1st build will be done on ionos5-amd64.debian.net. 2nd build will be done on ionos1-amd64.debian.net. ============================================================================= Fri Nov 22 05:01:34 UTC 2024 I: starting to build analizo/trixie/amd64 on jenkins on '2024-11-22 05:01' Fri Nov 22 05:01:34 UTC 2024 I: The jenkins build log is/was available at https://jenkins.debian.net/userContent/reproducible/debian/build_service/amd64_18/23479/console.log 1732251694 amd64 trixie analizo Fri Nov 22 05:01:34 UTC 2024 I: Downloading source for trixie/analizo=1.25.5-1 E: Can not find version '1.25.5-1' of package 'analizo' E: Unable to find a source package for analizo Fri Nov 22 05:01:35 UTC 2024 E: Download of analizo=1.25.5-1 sources (for trixie) failed. ls: cannot access 'analizo*': No such file or directory Fri Nov 22 05:01:35 UTC 2024 E: Sleeping 5m before re-trying... Fri Nov 22 05:06:35 UTC 2024 I: Downloading source for trixie/analizo=1.25.5-1 E: Can not find version '1.25.5-1' of package 'analizo' E: Unable to find a source package for analizo Fri Nov 22 05:06:35 UTC 2024 E: Download of analizo=1.25.5-1 sources (for trixie) failed. ls: cannot access 'analizo*': No such file or directory Fri Nov 22 05:06:35 UTC 2024 E: Sleeping 5m before re-trying... Fri Nov 22 05:11:35 UTC 2024 I: Downloading source for trixie/analizo=1.25.5-1 --2024-11-22 05:11:35-- http://deb.debian.org/debian/pool/main/a/analizo/analizo_1.25.5-1.dsc Connecting to 46.16.76.132:3128... connected. Proxy request sent, awaiting response... 200 OK Length: 3368 (3.3K) [text/prs.lines.tag] Saving to: ‘analizo_1.25.5-1.dsc’ 0K ... 100% 403M=0s 2024-11-22 05:11:35 (403 MB/s) - ‘analizo_1.25.5-1.dsc’ saved [3368/3368] --2024-11-22 05:11:35-- http://deb.debian.org/debian/pool/main/a/analizo/analizo_1.25.5-1.dsc Connecting to 46.16.76.132:3128... connected. Proxy request sent, awaiting response... 200 OK Length: 3368 (3.3K) [text/prs.lines.tag] Saving to: ‘analizo_1.25.5-1.dsc’ 0K ... 100% 403M=0s 2024-11-22 05:11:35 (403 MB/s) - ‘analizo_1.25.5-1.dsc’ saved [3368/3368] Fri Nov 22 05:11:35 UTC 2024 I: analizo_1.25.5-1.dsc -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Format: 3.0 (quilt) Source: analizo Binary: analizo Architecture: all Version: 1.25.5-1 Maintainer: Debian Perl Group Uploaders: Joenio Marques da Costa Homepage: https://www.analizo.org Standards-Version: 4.7.0 Vcs-Browser: https://salsa.debian.org/perl-team/modules/packages/analizo Vcs-Git: https://salsa.debian.org/perl-team/modules/packages/analizo.git Testsuite: autopkgtest, autopkgtest-pkg-perl Testsuite-Triggers: shunit2 Build-Depends: debhelper-compat (= 13) Build-Depends-Indep: doxygen-doxyparse , libapp-cmd-perl , libarchive-extract-perl , libchi-perl , libclass-accessor-perl , libclass-inspector-perl , libdbd-sqlite3-perl , libdbi-perl , libdigest-sha-perl , libenv-path-perl , libfile-copy-recursive-perl , libfile-homedir-perl , libfile-libmagic-perl , libfile-share-perl , libfile-sharedir-install-perl, libfile-sharedir-perl, libfile-slurp-perl , libfindbin-libs-perl , libgit-wrapper-perl , libgraph-perl , libgraph-readwrite-perl , libjson-perl , liblist-compare-perl , liblist-moreutils-perl , libstatistics-descriptive-perl , libterm-progressbar-perl , libterm-ui-perl , libtest-bdd-cucumber-perl , libtest-class-perl , libtest-exception-perl , libtest-mockmodule-perl , libtest-mockobject-perl , libyaml-libyaml-perl , libzmq-ffi-perl , perl Package-List: analizo deb devel optional arch=all Checksums-Sha1: fe6b2e53e212c44be6182bc7f2a11059dd3003af 184310 analizo_1.25.5.orig.tar.gz 598c797d3d90cf3fd8ce1ed0052d23a1ca2686ed 7072 analizo_1.25.5-1.debian.tar.xz Checksums-Sha256: 48385104d2fc98f4a1bf466fd8f39f8a5923478173f47ea7942d64dc164a749e 184310 analizo_1.25.5.orig.tar.gz e427dcdd1f47255ae63404650ab4c9aec66fdc0335c46480e1074f7baa9a0375 7072 analizo_1.25.5-1.debian.tar.xz Files: c88d3ef0d25b17aadbd6cc403130499d 184310 analizo_1.25.5.orig.tar.gz e6b582f0645c01029c9c73acd075f5fb 7072 analizo_1.25.5-1.debian.tar.xz Dgit: 66f0b333c58e04796c3d767dab03b1f59d53fdfc debian archive/debian/1.25.5-1 https://git.dgit.debian.org/analizo -----BEGIN PGP SIGNATURE----- iQKTBAEBCgB9FiEE0eExbpOnYKgQTYX6uzpoAYZJqgYFAmc5WfFfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEQx RTEzMTZFOTNBNzYwQTgxMDREODVGQUJCM0E2ODAxODY0OUFBMDYACgkQuzpoAYZJ qgadeA/9FNl08seCjJZbrpdc9JUGhpBrlL6gUNZULQHpLOHb97wW1On6a3n/HEad 4ivezYSSDJ/y6Dmq5fdteMb73cGnlAXMqnwUnQVhUvmuJPrycIzlc5e4dt8bTUlB CnvlfHw85NNJSOKC+SRFxOjSSZW35QHeZwEKIEgVFegViiv434POP7LBUoH954OY k4SEM5I2q3BldJtlsPFckMSniVgoCTREeujjwYQNhWJLH8d6IrDFwXT1PKL3Efa8 s1Xlk99nvpxrQ37bhqOzhDlkZW4UwNzPv2tKzW0H01904Wj/4BmFfX5oTF43Lo1X 3oGu53D2Ko1AlqVe1AbjiW1mgK3+sKCfvY6uRK0pFlRuy12XORTZ8/tfVFUUsCma peRGKRfkFIH+Q8FNrXOUGRsaGQH51v9HE6uC0s/ITsxkGwyCjwOwIv8li4kF1/To 7Fg95qvlLLERr9ZtNItEFntxN/gWRw6Xm8b7bT5dRk4wtJPOa68UGL4TGqVvzX1t UpG85o5ODJqeAV/iaNL8/yuoVOSoQ4OYISxjESit4B3sIu+QEDzbFTWcdhYQpmg7 87BIGtvyq7AIUl1n4brLj0g8s7JjvOqsfjfghwJt5qlhB/mvSHUXkDcweh40aye7 OF5tAqTJ51xvG7JI6dXFy18vzfTt79Mv+xFXZTUwI+kPr29HUIs= =sh6k -----END PGP SIGNATURE----- Fri Nov 22 05:11:35 UTC 2024 I: Checking whether the package is not for us Fri Nov 22 05:11:35 UTC 2024 I: Starting 1st build on remote node ionos5-amd64.debian.net. Fri Nov 22 05:11:35 UTC 2024 I: Preparing to do remote build '1' on ionos5-amd64.debian.net. Fri Nov 22 05:11:35 UTC 2024 - checking /var/lib/jenkins/offline_nodes if ionos5-amd64.debian.net is marked as down. Fri Nov 22 05:11:35 UTC 2024 - checking via ssh if ionos5-amd64.debian.net is up. removed '/tmp/read-only-fs-test-jfilzz' ==================================================================================== Thu Dec 25 11:34:36 UTC 2025 - running /srv/jenkins/bin/reproducible_build.sh (for job /srv/jenkins/bin/reproducible_build.sh) on ionos5-amd64, called using "1 analizo trixie /srv/reproducible-results/rbuild-debian/r-b-build.WRkbw2e7 1.25.5-1" as arguments. Thu Dec 25 11:34:36 UTC 2025 - actually running "reproducible_build.sh" (md5sum 68e686e434c9ab7bc3ec047d8b309cbc) as "/tmp/jenkins-script-SwAQFjhz" $ git clone https://salsa.debian.org/qa/jenkins.debian.net.git ; more CONTRIBUTING Thu Dec 25 11:34:36 UTC 2025 I: Downloading source for trixie/analizo=1.25.5-1 Reading package lists... NOTICE: 'analizo' packaging is maintained in the 'Git' version control system at: https://salsa.debian.org/perl-team/modules/packages/analizo.git Please use: git clone https://salsa.debian.org/perl-team/modules/packages/analizo.git to retrieve the latest (possibly unreleased) updates to the package. Need to get 195 kB of source archives. Get:1 http://deb.debian.org/debian trixie/main analizo 1.25.5-1 (dsc) [3368 B] Get:2 http://deb.debian.org/debian trixie/main analizo 1.25.5-1 (tar) [184 kB] Get:3 http://deb.debian.org/debian trixie/main analizo 1.25.5-1 (diff) [7072 B] Fetched 195 kB in 0s (3383 kB/s) Download complete and in download only mode Reading package lists... NOTICE: 'analizo' packaging is maintained in the 'Git' version control system at: https://salsa.debian.org/perl-team/modules/packages/analizo.git Please use: git clone https://salsa.debian.org/perl-team/modules/packages/analizo.git to retrieve the latest (possibly unreleased) updates to the package. Need to get 195 kB of source archives. Get:1 http://deb.debian.org/debian trixie/main analizo 1.25.5-1 (dsc) [3368 B] Get:2 http://deb.debian.org/debian trixie/main analizo 1.25.5-1 (tar) [184 kB] Get:3 http://deb.debian.org/debian trixie/main analizo 1.25.5-1 (diff) [7072 B] Fetched 195 kB in 0s (3383 kB/s) Download complete and in download only mode ============================================================================= Building analizo in trixie on amd64 on ionos5-amd64 now. Date: Thu Dec 25 11:34:37 UTC 2025 Date UTC: Thu Dec 25 11:34:37 UTC 2025 ============================================================================= W: /root/.pbuilderrc does not exist I: Logging to b1/build.log I: pbuilder: network access will be disabled during build I: Current time: Wed Dec 24 23:34:37 -12 2025 I: pbuilder-time-stamp: 1766662477 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz] I: copying local configuration W: --override-config is not set; not updating apt.conf Read the manpage for details. I: mounting /proc filesystem I: mounting /sys filesystem I: creating /{dev,run}/shm I: mounting /dev/pts filesystem I: redirecting /dev/ptmx to /dev/pts/ptmx I: policy-rc.d already exists I: Copying source file I: copying [analizo_1.25.5-1.dsc] I: copying [./analizo_1.25.5.orig.tar.gz] I: copying [./analizo_1.25.5-1.debian.tar.xz] I: Extracting source gpgv: Signature made Sun Nov 17 02:50:25 2024 gpgv: using RSA key D1E1316E93A760A8104D85FABB3A68018649AA06 gpgv: Can't check signature: No public key dpkg-source: warning: cannot verify inline signature for ./analizo_1.25.5-1.dsc: no acceptable signature found dpkg-source: info: extracting analizo in analizo-1.25.5 dpkg-source: info: unpacking analizo_1.25.5.orig.tar.gz dpkg-source: info: unpacking analizo_1.25.5-1.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying drop_local_lib dpkg-source: info: applying hotfix_for_acc_metric_test dpkg-source: info: applying fix_shebang dpkg-source: info: applying doxygen-1.9.8.patch I: Not using root during the build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/543764/tmp/hooks/D02_print_environment starting I: set BUILDDIR='/build/reproducible-path' BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' BUILDUSERNAME='pbuilder1' BUILD_ARCH='amd64' DEBIAN_FRONTEND='noninteractive' DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=42 ' DISTRIBUTION='trixie' HOME='/root' HOST_ARCH='amd64' IFS=' ' INVOCATION_ID='767587a6fb9e41068d1a465c031c200b' LANG='C' LANGUAGE='en_US:en' LC_ALL='C' MAIL='/var/mail/root' OPTIND='1' PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' PBCURRENTCOMMANDLINEOPERATION='build' PBUILDER_OPERATION='build' PBUILDER_PKGDATADIR='/usr/share/pbuilder' PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' PBUILDER_SYSCONFDIR='/etc' PPID='543764' PS1='# ' PS2='> ' PS4='+ ' PWD='/' SHELL='/bin/bash' SHLVL='2' SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.WRkbw2e7/pbuilderrc_KOAs --distribution trixie --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.WRkbw2e7/b1 --logfile b1/build.log analizo_1.25.5-1.dsc' SUDO_GID='110' SUDO_UID='105' SUDO_USER='jenkins' TERM='unknown' TZ='/usr/share/zoneinfo/Etc/GMT+12' USER='root' _='/usr/bin/systemd-run' http_proxy='http://213.165.73.152:3128' I: uname -a Linux ionos5-amd64 6.11.5+bpo-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.11.5-1~bpo12+1 (2024-11-11) x86_64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Aug 4 2024 /bin -> usr/bin I: user script /srv/workspace/pbuilder/543764/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: amd64 Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: debhelper-compat (= 13), doxygen-doxyparse, libapp-cmd-perl, libarchive-extract-perl, libchi-perl, libclass-accessor-perl, libclass-inspector-perl, libdbd-sqlite3-perl, libdbi-perl, libdigest-sha-perl, libenv-path-perl, libfile-copy-recursive-perl, libfile-homedir-perl, libfile-libmagic-perl, libfile-share-perl, libfile-sharedir-install-perl, libfile-sharedir-perl, libfile-slurp-perl, libfindbin-libs-perl, libgit-wrapper-perl, libgraph-perl, libgraph-readwrite-perl, libjson-perl, liblist-compare-perl, liblist-moreutils-perl, libstatistics-descriptive-perl, libterm-progressbar-perl, libterm-ui-perl, libtest-bdd-cucumber-perl, libtest-class-perl, libtest-exception-perl, libtest-mockmodule-perl, libtest-mockobject-perl, libyaml-libyaml-perl, libzmq-ffi-perl, perl dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19969 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on debhelper-compat (= 13); however: Package debhelper-compat is not installed. pbuilder-satisfydepends-dummy depends on doxygen-doxyparse; however: Package doxygen-doxyparse is not installed. pbuilder-satisfydepends-dummy depends on libapp-cmd-perl; however: Package libapp-cmd-perl is not installed. pbuilder-satisfydepends-dummy depends on libarchive-extract-perl; however: Package libarchive-extract-perl is not installed. pbuilder-satisfydepends-dummy depends on libchi-perl; however: Package libchi-perl is not installed. pbuilder-satisfydepends-dummy depends on libclass-accessor-perl; however: Package libclass-accessor-perl is not installed. pbuilder-satisfydepends-dummy depends on libclass-inspector-perl; however: Package libclass-inspector-perl is not installed. pbuilder-satisfydepends-dummy depends on libdbd-sqlite3-perl; however: Package libdbd-sqlite3-perl is not installed. pbuilder-satisfydepends-dummy depends on libdbi-perl; however: Package libdbi-perl is not installed. pbuilder-satisfydepends-dummy depends on libenv-path-perl; however: Package libenv-path-perl is not installed. pbuilder-satisfydepends-dummy depends on libfile-copy-recursive-perl; however: Package libfile-copy-recursive-perl is not installed. pbuilder-satisfydepends-dummy depends on libfile-homedir-perl; however: Package libfile-homedir-perl is not installed. pbuilder-satisfydepends-dummy depends on libfile-libmagic-perl; however: Package libfile-libmagic-perl is not installed. pbuilder-satisfydepends-dummy depends on libfile-share-perl; however: Package libfile-share-perl is not installed. pbuilder-satisfydepends-dummy depends on libfile-sharedir-install-perl; however: Package libfile-sharedir-install-perl is not installed. pbuilder-satisfydepends-dummy depends on libfile-sharedir-perl; however: Package libfile-sharedir-perl is not installed. pbuilder-satisfydepends-dummy depends on libfile-slurp-perl; however: Package libfile-slurp-perl is not installed. pbuilder-satisfydepends-dummy depends on libfindbin-libs-perl; however: Package libfindbin-libs-perl is not installed. pbuilder-satisfydepends-dummy depends on libgit-wrapper-perl; however: Package libgit-wrapper-perl is not installed. pbuilder-satisfydepends-dummy depends on libgraph-perl; however: Package libgraph-perl is not installed. pbuilder-satisfydepends-dummy depends on libgraph-readwrite-perl; however: Package libgraph-readwrite-perl is not installed. pbuilder-satisfydepends-dummy depends on libjson-perl; however: Package libjson-perl is not installed. pbuilder-satisfydepends-dummy depends on liblist-compare-perl; however: Package liblist-compare-perl is not installed. pbuilder-satisfydepends-dummy depends on liblist-moreutils-perl; however: Package liblist-moreutils-perl is not installed. pbuilder-satisfydepends-dummy depends on libstatistics-descriptive-perl; however: Package libstatistics-descriptive-perl is not installed. pbuilder-satisfydepends-dummy depends on libterm-progressbar-perl; however: Package libterm-progressbar-perl is not installed. pbuilder-satisfydepends-dummy depends on libterm-ui-perl; however: Package libterm-ui-perl is not installed. pbuilder-satisfydepends-dummy depends on libtest-bdd-cucumber-perl; however: Package libtest-bdd-cucumber-perl is not installed. pbuilder-satisfydepends-dummy depends on libtest-class-perl; however: Package libtest-class-perl is not installed. pbuilder-satisfydepends-dummy depends on libtest-exception-perl; however: Package libtest-exception-perl is not installed. pbuilder-satisfydepends-dummy depends on libtest-mockmodule-perl; however: Package libtest-mockmodule-perl is not installed. pbuilder-satisfydepends-dummy depends on libtest-mockobject-perl; however: Package libtest-mockobject-perl is not installed. pbuilder-satisfydepends-dummy depends on libyaml-libyaml-perl; however: Package libyaml-libyaml-perl is not installed. pbuilder-satisfydepends-dummy depends on libzmq-ffi-perl; however: Package libzmq-ffi-perl is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) The following NEW packages will be installed: autoconf{a} automake{a} autopoint{a} autotools-dev{a} bsdextrautils{a} ca-certificates{a} comerr-dev{a} debhelper{a} dh-autoreconf{a} dh-strip-nondeterminism{a} doxygen-doxyparse{a} dwz{a} file{a} gettext{a} gettext-base{a} git{a} git-man{a} groff-base{a} icu-devtools{a} intltool-debian{a} krb5-multidev{a} libalgorithm-c3-perl{a} libapp-cmd-perl{a} libarchive-extract-perl{a} libarchive-zip-perl{a} libb-hooks-endofscope-perl{a} libb-hooks-op-check-perl{a} libbrotli1{a} libbsd-dev{a} libcache-cache-perl{a} libcache-fastmmap-perl{a} libcapture-tiny-perl{a} libcarp-assert-perl{a} libchi-perl{a} libclang-cpp19{a} libclang1-19{a} libclass-accessor-perl{a} libclass-c3-perl{a} libclass-inspector-perl{a} libclass-load-perl{a} libclass-method-modifiers-perl{a} libclass-methodmaker-perl{a} libclass-xsaccessor-perl{a} libclone-perl{a} libcom-err2{a} libcompress-lz4-perl{a} libcompress-snappy-perl{a} libcontextual-return-perl{a} libcpanel-json-xs-perl{a} libcucumber-tagexpressions-perl{a} libcurl3t64-gnutls{a} libdata-optlist-perl{a} libdata-perl-perl{a} libdata-serializer-perl{a} libdbd-sqlite3-perl{a} libdbi-perl{a} libdebhelper-perl{a} libdevel-callchecker-perl{a} libdigest-jhash-perl{a} libdynaloader-functions-perl{a} libedit2{a} libelf1t64{a} libencode-locale-perl{a} libenv-path-perl{a} liberror-perl{a} libexpat1{a} libexporter-tiny-perl{a} libffi-checklib-perl{a} libffi-platypus-perl{a} libfile-chdir-perl{a} libfile-copy-recursive-perl{a} libfile-find-rule-perl{a} libfile-homedir-perl{a} libfile-libmagic-perl{a} libfile-listing-perl{a} libfile-share-perl{a} libfile-sharedir-install-perl{a} libfile-sharedir-perl{a} libfile-slurp-perl{a} libfile-stripnondeterminism-perl{a} libfile-which-perl{a} libfindbin-libs-perl{a} libfmt10{a} libgetopt-long-descriptive-perl{a} libgit-wrapper-perl{a} libgraph-perl{a} libgraph-readwrite-perl{a} libgssapi-krb5-2{a} libgssrpc4t64{a} libhash-moreutils-perl{a} libheap-perl{a} libhtml-parser-perl{a} libhtml-tagset-perl{a} libhtml-tree-perl{a} libhttp-cookies-perl{a} libhttp-date-perl{a} libhttp-message-perl{a} libhttp-negotiate-perl{a} libicu-dev{a} libicu72{a} libimport-into-perl{a} libio-all-perl{a} libio-html-perl{a} libio-socket-ssl-perl{a} libio-stringy-perl{a} libio-tiecombine-perl{a} libipc-sharelite-perl{a} libjson-maybexs-perl{a} libjson-perl{a} libk5crypto3{a} libkadm5clnt-mit12{a} libkadm5srv-mit12{a} libkdb5-10t64{a} libkeyutils1{a} libkrb5-3{a} libkrb5-dev{a} libkrb5support0{a} libldap-2.5-0{a} liblist-compare-perl{a} liblist-moreutils-perl{a} liblist-moreutils-xs-perl{a} libllvm19{a} liblog-any-perl{a} liblog-message-perl{a} liblog-message-simple-perl{a} liblwp-mediatypes-perl{a} liblwp-protocol-https-perl{a} libmagic-mgc{a} libmagic1t64{a} libmd-dev{a} libmodule-implementation-perl{a} libmodule-pluggable-perl{a} libmodule-runtime-perl{a} libmoo-perl{a} libmoox-handlesvia-perl{a} libmoox-types-mooselike-numeric-perl{a} libmoox-types-mooselike-perl{a} libmro-compat-perl{a} libnamespace-clean-perl{a} libnet-http-perl{a} libnet-ssleay-perl{a} libnghttp2-14{a} libnghttp3-9{a} libngtcp2-16{a} libngtcp2-crypto-gnutls8{a} libnorm-dev{a} libnorm1t64{a} libnumber-compare-perl{a} libossp-uuid-perl{a} libossp-uuid16{a} libpackage-stash-perl{a} libparams-classify-perl{a} libparams-util-perl{a} libparams-validate-perl{a} libparse-yapp-perl{a} libpath-class-perl{a} libpgm-5.3-0t64{a} libpgm-dev{a} libpipeline1{a} libpsl5t64{a} librole-tiny-perl{a} librtmp1{a} libsasl2-2{a} libsasl2-modules-db{a} libset-object-perl{a} libsnappy1v5{a} libsodium-dev{a} libsodium23{a} libsort-versions-perl{a} libspiffy-perl{a} libssh2-1t64{a} libstatistics-descriptive-perl{a} libstrictures-perl{a} libstring-rewriteprefix-perl{a} libsub-exporter-perl{a} libsub-exporter-progressive-perl{a} libsub-identify-perl{a} libsub-install-perl{a} libsub-name-perl{a} libsub-quote-perl{a} libsub-uplevel-perl{a} libsuper-perl{a} libtask-weaken-perl{a} libterm-progressbar-perl{a} libterm-readkey-perl{a} libterm-ui-perl{a} libtest-bdd-cucumber-perl{a} libtest-class-perl{a} libtest-exception-perl{a} libtest-mockmodule-perl{a} libtest-mockobject-perl{a} libtest2-suite-perl{a} libtext-glob-perl{a} libtime-duration-parse-perl{a} libtime-duration-perl{a} libtimedate-perl{a} libtool{a} libtry-tiny-perl{a} libtype-tiny-perl{a} libuchardet0{a} libuniversal-can-perl{a} libuniversal-isa-perl{a} liburi-perl{a} libvariable-magic-perl{a} libwant-perl{a} libwww-perl{a} libwww-robotrules-perl{a} libxml-parser-perl{a} libxml-writer-perl{a} libxml2{a} libxml2-dev{a} libyaml-0-2{a} libyaml-libyaml-perl{a} libyaml-perl{a} libz3-4{a} libzmq-ffi-perl{a} libzmq3-dev{a} libzmq5{a} m4{a} man-db{a} netbase{a} openssl{a} perl-openssl-defaults{a} po-debconf{a} sensible-utils{a} The following packages are RECOMMENDED but will NOT be installed: cppzmq-dev curl krb5-locales less libarchive-cpio-perl libclass-c3-xs-perl libdata-dump-perl libdevel-stacktrace-perl libhtml-form-perl libhtml-format-perl libhttp-daemon-perl libio-compress-brotli-perl libjson-xs-perl libldap-common libltdl-dev libmail-sendmail-perl libmailtools-perl libpackage-stash-xs-perl libref-util-perl libsasl2-modules libtype-tiny-xs-perl libxstring-perl lynx openssh-client publicsuffix wget 0 packages upgraded, 225 newly installed, 0 to remove and 0 not upgraded. Need to get 117 MB of archives. After unpacking 532 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian trixie/main amd64 netbase all 6.4 [12.8 kB] Get: 2 http://deb.debian.org/debian trixie/main amd64 sensible-utils all 0.0.24 [24.8 kB] Get: 3 http://deb.debian.org/debian trixie/main amd64 openssl amd64 3.3.2-2 [1382 kB] Get: 4 http://deb.debian.org/debian trixie/main amd64 ca-certificates all 20240203 [158 kB] Get: 5 http://deb.debian.org/debian trixie/main amd64 libmagic-mgc amd64 1:5.45-3+b1 [314 kB] Get: 6 http://deb.debian.org/debian trixie/main amd64 libmagic1t64 amd64 1:5.45-3+b1 [108 kB] Get: 7 http://deb.debian.org/debian trixie/main amd64 file amd64 1:5.45-3+b1 [43.3 kB] Get: 8 http://deb.debian.org/debian trixie/main amd64 gettext-base amd64 0.22.5-2 [200 kB] Get: 9 http://deb.debian.org/debian trixie/main amd64 libuchardet0 amd64 0.0.8-1+b2 [68.9 kB] Get: 10 http://deb.debian.org/debian trixie/main amd64 groff-base amd64 1.23.0-5 [1181 kB] Get: 11 http://deb.debian.org/debian trixie/main amd64 bsdextrautils amd64 2.40.2-11 [91.5 kB] Get: 12 http://deb.debian.org/debian trixie/main amd64 libpipeline1 amd64 1.5.8-1 [42.0 kB] Get: 13 http://deb.debian.org/debian trixie/main amd64 man-db amd64 2.13.0-1 [1420 kB] Get: 14 http://deb.debian.org/debian trixie/main amd64 m4 amd64 1.4.19-4 [287 kB] Get: 15 http://deb.debian.org/debian trixie/main amd64 autoconf all 2.72-3 [493 kB] Get: 16 http://deb.debian.org/debian trixie/main amd64 autotools-dev all 20220109.1 [51.6 kB] Get: 17 http://deb.debian.org/debian trixie/main amd64 automake all 1:1.16.5-1.3 [823 kB] Get: 18 http://deb.debian.org/debian trixie/main amd64 autopoint all 0.22.5-2 [723 kB] Get: 19 http://deb.debian.org/debian trixie/main amd64 libcom-err2 amd64 1.47.1-1+b1 [23.2 kB] Get: 20 http://deb.debian.org/debian trixie/main amd64 comerr-dev amd64 2.1-1.47.1-1+b1 [54.8 kB] Get: 21 http://deb.debian.org/debian trixie/main amd64 libdebhelper-perl all 13.20 [89.7 kB] Get: 22 http://deb.debian.org/debian trixie/main amd64 libtool all 2.4.7-8 [517 kB] Get: 23 http://deb.debian.org/debian trixie/main amd64 dh-autoreconf all 20 [17.1 kB] Get: 24 http://deb.debian.org/debian trixie/main amd64 libarchive-zip-perl all 1.68-1 [104 kB] Get: 25 http://deb.debian.org/debian trixie/main amd64 libfile-stripnondeterminism-perl all 1.14.0-1 [19.5 kB] Get: 26 http://deb.debian.org/debian trixie/main amd64 dh-strip-nondeterminism all 1.14.0-1 [8448 B] Get: 27 http://deb.debian.org/debian trixie/main amd64 libelf1t64 amd64 0.192-4 [189 kB] Get: 28 http://deb.debian.org/debian trixie/main amd64 dwz amd64 0.15-1+b1 [110 kB] Get: 29 http://deb.debian.org/debian trixie/main amd64 libicu72 amd64 72.1-5+b1 [9423 kB] Get: 30 http://deb.debian.org/debian trixie/main amd64 libxml2 amd64 2.12.7+dfsg+really2.9.14-0.2+b1 [699 kB] Get: 31 http://deb.debian.org/debian trixie/main amd64 gettext amd64 0.22.5-2 [1601 kB] Get: 32 http://deb.debian.org/debian trixie/main amd64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 33 http://deb.debian.org/debian trixie/main amd64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 34 http://deb.debian.org/debian trixie/main amd64 debhelper all 13.20 [915 kB] Get: 35 http://deb.debian.org/debian trixie/main amd64 libedit2 amd64 3.1-20240808-1 [93.9 kB] Get: 36 http://deb.debian.org/debian trixie/main amd64 libz3-4 amd64 4.13.3-1 [8560 kB] Get: 37 http://deb.debian.org/debian trixie/main amd64 libllvm19 amd64 1:19.1.3-2 [26.0 MB] Get: 38 http://deb.debian.org/debian trixie/main amd64 libclang-cpp19 amd64 1:19.1.3-2 [13.2 MB] Get: 39 http://deb.debian.org/debian trixie/main amd64 libclang1-19 amd64 1:19.1.3-2 [7622 kB] Get: 40 http://deb.debian.org/debian trixie/main amd64 libfmt10 amd64 10.1.1+ds1-4 [127 kB] Get: 41 http://deb.debian.org/debian trixie/main amd64 doxygen-doxyparse amd64 1.9.8+ds-2+b3 [4935 kB] Get: 42 http://deb.debian.org/debian trixie/main amd64 libbrotli1 amd64 1.1.0-2+b6 [302 kB] Get: 43 http://deb.debian.org/debian trixie/main amd64 libkrb5support0 amd64 1.21.3-3 [32.5 kB] Get: 44 http://deb.debian.org/debian trixie/main amd64 libk5crypto3 amd64 1.21.3-3 [79.9 kB] Get: 45 http://deb.debian.org/debian trixie/main amd64 libkeyutils1 amd64 1.6.3-4 [9092 B] Get: 46 http://deb.debian.org/debian trixie/main amd64 libkrb5-3 amd64 1.21.3-3 [324 kB] Get: 47 http://deb.debian.org/debian trixie/main amd64 libgssapi-krb5-2 amd64 1.21.3-3 [136 kB] Get: 48 http://deb.debian.org/debian trixie/main amd64 libsasl2-modules-db amd64 2.1.28+dfsg1-8 [19.6 kB] Get: 49 http://deb.debian.org/debian trixie/main amd64 libsasl2-2 amd64 2.1.28+dfsg1-8 [57.3 kB] Get: 50 http://deb.debian.org/debian trixie/main amd64 libldap-2.5-0 amd64 2.5.18+dfsg-3+b1 [188 kB] Get: 51 http://deb.debian.org/debian trixie/main amd64 libnghttp2-14 amd64 1.64.0-1 [75.5 kB] Get: 52 http://deb.debian.org/debian trixie/main amd64 libnghttp3-9 amd64 1.4.0-1+b1 [63.6 kB] Get: 53 http://deb.debian.org/debian trixie/main amd64 libngtcp2-16 amd64 1.6.0-1 [122 kB] Get: 54 http://deb.debian.org/debian trixie/main amd64 libngtcp2-crypto-gnutls8 amd64 1.6.0-1 [19.6 kB] Get: 55 http://deb.debian.org/debian trixie/main amd64 libpsl5t64 amd64 0.21.2-1.1+b1 [57.2 kB] Get: 56 http://deb.debian.org/debian trixie/main amd64 librtmp1 amd64 2.4+20151223.gitfa8646d.1-2+b5 [58.8 kB] Get: 57 http://deb.debian.org/debian trixie/main amd64 libssh2-1t64 amd64 1.11.1-1 [245 kB] Get: 58 http://deb.debian.org/debian trixie/main amd64 libcurl3t64-gnutls amd64 8.11.0-1 [359 kB] Get: 59 http://deb.debian.org/debian trixie/main amd64 libexpat1 amd64 2.6.4-1 [106 kB] Get: 60 http://deb.debian.org/debian trixie/main amd64 liberror-perl all 0.17029-2 [29.0 kB] Get: 61 http://deb.debian.org/debian trixie/main amd64 git-man all 1:2.45.2-1 [2158 kB] Get: 62 http://deb.debian.org/debian trixie/main amd64 git amd64 1:2.45.2-1 [8645 kB] Get: 63 http://deb.debian.org/debian trixie/main amd64 icu-devtools amd64 72.1-5+b1 [210 kB] Get: 64 http://deb.debian.org/debian trixie/main amd64 libgssrpc4t64 amd64 1.21.3-3 [59.5 kB] Get: 65 http://deb.debian.org/debian trixie/main amd64 libkadm5clnt-mit12 amd64 1.21.3-3 [41.7 kB] Get: 66 http://deb.debian.org/debian trixie/main amd64 libkdb5-10t64 amd64 1.21.3-3 [42.0 kB] Get: 67 http://deb.debian.org/debian trixie/main amd64 libkadm5srv-mit12 amd64 1.21.3-3 [53.5 kB] Get: 68 http://deb.debian.org/debian trixie/main amd64 krb5-multidev amd64 1.21.3-3 [126 kB] Get: 69 http://deb.debian.org/debian trixie/main amd64 libalgorithm-c3-perl all 0.11-2 [10.8 kB] Get: 70 http://deb.debian.org/debian trixie/main amd64 libcapture-tiny-perl all 0.48-2 [24.6 kB] Get: 71 http://deb.debian.org/debian trixie/main amd64 libparams-util-perl amd64 1.102-3+b1 [24.4 kB] Get: 72 http://deb.debian.org/debian trixie/main amd64 libsub-install-perl all 0.929-1 [10.5 kB] Get: 73 http://deb.debian.org/debian trixie/main amd64 libdata-optlist-perl all 0.114-1 [10.6 kB] Get: 74 http://deb.debian.org/debian trixie/main amd64 libb-hooks-op-check-perl amd64 0.22-3+b2 [10.6 kB] Get: 75 http://deb.debian.org/debian trixie/main amd64 libdynaloader-functions-perl all 0.004-1 [12.1 kB] Get: 76 http://deb.debian.org/debian trixie/main amd64 libdevel-callchecker-perl amd64 0.009-1+b1 [16.2 kB] Get: 77 http://deb.debian.org/debian trixie/main amd64 libparams-classify-perl amd64 0.015-2+b4 [22.5 kB] Get: 78 http://deb.debian.org/debian trixie/main amd64 libmodule-runtime-perl all 0.016-2 [19.6 kB] Get: 79 http://deb.debian.org/debian trixie/main amd64 libtry-tiny-perl all 0.32-1 [22.9 kB] Get: 80 http://deb.debian.org/debian trixie/main amd64 libmodule-implementation-perl all 0.09-2 [12.6 kB] Get: 81 http://deb.debian.org/debian trixie/main amd64 libpackage-stash-perl all 0.40-1 [22.0 kB] Get: 82 http://deb.debian.org/debian trixie/main amd64 libclass-load-perl all 0.25-2 [15.3 kB] Get: 83 http://deb.debian.org/debian trixie/main amd64 libio-stringy-perl all 2.113-2 [48.3 kB] Get: 84 http://deb.debian.org/debian trixie/main amd64 libparams-validate-perl amd64 1.31-2+b3 [63.4 kB] Get: 85 http://deb.debian.org/debian trixie/main amd64 libsub-exporter-perl all 0.990-1 [50.6 kB] Get: 86 http://deb.debian.org/debian trixie/main amd64 libgetopt-long-descriptive-perl all 0.115-1 [27.6 kB] Get: 87 http://deb.debian.org/debian trixie/main amd64 libio-tiecombine-perl all 1.005-3 [10.8 kB] Get: 88 http://deb.debian.org/debian trixie/main amd64 libmodule-pluggable-perl all 5.2-5 [23.0 kB] Get: 89 http://deb.debian.org/debian trixie/main amd64 libstring-rewriteprefix-perl all 0.009-1 [7140 B] Get: 90 http://deb.debian.org/debian trixie/main amd64 libapp-cmd-perl all 0.336-1 [65.8 kB] Get: 91 http://deb.debian.org/debian trixie/main amd64 libarchive-extract-perl all 0.88-1 [26.3 kB] Get: 92 http://deb.debian.org/debian trixie/main amd64 libsub-exporter-progressive-perl all 0.001013-3 [7496 B] Get: 93 http://deb.debian.org/debian trixie/main amd64 libvariable-magic-perl amd64 0.64-1+b1 [44.9 kB] Get: 94 http://deb.debian.org/debian trixie/main amd64 libb-hooks-endofscope-perl all 0.28-1 [17.5 kB] Get: 95 http://deb.debian.org/debian trixie/main amd64 libmd-dev amd64 1.1.0-2+b1 [55.3 kB] Get: 96 http://deb.debian.org/debian trixie/main amd64 libbsd-dev amd64 0.12.2-2 [258 kB] Get: 97 http://deb.debian.org/debian trixie/main amd64 libipc-sharelite-perl amd64 0.17-5+b3 [23.1 kB] Get: 98 http://deb.debian.org/debian trixie/main amd64 libcache-cache-perl all 1.08-3 [63.4 kB] Get: 99 http://deb.debian.org/debian trixie/main amd64 libcompress-lz4-perl amd64 0.25+ds-2+b4 [11.9 kB] Get: 100 http://deb.debian.org/debian trixie/main amd64 libsnappy1v5 amd64 1.2.1-1+b1 [29.6 kB] Get: 101 http://deb.debian.org/debian trixie/main amd64 libcompress-snappy-perl amd64 0.25+ds-1+b1 [10.1 kB] Get: 102 http://deb.debian.org/debian trixie/main amd64 libcache-fastmmap-perl amd64 1.57-2+b4 [49.3 kB] Get: 103 http://deb.debian.org/debian trixie/main amd64 libcarp-assert-perl all 0.22-1 [16.7 kB] Get: 104 http://deb.debian.org/debian trixie/main amd64 libdata-serializer-perl all 0.65-2 [66.0 kB] Get: 105 http://deb.debian.org/debian trixie/main amd64 libdigest-jhash-perl amd64 0.10-2+b4 [13.8 kB] Get: 106 http://deb.debian.org/debian trixie/main amd64 libhash-moreutils-perl all 0.06-2 [10.8 kB] Get: 107 http://deb.debian.org/debian trixie/main amd64 libcpanel-json-xs-perl amd64 4.38-1+b1 [129 kB] Get: 108 http://deb.debian.org/debian trixie/main amd64 libjson-maybexs-perl all 1.004008-1 [12.9 kB] Get: 109 http://deb.debian.org/debian trixie/main amd64 libexporter-tiny-perl all 1.006002-1 [38.7 kB] Get: 110 http://deb.debian.org/debian trixie/main amd64 liblist-moreutils-xs-perl amd64 0.430-4+b2 [42.1 kB] Get: 111 http://deb.debian.org/debian trixie/main amd64 liblist-moreutils-perl all 0.430-2 [46.9 kB] Get: 112 http://deb.debian.org/debian trixie/main amd64 liblog-any-perl all 1.717-1 [78.9 kB] Get: 113 http://deb.debian.org/debian trixie/main amd64 libclass-method-modifiers-perl all 2.15-1 [18.0 kB] Get: 114 http://deb.debian.org/debian trixie/main amd64 libclass-xsaccessor-perl amd64 1.19-4+b4 [36.1 kB] Get: 115 http://deb.debian.org/debian trixie/main amd64 libimport-into-perl all 1.002005-2 [11.3 kB] Get: 116 http://deb.debian.org/debian trixie/main amd64 librole-tiny-perl all 2.002004-1 [21.4 kB] Get: 117 http://deb.debian.org/debian trixie/main amd64 libsub-quote-perl all 2.006008-1 [21.8 kB] Get: 118 http://deb.debian.org/debian trixie/main amd64 libmoo-perl all 2.005005-1 [58.0 kB] Get: 119 http://deb.debian.org/debian trixie/main amd64 libmoox-types-mooselike-perl all 0.29-2 [18.4 kB] Get: 120 http://deb.debian.org/debian trixie/main amd64 libmoox-types-mooselike-numeric-perl all 1.03-2 [5564 B] Get: 121 http://deb.debian.org/debian trixie/main amd64 libossp-uuid16 amd64 1.6.3-1 [31.7 kB] Get: 122 http://deb.debian.org/debian trixie/main amd64 libossp-uuid-perl amd64 1.6.3-1 [27.0 kB] Get: 123 http://deb.debian.org/debian trixie/main amd64 libtask-weaken-perl all 1.06-2 [9364 B] Get: 124 http://deb.debian.org/debian trixie/main amd64 libtime-duration-perl all 1.21-2 [13.1 kB] Get: 125 http://deb.debian.org/debian trixie/main amd64 libtime-duration-parse-perl all 0.16-1 [8520 B] Get: 126 http://deb.debian.org/debian trixie/main amd64 libtimedate-perl all 2.3300-2 [39.3 kB] Get: 127 http://deb.debian.org/debian trixie/main amd64 libchi-perl all 0.61-1 [111 kB] Get: 128 http://deb.debian.org/debian trixie/main amd64 libsub-name-perl amd64 0.27-1+b3 [12.5 kB] Get: 129 http://deb.debian.org/debian trixie/main amd64 libclass-accessor-perl all 0.51-2 [22.7 kB] Get: 130 http://deb.debian.org/debian trixie/main amd64 libclass-c3-perl all 0.35-2 [21.0 kB] Get: 131 http://deb.debian.org/debian trixie/main amd64 libclass-inspector-perl all 1.36-3 [17.5 kB] Get: 132 http://deb.debian.org/debian trixie/main amd64 libclass-methodmaker-perl amd64 2.25-1 [181 kB] Get: 133 http://deb.debian.org/debian trixie/main amd64 libclone-perl amd64 0.47-1+b1 [13.9 kB] Get: 134 http://deb.debian.org/debian trixie/main amd64 libwant-perl amd64 0.29-2+b4 [27.6 kB] Get: 135 http://deb.debian.org/debian trixie/main amd64 libcontextual-return-perl all 0.004014-4 [54.9 kB] Get: 136 http://deb.debian.org/debian trixie/main amd64 libcucumber-tagexpressions-perl all 6.1.0-1 [11.2 kB] Get: 137 http://deb.debian.org/debian trixie/main amd64 libstrictures-perl all 2.000006-1 [18.6 kB] Get: 138 http://deb.debian.org/debian trixie/main amd64 libdata-perl-perl all 0.002011-2 [40.8 kB] Get: 139 http://deb.debian.org/debian trixie/main amd64 libdbi-perl amd64 1.645-1+b1 [861 kB] Get: 140 http://deb.debian.org/debian trixie/main amd64 libdbd-sqlite3-perl amd64 1.76-1 [175 kB] Get: 141 http://deb.debian.org/debian trixie/main amd64 libencode-locale-perl all 1.05-3 [12.9 kB] Get: 142 http://deb.debian.org/debian trixie/main amd64 libenv-path-perl all 0.19-4 [19.1 kB] Get: 143 http://deb.debian.org/debian trixie/main amd64 libfile-which-perl all 1.27-2 [15.1 kB] Get: 144 http://deb.debian.org/debian trixie/main amd64 libffi-checklib-perl all 0.31-1 [19.4 kB] Get: 145 http://deb.debian.org/debian trixie/main amd64 libffi-platypus-perl amd64 2.09-1+b1 [331 kB] Get: 146 http://deb.debian.org/debian trixie/main amd64 libfile-chdir-perl all 0.1008-1.2 [11.9 kB] Get: 147 http://deb.debian.org/debian trixie/main amd64 libfile-copy-recursive-perl all 0.45-4 [20.0 kB] Get: 148 http://deb.debian.org/debian trixie/main amd64 libnumber-compare-perl all 0.03-3 [6332 B] Get: 149 http://deb.debian.org/debian trixie/main amd64 libtext-glob-perl all 0.11-3 [7676 B] Get: 150 http://deb.debian.org/debian trixie/main amd64 libfile-find-rule-perl all 0.34-3 [26.6 kB] Get: 151 http://deb.debian.org/debian trixie/main amd64 libfile-homedir-perl all 1.006-2 [42.4 kB] Get: 152 http://deb.debian.org/debian trixie/main amd64 libfile-libmagic-perl amd64 1.23-2+b2 [31.1 kB] Get: 153 http://deb.debian.org/debian trixie/main amd64 libhttp-date-perl all 6.06-1 [10.7 kB] Get: 154 http://deb.debian.org/debian trixie/main amd64 libfile-listing-perl all 6.16-1 [12.4 kB] Get: 155 http://deb.debian.org/debian trixie/main amd64 libfile-sharedir-perl all 1.118-3 [16.0 kB] Get: 156 http://deb.debian.org/debian trixie/main amd64 libfile-share-perl all 0.27-2 [7864 B] Get: 157 http://deb.debian.org/debian trixie/main amd64 libfile-sharedir-install-perl all 0.14-2 [11.6 kB] Get: 158 http://deb.debian.org/debian trixie/main amd64 libfile-slurp-perl all 9999.32-2 [26.7 kB] Get: 159 http://deb.debian.org/debian trixie/main amd64 libfindbin-libs-perl all 3.0.2-1 [29.7 kB] Get: 160 http://deb.debian.org/debian trixie/main amd64 libsort-versions-perl all 1.62-3 [8928 B] Get: 161 http://deb.debian.org/debian trixie/main amd64 libgit-wrapper-perl all 0.048-2 [33.4 kB] Get: 162 http://deb.debian.org/debian trixie/main amd64 libheap-perl all 0.80-5 [34.3 kB] Get: 163 http://deb.debian.org/debian trixie/main amd64 libset-object-perl amd64 1.42-1+b5 [37.6 kB] Get: 164 http://deb.debian.org/debian trixie/main amd64 libgraph-perl all 1:0.9729-1 [108 kB] Get: 165 http://deb.debian.org/debian trixie/main amd64 libspiffy-perl all 0.46-1 [25.7 kB] Get: 166 http://deb.debian.org/debian trixie/main amd64 libio-all-perl all 0.87-2 [67.3 kB] Get: 167 http://deb.debian.org/debian trixie/main amd64 libparse-yapp-perl all 1.21-4 [41.5 kB] Get: 168 http://deb.debian.org/debian trixie/main amd64 liburi-perl all 5.30-1 [105 kB] Get: 169 http://deb.debian.org/debian trixie/main amd64 libhtml-tagset-perl all 3.24-1 [14.7 kB] Get: 170 http://deb.debian.org/debian trixie/main amd64 libhtml-parser-perl amd64 3.83-1+b1 [99.7 kB] Get: 171 http://deb.debian.org/debian trixie/main amd64 libhtml-tree-perl all 5.07-3 [211 kB] Get: 172 http://deb.debian.org/debian trixie/main amd64 libio-html-perl all 1.004-3 [16.2 kB] Get: 173 http://deb.debian.org/debian trixie/main amd64 liblwp-mediatypes-perl all 6.04-2 [20.2 kB] Get: 174 http://deb.debian.org/debian trixie/main amd64 libhttp-message-perl all 7.00-2 [79.8 kB] Get: 175 http://deb.debian.org/debian trixie/main amd64 libhttp-cookies-perl all 6.11-1 [19.1 kB] Get: 176 http://deb.debian.org/debian trixie/main amd64 libhttp-negotiate-perl all 6.01-2 [13.1 kB] Get: 177 http://deb.debian.org/debian trixie/main amd64 perl-openssl-defaults amd64 7+b2 [6724 B] Get: 178 http://deb.debian.org/debian trixie/main amd64 libnet-ssleay-perl amd64 1.94-2 [339 kB] Get: 179 http://deb.debian.org/debian trixie/main amd64 libio-socket-ssl-perl all 2.089-1 [223 kB] Get: 180 http://deb.debian.org/debian trixie/main amd64 libnet-http-perl all 6.23-1 [23.9 kB] Get: 181 http://deb.debian.org/debian trixie/main amd64 liblwp-protocol-https-perl all 6.14-1 [10.8 kB] Get: 182 http://deb.debian.org/debian trixie/main amd64 libwww-robotrules-perl all 6.02-1 [12.9 kB] Get: 183 http://deb.debian.org/debian trixie/main amd64 libwww-perl all 6.77-1 [183 kB] Get: 184 http://deb.debian.org/debian trixie/main amd64 libxml-parser-perl amd64 2.47-1+b3 [198 kB] Get: 185 http://deb.debian.org/debian trixie/main amd64 libxml-writer-perl all 0.900-2 [26.8 kB] Get: 186 http://deb.debian.org/debian trixie/main amd64 libgraph-readwrite-perl all 2.10-1 [45.2 kB] Get: 187 http://deb.debian.org/debian trixie/main amd64 libicu-dev amd64 72.1-5+b1 [10.4 MB] Get: 188 http://deb.debian.org/debian trixie/main amd64 libjson-perl all 4.10000-1 [87.5 kB] Get: 189 http://deb.debian.org/debian trixie/main amd64 libkrb5-dev amd64 1.21.3-3 [15.7 kB] Get: 190 http://deb.debian.org/debian trixie/main amd64 liblist-compare-perl all 0.55-2 [65.7 kB] Get: 191 http://deb.debian.org/debian trixie/main amd64 liblog-message-perl all 0.8-3 [22.8 kB] Get: 192 http://deb.debian.org/debian trixie/main amd64 liblog-message-simple-perl all 0.10-3 [7676 B] Get: 193 http://deb.debian.org/debian trixie/main amd64 libmoox-handlesvia-perl all 0.001009-2 [18.4 kB] Get: 194 http://deb.debian.org/debian trixie/main amd64 libmro-compat-perl all 0.15-2 [11.8 kB] Get: 195 http://deb.debian.org/debian trixie/main amd64 libsub-identify-perl amd64 0.14-3+b3 [11.3 kB] Get: 196 http://deb.debian.org/debian trixie/main amd64 libnamespace-clean-perl all 0.27-2 [17.8 kB] Get: 197 http://deb.debian.org/debian trixie/main amd64 libnorm1t64 amd64 1.5.9+dfsg-3.1+b1 [221 kB] Get: 198 http://deb.debian.org/debian trixie/main amd64 libxml2-dev amd64 2.12.7+dfsg+really2.9.14-0.2+b1 [795 kB] Get: 199 http://deb.debian.org/debian trixie/main amd64 libnorm-dev amd64 1.5.9+dfsg-3.1+b1 [389 kB] Get: 200 http://deb.debian.org/debian trixie/main amd64 libpath-class-perl all 0.37-4 [42.7 kB] Get: 201 http://deb.debian.org/debian trixie/main amd64 libpgm-5.3-0t64 amd64 5.3.128~dfsg-2.1+b1 [162 kB] Get: 202 http://deb.debian.org/debian trixie/main amd64 libpgm-dev amd64 5.3.128~dfsg-2.1+b1 [195 kB] Get: 203 http://deb.debian.org/debian trixie/main amd64 libsodium23 amd64 1.0.18-1+b2 [165 kB] Get: 204 http://deb.debian.org/debian trixie/main amd64 libsodium-dev amd64 1.0.18-1+b2 [184 kB] Get: 205 http://deb.debian.org/debian trixie/main amd64 libstatistics-descriptive-perl all 3.0801-1 [62.8 kB] Get: 206 http://deb.debian.org/debian trixie/main amd64 libsub-uplevel-perl all 0.2800-3 [14.0 kB] Get: 207 http://deb.debian.org/debian trixie/main amd64 libsuper-perl all 1.20190531-1 [11.5 kB] Get: 208 http://deb.debian.org/debian trixie/main amd64 libterm-readkey-perl amd64 2.38-2+b4 [24.6 kB] Get: 209 http://deb.debian.org/debian trixie/main amd64 libterm-progressbar-perl all 2.23-1 [24.5 kB] Get: 210 http://deb.debian.org/debian trixie/main amd64 libterm-ui-perl all 0.50-1 [19.5 kB] Get: 211 http://deb.debian.org/debian trixie/main amd64 libtest2-suite-perl all 0.000163-1 [383 kB] Get: 212 http://deb.debian.org/debian trixie/main amd64 libtype-tiny-perl all 2.004000-1 [357 kB] Get: 213 http://deb.debian.org/debian trixie/main amd64 libyaml-perl all 1.31-1 [64.8 kB] Get: 214 http://deb.debian.org/debian trixie/main amd64 libtest-bdd-cucumber-perl all 0.86-1 [141 kB] Get: 215 http://deb.debian.org/debian trixie/main amd64 libtest-exception-perl all 0.43-3 [16.9 kB] Get: 216 http://deb.debian.org/debian trixie/main amd64 libtest-class-perl all 0.52-1 [56.6 kB] Get: 217 http://deb.debian.org/debian trixie/main amd64 libtest-mockmodule-perl all 0.178.0-1 [15.0 kB] Get: 218 http://deb.debian.org/debian trixie/main amd64 libuniversal-can-perl all 1.20140328-3 [11.9 kB] Get: 219 http://deb.debian.org/debian trixie/main amd64 libuniversal-isa-perl all 1.20171012-3 [8672 B] Get: 220 http://deb.debian.org/debian trixie/main amd64 libtest-mockobject-perl all 1.20200122-4 [26.7 kB] Get: 221 http://deb.debian.org/debian trixie/main amd64 libyaml-0-2 amd64 0.2.5-1+b2 [52.7 kB] Get: 222 http://deb.debian.org/debian trixie/main amd64 libyaml-libyaml-perl amd64 0.902.0+ds-2+b1 [35.5 kB] Get: 223 http://deb.debian.org/debian trixie/main amd64 libzmq5 amd64 4.3.5-1+b3 [283 kB] Get: 224 http://deb.debian.org/debian trixie/main amd64 libzmq3-dev amd64 4.3.5-1+b3 [494 kB] Get: 225 http://deb.debian.org/debian trixie/main amd64 libzmq-ffi-perl all 1.19-1 [31.5 kB] Fetched 117 MB in 13s (9105 kB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package netbase. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19969 files and directories currently installed.) Preparing to unpack .../000-netbase_6.4_all.deb ... Unpacking netbase (6.4) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../001-sensible-utils_0.0.24_all.deb ... Unpacking sensible-utils (0.0.24) ... Selecting previously unselected package openssl. Preparing to unpack .../002-openssl_3.3.2-2_amd64.deb ... Unpacking openssl (3.3.2-2) ... Selecting previously unselected package ca-certificates. Preparing to unpack .../003-ca-certificates_20240203_all.deb ... Unpacking ca-certificates (20240203) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../004-libmagic-mgc_1%3a5.45-3+b1_amd64.deb ... Unpacking libmagic-mgc (1:5.45-3+b1) ... Selecting previously unselected package libmagic1t64:amd64. Preparing to unpack .../005-libmagic1t64_1%3a5.45-3+b1_amd64.deb ... Unpacking libmagic1t64:amd64 (1:5.45-3+b1) ... Selecting previously unselected package file. Preparing to unpack .../006-file_1%3a5.45-3+b1_amd64.deb ... Unpacking file (1:5.45-3+b1) ... Selecting previously unselected package gettext-base. Preparing to unpack .../007-gettext-base_0.22.5-2_amd64.deb ... Unpacking gettext-base (0.22.5-2) ... Selecting previously unselected package libuchardet0:amd64. Preparing to unpack .../008-libuchardet0_0.0.8-1+b2_amd64.deb ... Unpacking libuchardet0:amd64 (0.0.8-1+b2) ... Selecting previously unselected package groff-base. Preparing to unpack .../009-groff-base_1.23.0-5_amd64.deb ... Unpacking groff-base (1.23.0-5) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../010-bsdextrautils_2.40.2-11_amd64.deb ... Unpacking bsdextrautils (2.40.2-11) ... Selecting previously unselected package libpipeline1:amd64. Preparing to unpack .../011-libpipeline1_1.5.8-1_amd64.deb ... Unpacking libpipeline1:amd64 (1.5.8-1) ... Selecting previously unselected package man-db. Preparing to unpack .../012-man-db_2.13.0-1_amd64.deb ... Unpacking man-db (2.13.0-1) ... Selecting previously unselected package m4. Preparing to unpack .../013-m4_1.4.19-4_amd64.deb ... Unpacking m4 (1.4.19-4) ... Selecting previously unselected package autoconf. Preparing to unpack .../014-autoconf_2.72-3_all.deb ... Unpacking autoconf (2.72-3) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../015-autotools-dev_20220109.1_all.deb ... Unpacking autotools-dev (20220109.1) ... Selecting previously unselected package automake. Preparing to unpack .../016-automake_1%3a1.16.5-1.3_all.deb ... Unpacking automake (1:1.16.5-1.3) ... Selecting previously unselected package autopoint. Preparing to unpack .../017-autopoint_0.22.5-2_all.deb ... Unpacking autopoint (0.22.5-2) ... Selecting previously unselected package libcom-err2:amd64. Preparing to unpack .../018-libcom-err2_1.47.1-1+b1_amd64.deb ... Unpacking libcom-err2:amd64 (1.47.1-1+b1) ... Selecting previously unselected package comerr-dev:amd64. Preparing to unpack .../019-comerr-dev_2.1-1.47.1-1+b1_amd64.deb ... Unpacking comerr-dev:amd64 (2.1-1.47.1-1+b1) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../020-libdebhelper-perl_13.20_all.deb ... Unpacking libdebhelper-perl (13.20) ... Selecting previously unselected package libtool. Preparing to unpack .../021-libtool_2.4.7-8_all.deb ... Unpacking libtool (2.4.7-8) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../022-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../023-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../024-libfile-stripnondeterminism-perl_1.14.0-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.14.0-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../025-dh-strip-nondeterminism_1.14.0-1_all.deb ... Unpacking dh-strip-nondeterminism (1.14.0-1) ... Selecting previously unselected package libelf1t64:amd64. Preparing to unpack .../026-libelf1t64_0.192-4_amd64.deb ... Unpacking libelf1t64:amd64 (0.192-4) ... Selecting previously unselected package dwz. Preparing to unpack .../027-dwz_0.15-1+b1_amd64.deb ... Unpacking dwz (0.15-1+b1) ... Selecting previously unselected package libicu72:amd64. Preparing to unpack .../028-libicu72_72.1-5+b1_amd64.deb ... Unpacking libicu72:amd64 (72.1-5+b1) ... Selecting previously unselected package libxml2:amd64. Preparing to unpack .../029-libxml2_2.12.7+dfsg+really2.9.14-0.2+b1_amd64.deb ... Unpacking libxml2:amd64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Selecting previously unselected package gettext. Preparing to unpack .../030-gettext_0.22.5-2_amd64.deb ... Unpacking gettext (0.22.5-2) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../031-intltool-debian_0.35.0+20060710.6_all.deb ... Unpacking intltool-debian (0.35.0+20060710.6) ... Selecting previously unselected package po-debconf. Preparing to unpack .../032-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../033-debhelper_13.20_all.deb ... Unpacking debhelper (13.20) ... Selecting previously unselected package libedit2:amd64. Preparing to unpack .../034-libedit2_3.1-20240808-1_amd64.deb ... Unpacking libedit2:amd64 (3.1-20240808-1) ... Selecting previously unselected package libz3-4:amd64. Preparing to unpack .../035-libz3-4_4.13.3-1_amd64.deb ... Unpacking libz3-4:amd64 (4.13.3-1) ... Selecting previously unselected package libllvm19:amd64. Preparing to unpack .../036-libllvm19_1%3a19.1.3-2_amd64.deb ... Unpacking libllvm19:amd64 (1:19.1.3-2) ... Selecting previously unselected package libclang-cpp19. Preparing to unpack .../037-libclang-cpp19_1%3a19.1.3-2_amd64.deb ... Unpacking libclang-cpp19 (1:19.1.3-2) ... Selecting previously unselected package libclang1-19. Preparing to unpack .../038-libclang1-19_1%3a19.1.3-2_amd64.deb ... Unpacking libclang1-19 (1:19.1.3-2) ... Selecting previously unselected package libfmt10:amd64. Preparing to unpack .../039-libfmt10_10.1.1+ds1-4_amd64.deb ... Unpacking libfmt10:amd64 (10.1.1+ds1-4) ... Selecting previously unselected package doxygen-doxyparse. Preparing to unpack .../040-doxygen-doxyparse_1.9.8+ds-2+b3_amd64.deb ... Unpacking doxygen-doxyparse (1.9.8+ds-2+b3) ... Selecting previously unselected package libbrotli1:amd64. Preparing to unpack .../041-libbrotli1_1.1.0-2+b6_amd64.deb ... Unpacking libbrotli1:amd64 (1.1.0-2+b6) ... Selecting previously unselected package libkrb5support0:amd64. Preparing to unpack .../042-libkrb5support0_1.21.3-3_amd64.deb ... Unpacking libkrb5support0:amd64 (1.21.3-3) ... Selecting previously unselected package libk5crypto3:amd64. Preparing to unpack .../043-libk5crypto3_1.21.3-3_amd64.deb ... Unpacking libk5crypto3:amd64 (1.21.3-3) ... Selecting previously unselected package libkeyutils1:amd64. Preparing to unpack .../044-libkeyutils1_1.6.3-4_amd64.deb ... Unpacking libkeyutils1:amd64 (1.6.3-4) ... Selecting previously unselected package libkrb5-3:amd64. Preparing to unpack .../045-libkrb5-3_1.21.3-3_amd64.deb ... Unpacking libkrb5-3:amd64 (1.21.3-3) ... Selecting previously unselected package libgssapi-krb5-2:amd64. Preparing to unpack .../046-libgssapi-krb5-2_1.21.3-3_amd64.deb ... Unpacking libgssapi-krb5-2:amd64 (1.21.3-3) ... Selecting previously unselected package libsasl2-modules-db:amd64. Preparing to unpack .../047-libsasl2-modules-db_2.1.28+dfsg1-8_amd64.deb ... Unpacking libsasl2-modules-db:amd64 (2.1.28+dfsg1-8) ... Selecting previously unselected package libsasl2-2:amd64. Preparing to unpack .../048-libsasl2-2_2.1.28+dfsg1-8_amd64.deb ... Unpacking libsasl2-2:amd64 (2.1.28+dfsg1-8) ... Selecting previously unselected package libldap-2.5-0:amd64. Preparing to unpack .../049-libldap-2.5-0_2.5.18+dfsg-3+b1_amd64.deb ... Unpacking libldap-2.5-0:amd64 (2.5.18+dfsg-3+b1) ... Selecting previously unselected package libnghttp2-14:amd64. Preparing to unpack .../050-libnghttp2-14_1.64.0-1_amd64.deb ... Unpacking libnghttp2-14:amd64 (1.64.0-1) ... Selecting previously unselected package libnghttp3-9:amd64. Preparing to unpack .../051-libnghttp3-9_1.4.0-1+b1_amd64.deb ... Unpacking libnghttp3-9:amd64 (1.4.0-1+b1) ... Selecting previously unselected package libngtcp2-16:amd64. Preparing to unpack .../052-libngtcp2-16_1.6.0-1_amd64.deb ... Unpacking libngtcp2-16:amd64 (1.6.0-1) ... Selecting previously unselected package libngtcp2-crypto-gnutls8:amd64. Preparing to unpack .../053-libngtcp2-crypto-gnutls8_1.6.0-1_amd64.deb ... Unpacking libngtcp2-crypto-gnutls8:amd64 (1.6.0-1) ... Selecting previously unselected package libpsl5t64:amd64. Preparing to unpack .../054-libpsl5t64_0.21.2-1.1+b1_amd64.deb ... Unpacking libpsl5t64:amd64 (0.21.2-1.1+b1) ... Selecting previously unselected package librtmp1:amd64. Preparing to unpack .../055-librtmp1_2.4+20151223.gitfa8646d.1-2+b5_amd64.deb ... Unpacking librtmp1:amd64 (2.4+20151223.gitfa8646d.1-2+b5) ... Selecting previously unselected package libssh2-1t64:amd64. Preparing to unpack .../056-libssh2-1t64_1.11.1-1_amd64.deb ... Unpacking libssh2-1t64:amd64 (1.11.1-1) ... Selecting previously unselected package libcurl3t64-gnutls:amd64. Preparing to unpack .../057-libcurl3t64-gnutls_8.11.0-1_amd64.deb ... Unpacking libcurl3t64-gnutls:amd64 (8.11.0-1) ... Selecting previously unselected package libexpat1:amd64. Preparing to unpack .../058-libexpat1_2.6.4-1_amd64.deb ... Unpacking libexpat1:amd64 (2.6.4-1) ... Selecting previously unselected package liberror-perl. Preparing to unpack .../059-liberror-perl_0.17029-2_all.deb ... Unpacking liberror-perl (0.17029-2) ... Selecting previously unselected package git-man. Preparing to unpack .../060-git-man_1%3a2.45.2-1_all.deb ... Unpacking git-man (1:2.45.2-1) ... Selecting previously unselected package git. Preparing to unpack .../061-git_1%3a2.45.2-1_amd64.deb ... Unpacking git (1:2.45.2-1) ... Selecting previously unselected package icu-devtools. Preparing to unpack .../062-icu-devtools_72.1-5+b1_amd64.deb ... Unpacking icu-devtools (72.1-5+b1) ... Selecting previously unselected package libgssrpc4t64:amd64. Preparing to unpack .../063-libgssrpc4t64_1.21.3-3_amd64.deb ... Unpacking libgssrpc4t64:amd64 (1.21.3-3) ... Selecting previously unselected package libkadm5clnt-mit12:amd64. Preparing to unpack .../064-libkadm5clnt-mit12_1.21.3-3_amd64.deb ... Unpacking libkadm5clnt-mit12:amd64 (1.21.3-3) ... Selecting previously unselected package libkdb5-10t64:amd64. Preparing to unpack .../065-libkdb5-10t64_1.21.3-3_amd64.deb ... Unpacking libkdb5-10t64:amd64 (1.21.3-3) ... Selecting previously unselected package libkadm5srv-mit12:amd64. Preparing to unpack .../066-libkadm5srv-mit12_1.21.3-3_amd64.deb ... Unpacking libkadm5srv-mit12:amd64 (1.21.3-3) ... Selecting previously unselected package krb5-multidev:amd64. Preparing to unpack .../067-krb5-multidev_1.21.3-3_amd64.deb ... Unpacking krb5-multidev:amd64 (1.21.3-3) ... Selecting previously unselected package libalgorithm-c3-perl. Preparing to unpack .../068-libalgorithm-c3-perl_0.11-2_all.deb ... Unpacking libalgorithm-c3-perl (0.11-2) ... Selecting previously unselected package libcapture-tiny-perl. Preparing to unpack .../069-libcapture-tiny-perl_0.48-2_all.deb ... Unpacking libcapture-tiny-perl (0.48-2) ... Selecting previously unselected package libparams-util-perl. Preparing to unpack .../070-libparams-util-perl_1.102-3+b1_amd64.deb ... Unpacking libparams-util-perl (1.102-3+b1) ... Selecting previously unselected package libsub-install-perl. Preparing to unpack .../071-libsub-install-perl_0.929-1_all.deb ... Unpacking libsub-install-perl (0.929-1) ... Selecting previously unselected package libdata-optlist-perl. Preparing to unpack .../072-libdata-optlist-perl_0.114-1_all.deb ... Unpacking libdata-optlist-perl (0.114-1) ... Selecting previously unselected package libb-hooks-op-check-perl:amd64. Preparing to unpack .../073-libb-hooks-op-check-perl_0.22-3+b2_amd64.deb ... Unpacking libb-hooks-op-check-perl:amd64 (0.22-3+b2) ... Selecting previously unselected package libdynaloader-functions-perl. Preparing to unpack .../074-libdynaloader-functions-perl_0.004-1_all.deb ... Unpacking libdynaloader-functions-perl (0.004-1) ... Selecting previously unselected package libdevel-callchecker-perl:amd64. Preparing to unpack .../075-libdevel-callchecker-perl_0.009-1+b1_amd64.deb ... Unpacking libdevel-callchecker-perl:amd64 (0.009-1+b1) ... Selecting previously unselected package libparams-classify-perl:amd64. Preparing to unpack .../076-libparams-classify-perl_0.015-2+b4_amd64.deb ... Unpacking libparams-classify-perl:amd64 (0.015-2+b4) ... Selecting previously unselected package libmodule-runtime-perl. Preparing to unpack .../077-libmodule-runtime-perl_0.016-2_all.deb ... Unpacking libmodule-runtime-perl (0.016-2) ... Selecting previously unselected package libtry-tiny-perl. Preparing to unpack .../078-libtry-tiny-perl_0.32-1_all.deb ... Unpacking libtry-tiny-perl (0.32-1) ... Selecting previously unselected package libmodule-implementation-perl. Preparing to unpack .../079-libmodule-implementation-perl_0.09-2_all.deb ... Unpacking libmodule-implementation-perl (0.09-2) ... Selecting previously unselected package libpackage-stash-perl. Preparing to unpack .../080-libpackage-stash-perl_0.40-1_all.deb ... Unpacking libpackage-stash-perl (0.40-1) ... Selecting previously unselected package libclass-load-perl. Preparing to unpack .../081-libclass-load-perl_0.25-2_all.deb ... Unpacking libclass-load-perl (0.25-2) ... Selecting previously unselected package libio-stringy-perl. Preparing to unpack .../082-libio-stringy-perl_2.113-2_all.deb ... Unpacking libio-stringy-perl (2.113-2) ... Selecting previously unselected package libparams-validate-perl:amd64. Preparing to unpack .../083-libparams-validate-perl_1.31-2+b3_amd64.deb ... Unpacking libparams-validate-perl:amd64 (1.31-2+b3) ... Selecting previously unselected package libsub-exporter-perl. Preparing to unpack .../084-libsub-exporter-perl_0.990-1_all.deb ... Unpacking libsub-exporter-perl (0.990-1) ... Selecting previously unselected package libgetopt-long-descriptive-perl. Preparing to unpack .../085-libgetopt-long-descriptive-perl_0.115-1_all.deb ... Unpacking libgetopt-long-descriptive-perl (0.115-1) ... Selecting previously unselected package libio-tiecombine-perl. Preparing to unpack .../086-libio-tiecombine-perl_1.005-3_all.deb ... Unpacking libio-tiecombine-perl (1.005-3) ... Selecting previously unselected package libmodule-pluggable-perl. Preparing to unpack .../087-libmodule-pluggable-perl_5.2-5_all.deb ... Unpacking libmodule-pluggable-perl (5.2-5) ... Selecting previously unselected package libstring-rewriteprefix-perl. Preparing to unpack .../088-libstring-rewriteprefix-perl_0.009-1_all.deb ... Unpacking libstring-rewriteprefix-perl (0.009-1) ... Selecting previously unselected package libapp-cmd-perl. Preparing to unpack .../089-libapp-cmd-perl_0.336-1_all.deb ... Unpacking libapp-cmd-perl (0.336-1) ... Selecting previously unselected package libarchive-extract-perl. Preparing to unpack .../090-libarchive-extract-perl_0.88-1_all.deb ... Unpacking libarchive-extract-perl (0.88-1) ... Selecting previously unselected package libsub-exporter-progressive-perl. Preparing to unpack .../091-libsub-exporter-progressive-perl_0.001013-3_all.deb ... Unpacking libsub-exporter-progressive-perl (0.001013-3) ... Selecting previously unselected package libvariable-magic-perl. Preparing to unpack .../092-libvariable-magic-perl_0.64-1+b1_amd64.deb ... Unpacking libvariable-magic-perl (0.64-1+b1) ... Selecting previously unselected package libb-hooks-endofscope-perl. Preparing to unpack .../093-libb-hooks-endofscope-perl_0.28-1_all.deb ... Unpacking libb-hooks-endofscope-perl (0.28-1) ... Selecting previously unselected package libmd-dev:amd64. Preparing to unpack .../094-libmd-dev_1.1.0-2+b1_amd64.deb ... Unpacking libmd-dev:amd64 (1.1.0-2+b1) ... Selecting previously unselected package libbsd-dev:amd64. Preparing to unpack .../095-libbsd-dev_0.12.2-2_amd64.deb ... Unpacking libbsd-dev:amd64 (0.12.2-2) ... Selecting previously unselected package libipc-sharelite-perl. Preparing to unpack .../096-libipc-sharelite-perl_0.17-5+b3_amd64.deb ... Unpacking libipc-sharelite-perl (0.17-5+b3) ... Selecting previously unselected package libcache-cache-perl. Preparing to unpack .../097-libcache-cache-perl_1.08-3_all.deb ... Unpacking libcache-cache-perl (1.08-3) ... Selecting previously unselected package libcompress-lz4-perl. Preparing to unpack .../098-libcompress-lz4-perl_0.25+ds-2+b4_amd64.deb ... Unpacking libcompress-lz4-perl (0.25+ds-2+b4) ... Selecting previously unselected package libsnappy1v5:amd64. Preparing to unpack .../099-libsnappy1v5_1.2.1-1+b1_amd64.deb ... Unpacking libsnappy1v5:amd64 (1.2.1-1+b1) ... Selecting previously unselected package libcompress-snappy-perl. Preparing to unpack .../100-libcompress-snappy-perl_0.25+ds-1+b1_amd64.deb ... Unpacking libcompress-snappy-perl (0.25+ds-1+b1) ... Selecting previously unselected package libcache-fastmmap-perl. Preparing to unpack .../101-libcache-fastmmap-perl_1.57-2+b4_amd64.deb ... Unpacking libcache-fastmmap-perl (1.57-2+b4) ... Selecting previously unselected package libcarp-assert-perl. Preparing to unpack .../102-libcarp-assert-perl_0.22-1_all.deb ... Unpacking libcarp-assert-perl (0.22-1) ... Selecting previously unselected package libdata-serializer-perl. Preparing to unpack .../103-libdata-serializer-perl_0.65-2_all.deb ... Unpacking libdata-serializer-perl (0.65-2) ... Selecting previously unselected package libdigest-jhash-perl. Preparing to unpack .../104-libdigest-jhash-perl_0.10-2+b4_amd64.deb ... Unpacking libdigest-jhash-perl (0.10-2+b4) ... Selecting previously unselected package libhash-moreutils-perl. Preparing to unpack .../105-libhash-moreutils-perl_0.06-2_all.deb ... Unpacking libhash-moreutils-perl (0.06-2) ... Selecting previously unselected package libcpanel-json-xs-perl:amd64. Preparing to unpack .../106-libcpanel-json-xs-perl_4.38-1+b1_amd64.deb ... Unpacking libcpanel-json-xs-perl:amd64 (4.38-1+b1) ... Selecting previously unselected package libjson-maybexs-perl. Preparing to unpack .../107-libjson-maybexs-perl_1.004008-1_all.deb ... Unpacking libjson-maybexs-perl (1.004008-1) ... Selecting previously unselected package libexporter-tiny-perl. Preparing to unpack .../108-libexporter-tiny-perl_1.006002-1_all.deb ... Unpacking libexporter-tiny-perl (1.006002-1) ... Selecting previously unselected package liblist-moreutils-xs-perl. Preparing to unpack .../109-liblist-moreutils-xs-perl_0.430-4+b2_amd64.deb ... Unpacking liblist-moreutils-xs-perl (0.430-4+b2) ... Selecting previously unselected package liblist-moreutils-perl. Preparing to unpack .../110-liblist-moreutils-perl_0.430-2_all.deb ... Unpacking liblist-moreutils-perl (0.430-2) ... Selecting previously unselected package liblog-any-perl. Preparing to unpack .../111-liblog-any-perl_1.717-1_all.deb ... Unpacking liblog-any-perl (1.717-1) ... Selecting previously unselected package libclass-method-modifiers-perl. Preparing to unpack .../112-libclass-method-modifiers-perl_2.15-1_all.deb ... Unpacking libclass-method-modifiers-perl (2.15-1) ... Selecting previously unselected package libclass-xsaccessor-perl. Preparing to unpack .../113-libclass-xsaccessor-perl_1.19-4+b4_amd64.deb ... Unpacking libclass-xsaccessor-perl (1.19-4+b4) ... Selecting previously unselected package libimport-into-perl. Preparing to unpack .../114-libimport-into-perl_1.002005-2_all.deb ... Unpacking libimport-into-perl (1.002005-2) ... Selecting previously unselected package librole-tiny-perl. Preparing to unpack .../115-librole-tiny-perl_2.002004-1_all.deb ... Unpacking librole-tiny-perl (2.002004-1) ... Selecting previously unselected package libsub-quote-perl. Preparing to unpack .../116-libsub-quote-perl_2.006008-1_all.deb ... Unpacking libsub-quote-perl (2.006008-1) ... Selecting previously unselected package libmoo-perl. Preparing to unpack .../117-libmoo-perl_2.005005-1_all.deb ... Unpacking libmoo-perl (2.005005-1) ... Selecting previously unselected package libmoox-types-mooselike-perl. Preparing to unpack .../118-libmoox-types-mooselike-perl_0.29-2_all.deb ... Unpacking libmoox-types-mooselike-perl (0.29-2) ... Selecting previously unselected package libmoox-types-mooselike-numeric-perl. Preparing to unpack .../119-libmoox-types-mooselike-numeric-perl_1.03-2_all.deb ... Unpacking libmoox-types-mooselike-numeric-perl (1.03-2) ... Selecting previously unselected package libossp-uuid16:amd64. Preparing to unpack .../120-libossp-uuid16_1.6.3-1_amd64.deb ... Unpacking libossp-uuid16:amd64 (1.6.3-1) ... Selecting previously unselected package libossp-uuid-perl. Preparing to unpack .../121-libossp-uuid-perl_1.6.3-1_amd64.deb ... Unpacking libossp-uuid-perl (1.6.3-1) ... Selecting previously unselected package libtask-weaken-perl. Preparing to unpack .../122-libtask-weaken-perl_1.06-2_all.deb ... Unpacking libtask-weaken-perl (1.06-2) ... Selecting previously unselected package libtime-duration-perl. Preparing to unpack .../123-libtime-duration-perl_1.21-2_all.deb ... Unpacking libtime-duration-perl (1.21-2) ... Selecting previously unselected package libtime-duration-parse-perl. Preparing to unpack .../124-libtime-duration-parse-perl_0.16-1_all.deb ... Unpacking libtime-duration-parse-perl (0.16-1) ... Selecting previously unselected package libtimedate-perl. Preparing to unpack .../125-libtimedate-perl_2.3300-2_all.deb ... Unpacking libtimedate-perl (2.3300-2) ... Selecting previously unselected package libchi-perl. Preparing to unpack .../126-libchi-perl_0.61-1_all.deb ... Unpacking libchi-perl (0.61-1) ... Selecting previously unselected package libsub-name-perl:amd64. Preparing to unpack .../127-libsub-name-perl_0.27-1+b3_amd64.deb ... Unpacking libsub-name-perl:amd64 (0.27-1+b3) ... Selecting previously unselected package libclass-accessor-perl. Preparing to unpack .../128-libclass-accessor-perl_0.51-2_all.deb ... Unpacking libclass-accessor-perl (0.51-2) ... Selecting previously unselected package libclass-c3-perl. Preparing to unpack .../129-libclass-c3-perl_0.35-2_all.deb ... Unpacking libclass-c3-perl (0.35-2) ... Selecting previously unselected package libclass-inspector-perl. Preparing to unpack .../130-libclass-inspector-perl_1.36-3_all.deb ... Unpacking libclass-inspector-perl (1.36-3) ... Selecting previously unselected package libclass-methodmaker-perl:amd64. Preparing to unpack .../131-libclass-methodmaker-perl_2.25-1_amd64.deb ... Unpacking libclass-methodmaker-perl:amd64 (2.25-1) ... Selecting previously unselected package libclone-perl:amd64. Preparing to unpack .../132-libclone-perl_0.47-1+b1_amd64.deb ... Unpacking libclone-perl:amd64 (0.47-1+b1) ... Selecting previously unselected package libwant-perl. Preparing to unpack .../133-libwant-perl_0.29-2+b4_amd64.deb ... Unpacking libwant-perl (0.29-2+b4) ... Selecting previously unselected package libcontextual-return-perl. Preparing to unpack .../134-libcontextual-return-perl_0.004014-4_all.deb ... Unpacking libcontextual-return-perl (0.004014-4) ... Selecting previously unselected package libcucumber-tagexpressions-perl. Preparing to unpack .../135-libcucumber-tagexpressions-perl_6.1.0-1_all.deb ... Unpacking libcucumber-tagexpressions-perl (6.1.0-1) ... Selecting previously unselected package libstrictures-perl. Preparing to unpack .../136-libstrictures-perl_2.000006-1_all.deb ... Unpacking libstrictures-perl (2.000006-1) ... Selecting previously unselected package libdata-perl-perl. Preparing to unpack .../137-libdata-perl-perl_0.002011-2_all.deb ... Unpacking libdata-perl-perl (0.002011-2) ... Selecting previously unselected package libdbi-perl:amd64. Preparing to unpack .../138-libdbi-perl_1.645-1+b1_amd64.deb ... Unpacking libdbi-perl:amd64 (1.645-1+b1) ... Selecting previously unselected package libdbd-sqlite3-perl:amd64. Preparing to unpack .../139-libdbd-sqlite3-perl_1.76-1_amd64.deb ... Unpacking libdbd-sqlite3-perl:amd64 (1.76-1) ... Selecting previously unselected package libencode-locale-perl. Preparing to unpack .../140-libencode-locale-perl_1.05-3_all.deb ... Unpacking libencode-locale-perl (1.05-3) ... Selecting previously unselected package libenv-path-perl. Preparing to unpack .../141-libenv-path-perl_0.19-4_all.deb ... Unpacking libenv-path-perl (0.19-4) ... Selecting previously unselected package libfile-which-perl. Preparing to unpack .../142-libfile-which-perl_1.27-2_all.deb ... Unpacking libfile-which-perl (1.27-2) ... Selecting previously unselected package libffi-checklib-perl. Preparing to unpack .../143-libffi-checklib-perl_0.31-1_all.deb ... Unpacking libffi-checklib-perl (0.31-1) ... Selecting previously unselected package libffi-platypus-perl. Preparing to unpack .../144-libffi-platypus-perl_2.09-1+b1_amd64.deb ... Unpacking libffi-platypus-perl (2.09-1+b1) ... Selecting previously unselected package libfile-chdir-perl. Preparing to unpack .../145-libfile-chdir-perl_0.1008-1.2_all.deb ... Unpacking libfile-chdir-perl (0.1008-1.2) ... Selecting previously unselected package libfile-copy-recursive-perl. Preparing to unpack .../146-libfile-copy-recursive-perl_0.45-4_all.deb ... Unpacking libfile-copy-recursive-perl (0.45-4) ... Selecting previously unselected package libnumber-compare-perl. Preparing to unpack .../147-libnumber-compare-perl_0.03-3_all.deb ... Unpacking libnumber-compare-perl (0.03-3) ... Selecting previously unselected package libtext-glob-perl. Preparing to unpack .../148-libtext-glob-perl_0.11-3_all.deb ... Unpacking libtext-glob-perl (0.11-3) ... Selecting previously unselected package libfile-find-rule-perl. Preparing to unpack .../149-libfile-find-rule-perl_0.34-3_all.deb ... Unpacking libfile-find-rule-perl (0.34-3) ... Selecting previously unselected package libfile-homedir-perl. Preparing to unpack .../150-libfile-homedir-perl_1.006-2_all.deb ... Unpacking libfile-homedir-perl (1.006-2) ... Selecting previously unselected package libfile-libmagic-perl. Preparing to unpack .../151-libfile-libmagic-perl_1.23-2+b2_amd64.deb ... Unpacking libfile-libmagic-perl (1.23-2+b2) ... Selecting previously unselected package libhttp-date-perl. Preparing to unpack .../152-libhttp-date-perl_6.06-1_all.deb ... Unpacking libhttp-date-perl (6.06-1) ... Selecting previously unselected package libfile-listing-perl. Preparing to unpack .../153-libfile-listing-perl_6.16-1_all.deb ... Unpacking libfile-listing-perl (6.16-1) ... Selecting previously unselected package libfile-sharedir-perl. Preparing to unpack .../154-libfile-sharedir-perl_1.118-3_all.deb ... Unpacking libfile-sharedir-perl (1.118-3) ... Selecting previously unselected package libfile-share-perl. Preparing to unpack .../155-libfile-share-perl_0.27-2_all.deb ... Unpacking libfile-share-perl (0.27-2) ... Selecting previously unselected package libfile-sharedir-install-perl. Preparing to unpack .../156-libfile-sharedir-install-perl_0.14-2_all.deb ... Unpacking libfile-sharedir-install-perl (0.14-2) ... Selecting previously unselected package libfile-slurp-perl. Preparing to unpack .../157-libfile-slurp-perl_9999.32-2_all.deb ... Unpacking libfile-slurp-perl (9999.32-2) ... Selecting previously unselected package libfindbin-libs-perl. Preparing to unpack .../158-libfindbin-libs-perl_3.0.2-1_all.deb ... Unpacking libfindbin-libs-perl (3.0.2-1) ... Selecting previously unselected package libsort-versions-perl. Preparing to unpack .../159-libsort-versions-perl_1.62-3_all.deb ... Unpacking libsort-versions-perl (1.62-3) ... Selecting previously unselected package libgit-wrapper-perl. Preparing to unpack .../160-libgit-wrapper-perl_0.048-2_all.deb ... Unpacking libgit-wrapper-perl (0.048-2) ... Selecting previously unselected package libheap-perl. Preparing to unpack .../161-libheap-perl_0.80-5_all.deb ... Unpacking libheap-perl (0.80-5) ... Selecting previously unselected package libset-object-perl. Preparing to unpack .../162-libset-object-perl_1.42-1+b5_amd64.deb ... Unpacking libset-object-perl (1.42-1+b5) ... Selecting previously unselected package libgraph-perl. Preparing to unpack .../163-libgraph-perl_1%3a0.9729-1_all.deb ... Unpacking libgraph-perl (1:0.9729-1) ... Selecting previously unselected package libspiffy-perl. Preparing to unpack .../164-libspiffy-perl_0.46-1_all.deb ... Unpacking libspiffy-perl (0.46-1) ... Selecting previously unselected package libio-all-perl. Preparing to unpack .../165-libio-all-perl_0.87-2_all.deb ... Unpacking libio-all-perl (0.87-2) ... Selecting previously unselected package libparse-yapp-perl. Preparing to unpack .../166-libparse-yapp-perl_1.21-4_all.deb ... Unpacking libparse-yapp-perl (1.21-4) ... Selecting previously unselected package liburi-perl. Preparing to unpack .../167-liburi-perl_5.30-1_all.deb ... Unpacking liburi-perl (5.30-1) ... Selecting previously unselected package libhtml-tagset-perl. Preparing to unpack .../168-libhtml-tagset-perl_3.24-1_all.deb ... Unpacking libhtml-tagset-perl (3.24-1) ... Selecting previously unselected package libhtml-parser-perl:amd64. Preparing to unpack .../169-libhtml-parser-perl_3.83-1+b1_amd64.deb ... Unpacking libhtml-parser-perl:amd64 (3.83-1+b1) ... Selecting previously unselected package libhtml-tree-perl. Preparing to unpack .../170-libhtml-tree-perl_5.07-3_all.deb ... Unpacking libhtml-tree-perl (5.07-3) ... Selecting previously unselected package libio-html-perl. Preparing to unpack .../171-libio-html-perl_1.004-3_all.deb ... Unpacking libio-html-perl (1.004-3) ... Selecting previously unselected package liblwp-mediatypes-perl. Preparing to unpack .../172-liblwp-mediatypes-perl_6.04-2_all.deb ... Unpacking liblwp-mediatypes-perl (6.04-2) ... Selecting previously unselected package libhttp-message-perl. Preparing to unpack .../173-libhttp-message-perl_7.00-2_all.deb ... Unpacking libhttp-message-perl (7.00-2) ... Selecting previously unselected package libhttp-cookies-perl. Preparing to unpack .../174-libhttp-cookies-perl_6.11-1_all.deb ... Unpacking libhttp-cookies-perl (6.11-1) ... Selecting previously unselected package libhttp-negotiate-perl. Preparing to unpack .../175-libhttp-negotiate-perl_6.01-2_all.deb ... Unpacking libhttp-negotiate-perl (6.01-2) ... Selecting previously unselected package perl-openssl-defaults:amd64. Preparing to unpack .../176-perl-openssl-defaults_7+b2_amd64.deb ... Unpacking perl-openssl-defaults:amd64 (7+b2) ... Selecting previously unselected package libnet-ssleay-perl:amd64. Preparing to unpack .../177-libnet-ssleay-perl_1.94-2_amd64.deb ... Unpacking libnet-ssleay-perl:amd64 (1.94-2) ... Selecting previously unselected package libio-socket-ssl-perl. Preparing to unpack .../178-libio-socket-ssl-perl_2.089-1_all.deb ... Unpacking libio-socket-ssl-perl (2.089-1) ... Selecting previously unselected package libnet-http-perl. Preparing to unpack .../179-libnet-http-perl_6.23-1_all.deb ... Unpacking libnet-http-perl (6.23-1) ... Selecting previously unselected package liblwp-protocol-https-perl. Preparing to unpack .../180-liblwp-protocol-https-perl_6.14-1_all.deb ... Unpacking liblwp-protocol-https-perl (6.14-1) ... Selecting previously unselected package libwww-robotrules-perl. Preparing to unpack .../181-libwww-robotrules-perl_6.02-1_all.deb ... Unpacking libwww-robotrules-perl (6.02-1) ... Selecting previously unselected package libwww-perl. Preparing to unpack .../182-libwww-perl_6.77-1_all.deb ... Unpacking libwww-perl (6.77-1) ... Selecting previously unselected package libxml-parser-perl. Preparing to unpack .../183-libxml-parser-perl_2.47-1+b3_amd64.deb ... Unpacking libxml-parser-perl (2.47-1+b3) ... Selecting previously unselected package libxml-writer-perl. Preparing to unpack .../184-libxml-writer-perl_0.900-2_all.deb ... Unpacking libxml-writer-perl (0.900-2) ... Selecting previously unselected package libgraph-readwrite-perl. Preparing to unpack .../185-libgraph-readwrite-perl_2.10-1_all.deb ... Unpacking libgraph-readwrite-perl (2.10-1) ... Selecting previously unselected package libicu-dev:amd64. Preparing to unpack .../186-libicu-dev_72.1-5+b1_amd64.deb ... Unpacking libicu-dev:amd64 (72.1-5+b1) ... Selecting previously unselected package libjson-perl. Preparing to unpack .../187-libjson-perl_4.10000-1_all.deb ... Unpacking libjson-perl (4.10000-1) ... Selecting previously unselected package libkrb5-dev:amd64. Preparing to unpack .../188-libkrb5-dev_1.21.3-3_amd64.deb ... Unpacking libkrb5-dev:amd64 (1.21.3-3) ... Selecting previously unselected package liblist-compare-perl. Preparing to unpack .../189-liblist-compare-perl_0.55-2_all.deb ... Unpacking liblist-compare-perl (0.55-2) ... Selecting previously unselected package liblog-message-perl. Preparing to unpack .../190-liblog-message-perl_0.8-3_all.deb ... Unpacking liblog-message-perl (0.8-3) ... Selecting previously unselected package liblog-message-simple-perl. Preparing to unpack .../191-liblog-message-simple-perl_0.10-3_all.deb ... Unpacking liblog-message-simple-perl (0.10-3) ... Selecting previously unselected package libmoox-handlesvia-perl. Preparing to unpack .../192-libmoox-handlesvia-perl_0.001009-2_all.deb ... Unpacking libmoox-handlesvia-perl (0.001009-2) ... Selecting previously unselected package libmro-compat-perl. Preparing to unpack .../193-libmro-compat-perl_0.15-2_all.deb ... Unpacking libmro-compat-perl (0.15-2) ... Selecting previously unselected package libsub-identify-perl. Preparing to unpack .../194-libsub-identify-perl_0.14-3+b3_amd64.deb ... Unpacking libsub-identify-perl (0.14-3+b3) ... Selecting previously unselected package libnamespace-clean-perl. Preparing to unpack .../195-libnamespace-clean-perl_0.27-2_all.deb ... Unpacking libnamespace-clean-perl (0.27-2) ... Selecting previously unselected package libnorm1t64:amd64. Preparing to unpack .../196-libnorm1t64_1.5.9+dfsg-3.1+b1_amd64.deb ... Unpacking libnorm1t64:amd64 (1.5.9+dfsg-3.1+b1) ... Selecting previously unselected package libxml2-dev:amd64. Preparing to unpack .../197-libxml2-dev_2.12.7+dfsg+really2.9.14-0.2+b1_amd64.deb ... Unpacking libxml2-dev:amd64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Selecting previously unselected package libnorm-dev:amd64. Preparing to unpack .../198-libnorm-dev_1.5.9+dfsg-3.1+b1_amd64.deb ... Unpacking libnorm-dev:amd64 (1.5.9+dfsg-3.1+b1) ... Selecting previously unselected package libpath-class-perl. Preparing to unpack .../199-libpath-class-perl_0.37-4_all.deb ... Unpacking libpath-class-perl (0.37-4) ... Selecting previously unselected package libpgm-5.3-0t64:amd64. Preparing to unpack .../200-libpgm-5.3-0t64_5.3.128~dfsg-2.1+b1_amd64.deb ... Unpacking libpgm-5.3-0t64:amd64 (5.3.128~dfsg-2.1+b1) ... Selecting previously unselected package libpgm-dev:amd64. Preparing to unpack .../201-libpgm-dev_5.3.128~dfsg-2.1+b1_amd64.deb ... Unpacking libpgm-dev:amd64 (5.3.128~dfsg-2.1+b1) ... Selecting previously unselected package libsodium23:amd64. Preparing to unpack .../202-libsodium23_1.0.18-1+b2_amd64.deb ... Unpacking libsodium23:amd64 (1.0.18-1+b2) ... Selecting previously unselected package libsodium-dev:amd64. Preparing to unpack .../203-libsodium-dev_1.0.18-1+b2_amd64.deb ... Unpacking libsodium-dev:amd64 (1.0.18-1+b2) ... Selecting previously unselected package libstatistics-descriptive-perl. Preparing to unpack .../204-libstatistics-descriptive-perl_3.0801-1_all.deb ... Unpacking libstatistics-descriptive-perl (3.0801-1) ... Selecting previously unselected package libsub-uplevel-perl. Preparing to unpack .../205-libsub-uplevel-perl_0.2800-3_all.deb ... Unpacking libsub-uplevel-perl (0.2800-3) ... Selecting previously unselected package libsuper-perl. Preparing to unpack .../206-libsuper-perl_1.20190531-1_all.deb ... Unpacking libsuper-perl (1.20190531-1) ... Selecting previously unselected package libterm-readkey-perl. Preparing to unpack .../207-libterm-readkey-perl_2.38-2+b4_amd64.deb ... Unpacking libterm-readkey-perl (2.38-2+b4) ... Selecting previously unselected package libterm-progressbar-perl. Preparing to unpack .../208-libterm-progressbar-perl_2.23-1_all.deb ... Unpacking libterm-progressbar-perl (2.23-1) ... Selecting previously unselected package libterm-ui-perl. Preparing to unpack .../209-libterm-ui-perl_0.50-1_all.deb ... Unpacking libterm-ui-perl (0.50-1) ... Selecting previously unselected package libtest2-suite-perl. Preparing to unpack .../210-libtest2-suite-perl_0.000163-1_all.deb ... Unpacking libtest2-suite-perl (0.000163-1) ... Selecting previously unselected package libtype-tiny-perl. Preparing to unpack .../211-libtype-tiny-perl_2.004000-1_all.deb ... Unpacking libtype-tiny-perl (2.004000-1) ... Selecting previously unselected package libyaml-perl. Preparing to unpack .../212-libyaml-perl_1.31-1_all.deb ... Unpacking libyaml-perl (1.31-1) ... Selecting previously unselected package libtest-bdd-cucumber-perl. Preparing to unpack .../213-libtest-bdd-cucumber-perl_0.86-1_all.deb ... Unpacking libtest-bdd-cucumber-perl (0.86-1) ... Selecting previously unselected package libtest-exception-perl. Preparing to unpack .../214-libtest-exception-perl_0.43-3_all.deb ... Unpacking libtest-exception-perl (0.43-3) ... Selecting previously unselected package libtest-class-perl. Preparing to unpack .../215-libtest-class-perl_0.52-1_all.deb ... Unpacking libtest-class-perl (0.52-1) ... Selecting previously unselected package libtest-mockmodule-perl. Preparing to unpack .../216-libtest-mockmodule-perl_0.178.0-1_all.deb ... Unpacking libtest-mockmodule-perl (0.178.0-1) ... Selecting previously unselected package libuniversal-can-perl. Preparing to unpack .../217-libuniversal-can-perl_1.20140328-3_all.deb ... Unpacking libuniversal-can-perl (1.20140328-3) ... Selecting previously unselected package libuniversal-isa-perl. Preparing to unpack .../218-libuniversal-isa-perl_1.20171012-3_all.deb ... Unpacking libuniversal-isa-perl (1.20171012-3) ... Selecting previously unselected package libtest-mockobject-perl. Preparing to unpack .../219-libtest-mockobject-perl_1.20200122-4_all.deb ... Unpacking libtest-mockobject-perl (1.20200122-4) ... Selecting previously unselected package libyaml-0-2:amd64. Preparing to unpack .../220-libyaml-0-2_0.2.5-1+b2_amd64.deb ... Unpacking libyaml-0-2:amd64 (0.2.5-1+b2) ... Selecting previously unselected package libyaml-libyaml-perl. Preparing to unpack .../221-libyaml-libyaml-perl_0.902.0+ds-2+b1_amd64.deb ... Unpacking libyaml-libyaml-perl (0.902.0+ds-2+b1) ... Selecting previously unselected package libzmq5:amd64. Preparing to unpack .../222-libzmq5_4.3.5-1+b3_amd64.deb ... Unpacking libzmq5:amd64 (4.3.5-1+b3) ... Selecting previously unselected package libzmq3-dev:amd64. Preparing to unpack .../223-libzmq3-dev_4.3.5-1+b3_amd64.deb ... Unpacking libzmq3-dev:amd64 (4.3.5-1+b3) ... Selecting previously unselected package libzmq-ffi-perl. Preparing to unpack .../224-libzmq-ffi-perl_1.19-1_all.deb ... Unpacking libzmq-ffi-perl (1.19-1) ... Setting up libexpat1:amd64 (2.6.4-1) ... Setting up libmodule-pluggable-perl (5.2-5) ... Setting up libpipeline1:amd64 (1.5.8-1) ... Setting up libfile-sharedir-install-perl (0.14-2) ... Setting up libnorm1t64:amd64 (1.5.9+dfsg-3.1+b1) ... Setting up libfile-which-perl (1.27-2) ... Setting up libkeyutils1:amd64 (1.6.3-4) ... Setting up libfile-slurp-perl (9999.32-2) ... Setting up libtask-weaken-perl (1.06-2) ... Setting up libsodium23:amd64 (1.0.18-1+b2) ... Setting up libicu72:amd64 (72.1-5+b1) ... Setting up bsdextrautils (2.40.2-11) ... Setting up libparse-yapp-perl (1.21-4) ... Setting up libclass-inspector-perl (1.36-3) ... Setting up libwant-perl (0.29-2+b4) ... Setting up libdynaloader-functions-perl (0.004-1) ... Setting up libtext-glob-perl (0.11-3) ... Setting up libclass-method-modifiers-perl (2.15-1) ... Setting up liblist-compare-perl (0.55-2) ... Setting up libmagic-mgc (1:5.45-3+b1) ... Setting up libpath-class-perl (0.37-4) ... Setting up libclone-perl:amd64 (0.47-1+b1) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libyaml-0-2:amd64 (0.2.5-1+b2) ... Setting up libsub-identify-perl (0.14-3+b3) ... Setting up libcpanel-json-xs-perl:amd64 (4.38-1+b1) ... Setting up libio-stringy-perl (2.113-2) ... Setting up libhtml-tagset-perl (3.24-1) ... Setting up liblog-any-perl (1.717-1) ... Setting up libclass-methodmaker-perl:amd64 (2.25-1) ... Setting up libdebhelper-perl (13.20) ... Setting up libbrotli1:amd64 (1.1.0-2+b6) ... Setting up libedit2:amd64 (3.1-20240808-1) ... Setting up libipc-sharelite-perl (0.17-5+b3) ... Setting up libheap-perl (0.80-5) ... Setting up liblwp-mediatypes-perl (6.04-2) ... Setting up libmagic1t64:amd64 (1:5.45-3+b1) ... Setting up libyaml-libyaml-perl (0.902.0+ds-2+b1) ... Setting up libtry-tiny-perl (0.32-1) ... Setting up libpsl5t64:amd64 (0.21.2-1.1+b1) ... Setting up libnghttp2-14:amd64 (1.64.0-1) ... Setting up libdigest-jhash-perl (0.10-2+b4) ... Setting up perl-openssl-defaults:amd64 (7+b2) ... Setting up libhash-moreutils-perl (0.06-2) ... Setting up gettext-base (0.22.5-2) ... Setting up m4 (1.4.19-4) ... Setting up libencode-locale-perl (1.05-3) ... Setting up libfindbin-libs-perl (3.0.2-1) ... Setting up libcom-err2:amd64 (1.47.1-1+b1) ... Setting up file (1:5.45-3+b1) ... Setting up libossp-uuid16:amd64 (1.6.3-1) ... Setting up libcompress-lz4-perl (0.25+ds-2+b4) ... Setting up libyaml-perl (1.31-1) ... Setting up libsub-install-perl (0.929-1) ... Setting up libelf1t64:amd64 (0.192-4) ... Setting up libtest2-suite-perl (0.000163-1) ... Setting up libsnappy1v5:amd64 (1.2.1-1+b1) ... Setting up libkrb5support0:amd64 (1.21.3-3) ... Setting up libnumber-compare-perl (0.03-3) ... Setting up libuniversal-isa-perl (1.20171012-3) ... Setting up libsasl2-modules-db:amd64 (2.1.28+dfsg1-8) ... Setting up libfile-copy-recursive-perl (0.45-4) ... Setting up liberror-perl (0.17029-2) ... Setting up liblog-message-perl (0.8-3) ... Setting up libjson-maybexs-perl (1.004008-1) ... Setting up libarchive-extract-perl (0.88-1) ... Setting up libpgm-5.3-0t64:amd64 (5.3.128~dfsg-2.1+b1) ... Setting up autotools-dev (20220109.1) ... Setting up libz3-4:amd64 (4.13.3-1) ... Setting up libalgorithm-c3-perl (0.11-2) ... Setting up libset-object-perl (1.42-1+b5) ... Setting up libfile-find-rule-perl (0.34-3) ... Setting up librtmp1:amd64 (2.4+20151223.gitfa8646d.1-2+b5) ... Setting up libio-tiecombine-perl (1.005-3) ... Setting up libpgm-dev:amd64 (5.3.128~dfsg-2.1+b1) ... Setting up libffi-checklib-perl (0.31-1) ... Setting up libxml-writer-perl (0.900-2) ... Setting up libenv-path-perl (0.19-4) ... Setting up comerr-dev:amd64 (2.1-1.47.1-1+b1) ... Setting up libvariable-magic-perl (0.64-1+b1) ... Setting up libio-html-perl (1.004-3) ... Setting up autopoint (0.22.5-2) ... Setting up libb-hooks-op-check-perl:amd64 (0.22-3+b2) ... Setting up icu-devtools (72.1-5+b1) ... Setting up libfile-libmagic-perl (1.23-2+b2) ... Setting up liblist-moreutils-xs-perl (0.430-4+b2) ... Setting up libsodium-dev:amd64 (1.0.18-1+b2) ... Setting up libk5crypto3:amd64 (1.21.3-3) ... Setting up libparams-util-perl (1.102-3+b1) ... Setting up libspiffy-perl (0.46-1) ... Setting up libsasl2-2:amd64 (2.1.28+dfsg1-8) ... Setting up libtime-duration-perl (1.21-2) ... Setting up autoconf (2.72-3) ... Setting up libnghttp3-9:amd64 (1.4.0-1+b1) ... Setting up libsub-exporter-progressive-perl (0.001013-3) ... Setting up libcapture-tiny-perl (0.48-2) ... Setting up libtimedate-perl (2.3300-2) ... Setting up libcontextual-return-perl (0.004014-4) ... Setting up libsub-name-perl:amd64 (0.27-1+b3) ... Setting up dwz (0.15-1+b1) ... Setting up libfile-chdir-perl (0.1008-1.2) ... Setting up sensible-utils (0.0.24) ... Setting up libuchardet0:amd64 (0.0.8-1+b2) ... Setting up libjson-perl (4.10000-1) ... Setting up libmd-dev:amd64 (1.1.0-2+b1) ... Setting up librole-tiny-perl (2.002004-1) ... Setting up libfile-sharedir-perl (1.118-3) ... Setting up libsub-uplevel-perl (0.2800-3) ... Setting up git-man (1:2.45.2-1) ... Setting up netbase (6.4) ... Setting up libngtcp2-16:amd64 (1.6.0-1) ... Setting up libstrictures-perl (2.000006-1) ... Setting up libsub-quote-perl (2.006008-1) ... Setting up libclass-xsaccessor-perl (1.19-4+b4) ... Setting up libkrb5-3:amd64 (1.21.3-3) ... Setting up libsort-versions-perl (1.62-3) ... Setting up libssh2-1t64:amd64 (1.11.1-1) ... Setting up libdata-serializer-perl (0.65-2) ... Setting up libexporter-tiny-perl (1.006002-1) ... Setting up libuniversal-can-perl (1.20140328-3) ... Setting up libterm-readkey-perl (2.38-2+b4) ... Setting up libclass-accessor-perl (0.51-2) ... Setting up libfile-homedir-perl (1.006-2) ... Setting up openssl (3.3.2-2) ... Setting up libcompress-snappy-perl (0.25+ds-1+b1) ... Setting up libicu-dev:amd64 (72.1-5+b1) ... Setting up libxml2:amd64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Setting up libbsd-dev:amd64 (0.12.2-2) ... Setting up liburi-perl (5.30-1) ... Setting up libcarp-assert-perl (0.22-1) ... Setting up libfmt10:amd64 (10.1.1+ds1-4) ... Setting up libdbi-perl:amd64 (1.645-1+b1) ... Setting up libngtcp2-crypto-gnutls8:amd64 (1.6.0-1) ... Setting up libffi-platypus-perl (2.09-1+b1) ... Setting up libtime-duration-parse-perl (0.16-1) ... Setting up libnet-ssleay-perl:amd64 (1.94-2) ... Setting up automake (1:1.16.5-1.3) ... update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.14.0-1) ... Setting up libllvm19:amd64 (1:19.1.3-2) ... Setting up libhttp-date-perl (6.06-1) ... Setting up libtest-mockobject-perl (1.20200122-4) ... Setting up libsuper-perl (1.20190531-1) ... Setting up gettext (0.22.5-2) ... Setting up libossp-uuid-perl (1.6.3-1) ... Setting up libfile-listing-perl (6.16-1) ... Setting up libclang1-19 (1:19.1.3-2) ... Setting up libcache-cache-perl (1.08-3) ... Setting up libtest-mockmodule-perl (0.178.0-1) ... Setting up liblog-message-simple-perl (0.10-3) ... Setting up libtool (2.4.7-8) ... Setting up liblist-moreutils-perl (0.430-2) ... Setting up libtype-tiny-perl (2.004000-1) ... Setting up libterm-progressbar-perl (2.23-1) ... Setting up libnet-http-perl (6.23-1) ... Setting up libio-all-perl (0.87-2) ... Setting up libclass-c3-perl (0.35-2) ... Setting up libgraph-perl (1:0.9729-1) ... Setting up libdevel-callchecker-perl:amd64 (0.009-1+b1) ... Setting up libldap-2.5-0:amd64 (2.5.18+dfsg-3+b1) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (20) ... Setting up libcache-fastmmap-perl (1.57-2+b4) ... Setting up ca-certificates (20240203) ... Updating certificates in /etc/ssl/certs... 146 added, 0 removed; done. Setting up libxml2-dev:amd64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Setting up libtest-exception-perl (0.43-3) ... Setting up libgssapi-krb5-2:amd64 (1.21.3-3) ... Setting up libdata-optlist-perl (0.114-1) ... Setting up libfile-share-perl (0.27-2) ... Setting up dh-strip-nondeterminism (1.14.0-1) ... Setting up libwww-robotrules-perl (6.02-1) ... Setting up groff-base (1.23.0-5) ... Setting up libhtml-parser-perl:amd64 (3.83-1+b1) ... Setting up libdbd-sqlite3-perl:amd64 (1.76-1) ... Setting up libmro-compat-perl (0.15-2) ... Setting up libio-socket-ssl-perl (2.089-1) ... Setting up libsub-exporter-perl (0.990-1) ... Setting up libclang-cpp19 (1:19.1.3-2) ... Setting up libhttp-message-perl (7.00-2) ... Setting up libhttp-negotiate-perl (6.01-2) ... Setting up libstatistics-descriptive-perl (3.0801-1) ... Setting up libzmq5:amd64 (4.3.5-1+b3) ... Setting up libterm-ui-perl (0.50-1) ... Setting up libhttp-cookies-perl (6.11-1) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up libhtml-tree-perl (5.07-3) ... Setting up libparams-classify-perl:amd64 (0.015-2+b4) ... Setting up libcurl3t64-gnutls:amd64 (8.11.0-1) ... Setting up libnorm-dev:amd64 (1.5.9+dfsg-3.1+b1) ... Setting up man-db (2.13.0-1) ... Not building database; man-db/auto-update is not 'true'. Setting up libmodule-runtime-perl (0.016-2) ... Setting up libgssrpc4t64:amd64 (1.21.3-3) ... Setting up git (1:2.45.2-1) ... Setting up libgit-wrapper-perl (0.048-2) ... Setting up doxygen-doxyparse (1.9.8+ds-2+b3) ... Setting up libstring-rewriteprefix-perl (0.009-1) ... Setting up libkadm5clnt-mit12:amd64 (1.21.3-3) ... Setting up libkdb5-10t64:amd64 (1.21.3-3) ... Setting up libmodule-implementation-perl (0.09-2) ... Setting up libpackage-stash-perl (0.40-1) ... Setting up libimport-into-perl (1.002005-2) ... Setting up libmoo-perl (2.005005-1) ... Setting up libdata-perl-perl (0.002011-2) ... Setting up libtest-class-perl (0.52-1) ... Setting up debhelper (13.20) ... Setting up libclass-load-perl (0.25-2) ... Setting up libkadm5srv-mit12:amd64 (1.21.3-3) ... Setting up libmoox-types-mooselike-perl (0.29-2) ... Setting up libparams-validate-perl:amd64 (1.31-2+b3) ... Setting up libb-hooks-endofscope-perl (0.28-1) ... Setting up libmoox-handlesvia-perl (0.001009-2) ... Setting up krb5-multidev:amd64 (1.21.3-3) ... Setting up libcucumber-tagexpressions-perl (6.1.0-1) ... Setting up libkrb5-dev:amd64 (1.21.3-3) ... Setting up libtest-bdd-cucumber-perl (0.86-1) ... Setting up libnamespace-clean-perl (0.27-2) ... Setting up libmoox-types-mooselike-numeric-perl (1.03-2) ... Setting up libgetopt-long-descriptive-perl (0.115-1) ... Setting up libzmq3-dev:amd64 (4.3.5-1+b3) ... Setting up libapp-cmd-perl (0.336-1) ... Setting up libchi-perl (0.61-1) ... Setting up libzmq-ffi-perl (1.19-1) ... Setting up liblwp-protocol-https-perl (6.14-1) ... Setting up libwww-perl (6.77-1) ... Setting up libxml-parser-perl (2.47-1+b3) ... Setting up libgraph-readwrite-perl (2.10-1) ... Processing triggers for libc-bin (2.40-3) ... Processing triggers for ca-certificates (20240203) ... Updating certificates in /etc/ssl/certs... 0 added, 0 removed; done. Running hooks in /etc/ca-certificates/update.d... done. Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Writing extended state information... Building tag database... -> Finished parsing the build-deps I: Building the package I: Running cd /build/reproducible-path/analizo-1.25.5/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../analizo_1.25.5-1_source.changes dpkg-buildpackage: info: source package analizo dpkg-buildpackage: info: source version 1.25.5-1 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by gregor herrmann dpkg-source --before-build . dpkg-buildpackage: info: host architecture amd64 debian/rules clean dh clean dh_clean debian/rules binary dh binary dh_update_autotools_config dh_autoreconf dh_auto_configure /usr/bin/perl Makefile.PL INSTALLDIRS=vendor "OPTIMIZE=-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/analizo-1.25.5=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2" "LD=x86_64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/analizo-1.25.5=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wl,-z,relro" Warning: prerequisite Alien::Doxyparse 0.17 not found. Warning: prerequisite Test::Spelling 0 not found. Warning: prerequisite local::lib 0 not found. Checking if your kit is complete... Looks good Generating a Unix-style Makefile Writing Makefile for Analizo Writing MYMETA.yml and MYMETA.json dh_auto_build make -j42 make[1]: Entering directory '/build/reproducible-path/analizo-1.25.5' cp share/README blib/lib/auto/share/dist/Analizo/README cp share/bash-completion/analizo blib/lib/auto/share/dist/Analizo/bash-completion/analizo cp lib/Analizo/GlobalMetric/ChangeCost.pm blib/lib/Analizo/GlobalMetric/ChangeCost.pm cp lib/Analizo/GlobalMetric/MethodsPerAbstractClass.pm blib/lib/Analizo/GlobalMetric/MethodsPerAbstractClass.pm cp lib/Analizo/Batch/Job.pm blib/lib/Analizo/Batch/Job.pm cp lib/Analizo/Batch/Runner/Parallel.pm blib/lib/Analizo/Batch/Runner/Parallel.pm cp lib/Analizo/Batch/Output/DB.pm blib/lib/Analizo/Batch/Output/DB.pm cp lib/Analizo/Command/metrics_batch.pm blib/lib/Analizo/Command/metrics_batch.pm cp lib/Analizo/Batch/Output/CSV.pm blib/lib/Analizo/Batch/Output/CSV.pm cp lib/Analizo/GlobalMetrics.pm blib/lib/Analizo/GlobalMetrics.pm cp lib/Analizo/Command/tree_evolution.pm blib/lib/Analizo/Command/tree_evolution.pm cp lib/Analizo/GlobalMetric/TotalAbstractClasses.pm blib/lib/Analizo/GlobalMetric/TotalAbstractClasses.pm cp lib/Analizo/Batch/Git.pm blib/lib/Analizo/Batch/Git.pm cp lib/Analizo/Metric/AverageNumberOfParameters.pm blib/lib/Analizo/Metric/AverageNumberOfParameters.pm cp lib/Analizo/Batch.pm blib/lib/Analizo/Batch.pm cp lib/Analizo/Command/help.pm blib/lib/Analizo/Command/help.pm cp lib/Analizo/Batch/Runner/Sequential.pm blib/lib/Analizo/Batch/Runner/Sequential.pm cp lib/Analizo/Filter/Client.pm blib/lib/Analizo/Filter/Client.pm cp lib/Analizo/Batch/Job/Directories.pm blib/lib/Analizo/Batch/Job/Directories.pm cp lib/Analizo/Command.pm blib/lib/Analizo/Command.pm cp lib/Analizo/Command/metrics.pm blib/lib/Analizo/Command/metrics.pm cp lib/Analizo.pm blib/lib/Analizo.pm cp lib/Analizo/Batch/Runner.pm blib/lib/Analizo/Batch/Runner.pm cp lib/Analizo/Batch/Job/Git.pm blib/lib/Analizo/Batch/Job/Git.pm cp lib/Analizo/Batch/Output.pm blib/lib/Analizo/Batch/Output.pm cp lib/Analizo/Command/metrics_history.pm blib/lib/Analizo/Command/metrics_history.pm cp lib/Analizo/Metric/AverageMethodLinesOfCode.pm blib/lib/Analizo/Metric/AverageMethodLinesOfCode.pm cp lib/Analizo/Extractor.pm blib/lib/Analizo/Extractor.pm cp lib/Analizo/Extractor/Doxyparse.pm blib/lib/Analizo/Extractor/Doxyparse.pm cp lib/Analizo/Command/graph.pm blib/lib/Analizo/Command/graph.pm cp lib/Analizo/Metric/AverageCycloComplexity.pm blib/lib/Analizo/Metric/AverageCycloComplexity.pm cp lib/Analizo/Batch/Directories.pm blib/lib/Analizo/Batch/Directories.pm cp lib/Analizo/FilenameFilter.pm blib/lib/Analizo/FilenameFilter.pm cp lib/Analizo/LanguageFilter.pm blib/lib/Analizo/LanguageFilter.pm cp lib/Analizo/Command/files_graph.pm blib/lib/Analizo/Command/files_graph.pm cp lib/Analizo/Metric/AfferentConnections.pm blib/lib/Analizo/Metric/AfferentConnections.pm cp lib/Analizo/Metric/MaximumMethodLinesOfCode.pm blib/lib/Analizo/Metric/MaximumMethodLinesOfCode.pm cp lib/Analizo/Metric/DepthOfInheritanceTree.pm blib/lib/Analizo/Metric/DepthOfInheritanceTree.pm cp lib/Test/Analizo/Class.pm blib/lib/Test/Analizo/Class.pm cp lib/Analizo/Metric/CouplingBetweenObjects.pm blib/lib/Analizo/Metric/CouplingBetweenObjects.pm cp lib/Analizo/ModuleMetrics.pm blib/lib/Analizo/ModuleMetrics.pm cp lib/Analizo/Metric/NumberOfMethods.pm blib/lib/Analizo/Metric/NumberOfMethods.pm cp lib/Analizo/Metric/NumberOfChildren.pm blib/lib/Analizo/Metric/NumberOfChildren.pm cp lib/Analizo/Metric/StructuralComplexity.pm blib/lib/Analizo/Metric/StructuralComplexity.pm cp lib/Analizo/Metric/LackOfCohesionOfMethods.pm blib/lib/Analizo/Metric/LackOfCohesionOfMethods.pm cp lib/Analizo/Metric/NumberOfAttributes.pm blib/lib/Analizo/Metric/NumberOfAttributes.pm cp lib/Test/Analizo/BDD/Cucumber/Extension.pm blib/lib/Test/Analizo/BDD/Cucumber/Extension.pm cp lib/Test/Analizo.pm blib/lib/Test/Analizo.pm cp lib/Test/Analizo/Git.pm blib/lib/Test/Analizo/Git.pm cp lib/Analizo/Metrics.pm blib/lib/Analizo/Metrics.pm cp lib/Analizo/Metric/LinesOfCode.pm blib/lib/Analizo/Metric/LinesOfCode.pm cp lib/Analizo/Model.pm blib/lib/Analizo/Model.pm cp lib/Analizo/Metric/NumberOfPublicAttributes.pm blib/lib/Analizo/Metric/NumberOfPublicAttributes.pm cp lib/Analizo/Metric/NumberOfPublicMethods.pm blib/lib/Analizo/Metric/NumberOfPublicMethods.pm cp lib/Analizo/Metric/ResponseForClass.pm blib/lib/Analizo/Metric/ResponseForClass.pm cp lib/Analizo/ModuleMetric.pm blib/lib/Analizo/ModuleMetric.pm cp profile.pl blib/lib/profile.pl cp bin/analizo blib/script/analizo "/usr/bin/perl" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/analizo Manifying 26 pod documents make[1]: Leaving directory '/build/reproducible-path/analizo-1.25.5' dh_auto_test make -j42 test TEST_VERBOSE=1 make[1]: Entering directory '/build/reproducible-path/analizo-1.25.5' Skip blib/lib/auto/share/dist/Analizo/README (unchanged) Skip blib/lib/auto/share/dist/Analizo/bash-completion/analizo (unchanged) PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib/lib', 'blib/arch')" t/*.t t/Analizo/*.t t/Analizo/Batch/*.t t/Analizo/Batch/Job/*.t t/Analizo/Batch/Output/*.t t/Analizo/Batch/Runner/*.t t/Analizo/Command/*.t t/Analizo/Extractor/*.t t/Analizo/GlobalMetric/*.t t/Analizo/Metric/*.t t/Analizo/Metric/AfferentConnections/*.t # # t::Analizo->constructor # # t::Analizo->empty_array_for_command_with_no_options # # t::Analizo->empty_hash_when_no_config_file # # t::Analizo->load_command_options # # t::Analizo->load_config_file t/Analizo.t .............................................................. ok 1 - use Analizo; ok 2 - An object of class 'Analizo' isa 'Analizo' ok 3 - An object of class 'Analizo' isa 'App::Cmd' ok 4 - empty array for command with no options ok 5 - empty hash when no config file ok 6 - load command options ok 7 - load config file 1..7 ok # # t::Analizo::Batch->constructor # # t::Analizo::Batch->count # # t::Analizo::Batch->next # # t::Analizo::Batch->pass_filters_forward t/Analizo/Batch.t ........................................................ ok 1 - An object of class 'Analizo::Batch' isa 'Analizo::Batch' ok 2 - Analizo::Batch->can('count') ok 3 - Analizo::Batch->can('next') ok 4 - next ok 5 - must pass filters into job 1..5 ok # # t::Analizo::Batch::Directories->count # # t::Analizo::Batch::Directories->create_with_arguments # # t::Analizo::Batch::Directories->create_with_bad_arguments # # t::Analizo::Batch::Directories->create_with_no_arguments # # t::Analizo::Batch::Directories->deliver_jobs # # t::Analizo::Batch::Directories->expose_list_of_dirs t/Analizo/Batch/Directories.t ............................................ ok 1 - count ok 2 - create with arguments ok 3 - create with bad arguments ok 4 - create with no arguments ok 5 - deliver jobs ok 6 - deliver jobs ok 7 - deliver jobs ok 8 - Analizo::Batch::Directories->can('directories') 1..8 ok # # t::Analizo::Batch::Git->constructor # # t::Analizo::Batch::Git->count # # t::Analizo::Batch::Git->create_with_and_without_args # # t::Analizo::Batch::Git->default_filter # # t::Analizo::Batch::Git->find_commit # # t::Analizo::Batch::Git->traverse_repository t/Analizo/Batch/Git.t .................................................... ok 1 - An object of class 'Analizo::Batch::Git' isa 'Analizo::Batch::Git' ok 2 - count ok 3 - create with and without args ok 4 - create with and without args ok 5 - create with and without args ok 6 - create with and without args ok 7 - must not analyze commit containing only (input.cc) ok 8 - must not analyze commit containing only (prog.cc) ok 9 - must not analyze commit containing only (prog.cc) ok 10 - must not analyze commit containing only (prog.cc) ok 11 - must not analyze commit containing only (prog.cc,output.cc,output.h) ok 12 - must not analyze commit containing only (prog.cc,input.h,input.cc) ok 13 - must not analyze commit containing only (prog.cc) ok 14 - find commit ok 15 - An object of class 'Analizo::Batch::Job::Git' isa 'Analizo::Batch::Job::Git' ok 16 - find commit ok 17 - main commit must be listed ok 18 - intermediate relevant commit must be listed ok 19 - intermediate IRRELEVANT commit must not be listed 1..19 ok # # t::Analizo::Batch::Job->before_execute # # t::Analizo::Batch::Job->cache_of_model_and_metrics # # t::Analizo::Batch::Job->constructor # # t::Analizo::Batch::Job->empty_metadata_by_default # # t::Analizo::Batch::Job->execute # # t::Analizo::Batch::Job->exposed_interface # # t::Analizo::Batch::Job->invalidates_cache_after_upgrade_version # # t::Analizo::Batch::Job->metadata_as_hash # # t::Analizo::Batch::Job->pass_filters_to_extractor # # t::Analizo::Batch::Job->project_name # # t::Analizo::Batch::Job->stores_cache_on_distinct_dirs_for_each_version # # t::Analizo::Batch::Job->tree_id t/Analizo/Batch/Job.t .................................................... ok 1 - before execute ok 2 - before execute ok 3 - use cache for model ok 4 - use cache for metrics ok 5 - cached model is the same ok 6 - cached metrics is the same ok 7 - An object of class 'Analizo::Batch::Job' isa 'Analizo::Batch::Job' ok 8 - empty metadata by default ok 9 - must call prepare() and cleanup() on execute ok 10 - An object of class 'Analizo::Model' isa 'Analizo::Model' ok 11 - An object of class 'Analizo::Metrics' isa 'Analizo::Metrics' ok 12 - An object of class 'Analizo::Model' isa 'Analizo::Model' ok 13 - must force metrics calculation during execute() bu calling $metrics->data() ok 14 - Analizo::Batch::Job->can(...) ok 15 - metrics values sucessfully retrievied from the cache ok 16 - values for metrics found on cache for same analizo version ok 17 - values for metrics should not found for other analizo version ok 18 - metadata as hash ok 19 - metadata as hash ok 20 - metadata as hash ok 21 - must pass filters to extractor object ok 22 - project name ok 23 - project name ok 24 - stores cache on distinct dirs for each version ok 25 - stores cache on distinct dirs for each version ok 26 - tree id 1..26 ok # # t::Analizo::Batch::Job::Directories->constructor # # t::Analizo::Batch::Job::Directories->prepare_and_cleanup t/Analizo/Batch/Job/Directories.t ........................................ ok 1 - An object of class 'Analizo::Batch::Job::Directories' isa 'Analizo::Batch::Job::Directories' ok 2 - constructor ok 3 - constructor ok 4 - must change dir in prepare() ok 5 - must change back dir in cleanup() 1..5 ok # # t::Analizo::Batch::Job::Git->changed_files # # t::Analizo::Batch::Job::Git->constructor # # t::Analizo::Batch::Job::Git->constructor_with_arguments # # t::Analizo::Batch::Job::Git->git_checkout_should_actually_checkout # # t::Analizo::Batch::Job::Git->merge_and_first_commit_detection # # t::Analizo::Batch::Job::Git->metadata # # t::Analizo::Batch::Job::Git->must_NOT_keep_a_reference_to_batch # # t::Analizo::Batch::Job::Git->parallelism_support # # t::Analizo::Batch::Job::Git->prepare_and_cleanup # # t::Analizo::Batch::Job::Git->previous_relevant # # t::Analizo::Batch::Job::Git->previous_relevant_with_parent_without_previous_relevant # # t::Analizo::Batch::Job::Git->previous_wanted # # t::Analizo::Batch::Job::Git->relevant_merge t/Analizo/Batch/Job/Git.t ................................................ ok 1 - changed files ok 2 - changed files ok 3 - changed files ok 4 - changed files ok 5 - An object of class 'Analizo::Batch::Job::Git' isa 'Analizo::Batch::Job::Git' ok 6 - constructor with arguments ok 7 - constructor with arguments ok 8 - constructor with arguments ok 9 - git checkout should actually checkout ok 10 - git checkout should actually checkout ok 11 - git checkout should actually checkout ok 12 - git checkout should actually checkout ok 13 - merge and first commit detection ok 14 - merge and first commit detection ok 15 - merge and first commit detection ok 16 - merge and first commit detection ok 17 - author name ok 18 - author name ok 19 - author name ok 20 - author email ok 21 - author email ok 22 - author email ok 23 - author date ok 24 - author date ok 25 - author date ok 26 - previous commit ok 27 - previous commit ok 28 - previous commit ok 29 - changed files ok 30 - changed files ok 31 - changed files ok 32 - metadata ok 33 - metadata ok 34 - metadata ok 35 - metadata ok 36 - metadata ok 37 - must not include non-code files in tree ok 38 - unexisting commit id ok 39 - unexisting commit id ok 40 - unexisting commit id ok 41 - must NOT keep a reference to batch ok 42 - parallelism support ok 43 - different work directory must be created ok 44 - content must be copied ok 45 - different work directory must be removed when parallel_cleanup is called. ok 46 - parallelism support must not mess with project name ok 47 - prepare must change dir ok 48 - cleanup must change cwd back ok 49 - cleanup must checkout given commit and go back to previous one ok 50 - previous relevant ok 51 - previous relevant ok 52 - previous relevant ok 53 - must return undef as previous_relevant when parent is a merge commit without any previous relevant commits ok 54 - previous wanted ok 55 - previous wanted ok 56 - relevant merge 1..56 ok # # t::Analizo::Batch::Output->constructor # # t::Analizo::Batch::Output->exposed_interface # # t::Analizo::Batch::Output->must_write_to_stdout_when_no_file_is_given # # t::Analizo::Batch::Output->not_require_metrics_by_default # # t::Analizo::Batch::Output->should_write_to_output_file t/Analizo/Batch/Output.t ................................................. ok 1 - An object of class 'Analizo::Batch::Output' isa 'Analizo::Batch::Output' ok 2 - Analizo::Batch::Output->can(...) ok 3 - must write to stdout when no file is given ok 4 - not require metrics by default ok 5 - output must be written to file ok 6 - must delegate actualy writing to subclasses 1..6 ok # # t::Analizo::Batch::Output::CSV->constructor # # t::Analizo::Batch::Output::CSV->job_metadata # # t::Analizo::Batch::Output::CSV->must_return_short_names_of_metrics # # t::Analizo::Batch::Output::CSV->must_write_hash_data_as_string # # t::Analizo::Batch::Output::CSV->must_write_list_data_as_string # # t::Analizo::Batch::Output::CSV->writing_data t/Analizo/Batch/Output/CSV.t ............................................. ok 1 - An object of class 'T::MO::E::a' isa 'Analizo::Batch::Output::CSV' ok 2 - must list metadata fields ok 3 - must include metadata values ok 4 - must list acc metric name ok 5 - must list accm metric name ok 6 - must list amloc metric name ok 7 - must list anpm metric name ok 8 - must write hash data as string ok 9 - must write list data as string ok 10 - must write data to output file ok 11 - first line must contain column names ok 12 - CSV output must not contain empty lines 1..12 ok # # t::Analizo::Batch::Output::DB->add_commit_and_developer_data # # t::Analizo::Batch::Output::DB->add_module_data_for_modules_changed_by_commit # # t::Analizo::Batch::Output::DB->add_project_data # # t::Analizo::Batch::Output::DB->basics # # t::Analizo::Batch::Output::DB->changed_added_module_versions # # t::Analizo::Batch::Output::DB->destination_database # # t::Analizo::Batch::Output::DB->files_with_multiple_modules # # t::Analizo::Batch::Output::DB->global_metrics # # t::Analizo::Batch::Output::DB->module_versions_with_the_same_id # # t::Analizo::Batch::Output::DB->numeric_autoincrement_pk # # t::Analizo::Batch::Output::DB->setting_up_a_database t/Analizo/Batch/Output/DB.t .............................................. ok 1 - [SELECT * FROM commits JOIN projects on (projects.id = commits.project_id) WHERE commits.id = 'XPTO'] returned 1 rows instead of exactly 1 ok 2 - [SELECT * FROM developers JOIN commits on (commits.developer_id = developers.id) WHERE developers.name = 'Jonh Doe' AND developers.email = 'jdoe@example.com' AND commits.id = 'XPTO'] returned 1 rows instead of exactly 1 ok 3 - [SELECT * FROM commits WHERE id = 'XPTO' AND previous_commit_id = 'PREVIOUS' AND date = '1313206352'] returned 1 rows instead of exactly 1 ok 4 - [SELECT * FROM modules JOIN projects ON (projects.id = modules.project_id) WHERE projects.name = 'animals' AND modules.name = 'Mammal'] returned 1 rows instead of exactly 1 ok 5 - [SELECT * FROM modules JOIN module_versions ON (module_versions.module_id = modules.id) JOIN commits_module_versions ON (commits_module_versions.module_version_id = module_versions.id) JOIN commits ON (commits_module_versions.commit_id = commits.id) WHERE commits.id = 'foo' AND modules.name = 'Mammal' AND module_versions.lcom4 >= 0 AND module_versions.cbo >= 0] returned 1 rows instead of exactly 1 ok 6 - [SELECT * FROM modules JOIN projects ON (projects.id = modules.project_id) WHERE projects.name = 'animals' AND modules.name = 'Dog'] returned 1 rows instead of exactly 1 ok 7 - [SELECT * FROM modules JOIN module_versions ON (module_versions.module_id = modules.id) JOIN commits_module_versions ON (commits_module_versions.module_version_id = module_versions.id) JOIN commits ON (commits_module_versions.commit_id = commits.id) WHERE commits.id = 'foo' AND modules.name = 'Dog' AND module_versions.lcom4 >= 0 AND module_versions.cbo >= 0] returned 1 rows instead of exactly 1 ok 8 - [SELECT * FROM module_versions JOIN commits_module_versions ON (module_versions.id = commits_module_versions.module_version_id) JOIN commits ON (commits.id = commits_module_versions.commit_id) WHERE commit_id = 'foo'] returned 3 rows instead of exactly 3 ok 9 - [SELECT * FROM modules JOIN module_versions ON (module_versions.module_id = modules.id) WHERE modules.name = 'Mammal' AND module_versions.id = '1111111111111111111111111111111111111111'] returned 1 rows instead of exactly 1 ok 10 - [SELECT * FROM modules JOIN module_versions ON (module_versions.module_id = modules.id) WHERE modules.name = 'Dog' AND module_versions.id = '452219454519b29aae2e135c470d97d9e234976b'] returned 1 rows instead of exactly 1 ok 11 - [select * from projects where name = 'niceproject'] returned 1 rows instead of exactly 1 ok 12 - [select * from projects where name = 'niceproject'] returned 1 rows instead of exactly 1 ok 13 - An object of class 'Analizo::Batch::Output::DB' isa 'Analizo::Batch::Output' ok 14 - An object of class 'Analizo::Batch::Output::DB' isa 'Analizo::Batch::Output::DB' ok 15 - [SELECT * FROM commits_module_versions WHERE commit_id = 'foo' AND module_version_id = '1111111111111111111111111111111111111111' AND modified AND NOT added] returned 1 rows instead of exactly 1 ok 16 - [SELECT * FROM commits_module_versions WHERE commit_id = 'foo' AND module_version_id = '452219454519b29aae2e135c470d97d9e234976b' AND added AND NOT modified] returned 1 rows instead of exactly 1 ok 17 - [SELECT * FROM commits_module_versions WHERE commit_id = 'foo' AND module_version_id = 'f676c6d81e63377edc2f9ec60b1bc2359b94606f' AND modified AND NOT added] returned 1 rows instead of exactly 1 ok 18 - use SQLite output by default ok 19 - use SQLite with a custom DB name ok 20 - destination database ok 21 - [SELECT * FROM modules] returned 3 rows instead of exactly 3 ok 22 - [SELECT * FROM commits where total_abstract_classes > 0] returned 1 rows instead of exactly 1 ok 23 - [SELECT * FROM module_versions WHERE id = '1111111111111111111111111111111111111111'] returned 2 rows instead of exactly 2 ok 24 - numeric autoincrement pk ok 25 - numeric autoincrement pk ok 26 - must create PROJECTS table ok 27 - must create COMMITS table ok 28 - must create DEVELOPERS table ok 29 - must create MODULES table ok 30 - must create MODULE_VERSIONS table ok 31 - must create COMMITS_MODULE_VERSIONS table 1..31 ok # # t::Analizo::Batch::Runner->interaction_with_output # # t::Analizo::Batch::Runner->interface # # t::Analizo::Batch::Runner->progress t/Analizo/Batch/Runner.t ................................................. ok 1 - must initialize output object ok 2 - must flush output object ok 3 - Analizo::Batch::Runner->can('run') ok 4 - Analizo::Batch::Runner->can('actually_run') ok 5 - progress ok 6 - progress ok 7 - progress 1..7 ok # # t::Analizo::Batch::Runner::Parallel->constuctor # # t::Analizo::Batch::Runner::Parallel->number_of_parallel_processes t/Analizo/Batch/Runner/Parallel.t ........................................ ok 1 - An object of class 'Analizo::Batch::Runner::Parallel' isa 'Analizo::Batch::Runner' ok 2 - An object of class 'Analizo::Batch::Runner::Parallel' isa 'Analizo::Batch::Runner::Parallel' ok 3 - number of parallel processes ok 4 - number of parallel processes 1..4 ok # # t::Analizo::Batch::Runner::Sequential->constructor # # t::Analizo::Batch::Runner::Sequential->empty_batch_wont_crash # # t::Analizo::Batch::Runner::Sequential->run t/Analizo/Batch/Runner/Sequential.t ...................................... ok 1 - An object of class 'Analizo::Batch::Runner::Sequential' isa 'Analizo::Batch::Runner' ok 2 - An object of class 'Analizo::Batch::Runner::Sequential' isa 'Analizo::Batch::Runner::Sequential' ok 3 - job1 must be executed ok 4 - job2 must be executed ok 5 - run ok 6 - output must be flushed exactly once 1..6 ok # # t::Analizo::Command->any_command_is_a_subclass_of_Analizo_Command # # t::Analizo::Command->execute_some_command # # t::Analizo::Command->executing_commands_with_version_argument_is_not_allowed # # t::Analizo::Command->version_information t/Analizo/Command.t ...................................................... ok 1 - use Analizo::Command; ok 2 - An object of class 't::Analizo::Command::fake' isa 'Analizo::Command' ok 3 - execute some command ok 4 - threw Regexp ((?^:Invalid option)) ok 5 - version information 1..5 ok # # t::Analizo::Command::files_graph->constructor # # t::Analizo::Command::files_graph->is_a_subclass_of_Analizo_Command t/Analizo/Command/files_graph.t .......................................... ok 1 - use Analizo::Command::files_graph; ok 2 - An object of class 'Analizo::Command::files_graph' isa 'Analizo::Command::files_graph' ok 3 - An object of class 'Analizo::Command::files_graph' isa 'Analizo::Command' 1..3 ok # # t::Analizo::Command::graph->constructor # # t::Analizo::Command::graph->is_a_subclass_of_Analizo_Command t/Analizo/Command/graph.t ................................................ ok 1 - use Analizo::Command::graph; ok 2 - An object of class 'Analizo::Command::graph' isa 'Analizo::Command::graph' ok 3 - An object of class 'Analizo::Command::graph' isa 'Analizo::Command' 1..3 ok # # t::Analizo::Command::help->constructor # # t::Analizo::Command::help->is_a_subclass_of_Analizo_Command t/Analizo/Command/help.t ................................................. ok 1 - use Analizo::Command::help; ok 2 - An object of class 'Analizo::Command::help' isa 'App::Cmd::Command::help' ok 3 - An object of class 'Analizo::Command::help' isa 'Analizo::Command' 1..3 ok # # t::Analizo::Command::metrics->constructor # # t::Analizo::Command::metrics->is_a_subclass_of_Analizo_Command t/Analizo/Command/metrics.t .............................................. ok 1 - use Analizo::Command::metrics; ok 2 - An object of class 'Analizo::Command::metrics' isa 'Analizo::Command::metrics' ok 3 - An object of class 'Analizo::Command::metrics' isa 'Analizo::Command' 1..3 ok # # t::Analizo::Command::metrics_batch->constructor # # t::Analizo::Command::metrics_batch->is_a_subclass_of_Analizo_Command t/Analizo/Command/metrics_batch.t ........................................ ok 1 - use Analizo::Command::metrics_batch; ok 2 - An object of class 'Analizo::Command::metrics_batch' isa 'Analizo::Command::metrics_batch' ok 3 - An object of class 'Analizo::Command::metrics_batch' isa 'Analizo::Command' 1..3 ok # # t::Analizo::Command::metrics_history->constructor # # t::Analizo::Command::metrics_history->is_a_subclass_of_Analizo_Command # # t::Analizo::Command::metrics_history->load_output_driver # # t::Analizo::Command::metrics_history->nil_for_unavaiable_output_driver # # t::Analizo::Command::metrics_history->output_driver t/Analizo/Command/metrics_history.t ...................................... ok 1 - use Analizo::Command::metrics_history; ok 2 - An object of class 'Analizo::Command::metrics_history' isa 'Analizo::Command::metrics_history' ok 3 - An object of class 'Analizo::Command::metrics_history' isa 'Analizo::Command' ok 4 - The class (or class-like) 'Analizo::Batch::Output::CSV' isa 'Analizo::Batch::Output::CSV' ok 5 - nil for unavaiable output driver ok 6 - output driver ok 7 - output driver 1..7 ok # # t::Analizo::Command::tree_evolution->constructor # # t::Analizo::Command::tree_evolution->is_a_subclass_of_Analizo_Command t/Analizo/Command/tree_evolution.t ....................................... ok 1 - use Analizo::Command::tree_evolution; ok 2 - An object of class 'Analizo::Command::tree_evolution' isa 'Analizo::Command::tree_evolution' ok 3 - An object of class 'Analizo::Command::tree_evolution' isa 'Analizo::Command' 1..3 ok # # t::Analizo::Extractor->constructor # # t::Analizo::Extractor->current_file # # t::Analizo::Extractor->current_file_plus_current_module # # t::Analizo::Extractor->current_module # # t::Analizo::Extractor->dont_allow_code_injection # # t::Analizo::Extractor->fail_when_load_invalid_extractor # # t::Analizo::Extractor->force_ignore_filter # # t::Analizo::Extractor->has_a_current_member # # t::Analizo::Extractor->has_filters # # t::Analizo::Extractor->load_doxyparse_extractor # # t::Analizo::Extractor->load_doxyparse_extractor_by_alias # # t::Analizo::Extractor->must_consider_only__supported_languages # # t::Analizo::Extractor->must_create_filters_for_excluded_dirs # # t::Analizo::Extractor->must_filter_input_with_language_filter # # t::Analizo::Extractor->must_not_exclude_everything_in_the_case_of_unexisting_excluded_dir # # t::Analizo::Extractor->must_not_ignore_filter_by_default # # t::Analizo::Extractor->must_not_process_files_in_excluded_dirs # # t::Analizo::Extractor->process_must_delegate_to_actually_process t/Analizo/Extractor.t .................................................... ok 1 - An object of class 'Analizo::Extractor' isa 'Analizo::Extractor' ok 2 - current file ok 3 - current file ok 4 - current file plus current module ok 5 - must be able to set the current module ok 6 - must be able to change the current module ok 7 - An object of class 'Analizo::Extractor::Doxyparse' isa 'Analizo::Extractor::Doxyparse' ok 8 - dont allow code injection ok 9 - fail when load invalid extractor ok 10 - force ignore filter ok 11 - Analizo::Extractor->can('current_member') ok 12 - Analizo::Extractor->can('filters') ok 13 - has filters ok 14 - has filters ok 15 - load doxyparse extractor ok 16 - An object of class 'Analizo::Extractor::Doxyparse' isa 'Analizo::Extractor::Doxyparse' ok 17 - load doxyparse extractor by alias ok 18 - must consider only supported languages ok 19 - must create filters for excluded dirs ok 20 - must create filters for excluded dirs ok 21 - must create filters for excluded dirs ok 22 - must filter input with language filter ok 23 - must not exclude everything in the case of unexisting excluded dir ok 24 - must not exclude everything in the case of unexisting excluded dir ok 25 - must not ignore filter by default ok 26 - must not process files in excluded dirs ok 27 - process must delegate to actually process 1..27 ok # # t::Analizo::Extractor::Doxyparse->constructor # # t::Analizo::Extractor::Doxyparse->current_file # # t::Analizo::Extractor::Doxyparse->current_file_strip_pwd # # t::Analizo::Extractor::Doxyparse->current_module # # t::Analizo::Extractor::Doxyparse->detect_abstract_class # # t::Analizo::Extractor::Doxyparse->detect_conditional_paths # # t::Analizo::Extractor::Doxyparse->detect_direct_function_calls # # t::Analizo::Extractor::Doxyparse->detect_function_declaration # # t::Analizo::Extractor::Doxyparse->detect_function_protection # # t::Analizo::Extractor::Doxyparse->detect_lines_of_code # # t::Analizo::Extractor::Doxyparse->detect_number_of_parameters # # t::Analizo::Extractor::Doxyparse->detect_variable_declaration # # t::Analizo::Extractor::Doxyparse->detect_variable_protection # # t::Analizo::Extractor::Doxyparse->detect_variable_uses # # t::Analizo::Extractor::Doxyparse->detects_multiple_inheritance_properly # # t::Analizo::Extractor::Doxyparse->has_a_model # # t::Analizo::Extractor::Doxyparse->inheritance # # t::Analizo::Extractor::Doxyparse->invalid_doxyparse_input # # t::Analizo::Extractor::Doxyparse->module_name_can_contain_spaces # # t::Analizo::Extractor::Doxyparse->reading_from_directories # # t::Analizo::Extractor::Doxyparse->reading_from_one_input_file # # t::Analizo::Extractor::Doxyparse->reading_from_some_input_files # # t::Analizo::Extractor::Doxyparse->use_full_filename_for_C_modules t/Analizo/Extractor/Doxyparse.t .......................................... ok 1 - use Analizo::Extractor::Doxyparse; ok 2 - An object of class 'Analizo::Extractor::Doxyparse' isa 'Analizo::Extractor::Doxyparse' ok 3 - An object of class 'Analizo::Extractor::Doxyparse' isa 'Analizo::Extractor' ok 4 - current file ok 5 - current file strip pwd ok 6 - must be able to set the current module ok 7 - must be able to change the current module ok 8 - extractor detects an abstract class ok 9 - detect conditional paths ok 10 - detect direct function calls ok 11 - detect direct function calls ok 12 - detect direct function calls ok 13 - detect function declaration ok 14 - must set the current function ok 15 - detect function declaration ok 16 - must set the current function again ok 17 - detect function declaration ok 18 - must set the current function one more time ok 19 - detect function protection ok 20 - detect function protection ok 21 - detect lines of code ok 22 - detect lines of code ok 23 - detect number of parameters ok 24 - detect variable declaration ok 25 - must not read variable declarations when reading the name of the current module ok 26 - detect variable declaration ok 27 - detect variable protection ok 28 - detect variable protection ok 29 - detect variable uses ok 30 - detect variable uses ok 31 - Bird inherits Animal ok 32 - detects multiple inheritance properly ok 33 - detects multiple inheritance properly ok 34 - detects multiple inheritance properly ok 35 - detects multiple inheritance properly ok 36 - multiple inheritance detected ok 37 - An object of class 'Analizo::Model' isa 'Analizo::Model' ok 38 - extractor detects inheritance ok 39 - invalid doxyparse input ok 40 - module name can contain spaces ok 41 - reading from directories ok 42 - reading from directories ok 43 - reading from directories ok 44 - reading from directories ok 45 - module1 has once member ok 46 - reading from one input file ok 47 - we have once module ok 48 - reading from one input file ok 49 - module1 and module2 has 3 members ok 50 - we have 2 modules ok 51 - reading from some input files ok 52 - reading from some input files ok 53 - use full filename for C modules ok 54 - use full filename for C modules 1..54 ok # # t::Analizo::FilenameFilter->constructor # # t::Analizo::FilenameFilter->excluder # # t::Analizo::FilenameFilter->must_match_filenames_with_or_without_leading_dot # # t::Analizo::FilenameFilter->null_object t/Analizo/FilenameFilter.t ............................................... ok 1 - An object of class 'Analizo::FilenameFilter' isa 'Analizo::FilenameFilter' ok 2 - An object of class 'Analizo::FilenameFilter' isa 'Analizo::FilenameFilter' ok 3 - excluder ok 4 - excluder ok 5 - excluder ok 6 - excluder ok 7 - excluder ok 8 - must match filenames with or without leading dot ok 9 - must match filenames with or without leading dot ok 10 - must match filenames with or without leading dot ok 11 - must match filenames with or without leading dot ok 12 - null object 1..12 ok # # t::Analizo::GlobalMetric::ChangeCost->calculate # # t::Analizo::GlobalMetric::ChangeCost->calculate_for_an_empty_callgraph # # t::Analizo::GlobalMetric::ChangeCost->description # # t::Analizo::GlobalMetric::ChangeCost->has_model t/Analizo/GlobalMetric/ChangeCost.t ...................................... ok 1 - use Analizo::GlobalMetric::ChangeCost; ok 2 - calculate ok 3 - no change cost ok 4 - description ok 5 - has model 1..5 ok # # t::Analizo::GlobalMetric::MethodsPerAbstractClass->calculate # # t::Analizo::GlobalMetric::MethodsPerAbstractClass->description # # t::Analizo::GlobalMetric::MethodsPerAbstractClass->has_model # # t::Analizo::GlobalMetric::MethodsPerAbstractClass->use_package t/Analizo/GlobalMetric/MethodsPerAbstractClass.t ......................... ok 1 - no abstract classes ok 2 - no methods on abstract classes ok 3 - one methods on one abstract classes ok 4 - one methods on one abstract classes ok 5 - description ok 6 - has model ok 7 - use Analizo::GlobalMetric::MethodsPerAbstractClass; 1..7 ok # # t::Analizo::GlobalMetric::TotalAbstractClasses->calculate # # t::Analizo::GlobalMetric::TotalAbstractClasses->description # # t::Analizo::GlobalMetric::TotalAbstractClasses->has_model # # t::Analizo::GlobalMetric::TotalAbstractClasses->use_package t/Analizo/GlobalMetric/TotalAbstractClasses.t ............................ ok 1 - no abstract classes declared ok 2 - one abstract classes declared ok 3 - two abstract classes declared ok 4 - description ok 5 - has model ok 6 - use Analizo::GlobalMetric::TotalAbstractClasses; 1..6 ok # # t::Analizo::GlobalMetrics->add_lcom4_mean_when_there_were_two_added_values # # t::Analizo::GlobalMetrics->add_loc_mean_when_there_was_no_added_values # # t::Analizo::GlobalMetrics->add_loc_mean_when_there_was_one_added_values # # t::Analizo::GlobalMetrics->add_loc_mean_when_there_were_two_added_values # # t::Analizo::GlobalMetrics->add_rfc_sum_when_there_were_two_added_values # # t::Analizo::GlobalMetrics->constructor # # t::Analizo::GlobalMetrics->list_of_metrics # # t::Analizo::GlobalMetrics->metric_from_global_metrics_package # # t::Analizo::GlobalMetrics->model # # t::Analizo::GlobalMetrics->one_total_loc_found # # t::Analizo::GlobalMetrics->one_total_nom_found # # t::Analizo::GlobalMetrics->should_add_total_coupling_factor # # t::Analizo::GlobalMetrics->should_have_distributions_statistics # # t::Analizo::GlobalMetrics->should_have_other_descriptive_statistics # # t::Analizo::GlobalMetrics->should_ignore_filename # # t::Analizo::GlobalMetrics->should_ignore_module_name # # t::Analizo::GlobalMetrics->sum_the_values_of_loc_found # # t::Analizo::GlobalMetrics->sum_the_values_of_nom_found # # t::Analizo::GlobalMetrics->total_loc_with_no_loc_found # # t::Analizo::GlobalMetrics->total_modules # # t::Analizo::GlobalMetrics->total_modules_with_defined_attributes_when_a_module_has_no_noa # # t::Analizo::GlobalMetrics->total_modules_with_defined_attributes_when_a_module_has_noa # # t::Analizo::GlobalMetrics->total_modules_with_defined_attributes_when_no_modules_where_defined # # t::Analizo::GlobalMetrics->total_modules_with_defined_methods_when_a_module_has_no_nom # # t::Analizo::GlobalMetrics->total_modules_with_defined_methods_when_a_module_has_nom # # t::Analizo::GlobalMetrics->total_modules_with_defined_methods_when_no_modules_where_defined # # t::Analizo::GlobalMetrics->total_nom_with_no_nom_found t/Analizo/GlobalMetrics.t ................................................ ok 1 - add lcom4 mean when there were two added values ok 2 - add loc mean when there was no added values ok 3 - add loc mean when there was one added values ok 4 - add loc mean when there were two added values ok 5 - add rfc sum when there were two added values ok 6 - An object of class 'Analizo::GlobalMetrics' isa 'Analizo::GlobalMetrics' ok 7 - must list metrics ok 8 - 1 abstract class ok 9 - 1 method per abstract class ok 10 - model ok 11 - one total loc found ok 12 - one total nom found ok 13 - should add total coupling factor ok 14 - should add total coupling factor ok 15 - should have distributions statistics ok 16 - should have distributions statistics ok 17 - should have other descriptive statistics ok 18 - should have other descriptive statistics ok 19 - should have other descriptive statistics ok 20 - should have other descriptive statistics ok 21 - should have other descriptive statistics ok 22 - Should ignore _filename metrics ok 23 - should ignore module name ok 24 - sum the values of loc found ok 25 - sum the values of nom found ok 26 - total loc with no loc found ok 27 - total modules ok 28 - total modules ok 29 - total modules with defined attributes when a module has no noa ok 30 - total modules with defined attributes when a module has noa ok 31 - total modules with defined attributes when no modules where defined ok 32 - total modules with defined methods when a module has no nom ok 33 - total modules with defined methods when a module has nom ok 34 - total modules with defined methods when no modules where defined ok 35 - total nom with no nom found 1..35 ok # # t::Analizo::LanguageFilter->c_filter_matches_dot_c_and_dot_h # # t::Analizo::LanguageFilter->constructor # # t::Analizo::LanguageFilter->cpp_filter_matches_cpp_cc_cxx_hpp_h_hh # # t::Analizo::LanguageFilter->csharp_filter_matches_cs_only # # t::Analizo::LanguageFilter->java_filter_matches_java_only # # t::Analizo::LanguageFilter->list_languages # # t::Analizo::LanguageFilter->must_be_case_insensitive # # t::Analizo::LanguageFilter->null_object_matches_everything_that_is_supported t/Analizo/LanguageFilter.t ............................................... ok 1 - c filter matches dot c and dot h ok 2 - c filter matches dot c and dot h ok 3 - c filter matches dot c and dot h ok 4 - An object of class 'Analizo::LanguageFilter' isa 'Analizo::LanguageFilter' ok 5 - cpp filter matches cpp cc cxx hpp h hh ok 6 - cpp filter matches cpp cc cxx hpp h hh ok 7 - cpp filter matches cpp cc cxx hpp h hh ok 8 - cpp filter matches cpp cc cxx hpp h hh ok 9 - cpp filter matches cpp cc cxx hpp h hh ok 10 - cpp filter matches cpp cc cxx hpp h hh ok 11 - cpp filter matches cpp cc cxx hpp h hh ok 12 - cpp filter matches cpp cc cxx hpp h hh ok 13 - csharp filter matches cs only ok 14 - csharp filter matches cs only ok 15 - csharp filter matches cs only ok 16 - csharp filter matches cs only ok 17 - csharp filter matches cs only ok 18 - java filter matches java only ok 19 - java filter matches java only ok 20 - java filter matches java only ok 21 - java filter matches java only ok 22 - list languages ok 23 - list languages ok 24 - must be case insensitive ok 25 - must be case insensitive ok 26 - must be case insensitive ok 27 - must be case insensitive ok 28 - null object matches everything that is supported ok 29 - null object matches everything that is supported ok 30 - null object matches everything that is supported 1..30 ok # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsByInheritance->calculate_deeper_tree # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsByInheritance->calculate_deeper_tree_new_grandchild # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsByInheritance->calculate_first_degree_inheritance # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsByInheritance->calculate_multiple_childs # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsByInheritance->description # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsByInheritance->has_model # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsByInheritance->use_package t/Analizo/Metric/AfferentConnections/AfferentConnectionsByInheritance.t .. ok 1 - grandchilds acc is not affected ok 2 - grandchild extending a child counts ok 3 - the deeper the tree, the biggest acc ok 4 - grandchilds acc is not affected ok 5 - grandchild extending a child counts ok 6 - the deeper the tree, the biggest acc ok 7 - inheritance counts as acc to superclass ok 8 - inheritance does not count as acc to child ok 9 - multiple inheritance counts as acc ok 10 - inheritance does not count as acc to another child ok 11 - description ok 12 - has model ok 13 - use Analizo::Metric::AfferentConnections; 1..13 ok # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsByReference->calculate_adding_variable_of_another_module # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsByReference->calculate_calling_function_of_another_module # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsByReference->calculate_calling_itself_does_not_count # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsByReference->calculate_calling_module_twice # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsByReference->calculate_calling_variable_of_another_module # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsByReference->calculate_empty_acc # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsByReference->description # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsByReference->has_model # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsByReference->use_package t/Analizo/Metric/AfferentConnections/AfferentConnectionsByReference.t .... ok 1 - no calls to a module ok 2 - adding variable of another module ok 3 - no calls to a module ok 4 - calling function of another module ok 5 - calling itself does not count as acc ok 6 - calling module twice ok 7 - no calls to a module ok 8 - calling variable of another module ok 9 - no acc module A ok 10 - no acc module B ok 11 - no acc module C ok 12 - description ok 13 - has model ok 14 - use Analizo::Metric::AfferentConnections; 1..14 ok # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsComplete->calculate_inheritance_and_references # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsComplete->description # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsComplete->has_model # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsComplete->use_package t/Analizo/Metric/AfferentConnections/AfferentConnectionsComplete.t ....... ok 1 - deeper inheritance and reference counts as acc ok 2 - calls counts as acc to child ok 3 - inheritance counts as acc to mother ok 4 - have no inheritance neither calls to mother sister ok 5 - have no inheritance neither calls to friend ok 6 - description ok 7 - has model ok 8 - use Analizo::Metric::AfferentConnections; 1..8 ok # # t::Analizo::Metric::AverageCycloComplexity->calculate # # t::Analizo::Metric::AverageCycloComplexity->description # # t::Analizo::Metric::AverageCycloComplexity->has_model # # t::Analizo::Metric::AverageCycloComplexity->use_package t/Analizo/Metric/AverageCycloComplexity.t ................................ ok 1 - no function ok 2 - one function with two conditional paths ok 3 - two function with three average cyclomatic complexity per method ok 4 - description ok 5 - has model ok 6 - use Analizo::Metric::AverageCycloComplexity; 1..6 ok # # t::Analizo::Metric::AverageMethodLinesOfCode->calculate # # t::Analizo::Metric::AverageMethodLinesOfCode->description # # t::Analizo::Metric::AverageMethodLinesOfCode->has_model # # t::Analizo::Metric::AverageMethodLinesOfCode->use_package t/Analizo/Metric/AverageMethodLinesOfCode.t .............................. ok 1 - empty module has max loc 0 ok 2 - one module, with 10 loc, makes avg loc = 10 ok 3 - adding module with 5 loc makes the avg continue 10 ok 4 - description ok 5 - has model ok 6 - use Analizo::Metric::AverageMethodLinesOfCode; 1..6 ok # # t::Analizo::Metric::AverageNumberOfParameters->calculate # # t::Analizo::Metric::AverageNumberOfParameters->description # # t::Analizo::Metric::AverageNumberOfParameters->has_model # # t::Analizo::Metric::AverageNumberOfParameters->use_package t/Analizo/Metric/AverageNumberOfParameters.t ............................. ok 1 - no parameters declared ok 2 - one function with one parameter ok 3 - description ok 4 - has model ok 5 - use Analizo::Metric::AverageNumberOfParameters; 1..5 ok # # t::Analizo::Metric::CouplingBetweenObjects->calculate # # t::Analizo::Metric::CouplingBetweenObjects->description # # t::Analizo::Metric::CouplingBetweenObjects->discard_external_symbols_for_calculate # # t::Analizo::Metric::CouplingBetweenObjects->has_model # # t::Analizo::Metric::CouplingBetweenObjects->use_package t/Analizo/Metric/CouplingBetweenObjects.t ................................ ok 1 - no cbo ok 2 - calling itself does not count as cbo ok 3 - calling a single other module ok 4 - calling two function in distinct modules ok 5 - calling two different functions in the same module ok 6 - description ok 7 - calling a external function ok 8 - has model ok 9 - use Analizo::Metric::CouplingBetweenObjects; 1..9 ok # # t::Analizo::Metric::DepthOfInheritanceTree->calculate # # t::Analizo::Metric::DepthOfInheritanceTree->calculate_with_multiple_inheritance # # t::Analizo::Metric::DepthOfInheritanceTree->description # # t::Analizo::Metric::DepthOfInheritanceTree->has_model # # t::Analizo::Metric::DepthOfInheritanceTree->use_package t/Analizo/Metric/DepthOfInheritanceTree.t ................................ ok 1 - DIT = 2 ok 2 - DIT = 1 ok 3 - DIT = 0 ok 4 - with multiple inheritance take the larger DIT between the parents ok 5 - has model ok 6 - use Analizo::Metric::DepthOfInheritanceTree; 1..6 ok # # t::Analizo::Metric::LackOfCohesionOfMethods->calculate # # t::Analizo::Metric::LackOfCohesionOfMethods->calculate_2 # # t::Analizo::Metric::LackOfCohesionOfMethods->calculate_3 # # t::Analizo::Metric::LackOfCohesionOfMethods->description # # t::Analizo::Metric::LackOfCohesionOfMethods->has_model # # t::Analizo::Metric::LackOfCohesionOfMethods->use_package t/Analizo/Metric/LackOfCohesionOfMethods.t ............................... ok 1 - two unrelated functions ok 2 - two cohesive functions ok 3 - two different usage components ok 4 - three different usage components ok 5 - different types of connections ok 6 - functions outside the module don't count for LCOM4 ok 7 - description ok 8 - has model ok 9 - use Analizo::Metric::LackOfCohesionOfMethods; 1..9 ok # # t::Analizo::Metric::LinesOfCode->calculate # # t::Analizo::Metric::LinesOfCode->description # # t::Analizo::Metric::LinesOfCode->has_model # # t::Analizo::Metric::LinesOfCode->use_package t/Analizo/Metric/LinesOfCode.t ........................................... ok 1 - empty module has 0 loc ok 2 - one module, with 10 loc ok 3 - adding another module with 20 loc makes the total equal 30 ok 4 - description ok 5 - has model ok 6 - use Analizo::Metric::LinesOfCode; 1..6 ok # # t::Analizo::Metric::MaximumMethodLinesOfCode->calculate # # t::Analizo::Metric::MaximumMethodLinesOfCode->description # # t::Analizo::Metric::MaximumMethodLinesOfCode->has_model # # t::Analizo::Metric::MaximumMethodLinesOfCode->use_package t/Analizo/Metric/MaximumMethodLinesOfCode.t .............................. ok 1 - empty module has max loc 0 ok 2 - one module, with 10 loc, makes max loc = 10 ok 3 - adding module with 5 loc makes the max continue 10 ok 4 - description ok 5 - has model ok 6 - use Analizo::Metric::MaximumMethodLinesOfCode; 1..6 ok # # t::Analizo::Metric::NumberOfAttributes->calculate # # t::Analizo::Metric::NumberOfAttributes->description # # t::Analizo::Metric::NumberOfAttributes->has_model # # t::Analizo::Metric::NumberOfAttributes->use_package t/Analizo/Metric/NumberOfAttributes.t .................................... ok 1 - empty modules have no attributes ok 2 - module with one defined attribute ok 3 - module with two defined attribute ok 4 - description ok 5 - has model ok 6 - use Analizo::Metric::NumberOfAttributes; 1..6 ok # # t::Analizo::Metric::NumberOfChildren->calculate # # t::Analizo::Metric::NumberOfChildren->description # # t::Analizo::Metric::NumberOfChildren->has_model # # t::Analizo::Metric::NumberOfChildren->use_package t/Analizo/Metric/NumberOfChildren.t ...................................... ok 1 - no children module A ok 2 - no children module B ok 3 - no children module C ok 4 - one child module A ok 5 - no children module B ok 6 - two children module A ok 7 - no children module C ok 8 - two children module A ok 9 - one child module C ok 10 - no children module D ok 11 - description ok 12 - has model ok 13 - use Analizo::Metric::NumberOfChildren; 1..13 ok # # t::Analizo::Metric::NumberOfMethods->calculate # # t::Analizo::Metric::NumberOfMethods->description # # t::Analizo::Metric::NumberOfMethods->has_model # # t::Analizo::Metric::NumberOfMethods->use_package t/Analizo/Metric/NumberOfMethods.t ....................................... ok 1 - empty modules have no functions ok 2 - module with just one function has number of functions = 1 ok 3 - module with just two functions has number of functions = 2 ok 4 - description ok 5 - has model ok 6 - use Analizo::Metric::NumberOfMethods; 1..6 ok # # t::Analizo::Metric::NumberOfPublicAttributes->calculate # # t::Analizo::Metric::NumberOfPublicAttributes->description # # t::Analizo::Metric::NumberOfPublicAttributes->has_model # # t::Analizo::Metric::NumberOfPublicAttributes->use_package t/Analizo/Metric/NumberOfPublicAttributes.t .............................. ok 1 - empty modules have 0 public attributes ok 2 - one public attribute added ok 3 - another public attribute added ok 4 - not public attribute added ok 5 - description ok 6 - has model ok 7 - use Analizo::Metric::NumberOfPublicAttributes; 1..7 ok # # t::Analizo::Metric::NumberOfPublicMethods->calculate # # t::Analizo::Metric::NumberOfPublicMethods->description # # t::Analizo::Metric::NumberOfPublicMethods->has_model # # t::Analizo::Metric::NumberOfPublicMethods->use_package t/Analizo/Metric/NumberOfPublicMethods.t ................................. ok 1 - empty modules have 0 public functions ok 2 - one public function added ok 3 - another public function added ok 4 - not public function added ok 5 - description ok 6 - has model ok 7 - use Analizo::Metric::NumberOfPublicMethods; 1..7 ok # # t::Analizo::Metric::ResponseForClass->calculate # # t::Analizo::Metric::ResponseForClass->description # # t::Analizo::Metric::ResponseForClass->has_model # # t::Analizo::Metric::ResponseForClass->use_package t/Analizo/Metric/ResponseForClass.t ...................................... ok 1 - no functions declared on the module ok 2 - one function declared on the module ok 3 - two functions declared on the module ok 4 - two functions and one call declared on the module ok 5 - two functions and two calls declared on the module ok 6 - description ok 7 - has model ok 8 - use Analizo::Metric::ResponseForClass; 1..8 ok # # t::Analizo::Metric::StructuralComplexity->description # # t::Analizo::Metric::StructuralComplexity->has_model # # t::Analizo::Metric::StructuralComplexity->sc_definition # # t::Analizo::Metric::StructuralComplexity->sc_implementation # # t::Analizo::Metric::StructuralComplexity->use_package t/Analizo/Metric/StructuralComplexity.t .................................. ok 1 - description ok 2 - has model ok 3 - sc definition ok 4 - sc implementation ok 5 - sc implementation ok 6 - sc implementation ok 7 - use Analizo::Metric::StructuralComplexity; 1..7 ok # # t::Analizo::Metrics->constructor # # t::Analizo::Metrics->list_of_metrics # # t::Analizo::Metrics->metrics_for # # t::Analizo::Metrics->model # # t::Analizo::Metrics->report # # t::Analizo::Metrics->report_global_only # # t::Analizo::Metrics->report_without_modules_at_all t/Analizo/Metrics.t ...................................................... ok 1 - An object of class 'Analizo::Metrics' isa 'Analizo::Metrics' ok 2 - must list metrics ok 3 - metrics for ok 4 - metrics for ok 5 - Analizo::Metrics->can('model') ok 6 - model ok 7 - reporting number of classes in YAML stream ok 8 - reporting module 1 ok 9 - reporting module 2 ok 10 - reporting number of classes (it is global) ok 11 - not reporting module 1 details ok 12 - not reporting module 2 details 1..12 ok # # t::Analizo::Model->addding_variable_uses # # t::Analizo::Model->adding_abstract_class # # t::Analizo::Model->adding_calls # # t::Analizo::Model->build_graphs_from_funcion_calls_and_inheritance # # t::Analizo::Model->build_graphs_from_function_calls # # t::Analizo::Model->build_graphs_from_inheritance # # t::Analizo::Model->constructor # # t::Analizo::Model->declaring_function # # t::Analizo::Model->declaring_inheritance # # t::Analizo::Model->declaring_modules # # t::Analizo::Model->declaring_modules_with_files # # t::Analizo::Model->declaring_number_of_conditional_paths # # t::Analizo::Model->declaring_protection # # t::Analizo::Model->declaring_variables # # t::Analizo::Model->declating_lines_of_code # # t::Analizo::Model->empty_call_graph # # t::Analizo::Model->empty_object # # t::Analizo::Model->group_files_when_build_graphs # # t::Analizo::Model->groupping_by_module # # t::Analizo::Model->including_external_functions # # t::Analizo::Model->indirect_calls # # t::Analizo::Model->listing_calls # # t::Analizo::Model->listing_only_defined_functions # # t::Analizo::Model->listing_two_calls # # t::Analizo::Model->ommiting_functions # # t::Analizo::Model->querying_functions # # t::Analizo::Model->querying_members # # t::Analizo::Model->querying_variables # # t::Analizo::Model->retrieving_modules_by_file # # t::Analizo::Model->use_file_as_vertices_in_graphs # # t::Analizo::Model->use_of_variables t/Analizo/Model.t ........................................................ ok 1 - must register variable use ok 2 - model detects an abstract class ok 3 - must register function call ok 4 - build graphs from funcion calls and inheritance ok 5 - build graphs from funcion calls and inheritance ok 6 - build graphs from function calls ok 7 - build graphs from function calls ok 8 - build graphs from inheritance ok 9 - build graphs from inheritance ok 10 - An object of class 'Analizo::Model' isa 'Analizo::Model' ok 11 - declared function must be stored ok 12 - must map function to module ok 13 - declaring a function must declare its module ok 14 - must store members in a module ok 15 - another declared function must be stored ok 16 - must map another function to module ok 17 - declaring a another function must declare its module ok 18 - must store members in a module ok 19 - class with one superclass ok 20 - class with two superclasses ok 21 - declaring modules ok 22 - declaring modules ok 23 - declaring modules with files ok 24 - declaring number of conditional paths ok 25 - declaring protection ok 26 - declared variable must be stored ok 27 - must map variable to module ok 28 - declaring a variable must declare its module ok 29 - must store variable in a module ok 30 - declating lines of code ok 31 - empty output must give empty digraph ok 32 - 'must have modules' isa 'HASH' ok 33 - 'must have members' isa 'HASH' ok 34 - group files when build graphs ok 35 - group files when build graphs ok 36 - must list correctly a single dependency arrow between two modules ok 37 - must list arrow targets in lexicographic order ok 38 - must list arrow sources in in lexicographic order ok 39 - must be able to omit a called function ok 40 - must register indirect call ok 41 - must generate correctly a graph with one call ok 42 - must include by default only functions inside the project ok 43 - must generate correctly a graph with f1 -> f2, f1 -> f3 ok 44 - must be able to omit a called function ok 45 - must be able to omit a caller function ok 46 - must list f1 in functions ok 47 - must list f2 in functions ok 48 - must list f1 in functions ok 49 - must list f2 in functions ok 50 - must list v1 in variables ok 51 - must list v2 in variables ok 52 - must list v1 in variables ok 53 - must list v2 in variables ok 54 - retrieving modules by file ok 55 - retrieving modules by file ok 56 - use file as vertices in graphs ok 57 - use file as vertices in graphs ok 58 - must output declared variables ok 59 - must use variable information for inter-module dependencies 1..59 ok # # t::Analizo::ModuleMetric->caches_calculate_results t/Analizo/ModuleMetric.t ................................................. ok 1 - caches calculate results 1..1 ok # # t::Analizo::ModuleMetrics->constructor # # t::Analizo::ModuleMetrics->list_of_metrics # # t::Analizo::ModuleMetrics->metrics_of_module t/Analizo/ModuleMetrics.t ................................................ ok 1 - An object of class 'Analizo::ModuleMetrics' isa 'Analizo::ModuleMetrics' ok 2 - must list metrics ok 3 - metrics of module ok 4 - metrics of module ok 5 - metrics of module ok 6 - metrics of module ok 7 - metrics of module 1..7 ok t/author-pod-spell.t ..................................................... skipped: these tests are for testing by the author t/author-pod-syntax.t .................................................... skipped: these tests are for testing by the author t/features.t ............................................................. # Feature c code with void argument # As a software engineering reasearcher I want to know the arguments of each function on a project So that I can run analizo metrics calculate number of parameters # Scenario calculate anpn on function with void argument ok 1 - Given I am in t/samples/void/ # ok 2 - When I run "analizo metrics ." # ok 3 - Then analizo must report that module main has anpm = 0 # # Feature loading command line options from .analizo # As a analizo user I want to store command line options in a file called .analizo inside my project So that I don't need to alway pass all those options on the command line # Scenario analizo metrics ok 4 - Given I copy t/samples/mixed into a temporary directory # ok 5 - And I create a file called .analizo with the following content # """metrics: --language java""" ok 6 - When I run "analizo metrics ." # ok 7 - Then the output must not match "native_backend.c" # ok 8 - And the output must match "UI.java" # ok 9 - And the exit status must be 0 # # Scenario all others ok 10 - Given I change to an empty temporary directory # ok 11 - And I create a file called .analizo with the following content # """: --help""" ok 12 - When I run "analizo graph" # ok 13 - Then the output must match "analizo graph is part of the analizo suite." # # Scenario all others ok 14 - Given I change to an empty temporary directory # ok 15 - And I create a file called .analizo with the following content # """: --help""" ok 16 - When I run "analizo metrics" # ok 17 - Then the output must match "analizo metrics is part of the analizo suite." # # Scenario all others ok 18 - Given I change to an empty temporary directory # ok 19 - And I create a file called .analizo with the following content # """: --help""" ok 20 - When I run "analizo metrics-batch" # ok 21 - Then the output must match "analizo metrics-batch is part of the analizo suite." # # Scenario all others ok 22 - Given I change to an empty temporary directory # ok 23 - And I create a file called .analizo with the following content # """: --help""" ok 24 - When I run "analizo metrics-history" # ok 25 - Then the output must match "analizo metrics-history is part of the analizo suite." # # Scenario all others ok 26 - Given I change to an empty temporary directory # ok 27 - And I create a file called .analizo with the following content # """: --help""" ok 28 - When I run "analizo tree-evolution" # ok 29 - Then the output must match "analizo tree-evolution is part of the analizo suite." # # Scenario all others ok 30 - Given I change to an empty temporary directory # ok 31 - And I create a file called .analizo with the following content # """: --help""" ok 32 - When I run "analizo files-graph" # ok 33 - Then the output must match "analizo files-graph is part of the analizo suite." # # Scenario all others ok 34 - Given I change to an empty temporary directory # ok 35 - And I create a file called .analizo with the following content # """: --help""" ok 36 - When I run "analizo help" # ok 37 - Then the output must match "analizo help is part of the analizo suite." # # Feature storing VCS data in a database # As a software engineering researcher I want to store data about the changes in a project So that I can analyze the development process # Scenario basics ok 38 - When I explode t/samples/evolution.tar.gz # ok 39 - And I run "analizo metrics-history -f db -o data.db" # ok 40 - Then the exit status must be 0 # ok 41 - When I run "select * from modules" on database "data.db" # ok 42 - Then the output must match "Input" # ok 43 - And the output must match "Output" # ok 44 - And the output must match "prog" # # Feature analizo wrapper script # Scenario invoking a tool ok 45 - When I run "analizo metrics lib t" # ok 46 - Then analizo must emit a warning matching "Usage:" # ok 47 - And analizo must emit a warning matching "analizo.metrics" # ok 48 - And the exit status must not be 0 # # Scenario must not pass --version ahead ok 49 - When I run "analizo metrics --version" # ok 50 - Then analizo must emit a warning matching "Invalid option: --version" # ok 51 - And the exit status must not be 0 # # Scenario display help ok 52 - When I run "analizo --help" # ok 53 - Then the output must match "[NAME|N^HNA^HAM^HME^HE]\s+analizo\s" # ok 54 - And the output must match "[USAGE|U^HUS^HSA^HAG^HGE^HE]\s+analizo\s" # ok 55 - And the exit status must be 0 # # Scenario display version ok 56 - When I run "analizo --version" # ok 57 - Then the output must match "^analizo version [0-9]+.[0-9]+.[0-9]+" # ok 58 - And the exit status must be 0 # # Scenario invalid option ok 59 - When I run "analizo --invalid-option" # ok 60 - Then the output must match "Unrecognized command" # ok 61 - And the exit status must not be 0 # # Feature tree evolution # As a software engineering reasearcher I want to know what directories existed during the project lifetime So that I can analyze only the production code (and not tests etc) # Scenario sample git repository ok 62 - When I explode t/samples/tree-evolution.tar.gz # ok 63 - And I run "analizo tree-evolution" # ok 64 - Then the output lines must match "\# 073290fbad0254793bd3ecfb97654c04368d0039\\nsrc\\n\#" # ok 65 - Then the output lines must match "\# 85f7db08f7b7b0b62e3c0023b2743d529b0d5b4b\\nsrc\\nsrc/input\\n\#" # ok 66 - Then the output lines must match "\# f41cf7d0351e812285efd60c6d957c330b1f61a1\\nsrc\\nsrc/input\\nsrc/output" # # Feature mapping modules to filenames # As a software engineering resesearcher I want to know in which file each module is declared So that I can compare that with data from the VCS # Scenario C++, runing against some directory ok 67 - When I run "analizo metrics t/samples/animals/cpp" # ok 68 - Then analizo must report that file animal.h declares module Animal # ok 69 - And analizo must report that file cat.cc declares module Cat # ok 70 - And analizo must report that file cat.h declares module Cat # ok 71 - And analizo must report that file cat.cc not declares module Dog # ok 72 - And analizo must report that file cat.h not declares module Dog # # Scenario C++, running against current directory ok 73 - Given I am in t/samples/animals/cpp # ok 74 - When I run "analizo metrics ." # ok 75 - Then analizo must report that file animal.h declares module Animal # ok 76 - And analizo must report that file cat.cc declares module Cat # ok 77 - And analizo must report that file cat.h declares module Cat # # Scenario Java ok 78 - When I run "analizo metrics t/samples/animals/java" # ok 79 - Then analizo must report that file Animal.java declares module Animal # # Scenario C ok 80 - Given I am in t/samples/hello_world/c # ok 81 - When I run "analizo metrics ." # ok 82 - Then analizo must report that module hello_world has _filename = [hello_world.c,hello_world.h] # ok 83 - And analizo must report that file hello_world.c declares module hello_world # ok 84 - And analizo must report that file hello_world.h declares module hello_world # # Scenario CSharp hello_world ok 85 - Given I am in t/samples/hello_world/csharp # ok 86 - When I run "analizo metrics ." # ok 87 - Then analizo must report that module HelloWorld has _filename = [HelloWorld.cs] # # Scenario CSharp polygons ok 88 - Given I am in t/samples/polygons/csharp # ok 89 - When I run "analizo metrics ." # ok 90 - Then analizo must report that file Polygon.cs declares module Polygon # ok 91 - And analizo must report that file Rect.cs declares module Rect # ok 92 - And analizo must report that file Triangle.cs declares module Triangle # # Scenario Java Generics WildCard sample ok 93 - Given I am in t/samples/wildcard # ok 94 - When I run "analizo metrics ." # ok 95 - Then analizo must report that file WildcardClass.java declares module WildcardClass # ok 96 - And analizo must report that file GenericClass.java declares module GenericClass # # Scenario Java Enumeration sample ok 97 - Given I am in t/samples/enumeration # ok 98 - When I run "analizo metrics ." # ok 99 - Then analizo must report that file Main.java declares module Main::MyEnumeration # ok 100 - And analizo must report that file Enumeration.java declares module Enumeration # # Feature dependency graph among files # As a software engineering reasearcher I want to know the all relationships between all files on project So that I can run analizo files-graph to produces a DOT graph from source-code # Scenario relation between function call ok 101 - Given I am in t/samples/animals/cpp # ok 102 - When I run "analizo files-graph ." # ok 103 - Then analizo must report that "main" depends on "animal" # # Scenario relation between function call ok 104 - Given I am in t/samples/animals/java # ok 105 - When I run "analizo files-graph ." # ok 106 - Then analizo must report that "Main" depends on "Animal" # # Scenario relation between function call ok 107 - Given I am in t/samples/animals/csharp # ok 108 - When I run "analizo files-graph ." # ok 109 - Then analizo must report that "Main" depends on "Animal" # # Scenario relation between inheritance ok 110 - Given I am in t/samples/animals/cpp # ok 111 - When I run "analizo files-graph ." # ok 112 - Then analizo must report that "dog" depends on "mammal" # # Scenario relation between inheritance ok 113 - Given I am in t/samples/animals/java # ok 114 - When I run "analizo files-graph ." # ok 115 - Then analizo must report that "Dog" depends on "Mammal" # # Scenario relation between inheritance ok 116 - Given I am in t/samples/animals/csharp # ok 117 - When I run "analizo files-graph ." # ok 118 - Then analizo must report that "Dog" depends on "Mammal" # # Scenario relation between inheritance ok 119 - Given I am in t/samples/animals/cpp # ok 120 - When I run "analizo files-graph ." # ok 121 - Then analizo must report that "mammal" depends on "animal" # # Scenario relation between inheritance ok 122 - Given I am in t/samples/animals/java # ok 123 - When I run "analizo files-graph ." # ok 124 - Then analizo must report that "Mammal" depends on "Animal" # # Scenario relation between inheritance ok 125 - Given I am in t/samples/animals/csharp # ok 126 - When I run "analizo files-graph ." # ok 127 - Then analizo must report that "Mammal" depends on "Animal" # # Feature give manpage on --help # As a user I want to read the manpage when passing --help command line option In order to get instructions on how to use the tools # Scenario display manpage for `analizo graph` ok 128 - When I run "analizo graph --help" # ok 129 - Then the output must match "[NAME|N^HNA^HAM^HME^HE]\s+analizo-graph" # ok 130 - Then the output must match "[USAGE|U^HUS^HSA^HAG^HGE^HE]\s+analizo graph \[OPTIONS\]" # # Scenario display manpage for `analizo metrics` ok 131 - When I run "analizo metrics --help" # ok 132 - Then the output must match "[NAME|N^HNA^HAM^HME^HE]\s+analizo-metrics" # ok 133 - Then the output must match "[USAGE|U^HUS^HSA^HAG^HGE^HE]\s+analizo metrics \[OPTIONS\]" # # Scenario display manpage for `analizo metrics-batch` ok 134 - When I run "analizo metrics-batch --help" # ok 135 - Then the output must match "[NAME|N^HNA^HAM^HME^HE]\s+analizo-metrics-batch" # ok 136 - Then the output must match "[USAGE|U^HUS^HSA^HAG^HGE^HE]\s+analizo metrics-batch \[OPTIONS\]" # # Scenario display manpage for `analizo metrics-history` ok 137 - When I run "analizo metrics-history --help" # ok 138 - Then the output must match "[NAME|N^HNA^HAM^HME^HE]\s+analizo-metrics-history" # ok 139 - Then the output must match "[USAGE|U^HUS^HSA^HAG^HGE^HE]\s+analizo metrics-history \[OPTIONS\]" # # Scenario display manpage for `analizo tree-evolution` ok 140 - When I run "analizo tree-evolution --help" # ok 141 - Then the output must match "[NAME|N^HNA^HAM^HME^HE]\s+analizo-tree-evolution" # ok 142 - Then the output must match "[USAGE|U^HUS^HSA^HAG^HGE^HE]\s+analizo tree-evolution \[OPTIONS\]" # # Scenario display manpage for `analizo files-graph` ok 143 - When I run "analizo files-graph --help" # ok 144 - Then the output must match "[NAME|N^HNA^HAM^HME^HE]\s+analizo-files-graph" # ok 145 - Then the output must match "[USAGE|U^HUS^HSA^HAG^HGE^HE]\s+analizo files-graph \[OPTIONS\]" # # Feature exclude directories from the analysis # As a software developer in a large project I want to exclude some directories from the source code analysis In order to not analyse non-production code such as tests # Scenario excluding test directory ok 146 - Given I am in t/samples/multidir/cpp # ok 147 - When I run "analizo metrics --exclude test ." # ok 148 - Then the output must match "module: HelloWorld" # ok 149 - And the output must not match "module: hello_test" # # Scenario excluding test directory ok 150 - Given I am in t/samples/multidir/csharp # ok 151 - When I run "analizo metrics --exclude test ." # ok 152 - Then the output must match "module: HelloWorld" # ok 153 - And the output must not match "module: hello_test" # # Scenario excluding a list of directories ok 154 - Given I am in t/samples/multidir/cpp # ok 155 - When I run "analizo metrics --exclude test:src ." # ok 156 - Then the output must not match "module: HelloWorld" # ok 157 - And the output must not match "module: hello_test" # # Scenario excluding a list of directories ok 158 - Given I am in t/samples/multidir/csharp # ok 159 - When I run "analizo metrics --exclude test:src ." # ok 160 - Then the output must not match "module: HelloWorld" # ok 161 - And the output must not match "module: hello_test" # # Scenario excluding src directory ok 162 - Given I am in t/samples/multidir/cpp # ok 163 - When I run "analizo metrics --exclude src ." # ok 164 - Then the output must match "module: hello_test" # ok 165 - And the output must not match "module: HelloWorld" # # Scenario excluding src directory ok 166 - Given I am in t/samples/multidir/csharp # ok 167 - When I run "analizo metrics --exclude src ." # ok 168 - Then the output must match "module: hello_test" # ok 169 - And the output must not match "module: HelloWorld" # # Feature analizo metrics-history # As a software engineering researcher I want to analyse the entire history of a project To understand its development process # Scenario listing merge commits with code changes that should be analyzed ok 170 - When I explode t/samples/evolution.tar.gz # ok 171 - And I run "analizo metrics-history --list ." # ok 172 - Then the output must match "0a06a6fcc2e7b4fe56d134e89d74ad028bb122ed" # ok 173 - And the output must match "eb67c27055293e835049b58d7d73ce3664d3f90e" # ok 174 - And the output must match "aa2d0fcb7879485d5ff1cd189743f91f04bea8ce" # ok 175 - And the output must match "e8faf88f0e20a193d700b6c68eeb31897dd85e53" # ok 176 - And the output must match "d7f52e74dc3d8f57640e83d41c5e9f8fcf621c00" # ok 177 - And the output must match "0d3c023120ad4e9f519a03fff275d048c52671ad" # # Scenario non-code commits should not be analyzed ok 178 - When I explode t/samples/evolution.tar.gz # ok 179 - And I run "analizo metrics-history --list ." # ok 180 - Then the output must not match "ba62278e976944c0334103aa0044535169e1a51e" # # Scenario merge commits without code change should not be analyzed ok 181 - When I explode t/samples/evolution.tar.gz # ok 182 - And I run "analizo metrics-history --list ." # ok 183 - Then the output must not match "0fdaaa7dcc8073332a957024fafc8c98f165e725" # # Scenario actually processing merge commits ok 184 - When I explode t/samples/evolution.tar.gz # ok 185 - And I run "analizo metrics-history -o metrics.csv . && cat metrics.csv" # ok 186 - Then the output must match "^id,previous_commit_id,author_date,author_name,author_email,.*,sc_mean" # ok 187 - And the output must match "0a06a6fcc2e7b4fe56d134e89d74ad028bb122ed,eb67c27055293e835049b58d7d73ce3664d3f90e" # ok 188 - And the output must match "eb67c27055293e835049b58d7d73ce3664d3f90e,," # ok 189 - And the output must match "aa2d0fcb7879485d5ff1cd189743f91f04bea8ce,d7f52e74dc3d8f57640e83d41c5e9f8fcf621c00" # ok 190 - And the output must match "e8faf88f0e20a193d700b6c68eeb31897dd85e53,d7f52e74dc3d8f57640e83d41c5e9f8fcf621c00" # ok 191 - And the output must match "d7f52e74dc3d8f57640e83d41c5e9f8fcf621c00,0d3c023120ad4e9f519a03fff275d048c52671ad" # # Scenario actually processing initial commit and first commit after a non-relevant merge ok 192 - When I explode t/samples/evolution.tar.gz # ok 193 - And I run "analizo metrics-history -o metrics.csv . && cat metrics.csv" # ok 194 - Then the output must match "0d3c023120ad4e9f519a03fff275d048c52671ad,," # ok 195 - And the output must match "8183eafad3a0f3eff6e8869f1bdbfd255e86825a,0a06a6fcc2e7b4fe56d134e89d74ad028bb122ed" # # Scenario support for parallel processing ok 196 - Given I copy t/samples/evolution.tar.gz into a temporary directory # ok 197 - When I run "tar xzf evolution.tar.gz" # ok 198 - And I run "cd evolution && analizo metrics-history -o ../sequential.csv" # ok 199 - And I run "cd evolution && analizo metrics-history -p 2 -o ../parallel.csv" # ok 200 - Then the exit status must be 0 # ok 201 - When I run "sort sequential.csv > sequential-sorted.csv" # ok 202 - And I run "sort parallel.csv > parallel-sorted.csv" # ok 203 - And I run "diff -u sequential-sorted.csv parallel-sorted.csv" # ok 204 - Then the output must not match "---" # ok 205 - And the exit status must be 0 # # Scenario parsing git log format containing renamed files among status of changed files ok 206 - Given I copy t/samples/evolution.tar.gz into a temporary directory # ok 207 - When I run "tar xzf evolution.tar.gz" # ok 208 - And I run "cd evolution && git checkout doc && analizo metrics-history ." # ok 209 - Then the exit status must be 0 # # Scenario language filters ok 210 - Given I copy t/samples/mixed into a temporary directory # ok 211 - When I run "(cd mixed && git init && git add * && git commit -m 'initial commit')" # ok 212 - And I run "analizo metrics-history --language java mixed" # ok 213 - Then the output must not match "native_backend.c" # # Feature multi-language support # As a Researcher or Practioneer I want to be able to analyze software in different languages In order do compare them # Scenario dependency between modules ok 214 - Given I am in t/samples/hello_world/c # ok 215 - When I run "analizo graph --modules ." # ok 216 - Then analizo must report that "main" depends on "hello_world" # # Scenario dependency between modules ok 217 - Given I am in t/samples/hello_world/cpp # ok 218 - When I run "analizo graph --modules ." # ok 219 - Then analizo must report that "main" depends on "HelloWorld" # # Scenario dependency between modules ok 220 - Given I am in t/samples/hello_world/java # ok 221 - When I run "analizo graph --modules ." # ok 222 - Then analizo must report that "Main" depends on "HelloWorld" # # Scenario dependency between modules ok 223 - Given I am in t/samples/hello_world/csharp # ok 224 - When I run "analizo graph --modules ." # ok 225 - Then analizo must report that "main" depends on "HelloWorld" # # Scenario dependency between specific functions ok 226 - Given I am in t/samples/hello_world/c # ok 227 - When I run "analizo graph ." # ok 228 - Then analizo must report that "main::main()" depends on "hello_world::hello_world_say(hello_world *)" # ok 229 - And analizo must report that "main::main()" depends on "hello_world::hello_world_destroy(hello_world *)" # # Scenario dependency between specific functions ok 230 - Given I am in t/samples/hello_world/cpp # ok 231 - When I run "analizo graph ." # ok 232 - Then analizo must report that "main::main()" depends on "HelloWorld::say()" # ok 233 - And analizo must report that "main::main()" depends on "HelloWorld::destroy()" # # Scenario dependency between specific functions ok 234 - Given I am in t/samples/hello_world/java # ok 235 - When I run "analizo graph ." # ok 236 - Then analizo must report that "Main::main(String[])" depends on "HelloWorld::say()" # ok 237 - And analizo must report that "Main::main(String[])" depends on "HelloWorld::destroy()" # # Scenario dependency between specific functions ok 238 - Given I am in t/samples/hello_world/csharp # ok 239 - When I run "analizo graph ." # ok 240 - Then analizo must report that "main::Main()" depends on "HelloWorld::say()" # ok 241 - And analizo must report that "main::Main()" depends on "HelloWorld::destroy()" # # Scenario intra-module dependencies ok 242 - Given I am in t/samples/hello_world/c # ok 243 - When I run "analizo graph ." # ok 244 - Then analizo must report that "hello_world::hello_world_say(hello_world *)" depends on "hello_world::_hello_world::id" # ok 245 - And analizo must report that "hello_world::hello_world_destroy(hello_world *)" depends on "hello_world::_hello_world::id" # # Scenario intra-module dependencies ok 246 - Given I am in t/samples/hello_world/cpp # ok 247 - When I run "analizo graph ." # ok 248 - Then analizo must report that "HelloWorld::say()" depends on "HelloWorld::_id" # ok 249 - And analizo must report that "HelloWorld::destroy()" depends on "HelloWorld::_id" # # Scenario intra-module dependencies ok 250 - Given I am in t/samples/hello_world/java # ok 251 - When I run "analizo graph ." # ok 252 - Then analizo must report that "HelloWorld::say()" depends on "HelloWorld::_id" # ok 253 - And analizo must report that "HelloWorld::destroy()" depends on "HelloWorld::_id" # # Scenario intra-module dependencies ok 254 - Given I am in t/samples/hello_world/csharp # ok 255 - When I run "analizo graph ." # ok 256 - Then analizo must report that "HelloWorld::say()" depends on "HelloWorld::_id" # ok 257 - And analizo must report that "HelloWorld::destroy()" depends on "HelloWorld::_id" # # Scenario some metrics ok 258 - Given I am in t/samples/hello_world/c # ok 259 - When I run "analizo metrics ." # ok 260 - Then analizo must report that the project has total_modules = 2 # ok 261 - And analizo must report that module main has nom = 1 # ok 262 - And analizo must report that module hello_world has npm = 3 # ok 263 - And analizo must report that module hello_world has nom = 3 # ok 264 - And analizo must report that module hello_world has npa = 2 # # Scenario some metrics ok 265 - Given I am in t/samples/hello_world/cpp # ok 266 - When I run "analizo metrics ." # ok 267 - Then analizo must report that the project has total_modules = 2 # ok 268 - And analizo must report that module main has nom = 1 # ok 269 - And analizo must report that module HelloWorld has npm = 3 # ok 270 - And analizo must report that module HelloWorld has nom = 4 # ok 271 - And analizo must report that module HelloWorld has npa = 1 # # Scenario some metrics ok 272 - Given I am in t/samples/hello_world/java # ok 273 - When I run "analizo metrics ." # ok 274 - Then analizo must report that the project has total_modules = 2 # ok 275 - And analizo must report that module Main has nom = 1 # ok 276 - And analizo must report that module HelloWorld has npm = 3 # ok 277 - And analizo must report that module HelloWorld has nom = 4 # ok 278 - And analizo must report that module HelloWorld has npa = 1 # # Scenario some metrics ok 279 - Given I am in t/samples/hello_world/csharp # ok 280 - When I run "analizo metrics ." # ok 281 - Then analizo must report that the project has total_modules = 2 # ok 282 - And analizo must report that module main has nom = 1 # ok 283 - And analizo must report that module HelloWorld has npm = 3 # ok 284 - And analizo must report that module HelloWorld has nom = 4 # ok 285 - And analizo must report that module HelloWorld has npa = 1 # # Scenario inheritance data ok 286 - Given I am in t/samples/animals/cpp # ok 287 - When I run "analizo graph --modules ." # ok 288 - Then analizo must report that "Cat" depends on "Mammal" # ok 289 - And analizo must report that "Dog" depends on "Mammal" # ok 290 - And analizo must report that "Mammal" depends on "Animal" # ok 291 - When I run "analizo metrics ." # ok 292 - Then analizo must report that module Cat has dit = 2 # ok 293 - And analizo must report that module Dog has dit = 2 # ok 294 - And analizo must report that module Mammal has dit = 1 # ok 295 - And analizo must report that module Animal has dit = 0 # # Scenario inheritance data ok 296 - Given I am in t/samples/animals/java # ok 297 - When I run "analizo graph --modules ." # ok 298 - Then analizo must report that "Cat" depends on "Mammal" # ok 299 - And analizo must report that "Dog" depends on "Mammal" # ok 300 - And analizo must report that "Mammal" depends on "Animal" # ok 301 - When I run "analizo metrics ." # ok 302 - Then analizo must report that module Cat has dit = 2 # ok 303 - And analizo must report that module Dog has dit = 2 # ok 304 - And analizo must report that module Mammal has dit = 1 # ok 305 - And analizo must report that module Animal has dit = 0 # # Scenario mixed Java and C ok 306 - Given I am in t/samples/mixed # ok 307 - When I run "analizo metrics ." # ok 308 - Then the output must match "_module: native_backend" # ok 309 - And the output must match "_module: UI" # ok 310 - And the output must match "_module: Backend" # # Feature doxyparse extractor external tool # As a Analizo developer I want to guarantee that doxyparse deal with any source code To provide reliability for Analizo users # Scenario don't die parsing MCLinker.cpp from android 5.1.1 ok 311 - Given I am in t/samples/android-framework/android-5.1.1_r38 # ok 312 - When I run "analizo metrics ." # ok 313 - Then the exit status must be 0 # # Scenario don't duplicate YAML keys parsing AudioTrackShared.cpp from android 5.1.1 ok 314 - Given I am in t/samples/android-framework/android-5.1.1_r38 # ok 315 - When I run "analizo metrics ." # ok 316 - Then analizo must not emit a warning matching "YAML_LOAD_WARN_DUPLICATE_KEY" # # Scenario don't abort parsing mlpack 3.0.0 ok 317 - Given I am in t/samples/mlpack-3.0.0 # ok 318 - When I run "analizo metrics ." # ok 319 - Then analizo must not emit a warning matching "Aborted" # ok 320 - And the exit status must be 0 # # Scenario don't die parsing kdelibs warning about unknown escape character ok 321 - Given I am in t/samples/kdelibs # ok 322 - When I run "analizo metrics ." # ok 323 - Then analizo must not emit a warning matching "Error" # ok 324 - And the exit status must be 0 # # Scenario don't die parsing mod_suexec.h from http 2.4.38 ok 325 - Given I am in t/samples/httpd-2.4.38 # ok 326 - When I run "analizo metrics ." # ok 327 - Then analizo must not emit a warning matching "Not a HASH reference" # ok 328 - And the exit status must be 0 # # Scenario allow dot on module filename ok 329 - Given I am in t/samples/sample_basic/c # ok 330 - When I run "analizo metrics ." # ok 331 - Then analizo must report that file module1.c declares module module1 # # Feature metrics batch # As a software engineering researcher I want to analyze several different projects So I can compare their metrics # Scenario "hello, world" ok 332 - Given I am in t/samples/hello_world/ # ok 333 - When I run "analizo metrics-batch" # ok 334 - Then the output must match "I: Processed c." # ok 335 - And the output must match "I: Processed cpp." # ok 336 - And the output must match "I: Processed java." # # Scenario summarizing ok 337 - Given I am in t/samples/hello_world/ # ok 338 - When I run "analizo metrics-batch --quiet -o data.csv && cat data.csv && rm -f *.csv" # ok 339 - Then the output must match "^id," # ok 340 - And the output must not match ",---," # ok 341 - And the output must match "c," # ok 342 - And the output must match "cpp," # ok 343 - And the output must match "java," # ok 344 - And the output must not match "I: Processed" # # Scenario support for parallel processing ok 345 - Given I copy t/samples/hello_world/* into a temporary directory # ok 346 - When I run "analizo metrics-batch -q -o sequential.csv" # ok 347 - And I run "analizo metrics-batch -q -o parallel.csv -p 2" # ok 348 - And I run "sort sequential.csv > sequential-sorted.csv" # ok 349 - And I run "sort parallel.csv > parallel-sorted.csv" # ok 350 - And I run "diff -u sequential-sorted.csv parallel-sorted.csv" # ok 351 - Then the output must not match "---" # ok 352 - Then the exit status must be 0 # # Scenario passing two input directories as argument ok 353 - Given I copy t/samples/hello_world/* into a temporary directory # ok 354 - When I run "analizo metrics-batch --quiet -o data.csv cpp java" # ok 355 - Then the exit status must be 0 # ok 356 - And the file "c-details.csv" should not exist # ok 357 - And the file "cpp-details.csv" should exist # ok 358 - And the file "java-details.csv" should exist # # Scenario passing one input directory as argument ok 359 - Given I copy t/samples/hello_world/* into a temporary directory # ok 360 - When I run "analizo metrics-batch --quiet -o data.csv cpp" # ok 361 - Then the exit status must be 0 # ok 362 - And the file "c-details.csv" should not exist # ok 363 - And the file "cpp-details.csv" should exist # ok 364 - And the file "java-details.csv" should not exist # # Feature plain analizo graph run # Scenario simply running analizo ok 365 - Given I am in t/samples/sample_basic/c/ # ok 366 - When I run "analizo graph ." # ok 367 - Then analizo must report that "module1::main()" depends on "module3::variable" # ok 368 - Then analizo must report that "module1::main()" depends on "module3::callback()" # ok 369 - Then analizo must report that "module1::main()" depends on "module2::say_bye()" # ok 370 - Then analizo must report that "module1::main()" depends on "module2::say_hello()" # ok 371 - And the exit status must be 0 # # Feature group by modules # Scenario sample project ok 372 - Given I am in t/samples/sample_basic/c/ # ok 373 - When I run "analizo graph --modules ." # ok 374 - Then analizo must report that "module1" depends on "module2" # ok 375 - Then analizo must report that "module1" depends on "module3" # # Feature clustering subroutines in the same module together # Scenario clustering dependencies ok 376 - Given I am in t/samples/sample_basic/c/ # ok 377 - When I run "analizo graph --cluster ." # ok 378 - Then analizo must report that "module1::main()" is part of "module1" # ok 379 - Then analizo must report that "module2::say_hello()" is part of "module2" # ok 380 - Then analizo must report that "module2::say_bye()" is part of "module2" # ok 381 - Then analizo must report that "module3::variable" is part of "module3" # ok 382 - Then analizo must report that "module3::callback()" is part of "module3" # # Feature displaying version # Scenario running without any arguments ok 383 - When I run "analizo graph" # ok 384 - Then analizo must emit a warning matching "Usage:" # ok 385 - And the exit status must not be 0 # # Feature input files for graph tool # Scenario passing specific files in the command line ok 386 - Given I am in t/samples/sample_basic/c # ok 387 - When I run "analizo graph module1.c module2.c" # ok 388 - Then the output must match "module1" # ok 389 - And the output must match "module2" # ok 390 - And the output must not match "module3" # # Scenario passing unexisting file ok 391 - Given I am in t/samples/sample_basic/c # ok 392 - When I run "analizo graph unexisting-file.c" # ok 393 - Then analizo must emit a warning matching "is not readable" # # Feature functions calls # Scenario detect function calls among classes ok 394 - Given I am in t/samples/animals/cpp # ok 395 - When I run "analizo graph ." # ok 396 - Then analizo must report that "Cat::Cat(char *)" depends on "Cat::_name" # ok 397 - And analizo must not report that "Cat::Cat(char *)" depends on "Cat::name()" # ok 398 - And the exit status must be 0 # # Feature omitting certain modules # Scenario omitting say_bye ok 399 - Given I am in t/samples/sample_basic/ # ok 400 - When I run "analizo graph --omit 'module2::say_bye()' ." # ok 401 - Then the output must not match "module2::say_bye()" # # Scenario omitting two functions ok 402 - Given I am in t/samples/sample_basic/ # ok 403 - When I run "analizo graph --omit 'module2::say_bye()','module2::say_hello()' ." # ok 404 - Then the output must not match "module2::say_bye()" # ok 405 - Then the output must not match "module2::say_hello()" # # Scenario omitting depending functions ok 406 - Given I am in t/samples/sample_basic/ # ok 407 - When I run "analizo graph --omit 'module1::main()' ." # ok 408 - Then the output must not match "module1::main()" # # Feature output file for graph tool # Scenario passing output file in the command line ok 409 - Given I am in . # ok 410 - When I run "analizo graph --output output.dot.tmp t/samples/sample_basic/c/" # ok 411 - Then the contents of "output.dot.tmp" must match "module1" # ok 412 - And the exit status must be 0 # # Scenario passing output file in an unexisting directory ok 413 - Given I am in . # ok 414 - When I run "analizo graph --output /this/directory/must/not/exists/output.dot t/samples/sample_basic/c/" # ok 415 - Then analizo must emit a warning matching "No such file or directory" # ok 416 - And the exit status must not be 0 # # Scenario passing output file without permission to write ok 417 - Given I am in . # ok 418 - When I run "touch output.tmp" # ok 419 - And I run "chmod 000 output.tmp" # ok 420 - And I run "analizo graph --output output.tmp t/samples/sample_basic/c/" # ok 421 - Then the exit status must not be 0 # ok 422 - And analizo must emit a warning matching "Permission denied" # # Feature coupling between objects # As a software developer I want analizo to report the value of CBO metric in my code So that I can evaluate it # Scenario "Hello, world" project ok 423 - Given I am in t/samples/hello_world/c # ok 424 - When I run "analizo metrics ." # ok 425 - Then analizo must report that module main has cbo = 1 # # Scenario "Hello, world" project ok 426 - Given I am in t/samples/hello_world/cpp # ok 427 - When I run "analizo metrics ." # ok 428 - Then analizo must report that module main has cbo = 1 # # Scenario "Hello, world" project ok 429 - Given I am in t/samples/hello_world/java # ok 430 - When I run "analizo metrics ." # ok 431 - Then analizo must report that module Main has cbo = 1 # # Scenario "Hello, world" project ok 432 - Given I am in t/samples/hello_world/csharp # ok 433 - When I run "analizo metrics ." # ok 434 - Then analizo must report that module main has cbo = 1 # # Scenario "Animals" project ok 435 - Given I am in t/samples/animals/cpp # ok 436 - When I run "analizo metrics ." # ok 437 - Then analizo must report that module main has cbo = 1 # # Scenario "Animals" project ok 438 - Given I am in t/samples/animals/cpp # ok 439 - When I run "analizo metrics ." # ok 440 - Then analizo must report that module mammal has cbo = 0 # # Scenario "Animals" project ok 441 - Given I am in t/samples/animals/java # ok 442 - When I run "analizo metrics ." # ok 443 - Then analizo must report that module Main has cbo = 1 # # Scenario "Animals" project ok 444 - Given I am in t/samples/animals/java # ok 445 - When I run "analizo metrics ." # ok 446 - Then analizo must report that module Mammal has cbo = 0 # # Scenario "Animals" project ok 447 - Given I am in t/samples/animals/csharp # ok 448 - When I run "analizo metrics ." # ok 449 - Then analizo must report that module main has cbo = 1 # # Scenario "Animals" project ok 450 - Given I am in t/samples/animals/csharp # ok 451 - When I run "analizo metrics ." # ok 452 - Then analizo must report that module Mammal has cbo = 0 # # Feature number of methods # As a software developer I want analizo to report the number of methods of each module So that I can evaluate it # Scenario number of methods of the polygon java sample ok 453 - Given I am in t/samples/polygons/cpp # ok 454 - When I run "analizo metrics ." # ok 455 - Then analizo must report that module CPolygon has nom = 3 # # Scenario number of methods of the polygon java sample ok 456 - Given I am in t/samples/polygons/cpp # ok 457 - When I run "analizo metrics ." # ok 458 - Then analizo must report that module CTetragon has nom = 2 # # Scenario number of methods of the polygon java sample ok 459 - Given I am in t/samples/polygons/java # ok 460 - When I run "analizo metrics ." # ok 461 - Then analizo must report that module Polygon has nom = 3 # # Scenario number of methods of the polygon java sample ok 462 - Given I am in t/samples/polygons/csharp # ok 463 - When I run "analizo metrics ." # ok 464 - Then analizo must report that module Polygon has nom = 2 # # Scenario number of methods of the polygon java sample ok 465 - Given I am in t/samples/polygons/csharp # ok 466 - When I run "analizo metrics ." # ok 467 - Then analizo must report that module Tetragon has nom = 2 # # Scenario number of methods of the polygon java sample ok 468 - Given I am in t/samples/animals/cpp # ok 469 - When I run "analizo metrics ." # ok 470 - Then analizo must report that module Animal has nom = 1 # # Scenario number of methods of the polygon java sample ok 471 - Given I am in t/samples/animals/cpp # ok 472 - When I run "analizo metrics ." # ok 473 - Then analizo must report that module Cat has nom = 2 # # Scenario number of methods of the polygon java sample ok 474 - Given I am in t/samples/animals/cpp # ok 475 - When I run "analizo metrics ." # ok 476 - Then analizo must report that module Dog has nom = 2 # # Scenario number of methods of the polygon java sample ok 477 - Given I am in t/samples/animals/java # ok 478 - When I run "analizo metrics ." # ok 479 - Then analizo must report that module Animal has nom = 1 # # Scenario number of methods of the polygon java sample ok 480 - Given I am in t/samples/animals/java # ok 481 - When I run "analizo metrics ." # ok 482 - Then analizo must report that module Cat has nom = 2 # # Scenario number of methods of the polygon java sample ok 483 - Given I am in t/samples/animals/java # ok 484 - When I run "analizo metrics ." # ok 485 - Then analizo must report that module Dog has nom = 2 # # Scenario number of methods of the polygon java sample ok 486 - Given I am in t/samples/animals/csharp # ok 487 - When I run "analizo metrics ." # ok 488 - Then analizo must report that module Animal has nom = 1 # # Scenario number of methods of the polygon java sample ok 489 - Given I am in t/samples/animals/csharp # ok 490 - When I run "analizo metrics ." # ok 491 - Then analizo must report that module Cat has nom = 2 # # Scenario number of methods of the polygon java sample ok 492 - Given I am in t/samples/animals/csharp # ok 493 - When I run "analizo metrics ." # ok 494 - Then analizo must report that module Dog has nom = 2 # # Scenario not computes macro on C code as method definition ok 495 - Given I am in t/samples/macro # ok 496 - When I run "analizo metrics ." # ok 497 - Then analizo must report that module using_macro has nom = 1 # # Feature afferent connections with deep inheritance # As a software developer I want analizo to report the afferent connections of each module So that I can evaluate it # Scenario afferent connections of the dog family java sample ok 498 - Given I am in t/samples/deep_inheritance/java # ok 499 - When I run "analizo metrics ." # ok 500 - Then analizo must report that module Dog has acc = 7 # # Scenario afferent connections of the dog family java sample ok 501 - Given I am in t/samples/deep_inheritance/java # ok 502 - When I run "analizo metrics ." # ok 503 - Then analizo must report that module DogFirstGreatGrandson has acc = 1 # # Scenario afferent connections of the dog family java sample ok 504 - Given I am in t/samples/deep_inheritance/java # ok 505 - When I run "analizo metrics ." # ok 506 - Then analizo must report that module DogFirstPuppy has acc = 4 # # Scenario afferent connections of the dog family java sample ok 507 - Given I am in t/samples/deep_inheritance/java # ok 508 - When I run "analizo metrics ." # ok 509 - Then analizo must report that module DogGrandson has acc = 3 # # Scenario afferent connections of the dog family java sample ok 510 - Given I am in t/samples/deep_inheritance/java # ok 511 - When I run "analizo metrics ." # ok 512 - Then analizo must report that module DogSecondGreatGrandson has acc = 0 # # Scenario afferent connections of the dog family java sample ok 513 - Given I am in t/samples/deep_inheritance/java # ok 514 - When I run "analizo metrics ." # ok 515 - Then analizo must report that module DogSecondPuppy has acc = 0 # # Scenario afferent connections of the dog family java sample ok 516 - Given I am in t/samples/deep_inheritance/java # ok 517 - When I run "analizo metrics ." # ok 518 - Then analizo must report that module DogSuperYoung has acc = 0 # # Scenario afferent connections of the dog family java sample ok 519 - Given I am in t/samples/deep_inheritance/java # ok 520 - When I run "analizo metrics ." # ok 521 - Then analizo must report that module Human has acc = 2 # # Scenario afferent connections of the dog family java sample ok 522 - Given I am in t/samples/deep_inheritance/java # ok 523 - When I run "analizo metrics ." # ok 524 - Then analizo must report that module ShopController has acc = 0 # # Scenario afferent connections of the dog family java sample ok 525 - Given I am in t/samples/deep_inheritance/java # ok 526 - When I run "analizo metrics ." # ok 527 - Then analizo must report that module VenderShop has acc = 1 # # Feature change cost degree # As a software developer I want analizo to report the degree of change cost in my code So that I can evaluate it # Scenario "Hello, world" project ok 528 - Given I am in t/samples/hello_world/cpp # ok 529 - When I run "analizo metrics ." # ok 530 - Then analizo must report that the project has change_cost = 0.75 # # Scenario "Hello, world" project ok 531 - Given I am in t/samples/hello_world/java # ok 532 - When I run "analizo metrics ." # ok 533 - Then analizo must report that the project has change_cost = 0.75 # # Scenario "Hello, world" project ok 534 - Given I am in t/samples/hello_world/csharp # ok 535 - When I run "analizo metrics ." # ok 536 - Then analizo must report that the project has change_cost = 0.75 # # Scenario "Animals" project ok 537 - Given I am in t/samples/animals/cpp # ok 538 - When I run "analizo metrics ." # ok 539 - Then analizo must report that the project has change_cost = 0.44 # # Scenario "Animals" project ok 540 - Given I am in t/samples/animals/java # ok 541 - When I run "analizo metrics ." # ok 542 - Then analizo must report that the project has change_cost = 0.44 # # Scenario "Animals" project ok 543 - Given I am in t/samples/animals/csharp # ok 544 - When I run "analizo metrics ." # ok 545 - Then analizo must report that the project has change_cost = 0.44 # # Scenario "Hieracchical Graph" project ok 546 - Given I am in t/samples/hierarchical_graph/c # ok 547 - When I run "analizo metrics ." # ok 548 - Then analizo must report that the project has change_cost = 0.42 # # Scenario "Hieracchical Graph" project ok 549 - Given I am in t/samples/hierarchical_graph/csharp # ok 550 - When I run "analizo metrics ." # ok 551 - Then analizo must report that the project has change_cost = 0.28 # # Scenario "Cyclical Graph" project ok 552 - Given I am in t/samples/cyclical_graph/c # ok 553 - When I run "analizo metrics ." # ok 554 - Then analizo must report that the project has change_cost = 0.5 # # Scenario "Cyclical Graph" project ok 555 - Given I am in t/samples/cyclical_graph/csharp # ok 556 - When I run "analizo metrics ." # ok 557 - Then analizo must report that the project has change_cost = 0.36 # # Feature total modules # As a software developer I want analizo to report the total number of modules in my code So that I can evaluate it # Scenario Java Enumeration sample ok 558 - Given I am in t/samples/enumeration # ok 559 - When I run "analizo metrics ." # ok 560 - Then analizo must report that the project has total_modules = 3 # # Feature list metrics # As a Research or Practioner I want to extract metrics from source code So that I can learn, understand and evaluate it # Scenario listing metrics ok 561 - When I run "analizo metrics --list" # ok 562 - Then analizo must present a list of metrics # # Scenario listing metrics ok 563 - When I run "analizo metrics -l" # ok 564 - Then analizo must present a list of metrics # # Feature average cyclomatic complexity per method # As a software developer I want to calculate the average cyclomatic complexity per method of my code So that I can spot the more complex modules and refactor them # Scenario my "conditionals" C project ok 565 - Given I am in t/samples/conditionals/c # ok 566 - When I run "analizo metrics ." # ok 567 - Then analizo must report that module cc1 has accm = 1 # ok 568 - Then analizo must report that module cc2 has accm = 2 # ok 569 - Then analizo must report that module cc3 has accm = 3 # ok 570 - Then analizo must report that module cc4 has accm = 4 # # Scenario my "conditionals" C project ok 571 - Given I am in t/samples/conditionals/csharp # ok 572 - When I run "analizo metrics ." # ok 573 - Then analizo must report that module cc1 has accm = 1 # ok 574 - Then analizo must report that module cc2 has accm = 2 # ok 575 - Then analizo must report that module cc3 has accm = 3 # ok 576 - Then analizo must report that module cc4 has accm = 4 # # Feature output only global metrics # As a researcher I want to ouput only the global metrics So that I can evaluate several projects at once # Scenario simple case ok 577 - Given I am in t/samples/sample_basic/c/ # ok 578 - When I run "analizo metrics --global-only ." # ok 579 - Then the output must match "cbo_mean:" # ok 580 - And the output must not match "_module:" # # Scenario short version ok 581 - Given I am in t/samples/sample_basic/c/ # ok 582 - When I run "analizo metrics -g ." # ok 583 - Then the output must match "cbo_mean:" # ok 584 - And the output must not match "_module:" # # Feature average number of parameters metric # As a software developer I want to calculate the average number of arguments per method metric So that I can evaluate my code # Scenario number of parameters in the "Animals" project ok 585 - Given I am in t/samples/animals/cpp # ok 586 - When I run "analizo metrics ." # ok 587 - Then analizo must report that module Dog has anpm = 0.5 # ok 588 - And analizo must report that module Cat has anpm = 0.5 # ok 589 - And analizo must report that module main has anpm = 0 # # Scenario number of parameters in the "Animals" project ok 590 - Given I am in t/samples/animals/java # ok 591 - When I run "analizo metrics ." # ok 592 - Then analizo must report that module Dog has anpm = 0.5 # ok 593 - And analizo must report that module Cat has anpm = 0.5 # ok 594 - And analizo must report that module Main has anpm = 1 # # Scenario number of parameters in the "Animals" project ok 595 - Given I am in t/samples/animals/csharp # ok 596 - When I run "analizo metrics ." # ok 597 - Then analizo must report that module Dog has anpm = 0.5 # ok 598 - And analizo must report that module Cat has anpm = 0.5 # ok 599 - And analizo must report that module main has anpm = 1 # # Feature output statistics values of metrics # As a researcher I want to ouput statistics values of metrics So that I can evaluate a project at once # Scenario "Hello, world" project ok 600 - Given I am in t/samples/hello_world/ # ok 601 - When I run "analizo metrics ." # ok 602 - Then the output must match "acc_mean:" # ok 603 - Then the output must match "acc_mode:" # ok 604 - Then the output must match "acc_standard_deviation:" # ok 605 - Then the output must match "acc_sum:" # ok 606 - Then the output must match "acc_variance:" # ok 607 - Then the output must match "acc_quantile_min:" # ok 608 - Then the output must match "acc_quantile_lower:" # ok 609 - Then the output must match "acc_quantile_median:" # ok 610 - Then the output must match "acc_quantile_upper:" # ok 611 - Then the output must match "acc_quantile_max:" # ok 612 - Then the output must match "acc_kurtosis:" # ok 613 - Then the output must match "acc_skewness:" # # Scenario "Hello, world" project ok 614 - Given I am in t/samples/hello_world/ # ok 615 - When I run "analizo metrics ." # ok 616 - Then the output must match "accm_mean:" # ok 617 - Then the output must match "accm_mode:" # ok 618 - Then the output must match "accm_standard_deviation:" # ok 619 - Then the output must match "accm_sum:" # ok 620 - Then the output must match "accm_variance:" # ok 621 - Then the output must match "accm_quantile_min:" # ok 622 - Then the output must match "accm_quantile_lower:" # ok 623 - Then the output must match "accm_quantile_median:" # ok 624 - Then the output must match "accm_quantile_upper:" # ok 625 - Then the output must match "accm_quantile_max:" # ok 626 - Then the output must match "accm_kurtosis:" # ok 627 - Then the output must match "accm_skewness:" # # Scenario "Hello, world" project ok 628 - Given I am in t/samples/hello_world/ # ok 629 - When I run "analizo metrics ." # ok 630 - Then the output must match "amloc_mean:" # ok 631 - Then the output must match "amloc_mode:" # ok 632 - Then the output must match "amloc_standard_deviation:" # ok 633 - Then the output must match "amloc_sum:" # ok 634 - Then the output must match "amloc_variance:" # ok 635 - Then the output must match "amloc_quantile_min:" # ok 636 - Then the output must match "amloc_quantile_lower:" # ok 637 - Then the output must match "amloc_quantile_median:" # ok 638 - Then the output must match "amloc_quantile_upper:" # ok 639 - Then the output must match "amloc_quantile_max:" # ok 640 - Then the output must match "amloc_kurtosis:" # ok 641 - Then the output must match "amloc_skewness:" # # Scenario "Hello, world" project ok 642 - Given I am in t/samples/hello_world/ # ok 643 - When I run "analizo metrics ." # ok 644 - Then the output must match "anpm_mean:" # ok 645 - Then the output must match "anpm_mode:" # ok 646 - Then the output must match "anpm_standard_deviation:" # ok 647 - Then the output must match "anpm_sum:" # ok 648 - Then the output must match "anpm_variance:" # ok 649 - Then the output must match "anpm_quantile_min:" # ok 650 - Then the output must match "anpm_quantile_lower:" # ok 651 - Then the output must match "anpm_quantile_median:" # ok 652 - Then the output must match "anpm_quantile_upper:" # ok 653 - Then the output must match "anpm_quantile_max:" # ok 654 - Then the output must match "anpm_kurtosis:" # ok 655 - Then the output must match "anpm_skewness:" # # Scenario "Hello, world" project ok 656 - Given I am in t/samples/hello_world/ # ok 657 - When I run "analizo metrics ." # ok 658 - Then the output must match "cbo_mean:" # ok 659 - Then the output must match "cbo_mode:" # ok 660 - Then the output must match "cbo_standard_deviation:" # ok 661 - Then the output must match "cbo_sum:" # ok 662 - Then the output must match "cbo_variance:" # ok 663 - Then the output must match "cbo_quantile_min:" # ok 664 - Then the output must match "cbo_quantile_lower:" # ok 665 - Then the output must match "cbo_quantile_median:" # ok 666 - Then the output must match "cbo_quantile_upper:" # ok 667 - Then the output must match "cbo_quantile_max:" # ok 668 - Then the output must match "cbo_kurtosis:" # ok 669 - Then the output must match "cbo_skewness:" # # Scenario "Hello, world" project ok 670 - Given I am in t/samples/hello_world/ # ok 671 - When I run "analizo metrics ." # ok 672 - Then the output must match "dit_mean:" # ok 673 - Then the output must match "dit_mode:" # ok 674 - Then the output must match "dit_standard_deviation:" # ok 675 - Then the output must match "dit_sum:" # ok 676 - Then the output must match "dit_variance:" # ok 677 - Then the output must match "dit_quantile_min:" # ok 678 - Then the output must match "dit_quantile_lower:" # ok 679 - Then the output must match "dit_quantile_median:" # ok 680 - Then the output must match "dit_quantile_upper:" # ok 681 - Then the output must match "dit_quantile_max:" # ok 682 - Then the output must match "dit_kurtosis:" # ok 683 - Then the output must match "dit_skewness:" # # Scenario "Hello, world" project ok 684 - Given I am in t/samples/hello_world/ # ok 685 - When I run "analizo metrics ." # ok 686 - Then the output must match "lcom4_mean:" # ok 687 - Then the output must match "lcom4_mode:" # ok 688 - Then the output must match "lcom4_standard_deviation:" # ok 689 - Then the output must match "lcom4_sum:" # ok 690 - Then the output must match "lcom4_variance:" # ok 691 - Then the output must match "lcom4_quantile_min:" # ok 692 - Then the output must match "lcom4_quantile_lower:" # ok 693 - Then the output must match "lcom4_quantile_median:" # ok 694 - Then the output must match "lcom4_quantile_upper:" # ok 695 - Then the output must match "lcom4_quantile_max:" # ok 696 - Then the output must match "lcom4_kurtosis:" # ok 697 - Then the output must match "lcom4_skewness:" # # Scenario "Hello, world" project ok 698 - Given I am in t/samples/hello_world/ # ok 699 - When I run "analizo metrics ." # ok 700 - Then the output must match "loc_mean:" # ok 701 - Then the output must match "loc_mode:" # ok 702 - Then the output must match "loc_standard_deviation:" # ok 703 - Then the output must match "loc_sum:" # ok 704 - Then the output must match "loc_variance:" # ok 705 - Then the output must match "loc_quantile_min:" # ok 706 - Then the output must match "loc_quantile_lower:" # ok 707 - Then the output must match "loc_quantile_median:" # ok 708 - Then the output must match "loc_quantile_upper:" # ok 709 - Then the output must match "loc_quantile_max:" # ok 710 - Then the output must match "loc_kurtosis:" # ok 711 - Then the output must match "loc_skewness:" # # Scenario "Hello, world" project ok 712 - Given I am in t/samples/hello_world/ # ok 713 - When I run "analizo metrics ." # ok 714 - Then the output must match "mmloc_mean:" # ok 715 - Then the output must match "mmloc_mode:" # ok 716 - Then the output must match "mmloc_standard_deviation:" # ok 717 - Then the output must match "mmloc_sum:" # ok 718 - Then the output must match "mmloc_variance:" # ok 719 - Then the output must match "mmloc_quantile_min:" # ok 720 - Then the output must match "mmloc_quantile_lower:" # ok 721 - Then the output must match "mmloc_quantile_median:" # ok 722 - Then the output must match "mmloc_quantile_upper:" # ok 723 - Then the output must match "mmloc_quantile_max:" # ok 724 - Then the output must match "mmloc_kurtosis:" # ok 725 - Then the output must match "mmloc_skewness:" # # Scenario "Hello, world" project ok 726 - Given I am in t/samples/hello_world/ # ok 727 - When I run "analizo metrics ." # ok 728 - Then the output must match "noa_mean:" # ok 729 - Then the output must match "noa_mode:" # ok 730 - Then the output must match "noa_standard_deviation:" # ok 731 - Then the output must match "noa_sum:" # ok 732 - Then the output must match "noa_variance:" # ok 733 - Then the output must match "noa_quantile_min:" # ok 734 - Then the output must match "noa_quantile_lower:" # ok 735 - Then the output must match "noa_quantile_median:" # ok 736 - Then the output must match "noa_quantile_upper:" # ok 737 - Then the output must match "noa_quantile_max:" # ok 738 - Then the output must match "noa_kurtosis:" # ok 739 - Then the output must match "noa_skewness:" # # Scenario "Hello, world" project ok 740 - Given I am in t/samples/hello_world/ # ok 741 - When I run "analizo metrics ." # ok 742 - Then the output must match "noc_mean:" # ok 743 - Then the output must match "noc_mode:" # ok 744 - Then the output must match "noc_standard_deviation:" # ok 745 - Then the output must match "noc_sum:" # ok 746 - Then the output must match "noc_variance:" # ok 747 - Then the output must match "noc_quantile_min:" # ok 748 - Then the output must match "noc_quantile_lower:" # ok 749 - Then the output must match "noc_quantile_median:" # ok 750 - Then the output must match "noc_quantile_upper:" # ok 751 - Then the output must match "noc_quantile_max:" # ok 752 - Then the output must match "noc_kurtosis:" # ok 753 - Then the output must match "noc_skewness:" # # Scenario "Hello, world" project ok 754 - Given I am in t/samples/hello_world/ # ok 755 - When I run "analizo metrics ." # ok 756 - Then the output must match "nom_mean:" # ok 757 - Then the output must match "nom_mode:" # ok 758 - Then the output must match "nom_standard_deviation:" # ok 759 - Then the output must match "nom_sum:" # ok 760 - Then the output must match "nom_variance:" # ok 761 - Then the output must match "nom_quantile_min:" # ok 762 - Then the output must match "nom_quantile_lower:" # ok 763 - Then the output must match "nom_quantile_median:" # ok 764 - Then the output must match "nom_quantile_upper:" # ok 765 - Then the output must match "nom_quantile_max:" # ok 766 - Then the output must match "nom_kurtosis:" # ok 767 - Then the output must match "nom_skewness:" # # Scenario "Hello, world" project ok 768 - Given I am in t/samples/hello_world/ # ok 769 - When I run "analizo metrics ." # ok 770 - Then the output must match "npm_mean:" # ok 771 - Then the output must match "npm_mode:" # ok 772 - Then the output must match "npm_standard_deviation:" # ok 773 - Then the output must match "npm_sum:" # ok 774 - Then the output must match "npm_variance:" # ok 775 - Then the output must match "npm_quantile_min:" # ok 776 - Then the output must match "npm_quantile_lower:" # ok 777 - Then the output must match "npm_quantile_median:" # ok 778 - Then the output must match "npm_quantile_upper:" # ok 779 - Then the output must match "npm_quantile_max:" # ok 780 - Then the output must match "npm_kurtosis:" # ok 781 - Then the output must match "npm_skewness:" # # Scenario "Hello, world" project ok 782 - Given I am in t/samples/hello_world/ # ok 783 - When I run "analizo metrics ." # ok 784 - Then the output must match "npa_mean:" # ok 785 - Then the output must match "npa_mode:" # ok 786 - Then the output must match "npa_standard_deviation:" # ok 787 - Then the output must match "npa_sum:" # ok 788 - Then the output must match "npa_variance:" # ok 789 - Then the output must match "npa_quantile_min:" # ok 790 - Then the output must match "npa_quantile_lower:" # ok 791 - Then the output must match "npa_quantile_median:" # ok 792 - Then the output must match "npa_quantile_upper:" # ok 793 - Then the output must match "npa_quantile_max:" # ok 794 - Then the output must match "npa_kurtosis:" # ok 795 - Then the output must match "npa_skewness:" # # Scenario "Hello, world" project ok 796 - Given I am in t/samples/hello_world/ # ok 797 - When I run "analizo metrics ." # ok 798 - Then the output must match "rfc_mean:" # ok 799 - Then the output must match "rfc_mode:" # ok 800 - Then the output must match "rfc_standard_deviation:" # ok 801 - Then the output must match "rfc_sum:" # ok 802 - Then the output must match "rfc_variance:" # ok 803 - Then the output must match "rfc_quantile_min:" # ok 804 - Then the output must match "rfc_quantile_lower:" # ok 805 - Then the output must match "rfc_quantile_median:" # ok 806 - Then the output must match "rfc_quantile_upper:" # ok 807 - Then the output must match "rfc_quantile_max:" # ok 808 - Then the output must match "rfc_kurtosis:" # ok 809 - Then the output must match "rfc_skewness:" # # Scenario "Hello, world" project ok 810 - Given I am in t/samples/hello_world/ # ok 811 - When I run "analizo metrics ." # ok 812 - Then the output must match "sc_mean:" # ok 813 - Then the output must match "sc_mode:" # ok 814 - Then the output must match "sc_standard_deviation:" # ok 815 - Then the output must match "sc_sum:" # ok 816 - Then the output must match "sc_variance:" # ok 817 - Then the output must match "sc_quantile_min:" # ok 818 - Then the output must match "sc_quantile_lower:" # ok 819 - Then the output must match "sc_quantile_median:" # ok 820 - Then the output must match "sc_quantile_upper:" # ok 821 - Then the output must match "sc_quantile_max:" # ok 822 - Then the output must match "sc_kurtosis:" # ok 823 - Then the output must match "sc_skewness:" # # Feature number of public methods metric # As a software developer I want to calculate the number of public methods per module metric So that I can evaluate my code # Scenario number of attributes in the "Animals" project ok 824 - Given I am in t/samples/polygons/cpp # ok 825 - When I run "analizo metrics ." # ok 826 - Then analizo must report that module CPolygon has npm = 2 # # Scenario number of attributes in the "Animals" project ok 827 - Given I am in t/samples/polygons/cpp # ok 828 - When I run "analizo metrics ." # ok 829 - Then analizo must report that module CTetragon has npm = 1 # # Scenario number of attributes in the "Animals" project ok 830 - Given I am in t/samples/polygons/java # ok 831 - When I run "analizo metrics ." # ok 832 - Then analizo must report that module Polygon has npm = 3 # # Scenario number of attributes in the "Animals" project ok 833 - Given I am in t/samples/polygons/csharp # ok 834 - When I run "analizo metrics ." # ok 835 - Then analizo must report that module Polygon has npm = 2 # # Scenario number of attributes in the "Animals" project ok 836 - Given I am in t/samples/animals/cpp # ok 837 - When I run "analizo metrics ." # ok 838 - Then analizo must report that module Animal has npm = 1 # # Scenario number of attributes in the "Animals" project ok 839 - Given I am in t/samples/animals/cpp # ok 840 - When I run "analizo metrics ." # ok 841 - Then analizo must report that module Cat has npm = 2 # # Scenario number of attributes in the "Animals" project ok 842 - Given I am in t/samples/animals/cpp # ok 843 - When I run "analizo metrics ." # ok 844 - Then analizo must report that module Dog has npm = 2 # # Scenario number of attributes in the "Animals" project ok 845 - Given I am in t/samples/animals/java # ok 846 - When I run "analizo metrics ." # ok 847 - Then analizo must report that module Animal has npm = 1 # # Scenario number of attributes in the "Animals" project ok 848 - Given I am in t/samples/animals/java # ok 849 - When I run "analizo metrics ." # ok 850 - Then analizo must report that module Cat has npm = 2 # # Scenario number of attributes in the "Animals" project ok 851 - Given I am in t/samples/animals/java # ok 852 - When I run "analizo metrics ." # ok 853 - Then analizo must report that module Dog has npm = 2 # # Scenario number of attributes in the "Animals" project ok 854 - Given I am in t/samples/animals/csharp # ok 855 - When I run "analizo metrics ." # ok 856 - Then analizo must report that module Animal has npm = 1 # # Scenario number of attributes in the "Animals" project ok 857 - Given I am in t/samples/animals/csharp # ok 858 - When I run "analizo metrics ." # ok 859 - Then analizo must report that module Cat has npm = 2 # # Scenario number of attributes in the "Animals" project ok 860 - Given I am in t/samples/animals/csharp # ok 861 - When I run "analizo metrics ." # ok 862 - Then analizo must report that module Dog has npm = 2 # # Feature number of attributes metric # As a software developer I want to calculate the number of attributes per module metric So that I can evaluate my code # Scenario number of attributes in the "Animals" project ok 863 - Given I am in t/samples/animals/cpp # ok 864 - When I run "analizo metrics ." # ok 865 - Then analizo must report that module Dog has noa = 1 # ok 866 - And analizo must report that module Cat has noa = 1 # ok 867 - And analizo must report that module main has noa = 0 # # Scenario number of attributes in the "Animals" project ok 868 - Given I am in t/samples/animals/java # ok 869 - When I run "analizo metrics ." # ok 870 - Then analizo must report that module Dog has noa = 1 # ok 871 - And analizo must report that module Cat has noa = 1 # ok 872 - And analizo must report that module Main has noa = 0 # # Scenario number of attributes in the "Animals" project ok 873 - Given I am in t/samples/animals/csharp # ok 874 - When I run "analizo metrics ." # ok 875 - Then analizo must report that module Dog has noa = 1 # ok 876 - And analizo must report that module Cat has noa = 1 # ok 877 - And analizo must report that module main has noa = 0 # # Feature number of abstract classes # As a software developer I want analizo to report the number of modules with at least a defined method in my code So that I can evaluate it # Scenario "Hello, world" project ok 878 - Given I am in t/samples/hello_world/cpp # ok 879 - When I run "analizo metrics ." # ok 880 - Then analizo must report that the project has total_modules_with_defined_attributes = 1 # # Scenario "Hello, world" project ok 881 - Given I am in t/samples/hello_world/java # ok 882 - When I run "analizo metrics ." # ok 883 - Then analizo must report that the project has total_modules_with_defined_attributes = 1 # # Scenario "Hello, world" project ok 884 - Given I am in t/samples/hello_world/csharp # ok 885 - When I run "analizo metrics ." # ok 886 - Then analizo must report that the project has total_modules_with_defined_attributes = 1 # # Scenario "Animals" project ok 887 - Given I am in t/samples/animals/cpp # ok 888 - When I run "analizo metrics ." # ok 889 - Then analizo must report that the project has total_modules_with_defined_attributes = 2 # # Scenario "Animals" project ok 890 - Given I am in t/samples/animals/java # ok 891 - When I run "analizo metrics ." # ok 892 - Then analizo must report that the project has total_modules_with_defined_attributes = 2 # # Scenario "Animals" project ok 893 - Given I am in t/samples/animals/csharp # ok 894 - When I run "analizo metrics ." # ok 895 - Then analizo must report that the project has total_modules_with_defined_attributes = 2 # # Feature total number of methods per abstract class # As a software developer I want analizo to report the number of abstract classes in my code So that I can evaluate it # Scenario "Hello, world" project ok 896 - Given I am in t/samples/hello_world/cpp # ok 897 - When I run "analizo metrics ." # ok 898 - Then analizo must report that the project has total_methods_per_abstract_class = 0 # # Scenario "Hello, world" project ok 899 - Given I am in t/samples/hello_world/java # ok 900 - When I run "analizo metrics ." # ok 901 - Then analizo must report that the project has total_methods_per_abstract_class = 0 # # Scenario "Hello, world" project ok 902 - Given I am in t/samples/hello_world/csharp # ok 903 - When I run "analizo metrics ." # ok 904 - Then analizo must report that the project has total_methods_per_abstract_class = 0 # # Scenario "Animals" project ok 905 - Given I am in t/samples/animals/cpp # ok 906 - When I run "analizo metrics ." # ok 907 - Then analizo must report that the project has total_methods_per_abstract_class = 1 # # Scenario "Animals" project ok 908 - Given I am in t/samples/animals/java # ok 909 - When I run "analizo metrics ." # ok 910 - Then analizo must report that the project has total_methods_per_abstract_class = 1 # # Scenario "Animals" project ok 911 - Given I am in t/samples/animals/csharp # ok 912 - When I run "analizo metrics ." # ok 913 - Then analizo must report that the project has total_methods_per_abstract_class = 1 # # Scenario "Polygons" project ok 914 - Given I am in t/samples/polygons/cpp # ok 915 - When I run "analizo metrics ." # ok 916 - Then analizo must report that the project has total_methods_per_abstract_class = 2.5 # # Scenario "Polygons" project ok 917 - Given I am in t/samples/polygons/java # ok 918 - When I run "analizo metrics ." # ok 919 - Then analizo must report that the project has total_methods_per_abstract_class = 2 # # Scenario "Polygons" project ok 920 - Given I am in t/samples/polygons/csharp # ok 921 - When I run "analizo metrics ." # ok 922 - Then analizo must report that the project has total_methods_per_abstract_class = 2 # # Feature number of abstract classes # As a software developer I want analizo to report the number of modules with at least a defined method in my code So that I can evaluate it # Scenario "Hello, world" project ok 923 - Given I am in t/samples/hello_world/cpp # ok 924 - When I run "analizo metrics ." # ok 925 - Then analizo must report that the project has total_modules_with_defined_methods = 2 # # Scenario "Hello, world" project ok 926 - Given I am in t/samples/hello_world/java # ok 927 - When I run "analizo metrics ." # ok 928 - Then analizo must report that the project has total_modules_with_defined_methods = 2 # # Scenario "Hello, world" project ok 929 - Given I am in t/samples/hello_world/csharp # ok 930 - When I run "analizo metrics ." # ok 931 - Then analizo must report that the project has total_modules_with_defined_methods = 2 # # Scenario "Animals" project ok 932 - Given I am in t/samples/animals/cpp # ok 933 - When I run "analizo metrics ." # ok 934 - Then analizo must report that the project has total_modules_with_defined_methods = 5 # # Scenario "Animals" project ok 935 - Given I am in t/samples/animals/java # ok 936 - When I run "analizo metrics ." # ok 937 - Then analizo must report that the project has total_modules_with_defined_methods = 5 # # Scenario "Animals" project ok 938 - Given I am in t/samples/animals/csharp # ok 939 - When I run "analizo metrics ." # ok 940 - Then analizo must report that the project has total_modules_with_defined_methods = 5 # # Feature output file for metrics tool # Scenario passing output file in the command line ok 941 - Given I am in . # ok 942 - When I run "analizo metrics --output output.yml.tmp t/samples/sample_basic/" # ok 943 - Then the contents of "output.yml.tmp" must match "module2" # ok 944 - And the exit status must be 0 # # Scenario passing output file without permission to write ok 945 - Given I am in . # ok 946 - When I run "touch output.tmp" # ok 947 - And I run "chmod 000 output.tmp" # ok 948 - And I run "analizo metrics --output output.tmp t/samples/sample_basic/" # ok 949 - Then the exit status must not be 0 # ok 950 - And analizo must emit a warning matching "Permission denied" # # Scenario passing output file in an unexisting directory ok 951 - Given I am in . # ok 952 - When I run "analizo metrics --output /this/directory/must/not/exists/output.yml t/samples" # ok 953 - Then the exit status must not be 0 # ok 954 - And analizo must emit a warning matching "No such file or directory" # # Feature number of abstract classes # As a software developer I want analizo to report the number of abstract classes in my code So that I can evaluate it # Scenario "Hello, world" project ok 955 - Given I am in t/samples/hello_world/cpp # ok 956 - When I run "analizo metrics ." # ok 957 - Then analizo must report that the project has total_abstract_classes = 0 # # Scenario "Hello, world" project ok 958 - Given I am in t/samples/hello_world/java # ok 959 - When I run "analizo metrics ." # ok 960 - Then analizo must report that the project has total_abstract_classes = 0 # # Scenario "Hello, world" project ok 961 - Given I am in t/samples/hello_world/csharp # ok 962 - When I run "analizo metrics ." # ok 963 - Then analizo must report that the project has total_abstract_classes = 0 # # Scenario "Animals" project ok 964 - Given I am in t/samples/animals/cpp # ok 965 - When I run "analizo metrics ." # ok 966 - Then analizo must report that the project has total_abstract_classes = 2 # # Scenario "Animals" project ok 967 - Given I am in t/samples/animals/java # ok 968 - When I run "analizo metrics ." # ok 969 - Then analizo must report that the project has total_abstract_classes = 2 # # Scenario "Animals" project ok 970 - Given I am in t/samples/animals/csharp # ok 971 - When I run "analizo metrics ." # ok 972 - Then analizo must report that the project has total_abstract_classes = 2 # # Scenario "Polygons" project ok 973 - Given I am in t/samples/polygons/cpp # ok 974 - When I run "analizo metrics ." # ok 975 - Then analizo must report that the project has total_abstract_classes = 2 # # Scenario "Polygons" project ok 976 - Given I am in t/samples/polygons/java # ok 977 - When I run "analizo metrics ." # ok 978 - Then analizo must report that the project has total_abstract_classes = 2 # # Scenario "Polygons" project ok 979 - Given I am in t/samples/polygons/csharp # ok 980 - When I run "analizo metrics ." # ok 981 - Then analizo must report that the project has total_abstract_classes = 2 # # Scenario "AbstractClass" project ok 982 - Given I am in t/samples/abstract_class/java # ok 983 - When I run "analizo metrics ." # ok 984 - Then analizo must report that the project has total_abstract_classes = 1 # ok 985 - And analizo must report that the project has total_methods_per_abstract_class = 6 # # Scenario "AbstractClass" project ok 986 - Given I am in t/samples/abstract_class/csharp # ok 987 - When I run "analizo metrics ." # ok 988 - Then analizo must report that the project has total_abstract_classes = 1 # ok 989 - And analizo must report that the project has total_methods_per_abstract_class = 1 # # Feature language filters # As a software developer in a multi-language project I want to analyze only one programming language So that the results are as correct as possible # Scenario filtering for C code ok 990 - Given I am in t/samples/mixed # ok 991 - When I run "analizo metrics --language c ." # ok 992 - Then the output must match "native_backend" # ok 993 - And the output must not match "UI" # ok 994 - And the output must not match "Backend" # ok 995 - And the output must not match "CSharp_Backend" # # Scenario filtering for Java code ok 996 - Given I am in t/samples/mixed # ok 997 - When I run "analizo metrics --language java ." # ok 998 - Then the output must match "UI" # ok 999 - And the output must match "Backend" # ok 1000 - And the output must not match "native_backend" # ok 1001 - And the output must not match "CSharp_Backend" # # Scenario filtering for CSharp code ok 1002 - Given I am in t/samples/mixed # ok 1003 - When I run "analizo metrics --language csharp ." # ok 1004 - Then the output must match "CSharp_Backend" # ok 1005 - And the output must not match "UI" # ok 1006 - And the output must not match "native_backend" # # Scenario listing languages ok 1007 - When I run "analizo metrics --language list" # ok 1008 - Then analizo must present a list of languages # 1..1008 ok All tests successful. Files=54, Tests=1627, 190 wallclock secs ( 0.55 usr 0.16 sys + 115.68 cusr 30.23 csys = 146.62 CPU) Result: PASS make[1]: Leaving directory '/build/reproducible-path/analizo-1.25.5' create-stamp debian/debhelper-build-stamp dh_prep dh_installdirs debian/rules override_dh_auto_install make[1]: Entering directory '/build/reproducible-path/analizo-1.25.5' dh_auto_install make -j42 install DESTDIR=/build/reproducible-path/analizo-1.25.5/debian/analizo AM_UPDATE_INFO_DIR=no PREFIX=/usr make[2]: Entering directory '/build/reproducible-path/analizo-1.25.5' Skip blib/lib/auto/share/dist/Analizo/README (unchanged) Skip blib/lib/auto/share/dist/Analizo/bash-completion/analizo (unchanged) Manifying 26 pod documents Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/profile.pl Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/GlobalMetrics.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/ModuleMetrics.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/ModuleMetric.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Extractor.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/FilenameFilter.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metrics.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/LanguageFilter.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Model.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Command.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Extractor/Doxyparse.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Filter/Client.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Command/help.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Command/files_graph.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Command/tree_evolution.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Command/metrics_batch.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Command/metrics.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Command/graph.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Command/metrics_history.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch/Git.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch/Runner.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch/Output.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch/Job.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch/Directories.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch/Output/DB.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch/Output/CSV.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch/Runner/Parallel.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch/Runner/Sequential.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch/Job/Git.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch/Job/Directories.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/GlobalMetric/MethodsPerAbstractClass.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/GlobalMetric/ChangeCost.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/GlobalMetric/TotalAbstractClasses.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/NumberOfAttributes.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/NumberOfChildren.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/AverageCycloComplexity.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/AfferentConnections.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/AverageNumberOfParameters.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/NumberOfPublicMethods.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/AverageMethodLinesOfCode.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/LackOfCohesionOfMethods.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/ResponseForClass.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/NumberOfPublicAttributes.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/StructuralComplexity.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/NumberOfMethods.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/CouplingBetweenObjects.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/LinesOfCode.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/DepthOfInheritanceTree.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/MaximumMethodLinesOfCode.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test/Analizo.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test/Analizo/Git.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test/Analizo/Class.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test/Analizo/BDD/Cucumber/Extension.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/auto/share/dist/Analizo/README Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/auto/share/dist/Analizo/bash-completion/analizo Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::NumberOfMethods.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::NumberOfChildren.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::ResponseForClass.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::GlobalMetric::ChangeCost.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::LinesOfCode.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Command::metrics.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Command::metrics_batch.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Command::graph.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::StructuralComplexity.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::CouplingBetweenObjects.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::NumberOfPublicMethods.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::NumberOfPublicAttributes.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::AverageMethodLinesOfCode.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::LackOfCohesionOfMethods.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metrics.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Command::metrics_history.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Command::tree_evolution.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Command.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Command::files_graph.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::AverageNumberOfParameters.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::NumberOfAttributes.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::AfferentConnections.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::AverageCycloComplexity.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::DepthOfInheritanceTree.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Command::help.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/bin/analizo make[2]: Leaving directory '/build/reproducible-path/analizo-1.25.5' rm -f -rv /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test removed '/build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test/Analizo/BDD/Cucumber/Extension.pm' removed directory '/build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test/Analizo/BDD/Cucumber' removed directory '/build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test/Analizo/BDD' removed '/build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test/Analizo/Git.pm' removed '/build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test/Analizo/Class.pm' removed directory '/build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test/Analizo' removed '/build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test/Analizo.pm' removed directory '/build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test' rm -f -v /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/profile.pl removed '/build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/profile.pl' make[1]: Leaving directory '/build/reproducible-path/analizo-1.25.5' dh_installdocs dh_installchangelogs dh_installexamples dh_installman dh_lintian dh_perl dh_link dh_strip_nondeterminism dh_compress dh_fixperms dh_missing dh_installdeb dh_gencontrol dh_md5sums dh_builddeb dpkg-deb: building package 'analizo' in '../analizo_1.25.5-1_all.deb'. dpkg-genbuildinfo --build=binary -O../analizo_1.25.5-1_amd64.buildinfo dpkg-genchanges --build=binary -O../analizo_1.25.5-1_amd64.changes dpkg-genchanges: info: binary-only upload (no source code included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: including full source code in upload I: copying local configuration I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env I: removing directory /srv/workspace/pbuilder/543764 and its subdirectories I: Current time: Wed Dec 24 23:39:29 -12 2025 I: pbuilder-time-stamp: 1766662770 Thu Dec 25 11:39:30 UTC 2025 I: Signing ./b1/analizo_1.25.5-1_amd64.buildinfo as analizo_1.25.5-1_amd64.buildinfo.asc Thu Dec 25 11:39:30 UTC 2025 I: Signed ./b1/analizo_1.25.5-1_amd64.buildinfo as ./b1/analizo_1.25.5-1_amd64.buildinfo.asc Thu Dec 25 11:39:30 UTC 2025 - build #1 for analizo/trixie/amd64 on ionos5-amd64 done. Starting cleanup. All cleanup done. Thu Dec 25 11:39:30 UTC 2025 - reproducible_build.sh stopped running as /tmp/jenkins-script-SwAQFjhz, removing. /srv/reproducible-results/rbuild-debian/r-b-build.WRkbw2e7: total 20 -rw-r--r-- 1 jenkins jenkins 3368 Nov 17 03:02 analizo_1.25.5-1.dsc drwxr-xr-x 2 jenkins jenkins 4096 Nov 22 05:16 b1 drwxr-xr-x 2 jenkins jenkins 4096 Nov 22 05:11 b2 -rw------- 1 jenkins jenkins 4941 Nov 22 05:11 rbuildlog.XGCQUD8 /srv/reproducible-results/rbuild-debian/r-b-build.WRkbw2e7/b1: total 616 -rw-r--r-- 1 jenkins jenkins 7072 Nov 22 05:16 analizo_1.25.5-1.debian.tar.xz -rw-r--r-- 1 jenkins jenkins 3368 Nov 22 05:16 analizo_1.25.5-1.dsc -rw-r--r-- 1 jenkins jenkins 158888 Nov 22 05:16 analizo_1.25.5-1_all.deb -rw-r--r-- 1 jenkins jenkins 11695 Nov 22 05:16 analizo_1.25.5-1_amd64.buildinfo -rw-r--r-- 1 jenkins jenkins 12577 Nov 22 05:16 analizo_1.25.5-1_amd64.buildinfo.asc -rw-r--r-- 1 jenkins jenkins 1238 Nov 22 05:16 analizo_1.25.5-1_amd64.changes -rw-r--r-- 1 jenkins jenkins 1660 Nov 22 05:16 analizo_1.25.5-1_source.changes -rw-r--r-- 1 jenkins jenkins 184310 Nov 22 05:16 analizo_1.25.5.orig.tar.gz -rw-r--r-- 1 jenkins jenkins 235417 Nov 22 05:16 build.log /srv/reproducible-results/rbuild-debian/r-b-build.WRkbw2e7/b2: total 0 Fri Nov 22 05:16:30 UTC 2024 I: Deleting $TMPDIR on ionos5-amd64.debian.net. I: pbuilder: network access will be disabled during build I: Current time: Wed Dec 24 23:34:37 -12 2025 I: pbuilder-time-stamp: 1766662477 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz] I: copying local configuration W: --override-config is not set; not updating apt.conf Read the manpage for details. I: mounting /proc filesystem I: mounting /sys filesystem I: creating /{dev,run}/shm I: mounting /dev/pts filesystem I: redirecting /dev/ptmx to /dev/pts/ptmx I: policy-rc.d already exists I: Copying source file I: copying [analizo_1.25.5-1.dsc] I: copying [./analizo_1.25.5.orig.tar.gz] I: copying [./analizo_1.25.5-1.debian.tar.xz] I: Extracting source gpgv: Signature made Sun Nov 17 02:50:25 2024 gpgv: using RSA key D1E1316E93A760A8104D85FABB3A68018649AA06 gpgv: Can't check signature: No public key dpkg-source: warning: cannot verify inline signature for ./analizo_1.25.5-1.dsc: no acceptable signature found dpkg-source: info: extracting analizo in analizo-1.25.5 dpkg-source: info: unpacking analizo_1.25.5.orig.tar.gz dpkg-source: info: unpacking analizo_1.25.5-1.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying drop_local_lib dpkg-source: info: applying hotfix_for_acc_metric_test dpkg-source: info: applying fix_shebang dpkg-source: info: applying doxygen-1.9.8.patch I: Not using root during the build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/543764/tmp/hooks/D02_print_environment starting I: set BUILDDIR='/build/reproducible-path' BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' BUILDUSERNAME='pbuilder1' BUILD_ARCH='amd64' DEBIAN_FRONTEND='noninteractive' DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=42 ' DISTRIBUTION='trixie' HOME='/root' HOST_ARCH='amd64' IFS=' ' INVOCATION_ID='767587a6fb9e41068d1a465c031c200b' LANG='C' LANGUAGE='en_US:en' LC_ALL='C' MAIL='/var/mail/root' OPTIND='1' PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' PBCURRENTCOMMANDLINEOPERATION='build' PBUILDER_OPERATION='build' PBUILDER_PKGDATADIR='/usr/share/pbuilder' PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' PBUILDER_SYSCONFDIR='/etc' PPID='543764' PS1='# ' PS2='> ' PS4='+ ' PWD='/' SHELL='/bin/bash' SHLVL='2' SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.WRkbw2e7/pbuilderrc_KOAs --distribution trixie --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.WRkbw2e7/b1 --logfile b1/build.log analizo_1.25.5-1.dsc' SUDO_GID='110' SUDO_UID='105' SUDO_USER='jenkins' TERM='unknown' TZ='/usr/share/zoneinfo/Etc/GMT+12' USER='root' _='/usr/bin/systemd-run' http_proxy='http://213.165.73.152:3128' I: uname -a Linux ionos5-amd64 6.11.5+bpo-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.11.5-1~bpo12+1 (2024-11-11) x86_64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Aug 4 2024 /bin -> usr/bin I: user script /srv/workspace/pbuilder/543764/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: amd64 Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: debhelper-compat (= 13), doxygen-doxyparse, libapp-cmd-perl, libarchive-extract-perl, libchi-perl, libclass-accessor-perl, libclass-inspector-perl, libdbd-sqlite3-perl, libdbi-perl, libdigest-sha-perl, libenv-path-perl, libfile-copy-recursive-perl, libfile-homedir-perl, libfile-libmagic-perl, libfile-share-perl, libfile-sharedir-install-perl, libfile-sharedir-perl, libfile-slurp-perl, libfindbin-libs-perl, libgit-wrapper-perl, libgraph-perl, libgraph-readwrite-perl, libjson-perl, liblist-compare-perl, liblist-moreutils-perl, libstatistics-descriptive-perl, libterm-progressbar-perl, libterm-ui-perl, libtest-bdd-cucumber-perl, libtest-class-perl, libtest-exception-perl, libtest-mockmodule-perl, libtest-mockobject-perl, libyaml-libyaml-perl, libzmq-ffi-perl, perl dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19969 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on debhelper-compat (= 13); however: Package debhelper-compat is not installed. pbuilder-satisfydepends-dummy depends on doxygen-doxyparse; however: Package doxygen-doxyparse is not installed. pbuilder-satisfydepends-dummy depends on libapp-cmd-perl; however: Package libapp-cmd-perl is not installed. pbuilder-satisfydepends-dummy depends on libarchive-extract-perl; however: Package libarchive-extract-perl is not installed. pbuilder-satisfydepends-dummy depends on libchi-perl; however: Package libchi-perl is not installed. pbuilder-satisfydepends-dummy depends on libclass-accessor-perl; however: Package libclass-accessor-perl is not installed. pbuilder-satisfydepends-dummy depends on libclass-inspector-perl; however: Package libclass-inspector-perl is not installed. pbuilder-satisfydepends-dummy depends on libdbd-sqlite3-perl; however: Package libdbd-sqlite3-perl is not installed. pbuilder-satisfydepends-dummy depends on libdbi-perl; however: Package libdbi-perl is not installed. pbuilder-satisfydepends-dummy depends on libenv-path-perl; however: Package libenv-path-perl is not installed. pbuilder-satisfydepends-dummy depends on libfile-copy-recursive-perl; however: Package libfile-copy-recursive-perl is not installed. pbuilder-satisfydepends-dummy depends on libfile-homedir-perl; however: Package libfile-homedir-perl is not installed. pbuilder-satisfydepends-dummy depends on libfile-libmagic-perl; however: Package libfile-libmagic-perl is not installed. pbuilder-satisfydepends-dummy depends on libfile-share-perl; however: Package libfile-share-perl is not installed. pbuilder-satisfydepends-dummy depends on libfile-sharedir-install-perl; however: Package libfile-sharedir-install-perl is not installed. pbuilder-satisfydepends-dummy depends on libfile-sharedir-perl; however: Package libfile-sharedir-perl is not installed. pbuilder-satisfydepends-dummy depends on libfile-slurp-perl; however: Package libfile-slurp-perl is not installed. pbuilder-satisfydepends-dummy depends on libfindbin-libs-perl; however: Package libfindbin-libs-perl is not installed. pbuilder-satisfydepends-dummy depends on libgit-wrapper-perl; however: Package libgit-wrapper-perl is not installed. pbuilder-satisfydepends-dummy depends on libgraph-perl; however: Package libgraph-perl is not installed. pbuilder-satisfydepends-dummy depends on libgraph-readwrite-perl; however: Package libgraph-readwrite-perl is not installed. pbuilder-satisfydepends-dummy depends on libjson-perl; however: Package libjson-perl is not installed. pbuilder-satisfydepends-dummy depends on liblist-compare-perl; however: Package liblist-compare-perl is not installed. pbuilder-satisfydepends-dummy depends on liblist-moreutils-perl; however: Package liblist-moreutils-perl is not installed. pbuilder-satisfydepends-dummy depends on libstatistics-descriptive-perl; however: Package libstatistics-descriptive-perl is not installed. pbuilder-satisfydepends-dummy depends on libterm-progressbar-perl; however: Package libterm-progressbar-perl is not installed. pbuilder-satisfydepends-dummy depends on libterm-ui-perl; however: Package libterm-ui-perl is not installed. pbuilder-satisfydepends-dummy depends on libtest-bdd-cucumber-perl; however: Package libtest-bdd-cucumber-perl is not installed. pbuilder-satisfydepends-dummy depends on libtest-class-perl; however: Package libtest-class-perl is not installed. pbuilder-satisfydepends-dummy depends on libtest-exception-perl; however: Package libtest-exception-perl is not installed. pbuilder-satisfydepends-dummy depends on libtest-mockmodule-perl; however: Package libtest-mockmodule-perl is not installed. pbuilder-satisfydepends-dummy depends on libtest-mockobject-perl; however: Package libtest-mockobject-perl is not installed. pbuilder-satisfydepends-dummy depends on libyaml-libyaml-perl; however: Package libyaml-libyaml-perl is not installed. pbuilder-satisfydepends-dummy depends on libzmq-ffi-perl; however: Package libzmq-ffi-perl is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) The following NEW packages will be installed: autoconf{a} automake{a} autopoint{a} autotools-dev{a} bsdextrautils{a} ca-certificates{a} comerr-dev{a} debhelper{a} dh-autoreconf{a} dh-strip-nondeterminism{a} doxygen-doxyparse{a} dwz{a} file{a} gettext{a} gettext-base{a} git{a} git-man{a} groff-base{a} icu-devtools{a} intltool-debian{a} krb5-multidev{a} libalgorithm-c3-perl{a} libapp-cmd-perl{a} libarchive-extract-perl{a} libarchive-zip-perl{a} libb-hooks-endofscope-perl{a} libb-hooks-op-check-perl{a} libbrotli1{a} libbsd-dev{a} libcache-cache-perl{a} libcache-fastmmap-perl{a} libcapture-tiny-perl{a} libcarp-assert-perl{a} libchi-perl{a} libclang-cpp19{a} libclang1-19{a} libclass-accessor-perl{a} libclass-c3-perl{a} libclass-inspector-perl{a} libclass-load-perl{a} libclass-method-modifiers-perl{a} libclass-methodmaker-perl{a} libclass-xsaccessor-perl{a} libclone-perl{a} libcom-err2{a} libcompress-lz4-perl{a} libcompress-snappy-perl{a} libcontextual-return-perl{a} libcpanel-json-xs-perl{a} libcucumber-tagexpressions-perl{a} libcurl3t64-gnutls{a} libdata-optlist-perl{a} libdata-perl-perl{a} libdata-serializer-perl{a} libdbd-sqlite3-perl{a} libdbi-perl{a} libdebhelper-perl{a} libdevel-callchecker-perl{a} libdigest-jhash-perl{a} libdynaloader-functions-perl{a} libedit2{a} libelf1t64{a} libencode-locale-perl{a} libenv-path-perl{a} liberror-perl{a} libexpat1{a} libexporter-tiny-perl{a} libffi-checklib-perl{a} libffi-platypus-perl{a} libfile-chdir-perl{a} libfile-copy-recursive-perl{a} libfile-find-rule-perl{a} libfile-homedir-perl{a} libfile-libmagic-perl{a} libfile-listing-perl{a} libfile-share-perl{a} libfile-sharedir-install-perl{a} libfile-sharedir-perl{a} libfile-slurp-perl{a} libfile-stripnondeterminism-perl{a} libfile-which-perl{a} libfindbin-libs-perl{a} libfmt10{a} libgetopt-long-descriptive-perl{a} libgit-wrapper-perl{a} libgraph-perl{a} libgraph-readwrite-perl{a} libgssapi-krb5-2{a} libgssrpc4t64{a} libhash-moreutils-perl{a} libheap-perl{a} libhtml-parser-perl{a} libhtml-tagset-perl{a} libhtml-tree-perl{a} libhttp-cookies-perl{a} libhttp-date-perl{a} libhttp-message-perl{a} libhttp-negotiate-perl{a} libicu-dev{a} libicu72{a} libimport-into-perl{a} libio-all-perl{a} libio-html-perl{a} libio-socket-ssl-perl{a} libio-stringy-perl{a} libio-tiecombine-perl{a} libipc-sharelite-perl{a} libjson-maybexs-perl{a} libjson-perl{a} libk5crypto3{a} libkadm5clnt-mit12{a} libkadm5srv-mit12{a} libkdb5-10t64{a} libkeyutils1{a} libkrb5-3{a} libkrb5-dev{a} libkrb5support0{a} libldap-2.5-0{a} liblist-compare-perl{a} liblist-moreutils-perl{a} liblist-moreutils-xs-perl{a} libllvm19{a} liblog-any-perl{a} liblog-message-perl{a} liblog-message-simple-perl{a} liblwp-mediatypes-perl{a} liblwp-protocol-https-perl{a} libmagic-mgc{a} libmagic1t64{a} libmd-dev{a} libmodule-implementation-perl{a} libmodule-pluggable-perl{a} libmodule-runtime-perl{a} libmoo-perl{a} libmoox-handlesvia-perl{a} libmoox-types-mooselike-numeric-perl{a} libmoox-types-mooselike-perl{a} libmro-compat-perl{a} libnamespace-clean-perl{a} libnet-http-perl{a} libnet-ssleay-perl{a} libnghttp2-14{a} libnghttp3-9{a} libngtcp2-16{a} libngtcp2-crypto-gnutls8{a} libnorm-dev{a} libnorm1t64{a} libnumber-compare-perl{a} libossp-uuid-perl{a} libossp-uuid16{a} libpackage-stash-perl{a} libparams-classify-perl{a} libparams-util-perl{a} libparams-validate-perl{a} libparse-yapp-perl{a} libpath-class-perl{a} libpgm-5.3-0t64{a} libpgm-dev{a} libpipeline1{a} libpsl5t64{a} librole-tiny-perl{a} librtmp1{a} libsasl2-2{a} libsasl2-modules-db{a} libset-object-perl{a} libsnappy1v5{a} libsodium-dev{a} libsodium23{a} libsort-versions-perl{a} libspiffy-perl{a} libssh2-1t64{a} libstatistics-descriptive-perl{a} libstrictures-perl{a} libstring-rewriteprefix-perl{a} libsub-exporter-perl{a} libsub-exporter-progressive-perl{a} libsub-identify-perl{a} libsub-install-perl{a} libsub-name-perl{a} libsub-quote-perl{a} libsub-uplevel-perl{a} libsuper-perl{a} libtask-weaken-perl{a} libterm-progressbar-perl{a} libterm-readkey-perl{a} libterm-ui-perl{a} libtest-bdd-cucumber-perl{a} libtest-class-perl{a} libtest-exception-perl{a} libtest-mockmodule-perl{a} libtest-mockobject-perl{a} libtest2-suite-perl{a} libtext-glob-perl{a} libtime-duration-parse-perl{a} libtime-duration-perl{a} libtimedate-perl{a} libtool{a} libtry-tiny-perl{a} libtype-tiny-perl{a} libuchardet0{a} libuniversal-can-perl{a} libuniversal-isa-perl{a} liburi-perl{a} libvariable-magic-perl{a} libwant-perl{a} libwww-perl{a} libwww-robotrules-perl{a} libxml-parser-perl{a} libxml-writer-perl{a} libxml2{a} libxml2-dev{a} libyaml-0-2{a} libyaml-libyaml-perl{a} libyaml-perl{a} libz3-4{a} libzmq-ffi-perl{a} libzmq3-dev{a} libzmq5{a} m4{a} man-db{a} netbase{a} openssl{a} perl-openssl-defaults{a} po-debconf{a} sensible-utils{a} The following packages are RECOMMENDED but will NOT be installed: cppzmq-dev curl krb5-locales less libarchive-cpio-perl libclass-c3-xs-perl libdata-dump-perl libdevel-stacktrace-perl libhtml-form-perl libhtml-format-perl libhttp-daemon-perl libio-compress-brotli-perl libjson-xs-perl libldap-common libltdl-dev libmail-sendmail-perl libmailtools-perl libpackage-stash-xs-perl libref-util-perl libsasl2-modules libtype-tiny-xs-perl libxstring-perl lynx openssh-client publicsuffix wget 0 packages upgraded, 225 newly installed, 0 to remove and 0 not upgraded. Need to get 117 MB of archives. After unpacking 532 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian trixie/main amd64 netbase all 6.4 [12.8 kB] Get: 2 http://deb.debian.org/debian trixie/main amd64 sensible-utils all 0.0.24 [24.8 kB] Get: 3 http://deb.debian.org/debian trixie/main amd64 openssl amd64 3.3.2-2 [1382 kB] Get: 4 http://deb.debian.org/debian trixie/main amd64 ca-certificates all 20240203 [158 kB] Get: 5 http://deb.debian.org/debian trixie/main amd64 libmagic-mgc amd64 1:5.45-3+b1 [314 kB] Get: 6 http://deb.debian.org/debian trixie/main amd64 libmagic1t64 amd64 1:5.45-3+b1 [108 kB] Get: 7 http://deb.debian.org/debian trixie/main amd64 file amd64 1:5.45-3+b1 [43.3 kB] Get: 8 http://deb.debian.org/debian trixie/main amd64 gettext-base amd64 0.22.5-2 [200 kB] Get: 9 http://deb.debian.org/debian trixie/main amd64 libuchardet0 amd64 0.0.8-1+b2 [68.9 kB] Get: 10 http://deb.debian.org/debian trixie/main amd64 groff-base amd64 1.23.0-5 [1181 kB] Get: 11 http://deb.debian.org/debian trixie/main amd64 bsdextrautils amd64 2.40.2-11 [91.5 kB] Get: 12 http://deb.debian.org/debian trixie/main amd64 libpipeline1 amd64 1.5.8-1 [42.0 kB] Get: 13 http://deb.debian.org/debian trixie/main amd64 man-db amd64 2.13.0-1 [1420 kB] Get: 14 http://deb.debian.org/debian trixie/main amd64 m4 amd64 1.4.19-4 [287 kB] Get: 15 http://deb.debian.org/debian trixie/main amd64 autoconf all 2.72-3 [493 kB] Get: 16 http://deb.debian.org/debian trixie/main amd64 autotools-dev all 20220109.1 [51.6 kB] Get: 17 http://deb.debian.org/debian trixie/main amd64 automake all 1:1.16.5-1.3 [823 kB] Get: 18 http://deb.debian.org/debian trixie/main amd64 autopoint all 0.22.5-2 [723 kB] Get: 19 http://deb.debian.org/debian trixie/main amd64 libcom-err2 amd64 1.47.1-1+b1 [23.2 kB] Get: 20 http://deb.debian.org/debian trixie/main amd64 comerr-dev amd64 2.1-1.47.1-1+b1 [54.8 kB] Get: 21 http://deb.debian.org/debian trixie/main amd64 libdebhelper-perl all 13.20 [89.7 kB] Get: 22 http://deb.debian.org/debian trixie/main amd64 libtool all 2.4.7-8 [517 kB] Get: 23 http://deb.debian.org/debian trixie/main amd64 dh-autoreconf all 20 [17.1 kB] Get: 24 http://deb.debian.org/debian trixie/main amd64 libarchive-zip-perl all 1.68-1 [104 kB] Get: 25 http://deb.debian.org/debian trixie/main amd64 libfile-stripnondeterminism-perl all 1.14.0-1 [19.5 kB] Get: 26 http://deb.debian.org/debian trixie/main amd64 dh-strip-nondeterminism all 1.14.0-1 [8448 B] Get: 27 http://deb.debian.org/debian trixie/main amd64 libelf1t64 amd64 0.192-4 [189 kB] Get: 28 http://deb.debian.org/debian trixie/main amd64 dwz amd64 0.15-1+b1 [110 kB] Get: 29 http://deb.debian.org/debian trixie/main amd64 libicu72 amd64 72.1-5+b1 [9423 kB] Get: 30 http://deb.debian.org/debian trixie/main amd64 libxml2 amd64 2.12.7+dfsg+really2.9.14-0.2+b1 [699 kB] Get: 31 http://deb.debian.org/debian trixie/main amd64 gettext amd64 0.22.5-2 [1601 kB] Get: 32 http://deb.debian.org/debian trixie/main amd64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 33 http://deb.debian.org/debian trixie/main amd64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 34 http://deb.debian.org/debian trixie/main amd64 debhelper all 13.20 [915 kB] Get: 35 http://deb.debian.org/debian trixie/main amd64 libedit2 amd64 3.1-20240808-1 [93.9 kB] Get: 36 http://deb.debian.org/debian trixie/main amd64 libz3-4 amd64 4.13.3-1 [8560 kB] Get: 37 http://deb.debian.org/debian trixie/main amd64 libllvm19 amd64 1:19.1.3-2 [26.0 MB] Get: 38 http://deb.debian.org/debian trixie/main amd64 libclang-cpp19 amd64 1:19.1.3-2 [13.2 MB] Get: 39 http://deb.debian.org/debian trixie/main amd64 libclang1-19 amd64 1:19.1.3-2 [7622 kB] Get: 40 http://deb.debian.org/debian trixie/main amd64 libfmt10 amd64 10.1.1+ds1-4 [127 kB] Get: 41 http://deb.debian.org/debian trixie/main amd64 doxygen-doxyparse amd64 1.9.8+ds-2+b3 [4935 kB] Get: 42 http://deb.debian.org/debian trixie/main amd64 libbrotli1 amd64 1.1.0-2+b6 [302 kB] Get: 43 http://deb.debian.org/debian trixie/main amd64 libkrb5support0 amd64 1.21.3-3 [32.5 kB] Get: 44 http://deb.debian.org/debian trixie/main amd64 libk5crypto3 amd64 1.21.3-3 [79.9 kB] Get: 45 http://deb.debian.org/debian trixie/main amd64 libkeyutils1 amd64 1.6.3-4 [9092 B] Get: 46 http://deb.debian.org/debian trixie/main amd64 libkrb5-3 amd64 1.21.3-3 [324 kB] Get: 47 http://deb.debian.org/debian trixie/main amd64 libgssapi-krb5-2 amd64 1.21.3-3 [136 kB] Get: 48 http://deb.debian.org/debian trixie/main amd64 libsasl2-modules-db amd64 2.1.28+dfsg1-8 [19.6 kB] Get: 49 http://deb.debian.org/debian trixie/main amd64 libsasl2-2 amd64 2.1.28+dfsg1-8 [57.3 kB] Get: 50 http://deb.debian.org/debian trixie/main amd64 libldap-2.5-0 amd64 2.5.18+dfsg-3+b1 [188 kB] Get: 51 http://deb.debian.org/debian trixie/main amd64 libnghttp2-14 amd64 1.64.0-1 [75.5 kB] Get: 52 http://deb.debian.org/debian trixie/main amd64 libnghttp3-9 amd64 1.4.0-1+b1 [63.6 kB] Get: 53 http://deb.debian.org/debian trixie/main amd64 libngtcp2-16 amd64 1.6.0-1 [122 kB] Get: 54 http://deb.debian.org/debian trixie/main amd64 libngtcp2-crypto-gnutls8 amd64 1.6.0-1 [19.6 kB] Get: 55 http://deb.debian.org/debian trixie/main amd64 libpsl5t64 amd64 0.21.2-1.1+b1 [57.2 kB] Get: 56 http://deb.debian.org/debian trixie/main amd64 librtmp1 amd64 2.4+20151223.gitfa8646d.1-2+b5 [58.8 kB] Get: 57 http://deb.debian.org/debian trixie/main amd64 libssh2-1t64 amd64 1.11.1-1 [245 kB] Get: 58 http://deb.debian.org/debian trixie/main amd64 libcurl3t64-gnutls amd64 8.11.0-1 [359 kB] Get: 59 http://deb.debian.org/debian trixie/main amd64 libexpat1 amd64 2.6.4-1 [106 kB] Get: 60 http://deb.debian.org/debian trixie/main amd64 liberror-perl all 0.17029-2 [29.0 kB] Get: 61 http://deb.debian.org/debian trixie/main amd64 git-man all 1:2.45.2-1 [2158 kB] Get: 62 http://deb.debian.org/debian trixie/main amd64 git amd64 1:2.45.2-1 [8645 kB] Get: 63 http://deb.debian.org/debian trixie/main amd64 icu-devtools amd64 72.1-5+b1 [210 kB] Get: 64 http://deb.debian.org/debian trixie/main amd64 libgssrpc4t64 amd64 1.21.3-3 [59.5 kB] Get: 65 http://deb.debian.org/debian trixie/main amd64 libkadm5clnt-mit12 amd64 1.21.3-3 [41.7 kB] Get: 66 http://deb.debian.org/debian trixie/main amd64 libkdb5-10t64 amd64 1.21.3-3 [42.0 kB] Get: 67 http://deb.debian.org/debian trixie/main amd64 libkadm5srv-mit12 amd64 1.21.3-3 [53.5 kB] Get: 68 http://deb.debian.org/debian trixie/main amd64 krb5-multidev amd64 1.21.3-3 [126 kB] Get: 69 http://deb.debian.org/debian trixie/main amd64 libalgorithm-c3-perl all 0.11-2 [10.8 kB] Get: 70 http://deb.debian.org/debian trixie/main amd64 libcapture-tiny-perl all 0.48-2 [24.6 kB] Get: 71 http://deb.debian.org/debian trixie/main amd64 libparams-util-perl amd64 1.102-3+b1 [24.4 kB] Get: 72 http://deb.debian.org/debian trixie/main amd64 libsub-install-perl all 0.929-1 [10.5 kB] Get: 73 http://deb.debian.org/debian trixie/main amd64 libdata-optlist-perl all 0.114-1 [10.6 kB] Get: 74 http://deb.debian.org/debian trixie/main amd64 libb-hooks-op-check-perl amd64 0.22-3+b2 [10.6 kB] Get: 75 http://deb.debian.org/debian trixie/main amd64 libdynaloader-functions-perl all 0.004-1 [12.1 kB] Get: 76 http://deb.debian.org/debian trixie/main amd64 libdevel-callchecker-perl amd64 0.009-1+b1 [16.2 kB] Get: 77 http://deb.debian.org/debian trixie/main amd64 libparams-classify-perl amd64 0.015-2+b4 [22.5 kB] Get: 78 http://deb.debian.org/debian trixie/main amd64 libmodule-runtime-perl all 0.016-2 [19.6 kB] Get: 79 http://deb.debian.org/debian trixie/main amd64 libtry-tiny-perl all 0.32-1 [22.9 kB] Get: 80 http://deb.debian.org/debian trixie/main amd64 libmodule-implementation-perl all 0.09-2 [12.6 kB] Get: 81 http://deb.debian.org/debian trixie/main amd64 libpackage-stash-perl all 0.40-1 [22.0 kB] Get: 82 http://deb.debian.org/debian trixie/main amd64 libclass-load-perl all 0.25-2 [15.3 kB] Get: 83 http://deb.debian.org/debian trixie/main amd64 libio-stringy-perl all 2.113-2 [48.3 kB] Get: 84 http://deb.debian.org/debian trixie/main amd64 libparams-validate-perl amd64 1.31-2+b3 [63.4 kB] Get: 85 http://deb.debian.org/debian trixie/main amd64 libsub-exporter-perl all 0.990-1 [50.6 kB] Get: 86 http://deb.debian.org/debian trixie/main amd64 libgetopt-long-descriptive-perl all 0.115-1 [27.6 kB] Get: 87 http://deb.debian.org/debian trixie/main amd64 libio-tiecombine-perl all 1.005-3 [10.8 kB] Get: 88 http://deb.debian.org/debian trixie/main amd64 libmodule-pluggable-perl all 5.2-5 [23.0 kB] Get: 89 http://deb.debian.org/debian trixie/main amd64 libstring-rewriteprefix-perl all 0.009-1 [7140 B] Get: 90 http://deb.debian.org/debian trixie/main amd64 libapp-cmd-perl all 0.336-1 [65.8 kB] Get: 91 http://deb.debian.org/debian trixie/main amd64 libarchive-extract-perl all 0.88-1 [26.3 kB] Get: 92 http://deb.debian.org/debian trixie/main amd64 libsub-exporter-progressive-perl all 0.001013-3 [7496 B] Get: 93 http://deb.debian.org/debian trixie/main amd64 libvariable-magic-perl amd64 0.64-1+b1 [44.9 kB] Get: 94 http://deb.debian.org/debian trixie/main amd64 libb-hooks-endofscope-perl all 0.28-1 [17.5 kB] Get: 95 http://deb.debian.org/debian trixie/main amd64 libmd-dev amd64 1.1.0-2+b1 [55.3 kB] Get: 96 http://deb.debian.org/debian trixie/main amd64 libbsd-dev amd64 0.12.2-2 [258 kB] Get: 97 http://deb.debian.org/debian trixie/main amd64 libipc-sharelite-perl amd64 0.17-5+b3 [23.1 kB] Get: 98 http://deb.debian.org/debian trixie/main amd64 libcache-cache-perl all 1.08-3 [63.4 kB] Get: 99 http://deb.debian.org/debian trixie/main amd64 libcompress-lz4-perl amd64 0.25+ds-2+b4 [11.9 kB] Get: 100 http://deb.debian.org/debian trixie/main amd64 libsnappy1v5 amd64 1.2.1-1+b1 [29.6 kB] Get: 101 http://deb.debian.org/debian trixie/main amd64 libcompress-snappy-perl amd64 0.25+ds-1+b1 [10.1 kB] Get: 102 http://deb.debian.org/debian trixie/main amd64 libcache-fastmmap-perl amd64 1.57-2+b4 [49.3 kB] Get: 103 http://deb.debian.org/debian trixie/main amd64 libcarp-assert-perl all 0.22-1 [16.7 kB] Get: 104 http://deb.debian.org/debian trixie/main amd64 libdata-serializer-perl all 0.65-2 [66.0 kB] Get: 105 http://deb.debian.org/debian trixie/main amd64 libdigest-jhash-perl amd64 0.10-2+b4 [13.8 kB] Get: 106 http://deb.debian.org/debian trixie/main amd64 libhash-moreutils-perl all 0.06-2 [10.8 kB] Get: 107 http://deb.debian.org/debian trixie/main amd64 libcpanel-json-xs-perl amd64 4.38-1+b1 [129 kB] Get: 108 http://deb.debian.org/debian trixie/main amd64 libjson-maybexs-perl all 1.004008-1 [12.9 kB] Get: 109 http://deb.debian.org/debian trixie/main amd64 libexporter-tiny-perl all 1.006002-1 [38.7 kB] Get: 110 http://deb.debian.org/debian trixie/main amd64 liblist-moreutils-xs-perl amd64 0.430-4+b2 [42.1 kB] Get: 111 http://deb.debian.org/debian trixie/main amd64 liblist-moreutils-perl all 0.430-2 [46.9 kB] Get: 112 http://deb.debian.org/debian trixie/main amd64 liblog-any-perl all 1.717-1 [78.9 kB] Get: 113 http://deb.debian.org/debian trixie/main amd64 libclass-method-modifiers-perl all 2.15-1 [18.0 kB] Get: 114 http://deb.debian.org/debian trixie/main amd64 libclass-xsaccessor-perl amd64 1.19-4+b4 [36.1 kB] Get: 115 http://deb.debian.org/debian trixie/main amd64 libimport-into-perl all 1.002005-2 [11.3 kB] Get: 116 http://deb.debian.org/debian trixie/main amd64 librole-tiny-perl all 2.002004-1 [21.4 kB] Get: 117 http://deb.debian.org/debian trixie/main amd64 libsub-quote-perl all 2.006008-1 [21.8 kB] Get: 118 http://deb.debian.org/debian trixie/main amd64 libmoo-perl all 2.005005-1 [58.0 kB] Get: 119 http://deb.debian.org/debian trixie/main amd64 libmoox-types-mooselike-perl all 0.29-2 [18.4 kB] Get: 120 http://deb.debian.org/debian trixie/main amd64 libmoox-types-mooselike-numeric-perl all 1.03-2 [5564 B] Get: 121 http://deb.debian.org/debian trixie/main amd64 libossp-uuid16 amd64 1.6.3-1 [31.7 kB] Get: 122 http://deb.debian.org/debian trixie/main amd64 libossp-uuid-perl amd64 1.6.3-1 [27.0 kB] Get: 123 http://deb.debian.org/debian trixie/main amd64 libtask-weaken-perl all 1.06-2 [9364 B] Get: 124 http://deb.debian.org/debian trixie/main amd64 libtime-duration-perl all 1.21-2 [13.1 kB] Get: 125 http://deb.debian.org/debian trixie/main amd64 libtime-duration-parse-perl all 0.16-1 [8520 B] Get: 126 http://deb.debian.org/debian trixie/main amd64 libtimedate-perl all 2.3300-2 [39.3 kB] Get: 127 http://deb.debian.org/debian trixie/main amd64 libchi-perl all 0.61-1 [111 kB] Get: 128 http://deb.debian.org/debian trixie/main amd64 libsub-name-perl amd64 0.27-1+b3 [12.5 kB] Get: 129 http://deb.debian.org/debian trixie/main amd64 libclass-accessor-perl all 0.51-2 [22.7 kB] Get: 130 http://deb.debian.org/debian trixie/main amd64 libclass-c3-perl all 0.35-2 [21.0 kB] Get: 131 http://deb.debian.org/debian trixie/main amd64 libclass-inspector-perl all 1.36-3 [17.5 kB] Get: 132 http://deb.debian.org/debian trixie/main amd64 libclass-methodmaker-perl amd64 2.25-1 [181 kB] Get: 133 http://deb.debian.org/debian trixie/main amd64 libclone-perl amd64 0.47-1+b1 [13.9 kB] Get: 134 http://deb.debian.org/debian trixie/main amd64 libwant-perl amd64 0.29-2+b4 [27.6 kB] Get: 135 http://deb.debian.org/debian trixie/main amd64 libcontextual-return-perl all 0.004014-4 [54.9 kB] Get: 136 http://deb.debian.org/debian trixie/main amd64 libcucumber-tagexpressions-perl all 6.1.0-1 [11.2 kB] Get: 137 http://deb.debian.org/debian trixie/main amd64 libstrictures-perl all 2.000006-1 [18.6 kB] Get: 138 http://deb.debian.org/debian trixie/main amd64 libdata-perl-perl all 0.002011-2 [40.8 kB] Get: 139 http://deb.debian.org/debian trixie/main amd64 libdbi-perl amd64 1.645-1+b1 [861 kB] Get: 140 http://deb.debian.org/debian trixie/main amd64 libdbd-sqlite3-perl amd64 1.76-1 [175 kB] Get: 141 http://deb.debian.org/debian trixie/main amd64 libencode-locale-perl all 1.05-3 [12.9 kB] Get: 142 http://deb.debian.org/debian trixie/main amd64 libenv-path-perl all 0.19-4 [19.1 kB] Get: 143 http://deb.debian.org/debian trixie/main amd64 libfile-which-perl all 1.27-2 [15.1 kB] Get: 144 http://deb.debian.org/debian trixie/main amd64 libffi-checklib-perl all 0.31-1 [19.4 kB] Get: 145 http://deb.debian.org/debian trixie/main amd64 libffi-platypus-perl amd64 2.09-1+b1 [331 kB] Get: 146 http://deb.debian.org/debian trixie/main amd64 libfile-chdir-perl all 0.1008-1.2 [11.9 kB] Get: 147 http://deb.debian.org/debian trixie/main amd64 libfile-copy-recursive-perl all 0.45-4 [20.0 kB] Get: 148 http://deb.debian.org/debian trixie/main amd64 libnumber-compare-perl all 0.03-3 [6332 B] Get: 149 http://deb.debian.org/debian trixie/main amd64 libtext-glob-perl all 0.11-3 [7676 B] Get: 150 http://deb.debian.org/debian trixie/main amd64 libfile-find-rule-perl all 0.34-3 [26.6 kB] Get: 151 http://deb.debian.org/debian trixie/main amd64 libfile-homedir-perl all 1.006-2 [42.4 kB] Get: 152 http://deb.debian.org/debian trixie/main amd64 libfile-libmagic-perl amd64 1.23-2+b2 [31.1 kB] Get: 153 http://deb.debian.org/debian trixie/main amd64 libhttp-date-perl all 6.06-1 [10.7 kB] Get: 154 http://deb.debian.org/debian trixie/main amd64 libfile-listing-perl all 6.16-1 [12.4 kB] Get: 155 http://deb.debian.org/debian trixie/main amd64 libfile-sharedir-perl all 1.118-3 [16.0 kB] Get: 156 http://deb.debian.org/debian trixie/main amd64 libfile-share-perl all 0.27-2 [7864 B] Get: 157 http://deb.debian.org/debian trixie/main amd64 libfile-sharedir-install-perl all 0.14-2 [11.6 kB] Get: 158 http://deb.debian.org/debian trixie/main amd64 libfile-slurp-perl all 9999.32-2 [26.7 kB] Get: 159 http://deb.debian.org/debian trixie/main amd64 libfindbin-libs-perl all 3.0.2-1 [29.7 kB] Get: 160 http://deb.debian.org/debian trixie/main amd64 libsort-versions-perl all 1.62-3 [8928 B] Get: 161 http://deb.debian.org/debian trixie/main amd64 libgit-wrapper-perl all 0.048-2 [33.4 kB] Get: 162 http://deb.debian.org/debian trixie/main amd64 libheap-perl all 0.80-5 [34.3 kB] Get: 163 http://deb.debian.org/debian trixie/main amd64 libset-object-perl amd64 1.42-1+b5 [37.6 kB] Get: 164 http://deb.debian.org/debian trixie/main amd64 libgraph-perl all 1:0.9729-1 [108 kB] Get: 165 http://deb.debian.org/debian trixie/main amd64 libspiffy-perl all 0.46-1 [25.7 kB] Get: 166 http://deb.debian.org/debian trixie/main amd64 libio-all-perl all 0.87-2 [67.3 kB] Get: 167 http://deb.debian.org/debian trixie/main amd64 libparse-yapp-perl all 1.21-4 [41.5 kB] Get: 168 http://deb.debian.org/debian trixie/main amd64 liburi-perl all 5.30-1 [105 kB] Get: 169 http://deb.debian.org/debian trixie/main amd64 libhtml-tagset-perl all 3.24-1 [14.7 kB] Get: 170 http://deb.debian.org/debian trixie/main amd64 libhtml-parser-perl amd64 3.83-1+b1 [99.7 kB] Get: 171 http://deb.debian.org/debian trixie/main amd64 libhtml-tree-perl all 5.07-3 [211 kB] Get: 172 http://deb.debian.org/debian trixie/main amd64 libio-html-perl all 1.004-3 [16.2 kB] Get: 173 http://deb.debian.org/debian trixie/main amd64 liblwp-mediatypes-perl all 6.04-2 [20.2 kB] Get: 174 http://deb.debian.org/debian trixie/main amd64 libhttp-message-perl all 7.00-2 [79.8 kB] Get: 175 http://deb.debian.org/debian trixie/main amd64 libhttp-cookies-perl all 6.11-1 [19.1 kB] Get: 176 http://deb.debian.org/debian trixie/main amd64 libhttp-negotiate-perl all 6.01-2 [13.1 kB] Get: 177 http://deb.debian.org/debian trixie/main amd64 perl-openssl-defaults amd64 7+b2 [6724 B] Get: 178 http://deb.debian.org/debian trixie/main amd64 libnet-ssleay-perl amd64 1.94-2 [339 kB] Get: 179 http://deb.debian.org/debian trixie/main amd64 libio-socket-ssl-perl all 2.089-1 [223 kB] Get: 180 http://deb.debian.org/debian trixie/main amd64 libnet-http-perl all 6.23-1 [23.9 kB] Get: 181 http://deb.debian.org/debian trixie/main amd64 liblwp-protocol-https-perl all 6.14-1 [10.8 kB] Get: 182 http://deb.debian.org/debian trixie/main amd64 libwww-robotrules-perl all 6.02-1 [12.9 kB] Get: 183 http://deb.debian.org/debian trixie/main amd64 libwww-perl all 6.77-1 [183 kB] Get: 184 http://deb.debian.org/debian trixie/main amd64 libxml-parser-perl amd64 2.47-1+b3 [198 kB] Get: 185 http://deb.debian.org/debian trixie/main amd64 libxml-writer-perl all 0.900-2 [26.8 kB] Get: 186 http://deb.debian.org/debian trixie/main amd64 libgraph-readwrite-perl all 2.10-1 [45.2 kB] Get: 187 http://deb.debian.org/debian trixie/main amd64 libicu-dev amd64 72.1-5+b1 [10.4 MB] Get: 188 http://deb.debian.org/debian trixie/main amd64 libjson-perl all 4.10000-1 [87.5 kB] Get: 189 http://deb.debian.org/debian trixie/main amd64 libkrb5-dev amd64 1.21.3-3 [15.7 kB] Get: 190 http://deb.debian.org/debian trixie/main amd64 liblist-compare-perl all 0.55-2 [65.7 kB] Get: 191 http://deb.debian.org/debian trixie/main amd64 liblog-message-perl all 0.8-3 [22.8 kB] Get: 192 http://deb.debian.org/debian trixie/main amd64 liblog-message-simple-perl all 0.10-3 [7676 B] Get: 193 http://deb.debian.org/debian trixie/main amd64 libmoox-handlesvia-perl all 0.001009-2 [18.4 kB] Get: 194 http://deb.debian.org/debian trixie/main amd64 libmro-compat-perl all 0.15-2 [11.8 kB] Get: 195 http://deb.debian.org/debian trixie/main amd64 libsub-identify-perl amd64 0.14-3+b3 [11.3 kB] Get: 196 http://deb.debian.org/debian trixie/main amd64 libnamespace-clean-perl all 0.27-2 [17.8 kB] Get: 197 http://deb.debian.org/debian trixie/main amd64 libnorm1t64 amd64 1.5.9+dfsg-3.1+b1 [221 kB] Get: 198 http://deb.debian.org/debian trixie/main amd64 libxml2-dev amd64 2.12.7+dfsg+really2.9.14-0.2+b1 [795 kB] Get: 199 http://deb.debian.org/debian trixie/main amd64 libnorm-dev amd64 1.5.9+dfsg-3.1+b1 [389 kB] Get: 200 http://deb.debian.org/debian trixie/main amd64 libpath-class-perl all 0.37-4 [42.7 kB] Get: 201 http://deb.debian.org/debian trixie/main amd64 libpgm-5.3-0t64 amd64 5.3.128~dfsg-2.1+b1 [162 kB] Get: 202 http://deb.debian.org/debian trixie/main amd64 libpgm-dev amd64 5.3.128~dfsg-2.1+b1 [195 kB] Get: 203 http://deb.debian.org/debian trixie/main amd64 libsodium23 amd64 1.0.18-1+b2 [165 kB] Get: 204 http://deb.debian.org/debian trixie/main amd64 libsodium-dev amd64 1.0.18-1+b2 [184 kB] Get: 205 http://deb.debian.org/debian trixie/main amd64 libstatistics-descriptive-perl all 3.0801-1 [62.8 kB] Get: 206 http://deb.debian.org/debian trixie/main amd64 libsub-uplevel-perl all 0.2800-3 [14.0 kB] Get: 207 http://deb.debian.org/debian trixie/main amd64 libsuper-perl all 1.20190531-1 [11.5 kB] Get: 208 http://deb.debian.org/debian trixie/main amd64 libterm-readkey-perl amd64 2.38-2+b4 [24.6 kB] Get: 209 http://deb.debian.org/debian trixie/main amd64 libterm-progressbar-perl all 2.23-1 [24.5 kB] Get: 210 http://deb.debian.org/debian trixie/main amd64 libterm-ui-perl all 0.50-1 [19.5 kB] Get: 211 http://deb.debian.org/debian trixie/main amd64 libtest2-suite-perl all 0.000163-1 [383 kB] Get: 212 http://deb.debian.org/debian trixie/main amd64 libtype-tiny-perl all 2.004000-1 [357 kB] Get: 213 http://deb.debian.org/debian trixie/main amd64 libyaml-perl all 1.31-1 [64.8 kB] Get: 214 http://deb.debian.org/debian trixie/main amd64 libtest-bdd-cucumber-perl all 0.86-1 [141 kB] Get: 215 http://deb.debian.org/debian trixie/main amd64 libtest-exception-perl all 0.43-3 [16.9 kB] Get: 216 http://deb.debian.org/debian trixie/main amd64 libtest-class-perl all 0.52-1 [56.6 kB] Get: 217 http://deb.debian.org/debian trixie/main amd64 libtest-mockmodule-perl all 0.178.0-1 [15.0 kB] Get: 218 http://deb.debian.org/debian trixie/main amd64 libuniversal-can-perl all 1.20140328-3 [11.9 kB] Get: 219 http://deb.debian.org/debian trixie/main amd64 libuniversal-isa-perl all 1.20171012-3 [8672 B] Get: 220 http://deb.debian.org/debian trixie/main amd64 libtest-mockobject-perl all 1.20200122-4 [26.7 kB] Get: 221 http://deb.debian.org/debian trixie/main amd64 libyaml-0-2 amd64 0.2.5-1+b2 [52.7 kB] Get: 222 http://deb.debian.org/debian trixie/main amd64 libyaml-libyaml-perl amd64 0.902.0+ds-2+b1 [35.5 kB] Get: 223 http://deb.debian.org/debian trixie/main amd64 libzmq5 amd64 4.3.5-1+b3 [283 kB] Get: 224 http://deb.debian.org/debian trixie/main amd64 libzmq3-dev amd64 4.3.5-1+b3 [494 kB] Get: 225 http://deb.debian.org/debian trixie/main amd64 libzmq-ffi-perl all 1.19-1 [31.5 kB] Fetched 117 MB in 13s (9105 kB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package netbase. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19969 files and directories currently installed.) Preparing to unpack .../000-netbase_6.4_all.deb ... Unpacking netbase (6.4) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../001-sensible-utils_0.0.24_all.deb ... Unpacking sensible-utils (0.0.24) ... Selecting previously unselected package openssl. Preparing to unpack .../002-openssl_3.3.2-2_amd64.deb ... Unpacking openssl (3.3.2-2) ... Selecting previously unselected package ca-certificates. Preparing to unpack .../003-ca-certificates_20240203_all.deb ... Unpacking ca-certificates (20240203) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../004-libmagic-mgc_1%3a5.45-3+b1_amd64.deb ... Unpacking libmagic-mgc (1:5.45-3+b1) ... Selecting previously unselected package libmagic1t64:amd64. Preparing to unpack .../005-libmagic1t64_1%3a5.45-3+b1_amd64.deb ... Unpacking libmagic1t64:amd64 (1:5.45-3+b1) ... Selecting previously unselected package file. Preparing to unpack .../006-file_1%3a5.45-3+b1_amd64.deb ... Unpacking file (1:5.45-3+b1) ... Selecting previously unselected package gettext-base. Preparing to unpack .../007-gettext-base_0.22.5-2_amd64.deb ... Unpacking gettext-base (0.22.5-2) ... Selecting previously unselected package libuchardet0:amd64. Preparing to unpack .../008-libuchardet0_0.0.8-1+b2_amd64.deb ... Unpacking libuchardet0:amd64 (0.0.8-1+b2) ... Selecting previously unselected package groff-base. Preparing to unpack .../009-groff-base_1.23.0-5_amd64.deb ... Unpacking groff-base (1.23.0-5) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../010-bsdextrautils_2.40.2-11_amd64.deb ... Unpacking bsdextrautils (2.40.2-11) ... Selecting previously unselected package libpipeline1:amd64. Preparing to unpack .../011-libpipeline1_1.5.8-1_amd64.deb ... Unpacking libpipeline1:amd64 (1.5.8-1) ... Selecting previously unselected package man-db. Preparing to unpack .../012-man-db_2.13.0-1_amd64.deb ... Unpacking man-db (2.13.0-1) ... Selecting previously unselected package m4. Preparing to unpack .../013-m4_1.4.19-4_amd64.deb ... Unpacking m4 (1.4.19-4) ... Selecting previously unselected package autoconf. Preparing to unpack .../014-autoconf_2.72-3_all.deb ... Unpacking autoconf (2.72-3) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../015-autotools-dev_20220109.1_all.deb ... Unpacking autotools-dev (20220109.1) ... Selecting previously unselected package automake. Preparing to unpack .../016-automake_1%3a1.16.5-1.3_all.deb ... Unpacking automake (1:1.16.5-1.3) ... Selecting previously unselected package autopoint. Preparing to unpack .../017-autopoint_0.22.5-2_all.deb ... Unpacking autopoint (0.22.5-2) ... Selecting previously unselected package libcom-err2:amd64. Preparing to unpack .../018-libcom-err2_1.47.1-1+b1_amd64.deb ... Unpacking libcom-err2:amd64 (1.47.1-1+b1) ... Selecting previously unselected package comerr-dev:amd64. Preparing to unpack .../019-comerr-dev_2.1-1.47.1-1+b1_amd64.deb ... Unpacking comerr-dev:amd64 (2.1-1.47.1-1+b1) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../020-libdebhelper-perl_13.20_all.deb ... Unpacking libdebhelper-perl (13.20) ... Selecting previously unselected package libtool. Preparing to unpack .../021-libtool_2.4.7-8_all.deb ... Unpacking libtool (2.4.7-8) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../022-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../023-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../024-libfile-stripnondeterminism-perl_1.14.0-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.14.0-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../025-dh-strip-nondeterminism_1.14.0-1_all.deb ... Unpacking dh-strip-nondeterminism (1.14.0-1) ... Selecting previously unselected package libelf1t64:amd64. Preparing to unpack .../026-libelf1t64_0.192-4_amd64.deb ... Unpacking libelf1t64:amd64 (0.192-4) ... Selecting previously unselected package dwz. Preparing to unpack .../027-dwz_0.15-1+b1_amd64.deb ... Unpacking dwz (0.15-1+b1) ... Selecting previously unselected package libicu72:amd64. Preparing to unpack .../028-libicu72_72.1-5+b1_amd64.deb ... Unpacking libicu72:amd64 (72.1-5+b1) ... Selecting previously unselected package libxml2:amd64. Preparing to unpack .../029-libxml2_2.12.7+dfsg+really2.9.14-0.2+b1_amd64.deb ... Unpacking libxml2:amd64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Selecting previously unselected package gettext. Preparing to unpack .../030-gettext_0.22.5-2_amd64.deb ... Unpacking gettext (0.22.5-2) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../031-intltool-debian_0.35.0+20060710.6_all.deb ... Unpacking intltool-debian (0.35.0+20060710.6) ... Selecting previously unselected package po-debconf. Preparing to unpack .../032-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../033-debhelper_13.20_all.deb ... Unpacking debhelper (13.20) ... Selecting previously unselected package libedit2:amd64. Preparing to unpack .../034-libedit2_3.1-20240808-1_amd64.deb ... Unpacking libedit2:amd64 (3.1-20240808-1) ... Selecting previously unselected package libz3-4:amd64. Preparing to unpack .../035-libz3-4_4.13.3-1_amd64.deb ... Unpacking libz3-4:amd64 (4.13.3-1) ... Selecting previously unselected package libllvm19:amd64. Preparing to unpack .../036-libllvm19_1%3a19.1.3-2_amd64.deb ... Unpacking libllvm19:amd64 (1:19.1.3-2) ... Selecting previously unselected package libclang-cpp19. Preparing to unpack .../037-libclang-cpp19_1%3a19.1.3-2_amd64.deb ... Unpacking libclang-cpp19 (1:19.1.3-2) ... Selecting previously unselected package libclang1-19. Preparing to unpack .../038-libclang1-19_1%3a19.1.3-2_amd64.deb ... Unpacking libclang1-19 (1:19.1.3-2) ... Selecting previously unselected package libfmt10:amd64. Preparing to unpack .../039-libfmt10_10.1.1+ds1-4_amd64.deb ... Unpacking libfmt10:amd64 (10.1.1+ds1-4) ... Selecting previously unselected package doxygen-doxyparse. Preparing to unpack .../040-doxygen-doxyparse_1.9.8+ds-2+b3_amd64.deb ... Unpacking doxygen-doxyparse (1.9.8+ds-2+b3) ... Selecting previously unselected package libbrotli1:amd64. Preparing to unpack .../041-libbrotli1_1.1.0-2+b6_amd64.deb ... Unpacking libbrotli1:amd64 (1.1.0-2+b6) ... Selecting previously unselected package libkrb5support0:amd64. Preparing to unpack .../042-libkrb5support0_1.21.3-3_amd64.deb ... Unpacking libkrb5support0:amd64 (1.21.3-3) ... Selecting previously unselected package libk5crypto3:amd64. Preparing to unpack .../043-libk5crypto3_1.21.3-3_amd64.deb ... Unpacking libk5crypto3:amd64 (1.21.3-3) ... Selecting previously unselected package libkeyutils1:amd64. Preparing to unpack .../044-libkeyutils1_1.6.3-4_amd64.deb ... Unpacking libkeyutils1:amd64 (1.6.3-4) ... Selecting previously unselected package libkrb5-3:amd64. Preparing to unpack .../045-libkrb5-3_1.21.3-3_amd64.deb ... Unpacking libkrb5-3:amd64 (1.21.3-3) ... Selecting previously unselected package libgssapi-krb5-2:amd64. Preparing to unpack .../046-libgssapi-krb5-2_1.21.3-3_amd64.deb ... Unpacking libgssapi-krb5-2:amd64 (1.21.3-3) ... Selecting previously unselected package libsasl2-modules-db:amd64. Preparing to unpack .../047-libsasl2-modules-db_2.1.28+dfsg1-8_amd64.deb ... Unpacking libsasl2-modules-db:amd64 (2.1.28+dfsg1-8) ... Selecting previously unselected package libsasl2-2:amd64. Preparing to unpack .../048-libsasl2-2_2.1.28+dfsg1-8_amd64.deb ... Unpacking libsasl2-2:amd64 (2.1.28+dfsg1-8) ... Selecting previously unselected package libldap-2.5-0:amd64. Preparing to unpack .../049-libldap-2.5-0_2.5.18+dfsg-3+b1_amd64.deb ... Unpacking libldap-2.5-0:amd64 (2.5.18+dfsg-3+b1) ... Selecting previously unselected package libnghttp2-14:amd64. Preparing to unpack .../050-libnghttp2-14_1.64.0-1_amd64.deb ... Unpacking libnghttp2-14:amd64 (1.64.0-1) ... Selecting previously unselected package libnghttp3-9:amd64. Preparing to unpack .../051-libnghttp3-9_1.4.0-1+b1_amd64.deb ... Unpacking libnghttp3-9:amd64 (1.4.0-1+b1) ... Selecting previously unselected package libngtcp2-16:amd64. Preparing to unpack .../052-libngtcp2-16_1.6.0-1_amd64.deb ... Unpacking libngtcp2-16:amd64 (1.6.0-1) ... Selecting previously unselected package libngtcp2-crypto-gnutls8:amd64. Preparing to unpack .../053-libngtcp2-crypto-gnutls8_1.6.0-1_amd64.deb ... Unpacking libngtcp2-crypto-gnutls8:amd64 (1.6.0-1) ... Selecting previously unselected package libpsl5t64:amd64. Preparing to unpack .../054-libpsl5t64_0.21.2-1.1+b1_amd64.deb ... Unpacking libpsl5t64:amd64 (0.21.2-1.1+b1) ... Selecting previously unselected package librtmp1:amd64. Preparing to unpack .../055-librtmp1_2.4+20151223.gitfa8646d.1-2+b5_amd64.deb ... Unpacking librtmp1:amd64 (2.4+20151223.gitfa8646d.1-2+b5) ... Selecting previously unselected package libssh2-1t64:amd64. Preparing to unpack .../056-libssh2-1t64_1.11.1-1_amd64.deb ... Unpacking libssh2-1t64:amd64 (1.11.1-1) ... Selecting previously unselected package libcurl3t64-gnutls:amd64. Preparing to unpack .../057-libcurl3t64-gnutls_8.11.0-1_amd64.deb ... Unpacking libcurl3t64-gnutls:amd64 (8.11.0-1) ... Selecting previously unselected package libexpat1:amd64. Preparing to unpack .../058-libexpat1_2.6.4-1_amd64.deb ... Unpacking libexpat1:amd64 (2.6.4-1) ... Selecting previously unselected package liberror-perl. Preparing to unpack .../059-liberror-perl_0.17029-2_all.deb ... Unpacking liberror-perl (0.17029-2) ... Selecting previously unselected package git-man. Preparing to unpack .../060-git-man_1%3a2.45.2-1_all.deb ... Unpacking git-man (1:2.45.2-1) ... Selecting previously unselected package git. Preparing to unpack .../061-git_1%3a2.45.2-1_amd64.deb ... Unpacking git (1:2.45.2-1) ... Selecting previously unselected package icu-devtools. Preparing to unpack .../062-icu-devtools_72.1-5+b1_amd64.deb ... Unpacking icu-devtools (72.1-5+b1) ... Selecting previously unselected package libgssrpc4t64:amd64. Preparing to unpack .../063-libgssrpc4t64_1.21.3-3_amd64.deb ... Unpacking libgssrpc4t64:amd64 (1.21.3-3) ... Selecting previously unselected package libkadm5clnt-mit12:amd64. Preparing to unpack .../064-libkadm5clnt-mit12_1.21.3-3_amd64.deb ... Unpacking libkadm5clnt-mit12:amd64 (1.21.3-3) ... Selecting previously unselected package libkdb5-10t64:amd64. Preparing to unpack .../065-libkdb5-10t64_1.21.3-3_amd64.deb ... Unpacking libkdb5-10t64:amd64 (1.21.3-3) ... Selecting previously unselected package libkadm5srv-mit12:amd64. Preparing to unpack .../066-libkadm5srv-mit12_1.21.3-3_amd64.deb ... Unpacking libkadm5srv-mit12:amd64 (1.21.3-3) ... Selecting previously unselected package krb5-multidev:amd64. Preparing to unpack .../067-krb5-multidev_1.21.3-3_amd64.deb ... Unpacking krb5-multidev:amd64 (1.21.3-3) ... Selecting previously unselected package libalgorithm-c3-perl. Preparing to unpack .../068-libalgorithm-c3-perl_0.11-2_all.deb ... Unpacking libalgorithm-c3-perl (0.11-2) ... Selecting previously unselected package libcapture-tiny-perl. Preparing to unpack .../069-libcapture-tiny-perl_0.48-2_all.deb ... Unpacking libcapture-tiny-perl (0.48-2) ... Selecting previously unselected package libparams-util-perl. Preparing to unpack .../070-libparams-util-perl_1.102-3+b1_amd64.deb ... Unpacking libparams-util-perl (1.102-3+b1) ... Selecting previously unselected package libsub-install-perl. Preparing to unpack .../071-libsub-install-perl_0.929-1_all.deb ... Unpacking libsub-install-perl (0.929-1) ... Selecting previously unselected package libdata-optlist-perl. Preparing to unpack .../072-libdata-optlist-perl_0.114-1_all.deb ... Unpacking libdata-optlist-perl (0.114-1) ... Selecting previously unselected package libb-hooks-op-check-perl:amd64. Preparing to unpack .../073-libb-hooks-op-check-perl_0.22-3+b2_amd64.deb ... Unpacking libb-hooks-op-check-perl:amd64 (0.22-3+b2) ... Selecting previously unselected package libdynaloader-functions-perl. Preparing to unpack .../074-libdynaloader-functions-perl_0.004-1_all.deb ... Unpacking libdynaloader-functions-perl (0.004-1) ... Selecting previously unselected package libdevel-callchecker-perl:amd64. Preparing to unpack .../075-libdevel-callchecker-perl_0.009-1+b1_amd64.deb ... Unpacking libdevel-callchecker-perl:amd64 (0.009-1+b1) ... Selecting previously unselected package libparams-classify-perl:amd64. Preparing to unpack .../076-libparams-classify-perl_0.015-2+b4_amd64.deb ... Unpacking libparams-classify-perl:amd64 (0.015-2+b4) ... Selecting previously unselected package libmodule-runtime-perl. Preparing to unpack .../077-libmodule-runtime-perl_0.016-2_all.deb ... Unpacking libmodule-runtime-perl (0.016-2) ... Selecting previously unselected package libtry-tiny-perl. Preparing to unpack .../078-libtry-tiny-perl_0.32-1_all.deb ... Unpacking libtry-tiny-perl (0.32-1) ... Selecting previously unselected package libmodule-implementation-perl. Preparing to unpack .../079-libmodule-implementation-perl_0.09-2_all.deb ... Unpacking libmodule-implementation-perl (0.09-2) ... Selecting previously unselected package libpackage-stash-perl. Preparing to unpack .../080-libpackage-stash-perl_0.40-1_all.deb ... Unpacking libpackage-stash-perl (0.40-1) ... Selecting previously unselected package libclass-load-perl. Preparing to unpack .../081-libclass-load-perl_0.25-2_all.deb ... Unpacking libclass-load-perl (0.25-2) ... Selecting previously unselected package libio-stringy-perl. Preparing to unpack .../082-libio-stringy-perl_2.113-2_all.deb ... Unpacking libio-stringy-perl (2.113-2) ... Selecting previously unselected package libparams-validate-perl:amd64. Preparing to unpack .../083-libparams-validate-perl_1.31-2+b3_amd64.deb ... Unpacking libparams-validate-perl:amd64 (1.31-2+b3) ... Selecting previously unselected package libsub-exporter-perl. Preparing to unpack .../084-libsub-exporter-perl_0.990-1_all.deb ... Unpacking libsub-exporter-perl (0.990-1) ... Selecting previously unselected package libgetopt-long-descriptive-perl. Preparing to unpack .../085-libgetopt-long-descriptive-perl_0.115-1_all.deb ... Unpacking libgetopt-long-descriptive-perl (0.115-1) ... Selecting previously unselected package libio-tiecombine-perl. Preparing to unpack .../086-libio-tiecombine-perl_1.005-3_all.deb ... Unpacking libio-tiecombine-perl (1.005-3) ... Selecting previously unselected package libmodule-pluggable-perl. Preparing to unpack .../087-libmodule-pluggable-perl_5.2-5_all.deb ... Unpacking libmodule-pluggable-perl (5.2-5) ... Selecting previously unselected package libstring-rewriteprefix-perl. Preparing to unpack .../088-libstring-rewriteprefix-perl_0.009-1_all.deb ... Unpacking libstring-rewriteprefix-perl (0.009-1) ... Selecting previously unselected package libapp-cmd-perl. Preparing to unpack .../089-libapp-cmd-perl_0.336-1_all.deb ... Unpacking libapp-cmd-perl (0.336-1) ... Selecting previously unselected package libarchive-extract-perl. Preparing to unpack .../090-libarchive-extract-perl_0.88-1_all.deb ... Unpacking libarchive-extract-perl (0.88-1) ... Selecting previously unselected package libsub-exporter-progressive-perl. Preparing to unpack .../091-libsub-exporter-progressive-perl_0.001013-3_all.deb ... Unpacking libsub-exporter-progressive-perl (0.001013-3) ... Selecting previously unselected package libvariable-magic-perl. Preparing to unpack .../092-libvariable-magic-perl_0.64-1+b1_amd64.deb ... Unpacking libvariable-magic-perl (0.64-1+b1) ... Selecting previously unselected package libb-hooks-endofscope-perl. Preparing to unpack .../093-libb-hooks-endofscope-perl_0.28-1_all.deb ... Unpacking libb-hooks-endofscope-perl (0.28-1) ... Selecting previously unselected package libmd-dev:amd64. Preparing to unpack .../094-libmd-dev_1.1.0-2+b1_amd64.deb ... Unpacking libmd-dev:amd64 (1.1.0-2+b1) ... Selecting previously unselected package libbsd-dev:amd64. Preparing to unpack .../095-libbsd-dev_0.12.2-2_amd64.deb ... Unpacking libbsd-dev:amd64 (0.12.2-2) ... Selecting previously unselected package libipc-sharelite-perl. Preparing to unpack .../096-libipc-sharelite-perl_0.17-5+b3_amd64.deb ... Unpacking libipc-sharelite-perl (0.17-5+b3) ... Selecting previously unselected package libcache-cache-perl. Preparing to unpack .../097-libcache-cache-perl_1.08-3_all.deb ... Unpacking libcache-cache-perl (1.08-3) ... Selecting previously unselected package libcompress-lz4-perl. Preparing to unpack .../098-libcompress-lz4-perl_0.25+ds-2+b4_amd64.deb ... Unpacking libcompress-lz4-perl (0.25+ds-2+b4) ... Selecting previously unselected package libsnappy1v5:amd64. Preparing to unpack .../099-libsnappy1v5_1.2.1-1+b1_amd64.deb ... Unpacking libsnappy1v5:amd64 (1.2.1-1+b1) ... Selecting previously unselected package libcompress-snappy-perl. Preparing to unpack .../100-libcompress-snappy-perl_0.25+ds-1+b1_amd64.deb ... Unpacking libcompress-snappy-perl (0.25+ds-1+b1) ... Selecting previously unselected package libcache-fastmmap-perl. Preparing to unpack .../101-libcache-fastmmap-perl_1.57-2+b4_amd64.deb ... Unpacking libcache-fastmmap-perl (1.57-2+b4) ... Selecting previously unselected package libcarp-assert-perl. Preparing to unpack .../102-libcarp-assert-perl_0.22-1_all.deb ... Unpacking libcarp-assert-perl (0.22-1) ... Selecting previously unselected package libdata-serializer-perl. Preparing to unpack .../103-libdata-serializer-perl_0.65-2_all.deb ... Unpacking libdata-serializer-perl (0.65-2) ... Selecting previously unselected package libdigest-jhash-perl. Preparing to unpack .../104-libdigest-jhash-perl_0.10-2+b4_amd64.deb ... Unpacking libdigest-jhash-perl (0.10-2+b4) ... Selecting previously unselected package libhash-moreutils-perl. Preparing to unpack .../105-libhash-moreutils-perl_0.06-2_all.deb ... Unpacking libhash-moreutils-perl (0.06-2) ... Selecting previously unselected package libcpanel-json-xs-perl:amd64. Preparing to unpack .../106-libcpanel-json-xs-perl_4.38-1+b1_amd64.deb ... Unpacking libcpanel-json-xs-perl:amd64 (4.38-1+b1) ... Selecting previously unselected package libjson-maybexs-perl. Preparing to unpack .../107-libjson-maybexs-perl_1.004008-1_all.deb ... Unpacking libjson-maybexs-perl (1.004008-1) ... Selecting previously unselected package libexporter-tiny-perl. Preparing to unpack .../108-libexporter-tiny-perl_1.006002-1_all.deb ... Unpacking libexporter-tiny-perl (1.006002-1) ... Selecting previously unselected package liblist-moreutils-xs-perl. Preparing to unpack .../109-liblist-moreutils-xs-perl_0.430-4+b2_amd64.deb ... Unpacking liblist-moreutils-xs-perl (0.430-4+b2) ... Selecting previously unselected package liblist-moreutils-perl. Preparing to unpack .../110-liblist-moreutils-perl_0.430-2_all.deb ... Unpacking liblist-moreutils-perl (0.430-2) ... Selecting previously unselected package liblog-any-perl. Preparing to unpack .../111-liblog-any-perl_1.717-1_all.deb ... Unpacking liblog-any-perl (1.717-1) ... Selecting previously unselected package libclass-method-modifiers-perl. Preparing to unpack .../112-libclass-method-modifiers-perl_2.15-1_all.deb ... Unpacking libclass-method-modifiers-perl (2.15-1) ... Selecting previously unselected package libclass-xsaccessor-perl. Preparing to unpack .../113-libclass-xsaccessor-perl_1.19-4+b4_amd64.deb ... Unpacking libclass-xsaccessor-perl (1.19-4+b4) ... Selecting previously unselected package libimport-into-perl. Preparing to unpack .../114-libimport-into-perl_1.002005-2_all.deb ... Unpacking libimport-into-perl (1.002005-2) ... Selecting previously unselected package librole-tiny-perl. Preparing to unpack .../115-librole-tiny-perl_2.002004-1_all.deb ... Unpacking librole-tiny-perl (2.002004-1) ... Selecting previously unselected package libsub-quote-perl. Preparing to unpack .../116-libsub-quote-perl_2.006008-1_all.deb ... Unpacking libsub-quote-perl (2.006008-1) ... Selecting previously unselected package libmoo-perl. Preparing to unpack .../117-libmoo-perl_2.005005-1_all.deb ... Unpacking libmoo-perl (2.005005-1) ... Selecting previously unselected package libmoox-types-mooselike-perl. Preparing to unpack .../118-libmoox-types-mooselike-perl_0.29-2_all.deb ... Unpacking libmoox-types-mooselike-perl (0.29-2) ... Selecting previously unselected package libmoox-types-mooselike-numeric-perl. Preparing to unpack .../119-libmoox-types-mooselike-numeric-perl_1.03-2_all.deb ... Unpacking libmoox-types-mooselike-numeric-perl (1.03-2) ... Selecting previously unselected package libossp-uuid16:amd64. Preparing to unpack .../120-libossp-uuid16_1.6.3-1_amd64.deb ... Unpacking libossp-uuid16:amd64 (1.6.3-1) ... Selecting previously unselected package libossp-uuid-perl. Preparing to unpack .../121-libossp-uuid-perl_1.6.3-1_amd64.deb ... Unpacking libossp-uuid-perl (1.6.3-1) ... Selecting previously unselected package libtask-weaken-perl. Preparing to unpack .../122-libtask-weaken-perl_1.06-2_all.deb ... Unpacking libtask-weaken-perl (1.06-2) ... Selecting previously unselected package libtime-duration-perl. Preparing to unpack .../123-libtime-duration-perl_1.21-2_all.deb ... Unpacking libtime-duration-perl (1.21-2) ... Selecting previously unselected package libtime-duration-parse-perl. Preparing to unpack .../124-libtime-duration-parse-perl_0.16-1_all.deb ... Unpacking libtime-duration-parse-perl (0.16-1) ... Selecting previously unselected package libtimedate-perl. Preparing to unpack .../125-libtimedate-perl_2.3300-2_all.deb ... Unpacking libtimedate-perl (2.3300-2) ... Selecting previously unselected package libchi-perl. Preparing to unpack .../126-libchi-perl_0.61-1_all.deb ... Unpacking libchi-perl (0.61-1) ... Selecting previously unselected package libsub-name-perl:amd64. Preparing to unpack .../127-libsub-name-perl_0.27-1+b3_amd64.deb ... Unpacking libsub-name-perl:amd64 (0.27-1+b3) ... Selecting previously unselected package libclass-accessor-perl. Preparing to unpack .../128-libclass-accessor-perl_0.51-2_all.deb ... Unpacking libclass-accessor-perl (0.51-2) ... Selecting previously unselected package libclass-c3-perl. Preparing to unpack .../129-libclass-c3-perl_0.35-2_all.deb ... Unpacking libclass-c3-perl (0.35-2) ... Selecting previously unselected package libclass-inspector-perl. Preparing to unpack .../130-libclass-inspector-perl_1.36-3_all.deb ... Unpacking libclass-inspector-perl (1.36-3) ... Selecting previously unselected package libclass-methodmaker-perl:amd64. Preparing to unpack .../131-libclass-methodmaker-perl_2.25-1_amd64.deb ... Unpacking libclass-methodmaker-perl:amd64 (2.25-1) ... Selecting previously unselected package libclone-perl:amd64. Preparing to unpack .../132-libclone-perl_0.47-1+b1_amd64.deb ... Unpacking libclone-perl:amd64 (0.47-1+b1) ... Selecting previously unselected package libwant-perl. Preparing to unpack .../133-libwant-perl_0.29-2+b4_amd64.deb ... Unpacking libwant-perl (0.29-2+b4) ... Selecting previously unselected package libcontextual-return-perl. Preparing to unpack .../134-libcontextual-return-perl_0.004014-4_all.deb ... Unpacking libcontextual-return-perl (0.004014-4) ... Selecting previously unselected package libcucumber-tagexpressions-perl. Preparing to unpack .../135-libcucumber-tagexpressions-perl_6.1.0-1_all.deb ... Unpacking libcucumber-tagexpressions-perl (6.1.0-1) ... Selecting previously unselected package libstrictures-perl. Preparing to unpack .../136-libstrictures-perl_2.000006-1_all.deb ... Unpacking libstrictures-perl (2.000006-1) ... Selecting previously unselected package libdata-perl-perl. Preparing to unpack .../137-libdata-perl-perl_0.002011-2_all.deb ... Unpacking libdata-perl-perl (0.002011-2) ... Selecting previously unselected package libdbi-perl:amd64. Preparing to unpack .../138-libdbi-perl_1.645-1+b1_amd64.deb ... Unpacking libdbi-perl:amd64 (1.645-1+b1) ... Selecting previously unselected package libdbd-sqlite3-perl:amd64. Preparing to unpack .../139-libdbd-sqlite3-perl_1.76-1_amd64.deb ... Unpacking libdbd-sqlite3-perl:amd64 (1.76-1) ... Selecting previously unselected package libencode-locale-perl. Preparing to unpack .../140-libencode-locale-perl_1.05-3_all.deb ... Unpacking libencode-locale-perl (1.05-3) ... Selecting previously unselected package libenv-path-perl. Preparing to unpack .../141-libenv-path-perl_0.19-4_all.deb ... Unpacking libenv-path-perl (0.19-4) ... Selecting previously unselected package libfile-which-perl. Preparing to unpack .../142-libfile-which-perl_1.27-2_all.deb ... Unpacking libfile-which-perl (1.27-2) ... Selecting previously unselected package libffi-checklib-perl. Preparing to unpack .../143-libffi-checklib-perl_0.31-1_all.deb ... Unpacking libffi-checklib-perl (0.31-1) ... Selecting previously unselected package libffi-platypus-perl. Preparing to unpack .../144-libffi-platypus-perl_2.09-1+b1_amd64.deb ... Unpacking libffi-platypus-perl (2.09-1+b1) ... Selecting previously unselected package libfile-chdir-perl. Preparing to unpack .../145-libfile-chdir-perl_0.1008-1.2_all.deb ... Unpacking libfile-chdir-perl (0.1008-1.2) ... Selecting previously unselected package libfile-copy-recursive-perl. Preparing to unpack .../146-libfile-copy-recursive-perl_0.45-4_all.deb ... Unpacking libfile-copy-recursive-perl (0.45-4) ... Selecting previously unselected package libnumber-compare-perl. Preparing to unpack .../147-libnumber-compare-perl_0.03-3_all.deb ... Unpacking libnumber-compare-perl (0.03-3) ... Selecting previously unselected package libtext-glob-perl. Preparing to unpack .../148-libtext-glob-perl_0.11-3_all.deb ... Unpacking libtext-glob-perl (0.11-3) ... Selecting previously unselected package libfile-find-rule-perl. Preparing to unpack .../149-libfile-find-rule-perl_0.34-3_all.deb ... Unpacking libfile-find-rule-perl (0.34-3) ... Selecting previously unselected package libfile-homedir-perl. Preparing to unpack .../150-libfile-homedir-perl_1.006-2_all.deb ... Unpacking libfile-homedir-perl (1.006-2) ... Selecting previously unselected package libfile-libmagic-perl. Preparing to unpack .../151-libfile-libmagic-perl_1.23-2+b2_amd64.deb ... Unpacking libfile-libmagic-perl (1.23-2+b2) ... Selecting previously unselected package libhttp-date-perl. Preparing to unpack .../152-libhttp-date-perl_6.06-1_all.deb ... Unpacking libhttp-date-perl (6.06-1) ... Selecting previously unselected package libfile-listing-perl. Preparing to unpack .../153-libfile-listing-perl_6.16-1_all.deb ... Unpacking libfile-listing-perl (6.16-1) ... Selecting previously unselected package libfile-sharedir-perl. Preparing to unpack .../154-libfile-sharedir-perl_1.118-3_all.deb ... Unpacking libfile-sharedir-perl (1.118-3) ... Selecting previously unselected package libfile-share-perl. Preparing to unpack .../155-libfile-share-perl_0.27-2_all.deb ... Unpacking libfile-share-perl (0.27-2) ... Selecting previously unselected package libfile-sharedir-install-perl. Preparing to unpack .../156-libfile-sharedir-install-perl_0.14-2_all.deb ... Unpacking libfile-sharedir-install-perl (0.14-2) ... Selecting previously unselected package libfile-slurp-perl. Preparing to unpack .../157-libfile-slurp-perl_9999.32-2_all.deb ... Unpacking libfile-slurp-perl (9999.32-2) ... Selecting previously unselected package libfindbin-libs-perl. Preparing to unpack .../158-libfindbin-libs-perl_3.0.2-1_all.deb ... Unpacking libfindbin-libs-perl (3.0.2-1) ... Selecting previously unselected package libsort-versions-perl. Preparing to unpack .../159-libsort-versions-perl_1.62-3_all.deb ... Unpacking libsort-versions-perl (1.62-3) ... Selecting previously unselected package libgit-wrapper-perl. Preparing to unpack .../160-libgit-wrapper-perl_0.048-2_all.deb ... Unpacking libgit-wrapper-perl (0.048-2) ... Selecting previously unselected package libheap-perl. Preparing to unpack .../161-libheap-perl_0.80-5_all.deb ... Unpacking libheap-perl (0.80-5) ... Selecting previously unselected package libset-object-perl. Preparing to unpack .../162-libset-object-perl_1.42-1+b5_amd64.deb ... Unpacking libset-object-perl (1.42-1+b5) ... Selecting previously unselected package libgraph-perl. Preparing to unpack .../163-libgraph-perl_1%3a0.9729-1_all.deb ... Unpacking libgraph-perl (1:0.9729-1) ... Selecting previously unselected package libspiffy-perl. Preparing to unpack .../164-libspiffy-perl_0.46-1_all.deb ... Unpacking libspiffy-perl (0.46-1) ... Selecting previously unselected package libio-all-perl. Preparing to unpack .../165-libio-all-perl_0.87-2_all.deb ... Unpacking libio-all-perl (0.87-2) ... Selecting previously unselected package libparse-yapp-perl. Preparing to unpack .../166-libparse-yapp-perl_1.21-4_all.deb ... Unpacking libparse-yapp-perl (1.21-4) ... Selecting previously unselected package liburi-perl. Preparing to unpack .../167-liburi-perl_5.30-1_all.deb ... Unpacking liburi-perl (5.30-1) ... Selecting previously unselected package libhtml-tagset-perl. Preparing to unpack .../168-libhtml-tagset-perl_3.24-1_all.deb ... Unpacking libhtml-tagset-perl (3.24-1) ... Selecting previously unselected package libhtml-parser-perl:amd64. Preparing to unpack .../169-libhtml-parser-perl_3.83-1+b1_amd64.deb ... Unpacking libhtml-parser-perl:amd64 (3.83-1+b1) ... Selecting previously unselected package libhtml-tree-perl. Preparing to unpack .../170-libhtml-tree-perl_5.07-3_all.deb ... Unpacking libhtml-tree-perl (5.07-3) ... Selecting previously unselected package libio-html-perl. Preparing to unpack .../171-libio-html-perl_1.004-3_all.deb ... Unpacking libio-html-perl (1.004-3) ... Selecting previously unselected package liblwp-mediatypes-perl. Preparing to unpack .../172-liblwp-mediatypes-perl_6.04-2_all.deb ... Unpacking liblwp-mediatypes-perl (6.04-2) ... Selecting previously unselected package libhttp-message-perl. Preparing to unpack .../173-libhttp-message-perl_7.00-2_all.deb ... Unpacking libhttp-message-perl (7.00-2) ... Selecting previously unselected package libhttp-cookies-perl. Preparing to unpack .../174-libhttp-cookies-perl_6.11-1_all.deb ... Unpacking libhttp-cookies-perl (6.11-1) ... Selecting previously unselected package libhttp-negotiate-perl. Preparing to unpack .../175-libhttp-negotiate-perl_6.01-2_all.deb ... Unpacking libhttp-negotiate-perl (6.01-2) ... Selecting previously unselected package perl-openssl-defaults:amd64. Preparing to unpack .../176-perl-openssl-defaults_7+b2_amd64.deb ... Unpacking perl-openssl-defaults:amd64 (7+b2) ... Selecting previously unselected package libnet-ssleay-perl:amd64. Preparing to unpack .../177-libnet-ssleay-perl_1.94-2_amd64.deb ... Unpacking libnet-ssleay-perl:amd64 (1.94-2) ... Selecting previously unselected package libio-socket-ssl-perl. Preparing to unpack .../178-libio-socket-ssl-perl_2.089-1_all.deb ... Unpacking libio-socket-ssl-perl (2.089-1) ... Selecting previously unselected package libnet-http-perl. Preparing to unpack .../179-libnet-http-perl_6.23-1_all.deb ... Unpacking libnet-http-perl (6.23-1) ... Selecting previously unselected package liblwp-protocol-https-perl. Preparing to unpack .../180-liblwp-protocol-https-perl_6.14-1_all.deb ... Unpacking liblwp-protocol-https-perl (6.14-1) ... Selecting previously unselected package libwww-robotrules-perl. Preparing to unpack .../181-libwww-robotrules-perl_6.02-1_all.deb ... Unpacking libwww-robotrules-perl (6.02-1) ... Selecting previously unselected package libwww-perl. Preparing to unpack .../182-libwww-perl_6.77-1_all.deb ... Unpacking libwww-perl (6.77-1) ... Selecting previously unselected package libxml-parser-perl. Preparing to unpack .../183-libxml-parser-perl_2.47-1+b3_amd64.deb ... Unpacking libxml-parser-perl (2.47-1+b3) ... Selecting previously unselected package libxml-writer-perl. Preparing to unpack .../184-libxml-writer-perl_0.900-2_all.deb ... Unpacking libxml-writer-perl (0.900-2) ... Selecting previously unselected package libgraph-readwrite-perl. Preparing to unpack .../185-libgraph-readwrite-perl_2.10-1_all.deb ... Unpacking libgraph-readwrite-perl (2.10-1) ... Selecting previously unselected package libicu-dev:amd64. Preparing to unpack .../186-libicu-dev_72.1-5+b1_amd64.deb ... Unpacking libicu-dev:amd64 (72.1-5+b1) ... Selecting previously unselected package libjson-perl. Preparing to unpack .../187-libjson-perl_4.10000-1_all.deb ... Unpacking libjson-perl (4.10000-1) ... Selecting previously unselected package libkrb5-dev:amd64. Preparing to unpack .../188-libkrb5-dev_1.21.3-3_amd64.deb ... Unpacking libkrb5-dev:amd64 (1.21.3-3) ... Selecting previously unselected package liblist-compare-perl. Preparing to unpack .../189-liblist-compare-perl_0.55-2_all.deb ... Unpacking liblist-compare-perl (0.55-2) ... Selecting previously unselected package liblog-message-perl. Preparing to unpack .../190-liblog-message-perl_0.8-3_all.deb ... Unpacking liblog-message-perl (0.8-3) ... Selecting previously unselected package liblog-message-simple-perl. Preparing to unpack .../191-liblog-message-simple-perl_0.10-3_all.deb ... Unpacking liblog-message-simple-perl (0.10-3) ... Selecting previously unselected package libmoox-handlesvia-perl. Preparing to unpack .../192-libmoox-handlesvia-perl_0.001009-2_all.deb ... Unpacking libmoox-handlesvia-perl (0.001009-2) ... Selecting previously unselected package libmro-compat-perl. Preparing to unpack .../193-libmro-compat-perl_0.15-2_all.deb ... Unpacking libmro-compat-perl (0.15-2) ... Selecting previously unselected package libsub-identify-perl. Preparing to unpack .../194-libsub-identify-perl_0.14-3+b3_amd64.deb ... Unpacking libsub-identify-perl (0.14-3+b3) ... Selecting previously unselected package libnamespace-clean-perl. Preparing to unpack .../195-libnamespace-clean-perl_0.27-2_all.deb ... Unpacking libnamespace-clean-perl (0.27-2) ... Selecting previously unselected package libnorm1t64:amd64. Preparing to unpack .../196-libnorm1t64_1.5.9+dfsg-3.1+b1_amd64.deb ... Unpacking libnorm1t64:amd64 (1.5.9+dfsg-3.1+b1) ... Selecting previously unselected package libxml2-dev:amd64. Preparing to unpack .../197-libxml2-dev_2.12.7+dfsg+really2.9.14-0.2+b1_amd64.deb ... Unpacking libxml2-dev:amd64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Selecting previously unselected package libnorm-dev:amd64. Preparing to unpack .../198-libnorm-dev_1.5.9+dfsg-3.1+b1_amd64.deb ... Unpacking libnorm-dev:amd64 (1.5.9+dfsg-3.1+b1) ... Selecting previously unselected package libpath-class-perl. Preparing to unpack .../199-libpath-class-perl_0.37-4_all.deb ... Unpacking libpath-class-perl (0.37-4) ... Selecting previously unselected package libpgm-5.3-0t64:amd64. Preparing to unpack .../200-libpgm-5.3-0t64_5.3.128~dfsg-2.1+b1_amd64.deb ... Unpacking libpgm-5.3-0t64:amd64 (5.3.128~dfsg-2.1+b1) ... Selecting previously unselected package libpgm-dev:amd64. Preparing to unpack .../201-libpgm-dev_5.3.128~dfsg-2.1+b1_amd64.deb ... Unpacking libpgm-dev:amd64 (5.3.128~dfsg-2.1+b1) ... Selecting previously unselected package libsodium23:amd64. Preparing to unpack .../202-libsodium23_1.0.18-1+b2_amd64.deb ... Unpacking libsodium23:amd64 (1.0.18-1+b2) ... Selecting previously unselected package libsodium-dev:amd64. Preparing to unpack .../203-libsodium-dev_1.0.18-1+b2_amd64.deb ... Unpacking libsodium-dev:amd64 (1.0.18-1+b2) ... Selecting previously unselected package libstatistics-descriptive-perl. Preparing to unpack .../204-libstatistics-descriptive-perl_3.0801-1_all.deb ... Unpacking libstatistics-descriptive-perl (3.0801-1) ... Selecting previously unselected package libsub-uplevel-perl. Preparing to unpack .../205-libsub-uplevel-perl_0.2800-3_all.deb ... Unpacking libsub-uplevel-perl (0.2800-3) ... Selecting previously unselected package libsuper-perl. Preparing to unpack .../206-libsuper-perl_1.20190531-1_all.deb ... Unpacking libsuper-perl (1.20190531-1) ... Selecting previously unselected package libterm-readkey-perl. Preparing to unpack .../207-libterm-readkey-perl_2.38-2+b4_amd64.deb ... Unpacking libterm-readkey-perl (2.38-2+b4) ... Selecting previously unselected package libterm-progressbar-perl. Preparing to unpack .../208-libterm-progressbar-perl_2.23-1_all.deb ... Unpacking libterm-progressbar-perl (2.23-1) ... Selecting previously unselected package libterm-ui-perl. Preparing to unpack .../209-libterm-ui-perl_0.50-1_all.deb ... Unpacking libterm-ui-perl (0.50-1) ... Selecting previously unselected package libtest2-suite-perl. Preparing to unpack .../210-libtest2-suite-perl_0.000163-1_all.deb ... Unpacking libtest2-suite-perl (0.000163-1) ... Selecting previously unselected package libtype-tiny-perl. Preparing to unpack .../211-libtype-tiny-perl_2.004000-1_all.deb ... Unpacking libtype-tiny-perl (2.004000-1) ... Selecting previously unselected package libyaml-perl. Preparing to unpack .../212-libyaml-perl_1.31-1_all.deb ... Unpacking libyaml-perl (1.31-1) ... Selecting previously unselected package libtest-bdd-cucumber-perl. Preparing to unpack .../213-libtest-bdd-cucumber-perl_0.86-1_all.deb ... Unpacking libtest-bdd-cucumber-perl (0.86-1) ... Selecting previously unselected package libtest-exception-perl. Preparing to unpack .../214-libtest-exception-perl_0.43-3_all.deb ... Unpacking libtest-exception-perl (0.43-3) ... Selecting previously unselected package libtest-class-perl. Preparing to unpack .../215-libtest-class-perl_0.52-1_all.deb ... Unpacking libtest-class-perl (0.52-1) ... Selecting previously unselected package libtest-mockmodule-perl. Preparing to unpack .../216-libtest-mockmodule-perl_0.178.0-1_all.deb ... Unpacking libtest-mockmodule-perl (0.178.0-1) ... Selecting previously unselected package libuniversal-can-perl. Preparing to unpack .../217-libuniversal-can-perl_1.20140328-3_all.deb ... Unpacking libuniversal-can-perl (1.20140328-3) ... Selecting previously unselected package libuniversal-isa-perl. Preparing to unpack .../218-libuniversal-isa-perl_1.20171012-3_all.deb ... Unpacking libuniversal-isa-perl (1.20171012-3) ... Selecting previously unselected package libtest-mockobject-perl. Preparing to unpack .../219-libtest-mockobject-perl_1.20200122-4_all.deb ... Unpacking libtest-mockobject-perl (1.20200122-4) ... Selecting previously unselected package libyaml-0-2:amd64. Preparing to unpack .../220-libyaml-0-2_0.2.5-1+b2_amd64.deb ... Unpacking libyaml-0-2:amd64 (0.2.5-1+b2) ... Selecting previously unselected package libyaml-libyaml-perl. Preparing to unpack .../221-libyaml-libyaml-perl_0.902.0+ds-2+b1_amd64.deb ... Unpacking libyaml-libyaml-perl (0.902.0+ds-2+b1) ... Selecting previously unselected package libzmq5:amd64. Preparing to unpack .../222-libzmq5_4.3.5-1+b3_amd64.deb ... Unpacking libzmq5:amd64 (4.3.5-1+b3) ... Selecting previously unselected package libzmq3-dev:amd64. Preparing to unpack .../223-libzmq3-dev_4.3.5-1+b3_amd64.deb ... Unpacking libzmq3-dev:amd64 (4.3.5-1+b3) ... Selecting previously unselected package libzmq-ffi-perl. Preparing to unpack .../224-libzmq-ffi-perl_1.19-1_all.deb ... Unpacking libzmq-ffi-perl (1.19-1) ... Setting up libexpat1:amd64 (2.6.4-1) ... Setting up libmodule-pluggable-perl (5.2-5) ... Setting up libpipeline1:amd64 (1.5.8-1) ... Setting up libfile-sharedir-install-perl (0.14-2) ... Setting up libnorm1t64:amd64 (1.5.9+dfsg-3.1+b1) ... Setting up libfile-which-perl (1.27-2) ... Setting up libkeyutils1:amd64 (1.6.3-4) ... Setting up libfile-slurp-perl (9999.32-2) ... Setting up libtask-weaken-perl (1.06-2) ... Setting up libsodium23:amd64 (1.0.18-1+b2) ... Setting up libicu72:amd64 (72.1-5+b1) ... Setting up bsdextrautils (2.40.2-11) ... Setting up libparse-yapp-perl (1.21-4) ... Setting up libclass-inspector-perl (1.36-3) ... Setting up libwant-perl (0.29-2+b4) ... Setting up libdynaloader-functions-perl (0.004-1) ... Setting up libtext-glob-perl (0.11-3) ... Setting up libclass-method-modifiers-perl (2.15-1) ... Setting up liblist-compare-perl (0.55-2) ... Setting up libmagic-mgc (1:5.45-3+b1) ... Setting up libpath-class-perl (0.37-4) ... Setting up libclone-perl:amd64 (0.47-1+b1) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libyaml-0-2:amd64 (0.2.5-1+b2) ... Setting up libsub-identify-perl (0.14-3+b3) ... Setting up libcpanel-json-xs-perl:amd64 (4.38-1+b1) ... Setting up libio-stringy-perl (2.113-2) ... Setting up libhtml-tagset-perl (3.24-1) ... Setting up liblog-any-perl (1.717-1) ... Setting up libclass-methodmaker-perl:amd64 (2.25-1) ... Setting up libdebhelper-perl (13.20) ... Setting up libbrotli1:amd64 (1.1.0-2+b6) ... Setting up libedit2:amd64 (3.1-20240808-1) ... Setting up libipc-sharelite-perl (0.17-5+b3) ... Setting up libheap-perl (0.80-5) ... Setting up liblwp-mediatypes-perl (6.04-2) ... Setting up libmagic1t64:amd64 (1:5.45-3+b1) ... Setting up libyaml-libyaml-perl (0.902.0+ds-2+b1) ... Setting up libtry-tiny-perl (0.32-1) ... Setting up libpsl5t64:amd64 (0.21.2-1.1+b1) ... Setting up libnghttp2-14:amd64 (1.64.0-1) ... Setting up libdigest-jhash-perl (0.10-2+b4) ... Setting up perl-openssl-defaults:amd64 (7+b2) ... Setting up libhash-moreutils-perl (0.06-2) ... Setting up gettext-base (0.22.5-2) ... Setting up m4 (1.4.19-4) ... Setting up libencode-locale-perl (1.05-3) ... Setting up libfindbin-libs-perl (3.0.2-1) ... Setting up libcom-err2:amd64 (1.47.1-1+b1) ... Setting up file (1:5.45-3+b1) ... Setting up libossp-uuid16:amd64 (1.6.3-1) ... Setting up libcompress-lz4-perl (0.25+ds-2+b4) ... Setting up libyaml-perl (1.31-1) ... Setting up libsub-install-perl (0.929-1) ... Setting up libelf1t64:amd64 (0.192-4) ... Setting up libtest2-suite-perl (0.000163-1) ... Setting up libsnappy1v5:amd64 (1.2.1-1+b1) ... Setting up libkrb5support0:amd64 (1.21.3-3) ... Setting up libnumber-compare-perl (0.03-3) ... Setting up libuniversal-isa-perl (1.20171012-3) ... Setting up libsasl2-modules-db:amd64 (2.1.28+dfsg1-8) ... Setting up libfile-copy-recursive-perl (0.45-4) ... Setting up liberror-perl (0.17029-2) ... Setting up liblog-message-perl (0.8-3) ... Setting up libjson-maybexs-perl (1.004008-1) ... Setting up libarchive-extract-perl (0.88-1) ... Setting up libpgm-5.3-0t64:amd64 (5.3.128~dfsg-2.1+b1) ... Setting up autotools-dev (20220109.1) ... Setting up libz3-4:amd64 (4.13.3-1) ... Setting up libalgorithm-c3-perl (0.11-2) ... Setting up libset-object-perl (1.42-1+b5) ... Setting up libfile-find-rule-perl (0.34-3) ... Setting up librtmp1:amd64 (2.4+20151223.gitfa8646d.1-2+b5) ... Setting up libio-tiecombine-perl (1.005-3) ... Setting up libpgm-dev:amd64 (5.3.128~dfsg-2.1+b1) ... Setting up libffi-checklib-perl (0.31-1) ... Setting up libxml-writer-perl (0.900-2) ... Setting up libenv-path-perl (0.19-4) ... Setting up comerr-dev:amd64 (2.1-1.47.1-1+b1) ... Setting up libvariable-magic-perl (0.64-1+b1) ... Setting up libio-html-perl (1.004-3) ... Setting up autopoint (0.22.5-2) ... Setting up libb-hooks-op-check-perl:amd64 (0.22-3+b2) ... Setting up icu-devtools (72.1-5+b1) ... Setting up libfile-libmagic-perl (1.23-2+b2) ... Setting up liblist-moreutils-xs-perl (0.430-4+b2) ... Setting up libsodium-dev:amd64 (1.0.18-1+b2) ... Setting up libk5crypto3:amd64 (1.21.3-3) ... Setting up libparams-util-perl (1.102-3+b1) ... Setting up libspiffy-perl (0.46-1) ... Setting up libsasl2-2:amd64 (2.1.28+dfsg1-8) ... Setting up libtime-duration-perl (1.21-2) ... Setting up autoconf (2.72-3) ... Setting up libnghttp3-9:amd64 (1.4.0-1+b1) ... Setting up libsub-exporter-progressive-perl (0.001013-3) ... Setting up libcapture-tiny-perl (0.48-2) ... Setting up libtimedate-perl (2.3300-2) ... Setting up libcontextual-return-perl (0.004014-4) ... Setting up libsub-name-perl:amd64 (0.27-1+b3) ... Setting up dwz (0.15-1+b1) ... Setting up libfile-chdir-perl (0.1008-1.2) ... Setting up sensible-utils (0.0.24) ... Setting up libuchardet0:amd64 (0.0.8-1+b2) ... Setting up libjson-perl (4.10000-1) ... Setting up libmd-dev:amd64 (1.1.0-2+b1) ... Setting up librole-tiny-perl (2.002004-1) ... Setting up libfile-sharedir-perl (1.118-3) ... Setting up libsub-uplevel-perl (0.2800-3) ... Setting up git-man (1:2.45.2-1) ... Setting up netbase (6.4) ... Setting up libngtcp2-16:amd64 (1.6.0-1) ... Setting up libstrictures-perl (2.000006-1) ... Setting up libsub-quote-perl (2.006008-1) ... Setting up libclass-xsaccessor-perl (1.19-4+b4) ... Setting up libkrb5-3:amd64 (1.21.3-3) ... Setting up libsort-versions-perl (1.62-3) ... Setting up libssh2-1t64:amd64 (1.11.1-1) ... Setting up libdata-serializer-perl (0.65-2) ... Setting up libexporter-tiny-perl (1.006002-1) ... Setting up libuniversal-can-perl (1.20140328-3) ... Setting up libterm-readkey-perl (2.38-2+b4) ... Setting up libclass-accessor-perl (0.51-2) ... Setting up libfile-homedir-perl (1.006-2) ... Setting up openssl (3.3.2-2) ... Setting up libcompress-snappy-perl (0.25+ds-1+b1) ... Setting up libicu-dev:amd64 (72.1-5+b1) ... Setting up libxml2:amd64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Setting up libbsd-dev:amd64 (0.12.2-2) ... Setting up liburi-perl (5.30-1) ... Setting up libcarp-assert-perl (0.22-1) ... Setting up libfmt10:amd64 (10.1.1+ds1-4) ... Setting up libdbi-perl:amd64 (1.645-1+b1) ... Setting up libngtcp2-crypto-gnutls8:amd64 (1.6.0-1) ... Setting up libffi-platypus-perl (2.09-1+b1) ... Setting up libtime-duration-parse-perl (0.16-1) ... Setting up libnet-ssleay-perl:amd64 (1.94-2) ... Setting up automake (1:1.16.5-1.3) ... update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.14.0-1) ... Setting up libllvm19:amd64 (1:19.1.3-2) ... Setting up libhttp-date-perl (6.06-1) ... Setting up libtest-mockobject-perl (1.20200122-4) ... Setting up libsuper-perl (1.20190531-1) ... Setting up gettext (0.22.5-2) ... Setting up libossp-uuid-perl (1.6.3-1) ... Setting up libfile-listing-perl (6.16-1) ... Setting up libclang1-19 (1:19.1.3-2) ... Setting up libcache-cache-perl (1.08-3) ... Setting up libtest-mockmodule-perl (0.178.0-1) ... Setting up liblog-message-simple-perl (0.10-3) ... Setting up libtool (2.4.7-8) ... Setting up liblist-moreutils-perl (0.430-2) ... Setting up libtype-tiny-perl (2.004000-1) ... Setting up libterm-progressbar-perl (2.23-1) ... Setting up libnet-http-perl (6.23-1) ... Setting up libio-all-perl (0.87-2) ... Setting up libclass-c3-perl (0.35-2) ... Setting up libgraph-perl (1:0.9729-1) ... Setting up libdevel-callchecker-perl:amd64 (0.009-1+b1) ... Setting up libldap-2.5-0:amd64 (2.5.18+dfsg-3+b1) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (20) ... Setting up libcache-fastmmap-perl (1.57-2+b4) ... Setting up ca-certificates (20240203) ... Updating certificates in /etc/ssl/certs... 146 added, 0 removed; done. Setting up libxml2-dev:amd64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Setting up libtest-exception-perl (0.43-3) ... Setting up libgssapi-krb5-2:amd64 (1.21.3-3) ... Setting up libdata-optlist-perl (0.114-1) ... Setting up libfile-share-perl (0.27-2) ... Setting up dh-strip-nondeterminism (1.14.0-1) ... Setting up libwww-robotrules-perl (6.02-1) ... Setting up groff-base (1.23.0-5) ... Setting up libhtml-parser-perl:amd64 (3.83-1+b1) ... Setting up libdbd-sqlite3-perl:amd64 (1.76-1) ... Setting up libmro-compat-perl (0.15-2) ... Setting up libio-socket-ssl-perl (2.089-1) ... Setting up libsub-exporter-perl (0.990-1) ... Setting up libclang-cpp19 (1:19.1.3-2) ... Setting up libhttp-message-perl (7.00-2) ... Setting up libhttp-negotiate-perl (6.01-2) ... Setting up libstatistics-descriptive-perl (3.0801-1) ... Setting up libzmq5:amd64 (4.3.5-1+b3) ... Setting up libterm-ui-perl (0.50-1) ... Setting up libhttp-cookies-perl (6.11-1) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up libhtml-tree-perl (5.07-3) ... Setting up libparams-classify-perl:amd64 (0.015-2+b4) ... Setting up libcurl3t64-gnutls:amd64 (8.11.0-1) ... Setting up libnorm-dev:amd64 (1.5.9+dfsg-3.1+b1) ... Setting up man-db (2.13.0-1) ... Not building database; man-db/auto-update is not 'true'. Setting up libmodule-runtime-perl (0.016-2) ... Setting up libgssrpc4t64:amd64 (1.21.3-3) ... Setting up git (1:2.45.2-1) ... Setting up libgit-wrapper-perl (0.048-2) ... Setting up doxygen-doxyparse (1.9.8+ds-2+b3) ... Setting up libstring-rewriteprefix-perl (0.009-1) ... Setting up libkadm5clnt-mit12:amd64 (1.21.3-3) ... Setting up libkdb5-10t64:amd64 (1.21.3-3) ... Setting up libmodule-implementation-perl (0.09-2) ... Setting up libpackage-stash-perl (0.40-1) ... Setting up libimport-into-perl (1.002005-2) ... Setting up libmoo-perl (2.005005-1) ... Setting up libdata-perl-perl (0.002011-2) ... Setting up libtest-class-perl (0.52-1) ... Setting up debhelper (13.20) ... Setting up libclass-load-perl (0.25-2) ... Setting up libkadm5srv-mit12:amd64 (1.21.3-3) ... Setting up libmoox-types-mooselike-perl (0.29-2) ... Setting up libparams-validate-perl:amd64 (1.31-2+b3) ... Setting up libb-hooks-endofscope-perl (0.28-1) ... Setting up libmoox-handlesvia-perl (0.001009-2) ... Setting up krb5-multidev:amd64 (1.21.3-3) ... Setting up libcucumber-tagexpressions-perl (6.1.0-1) ... Setting up libkrb5-dev:amd64 (1.21.3-3) ... Setting up libtest-bdd-cucumber-perl (0.86-1) ... Setting up libnamespace-clean-perl (0.27-2) ... Setting up libmoox-types-mooselike-numeric-perl (1.03-2) ... Setting up libgetopt-long-descriptive-perl (0.115-1) ... Setting up libzmq3-dev:amd64 (4.3.5-1+b3) ... Setting up libapp-cmd-perl (0.336-1) ... Setting up libchi-perl (0.61-1) ... Setting up libzmq-ffi-perl (1.19-1) ... Setting up liblwp-protocol-https-perl (6.14-1) ... Setting up libwww-perl (6.77-1) ... Setting up libxml-parser-perl (2.47-1+b3) ... Setting up libgraph-readwrite-perl (2.10-1) ... Processing triggers for libc-bin (2.40-3) ... Processing triggers for ca-certificates (20240203) ... Updating certificates in /etc/ssl/certs... 0 added, 0 removed; done. Running hooks in /etc/ca-certificates/update.d... done. Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Writing extended state information... Building tag database... -> Finished parsing the build-deps I: Building the package I: Running cd /build/reproducible-path/analizo-1.25.5/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../analizo_1.25.5-1_source.changes dpkg-buildpackage: info: source package analizo dpkg-buildpackage: info: source version 1.25.5-1 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by gregor herrmann dpkg-source --before-build . dpkg-buildpackage: info: host architecture amd64 debian/rules clean dh clean dh_clean debian/rules binary dh binary dh_update_autotools_config dh_autoreconf dh_auto_configure /usr/bin/perl Makefile.PL INSTALLDIRS=vendor "OPTIMIZE=-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/analizo-1.25.5=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2" "LD=x86_64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/analizo-1.25.5=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wl,-z,relro" Warning: prerequisite Alien::Doxyparse 0.17 not found. Warning: prerequisite Test::Spelling 0 not found. Warning: prerequisite local::lib 0 not found. Checking if your kit is complete... Looks good Generating a Unix-style Makefile Writing Makefile for Analizo Writing MYMETA.yml and MYMETA.json dh_auto_build make -j42 make[1]: Entering directory '/build/reproducible-path/analizo-1.25.5' cp share/README blib/lib/auto/share/dist/Analizo/README cp share/bash-completion/analizo blib/lib/auto/share/dist/Analizo/bash-completion/analizo cp lib/Analizo/GlobalMetric/ChangeCost.pm blib/lib/Analizo/GlobalMetric/ChangeCost.pm cp lib/Analizo/GlobalMetric/MethodsPerAbstractClass.pm blib/lib/Analizo/GlobalMetric/MethodsPerAbstractClass.pm cp lib/Analizo/Batch/Job.pm blib/lib/Analizo/Batch/Job.pm cp lib/Analizo/Batch/Runner/Parallel.pm blib/lib/Analizo/Batch/Runner/Parallel.pm cp lib/Analizo/Batch/Output/DB.pm blib/lib/Analizo/Batch/Output/DB.pm cp lib/Analizo/Command/metrics_batch.pm blib/lib/Analizo/Command/metrics_batch.pm cp lib/Analizo/Batch/Output/CSV.pm blib/lib/Analizo/Batch/Output/CSV.pm cp lib/Analizo/GlobalMetrics.pm blib/lib/Analizo/GlobalMetrics.pm cp lib/Analizo/Command/tree_evolution.pm blib/lib/Analizo/Command/tree_evolution.pm cp lib/Analizo/GlobalMetric/TotalAbstractClasses.pm blib/lib/Analizo/GlobalMetric/TotalAbstractClasses.pm cp lib/Analizo/Batch/Git.pm blib/lib/Analizo/Batch/Git.pm cp lib/Analizo/Metric/AverageNumberOfParameters.pm blib/lib/Analizo/Metric/AverageNumberOfParameters.pm cp lib/Analizo/Batch.pm blib/lib/Analizo/Batch.pm cp lib/Analizo/Command/help.pm blib/lib/Analizo/Command/help.pm cp lib/Analizo/Batch/Runner/Sequential.pm blib/lib/Analizo/Batch/Runner/Sequential.pm cp lib/Analizo/Filter/Client.pm blib/lib/Analizo/Filter/Client.pm cp lib/Analizo/Batch/Job/Directories.pm blib/lib/Analizo/Batch/Job/Directories.pm cp lib/Analizo/Command.pm blib/lib/Analizo/Command.pm cp lib/Analizo/Command/metrics.pm blib/lib/Analizo/Command/metrics.pm cp lib/Analizo.pm blib/lib/Analizo.pm cp lib/Analizo/Batch/Runner.pm blib/lib/Analizo/Batch/Runner.pm cp lib/Analizo/Batch/Job/Git.pm blib/lib/Analizo/Batch/Job/Git.pm cp lib/Analizo/Batch/Output.pm blib/lib/Analizo/Batch/Output.pm cp lib/Analizo/Command/metrics_history.pm blib/lib/Analizo/Command/metrics_history.pm cp lib/Analizo/Metric/AverageMethodLinesOfCode.pm blib/lib/Analizo/Metric/AverageMethodLinesOfCode.pm cp lib/Analizo/Extractor.pm blib/lib/Analizo/Extractor.pm cp lib/Analizo/Extractor/Doxyparse.pm blib/lib/Analizo/Extractor/Doxyparse.pm cp lib/Analizo/Command/graph.pm blib/lib/Analizo/Command/graph.pm cp lib/Analizo/Metric/AverageCycloComplexity.pm blib/lib/Analizo/Metric/AverageCycloComplexity.pm cp lib/Analizo/Batch/Directories.pm blib/lib/Analizo/Batch/Directories.pm cp lib/Analizo/FilenameFilter.pm blib/lib/Analizo/FilenameFilter.pm cp lib/Analizo/LanguageFilter.pm blib/lib/Analizo/LanguageFilter.pm cp lib/Analizo/Command/files_graph.pm blib/lib/Analizo/Command/files_graph.pm cp lib/Analizo/Metric/AfferentConnections.pm blib/lib/Analizo/Metric/AfferentConnections.pm cp lib/Analizo/Metric/MaximumMethodLinesOfCode.pm blib/lib/Analizo/Metric/MaximumMethodLinesOfCode.pm cp lib/Analizo/Metric/DepthOfInheritanceTree.pm blib/lib/Analizo/Metric/DepthOfInheritanceTree.pm cp lib/Test/Analizo/Class.pm blib/lib/Test/Analizo/Class.pm cp lib/Analizo/Metric/CouplingBetweenObjects.pm blib/lib/Analizo/Metric/CouplingBetweenObjects.pm cp lib/Analizo/ModuleMetrics.pm blib/lib/Analizo/ModuleMetrics.pm cp lib/Analizo/Metric/NumberOfMethods.pm blib/lib/Analizo/Metric/NumberOfMethods.pm cp lib/Analizo/Metric/NumberOfChildren.pm blib/lib/Analizo/Metric/NumberOfChildren.pm cp lib/Analizo/Metric/StructuralComplexity.pm blib/lib/Analizo/Metric/StructuralComplexity.pm cp lib/Analizo/Metric/LackOfCohesionOfMethods.pm blib/lib/Analizo/Metric/LackOfCohesionOfMethods.pm cp lib/Analizo/Metric/NumberOfAttributes.pm blib/lib/Analizo/Metric/NumberOfAttributes.pm cp lib/Test/Analizo/BDD/Cucumber/Extension.pm blib/lib/Test/Analizo/BDD/Cucumber/Extension.pm cp lib/Test/Analizo.pm blib/lib/Test/Analizo.pm cp lib/Test/Analizo/Git.pm blib/lib/Test/Analizo/Git.pm cp lib/Analizo/Metrics.pm blib/lib/Analizo/Metrics.pm cp lib/Analizo/Metric/LinesOfCode.pm blib/lib/Analizo/Metric/LinesOfCode.pm cp lib/Analizo/Model.pm blib/lib/Analizo/Model.pm cp lib/Analizo/Metric/NumberOfPublicAttributes.pm blib/lib/Analizo/Metric/NumberOfPublicAttributes.pm cp lib/Analizo/Metric/NumberOfPublicMethods.pm blib/lib/Analizo/Metric/NumberOfPublicMethods.pm cp lib/Analizo/Metric/ResponseForClass.pm blib/lib/Analizo/Metric/ResponseForClass.pm cp lib/Analizo/ModuleMetric.pm blib/lib/Analizo/ModuleMetric.pm cp profile.pl blib/lib/profile.pl cp bin/analizo blib/script/analizo "/usr/bin/perl" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/analizo Manifying 26 pod documents make[1]: Leaving directory '/build/reproducible-path/analizo-1.25.5' dh_auto_test make -j42 test TEST_VERBOSE=1 make[1]: Entering directory '/build/reproducible-path/analizo-1.25.5' Skip blib/lib/auto/share/dist/Analizo/README (unchanged) Skip blib/lib/auto/share/dist/Analizo/bash-completion/analizo (unchanged) PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib/lib', 'blib/arch')" t/*.t t/Analizo/*.t t/Analizo/Batch/*.t t/Analizo/Batch/Job/*.t t/Analizo/Batch/Output/*.t t/Analizo/Batch/Runner/*.t t/Analizo/Command/*.t t/Analizo/Extractor/*.t t/Analizo/GlobalMetric/*.t t/Analizo/Metric/*.t t/Analizo/Metric/AfferentConnections/*.t # # t::Analizo->constructor # # t::Analizo->empty_array_for_command_with_no_options # # t::Analizo->empty_hash_when_no_config_file # # t::Analizo->load_command_options # # t::Analizo->load_config_file t/Analizo.t .............................................................. ok 1 - use Analizo; ok 2 - An object of class 'Analizo' isa 'Analizo' ok 3 - An object of class 'Analizo' isa 'App::Cmd' ok 4 - empty array for command with no options ok 5 - empty hash when no config file ok 6 - load command options ok 7 - load config file 1..7 ok # # t::Analizo::Batch->constructor # # t::Analizo::Batch->count # # t::Analizo::Batch->next # # t::Analizo::Batch->pass_filters_forward t/Analizo/Batch.t ........................................................ ok 1 - An object of class 'Analizo::Batch' isa 'Analizo::Batch' ok 2 - Analizo::Batch->can('count') ok 3 - Analizo::Batch->can('next') ok 4 - next ok 5 - must pass filters into job 1..5 ok # # t::Analizo::Batch::Directories->count # # t::Analizo::Batch::Directories->create_with_arguments # # t::Analizo::Batch::Directories->create_with_bad_arguments # # t::Analizo::Batch::Directories->create_with_no_arguments # # t::Analizo::Batch::Directories->deliver_jobs # # t::Analizo::Batch::Directories->expose_list_of_dirs t/Analizo/Batch/Directories.t ............................................ ok 1 - count ok 2 - create with arguments ok 3 - create with bad arguments ok 4 - create with no arguments ok 5 - deliver jobs ok 6 - deliver jobs ok 7 - deliver jobs ok 8 - Analizo::Batch::Directories->can('directories') 1..8 ok # # t::Analizo::Batch::Git->constructor # # t::Analizo::Batch::Git->count # # t::Analizo::Batch::Git->create_with_and_without_args # # t::Analizo::Batch::Git->default_filter # # t::Analizo::Batch::Git->find_commit # # t::Analizo::Batch::Git->traverse_repository t/Analizo/Batch/Git.t .................................................... ok 1 - An object of class 'Analizo::Batch::Git' isa 'Analizo::Batch::Git' ok 2 - count ok 3 - create with and without args ok 4 - create with and without args ok 5 - create with and without args ok 6 - create with and without args ok 7 - must not analyze commit containing only (input.cc) ok 8 - must not analyze commit containing only (prog.cc) ok 9 - must not analyze commit containing only (prog.cc) ok 10 - must not analyze commit containing only (prog.cc) ok 11 - must not analyze commit containing only (prog.cc,output.cc,output.h) ok 12 - must not analyze commit containing only (prog.cc,input.h,input.cc) ok 13 - must not analyze commit containing only (prog.cc) ok 14 - find commit ok 15 - An object of class 'Analizo::Batch::Job::Git' isa 'Analizo::Batch::Job::Git' ok 16 - find commit ok 17 - main commit must be listed ok 18 - intermediate relevant commit must be listed ok 19 - intermediate IRRELEVANT commit must not be listed 1..19 ok # # t::Analizo::Batch::Job->before_execute # # t::Analizo::Batch::Job->cache_of_model_and_metrics # # t::Analizo::Batch::Job->constructor # # t::Analizo::Batch::Job->empty_metadata_by_default # # t::Analizo::Batch::Job->execute # # t::Analizo::Batch::Job->exposed_interface # # t::Analizo::Batch::Job->invalidates_cache_after_upgrade_version # # t::Analizo::Batch::Job->metadata_as_hash # # t::Analizo::Batch::Job->pass_filters_to_extractor # # t::Analizo::Batch::Job->project_name # # t::Analizo::Batch::Job->stores_cache_on_distinct_dirs_for_each_version # # t::Analizo::Batch::Job->tree_id t/Analizo/Batch/Job.t .................................................... ok 1 - before execute ok 2 - before execute ok 3 - use cache for model ok 4 - use cache for metrics ok 5 - cached model is the same ok 6 - cached metrics is the same ok 7 - An object of class 'Analizo::Batch::Job' isa 'Analizo::Batch::Job' ok 8 - empty metadata by default ok 9 - must call prepare() and cleanup() on execute ok 10 - An object of class 'Analizo::Model' isa 'Analizo::Model' ok 11 - An object of class 'Analizo::Metrics' isa 'Analizo::Metrics' ok 12 - An object of class 'Analizo::Model' isa 'Analizo::Model' ok 13 - must force metrics calculation during execute() bu calling $metrics->data() ok 14 - Analizo::Batch::Job->can(...) ok 15 - metrics values sucessfully retrievied from the cache ok 16 - values for metrics found on cache for same analizo version ok 17 - values for metrics should not found for other analizo version ok 18 - metadata as hash ok 19 - metadata as hash ok 20 - metadata as hash ok 21 - must pass filters to extractor object ok 22 - project name ok 23 - project name ok 24 - stores cache on distinct dirs for each version ok 25 - stores cache on distinct dirs for each version ok 26 - tree id 1..26 ok # # t::Analizo::Batch::Job::Directories->constructor # # t::Analizo::Batch::Job::Directories->prepare_and_cleanup t/Analizo/Batch/Job/Directories.t ........................................ ok 1 - An object of class 'Analizo::Batch::Job::Directories' isa 'Analizo::Batch::Job::Directories' ok 2 - constructor ok 3 - constructor ok 4 - must change dir in prepare() ok 5 - must change back dir in cleanup() 1..5 ok # # t::Analizo::Batch::Job::Git->changed_files # # t::Analizo::Batch::Job::Git->constructor # # t::Analizo::Batch::Job::Git->constructor_with_arguments # # t::Analizo::Batch::Job::Git->git_checkout_should_actually_checkout # # t::Analizo::Batch::Job::Git->merge_and_first_commit_detection # # t::Analizo::Batch::Job::Git->metadata # # t::Analizo::Batch::Job::Git->must_NOT_keep_a_reference_to_batch # # t::Analizo::Batch::Job::Git->parallelism_support # # t::Analizo::Batch::Job::Git->prepare_and_cleanup # # t::Analizo::Batch::Job::Git->previous_relevant # # t::Analizo::Batch::Job::Git->previous_relevant_with_parent_without_previous_relevant # # t::Analizo::Batch::Job::Git->previous_wanted # # t::Analizo::Batch::Job::Git->relevant_merge t/Analizo/Batch/Job/Git.t ................................................ ok 1 - changed files ok 2 - changed files ok 3 - changed files ok 4 - changed files ok 5 - An object of class 'Analizo::Batch::Job::Git' isa 'Analizo::Batch::Job::Git' ok 6 - constructor with arguments ok 7 - constructor with arguments ok 8 - constructor with arguments ok 9 - git checkout should actually checkout ok 10 - git checkout should actually checkout ok 11 - git checkout should actually checkout ok 12 - git checkout should actually checkout ok 13 - merge and first commit detection ok 14 - merge and first commit detection ok 15 - merge and first commit detection ok 16 - merge and first commit detection ok 17 - author name ok 18 - author name ok 19 - author name ok 20 - author email ok 21 - author email ok 22 - author email ok 23 - author date ok 24 - author date ok 25 - author date ok 26 - previous commit ok 27 - previous commit ok 28 - previous commit ok 29 - changed files ok 30 - changed files ok 31 - changed files ok 32 - metadata ok 33 - metadata ok 34 - metadata ok 35 - metadata ok 36 - metadata ok 37 - must not include non-code files in tree ok 38 - unexisting commit id ok 39 - unexisting commit id ok 40 - unexisting commit id ok 41 - must NOT keep a reference to batch ok 42 - parallelism support ok 43 - different work directory must be created ok 44 - content must be copied ok 45 - different work directory must be removed when parallel_cleanup is called. ok 46 - parallelism support must not mess with project name ok 47 - prepare must change dir ok 48 - cleanup must change cwd back ok 49 - cleanup must checkout given commit and go back to previous one ok 50 - previous relevant ok 51 - previous relevant ok 52 - previous relevant ok 53 - must return undef as previous_relevant when parent is a merge commit without any previous relevant commits ok 54 - previous wanted ok 55 - previous wanted ok 56 - relevant merge 1..56 ok # # t::Analizo::Batch::Output->constructor # # t::Analizo::Batch::Output->exposed_interface # # t::Analizo::Batch::Output->must_write_to_stdout_when_no_file_is_given # # t::Analizo::Batch::Output->not_require_metrics_by_default # # t::Analizo::Batch::Output->should_write_to_output_file t/Analizo/Batch/Output.t ................................................. ok 1 - An object of class 'Analizo::Batch::Output' isa 'Analizo::Batch::Output' ok 2 - Analizo::Batch::Output->can(...) ok 3 - must write to stdout when no file is given ok 4 - not require metrics by default ok 5 - output must be written to file ok 6 - must delegate actualy writing to subclasses 1..6 ok # # t::Analizo::Batch::Output::CSV->constructor # # t::Analizo::Batch::Output::CSV->job_metadata # # t::Analizo::Batch::Output::CSV->must_return_short_names_of_metrics # # t::Analizo::Batch::Output::CSV->must_write_hash_data_as_string # # t::Analizo::Batch::Output::CSV->must_write_list_data_as_string # # t::Analizo::Batch::Output::CSV->writing_data t/Analizo/Batch/Output/CSV.t ............................................. ok 1 - An object of class 'T::MO::E::a' isa 'Analizo::Batch::Output::CSV' ok 2 - must list metadata fields ok 3 - must include metadata values ok 4 - must list acc metric name ok 5 - must list accm metric name ok 6 - must list amloc metric name ok 7 - must list anpm metric name ok 8 - must write hash data as string ok 9 - must write list data as string ok 10 - must write data to output file ok 11 - first line must contain column names ok 12 - CSV output must not contain empty lines 1..12 ok # # t::Analizo::Batch::Output::DB->add_commit_and_developer_data # # t::Analizo::Batch::Output::DB->add_module_data_for_modules_changed_by_commit # # t::Analizo::Batch::Output::DB->add_project_data # # t::Analizo::Batch::Output::DB->basics # # t::Analizo::Batch::Output::DB->changed_added_module_versions # # t::Analizo::Batch::Output::DB->destination_database # # t::Analizo::Batch::Output::DB->files_with_multiple_modules # # t::Analizo::Batch::Output::DB->global_metrics # # t::Analizo::Batch::Output::DB->module_versions_with_the_same_id # # t::Analizo::Batch::Output::DB->numeric_autoincrement_pk # # t::Analizo::Batch::Output::DB->setting_up_a_database t/Analizo/Batch/Output/DB.t .............................................. ok 1 - [SELECT * FROM commits JOIN projects on (projects.id = commits.project_id) WHERE commits.id = 'XPTO'] returned 1 rows instead of exactly 1 ok 2 - [SELECT * FROM developers JOIN commits on (commits.developer_id = developers.id) WHERE developers.name = 'Jonh Doe' AND developers.email = 'jdoe@example.com' AND commits.id = 'XPTO'] returned 1 rows instead of exactly 1 ok 3 - [SELECT * FROM commits WHERE id = 'XPTO' AND previous_commit_id = 'PREVIOUS' AND date = '1313206352'] returned 1 rows instead of exactly 1 ok 4 - [SELECT * FROM modules JOIN projects ON (projects.id = modules.project_id) WHERE projects.name = 'animals' AND modules.name = 'Mammal'] returned 1 rows instead of exactly 1 ok 5 - [SELECT * FROM modules JOIN module_versions ON (module_versions.module_id = modules.id) JOIN commits_module_versions ON (commits_module_versions.module_version_id = module_versions.id) JOIN commits ON (commits_module_versions.commit_id = commits.id) WHERE commits.id = 'foo' AND modules.name = 'Mammal' AND module_versions.lcom4 >= 0 AND module_versions.cbo >= 0] returned 1 rows instead of exactly 1 ok 6 - [SELECT * FROM modules JOIN projects ON (projects.id = modules.project_id) WHERE projects.name = 'animals' AND modules.name = 'Dog'] returned 1 rows instead of exactly 1 ok 7 - [SELECT * FROM modules JOIN module_versions ON (module_versions.module_id = modules.id) JOIN commits_module_versions ON (commits_module_versions.module_version_id = module_versions.id) JOIN commits ON (commits_module_versions.commit_id = commits.id) WHERE commits.id = 'foo' AND modules.name = 'Dog' AND module_versions.lcom4 >= 0 AND module_versions.cbo >= 0] returned 1 rows instead of exactly 1 ok 8 - [SELECT * FROM module_versions JOIN commits_module_versions ON (module_versions.id = commits_module_versions.module_version_id) JOIN commits ON (commits.id = commits_module_versions.commit_id) WHERE commit_id = 'foo'] returned 3 rows instead of exactly 3 ok 9 - [SELECT * FROM modules JOIN module_versions ON (module_versions.module_id = modules.id) WHERE modules.name = 'Mammal' AND module_versions.id = '1111111111111111111111111111111111111111'] returned 1 rows instead of exactly 1 ok 10 - [SELECT * FROM modules JOIN module_versions ON (module_versions.module_id = modules.id) WHERE modules.name = 'Dog' AND module_versions.id = '452219454519b29aae2e135c470d97d9e234976b'] returned 1 rows instead of exactly 1 ok 11 - [select * from projects where name = 'niceproject'] returned 1 rows instead of exactly 1 ok 12 - [select * from projects where name = 'niceproject'] returned 1 rows instead of exactly 1 ok 13 - An object of class 'Analizo::Batch::Output::DB' isa 'Analizo::Batch::Output' ok 14 - An object of class 'Analizo::Batch::Output::DB' isa 'Analizo::Batch::Output::DB' ok 15 - [SELECT * FROM commits_module_versions WHERE commit_id = 'foo' AND module_version_id = '1111111111111111111111111111111111111111' AND modified AND NOT added] returned 1 rows instead of exactly 1 ok 16 - [SELECT * FROM commits_module_versions WHERE commit_id = 'foo' AND module_version_id = '452219454519b29aae2e135c470d97d9e234976b' AND added AND NOT modified] returned 1 rows instead of exactly 1 ok 17 - [SELECT * FROM commits_module_versions WHERE commit_id = 'foo' AND module_version_id = 'f676c6d81e63377edc2f9ec60b1bc2359b94606f' AND modified AND NOT added] returned 1 rows instead of exactly 1 ok 18 - use SQLite output by default ok 19 - use SQLite with a custom DB name ok 20 - destination database ok 21 - [SELECT * FROM modules] returned 3 rows instead of exactly 3 ok 22 - [SELECT * FROM commits where total_abstract_classes > 0] returned 1 rows instead of exactly 1 ok 23 - [SELECT * FROM module_versions WHERE id = '1111111111111111111111111111111111111111'] returned 2 rows instead of exactly 2 ok 24 - numeric autoincrement pk ok 25 - numeric autoincrement pk ok 26 - must create PROJECTS table ok 27 - must create COMMITS table ok 28 - must create DEVELOPERS table ok 29 - must create MODULES table ok 30 - must create MODULE_VERSIONS table ok 31 - must create COMMITS_MODULE_VERSIONS table 1..31 ok # # t::Analizo::Batch::Runner->interaction_with_output # # t::Analizo::Batch::Runner->interface # # t::Analizo::Batch::Runner->progress t/Analizo/Batch/Runner.t ................................................. ok 1 - must initialize output object ok 2 - must flush output object ok 3 - Analizo::Batch::Runner->can('run') ok 4 - Analizo::Batch::Runner->can('actually_run') ok 5 - progress ok 6 - progress ok 7 - progress 1..7 ok # # t::Analizo::Batch::Runner::Parallel->constuctor # # t::Analizo::Batch::Runner::Parallel->number_of_parallel_processes t/Analizo/Batch/Runner/Parallel.t ........................................ ok 1 - An object of class 'Analizo::Batch::Runner::Parallel' isa 'Analizo::Batch::Runner' ok 2 - An object of class 'Analizo::Batch::Runner::Parallel' isa 'Analizo::Batch::Runner::Parallel' ok 3 - number of parallel processes ok 4 - number of parallel processes 1..4 ok # # t::Analizo::Batch::Runner::Sequential->constructor # # t::Analizo::Batch::Runner::Sequential->empty_batch_wont_crash # # t::Analizo::Batch::Runner::Sequential->run t/Analizo/Batch/Runner/Sequential.t ...................................... ok 1 - An object of class 'Analizo::Batch::Runner::Sequential' isa 'Analizo::Batch::Runner' ok 2 - An object of class 'Analizo::Batch::Runner::Sequential' isa 'Analizo::Batch::Runner::Sequential' ok 3 - job1 must be executed ok 4 - job2 must be executed ok 5 - run ok 6 - output must be flushed exactly once 1..6 ok # # t::Analizo::Command->any_command_is_a_subclass_of_Analizo_Command # # t::Analizo::Command->execute_some_command # # t::Analizo::Command->executing_commands_with_version_argument_is_not_allowed # # t::Analizo::Command->version_information t/Analizo/Command.t ...................................................... ok 1 - use Analizo::Command; ok 2 - An object of class 't::Analizo::Command::fake' isa 'Analizo::Command' ok 3 - execute some command ok 4 - threw Regexp ((?^:Invalid option)) ok 5 - version information 1..5 ok # # t::Analizo::Command::files_graph->constructor # # t::Analizo::Command::files_graph->is_a_subclass_of_Analizo_Command t/Analizo/Command/files_graph.t .......................................... ok 1 - use Analizo::Command::files_graph; ok 2 - An object of class 'Analizo::Command::files_graph' isa 'Analizo::Command::files_graph' ok 3 - An object of class 'Analizo::Command::files_graph' isa 'Analizo::Command' 1..3 ok # # t::Analizo::Command::graph->constructor # # t::Analizo::Command::graph->is_a_subclass_of_Analizo_Command t/Analizo/Command/graph.t ................................................ ok 1 - use Analizo::Command::graph; ok 2 - An object of class 'Analizo::Command::graph' isa 'Analizo::Command::graph' ok 3 - An object of class 'Analizo::Command::graph' isa 'Analizo::Command' 1..3 ok # # t::Analizo::Command::help->constructor # # t::Analizo::Command::help->is_a_subclass_of_Analizo_Command t/Analizo/Command/help.t ................................................. ok 1 - use Analizo::Command::help; ok 2 - An object of class 'Analizo::Command::help' isa 'App::Cmd::Command::help' ok 3 - An object of class 'Analizo::Command::help' isa 'Analizo::Command' 1..3 ok # # t::Analizo::Command::metrics->constructor # # t::Analizo::Command::metrics->is_a_subclass_of_Analizo_Command t/Analizo/Command/metrics.t .............................................. ok 1 - use Analizo::Command::metrics; ok 2 - An object of class 'Analizo::Command::metrics' isa 'Analizo::Command::metrics' ok 3 - An object of class 'Analizo::Command::metrics' isa 'Analizo::Command' 1..3 ok # # t::Analizo::Command::metrics_batch->constructor # # t::Analizo::Command::metrics_batch->is_a_subclass_of_Analizo_Command t/Analizo/Command/metrics_batch.t ........................................ ok 1 - use Analizo::Command::metrics_batch; ok 2 - An object of class 'Analizo::Command::metrics_batch' isa 'Analizo::Command::metrics_batch' ok 3 - An object of class 'Analizo::Command::metrics_batch' isa 'Analizo::Command' 1..3 ok # # t::Analizo::Command::metrics_history->constructor # # t::Analizo::Command::metrics_history->is_a_subclass_of_Analizo_Command # # t::Analizo::Command::metrics_history->load_output_driver # # t::Analizo::Command::metrics_history->nil_for_unavaiable_output_driver # # t::Analizo::Command::metrics_history->output_driver t/Analizo/Command/metrics_history.t ...................................... ok 1 - use Analizo::Command::metrics_history; ok 2 - An object of class 'Analizo::Command::metrics_history' isa 'Analizo::Command::metrics_history' ok 3 - An object of class 'Analizo::Command::metrics_history' isa 'Analizo::Command' ok 4 - The class (or class-like) 'Analizo::Batch::Output::CSV' isa 'Analizo::Batch::Output::CSV' ok 5 - nil for unavaiable output driver ok 6 - output driver ok 7 - output driver 1..7 ok # # t::Analizo::Command::tree_evolution->constructor # # t::Analizo::Command::tree_evolution->is_a_subclass_of_Analizo_Command t/Analizo/Command/tree_evolution.t ....................................... ok 1 - use Analizo::Command::tree_evolution; ok 2 - An object of class 'Analizo::Command::tree_evolution' isa 'Analizo::Command::tree_evolution' ok 3 - An object of class 'Analizo::Command::tree_evolution' isa 'Analizo::Command' 1..3 ok # # t::Analizo::Extractor->constructor # # t::Analizo::Extractor->current_file # # t::Analizo::Extractor->current_file_plus_current_module # # t::Analizo::Extractor->current_module # # t::Analizo::Extractor->dont_allow_code_injection # # t::Analizo::Extractor->fail_when_load_invalid_extractor # # t::Analizo::Extractor->force_ignore_filter # # t::Analizo::Extractor->has_a_current_member # # t::Analizo::Extractor->has_filters # # t::Analizo::Extractor->load_doxyparse_extractor # # t::Analizo::Extractor->load_doxyparse_extractor_by_alias # # t::Analizo::Extractor->must_consider_only__supported_languages # # t::Analizo::Extractor->must_create_filters_for_excluded_dirs # # t::Analizo::Extractor->must_filter_input_with_language_filter # # t::Analizo::Extractor->must_not_exclude_everything_in_the_case_of_unexisting_excluded_dir # # t::Analizo::Extractor->must_not_ignore_filter_by_default # # t::Analizo::Extractor->must_not_process_files_in_excluded_dirs # # t::Analizo::Extractor->process_must_delegate_to_actually_process t/Analizo/Extractor.t .................................................... ok 1 - An object of class 'Analizo::Extractor' isa 'Analizo::Extractor' ok 2 - current file ok 3 - current file ok 4 - current file plus current module ok 5 - must be able to set the current module ok 6 - must be able to change the current module ok 7 - An object of class 'Analizo::Extractor::Doxyparse' isa 'Analizo::Extractor::Doxyparse' ok 8 - dont allow code injection ok 9 - fail when load invalid extractor ok 10 - force ignore filter ok 11 - Analizo::Extractor->can('current_member') ok 12 - Analizo::Extractor->can('filters') ok 13 - has filters ok 14 - has filters ok 15 - load doxyparse extractor ok 16 - An object of class 'Analizo::Extractor::Doxyparse' isa 'Analizo::Extractor::Doxyparse' ok 17 - load doxyparse extractor by alias ok 18 - must consider only supported languages ok 19 - must create filters for excluded dirs ok 20 - must create filters for excluded dirs ok 21 - must create filters for excluded dirs ok 22 - must filter input with language filter ok 23 - must not exclude everything in the case of unexisting excluded dir ok 24 - must not exclude everything in the case of unexisting excluded dir ok 25 - must not ignore filter by default ok 26 - must not process files in excluded dirs ok 27 - process must delegate to actually process 1..27 ok # # t::Analizo::Extractor::Doxyparse->constructor # # t::Analizo::Extractor::Doxyparse->current_file # # t::Analizo::Extractor::Doxyparse->current_file_strip_pwd # # t::Analizo::Extractor::Doxyparse->current_module # # t::Analizo::Extractor::Doxyparse->detect_abstract_class # # t::Analizo::Extractor::Doxyparse->detect_conditional_paths # # t::Analizo::Extractor::Doxyparse->detect_direct_function_calls # # t::Analizo::Extractor::Doxyparse->detect_function_declaration # # t::Analizo::Extractor::Doxyparse->detect_function_protection # # t::Analizo::Extractor::Doxyparse->detect_lines_of_code # # t::Analizo::Extractor::Doxyparse->detect_number_of_parameters # # t::Analizo::Extractor::Doxyparse->detect_variable_declaration # # t::Analizo::Extractor::Doxyparse->detect_variable_protection # # t::Analizo::Extractor::Doxyparse->detect_variable_uses # # t::Analizo::Extractor::Doxyparse->detects_multiple_inheritance_properly # # t::Analizo::Extractor::Doxyparse->has_a_model # # t::Analizo::Extractor::Doxyparse->inheritance # # t::Analizo::Extractor::Doxyparse->invalid_doxyparse_input # # t::Analizo::Extractor::Doxyparse->module_name_can_contain_spaces # # t::Analizo::Extractor::Doxyparse->reading_from_directories # # t::Analizo::Extractor::Doxyparse->reading_from_one_input_file # # t::Analizo::Extractor::Doxyparse->reading_from_some_input_files # # t::Analizo::Extractor::Doxyparse->use_full_filename_for_C_modules t/Analizo/Extractor/Doxyparse.t .......................................... ok 1 - use Analizo::Extractor::Doxyparse; ok 2 - An object of class 'Analizo::Extractor::Doxyparse' isa 'Analizo::Extractor::Doxyparse' ok 3 - An object of class 'Analizo::Extractor::Doxyparse' isa 'Analizo::Extractor' ok 4 - current file ok 5 - current file strip pwd ok 6 - must be able to set the current module ok 7 - must be able to change the current module ok 8 - extractor detects an abstract class ok 9 - detect conditional paths ok 10 - detect direct function calls ok 11 - detect direct function calls ok 12 - detect direct function calls ok 13 - detect function declaration ok 14 - must set the current function ok 15 - detect function declaration ok 16 - must set the current function again ok 17 - detect function declaration ok 18 - must set the current function one more time ok 19 - detect function protection ok 20 - detect function protection ok 21 - detect lines of code ok 22 - detect lines of code ok 23 - detect number of parameters ok 24 - detect variable declaration ok 25 - must not read variable declarations when reading the name of the current module ok 26 - detect variable declaration ok 27 - detect variable protection ok 28 - detect variable protection ok 29 - detect variable uses ok 30 - detect variable uses ok 31 - Bird inherits Animal ok 32 - detects multiple inheritance properly ok 33 - detects multiple inheritance properly ok 34 - detects multiple inheritance properly ok 35 - detects multiple inheritance properly ok 36 - multiple inheritance detected ok 37 - An object of class 'Analizo::Model' isa 'Analizo::Model' ok 38 - extractor detects inheritance ok 39 - invalid doxyparse input ok 40 - module name can contain spaces ok 41 - reading from directories ok 42 - reading from directories ok 43 - reading from directories ok 44 - reading from directories ok 45 - module1 has once member ok 46 - reading from one input file ok 47 - we have once module ok 48 - reading from one input file ok 49 - module1 and module2 has 3 members ok 50 - we have 2 modules ok 51 - reading from some input files ok 52 - reading from some input files ok 53 - use full filename for C modules ok 54 - use full filename for C modules 1..54 ok # # t::Analizo::FilenameFilter->constructor # # t::Analizo::FilenameFilter->excluder # # t::Analizo::FilenameFilter->must_match_filenames_with_or_without_leading_dot # # t::Analizo::FilenameFilter->null_object t/Analizo/FilenameFilter.t ............................................... ok 1 - An object of class 'Analizo::FilenameFilter' isa 'Analizo::FilenameFilter' ok 2 - An object of class 'Analizo::FilenameFilter' isa 'Analizo::FilenameFilter' ok 3 - excluder ok 4 - excluder ok 5 - excluder ok 6 - excluder ok 7 - excluder ok 8 - must match filenames with or without leading dot ok 9 - must match filenames with or without leading dot ok 10 - must match filenames with or without leading dot ok 11 - must match filenames with or without leading dot ok 12 - null object 1..12 ok # # t::Analizo::GlobalMetric::ChangeCost->calculate # # t::Analizo::GlobalMetric::ChangeCost->calculate_for_an_empty_callgraph # # t::Analizo::GlobalMetric::ChangeCost->description # # t::Analizo::GlobalMetric::ChangeCost->has_model t/Analizo/GlobalMetric/ChangeCost.t ...................................... ok 1 - use Analizo::GlobalMetric::ChangeCost; ok 2 - calculate ok 3 - no change cost ok 4 - description ok 5 - has model 1..5 ok # # t::Analizo::GlobalMetric::MethodsPerAbstractClass->calculate # # t::Analizo::GlobalMetric::MethodsPerAbstractClass->description # # t::Analizo::GlobalMetric::MethodsPerAbstractClass->has_model # # t::Analizo::GlobalMetric::MethodsPerAbstractClass->use_package t/Analizo/GlobalMetric/MethodsPerAbstractClass.t ......................... ok 1 - no abstract classes ok 2 - no methods on abstract classes ok 3 - one methods on one abstract classes ok 4 - one methods on one abstract classes ok 5 - description ok 6 - has model ok 7 - use Analizo::GlobalMetric::MethodsPerAbstractClass; 1..7 ok # # t::Analizo::GlobalMetric::TotalAbstractClasses->calculate # # t::Analizo::GlobalMetric::TotalAbstractClasses->description # # t::Analizo::GlobalMetric::TotalAbstractClasses->has_model # # t::Analizo::GlobalMetric::TotalAbstractClasses->use_package t/Analizo/GlobalMetric/TotalAbstractClasses.t ............................ ok 1 - no abstract classes declared ok 2 - one abstract classes declared ok 3 - two abstract classes declared ok 4 - description ok 5 - has model ok 6 - use Analizo::GlobalMetric::TotalAbstractClasses; 1..6 ok # # t::Analizo::GlobalMetrics->add_lcom4_mean_when_there_were_two_added_values # # t::Analizo::GlobalMetrics->add_loc_mean_when_there_was_no_added_values # # t::Analizo::GlobalMetrics->add_loc_mean_when_there_was_one_added_values # # t::Analizo::GlobalMetrics->add_loc_mean_when_there_were_two_added_values # # t::Analizo::GlobalMetrics->add_rfc_sum_when_there_were_two_added_values # # t::Analizo::GlobalMetrics->constructor # # t::Analizo::GlobalMetrics->list_of_metrics # # t::Analizo::GlobalMetrics->metric_from_global_metrics_package # # t::Analizo::GlobalMetrics->model # # t::Analizo::GlobalMetrics->one_total_loc_found # # t::Analizo::GlobalMetrics->one_total_nom_found # # t::Analizo::GlobalMetrics->should_add_total_coupling_factor # # t::Analizo::GlobalMetrics->should_have_distributions_statistics # # t::Analizo::GlobalMetrics->should_have_other_descriptive_statistics # # t::Analizo::GlobalMetrics->should_ignore_filename # # t::Analizo::GlobalMetrics->should_ignore_module_name # # t::Analizo::GlobalMetrics->sum_the_values_of_loc_found # # t::Analizo::GlobalMetrics->sum_the_values_of_nom_found # # t::Analizo::GlobalMetrics->total_loc_with_no_loc_found # # t::Analizo::GlobalMetrics->total_modules # # t::Analizo::GlobalMetrics->total_modules_with_defined_attributes_when_a_module_has_no_noa # # t::Analizo::GlobalMetrics->total_modules_with_defined_attributes_when_a_module_has_noa # # t::Analizo::GlobalMetrics->total_modules_with_defined_attributes_when_no_modules_where_defined # # t::Analizo::GlobalMetrics->total_modules_with_defined_methods_when_a_module_has_no_nom # # t::Analizo::GlobalMetrics->total_modules_with_defined_methods_when_a_module_has_nom # # t::Analizo::GlobalMetrics->total_modules_with_defined_methods_when_no_modules_where_defined # # t::Analizo::GlobalMetrics->total_nom_with_no_nom_found t/Analizo/GlobalMetrics.t ................................................ ok 1 - add lcom4 mean when there were two added values ok 2 - add loc mean when there was no added values ok 3 - add loc mean when there was one added values ok 4 - add loc mean when there were two added values ok 5 - add rfc sum when there were two added values ok 6 - An object of class 'Analizo::GlobalMetrics' isa 'Analizo::GlobalMetrics' ok 7 - must list metrics ok 8 - 1 abstract class ok 9 - 1 method per abstract class ok 10 - model ok 11 - one total loc found ok 12 - one total nom found ok 13 - should add total coupling factor ok 14 - should add total coupling factor ok 15 - should have distributions statistics ok 16 - should have distributions statistics ok 17 - should have other descriptive statistics ok 18 - should have other descriptive statistics ok 19 - should have other descriptive statistics ok 20 - should have other descriptive statistics ok 21 - should have other descriptive statistics ok 22 - Should ignore _filename metrics ok 23 - should ignore module name ok 24 - sum the values of loc found ok 25 - sum the values of nom found ok 26 - total loc with no loc found ok 27 - total modules ok 28 - total modules ok 29 - total modules with defined attributes when a module has no noa ok 30 - total modules with defined attributes when a module has noa ok 31 - total modules with defined attributes when no modules where defined ok 32 - total modules with defined methods when a module has no nom ok 33 - total modules with defined methods when a module has nom ok 34 - total modules with defined methods when no modules where defined ok 35 - total nom with no nom found 1..35 ok # # t::Analizo::LanguageFilter->c_filter_matches_dot_c_and_dot_h # # t::Analizo::LanguageFilter->constructor # # t::Analizo::LanguageFilter->cpp_filter_matches_cpp_cc_cxx_hpp_h_hh # # t::Analizo::LanguageFilter->csharp_filter_matches_cs_only # # t::Analizo::LanguageFilter->java_filter_matches_java_only # # t::Analizo::LanguageFilter->list_languages # # t::Analizo::LanguageFilter->must_be_case_insensitive # # t::Analizo::LanguageFilter->null_object_matches_everything_that_is_supported t/Analizo/LanguageFilter.t ............................................... ok 1 - c filter matches dot c and dot h ok 2 - c filter matches dot c and dot h ok 3 - c filter matches dot c and dot h ok 4 - An object of class 'Analizo::LanguageFilter' isa 'Analizo::LanguageFilter' ok 5 - cpp filter matches cpp cc cxx hpp h hh ok 6 - cpp filter matches cpp cc cxx hpp h hh ok 7 - cpp filter matches cpp cc cxx hpp h hh ok 8 - cpp filter matches cpp cc cxx hpp h hh ok 9 - cpp filter matches cpp cc cxx hpp h hh ok 10 - cpp filter matches cpp cc cxx hpp h hh ok 11 - cpp filter matches cpp cc cxx hpp h hh ok 12 - cpp filter matches cpp cc cxx hpp h hh ok 13 - csharp filter matches cs only ok 14 - csharp filter matches cs only ok 15 - csharp filter matches cs only ok 16 - csharp filter matches cs only ok 17 - csharp filter matches cs only ok 18 - java filter matches java only ok 19 - java filter matches java only ok 20 - java filter matches java only ok 21 - java filter matches java only ok 22 - list languages ok 23 - list languages ok 24 - must be case insensitive ok 25 - must be case insensitive ok 26 - must be case insensitive ok 27 - must be case insensitive ok 28 - null object matches everything that is supported ok 29 - null object matches everything that is supported ok 30 - null object matches everything that is supported 1..30 ok # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsByInheritance->calculate_deeper_tree # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsByInheritance->calculate_deeper_tree_new_grandchild # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsByInheritance->calculate_first_degree_inheritance # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsByInheritance->calculate_multiple_childs # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsByInheritance->description # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsByInheritance->has_model # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsByInheritance->use_package t/Analizo/Metric/AfferentConnections/AfferentConnectionsByInheritance.t .. ok 1 - grandchilds acc is not affected ok 2 - grandchild extending a child counts ok 3 - the deeper the tree, the biggest acc ok 4 - grandchilds acc is not affected ok 5 - grandchild extending a child counts ok 6 - the deeper the tree, the biggest acc ok 7 - inheritance counts as acc to superclass ok 8 - inheritance does not count as acc to child ok 9 - multiple inheritance counts as acc ok 10 - inheritance does not count as acc to another child ok 11 - description ok 12 - has model ok 13 - use Analizo::Metric::AfferentConnections; 1..13 ok # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsByReference->calculate_adding_variable_of_another_module # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsByReference->calculate_calling_function_of_another_module # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsByReference->calculate_calling_itself_does_not_count # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsByReference->calculate_calling_module_twice # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsByReference->calculate_calling_variable_of_another_module # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsByReference->calculate_empty_acc # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsByReference->description # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsByReference->has_model # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsByReference->use_package t/Analizo/Metric/AfferentConnections/AfferentConnectionsByReference.t .... ok 1 - no calls to a module ok 2 - adding variable of another module ok 3 - no calls to a module ok 4 - calling function of another module ok 5 - calling itself does not count as acc ok 6 - calling module twice ok 7 - no calls to a module ok 8 - calling variable of another module ok 9 - no acc module A ok 10 - no acc module B ok 11 - no acc module C ok 12 - description ok 13 - has model ok 14 - use Analizo::Metric::AfferentConnections; 1..14 ok # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsComplete->calculate_inheritance_and_references # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsComplete->description # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsComplete->has_model # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsComplete->use_package t/Analizo/Metric/AfferentConnections/AfferentConnectionsComplete.t ....... ok 1 - deeper inheritance and reference counts as acc ok 2 - calls counts as acc to child ok 3 - inheritance counts as acc to mother ok 4 - have no inheritance neither calls to mother sister ok 5 - have no inheritance neither calls to friend ok 6 - description ok 7 - has model ok 8 - use Analizo::Metric::AfferentConnections; 1..8 ok # # t::Analizo::Metric::AverageCycloComplexity->calculate # # t::Analizo::Metric::AverageCycloComplexity->description # # t::Analizo::Metric::AverageCycloComplexity->has_model # # t::Analizo::Metric::AverageCycloComplexity->use_package t/Analizo/Metric/AverageCycloComplexity.t ................................ ok 1 - no function ok 2 - one function with two conditional paths ok 3 - two function with three average cyclomatic complexity per method ok 4 - description ok 5 - has model ok 6 - use Analizo::Metric::AverageCycloComplexity; 1..6 ok # # t::Analizo::Metric::AverageMethodLinesOfCode->calculate # # t::Analizo::Metric::AverageMethodLinesOfCode->description # # t::Analizo::Metric::AverageMethodLinesOfCode->has_model # # t::Analizo::Metric::AverageMethodLinesOfCode->use_package t/Analizo/Metric/AverageMethodLinesOfCode.t .............................. ok 1 - empty module has max loc 0 ok 2 - one module, with 10 loc, makes avg loc = 10 ok 3 - adding module with 5 loc makes the avg continue 10 ok 4 - description ok 5 - has model ok 6 - use Analizo::Metric::AverageMethodLinesOfCode; 1..6 ok # # t::Analizo::Metric::AverageNumberOfParameters->calculate # # t::Analizo::Metric::AverageNumberOfParameters->description # # t::Analizo::Metric::AverageNumberOfParameters->has_model # # t::Analizo::Metric::AverageNumberOfParameters->use_package t/Analizo/Metric/AverageNumberOfParameters.t ............................. ok 1 - no parameters declared ok 2 - one function with one parameter ok 3 - description ok 4 - has model ok 5 - use Analizo::Metric::AverageNumberOfParameters; 1..5 ok # # t::Analizo::Metric::CouplingBetweenObjects->calculate # # t::Analizo::Metric::CouplingBetweenObjects->description # # t::Analizo::Metric::CouplingBetweenObjects->discard_external_symbols_for_calculate # # t::Analizo::Metric::CouplingBetweenObjects->has_model # # t::Analizo::Metric::CouplingBetweenObjects->use_package t/Analizo/Metric/CouplingBetweenObjects.t ................................ ok 1 - no cbo ok 2 - calling itself does not count as cbo ok 3 - calling a single other module ok 4 - calling two function in distinct modules ok 5 - calling two different functions in the same module ok 6 - description ok 7 - calling a external function ok 8 - has model ok 9 - use Analizo::Metric::CouplingBetweenObjects; 1..9 ok # # t::Analizo::Metric::DepthOfInheritanceTree->calculate # # t::Analizo::Metric::DepthOfInheritanceTree->calculate_with_multiple_inheritance # # t::Analizo::Metric::DepthOfInheritanceTree->description # # t::Analizo::Metric::DepthOfInheritanceTree->has_model # # t::Analizo::Metric::DepthOfInheritanceTree->use_package t/Analizo/Metric/DepthOfInheritanceTree.t ................................ ok 1 - DIT = 2 ok 2 - DIT = 1 ok 3 - DIT = 0 ok 4 - with multiple inheritance take the larger DIT between the parents ok 5 - has model ok 6 - use Analizo::Metric::DepthOfInheritanceTree; 1..6 ok # # t::Analizo::Metric::LackOfCohesionOfMethods->calculate # # t::Analizo::Metric::LackOfCohesionOfMethods->calculate_2 # # t::Analizo::Metric::LackOfCohesionOfMethods->calculate_3 # # t::Analizo::Metric::LackOfCohesionOfMethods->description # # t::Analizo::Metric::LackOfCohesionOfMethods->has_model # # t::Analizo::Metric::LackOfCohesionOfMethods->use_package t/Analizo/Metric/LackOfCohesionOfMethods.t ............................... ok 1 - two unrelated functions ok 2 - two cohesive functions ok 3 - two different usage components ok 4 - three different usage components ok 5 - different types of connections ok 6 - functions outside the module don't count for LCOM4 ok 7 - description ok 8 - has model ok 9 - use Analizo::Metric::LackOfCohesionOfMethods; 1..9 ok # # t::Analizo::Metric::LinesOfCode->calculate # # t::Analizo::Metric::LinesOfCode->description # # t::Analizo::Metric::LinesOfCode->has_model # # t::Analizo::Metric::LinesOfCode->use_package t/Analizo/Metric/LinesOfCode.t ........................................... ok 1 - empty module has 0 loc ok 2 - one module, with 10 loc ok 3 - adding another module with 20 loc makes the total equal 30 ok 4 - description ok 5 - has model ok 6 - use Analizo::Metric::LinesOfCode; 1..6 ok # # t::Analizo::Metric::MaximumMethodLinesOfCode->calculate # # t::Analizo::Metric::MaximumMethodLinesOfCode->description # # t::Analizo::Metric::MaximumMethodLinesOfCode->has_model # # t::Analizo::Metric::MaximumMethodLinesOfCode->use_package t/Analizo/Metric/MaximumMethodLinesOfCode.t .............................. ok 1 - empty module has max loc 0 ok 2 - one module, with 10 loc, makes max loc = 10 ok 3 - adding module with 5 loc makes the max continue 10 ok 4 - description ok 5 - has model ok 6 - use Analizo::Metric::MaximumMethodLinesOfCode; 1..6 ok # # t::Analizo::Metric::NumberOfAttributes->calculate # # t::Analizo::Metric::NumberOfAttributes->description # # t::Analizo::Metric::NumberOfAttributes->has_model # # t::Analizo::Metric::NumberOfAttributes->use_package t/Analizo/Metric/NumberOfAttributes.t .................................... ok 1 - empty modules have no attributes ok 2 - module with one defined attribute ok 3 - module with two defined attribute ok 4 - description ok 5 - has model ok 6 - use Analizo::Metric::NumberOfAttributes; 1..6 ok # # t::Analizo::Metric::NumberOfChildren->calculate # # t::Analizo::Metric::NumberOfChildren->description # # t::Analizo::Metric::NumberOfChildren->has_model # # t::Analizo::Metric::NumberOfChildren->use_package t/Analizo/Metric/NumberOfChildren.t ...................................... ok 1 - no children module A ok 2 - no children module B ok 3 - no children module C ok 4 - one child module A ok 5 - no children module B ok 6 - two children module A ok 7 - no children module C ok 8 - two children module A ok 9 - one child module C ok 10 - no children module D ok 11 - description ok 12 - has model ok 13 - use Analizo::Metric::NumberOfChildren; 1..13 ok # # t::Analizo::Metric::NumberOfMethods->calculate # # t::Analizo::Metric::NumberOfMethods->description # # t::Analizo::Metric::NumberOfMethods->has_model # # t::Analizo::Metric::NumberOfMethods->use_package t/Analizo/Metric/NumberOfMethods.t ....................................... ok 1 - empty modules have no functions ok 2 - module with just one function has number of functions = 1 ok 3 - module with just two functions has number of functions = 2 ok 4 - description ok 5 - has model ok 6 - use Analizo::Metric::NumberOfMethods; 1..6 ok # # t::Analizo::Metric::NumberOfPublicAttributes->calculate # # t::Analizo::Metric::NumberOfPublicAttributes->description # # t::Analizo::Metric::NumberOfPublicAttributes->has_model # # t::Analizo::Metric::NumberOfPublicAttributes->use_package t/Analizo/Metric/NumberOfPublicAttributes.t .............................. ok 1 - empty modules have 0 public attributes ok 2 - one public attribute added ok 3 - another public attribute added ok 4 - not public attribute added ok 5 - description ok 6 - has model ok 7 - use Analizo::Metric::NumberOfPublicAttributes; 1..7 ok # # t::Analizo::Metric::NumberOfPublicMethods->calculate # # t::Analizo::Metric::NumberOfPublicMethods->description # # t::Analizo::Metric::NumberOfPublicMethods->has_model # # t::Analizo::Metric::NumberOfPublicMethods->use_package t/Analizo/Metric/NumberOfPublicMethods.t ................................. ok 1 - empty modules have 0 public functions ok 2 - one public function added ok 3 - another public function added ok 4 - not public function added ok 5 - description ok 6 - has model ok 7 - use Analizo::Metric::NumberOfPublicMethods; 1..7 ok # # t::Analizo::Metric::ResponseForClass->calculate # # t::Analizo::Metric::ResponseForClass->description # # t::Analizo::Metric::ResponseForClass->has_model # # t::Analizo::Metric::ResponseForClass->use_package t/Analizo/Metric/ResponseForClass.t ...................................... ok 1 - no functions declared on the module ok 2 - one function declared on the module ok 3 - two functions declared on the module ok 4 - two functions and one call declared on the module ok 5 - two functions and two calls declared on the module ok 6 - description ok 7 - has model ok 8 - use Analizo::Metric::ResponseForClass; 1..8 ok # # t::Analizo::Metric::StructuralComplexity->description # # t::Analizo::Metric::StructuralComplexity->has_model # # t::Analizo::Metric::StructuralComplexity->sc_definition # # t::Analizo::Metric::StructuralComplexity->sc_implementation # # t::Analizo::Metric::StructuralComplexity->use_package t/Analizo/Metric/StructuralComplexity.t .................................. ok 1 - description ok 2 - has model ok 3 - sc definition ok 4 - sc implementation ok 5 - sc implementation ok 6 - sc implementation ok 7 - use Analizo::Metric::StructuralComplexity; 1..7 ok # # t::Analizo::Metrics->constructor # # t::Analizo::Metrics->list_of_metrics # # t::Analizo::Metrics->metrics_for # # t::Analizo::Metrics->model # # t::Analizo::Metrics->report # # t::Analizo::Metrics->report_global_only # # t::Analizo::Metrics->report_without_modules_at_all t/Analizo/Metrics.t ...................................................... ok 1 - An object of class 'Analizo::Metrics' isa 'Analizo::Metrics' ok 2 - must list metrics ok 3 - metrics for ok 4 - metrics for ok 5 - Analizo::Metrics->can('model') ok 6 - model ok 7 - reporting number of classes in YAML stream ok 8 - reporting module 1 ok 9 - reporting module 2 ok 10 - reporting number of classes (it is global) ok 11 - not reporting module 1 details ok 12 - not reporting module 2 details 1..12 ok # # t::Analizo::Model->addding_variable_uses # # t::Analizo::Model->adding_abstract_class # # t::Analizo::Model->adding_calls # # t::Analizo::Model->build_graphs_from_funcion_calls_and_inheritance # # t::Analizo::Model->build_graphs_from_function_calls # # t::Analizo::Model->build_graphs_from_inheritance # # t::Analizo::Model->constructor # # t::Analizo::Model->declaring_function # # t::Analizo::Model->declaring_inheritance # # t::Analizo::Model->declaring_modules # # t::Analizo::Model->declaring_modules_with_files # # t::Analizo::Model->declaring_number_of_conditional_paths # # t::Analizo::Model->declaring_protection # # t::Analizo::Model->declaring_variables # # t::Analizo::Model->declating_lines_of_code # # t::Analizo::Model->empty_call_graph # # t::Analizo::Model->empty_object # # t::Analizo::Model->group_files_when_build_graphs # # t::Analizo::Model->groupping_by_module # # t::Analizo::Model->including_external_functions # # t::Analizo::Model->indirect_calls # # t::Analizo::Model->listing_calls # # t::Analizo::Model->listing_only_defined_functions # # t::Analizo::Model->listing_two_calls # # t::Analizo::Model->ommiting_functions # # t::Analizo::Model->querying_functions # # t::Analizo::Model->querying_members # # t::Analizo::Model->querying_variables # # t::Analizo::Model->retrieving_modules_by_file # # t::Analizo::Model->use_file_as_vertices_in_graphs # # t::Analizo::Model->use_of_variables t/Analizo/Model.t ........................................................ ok 1 - must register variable use ok 2 - model detects an abstract class ok 3 - must register function call ok 4 - build graphs from funcion calls and inheritance ok 5 - build graphs from funcion calls and inheritance ok 6 - build graphs from function calls ok 7 - build graphs from function calls ok 8 - build graphs from inheritance ok 9 - build graphs from inheritance ok 10 - An object of class 'Analizo::Model' isa 'Analizo::Model' ok 11 - declared function must be stored ok 12 - must map function to module ok 13 - declaring a function must declare its module ok 14 - must store members in a module ok 15 - another declared function must be stored ok 16 - must map another function to module ok 17 - declaring a another function must declare its module ok 18 - must store members in a module ok 19 - class with one superclass ok 20 - class with two superclasses ok 21 - declaring modules ok 22 - declaring modules ok 23 - declaring modules with files ok 24 - declaring number of conditional paths ok 25 - declaring protection ok 26 - declared variable must be stored ok 27 - must map variable to module ok 28 - declaring a variable must declare its module ok 29 - must store variable in a module ok 30 - declating lines of code ok 31 - empty output must give empty digraph ok 32 - 'must have modules' isa 'HASH' ok 33 - 'must have members' isa 'HASH' ok 34 - group files when build graphs ok 35 - group files when build graphs ok 36 - must list correctly a single dependency arrow between two modules ok 37 - must list arrow targets in lexicographic order ok 38 - must list arrow sources in in lexicographic order ok 39 - must be able to omit a called function ok 40 - must register indirect call ok 41 - must generate correctly a graph with one call ok 42 - must include by default only functions inside the project ok 43 - must generate correctly a graph with f1 -> f2, f1 -> f3 ok 44 - must be able to omit a called function ok 45 - must be able to omit a caller function ok 46 - must list f1 in functions ok 47 - must list f2 in functions ok 48 - must list f1 in functions ok 49 - must list f2 in functions ok 50 - must list v1 in variables ok 51 - must list v2 in variables ok 52 - must list v1 in variables ok 53 - must list v2 in variables ok 54 - retrieving modules by file ok 55 - retrieving modules by file ok 56 - use file as vertices in graphs ok 57 - use file as vertices in graphs ok 58 - must output declared variables ok 59 - must use variable information for inter-module dependencies 1..59 ok # # t::Analizo::ModuleMetric->caches_calculate_results t/Analizo/ModuleMetric.t ................................................. ok 1 - caches calculate results 1..1 ok # # t::Analizo::ModuleMetrics->constructor # # t::Analizo::ModuleMetrics->list_of_metrics # # t::Analizo::ModuleMetrics->metrics_of_module t/Analizo/ModuleMetrics.t ................................................ ok 1 - An object of class 'Analizo::ModuleMetrics' isa 'Analizo::ModuleMetrics' ok 2 - must list metrics ok 3 - metrics of module ok 4 - metrics of module ok 5 - metrics of module ok 6 - metrics of module ok 7 - metrics of module 1..7 ok t/author-pod-spell.t ..................................................... skipped: these tests are for testing by the author t/author-pod-syntax.t .................................................... skipped: these tests are for testing by the author t/features.t ............................................................. # Feature c code with void argument # As a software engineering reasearcher I want to know the arguments of each function on a project So that I can run analizo metrics calculate number of parameters # Scenario calculate anpn on function with void argument ok 1 - Given I am in t/samples/void/ # ok 2 - When I run "analizo metrics ." # ok 3 - Then analizo must report that module main has anpm = 0 # # Feature loading command line options from .analizo # As a analizo user I want to store command line options in a file called .analizo inside my project So that I don't need to alway pass all those options on the command line # Scenario analizo metrics ok 4 - Given I copy t/samples/mixed into a temporary directory # ok 5 - And I create a file called .analizo with the following content # """metrics: --language java""" ok 6 - When I run "analizo metrics ." # ok 7 - Then the output must not match "native_backend.c" # ok 8 - And the output must match "UI.java" # ok 9 - And the exit status must be 0 # # Scenario all others ok 10 - Given I change to an empty temporary directory # ok 11 - And I create a file called .analizo with the following content # """: --help""" ok 12 - When I run "analizo graph" # ok 13 - Then the output must match "analizo graph is part of the analizo suite." # # Scenario all others ok 14 - Given I change to an empty temporary directory # ok 15 - And I create a file called .analizo with the following content # """: --help""" ok 16 - When I run "analizo metrics" # ok 17 - Then the output must match "analizo metrics is part of the analizo suite." # # Scenario all others ok 18 - Given I change to an empty temporary directory # ok 19 - And I create a file called .analizo with the following content # """: --help""" ok 20 - When I run "analizo metrics-batch" # ok 21 - Then the output must match "analizo metrics-batch is part of the analizo suite." # # Scenario all others ok 22 - Given I change to an empty temporary directory # ok 23 - And I create a file called .analizo with the following content # """: --help""" ok 24 - When I run "analizo metrics-history" # ok 25 - Then the output must match "analizo metrics-history is part of the analizo suite." # # Scenario all others ok 26 - Given I change to an empty temporary directory # ok 27 - And I create a file called .analizo with the following content # """: --help""" ok 28 - When I run "analizo tree-evolution" # ok 29 - Then the output must match "analizo tree-evolution is part of the analizo suite." # # Scenario all others ok 30 - Given I change to an empty temporary directory # ok 31 - And I create a file called .analizo with the following content # """: --help""" ok 32 - When I run "analizo files-graph" # ok 33 - Then the output must match "analizo files-graph is part of the analizo suite." # # Scenario all others ok 34 - Given I change to an empty temporary directory # ok 35 - And I create a file called .analizo with the following content # """: --help""" ok 36 - When I run "analizo help" # ok 37 - Then the output must match "analizo help is part of the analizo suite." # # Feature storing VCS data in a database # As a software engineering researcher I want to store data about the changes in a project So that I can analyze the development process # Scenario basics ok 38 - When I explode t/samples/evolution.tar.gz # ok 39 - And I run "analizo metrics-history -f db -o data.db" # ok 40 - Then the exit status must be 0 # ok 41 - When I run "select * from modules" on database "data.db" # ok 42 - Then the output must match "Input" # ok 43 - And the output must match "Output" # ok 44 - And the output must match "prog" # # Feature analizo wrapper script # Scenario invoking a tool ok 45 - When I run "analizo metrics lib t" # ok 46 - Then analizo must emit a warning matching "Usage:" # ok 47 - And analizo must emit a warning matching "analizo.metrics" # ok 48 - And the exit status must not be 0 # # Scenario must not pass --version ahead ok 49 - When I run "analizo metrics --version" # ok 50 - Then analizo must emit a warning matching "Invalid option: --version" # ok 51 - And the exit status must not be 0 # # Scenario display help ok 52 - When I run "analizo --help" # ok 53 - Then the output must match "[NAME|N^HNA^HAM^HME^HE]\s+analizo\s" # ok 54 - And the output must match "[USAGE|U^HUS^HSA^HAG^HGE^HE]\s+analizo\s" # ok 55 - And the exit status must be 0 # # Scenario display version ok 56 - When I run "analizo --version" # ok 57 - Then the output must match "^analizo version [0-9]+.[0-9]+.[0-9]+" # ok 58 - And the exit status must be 0 # # Scenario invalid option ok 59 - When I run "analizo --invalid-option" # ok 60 - Then the output must match "Unrecognized command" # ok 61 - And the exit status must not be 0 # # Feature tree evolution # As a software engineering reasearcher I want to know what directories existed during the project lifetime So that I can analyze only the production code (and not tests etc) # Scenario sample git repository ok 62 - When I explode t/samples/tree-evolution.tar.gz # ok 63 - And I run "analizo tree-evolution" # ok 64 - Then the output lines must match "\# 073290fbad0254793bd3ecfb97654c04368d0039\\nsrc\\n\#" # ok 65 - Then the output lines must match "\# 85f7db08f7b7b0b62e3c0023b2743d529b0d5b4b\\nsrc\\nsrc/input\\n\#" # ok 66 - Then the output lines must match "\# f41cf7d0351e812285efd60c6d957c330b1f61a1\\nsrc\\nsrc/input\\nsrc/output" # # Feature mapping modules to filenames # As a software engineering resesearcher I want to know in which file each module is declared So that I can compare that with data from the VCS # Scenario C++, runing against some directory ok 67 - When I run "analizo metrics t/samples/animals/cpp" # ok 68 - Then analizo must report that file animal.h declares module Animal # ok 69 - And analizo must report that file cat.cc declares module Cat # ok 70 - And analizo must report that file cat.h declares module Cat # ok 71 - And analizo must report that file cat.cc not declares module Dog # ok 72 - And analizo must report that file cat.h not declares module Dog # # Scenario C++, running against current directory ok 73 - Given I am in t/samples/animals/cpp # ok 74 - When I run "analizo metrics ." # ok 75 - Then analizo must report that file animal.h declares module Animal # ok 76 - And analizo must report that file cat.cc declares module Cat # ok 77 - And analizo must report that file cat.h declares module Cat # # Scenario Java ok 78 - When I run "analizo metrics t/samples/animals/java" # ok 79 - Then analizo must report that file Animal.java declares module Animal # # Scenario C ok 80 - Given I am in t/samples/hello_world/c # ok 81 - When I run "analizo metrics ." # ok 82 - Then analizo must report that module hello_world has _filename = [hello_world.c,hello_world.h] # ok 83 - And analizo must report that file hello_world.c declares module hello_world # ok 84 - And analizo must report that file hello_world.h declares module hello_world # # Scenario CSharp hello_world ok 85 - Given I am in t/samples/hello_world/csharp # ok 86 - When I run "analizo metrics ." # ok 87 - Then analizo must report that module HelloWorld has _filename = [HelloWorld.cs] # # Scenario CSharp polygons ok 88 - Given I am in t/samples/polygons/csharp # ok 89 - When I run "analizo metrics ." # ok 90 - Then analizo must report that file Polygon.cs declares module Polygon # ok 91 - And analizo must report that file Rect.cs declares module Rect # ok 92 - And analizo must report that file Triangle.cs declares module Triangle # # Scenario Java Generics WildCard sample ok 93 - Given I am in t/samples/wildcard # ok 94 - When I run "analizo metrics ." # ok 95 - Then analizo must report that file WildcardClass.java declares module WildcardClass # ok 96 - And analizo must report that file GenericClass.java declares module GenericClass # # Scenario Java Enumeration sample ok 97 - Given I am in t/samples/enumeration # ok 98 - When I run "analizo metrics ." # ok 99 - Then analizo must report that file Main.java declares module Main::MyEnumeration # ok 100 - And analizo must report that file Enumeration.java declares module Enumeration # # Feature dependency graph among files # As a software engineering reasearcher I want to know the all relationships between all files on project So that I can run analizo files-graph to produces a DOT graph from source-code # Scenario relation between function call ok 101 - Given I am in t/samples/animals/cpp # ok 102 - When I run "analizo files-graph ." # ok 103 - Then analizo must report that "main" depends on "animal" # # Scenario relation between function call ok 104 - Given I am in t/samples/animals/java # ok 105 - When I run "analizo files-graph ." # ok 106 - Then analizo must report that "Main" depends on "Animal" # # Scenario relation between function call ok 107 - Given I am in t/samples/animals/csharp # ok 108 - When I run "analizo files-graph ." # ok 109 - Then analizo must report that "Main" depends on "Animal" # # Scenario relation between inheritance ok 110 - Given I am in t/samples/animals/cpp # ok 111 - When I run "analizo files-graph ." # ok 112 - Then analizo must report that "dog" depends on "mammal" # # Scenario relation between inheritance ok 113 - Given I am in t/samples/animals/java # ok 114 - When I run "analizo files-graph ." # ok 115 - Then analizo must report that "Dog" depends on "Mammal" # # Scenario relation between inheritance ok 116 - Given I am in t/samples/animals/csharp # ok 117 - When I run "analizo files-graph ." # ok 118 - Then analizo must report that "Dog" depends on "Mammal" # # Scenario relation between inheritance ok 119 - Given I am in t/samples/animals/cpp # ok 120 - When I run "analizo files-graph ." # ok 121 - Then analizo must report that "mammal" depends on "animal" # # Scenario relation between inheritance ok 122 - Given I am in t/samples/animals/java # ok 123 - When I run "analizo files-graph ." # ok 124 - Then analizo must report that "Mammal" depends on "Animal" # # Scenario relation between inheritance ok 125 - Given I am in t/samples/animals/csharp # ok 126 - When I run "analizo files-graph ." # ok 127 - Then analizo must report that "Mammal" depends on "Animal" # # Feature give manpage on --help # As a user I want to read the manpage when passing --help command line option In order to get instructions on how to use the tools # Scenario display manpage for `analizo graph` ok 128 - When I run "analizo graph --help" # ok 129 - Then the output must match "[NAME|N^HNA^HAM^HME^HE]\s+analizo-graph" # ok 130 - Then the output must match "[USAGE|U^HUS^HSA^HAG^HGE^HE]\s+analizo graph \[OPTIONS\]" # # Scenario display manpage for `analizo metrics` ok 131 - When I run "analizo metrics --help" # ok 132 - Then the output must match "[NAME|N^HNA^HAM^HME^HE]\s+analizo-metrics" # ok 133 - Then the output must match "[USAGE|U^HUS^HSA^HAG^HGE^HE]\s+analizo metrics \[OPTIONS\]" # # Scenario display manpage for `analizo metrics-batch` ok 134 - When I run "analizo metrics-batch --help" # ok 135 - Then the output must match "[NAME|N^HNA^HAM^HME^HE]\s+analizo-metrics-batch" # ok 136 - Then the output must match "[USAGE|U^HUS^HSA^HAG^HGE^HE]\s+analizo metrics-batch \[OPTIONS\]" # # Scenario display manpage for `analizo metrics-history` ok 137 - When I run "analizo metrics-history --help" # ok 138 - Then the output must match "[NAME|N^HNA^HAM^HME^HE]\s+analizo-metrics-history" # ok 139 - Then the output must match "[USAGE|U^HUS^HSA^HAG^HGE^HE]\s+analizo metrics-history \[OPTIONS\]" # # Scenario display manpage for `analizo tree-evolution` ok 140 - When I run "analizo tree-evolution --help" # ok 141 - Then the output must match "[NAME|N^HNA^HAM^HME^HE]\s+analizo-tree-evolution" # ok 142 - Then the output must match "[USAGE|U^HUS^HSA^HAG^HGE^HE]\s+analizo tree-evolution \[OPTIONS\]" # # Scenario display manpage for `analizo files-graph` ok 143 - When I run "analizo files-graph --help" # ok 144 - Then the output must match "[NAME|N^HNA^HAM^HME^HE]\s+analizo-files-graph" # ok 145 - Then the output must match "[USAGE|U^HUS^HSA^HAG^HGE^HE]\s+analizo files-graph \[OPTIONS\]" # # Feature exclude directories from the analysis # As a software developer in a large project I want to exclude some directories from the source code analysis In order to not analyse non-production code such as tests # Scenario excluding test directory ok 146 - Given I am in t/samples/multidir/cpp # ok 147 - When I run "analizo metrics --exclude test ." # ok 148 - Then the output must match "module: HelloWorld" # ok 149 - And the output must not match "module: hello_test" # # Scenario excluding test directory ok 150 - Given I am in t/samples/multidir/csharp # ok 151 - When I run "analizo metrics --exclude test ." # ok 152 - Then the output must match "module: HelloWorld" # ok 153 - And the output must not match "module: hello_test" # # Scenario excluding a list of directories ok 154 - Given I am in t/samples/multidir/cpp # ok 155 - When I run "analizo metrics --exclude test:src ." # ok 156 - Then the output must not match "module: HelloWorld" # ok 157 - And the output must not match "module: hello_test" # # Scenario excluding a list of directories ok 158 - Given I am in t/samples/multidir/csharp # ok 159 - When I run "analizo metrics --exclude test:src ." # ok 160 - Then the output must not match "module: HelloWorld" # ok 161 - And the output must not match "module: hello_test" # # Scenario excluding src directory ok 162 - Given I am in t/samples/multidir/cpp # ok 163 - When I run "analizo metrics --exclude src ." # ok 164 - Then the output must match "module: hello_test" # ok 165 - And the output must not match "module: HelloWorld" # # Scenario excluding src directory ok 166 - Given I am in t/samples/multidir/csharp # ok 167 - When I run "analizo metrics --exclude src ." # ok 168 - Then the output must match "module: hello_test" # ok 169 - And the output must not match "module: HelloWorld" # # Feature analizo metrics-history # As a software engineering researcher I want to analyse the entire history of a project To understand its development process # Scenario listing merge commits with code changes that should be analyzed ok 170 - When I explode t/samples/evolution.tar.gz # ok 171 - And I run "analizo metrics-history --list ." # ok 172 - Then the output must match "0a06a6fcc2e7b4fe56d134e89d74ad028bb122ed" # ok 173 - And the output must match "eb67c27055293e835049b58d7d73ce3664d3f90e" # ok 174 - And the output must match "aa2d0fcb7879485d5ff1cd189743f91f04bea8ce" # ok 175 - And the output must match "e8faf88f0e20a193d700b6c68eeb31897dd85e53" # ok 176 - And the output must match "d7f52e74dc3d8f57640e83d41c5e9f8fcf621c00" # ok 177 - And the output must match "0d3c023120ad4e9f519a03fff275d048c52671ad" # # Scenario non-code commits should not be analyzed ok 178 - When I explode t/samples/evolution.tar.gz # ok 179 - And I run "analizo metrics-history --list ." # ok 180 - Then the output must not match "ba62278e976944c0334103aa0044535169e1a51e" # # Scenario merge commits without code change should not be analyzed ok 181 - When I explode t/samples/evolution.tar.gz # ok 182 - And I run "analizo metrics-history --list ." # ok 183 - Then the output must not match "0fdaaa7dcc8073332a957024fafc8c98f165e725" # # Scenario actually processing merge commits ok 184 - When I explode t/samples/evolution.tar.gz # ok 185 - And I run "analizo metrics-history -o metrics.csv . && cat metrics.csv" # ok 186 - Then the output must match "^id,previous_commit_id,author_date,author_name,author_email,.*,sc_mean" # ok 187 - And the output must match "0a06a6fcc2e7b4fe56d134e89d74ad028bb122ed,eb67c27055293e835049b58d7d73ce3664d3f90e" # ok 188 - And the output must match "eb67c27055293e835049b58d7d73ce3664d3f90e,," # ok 189 - And the output must match "aa2d0fcb7879485d5ff1cd189743f91f04bea8ce,d7f52e74dc3d8f57640e83d41c5e9f8fcf621c00" # ok 190 - And the output must match "e8faf88f0e20a193d700b6c68eeb31897dd85e53,d7f52e74dc3d8f57640e83d41c5e9f8fcf621c00" # ok 191 - And the output must match "d7f52e74dc3d8f57640e83d41c5e9f8fcf621c00,0d3c023120ad4e9f519a03fff275d048c52671ad" # # Scenario actually processing initial commit and first commit after a non-relevant merge ok 192 - When I explode t/samples/evolution.tar.gz # ok 193 - And I run "analizo metrics-history -o metrics.csv . && cat metrics.csv" # ok 194 - Then the output must match "0d3c023120ad4e9f519a03fff275d048c52671ad,," # ok 195 - And the output must match "8183eafad3a0f3eff6e8869f1bdbfd255e86825a,0a06a6fcc2e7b4fe56d134e89d74ad028bb122ed" # # Scenario support for parallel processing ok 196 - Given I copy t/samples/evolution.tar.gz into a temporary directory # ok 197 - When I run "tar xzf evolution.tar.gz" # ok 198 - And I run "cd evolution && analizo metrics-history -o ../sequential.csv" # ok 199 - And I run "cd evolution && analizo metrics-history -p 2 -o ../parallel.csv" # ok 200 - Then the exit status must be 0 # ok 201 - When I run "sort sequential.csv > sequential-sorted.csv" # ok 202 - And I run "sort parallel.csv > parallel-sorted.csv" # ok 203 - And I run "diff -u sequential-sorted.csv parallel-sorted.csv" # ok 204 - Then the output must not match "---" # ok 205 - And the exit status must be 0 # # Scenario parsing git log format containing renamed files among status of changed files ok 206 - Given I copy t/samples/evolution.tar.gz into a temporary directory # ok 207 - When I run "tar xzf evolution.tar.gz" # ok 208 - And I run "cd evolution && git checkout doc && analizo metrics-history ." # ok 209 - Then the exit status must be 0 # # Scenario language filters ok 210 - Given I copy t/samples/mixed into a temporary directory # ok 211 - When I run "(cd mixed && git init && git add * && git commit -m 'initial commit')" # ok 212 - And I run "analizo metrics-history --language java mixed" # ok 213 - Then the output must not match "native_backend.c" # # Feature multi-language support # As a Researcher or Practioneer I want to be able to analyze software in different languages In order do compare them # Scenario dependency between modules ok 214 - Given I am in t/samples/hello_world/c # ok 215 - When I run "analizo graph --modules ." # ok 216 - Then analizo must report that "main" depends on "hello_world" # # Scenario dependency between modules ok 217 - Given I am in t/samples/hello_world/cpp # ok 218 - When I run "analizo graph --modules ." # ok 219 - Then analizo must report that "main" depends on "HelloWorld" # # Scenario dependency between modules ok 220 - Given I am in t/samples/hello_world/java # ok 221 - When I run "analizo graph --modules ." # ok 222 - Then analizo must report that "Main" depends on "HelloWorld" # # Scenario dependency between modules ok 223 - Given I am in t/samples/hello_world/csharp # ok 224 - When I run "analizo graph --modules ." # ok 225 - Then analizo must report that "main" depends on "HelloWorld" # # Scenario dependency between specific functions ok 226 - Given I am in t/samples/hello_world/c # ok 227 - When I run "analizo graph ." # ok 228 - Then analizo must report that "main::main()" depends on "hello_world::hello_world_say(hello_world *)" # ok 229 - And analizo must report that "main::main()" depends on "hello_world::hello_world_destroy(hello_world *)" # # Scenario dependency between specific functions ok 230 - Given I am in t/samples/hello_world/cpp # ok 231 - When I run "analizo graph ." # ok 232 - Then analizo must report that "main::main()" depends on "HelloWorld::say()" # ok 233 - And analizo must report that "main::main()" depends on "HelloWorld::destroy()" # # Scenario dependency between specific functions ok 234 - Given I am in t/samples/hello_world/java # ok 235 - When I run "analizo graph ." # ok 236 - Then analizo must report that "Main::main(String[])" depends on "HelloWorld::say()" # ok 237 - And analizo must report that "Main::main(String[])" depends on "HelloWorld::destroy()" # # Scenario dependency between specific functions ok 238 - Given I am in t/samples/hello_world/csharp # ok 239 - When I run "analizo graph ." # ok 240 - Then analizo must report that "main::Main()" depends on "HelloWorld::say()" # ok 241 - And analizo must report that "main::Main()" depends on "HelloWorld::destroy()" # # Scenario intra-module dependencies ok 242 - Given I am in t/samples/hello_world/c # ok 243 - When I run "analizo graph ." # ok 244 - Then analizo must report that "hello_world::hello_world_say(hello_world *)" depends on "hello_world::_hello_world::id" # ok 245 - And analizo must report that "hello_world::hello_world_destroy(hello_world *)" depends on "hello_world::_hello_world::id" # # Scenario intra-module dependencies ok 246 - Given I am in t/samples/hello_world/cpp # ok 247 - When I run "analizo graph ." # ok 248 - Then analizo must report that "HelloWorld::say()" depends on "HelloWorld::_id" # ok 249 - And analizo must report that "HelloWorld::destroy()" depends on "HelloWorld::_id" # # Scenario intra-module dependencies ok 250 - Given I am in t/samples/hello_world/java # ok 251 - When I run "analizo graph ." # ok 252 - Then analizo must report that "HelloWorld::say()" depends on "HelloWorld::_id" # ok 253 - And analizo must report that "HelloWorld::destroy()" depends on "HelloWorld::_id" # # Scenario intra-module dependencies ok 254 - Given I am in t/samples/hello_world/csharp # ok 255 - When I run "analizo graph ." # ok 256 - Then analizo must report that "HelloWorld::say()" depends on "HelloWorld::_id" # ok 257 - And analizo must report that "HelloWorld::destroy()" depends on "HelloWorld::_id" # # Scenario some metrics ok 258 - Given I am in t/samples/hello_world/c # ok 259 - When I run "analizo metrics ." # ok 260 - Then analizo must report that the project has total_modules = 2 # ok 261 - And analizo must report that module main has nom = 1 # ok 262 - And analizo must report that module hello_world has npm = 3 # ok 263 - And analizo must report that module hello_world has nom = 3 # ok 264 - And analizo must report that module hello_world has npa = 2 # # Scenario some metrics ok 265 - Given I am in t/samples/hello_world/cpp # ok 266 - When I run "analizo metrics ." # ok 267 - Then analizo must report that the project has total_modules = 2 # ok 268 - And analizo must report that module main has nom = 1 # ok 269 - And analizo must report that module HelloWorld has npm = 3 # ok 270 - And analizo must report that module HelloWorld has nom = 4 # ok 271 - And analizo must report that module HelloWorld has npa = 1 # # Scenario some metrics ok 272 - Given I am in t/samples/hello_world/java # ok 273 - When I run "analizo metrics ." # ok 274 - Then analizo must report that the project has total_modules = 2 # ok 275 - And analizo must report that module Main has nom = 1 # ok 276 - And analizo must report that module HelloWorld has npm = 3 # ok 277 - And analizo must report that module HelloWorld has nom = 4 # ok 278 - And analizo must report that module HelloWorld has npa = 1 # # Scenario some metrics ok 279 - Given I am in t/samples/hello_world/csharp # ok 280 - When I run "analizo metrics ." # ok 281 - Then analizo must report that the project has total_modules = 2 # ok 282 - And analizo must report that module main has nom = 1 # ok 283 - And analizo must report that module HelloWorld has npm = 3 # ok 284 - And analizo must report that module HelloWorld has nom = 4 # ok 285 - And analizo must report that module HelloWorld has npa = 1 # # Scenario inheritance data ok 286 - Given I am in t/samples/animals/cpp # ok 287 - When I run "analizo graph --modules ." # ok 288 - Then analizo must report that "Cat" depends on "Mammal" # ok 289 - And analizo must report that "Dog" depends on "Mammal" # ok 290 - And analizo must report that "Mammal" depends on "Animal" # ok 291 - When I run "analizo metrics ." # ok 292 - Then analizo must report that module Cat has dit = 2 # ok 293 - And analizo must report that module Dog has dit = 2 # ok 294 - And analizo must report that module Mammal has dit = 1 # ok 295 - And analizo must report that module Animal has dit = 0 # # Scenario inheritance data ok 296 - Given I am in t/samples/animals/java # ok 297 - When I run "analizo graph --modules ." # ok 298 - Then analizo must report that "Cat" depends on "Mammal" # ok 299 - And analizo must report that "Dog" depends on "Mammal" # ok 300 - And analizo must report that "Mammal" depends on "Animal" # ok 301 - When I run "analizo metrics ." # ok 302 - Then analizo must report that module Cat has dit = 2 # ok 303 - And analizo must report that module Dog has dit = 2 # ok 304 - And analizo must report that module Mammal has dit = 1 # ok 305 - And analizo must report that module Animal has dit = 0 # # Scenario mixed Java and C ok 306 - Given I am in t/samples/mixed # ok 307 - When I run "analizo metrics ." # ok 308 - Then the output must match "_module: native_backend" # ok 309 - And the output must match "_module: UI" # ok 310 - And the output must match "_module: Backend" # # Feature doxyparse extractor external tool # As a Analizo developer I want to guarantee that doxyparse deal with any source code To provide reliability for Analizo users # Scenario don't die parsing MCLinker.cpp from android 5.1.1 ok 311 - Given I am in t/samples/android-framework/android-5.1.1_r38 # ok 312 - When I run "analizo metrics ." # ok 313 - Then the exit status must be 0 # # Scenario don't duplicate YAML keys parsing AudioTrackShared.cpp from android 5.1.1 ok 314 - Given I am in t/samples/android-framework/android-5.1.1_r38 # ok 315 - When I run "analizo metrics ." # ok 316 - Then analizo must not emit a warning matching "YAML_LOAD_WARN_DUPLICATE_KEY" # # Scenario don't abort parsing mlpack 3.0.0 ok 317 - Given I am in t/samples/mlpack-3.0.0 # ok 318 - When I run "analizo metrics ." # ok 319 - Then analizo must not emit a warning matching "Aborted" # ok 320 - And the exit status must be 0 # # Scenario don't die parsing kdelibs warning about unknown escape character ok 321 - Given I am in t/samples/kdelibs # ok 322 - When I run "analizo metrics ." # ok 323 - Then analizo must not emit a warning matching "Error" # ok 324 - And the exit status must be 0 # # Scenario don't die parsing mod_suexec.h from http 2.4.38 ok 325 - Given I am in t/samples/httpd-2.4.38 # ok 326 - When I run "analizo metrics ." # ok 327 - Then analizo must not emit a warning matching "Not a HASH reference" # ok 328 - And the exit status must be 0 # # Scenario allow dot on module filename ok 329 - Given I am in t/samples/sample_basic/c # ok 330 - When I run "analizo metrics ." # ok 331 - Then analizo must report that file module1.c declares module module1 # # Feature metrics batch # As a software engineering researcher I want to analyze several different projects So I can compare their metrics # Scenario "hello, world" ok 332 - Given I am in t/samples/hello_world/ # ok 333 - When I run "analizo metrics-batch" # ok 334 - Then the output must match "I: Processed c." # ok 335 - And the output must match "I: Processed cpp." # ok 336 - And the output must match "I: Processed java." # # Scenario summarizing ok 337 - Given I am in t/samples/hello_world/ # ok 338 - When I run "analizo metrics-batch --quiet -o data.csv && cat data.csv && rm -f *.csv" # ok 339 - Then the output must match "^id," # ok 340 - And the output must not match ",---," # ok 341 - And the output must match "c," # ok 342 - And the output must match "cpp," # ok 343 - And the output must match "java," # ok 344 - And the output must not match "I: Processed" # # Scenario support for parallel processing ok 345 - Given I copy t/samples/hello_world/* into a temporary directory # ok 346 - When I run "analizo metrics-batch -q -o sequential.csv" # ok 347 - And I run "analizo metrics-batch -q -o parallel.csv -p 2" # ok 348 - And I run "sort sequential.csv > sequential-sorted.csv" # ok 349 - And I run "sort parallel.csv > parallel-sorted.csv" # ok 350 - And I run "diff -u sequential-sorted.csv parallel-sorted.csv" # ok 351 - Then the output must not match "---" # ok 352 - Then the exit status must be 0 # # Scenario passing two input directories as argument ok 353 - Given I copy t/samples/hello_world/* into a temporary directory # ok 354 - When I run "analizo metrics-batch --quiet -o data.csv cpp java" # ok 355 - Then the exit status must be 0 # ok 356 - And the file "c-details.csv" should not exist # ok 357 - And the file "cpp-details.csv" should exist # ok 358 - And the file "java-details.csv" should exist # # Scenario passing one input directory as argument ok 359 - Given I copy t/samples/hello_world/* into a temporary directory # ok 360 - When I run "analizo metrics-batch --quiet -o data.csv cpp" # ok 361 - Then the exit status must be 0 # ok 362 - And the file "c-details.csv" should not exist # ok 363 - And the file "cpp-details.csv" should exist # ok 364 - And the file "java-details.csv" should not exist # # Feature plain analizo graph run # Scenario simply running analizo ok 365 - Given I am in t/samples/sample_basic/c/ # ok 366 - When I run "analizo graph ." # ok 367 - Then analizo must report that "module1::main()" depends on "module3::variable" # ok 368 - Then analizo must report that "module1::main()" depends on "module3::callback()" # ok 369 - Then analizo must report that "module1::main()" depends on "module2::say_bye()" # ok 370 - Then analizo must report that "module1::main()" depends on "module2::say_hello()" # ok 371 - And the exit status must be 0 # # Feature group by modules # Scenario sample project ok 372 - Given I am in t/samples/sample_basic/c/ # ok 373 - When I run "analizo graph --modules ." # ok 374 - Then analizo must report that "module1" depends on "module2" # ok 375 - Then analizo must report that "module1" depends on "module3" # # Feature clustering subroutines in the same module together # Scenario clustering dependencies ok 376 - Given I am in t/samples/sample_basic/c/ # ok 377 - When I run "analizo graph --cluster ." # ok 378 - Then analizo must report that "module1::main()" is part of "module1" # ok 379 - Then analizo must report that "module2::say_hello()" is part of "module2" # ok 380 - Then analizo must report that "module2::say_bye()" is part of "module2" # ok 381 - Then analizo must report that "module3::variable" is part of "module3" # ok 382 - Then analizo must report that "module3::callback()" is part of "module3" # # Feature displaying version # Scenario running without any arguments ok 383 - When I run "analizo graph" # ok 384 - Then analizo must emit a warning matching "Usage:" # ok 385 - And the exit status must not be 0 # # Feature input files for graph tool # Scenario passing specific files in the command line ok 386 - Given I am in t/samples/sample_basic/c # ok 387 - When I run "analizo graph module1.c module2.c" # ok 388 - Then the output must match "module1" # ok 389 - And the output must match "module2" # ok 390 - And the output must not match "module3" # # Scenario passing unexisting file ok 391 - Given I am in t/samples/sample_basic/c # ok 392 - When I run "analizo graph unexisting-file.c" # ok 393 - Then analizo must emit a warning matching "is not readable" # # Feature functions calls # Scenario detect function calls among classes ok 394 - Given I am in t/samples/animals/cpp # ok 395 - When I run "analizo graph ." # ok 396 - Then analizo must report that "Cat::Cat(char *)" depends on "Cat::_name" # ok 397 - And analizo must not report that "Cat::Cat(char *)" depends on "Cat::name()" # ok 398 - And the exit status must be 0 # # Feature omitting certain modules # Scenario omitting say_bye ok 399 - Given I am in t/samples/sample_basic/ # ok 400 - When I run "analizo graph --omit 'module2::say_bye()' ." # ok 401 - Then the output must not match "module2::say_bye()" # # Scenario omitting two functions ok 402 - Given I am in t/samples/sample_basic/ # ok 403 - When I run "analizo graph --omit 'module2::say_bye()','module2::say_hello()' ." # ok 404 - Then the output must not match "module2::say_bye()" # ok 405 - Then the output must not match "module2::say_hello()" # # Scenario omitting depending functions ok 406 - Given I am in t/samples/sample_basic/ # ok 407 - When I run "analizo graph --omit 'module1::main()' ." # ok 408 - Then the output must not match "module1::main()" # # Feature output file for graph tool # Scenario passing output file in the command line ok 409 - Given I am in . # ok 410 - When I run "analizo graph --output output.dot.tmp t/samples/sample_basic/c/" # ok 411 - Then the contents of "output.dot.tmp" must match "module1" # ok 412 - And the exit status must be 0 # # Scenario passing output file in an unexisting directory ok 413 - Given I am in . # ok 414 - When I run "analizo graph --output /this/directory/must/not/exists/output.dot t/samples/sample_basic/c/" # ok 415 - Then analizo must emit a warning matching "No such file or directory" # ok 416 - And the exit status must not be 0 # # Scenario passing output file without permission to write ok 417 - Given I am in . # ok 418 - When I run "touch output.tmp" # ok 419 - And I run "chmod 000 output.tmp" # ok 420 - And I run "analizo graph --output output.tmp t/samples/sample_basic/c/" # ok 421 - Then the exit status must not be 0 # ok 422 - And analizo must emit a warning matching "Permission denied" # # Feature coupling between objects # As a software developer I want analizo to report the value of CBO metric in my code So that I can evaluate it # Scenario "Hello, world" project ok 423 - Given I am in t/samples/hello_world/c # ok 424 - When I run "analizo metrics ." # ok 425 - Then analizo must report that module main has cbo = 1 # # Scenario "Hello, world" project ok 426 - Given I am in t/samples/hello_world/cpp # ok 427 - When I run "analizo metrics ." # ok 428 - Then analizo must report that module main has cbo = 1 # # Scenario "Hello, world" project ok 429 - Given I am in t/samples/hello_world/java # ok 430 - When I run "analizo metrics ." # ok 431 - Then analizo must report that module Main has cbo = 1 # # Scenario "Hello, world" project ok 432 - Given I am in t/samples/hello_world/csharp # ok 433 - When I run "analizo metrics ." # ok 434 - Then analizo must report that module main has cbo = 1 # # Scenario "Animals" project ok 435 - Given I am in t/samples/animals/cpp # ok 436 - When I run "analizo metrics ." # ok 437 - Then analizo must report that module main has cbo = 1 # # Scenario "Animals" project ok 438 - Given I am in t/samples/animals/cpp # ok 439 - When I run "analizo metrics ." # ok 440 - Then analizo must report that module mammal has cbo = 0 # # Scenario "Animals" project ok 441 - Given I am in t/samples/animals/java # ok 442 - When I run "analizo metrics ." # ok 443 - Then analizo must report that module Main has cbo = 1 # # Scenario "Animals" project ok 444 - Given I am in t/samples/animals/java # ok 445 - When I run "analizo metrics ." # ok 446 - Then analizo must report that module Mammal has cbo = 0 # # Scenario "Animals" project ok 447 - Given I am in t/samples/animals/csharp # ok 448 - When I run "analizo metrics ." # ok 449 - Then analizo must report that module main has cbo = 1 # # Scenario "Animals" project ok 450 - Given I am in t/samples/animals/csharp # ok 451 - When I run "analizo metrics ." # ok 452 - Then analizo must report that module Mammal has cbo = 0 # # Feature number of methods # As a software developer I want analizo to report the number of methods of each module So that I can evaluate it # Scenario number of methods of the polygon java sample ok 453 - Given I am in t/samples/polygons/cpp # ok 454 - When I run "analizo metrics ." # ok 455 - Then analizo must report that module CPolygon has nom = 3 # # Scenario number of methods of the polygon java sample ok 456 - Given I am in t/samples/polygons/cpp # ok 457 - When I run "analizo metrics ." # ok 458 - Then analizo must report that module CTetragon has nom = 2 # # Scenario number of methods of the polygon java sample ok 459 - Given I am in t/samples/polygons/java # ok 460 - When I run "analizo metrics ." # ok 461 - Then analizo must report that module Polygon has nom = 3 # # Scenario number of methods of the polygon java sample ok 462 - Given I am in t/samples/polygons/csharp # ok 463 - When I run "analizo metrics ." # ok 464 - Then analizo must report that module Polygon has nom = 2 # # Scenario number of methods of the polygon java sample ok 465 - Given I am in t/samples/polygons/csharp # ok 466 - When I run "analizo metrics ." # ok 467 - Then analizo must report that module Tetragon has nom = 2 # # Scenario number of methods of the polygon java sample ok 468 - Given I am in t/samples/animals/cpp # ok 469 - When I run "analizo metrics ." # ok 470 - Then analizo must report that module Animal has nom = 1 # # Scenario number of methods of the polygon java sample ok 471 - Given I am in t/samples/animals/cpp # ok 472 - When I run "analizo metrics ." # ok 473 - Then analizo must report that module Cat has nom = 2 # # Scenario number of methods of the polygon java sample ok 474 - Given I am in t/samples/animals/cpp # ok 475 - When I run "analizo metrics ." # ok 476 - Then analizo must report that module Dog has nom = 2 # # Scenario number of methods of the polygon java sample ok 477 - Given I am in t/samples/animals/java # ok 478 - When I run "analizo metrics ." # ok 479 - Then analizo must report that module Animal has nom = 1 # # Scenario number of methods of the polygon java sample ok 480 - Given I am in t/samples/animals/java # ok 481 - When I run "analizo metrics ." # ok 482 - Then analizo must report that module Cat has nom = 2 # # Scenario number of methods of the polygon java sample ok 483 - Given I am in t/samples/animals/java # ok 484 - When I run "analizo metrics ." # ok 485 - Then analizo must report that module Dog has nom = 2 # # Scenario number of methods of the polygon java sample ok 486 - Given I am in t/samples/animals/csharp # ok 487 - When I run "analizo metrics ." # ok 488 - Then analizo must report that module Animal has nom = 1 # # Scenario number of methods of the polygon java sample ok 489 - Given I am in t/samples/animals/csharp # ok 490 - When I run "analizo metrics ." # ok 491 - Then analizo must report that module Cat has nom = 2 # # Scenario number of methods of the polygon java sample ok 492 - Given I am in t/samples/animals/csharp # ok 493 - When I run "analizo metrics ." # ok 494 - Then analizo must report that module Dog has nom = 2 # # Scenario not computes macro on C code as method definition ok 495 - Given I am in t/samples/macro # ok 496 - When I run "analizo metrics ." # ok 497 - Then analizo must report that module using_macro has nom = 1 # # Feature afferent connections with deep inheritance # As a software developer I want analizo to report the afferent connections of each module So that I can evaluate it # Scenario afferent connections of the dog family java sample ok 498 - Given I am in t/samples/deep_inheritance/java # ok 499 - When I run "analizo metrics ." # ok 500 - Then analizo must report that module Dog has acc = 7 # # Scenario afferent connections of the dog family java sample ok 501 - Given I am in t/samples/deep_inheritance/java # ok 502 - When I run "analizo metrics ." # ok 503 - Then analizo must report that module DogFirstGreatGrandson has acc = 1 # # Scenario afferent connections of the dog family java sample ok 504 - Given I am in t/samples/deep_inheritance/java # ok 505 - When I run "analizo metrics ." # ok 506 - Then analizo must report that module DogFirstPuppy has acc = 4 # # Scenario afferent connections of the dog family java sample ok 507 - Given I am in t/samples/deep_inheritance/java # ok 508 - When I run "analizo metrics ." # ok 509 - Then analizo must report that module DogGrandson has acc = 3 # # Scenario afferent connections of the dog family java sample ok 510 - Given I am in t/samples/deep_inheritance/java # ok 511 - When I run "analizo metrics ." # ok 512 - Then analizo must report that module DogSecondGreatGrandson has acc = 0 # # Scenario afferent connections of the dog family java sample ok 513 - Given I am in t/samples/deep_inheritance/java # ok 514 - When I run "analizo metrics ." # ok 515 - Then analizo must report that module DogSecondPuppy has acc = 0 # # Scenario afferent connections of the dog family java sample ok 516 - Given I am in t/samples/deep_inheritance/java # ok 517 - When I run "analizo metrics ." # ok 518 - Then analizo must report that module DogSuperYoung has acc = 0 # # Scenario afferent connections of the dog family java sample ok 519 - Given I am in t/samples/deep_inheritance/java # ok 520 - When I run "analizo metrics ." # ok 521 - Then analizo must report that module Human has acc = 2 # # Scenario afferent connections of the dog family java sample ok 522 - Given I am in t/samples/deep_inheritance/java # ok 523 - When I run "analizo metrics ." # ok 524 - Then analizo must report that module ShopController has acc = 0 # # Scenario afferent connections of the dog family java sample ok 525 - Given I am in t/samples/deep_inheritance/java # ok 526 - When I run "analizo metrics ." # ok 527 - Then analizo must report that module VenderShop has acc = 1 # # Feature change cost degree # As a software developer I want analizo to report the degree of change cost in my code So that I can evaluate it # Scenario "Hello, world" project ok 528 - Given I am in t/samples/hello_world/cpp # ok 529 - When I run "analizo metrics ." # ok 530 - Then analizo must report that the project has change_cost = 0.75 # # Scenario "Hello, world" project ok 531 - Given I am in t/samples/hello_world/java # ok 532 - When I run "analizo metrics ." # ok 533 - Then analizo must report that the project has change_cost = 0.75 # # Scenario "Hello, world" project ok 534 - Given I am in t/samples/hello_world/csharp # ok 535 - When I run "analizo metrics ." # ok 536 - Then analizo must report that the project has change_cost = 0.75 # # Scenario "Animals" project ok 537 - Given I am in t/samples/animals/cpp # ok 538 - When I run "analizo metrics ." # ok 539 - Then analizo must report that the project has change_cost = 0.44 # # Scenario "Animals" project ok 540 - Given I am in t/samples/animals/java # ok 541 - When I run "analizo metrics ." # ok 542 - Then analizo must report that the project has change_cost = 0.44 # # Scenario "Animals" project ok 543 - Given I am in t/samples/animals/csharp # ok 544 - When I run "analizo metrics ." # ok 545 - Then analizo must report that the project has change_cost = 0.44 # # Scenario "Hieracchical Graph" project ok 546 - Given I am in t/samples/hierarchical_graph/c # ok 547 - When I run "analizo metrics ." # ok 548 - Then analizo must report that the project has change_cost = 0.42 # # Scenario "Hieracchical Graph" project ok 549 - Given I am in t/samples/hierarchical_graph/csharp # ok 550 - When I run "analizo metrics ." # ok 551 - Then analizo must report that the project has change_cost = 0.28 # # Scenario "Cyclical Graph" project ok 552 - Given I am in t/samples/cyclical_graph/c # ok 553 - When I run "analizo metrics ." # ok 554 - Then analizo must report that the project has change_cost = 0.5 # # Scenario "Cyclical Graph" project ok 555 - Given I am in t/samples/cyclical_graph/csharp # ok 556 - When I run "analizo metrics ." # ok 557 - Then analizo must report that the project has change_cost = 0.36 # # Feature total modules # As a software developer I want analizo to report the total number of modules in my code So that I can evaluate it # Scenario Java Enumeration sample ok 558 - Given I am in t/samples/enumeration # ok 559 - When I run "analizo metrics ." # ok 560 - Then analizo must report that the project has total_modules = 3 # # Feature list metrics # As a Research or Practioner I want to extract metrics from source code So that I can learn, understand and evaluate it # Scenario listing metrics ok 561 - When I run "analizo metrics --list" # ok 562 - Then analizo must present a list of metrics # # Scenario listing metrics ok 563 - When I run "analizo metrics -l" # ok 564 - Then analizo must present a list of metrics # # Feature average cyclomatic complexity per method # As a software developer I want to calculate the average cyclomatic complexity per method of my code So that I can spot the more complex modules and refactor them # Scenario my "conditionals" C project ok 565 - Given I am in t/samples/conditionals/c # ok 566 - When I run "analizo metrics ." # ok 567 - Then analizo must report that module cc1 has accm = 1 # ok 568 - Then analizo must report that module cc2 has accm = 2 # ok 569 - Then analizo must report that module cc3 has accm = 3 # ok 570 - Then analizo must report that module cc4 has accm = 4 # # Scenario my "conditionals" C project ok 571 - Given I am in t/samples/conditionals/csharp # ok 572 - When I run "analizo metrics ." # ok 573 - Then analizo must report that module cc1 has accm = 1 # ok 574 - Then analizo must report that module cc2 has accm = 2 # ok 575 - Then analizo must report that module cc3 has accm = 3 # ok 576 - Then analizo must report that module cc4 has accm = 4 # # Feature output only global metrics # As a researcher I want to ouput only the global metrics So that I can evaluate several projects at once # Scenario simple case ok 577 - Given I am in t/samples/sample_basic/c/ # ok 578 - When I run "analizo metrics --global-only ." # ok 579 - Then the output must match "cbo_mean:" # ok 580 - And the output must not match "_module:" # # Scenario short version ok 581 - Given I am in t/samples/sample_basic/c/ # ok 582 - When I run "analizo metrics -g ." # ok 583 - Then the output must match "cbo_mean:" # ok 584 - And the output must not match "_module:" # # Feature average number of parameters metric # As a software developer I want to calculate the average number of arguments per method metric So that I can evaluate my code # Scenario number of parameters in the "Animals" project ok 585 - Given I am in t/samples/animals/cpp # ok 586 - When I run "analizo metrics ." # ok 587 - Then analizo must report that module Dog has anpm = 0.5 # ok 588 - And analizo must report that module Cat has anpm = 0.5 # ok 589 - And analizo must report that module main has anpm = 0 # # Scenario number of parameters in the "Animals" project ok 590 - Given I am in t/samples/animals/java # ok 591 - When I run "analizo metrics ." # ok 592 - Then analizo must report that module Dog has anpm = 0.5 # ok 593 - And analizo must report that module Cat has anpm = 0.5 # ok 594 - And analizo must report that module Main has anpm = 1 # # Scenario number of parameters in the "Animals" project ok 595 - Given I am in t/samples/animals/csharp # ok 596 - When I run "analizo metrics ." # ok 597 - Then analizo must report that module Dog has anpm = 0.5 # ok 598 - And analizo must report that module Cat has anpm = 0.5 # ok 599 - And analizo must report that module main has anpm = 1 # # Feature output statistics values of metrics # As a researcher I want to ouput statistics values of metrics So that I can evaluate a project at once # Scenario "Hello, world" project ok 600 - Given I am in t/samples/hello_world/ # ok 601 - When I run "analizo metrics ." # ok 602 - Then the output must match "acc_mean:" # ok 603 - Then the output must match "acc_mode:" # ok 604 - Then the output must match "acc_standard_deviation:" # ok 605 - Then the output must match "acc_sum:" # ok 606 - Then the output must match "acc_variance:" # ok 607 - Then the output must match "acc_quantile_min:" # ok 608 - Then the output must match "acc_quantile_lower:" # ok 609 - Then the output must match "acc_quantile_median:" # ok 610 - Then the output must match "acc_quantile_upper:" # ok 611 - Then the output must match "acc_quantile_max:" # ok 612 - Then the output must match "acc_kurtosis:" # ok 613 - Then the output must match "acc_skewness:" # # Scenario "Hello, world" project ok 614 - Given I am in t/samples/hello_world/ # ok 615 - When I run "analizo metrics ." # ok 616 - Then the output must match "accm_mean:" # ok 617 - Then the output must match "accm_mode:" # ok 618 - Then the output must match "accm_standard_deviation:" # ok 619 - Then the output must match "accm_sum:" # ok 620 - Then the output must match "accm_variance:" # ok 621 - Then the output must match "accm_quantile_min:" # ok 622 - Then the output must match "accm_quantile_lower:" # ok 623 - Then the output must match "accm_quantile_median:" # ok 624 - Then the output must match "accm_quantile_upper:" # ok 625 - Then the output must match "accm_quantile_max:" # ok 626 - Then the output must match "accm_kurtosis:" # ok 627 - Then the output must match "accm_skewness:" # # Scenario "Hello, world" project ok 628 - Given I am in t/samples/hello_world/ # ok 629 - When I run "analizo metrics ." # ok 630 - Then the output must match "amloc_mean:" # ok 631 - Then the output must match "amloc_mode:" # ok 632 - Then the output must match "amloc_standard_deviation:" # ok 633 - Then the output must match "amloc_sum:" # ok 634 - Then the output must match "amloc_variance:" # ok 635 - Then the output must match "amloc_quantile_min:" # ok 636 - Then the output must match "amloc_quantile_lower:" # ok 637 - Then the output must match "amloc_quantile_median:" # ok 638 - Then the output must match "amloc_quantile_upper:" # ok 639 - Then the output must match "amloc_quantile_max:" # ok 640 - Then the output must match "amloc_kurtosis:" # ok 641 - Then the output must match "amloc_skewness:" # # Scenario "Hello, world" project ok 642 - Given I am in t/samples/hello_world/ # ok 643 - When I run "analizo metrics ." # ok 644 - Then the output must match "anpm_mean:" # ok 645 - Then the output must match "anpm_mode:" # ok 646 - Then the output must match "anpm_standard_deviation:" # ok 647 - Then the output must match "anpm_sum:" # ok 648 - Then the output must match "anpm_variance:" # ok 649 - Then the output must match "anpm_quantile_min:" # ok 650 - Then the output must match "anpm_quantile_lower:" # ok 651 - Then the output must match "anpm_quantile_median:" # ok 652 - Then the output must match "anpm_quantile_upper:" # ok 653 - Then the output must match "anpm_quantile_max:" # ok 654 - Then the output must match "anpm_kurtosis:" # ok 655 - Then the output must match "anpm_skewness:" # # Scenario "Hello, world" project ok 656 - Given I am in t/samples/hello_world/ # ok 657 - When I run "analizo metrics ." # ok 658 - Then the output must match "cbo_mean:" # ok 659 - Then the output must match "cbo_mode:" # ok 660 - Then the output must match "cbo_standard_deviation:" # ok 661 - Then the output must match "cbo_sum:" # ok 662 - Then the output must match "cbo_variance:" # ok 663 - Then the output must match "cbo_quantile_min:" # ok 664 - Then the output must match "cbo_quantile_lower:" # ok 665 - Then the output must match "cbo_quantile_median:" # ok 666 - Then the output must match "cbo_quantile_upper:" # ok 667 - Then the output must match "cbo_quantile_max:" # ok 668 - Then the output must match "cbo_kurtosis:" # ok 669 - Then the output must match "cbo_skewness:" # # Scenario "Hello, world" project ok 670 - Given I am in t/samples/hello_world/ # ok 671 - When I run "analizo metrics ." # ok 672 - Then the output must match "dit_mean:" # ok 673 - Then the output must match "dit_mode:" # ok 674 - Then the output must match "dit_standard_deviation:" # ok 675 - Then the output must match "dit_sum:" # ok 676 - Then the output must match "dit_variance:" # ok 677 - Then the output must match "dit_quantile_min:" # ok 678 - Then the output must match "dit_quantile_lower:" # ok 679 - Then the output must match "dit_quantile_median:" # ok 680 - Then the output must match "dit_quantile_upper:" # ok 681 - Then the output must match "dit_quantile_max:" # ok 682 - Then the output must match "dit_kurtosis:" # ok 683 - Then the output must match "dit_skewness:" # # Scenario "Hello, world" project ok 684 - Given I am in t/samples/hello_world/ # ok 685 - When I run "analizo metrics ." # ok 686 - Then the output must match "lcom4_mean:" # ok 687 - Then the output must match "lcom4_mode:" # ok 688 - Then the output must match "lcom4_standard_deviation:" # ok 689 - Then the output must match "lcom4_sum:" # ok 690 - Then the output must match "lcom4_variance:" # ok 691 - Then the output must match "lcom4_quantile_min:" # ok 692 - Then the output must match "lcom4_quantile_lower:" # ok 693 - Then the output must match "lcom4_quantile_median:" # ok 694 - Then the output must match "lcom4_quantile_upper:" # ok 695 - Then the output must match "lcom4_quantile_max:" # ok 696 - Then the output must match "lcom4_kurtosis:" # ok 697 - Then the output must match "lcom4_skewness:" # # Scenario "Hello, world" project ok 698 - Given I am in t/samples/hello_world/ # ok 699 - When I run "analizo metrics ." # ok 700 - Then the output must match "loc_mean:" # ok 701 - Then the output must match "loc_mode:" # ok 702 - Then the output must match "loc_standard_deviation:" # ok 703 - Then the output must match "loc_sum:" # ok 704 - Then the output must match "loc_variance:" # ok 705 - Then the output must match "loc_quantile_min:" # ok 706 - Then the output must match "loc_quantile_lower:" # ok 707 - Then the output must match "loc_quantile_median:" # ok 708 - Then the output must match "loc_quantile_upper:" # ok 709 - Then the output must match "loc_quantile_max:" # ok 710 - Then the output must match "loc_kurtosis:" # ok 711 - Then the output must match "loc_skewness:" # # Scenario "Hello, world" project ok 712 - Given I am in t/samples/hello_world/ # ok 713 - When I run "analizo metrics ." # ok 714 - Then the output must match "mmloc_mean:" # ok 715 - Then the output must match "mmloc_mode:" # ok 716 - Then the output must match "mmloc_standard_deviation:" # ok 717 - Then the output must match "mmloc_sum:" # ok 718 - Then the output must match "mmloc_variance:" # ok 719 - Then the output must match "mmloc_quantile_min:" # ok 720 - Then the output must match "mmloc_quantile_lower:" # ok 721 - Then the output must match "mmloc_quantile_median:" # ok 722 - Then the output must match "mmloc_quantile_upper:" # ok 723 - Then the output must match "mmloc_quantile_max:" # ok 724 - Then the output must match "mmloc_kurtosis:" # ok 725 - Then the output must match "mmloc_skewness:" # # Scenario "Hello, world" project ok 726 - Given I am in t/samples/hello_world/ # ok 727 - When I run "analizo metrics ." # ok 728 - Then the output must match "noa_mean:" # ok 729 - Then the output must match "noa_mode:" # ok 730 - Then the output must match "noa_standard_deviation:" # ok 731 - Then the output must match "noa_sum:" # ok 732 - Then the output must match "noa_variance:" # ok 733 - Then the output must match "noa_quantile_min:" # ok 734 - Then the output must match "noa_quantile_lower:" # ok 735 - Then the output must match "noa_quantile_median:" # ok 736 - Then the output must match "noa_quantile_upper:" # ok 737 - Then the output must match "noa_quantile_max:" # ok 738 - Then the output must match "noa_kurtosis:" # ok 739 - Then the output must match "noa_skewness:" # # Scenario "Hello, world" project ok 740 - Given I am in t/samples/hello_world/ # ok 741 - When I run "analizo metrics ." # ok 742 - Then the output must match "noc_mean:" # ok 743 - Then the output must match "noc_mode:" # ok 744 - Then the output must match "noc_standard_deviation:" # ok 745 - Then the output must match "noc_sum:" # ok 746 - Then the output must match "noc_variance:" # ok 747 - Then the output must match "noc_quantile_min:" # ok 748 - Then the output must match "noc_quantile_lower:" # ok 749 - Then the output must match "noc_quantile_median:" # ok 750 - Then the output must match "noc_quantile_upper:" # ok 751 - Then the output must match "noc_quantile_max:" # ok 752 - Then the output must match "noc_kurtosis:" # ok 753 - Then the output must match "noc_skewness:" # # Scenario "Hello, world" project ok 754 - Given I am in t/samples/hello_world/ # ok 755 - When I run "analizo metrics ." # ok 756 - Then the output must match "nom_mean:" # ok 757 - Then the output must match "nom_mode:" # ok 758 - Then the output must match "nom_standard_deviation:" # ok 759 - Then the output must match "nom_sum:" # ok 760 - Then the output must match "nom_variance:" # ok 761 - Then the output must match "nom_quantile_min:" # ok 762 - Then the output must match "nom_quantile_lower:" # ok 763 - Then the output must match "nom_quantile_median:" # ok 764 - Then the output must match "nom_quantile_upper:" # ok 765 - Then the output must match "nom_quantile_max:" # ok 766 - Then the output must match "nom_kurtosis:" # ok 767 - Then the output must match "nom_skewness:" # # Scenario "Hello, world" project ok 768 - Given I am in t/samples/hello_world/ # ok 769 - When I run "analizo metrics ." # ok 770 - Then the output must match "npm_mean:" # ok 771 - Then the output must match "npm_mode:" # ok 772 - Then the output must match "npm_standard_deviation:" # ok 773 - Then the output must match "npm_sum:" # ok 774 - Then the output must match "npm_variance:" # ok 775 - Then the output must match "npm_quantile_min:" # ok 776 - Then the output must match "npm_quantile_lower:" # ok 777 - Then the output must match "npm_quantile_median:" # ok 778 - Then the output must match "npm_quantile_upper:" # ok 779 - Then the output must match "npm_quantile_max:" # ok 780 - Then the output must match "npm_kurtosis:" # ok 781 - Then the output must match "npm_skewness:" # # Scenario "Hello, world" project ok 782 - Given I am in t/samples/hello_world/ # ok 783 - When I run "analizo metrics ." # ok 784 - Then the output must match "npa_mean:" # ok 785 - Then the output must match "npa_mode:" # ok 786 - Then the output must match "npa_standard_deviation:" # ok 787 - Then the output must match "npa_sum:" # ok 788 - Then the output must match "npa_variance:" # ok 789 - Then the output must match "npa_quantile_min:" # ok 790 - Then the output must match "npa_quantile_lower:" # ok 791 - Then the output must match "npa_quantile_median:" # ok 792 - Then the output must match "npa_quantile_upper:" # ok 793 - Then the output must match "npa_quantile_max:" # ok 794 - Then the output must match "npa_kurtosis:" # ok 795 - Then the output must match "npa_skewness:" # # Scenario "Hello, world" project ok 796 - Given I am in t/samples/hello_world/ # ok 797 - When I run "analizo metrics ." # ok 798 - Then the output must match "rfc_mean:" # ok 799 - Then the output must match "rfc_mode:" # ok 800 - Then the output must match "rfc_standard_deviation:" # ok 801 - Then the output must match "rfc_sum:" # ok 802 - Then the output must match "rfc_variance:" # ok 803 - Then the output must match "rfc_quantile_min:" # ok 804 - Then the output must match "rfc_quantile_lower:" # ok 805 - Then the output must match "rfc_quantile_median:" # ok 806 - Then the output must match "rfc_quantile_upper:" # ok 807 - Then the output must match "rfc_quantile_max:" # ok 808 - Then the output must match "rfc_kurtosis:" # ok 809 - Then the output must match "rfc_skewness:" # # Scenario "Hello, world" project ok 810 - Given I am in t/samples/hello_world/ # ok 811 - When I run "analizo metrics ." # ok 812 - Then the output must match "sc_mean:" # ok 813 - Then the output must match "sc_mode:" # ok 814 - Then the output must match "sc_standard_deviation:" # ok 815 - Then the output must match "sc_sum:" # ok 816 - Then the output must match "sc_variance:" # ok 817 - Then the output must match "sc_quantile_min:" # ok 818 - Then the output must match "sc_quantile_lower:" # ok 819 - Then the output must match "sc_quantile_median:" # ok 820 - Then the output must match "sc_quantile_upper:" # ok 821 - Then the output must match "sc_quantile_max:" # ok 822 - Then the output must match "sc_kurtosis:" # ok 823 - Then the output must match "sc_skewness:" # # Feature number of public methods metric # As a software developer I want to calculate the number of public methods per module metric So that I can evaluate my code # Scenario number of attributes in the "Animals" project ok 824 - Given I am in t/samples/polygons/cpp # ok 825 - When I run "analizo metrics ." # ok 826 - Then analizo must report that module CPolygon has npm = 2 # # Scenario number of attributes in the "Animals" project ok 827 - Given I am in t/samples/polygons/cpp # ok 828 - When I run "analizo metrics ." # ok 829 - Then analizo must report that module CTetragon has npm = 1 # # Scenario number of attributes in the "Animals" project ok 830 - Given I am in t/samples/polygons/java # ok 831 - When I run "analizo metrics ." # ok 832 - Then analizo must report that module Polygon has npm = 3 # # Scenario number of attributes in the "Animals" project ok 833 - Given I am in t/samples/polygons/csharp # ok 834 - When I run "analizo metrics ." # ok 835 - Then analizo must report that module Polygon has npm = 2 # # Scenario number of attributes in the "Animals" project ok 836 - Given I am in t/samples/animals/cpp # ok 837 - When I run "analizo metrics ." # ok 838 - Then analizo must report that module Animal has npm = 1 # # Scenario number of attributes in the "Animals" project ok 839 - Given I am in t/samples/animals/cpp # ok 840 - When I run "analizo metrics ." # ok 841 - Then analizo must report that module Cat has npm = 2 # # Scenario number of attributes in the "Animals" project ok 842 - Given I am in t/samples/animals/cpp # ok 843 - When I run "analizo metrics ." # ok 844 - Then analizo must report that module Dog has npm = 2 # # Scenario number of attributes in the "Animals" project ok 845 - Given I am in t/samples/animals/java # ok 846 - When I run "analizo metrics ." # ok 847 - Then analizo must report that module Animal has npm = 1 # # Scenario number of attributes in the "Animals" project ok 848 - Given I am in t/samples/animals/java # ok 849 - When I run "analizo metrics ." # ok 850 - Then analizo must report that module Cat has npm = 2 # # Scenario number of attributes in the "Animals" project ok 851 - Given I am in t/samples/animals/java # ok 852 - When I run "analizo metrics ." # ok 853 - Then analizo must report that module Dog has npm = 2 # # Scenario number of attributes in the "Animals" project ok 854 - Given I am in t/samples/animals/csharp # ok 855 - When I run "analizo metrics ." # ok 856 - Then analizo must report that module Animal has npm = 1 # # Scenario number of attributes in the "Animals" project ok 857 - Given I am in t/samples/animals/csharp # ok 858 - When I run "analizo metrics ." # ok 859 - Then analizo must report that module Cat has npm = 2 # # Scenario number of attributes in the "Animals" project ok 860 - Given I am in t/samples/animals/csharp # ok 861 - When I run "analizo metrics ." # ok 862 - Then analizo must report that module Dog has npm = 2 # # Feature number of attributes metric # As a software developer I want to calculate the number of attributes per module metric So that I can evaluate my code # Scenario number of attributes in the "Animals" project ok 863 - Given I am in t/samples/animals/cpp # ok 864 - When I run "analizo metrics ." # ok 865 - Then analizo must report that module Dog has noa = 1 # ok 866 - And analizo must report that module Cat has noa = 1 # ok 867 - And analizo must report that module main has noa = 0 # # Scenario number of attributes in the "Animals" project ok 868 - Given I am in t/samples/animals/java # ok 869 - When I run "analizo metrics ." # ok 870 - Then analizo must report that module Dog has noa = 1 # ok 871 - And analizo must report that module Cat has noa = 1 # ok 872 - And analizo must report that module Main has noa = 0 # # Scenario number of attributes in the "Animals" project ok 873 - Given I am in t/samples/animals/csharp # ok 874 - When I run "analizo metrics ." # ok 875 - Then analizo must report that module Dog has noa = 1 # ok 876 - And analizo must report that module Cat has noa = 1 # ok 877 - And analizo must report that module main has noa = 0 # # Feature number of abstract classes # As a software developer I want analizo to report the number of modules with at least a defined method in my code So that I can evaluate it # Scenario "Hello, world" project ok 878 - Given I am in t/samples/hello_world/cpp # ok 879 - When I run "analizo metrics ." # ok 880 - Then analizo must report that the project has total_modules_with_defined_attributes = 1 # # Scenario "Hello, world" project ok 881 - Given I am in t/samples/hello_world/java # ok 882 - When I run "analizo metrics ." # ok 883 - Then analizo must report that the project has total_modules_with_defined_attributes = 1 # # Scenario "Hello, world" project ok 884 - Given I am in t/samples/hello_world/csharp # ok 885 - When I run "analizo metrics ." # ok 886 - Then analizo must report that the project has total_modules_with_defined_attributes = 1 # # Scenario "Animals" project ok 887 - Given I am in t/samples/animals/cpp # ok 888 - When I run "analizo metrics ." # ok 889 - Then analizo must report that the project has total_modules_with_defined_attributes = 2 # # Scenario "Animals" project ok 890 - Given I am in t/samples/animals/java # ok 891 - When I run "analizo metrics ." # ok 892 - Then analizo must report that the project has total_modules_with_defined_attributes = 2 # # Scenario "Animals" project ok 893 - Given I am in t/samples/animals/csharp # ok 894 - When I run "analizo metrics ." # ok 895 - Then analizo must report that the project has total_modules_with_defined_attributes = 2 # # Feature total number of methods per abstract class # As a software developer I want analizo to report the number of abstract classes in my code So that I can evaluate it # Scenario "Hello, world" project ok 896 - Given I am in t/samples/hello_world/cpp # ok 897 - When I run "analizo metrics ." # ok 898 - Then analizo must report that the project has total_methods_per_abstract_class = 0 # # Scenario "Hello, world" project ok 899 - Given I am in t/samples/hello_world/java # ok 900 - When I run "analizo metrics ." # ok 901 - Then analizo must report that the project has total_methods_per_abstract_class = 0 # # Scenario "Hello, world" project ok 902 - Given I am in t/samples/hello_world/csharp # ok 903 - When I run "analizo metrics ." # ok 904 - Then analizo must report that the project has total_methods_per_abstract_class = 0 # # Scenario "Animals" project ok 905 - Given I am in t/samples/animals/cpp # ok 906 - When I run "analizo metrics ." # ok 907 - Then analizo must report that the project has total_methods_per_abstract_class = 1 # # Scenario "Animals" project ok 908 - Given I am in t/samples/animals/java # ok 909 - When I run "analizo metrics ." # ok 910 - Then analizo must report that the project has total_methods_per_abstract_class = 1 # # Scenario "Animals" project ok 911 - Given I am in t/samples/animals/csharp # ok 912 - When I run "analizo metrics ." # ok 913 - Then analizo must report that the project has total_methods_per_abstract_class = 1 # # Scenario "Polygons" project ok 914 - Given I am in t/samples/polygons/cpp # ok 915 - When I run "analizo metrics ." # ok 916 - Then analizo must report that the project has total_methods_per_abstract_class = 2.5 # # Scenario "Polygons" project ok 917 - Given I am in t/samples/polygons/java # ok 918 - When I run "analizo metrics ." # ok 919 - Then analizo must report that the project has total_methods_per_abstract_class = 2 # # Scenario "Polygons" project ok 920 - Given I am in t/samples/polygons/csharp # ok 921 - When I run "analizo metrics ." # ok 922 - Then analizo must report that the project has total_methods_per_abstract_class = 2 # # Feature number of abstract classes # As a software developer I want analizo to report the number of modules with at least a defined method in my code So that I can evaluate it # Scenario "Hello, world" project ok 923 - Given I am in t/samples/hello_world/cpp # ok 924 - When I run "analizo metrics ." # ok 925 - Then analizo must report that the project has total_modules_with_defined_methods = 2 # # Scenario "Hello, world" project ok 926 - Given I am in t/samples/hello_world/java # ok 927 - When I run "analizo metrics ." # ok 928 - Then analizo must report that the project has total_modules_with_defined_methods = 2 # # Scenario "Hello, world" project ok 929 - Given I am in t/samples/hello_world/csharp # ok 930 - When I run "analizo metrics ." # ok 931 - Then analizo must report that the project has total_modules_with_defined_methods = 2 # # Scenario "Animals" project ok 932 - Given I am in t/samples/animals/cpp # ok 933 - When I run "analizo metrics ." # ok 934 - Then analizo must report that the project has total_modules_with_defined_methods = 5 # # Scenario "Animals" project ok 935 - Given I am in t/samples/animals/java # ok 936 - When I run "analizo metrics ." # ok 937 - Then analizo must report that the project has total_modules_with_defined_methods = 5 # # Scenario "Animals" project ok 938 - Given I am in t/samples/animals/csharp # ok 939 - When I run "analizo metrics ." # ok 940 - Then analizo must report that the project has total_modules_with_defined_methods = 5 # # Feature output file for metrics tool # Scenario passing output file in the command line ok 941 - Given I am in . # ok 942 - When I run "analizo metrics --output output.yml.tmp t/samples/sample_basic/" # ok 943 - Then the contents of "output.yml.tmp" must match "module2" # ok 944 - And the exit status must be 0 # # Scenario passing output file without permission to write ok 945 - Given I am in . # ok 946 - When I run "touch output.tmp" # ok 947 - And I run "chmod 000 output.tmp" # ok 948 - And I run "analizo metrics --output output.tmp t/samples/sample_basic/" # ok 949 - Then the exit status must not be 0 # ok 950 - And analizo must emit a warning matching "Permission denied" # # Scenario passing output file in an unexisting directory ok 951 - Given I am in . # ok 952 - When I run "analizo metrics --output /this/directory/must/not/exists/output.yml t/samples" # ok 953 - Then the exit status must not be 0 # ok 954 - And analizo must emit a warning matching "No such file or directory" # # Feature number of abstract classes # As a software developer I want analizo to report the number of abstract classes in my code So that I can evaluate it # Scenario "Hello, world" project ok 955 - Given I am in t/samples/hello_world/cpp # ok 956 - When I run "analizo metrics ." # ok 957 - Then analizo must report that the project has total_abstract_classes = 0 # # Scenario "Hello, world" project ok 958 - Given I am in t/samples/hello_world/java # ok 959 - When I run "analizo metrics ." # ok 960 - Then analizo must report that the project has total_abstract_classes = 0 # # Scenario "Hello, world" project ok 961 - Given I am in t/samples/hello_world/csharp # ok 962 - When I run "analizo metrics ." # ok 963 - Then analizo must report that the project has total_abstract_classes = 0 # # Scenario "Animals" project ok 964 - Given I am in t/samples/animals/cpp # ok 965 - When I run "analizo metrics ." # ok 966 - Then analizo must report that the project has total_abstract_classes = 2 # # Scenario "Animals" project ok 967 - Given I am in t/samples/animals/java # ok 968 - When I run "analizo metrics ." # ok 969 - Then analizo must report that the project has total_abstract_classes = 2 # # Scenario "Animals" project ok 970 - Given I am in t/samples/animals/csharp # ok 971 - When I run "analizo metrics ." # ok 972 - Then analizo must report that the project has total_abstract_classes = 2 # # Scenario "Polygons" project ok 973 - Given I am in t/samples/polygons/cpp # ok 974 - When I run "analizo metrics ." # ok 975 - Then analizo must report that the project has total_abstract_classes = 2 # # Scenario "Polygons" project ok 976 - Given I am in t/samples/polygons/java # ok 977 - When I run "analizo metrics ." # ok 978 - Then analizo must report that the project has total_abstract_classes = 2 # # Scenario "Polygons" project ok 979 - Given I am in t/samples/polygons/csharp # ok 980 - When I run "analizo metrics ." # ok 981 - Then analizo must report that the project has total_abstract_classes = 2 # # Scenario "AbstractClass" project ok 982 - Given I am in t/samples/abstract_class/java # ok 983 - When I run "analizo metrics ." # ok 984 - Then analizo must report that the project has total_abstract_classes = 1 # ok 985 - And analizo must report that the project has total_methods_per_abstract_class = 6 # # Scenario "AbstractClass" project ok 986 - Given I am in t/samples/abstract_class/csharp # ok 987 - When I run "analizo metrics ." # ok 988 - Then analizo must report that the project has total_abstract_classes = 1 # ok 989 - And analizo must report that the project has total_methods_per_abstract_class = 1 # # Feature language filters # As a software developer in a multi-language project I want to analyze only one programming language So that the results are as correct as possible # Scenario filtering for C code ok 990 - Given I am in t/samples/mixed # ok 991 - When I run "analizo metrics --language c ." # ok 992 - Then the output must match "native_backend" # ok 993 - And the output must not match "UI" # ok 994 - And the output must not match "Backend" # ok 995 - And the output must not match "CSharp_Backend" # # Scenario filtering for Java code ok 996 - Given I am in t/samples/mixed # ok 997 - When I run "analizo metrics --language java ." # ok 998 - Then the output must match "UI" # ok 999 - And the output must match "Backend" # ok 1000 - And the output must not match "native_backend" # ok 1001 - And the output must not match "CSharp_Backend" # # Scenario filtering for CSharp code ok 1002 - Given I am in t/samples/mixed # ok 1003 - When I run "analizo metrics --language csharp ." # ok 1004 - Then the output must match "CSharp_Backend" # ok 1005 - And the output must not match "UI" # ok 1006 - And the output must not match "native_backend" # # Scenario listing languages ok 1007 - When I run "analizo metrics --language list" # ok 1008 - Then analizo must present a list of languages # 1..1008 ok All tests successful. Files=54, Tests=1627, 190 wallclock secs ( 0.55 usr 0.16 sys + 115.68 cusr 30.23 csys = 146.62 CPU) Result: PASS make[1]: Leaving directory '/build/reproducible-path/analizo-1.25.5' create-stamp debian/debhelper-build-stamp dh_prep dh_installdirs debian/rules override_dh_auto_install make[1]: Entering directory '/build/reproducible-path/analizo-1.25.5' dh_auto_install make -j42 install DESTDIR=/build/reproducible-path/analizo-1.25.5/debian/analizo AM_UPDATE_INFO_DIR=no PREFIX=/usr make[2]: Entering directory '/build/reproducible-path/analizo-1.25.5' Skip blib/lib/auto/share/dist/Analizo/README (unchanged) Skip blib/lib/auto/share/dist/Analizo/bash-completion/analizo (unchanged) Manifying 26 pod documents Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/profile.pl Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/GlobalMetrics.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/ModuleMetrics.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/ModuleMetric.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Extractor.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/FilenameFilter.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metrics.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/LanguageFilter.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Model.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Command.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Extractor/Doxyparse.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Filter/Client.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Command/help.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Command/files_graph.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Command/tree_evolution.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Command/metrics_batch.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Command/metrics.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Command/graph.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Command/metrics_history.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch/Git.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch/Runner.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch/Output.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch/Job.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch/Directories.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch/Output/DB.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch/Output/CSV.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch/Runner/Parallel.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch/Runner/Sequential.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch/Job/Git.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch/Job/Directories.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/GlobalMetric/MethodsPerAbstractClass.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/GlobalMetric/ChangeCost.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/GlobalMetric/TotalAbstractClasses.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/NumberOfAttributes.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/NumberOfChildren.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/AverageCycloComplexity.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/AfferentConnections.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/AverageNumberOfParameters.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/NumberOfPublicMethods.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/AverageMethodLinesOfCode.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/LackOfCohesionOfMethods.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/ResponseForClass.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/NumberOfPublicAttributes.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/StructuralComplexity.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/NumberOfMethods.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/CouplingBetweenObjects.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/LinesOfCode.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/DepthOfInheritanceTree.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/MaximumMethodLinesOfCode.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test/Analizo.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test/Analizo/Git.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test/Analizo/Class.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test/Analizo/BDD/Cucumber/Extension.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/auto/share/dist/Analizo/README Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/auto/share/dist/Analizo/bash-completion/analizo Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::NumberOfMethods.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::NumberOfChildren.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::ResponseForClass.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::GlobalMetric::ChangeCost.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::LinesOfCode.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Command::metrics.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Command::metrics_batch.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Command::graph.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::StructuralComplexity.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::CouplingBetweenObjects.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::NumberOfPublicMethods.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::NumberOfPublicAttributes.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::AverageMethodLinesOfCode.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::LackOfCohesionOfMethods.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metrics.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Command::metrics_history.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Command::tree_evolution.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Command.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Command::files_graph.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::AverageNumberOfParameters.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::NumberOfAttributes.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::AfferentConnections.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::AverageCycloComplexity.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::DepthOfInheritanceTree.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Command::help.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/bin/analizo make[2]: Leaving directory '/build/reproducible-path/analizo-1.25.5' rm -f -rv /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test removed '/build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test/Analizo/BDD/Cucumber/Extension.pm' removed directory '/build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test/Analizo/BDD/Cucumber' removed directory '/build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test/Analizo/BDD' removed '/build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test/Analizo/Git.pm' removed '/build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test/Analizo/Class.pm' removed directory '/build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test/Analizo' removed '/build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test/Analizo.pm' removed directory '/build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test' rm -f -v /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/profile.pl removed '/build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/profile.pl' make[1]: Leaving directory '/build/reproducible-path/analizo-1.25.5' dh_installdocs dh_installchangelogs dh_installexamples dh_installman dh_lintian dh_perl dh_link dh_strip_nondeterminism dh_compress dh_fixperms dh_missing dh_installdeb dh_gencontrol dh_md5sums dh_builddeb dpkg-deb: building package 'analizo' in '../analizo_1.25.5-1_all.deb'. dpkg-genbuildinfo --build=binary -O../analizo_1.25.5-1_amd64.buildinfo dpkg-genchanges --build=binary -O../analizo_1.25.5-1_amd64.changes dpkg-genchanges: info: binary-only upload (no source code included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: including full source code in upload I: copying local configuration I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env I: removing directory /srv/workspace/pbuilder/543764 and its subdirectories I: Current time: Wed Dec 24 23:39:29 -12 2025 I: pbuilder-time-stamp: 1766662770 Fri Nov 22 05:16:31 UTC 2024 I: 1st build successful. Starting 2nd build on remote node ionos1-amd64.debian.net. Fri Nov 22 05:16:31 UTC 2024 I: Preparing to do remote build '2' on ionos1-amd64.debian.net. Fri Nov 22 05:16:31 UTC 2024 - checking /var/lib/jenkins/offline_nodes if ionos1-amd64.debian.net is marked as down. Fri Nov 22 05:16:31 UTC 2024 - checking via ssh if ionos1-amd64.debian.net is up. removed '/tmp/read-only-fs-test-04j3tq' ==================================================================================== Fri Nov 22 05:16:32 UTC 2024 - running /srv/jenkins/bin/reproducible_build.sh (for job /srv/jenkins/bin/reproducible_build.sh) on ionos1-amd64, called using "2 analizo trixie /srv/reproducible-results/rbuild-debian/r-b-build.WRkbw2e7 1.25.5-1" as arguments. Fri Nov 22 05:16:32 UTC 2024 - actually running "reproducible_build.sh" (md5sum 68e686e434c9ab7bc3ec047d8b309cbc) as "/tmp/jenkins-script-2CmaHOqw" $ git clone https://salsa.debian.org/qa/jenkins.debian.net.git ; more CONTRIBUTING Fri Nov 22 05:16:32 UTC 2024 I: Downloading source for trixie/analizo=1.25.5-1 Reading package lists... NOTICE: 'analizo' packaging is maintained in the 'Git' version control system at: https://salsa.debian.org/perl-team/modules/packages/analizo.git Please use: git clone https://salsa.debian.org/perl-team/modules/packages/analizo.git to retrieve the latest (possibly unreleased) updates to the package. Need to get 195 kB of source archives. Get:1 http://deb.debian.org/debian trixie/main analizo 1.25.5-1 (dsc) [3368 B] Get:2 http://deb.debian.org/debian trixie/main analizo 1.25.5-1 (tar) [184 kB] Get:3 http://deb.debian.org/debian trixie/main analizo 1.25.5-1 (diff) [7072 B] Fetched 195 kB in 0s (2426 kB/s) Download complete and in download only mode Reading package lists... NOTICE: 'analizo' packaging is maintained in the 'Git' version control system at: https://salsa.debian.org/perl-team/modules/packages/analizo.git Please use: git clone https://salsa.debian.org/perl-team/modules/packages/analizo.git to retrieve the latest (possibly unreleased) updates to the package. Need to get 195 kB of source archives. Get:1 http://deb.debian.org/debian trixie/main analizo 1.25.5-1 (dsc) [3368 B] Get:2 http://deb.debian.org/debian trixie/main analizo 1.25.5-1 (tar) [184 kB] Get:3 http://deb.debian.org/debian trixie/main analizo 1.25.5-1 (diff) [7072 B] Fetched 195 kB in 0s (2426 kB/s) Download complete and in download only mode ============================================================================= Re-Building analizo in trixie on amd64 on ionos1-amd64 now. Date: Fri Nov 22 05:16:32 UTC 2024 Date UTC: Fri Nov 22 05:16:32 UTC 2024 ============================================================================= ++ mktemp -t pbuilderrc_XXXX --tmpdir=/srv/reproducible-results/rbuild-debian/r-b-build.WRkbw2e7 + local TMPCFG=/srv/reproducible-results/rbuild-debian/r-b-build.WRkbw2e7/pbuilderrc_ZO1o + case ${ARCH} in + case $ARCH in + locale=et_EE + language=et + case "${SUITE}" in + reproducible_buildflags=+all + extra_deb_build_options= + case "${SRCPACKAGE}" in + cat + echo BUILDDIR=/build/reproducible-path + '[' analizo = debian-installer -o analizo = debian-installer-netboot-images ']' + pbuilder_options=() + local pbuilder_options + DEBBUILDOPTS=-b + BINARYTARGET= + '[' analizo = u-boot ']' + case "${SRCPACKAGE}" in + PBUILDERTIMEOUT=24 + local PRESULT=0 + sudo timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.WRkbw2e7/pbuilderrc_ZO1o --distribution trixie --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.WRkbw2e7/b2 --logfile b2/build.log analizo_1.25.5-1.dsc W: /root/.pbuilderrc does not exist I: Logging to b2/build.log I: pbuilder: network access will be disabled during build I: Current time: Fri Nov 22 19:16:33 +14 2024 I: pbuilder-time-stamp: 1732252593 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz] I: copying local configuration W: --override-config is not set; not updating apt.conf Read the manpage for details. I: mounting /proc filesystem I: mounting /sys filesystem I: creating /{dev,run}/shm I: mounting /dev/pts filesystem I: redirecting /dev/ptmx to /dev/pts/ptmx I: policy-rc.d already exists I: Copying source file I: copying [analizo_1.25.5-1.dsc] I: copying [./analizo_1.25.5.orig.tar.gz] I: copying [./analizo_1.25.5-1.debian.tar.xz] I: Extracting source gpgv: Signature made Sun Nov 17 02:50:25 2024 gpgv: using RSA key D1E1316E93A760A8104D85FABB3A68018649AA06 gpgv: Can't check signature: No public key dpkg-source: warning: cannot verify inline signature for ./analizo_1.25.5-1.dsc: no acceptable signature found dpkg-source: info: extracting analizo in analizo-1.25.5 dpkg-source: info: unpacking analizo_1.25.5.orig.tar.gz dpkg-source: info: unpacking analizo_1.25.5-1.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying drop_local_lib dpkg-source: info: applying hotfix_for_acc_metric_test dpkg-source: info: applying fix_shebang dpkg-source: info: applying doxygen-1.9.8.patch I: Not using root during the build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/3247869/tmp/hooks/D01_modify_environment starting debug: Running on ionos1-amd64. I: Changing host+domainname to test build reproducibility I: Adding a custom variable just for the fun of it... I: Changing /bin/sh to bash '/bin/sh' -> '/bin/bash' lrwxrwxrwx 1 root root 9 Nov 22 05:16 /bin/sh -> /bin/bash I: Setting pbuilder2's login shell to /bin/bash I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other I: user script /srv/workspace/pbuilder/3247869/tmp/hooks/D01_modify_environment finished I: user script /srv/workspace/pbuilder/3247869/tmp/hooks/D02_print_environment starting I: set BASH=/bin/sh BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath BASH_ALIASES=() BASH_ARGC=() BASH_ARGV=() BASH_CMDS=() BASH_LINENO=([0]="12" [1]="0") BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") BASH_VERSINFO=([0]="5" [1]="2" [2]="32" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu") BASH_VERSION='5.2.32(1)-release' BUILDDIR=/build/reproducible-path BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' BUILDUSERNAME=pbuilder2 BUILD_ARCH=amd64 DEBIAN_FRONTEND=noninteractive DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=20 ' DIRSTACK=() DISTRIBUTION=trixie EUID=0 FUNCNAME=([0]="Echo" [1]="main") GROUPS=() HOME=/root HOSTNAME=i-capture-the-hostname HOSTTYPE=x86_64 HOST_ARCH=amd64 IFS=' ' INVOCATION_ID=0a813f810253435b8f3dc5e8515531d2 LANG=C LANGUAGE=et_EE:et LC_ALL=C MACHTYPE=x86_64-pc-linux-gnu MAIL=/var/mail/root OPTERR=1 OPTIND=1 OSTYPE=linux-gnu PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path PBCURRENTCOMMANDLINEOPERATION=build PBUILDER_OPERATION=build PBUILDER_PKGDATADIR=/usr/share/pbuilder PBUILDER_PKGLIBDIR=/usr/lib/pbuilder PBUILDER_SYSCONFDIR=/etc PIPESTATUS=([0]="0") POSIXLY_CORRECT=y PPID=3247869 PS4='+ ' PWD=/ SHELL=/bin/bash SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix SHLVL=3 SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.WRkbw2e7/pbuilderrc_ZO1o --distribution trixie --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.WRkbw2e7/b2 --logfile b2/build.log analizo_1.25.5-1.dsc' SUDO_GID=110 SUDO_UID=105 SUDO_USER=jenkins TERM=unknown TZ=/usr/share/zoneinfo/Etc/GMT-14 UID=0 USER=root _='I: set' http_proxy=http://46.16.76.132:3128 I: uname -a Linux i-capture-the-hostname 6.1.0-27-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.115-1 (2024-11-01) x86_64 GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 Aug 4 21:30 /bin -> usr/bin I: user script /srv/workspace/pbuilder/3247869/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: amd64 Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: debhelper-compat (= 13), doxygen-doxyparse, libapp-cmd-perl, libarchive-extract-perl, libchi-perl, libclass-accessor-perl, libclass-inspector-perl, libdbd-sqlite3-perl, libdbi-perl, libdigest-sha-perl, libenv-path-perl, libfile-copy-recursive-perl, libfile-homedir-perl, libfile-libmagic-perl, libfile-share-perl, libfile-sharedir-install-perl, libfile-sharedir-perl, libfile-slurp-perl, libfindbin-libs-perl, libgit-wrapper-perl, libgraph-perl, libgraph-readwrite-perl, libjson-perl, liblist-compare-perl, liblist-moreutils-perl, libstatistics-descriptive-perl, libterm-progressbar-perl, libterm-ui-perl, libtest-bdd-cucumber-perl, libtest-class-perl, libtest-exception-perl, libtest-mockmodule-perl, libtest-mockobject-perl, libyaml-libyaml-perl, libzmq-ffi-perl, perl dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19969 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on debhelper-compat (= 13); however: Package debhelper-compat is not installed. pbuilder-satisfydepends-dummy depends on doxygen-doxyparse; however: Package doxygen-doxyparse is not installed. pbuilder-satisfydepends-dummy depends on libapp-cmd-perl; however: Package libapp-cmd-perl is not installed. pbuilder-satisfydepends-dummy depends on libarchive-extract-perl; however: Package libarchive-extract-perl is not installed. pbuilder-satisfydepends-dummy depends on libchi-perl; however: Package libchi-perl is not installed. pbuilder-satisfydepends-dummy depends on libclass-accessor-perl; however: Package libclass-accessor-perl is not installed. pbuilder-satisfydepends-dummy depends on libclass-inspector-perl; however: Package libclass-inspector-perl is not installed. pbuilder-satisfydepends-dummy depends on libdbd-sqlite3-perl; however: Package libdbd-sqlite3-perl is not installed. pbuilder-satisfydepends-dummy depends on libdbi-perl; however: Package libdbi-perl is not installed. pbuilder-satisfydepends-dummy depends on libenv-path-perl; however: Package libenv-path-perl is not installed. pbuilder-satisfydepends-dummy depends on libfile-copy-recursive-perl; however: Package libfile-copy-recursive-perl is not installed. pbuilder-satisfydepends-dummy depends on libfile-homedir-perl; however: Package libfile-homedir-perl is not installed. pbuilder-satisfydepends-dummy depends on libfile-libmagic-perl; however: Package libfile-libmagic-perl is not installed. pbuilder-satisfydepends-dummy depends on libfile-share-perl; however: Package libfile-share-perl is not installed. pbuilder-satisfydepends-dummy depends on libfile-sharedir-install-perl; however: Package libfile-sharedir-install-perl is not installed. pbuilder-satisfydepends-dummy depends on libfile-sharedir-perl; however: Package libfile-sharedir-perl is not installed. pbuilder-satisfydepends-dummy depends on libfile-slurp-perl; however: Package libfile-slurp-perl is not installed. pbuilder-satisfydepends-dummy depends on libfindbin-libs-perl; however: Package libfindbin-libs-perl is not installed. pbuilder-satisfydepends-dummy depends on libgit-wrapper-perl; however: Package libgit-wrapper-perl is not installed. pbuilder-satisfydepends-dummy depends on libgraph-perl; however: Package libgraph-perl is not installed. pbuilder-satisfydepends-dummy depends on libgraph-readwrite-perl; however: Package libgraph-readwrite-perl is not installed. pbuilder-satisfydepends-dummy depends on libjson-perl; however: Package libjson-perl is not installed. pbuilder-satisfydepends-dummy depends on liblist-compare-perl; however: Package liblist-compare-perl is not installed. pbuilder-satisfydepends-dummy depends on liblist-moreutils-perl; however: Package liblist-moreutils-perl is not installed. pbuilder-satisfydepends-dummy depends on libstatistics-descriptive-perl; however: Package libstatistics-descriptive-perl is not installed. pbuilder-satisfydepends-dummy depends on libterm-progressbar-perl; however: Package libterm-progressbar-perl is not installed. pbuilder-satisfydepends-dummy depends on libterm-ui-perl; however: Package libterm-ui-perl is not installed. pbuilder-satisfydepends-dummy depends on libtest-bdd-cucumber-perl; however: Package libtest-bdd-cucumber-perl is not installed. pbuilder-satisfydepends-dummy depends on libtest-class-perl; however: Package libtest-class-perl is not installed. pbuilder-satisfydepends-dummy depends on libtest-exception-perl; however: Package libtest-exception-perl is not installed. pbuilder-satisfydepends-dummy depends on libtest-mockmodule-perl; however: Package libtest-mockmodule-perl is not installed. pbuilder-satisfydepends-dummy depends on libtest-mockobject-perl; however: Package libtest-mockobject-perl is not installed. pbuilder-satisfydepends-dummy depends on libyaml-libyaml-perl; however: Package libyaml-libyaml-perl is not installed. pbuilder-satisfydepends-dummy depends on libzmq-ffi-perl; however: Package libzmq-ffi-perl is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) The following NEW packages will be installed: autoconf{a} automake{a} autopoint{a} autotools-dev{a} bsdextrautils{a} ca-certificates{a} comerr-dev{a} debhelper{a} dh-autoreconf{a} dh-strip-nondeterminism{a} doxygen-doxyparse{a} dwz{a} file{a} gettext{a} gettext-base{a} git{a} git-man{a} groff-base{a} icu-devtools{a} intltool-debian{a} krb5-multidev{a} libalgorithm-c3-perl{a} libapp-cmd-perl{a} libarchive-extract-perl{a} libarchive-zip-perl{a} libb-hooks-endofscope-perl{a} libb-hooks-op-check-perl{a} libbrotli1{a} libbsd-dev{a} libcache-cache-perl{a} libcache-fastmmap-perl{a} libcapture-tiny-perl{a} libcarp-assert-perl{a} libchi-perl{a} libclang-cpp19{a} libclang1-19{a} libclass-accessor-perl{a} libclass-c3-perl{a} libclass-inspector-perl{a} libclass-load-perl{a} libclass-method-modifiers-perl{a} libclass-methodmaker-perl{a} libclass-xsaccessor-perl{a} libclone-perl{a} libcom-err2{a} libcompress-lz4-perl{a} libcompress-snappy-perl{a} libcontextual-return-perl{a} libcpanel-json-xs-perl{a} libcucumber-tagexpressions-perl{a} libcurl3t64-gnutls{a} libdata-optlist-perl{a} libdata-perl-perl{a} libdata-serializer-perl{a} libdbd-sqlite3-perl{a} libdbi-perl{a} libdebhelper-perl{a} libdevel-callchecker-perl{a} libdigest-jhash-perl{a} libdynaloader-functions-perl{a} libedit2{a} libelf1t64{a} libencode-locale-perl{a} libenv-path-perl{a} liberror-perl{a} libexpat1{a} libexporter-tiny-perl{a} libffi-checklib-perl{a} libffi-platypus-perl{a} libfile-chdir-perl{a} libfile-copy-recursive-perl{a} libfile-find-rule-perl{a} libfile-homedir-perl{a} libfile-libmagic-perl{a} libfile-listing-perl{a} libfile-share-perl{a} libfile-sharedir-install-perl{a} libfile-sharedir-perl{a} libfile-slurp-perl{a} libfile-stripnondeterminism-perl{a} libfile-which-perl{a} libfindbin-libs-perl{a} libfmt10{a} libgetopt-long-descriptive-perl{a} libgit-wrapper-perl{a} libgraph-perl{a} libgraph-readwrite-perl{a} libgssapi-krb5-2{a} libgssrpc4t64{a} libhash-moreutils-perl{a} libheap-perl{a} libhtml-parser-perl{a} libhtml-tagset-perl{a} libhtml-tree-perl{a} libhttp-cookies-perl{a} libhttp-date-perl{a} libhttp-message-perl{a} libhttp-negotiate-perl{a} libicu-dev{a} libicu72{a} libimport-into-perl{a} libio-all-perl{a} libio-html-perl{a} libio-socket-ssl-perl{a} libio-stringy-perl{a} libio-tiecombine-perl{a} libipc-sharelite-perl{a} libjson-maybexs-perl{a} libjson-perl{a} libk5crypto3{a} libkadm5clnt-mit12{a} libkadm5srv-mit12{a} libkdb5-10t64{a} libkeyutils1{a} libkrb5-3{a} libkrb5-dev{a} libkrb5support0{a} libldap-2.5-0{a} liblist-compare-perl{a} liblist-moreutils-perl{a} liblist-moreutils-xs-perl{a} libllvm19{a} liblog-any-perl{a} liblog-message-perl{a} liblog-message-simple-perl{a} liblwp-mediatypes-perl{a} liblwp-protocol-https-perl{a} libmagic-mgc{a} libmagic1t64{a} libmd-dev{a} libmodule-implementation-perl{a} libmodule-pluggable-perl{a} libmodule-runtime-perl{a} libmoo-perl{a} libmoox-handlesvia-perl{a} libmoox-types-mooselike-numeric-perl{a} libmoox-types-mooselike-perl{a} libmro-compat-perl{a} libnamespace-clean-perl{a} libnet-http-perl{a} libnet-ssleay-perl{a} libnghttp2-14{a} libnghttp3-9{a} libngtcp2-16{a} libngtcp2-crypto-gnutls8{a} libnorm-dev{a} libnorm1t64{a} libnumber-compare-perl{a} libossp-uuid-perl{a} libossp-uuid16{a} libpackage-stash-perl{a} libparams-classify-perl{a} libparams-util-perl{a} libparams-validate-perl{a} libparse-yapp-perl{a} libpath-class-perl{a} libpgm-5.3-0t64{a} libpgm-dev{a} libpipeline1{a} libpsl5t64{a} librole-tiny-perl{a} librtmp1{a} libsasl2-2{a} libsasl2-modules-db{a} libset-object-perl{a} libsnappy1v5{a} libsodium-dev{a} libsodium23{a} libsort-versions-perl{a} libspiffy-perl{a} libssh2-1t64{a} libstatistics-descriptive-perl{a} libstrictures-perl{a} libstring-rewriteprefix-perl{a} libsub-exporter-perl{a} libsub-exporter-progressive-perl{a} libsub-identify-perl{a} libsub-install-perl{a} libsub-name-perl{a} libsub-quote-perl{a} libsub-uplevel-perl{a} libsuper-perl{a} libtask-weaken-perl{a} libterm-progressbar-perl{a} libterm-readkey-perl{a} libterm-ui-perl{a} libtest-bdd-cucumber-perl{a} libtest-class-perl{a} libtest-exception-perl{a} libtest-mockmodule-perl{a} libtest-mockobject-perl{a} libtest2-suite-perl{a} libtext-glob-perl{a} libtime-duration-parse-perl{a} libtime-duration-perl{a} libtimedate-perl{a} libtool{a} libtry-tiny-perl{a} libtype-tiny-perl{a} libuchardet0{a} libuniversal-can-perl{a} libuniversal-isa-perl{a} liburi-perl{a} libvariable-magic-perl{a} libwant-perl{a} libwww-perl{a} libwww-robotrules-perl{a} libxml-parser-perl{a} libxml-writer-perl{a} libxml2{a} libxml2-dev{a} libyaml-0-2{a} libyaml-libyaml-perl{a} libyaml-perl{a} libz3-4{a} libzmq-ffi-perl{a} libzmq3-dev{a} libzmq5{a} m4{a} man-db{a} netbase{a} openssl{a} perl-openssl-defaults{a} po-debconf{a} sensible-utils{a} The following packages are RECOMMENDED but will NOT be installed: cppzmq-dev curl krb5-locales less libarchive-cpio-perl libclass-c3-xs-perl libdata-dump-perl libdevel-stacktrace-perl libhtml-form-perl libhtml-format-perl libhttp-daemon-perl libio-compress-brotli-perl libjson-xs-perl libldap-common libltdl-dev libmail-sendmail-perl libmailtools-perl libpackage-stash-xs-perl libref-util-perl libsasl2-modules libtype-tiny-xs-perl libxstring-perl lynx openssh-client publicsuffix wget 0 packages upgraded, 225 newly installed, 0 to remove and 0 not upgraded. Need to get 117 MB of archives. After unpacking 532 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian trixie/main amd64 netbase all 6.4 [12.8 kB] Get: 2 http://deb.debian.org/debian trixie/main amd64 sensible-utils all 0.0.24 [24.8 kB] Get: 3 http://deb.debian.org/debian trixie/main amd64 openssl amd64 3.3.2-2 [1382 kB] Get: 4 http://deb.debian.org/debian trixie/main amd64 ca-certificates all 20240203 [158 kB] Get: 5 http://deb.debian.org/debian trixie/main amd64 libmagic-mgc amd64 1:5.45-3+b1 [314 kB] Get: 6 http://deb.debian.org/debian trixie/main amd64 libmagic1t64 amd64 1:5.45-3+b1 [108 kB] Get: 7 http://deb.debian.org/debian trixie/main amd64 file amd64 1:5.45-3+b1 [43.3 kB] Get: 8 http://deb.debian.org/debian trixie/main amd64 gettext-base amd64 0.22.5-2 [200 kB] Get: 9 http://deb.debian.org/debian trixie/main amd64 libuchardet0 amd64 0.0.8-1+b2 [68.9 kB] Get: 10 http://deb.debian.org/debian trixie/main amd64 groff-base amd64 1.23.0-5 [1181 kB] Get: 11 http://deb.debian.org/debian trixie/main amd64 bsdextrautils amd64 2.40.2-11 [91.5 kB] Get: 12 http://deb.debian.org/debian trixie/main amd64 libpipeline1 amd64 1.5.8-1 [42.0 kB] Get: 13 http://deb.debian.org/debian trixie/main amd64 man-db amd64 2.13.0-1 [1420 kB] Get: 14 http://deb.debian.org/debian trixie/main amd64 m4 amd64 1.4.19-4 [287 kB] Get: 15 http://deb.debian.org/debian trixie/main amd64 autoconf all 2.72-3 [493 kB] Get: 16 http://deb.debian.org/debian trixie/main amd64 autotools-dev all 20220109.1 [51.6 kB] Get: 17 http://deb.debian.org/debian trixie/main amd64 automake all 1:1.16.5-1.3 [823 kB] Get: 18 http://deb.debian.org/debian trixie/main amd64 autopoint all 0.22.5-2 [723 kB] Get: 19 http://deb.debian.org/debian trixie/main amd64 libcom-err2 amd64 1.47.1-1+b1 [23.2 kB] Get: 20 http://deb.debian.org/debian trixie/main amd64 comerr-dev amd64 2.1-1.47.1-1+b1 [54.8 kB] Get: 21 http://deb.debian.org/debian trixie/main amd64 libdebhelper-perl all 13.20 [89.7 kB] Get: 22 http://deb.debian.org/debian trixie/main amd64 libtool all 2.4.7-8 [517 kB] Get: 23 http://deb.debian.org/debian trixie/main amd64 dh-autoreconf all 20 [17.1 kB] Get: 24 http://deb.debian.org/debian trixie/main amd64 libarchive-zip-perl all 1.68-1 [104 kB] Get: 25 http://deb.debian.org/debian trixie/main amd64 libfile-stripnondeterminism-perl all 1.14.0-1 [19.5 kB] Get: 26 http://deb.debian.org/debian trixie/main amd64 dh-strip-nondeterminism all 1.14.0-1 [8448 B] Get: 27 http://deb.debian.org/debian trixie/main amd64 libelf1t64 amd64 0.192-4 [189 kB] Get: 28 http://deb.debian.org/debian trixie/main amd64 dwz amd64 0.15-1+b1 [110 kB] Get: 29 http://deb.debian.org/debian trixie/main amd64 libicu72 amd64 72.1-5+b1 [9423 kB] Get: 30 http://deb.debian.org/debian trixie/main amd64 libxml2 amd64 2.12.7+dfsg+really2.9.14-0.2+b1 [699 kB] Get: 31 http://deb.debian.org/debian trixie/main amd64 gettext amd64 0.22.5-2 [1601 kB] Get: 32 http://deb.debian.org/debian trixie/main amd64 intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 33 http://deb.debian.org/debian trixie/main amd64 po-debconf all 1.0.21+nmu1 [248 kB] Get: 34 http://deb.debian.org/debian trixie/main amd64 debhelper all 13.20 [915 kB] Get: 35 http://deb.debian.org/debian trixie/main amd64 libedit2 amd64 3.1-20240808-1 [93.9 kB] Get: 36 http://deb.debian.org/debian trixie/main amd64 libz3-4 amd64 4.13.3-1 [8560 kB] Get: 37 http://deb.debian.org/debian trixie/main amd64 libllvm19 amd64 1:19.1.3-2 [26.0 MB] Get: 38 http://deb.debian.org/debian trixie/main amd64 libclang-cpp19 amd64 1:19.1.3-2 [13.2 MB] Get: 39 http://deb.debian.org/debian trixie/main amd64 libclang1-19 amd64 1:19.1.3-2 [7622 kB] Get: 40 http://deb.debian.org/debian trixie/main amd64 libfmt10 amd64 10.1.1+ds1-4 [127 kB] Get: 41 http://deb.debian.org/debian trixie/main amd64 doxygen-doxyparse amd64 1.9.8+ds-2+b3 [4935 kB] Get: 42 http://deb.debian.org/debian trixie/main amd64 libbrotli1 amd64 1.1.0-2+b6 [302 kB] Get: 43 http://deb.debian.org/debian trixie/main amd64 libkrb5support0 amd64 1.21.3-3 [32.5 kB] Get: 44 http://deb.debian.org/debian trixie/main amd64 libk5crypto3 amd64 1.21.3-3 [79.9 kB] Get: 45 http://deb.debian.org/debian trixie/main amd64 libkeyutils1 amd64 1.6.3-4 [9092 B] Get: 46 http://deb.debian.org/debian trixie/main amd64 libkrb5-3 amd64 1.21.3-3 [324 kB] Get: 47 http://deb.debian.org/debian trixie/main amd64 libgssapi-krb5-2 amd64 1.21.3-3 [136 kB] Get: 48 http://deb.debian.org/debian trixie/main amd64 libsasl2-modules-db amd64 2.1.28+dfsg1-8 [19.6 kB] Get: 49 http://deb.debian.org/debian trixie/main amd64 libsasl2-2 amd64 2.1.28+dfsg1-8 [57.3 kB] Get: 50 http://deb.debian.org/debian trixie/main amd64 libldap-2.5-0 amd64 2.5.18+dfsg-3+b1 [188 kB] Get: 51 http://deb.debian.org/debian trixie/main amd64 libnghttp2-14 amd64 1.64.0-1 [75.5 kB] Get: 52 http://deb.debian.org/debian trixie/main amd64 libnghttp3-9 amd64 1.4.0-1+b1 [63.6 kB] Get: 53 http://deb.debian.org/debian trixie/main amd64 libngtcp2-16 amd64 1.6.0-1 [122 kB] Get: 54 http://deb.debian.org/debian trixie/main amd64 libngtcp2-crypto-gnutls8 amd64 1.6.0-1 [19.6 kB] Get: 55 http://deb.debian.org/debian trixie/main amd64 libpsl5t64 amd64 0.21.2-1.1+b1 [57.2 kB] Get: 56 http://deb.debian.org/debian trixie/main amd64 librtmp1 amd64 2.4+20151223.gitfa8646d.1-2+b5 [58.8 kB] Get: 57 http://deb.debian.org/debian trixie/main amd64 libssh2-1t64 amd64 1.11.1-1 [245 kB] Get: 58 http://deb.debian.org/debian trixie/main amd64 libcurl3t64-gnutls amd64 8.11.0-1 [359 kB] Get: 59 http://deb.debian.org/debian trixie/main amd64 libexpat1 amd64 2.6.4-1 [106 kB] Get: 60 http://deb.debian.org/debian trixie/main amd64 liberror-perl all 0.17029-2 [29.0 kB] Get: 61 http://deb.debian.org/debian trixie/main amd64 git-man all 1:2.45.2-1 [2158 kB] Get: 62 http://deb.debian.org/debian trixie/main amd64 git amd64 1:2.45.2-1 [8645 kB] Get: 63 http://deb.debian.org/debian trixie/main amd64 icu-devtools amd64 72.1-5+b1 [210 kB] Get: 64 http://deb.debian.org/debian trixie/main amd64 libgssrpc4t64 amd64 1.21.3-3 [59.5 kB] Get: 65 http://deb.debian.org/debian trixie/main amd64 libkadm5clnt-mit12 amd64 1.21.3-3 [41.7 kB] Get: 66 http://deb.debian.org/debian trixie/main amd64 libkdb5-10t64 amd64 1.21.3-3 [42.0 kB] Get: 67 http://deb.debian.org/debian trixie/main amd64 libkadm5srv-mit12 amd64 1.21.3-3 [53.5 kB] Get: 68 http://deb.debian.org/debian trixie/main amd64 krb5-multidev amd64 1.21.3-3 [126 kB] Get: 69 http://deb.debian.org/debian trixie/main amd64 libalgorithm-c3-perl all 0.11-2 [10.8 kB] Get: 70 http://deb.debian.org/debian trixie/main amd64 libcapture-tiny-perl all 0.48-2 [24.6 kB] Get: 71 http://deb.debian.org/debian trixie/main amd64 libparams-util-perl amd64 1.102-3+b1 [24.4 kB] Get: 72 http://deb.debian.org/debian trixie/main amd64 libsub-install-perl all 0.929-1 [10.5 kB] Get: 73 http://deb.debian.org/debian trixie/main amd64 libdata-optlist-perl all 0.114-1 [10.6 kB] Get: 74 http://deb.debian.org/debian trixie/main amd64 libb-hooks-op-check-perl amd64 0.22-3+b2 [10.6 kB] Get: 75 http://deb.debian.org/debian trixie/main amd64 libdynaloader-functions-perl all 0.004-1 [12.1 kB] Get: 76 http://deb.debian.org/debian trixie/main amd64 libdevel-callchecker-perl amd64 0.009-1+b1 [16.2 kB] Get: 77 http://deb.debian.org/debian trixie/main amd64 libparams-classify-perl amd64 0.015-2+b4 [22.5 kB] Get: 78 http://deb.debian.org/debian trixie/main amd64 libmodule-runtime-perl all 0.016-2 [19.6 kB] Get: 79 http://deb.debian.org/debian trixie/main amd64 libtry-tiny-perl all 0.32-1 [22.9 kB] Get: 80 http://deb.debian.org/debian trixie/main amd64 libmodule-implementation-perl all 0.09-2 [12.6 kB] Get: 81 http://deb.debian.org/debian trixie/main amd64 libpackage-stash-perl all 0.40-1 [22.0 kB] Get: 82 http://deb.debian.org/debian trixie/main amd64 libclass-load-perl all 0.25-2 [15.3 kB] Get: 83 http://deb.debian.org/debian trixie/main amd64 libio-stringy-perl all 2.113-2 [48.3 kB] Get: 84 http://deb.debian.org/debian trixie/main amd64 libparams-validate-perl amd64 1.31-2+b3 [63.4 kB] Get: 85 http://deb.debian.org/debian trixie/main amd64 libsub-exporter-perl all 0.990-1 [50.6 kB] Get: 86 http://deb.debian.org/debian trixie/main amd64 libgetopt-long-descriptive-perl all 0.115-1 [27.6 kB] Get: 87 http://deb.debian.org/debian trixie/main amd64 libio-tiecombine-perl all 1.005-3 [10.8 kB] Get: 88 http://deb.debian.org/debian trixie/main amd64 libmodule-pluggable-perl all 5.2-5 [23.0 kB] Get: 89 http://deb.debian.org/debian trixie/main amd64 libstring-rewriteprefix-perl all 0.009-1 [7140 B] Get: 90 http://deb.debian.org/debian trixie/main amd64 libapp-cmd-perl all 0.336-1 [65.8 kB] Get: 91 http://deb.debian.org/debian trixie/main amd64 libarchive-extract-perl all 0.88-1 [26.3 kB] Get: 92 http://deb.debian.org/debian trixie/main amd64 libsub-exporter-progressive-perl all 0.001013-3 [7496 B] Get: 93 http://deb.debian.org/debian trixie/main amd64 libvariable-magic-perl amd64 0.64-1+b1 [44.9 kB] Get: 94 http://deb.debian.org/debian trixie/main amd64 libb-hooks-endofscope-perl all 0.28-1 [17.5 kB] Get: 95 http://deb.debian.org/debian trixie/main amd64 libmd-dev amd64 1.1.0-2+b1 [55.3 kB] Get: 96 http://deb.debian.org/debian trixie/main amd64 libbsd-dev amd64 0.12.2-2 [258 kB] Get: 97 http://deb.debian.org/debian trixie/main amd64 libipc-sharelite-perl amd64 0.17-5+b3 [23.1 kB] Get: 98 http://deb.debian.org/debian trixie/main amd64 libcache-cache-perl all 1.08-3 [63.4 kB] Get: 99 http://deb.debian.org/debian trixie/main amd64 libcompress-lz4-perl amd64 0.25+ds-2+b4 [11.9 kB] Get: 100 http://deb.debian.org/debian trixie/main amd64 libsnappy1v5 amd64 1.2.1-1+b1 [29.6 kB] Get: 101 http://deb.debian.org/debian trixie/main amd64 libcompress-snappy-perl amd64 0.25+ds-1+b1 [10.1 kB] Get: 102 http://deb.debian.org/debian trixie/main amd64 libcache-fastmmap-perl amd64 1.57-2+b4 [49.3 kB] Get: 103 http://deb.debian.org/debian trixie/main amd64 libcarp-assert-perl all 0.22-1 [16.7 kB] Get: 104 http://deb.debian.org/debian trixie/main amd64 libdata-serializer-perl all 0.65-2 [66.0 kB] Get: 105 http://deb.debian.org/debian trixie/main amd64 libdigest-jhash-perl amd64 0.10-2+b4 [13.8 kB] Get: 106 http://deb.debian.org/debian trixie/main amd64 libhash-moreutils-perl all 0.06-2 [10.8 kB] Get: 107 http://deb.debian.org/debian trixie/main amd64 libcpanel-json-xs-perl amd64 4.38-1+b1 [129 kB] Get: 108 http://deb.debian.org/debian trixie/main amd64 libjson-maybexs-perl all 1.004008-1 [12.9 kB] Get: 109 http://deb.debian.org/debian trixie/main amd64 libexporter-tiny-perl all 1.006002-1 [38.7 kB] Get: 110 http://deb.debian.org/debian trixie/main amd64 liblist-moreutils-xs-perl amd64 0.430-4+b2 [42.1 kB] Get: 111 http://deb.debian.org/debian trixie/main amd64 liblist-moreutils-perl all 0.430-2 [46.9 kB] Get: 112 http://deb.debian.org/debian trixie/main amd64 liblog-any-perl all 1.717-1 [78.9 kB] Get: 113 http://deb.debian.org/debian trixie/main amd64 libclass-method-modifiers-perl all 2.15-1 [18.0 kB] Get: 114 http://deb.debian.org/debian trixie/main amd64 libclass-xsaccessor-perl amd64 1.19-4+b4 [36.1 kB] Get: 115 http://deb.debian.org/debian trixie/main amd64 libimport-into-perl all 1.002005-2 [11.3 kB] Get: 116 http://deb.debian.org/debian trixie/main amd64 librole-tiny-perl all 2.002004-1 [21.4 kB] Get: 117 http://deb.debian.org/debian trixie/main amd64 libsub-quote-perl all 2.006008-1 [21.8 kB] Get: 118 http://deb.debian.org/debian trixie/main amd64 libmoo-perl all 2.005005-1 [58.0 kB] Get: 119 http://deb.debian.org/debian trixie/main amd64 libmoox-types-mooselike-perl all 0.29-2 [18.4 kB] Get: 120 http://deb.debian.org/debian trixie/main amd64 libmoox-types-mooselike-numeric-perl all 1.03-2 [5564 B] Get: 121 http://deb.debian.org/debian trixie/main amd64 libossp-uuid16 amd64 1.6.3-1 [31.7 kB] Get: 122 http://deb.debian.org/debian trixie/main amd64 libossp-uuid-perl amd64 1.6.3-1 [27.0 kB] Get: 123 http://deb.debian.org/debian trixie/main amd64 libtask-weaken-perl all 1.06-2 [9364 B] Get: 124 http://deb.debian.org/debian trixie/main amd64 libtime-duration-perl all 1.21-2 [13.1 kB] Get: 125 http://deb.debian.org/debian trixie/main amd64 libtime-duration-parse-perl all 0.16-1 [8520 B] Get: 126 http://deb.debian.org/debian trixie/main amd64 libtimedate-perl all 2.3300-2 [39.3 kB] Get: 127 http://deb.debian.org/debian trixie/main amd64 libchi-perl all 0.61-1 [111 kB] Get: 128 http://deb.debian.org/debian trixie/main amd64 libsub-name-perl amd64 0.27-1+b3 [12.5 kB] Get: 129 http://deb.debian.org/debian trixie/main amd64 libclass-accessor-perl all 0.51-2 [22.7 kB] Get: 130 http://deb.debian.org/debian trixie/main amd64 libclass-c3-perl all 0.35-2 [21.0 kB] Get: 131 http://deb.debian.org/debian trixie/main amd64 libclass-inspector-perl all 1.36-3 [17.5 kB] Get: 132 http://deb.debian.org/debian trixie/main amd64 libclass-methodmaker-perl amd64 2.25-1 [181 kB] Get: 133 http://deb.debian.org/debian trixie/main amd64 libclone-perl amd64 0.47-1+b1 [13.9 kB] Get: 134 http://deb.debian.org/debian trixie/main amd64 libwant-perl amd64 0.29-2+b4 [27.6 kB] Get: 135 http://deb.debian.org/debian trixie/main amd64 libcontextual-return-perl all 0.004014-4 [54.9 kB] Get: 136 http://deb.debian.org/debian trixie/main amd64 libcucumber-tagexpressions-perl all 6.1.0-1 [11.2 kB] Get: 137 http://deb.debian.org/debian trixie/main amd64 libstrictures-perl all 2.000006-1 [18.6 kB] Get: 138 http://deb.debian.org/debian trixie/main amd64 libdata-perl-perl all 0.002011-2 [40.8 kB] Get: 139 http://deb.debian.org/debian trixie/main amd64 libdbi-perl amd64 1.645-1+b1 [861 kB] Get: 140 http://deb.debian.org/debian trixie/main amd64 libdbd-sqlite3-perl amd64 1.76-1 [175 kB] Get: 141 http://deb.debian.org/debian trixie/main amd64 libencode-locale-perl all 1.05-3 [12.9 kB] Get: 142 http://deb.debian.org/debian trixie/main amd64 libenv-path-perl all 0.19-4 [19.1 kB] Get: 143 http://deb.debian.org/debian trixie/main amd64 libfile-which-perl all 1.27-2 [15.1 kB] Get: 144 http://deb.debian.org/debian trixie/main amd64 libffi-checklib-perl all 0.31-1 [19.4 kB] Get: 145 http://deb.debian.org/debian trixie/main amd64 libffi-platypus-perl amd64 2.09-1+b1 [331 kB] Get: 146 http://deb.debian.org/debian trixie/main amd64 libfile-chdir-perl all 0.1008-1.2 [11.9 kB] Get: 147 http://deb.debian.org/debian trixie/main amd64 libfile-copy-recursive-perl all 0.45-4 [20.0 kB] Get: 148 http://deb.debian.org/debian trixie/main amd64 libnumber-compare-perl all 0.03-3 [6332 B] Get: 149 http://deb.debian.org/debian trixie/main amd64 libtext-glob-perl all 0.11-3 [7676 B] Get: 150 http://deb.debian.org/debian trixie/main amd64 libfile-find-rule-perl all 0.34-3 [26.6 kB] Get: 151 http://deb.debian.org/debian trixie/main amd64 libfile-homedir-perl all 1.006-2 [42.4 kB] Get: 152 http://deb.debian.org/debian trixie/main amd64 libfile-libmagic-perl amd64 1.23-2+b2 [31.1 kB] Get: 153 http://deb.debian.org/debian trixie/main amd64 libhttp-date-perl all 6.06-1 [10.7 kB] Get: 154 http://deb.debian.org/debian trixie/main amd64 libfile-listing-perl all 6.16-1 [12.4 kB] Get: 155 http://deb.debian.org/debian trixie/main amd64 libfile-sharedir-perl all 1.118-3 [16.0 kB] Get: 156 http://deb.debian.org/debian trixie/main amd64 libfile-share-perl all 0.27-2 [7864 B] Get: 157 http://deb.debian.org/debian trixie/main amd64 libfile-sharedir-install-perl all 0.14-2 [11.6 kB] Get: 158 http://deb.debian.org/debian trixie/main amd64 libfile-slurp-perl all 9999.32-2 [26.7 kB] Get: 159 http://deb.debian.org/debian trixie/main amd64 libfindbin-libs-perl all 3.0.2-1 [29.7 kB] Get: 160 http://deb.debian.org/debian trixie/main amd64 libsort-versions-perl all 1.62-3 [8928 B] Get: 161 http://deb.debian.org/debian trixie/main amd64 libgit-wrapper-perl all 0.048-2 [33.4 kB] Get: 162 http://deb.debian.org/debian trixie/main amd64 libheap-perl all 0.80-5 [34.3 kB] Get: 163 http://deb.debian.org/debian trixie/main amd64 libset-object-perl amd64 1.42-1+b5 [37.6 kB] Get: 164 http://deb.debian.org/debian trixie/main amd64 libgraph-perl all 1:0.9729-1 [108 kB] Get: 165 http://deb.debian.org/debian trixie/main amd64 libspiffy-perl all 0.46-1 [25.7 kB] Get: 166 http://deb.debian.org/debian trixie/main amd64 libio-all-perl all 0.87-2 [67.3 kB] Get: 167 http://deb.debian.org/debian trixie/main amd64 libparse-yapp-perl all 1.21-4 [41.5 kB] Get: 168 http://deb.debian.org/debian trixie/main amd64 liburi-perl all 5.30-1 [105 kB] Get: 169 http://deb.debian.org/debian trixie/main amd64 libhtml-tagset-perl all 3.24-1 [14.7 kB] Get: 170 http://deb.debian.org/debian trixie/main amd64 libhtml-parser-perl amd64 3.83-1+b1 [99.7 kB] Get: 171 http://deb.debian.org/debian trixie/main amd64 libhtml-tree-perl all 5.07-3 [211 kB] Get: 172 http://deb.debian.org/debian trixie/main amd64 libio-html-perl all 1.004-3 [16.2 kB] Get: 173 http://deb.debian.org/debian trixie/main amd64 liblwp-mediatypes-perl all 6.04-2 [20.2 kB] Get: 174 http://deb.debian.org/debian trixie/main amd64 libhttp-message-perl all 7.00-2 [79.8 kB] Get: 175 http://deb.debian.org/debian trixie/main amd64 libhttp-cookies-perl all 6.11-1 [19.1 kB] Get: 176 http://deb.debian.org/debian trixie/main amd64 libhttp-negotiate-perl all 6.01-2 [13.1 kB] Get: 177 http://deb.debian.org/debian trixie/main amd64 perl-openssl-defaults amd64 7+b2 [6724 B] Get: 178 http://deb.debian.org/debian trixie/main amd64 libnet-ssleay-perl amd64 1.94-2 [339 kB] Get: 179 http://deb.debian.org/debian trixie/main amd64 libio-socket-ssl-perl all 2.089-1 [223 kB] Get: 180 http://deb.debian.org/debian trixie/main amd64 libnet-http-perl all 6.23-1 [23.9 kB] Get: 181 http://deb.debian.org/debian trixie/main amd64 liblwp-protocol-https-perl all 6.14-1 [10.8 kB] Get: 182 http://deb.debian.org/debian trixie/main amd64 libwww-robotrules-perl all 6.02-1 [12.9 kB] Get: 183 http://deb.debian.org/debian trixie/main amd64 libwww-perl all 6.77-1 [183 kB] Get: 184 http://deb.debian.org/debian trixie/main amd64 libxml-parser-perl amd64 2.47-1+b3 [198 kB] Get: 185 http://deb.debian.org/debian trixie/main amd64 libxml-writer-perl all 0.900-2 [26.8 kB] Get: 186 http://deb.debian.org/debian trixie/main amd64 libgraph-readwrite-perl all 2.10-1 [45.2 kB] Get: 187 http://deb.debian.org/debian trixie/main amd64 libicu-dev amd64 72.1-5+b1 [10.4 MB] Get: 188 http://deb.debian.org/debian trixie/main amd64 libjson-perl all 4.10000-1 [87.5 kB] Get: 189 http://deb.debian.org/debian trixie/main amd64 libkrb5-dev amd64 1.21.3-3 [15.7 kB] Get: 190 http://deb.debian.org/debian trixie/main amd64 liblist-compare-perl all 0.55-2 [65.7 kB] Get: 191 http://deb.debian.org/debian trixie/main amd64 liblog-message-perl all 0.8-3 [22.8 kB] Get: 192 http://deb.debian.org/debian trixie/main amd64 liblog-message-simple-perl all 0.10-3 [7676 B] Get: 193 http://deb.debian.org/debian trixie/main amd64 libmoox-handlesvia-perl all 0.001009-2 [18.4 kB] Get: 194 http://deb.debian.org/debian trixie/main amd64 libmro-compat-perl all 0.15-2 [11.8 kB] Get: 195 http://deb.debian.org/debian trixie/main amd64 libsub-identify-perl amd64 0.14-3+b3 [11.3 kB] Get: 196 http://deb.debian.org/debian trixie/main amd64 libnamespace-clean-perl all 0.27-2 [17.8 kB] Get: 197 http://deb.debian.org/debian trixie/main amd64 libnorm1t64 amd64 1.5.9+dfsg-3.1+b1 [221 kB] Get: 198 http://deb.debian.org/debian trixie/main amd64 libxml2-dev amd64 2.12.7+dfsg+really2.9.14-0.2+b1 [795 kB] Get: 199 http://deb.debian.org/debian trixie/main amd64 libnorm-dev amd64 1.5.9+dfsg-3.1+b1 [389 kB] Get: 200 http://deb.debian.org/debian trixie/main amd64 libpath-class-perl all 0.37-4 [42.7 kB] Get: 201 http://deb.debian.org/debian trixie/main amd64 libpgm-5.3-0t64 amd64 5.3.128~dfsg-2.1+b1 [162 kB] Get: 202 http://deb.debian.org/debian trixie/main amd64 libpgm-dev amd64 5.3.128~dfsg-2.1+b1 [195 kB] Get: 203 http://deb.debian.org/debian trixie/main amd64 libsodium23 amd64 1.0.18-1+b2 [165 kB] Get: 204 http://deb.debian.org/debian trixie/main amd64 libsodium-dev amd64 1.0.18-1+b2 [184 kB] Get: 205 http://deb.debian.org/debian trixie/main amd64 libstatistics-descriptive-perl all 3.0801-1 [62.8 kB] Get: 206 http://deb.debian.org/debian trixie/main amd64 libsub-uplevel-perl all 0.2800-3 [14.0 kB] Get: 207 http://deb.debian.org/debian trixie/main amd64 libsuper-perl all 1.20190531-1 [11.5 kB] Get: 208 http://deb.debian.org/debian trixie/main amd64 libterm-readkey-perl amd64 2.38-2+b4 [24.6 kB] Get: 209 http://deb.debian.org/debian trixie/main amd64 libterm-progressbar-perl all 2.23-1 [24.5 kB] Get: 210 http://deb.debian.org/debian trixie/main amd64 libterm-ui-perl all 0.50-1 [19.5 kB] Get: 211 http://deb.debian.org/debian trixie/main amd64 libtest2-suite-perl all 0.000163-1 [383 kB] Get: 212 http://deb.debian.org/debian trixie/main amd64 libtype-tiny-perl all 2.004000-1 [357 kB] Get: 213 http://deb.debian.org/debian trixie/main amd64 libyaml-perl all 1.31-1 [64.8 kB] Get: 214 http://deb.debian.org/debian trixie/main amd64 libtest-bdd-cucumber-perl all 0.86-1 [141 kB] Get: 215 http://deb.debian.org/debian trixie/main amd64 libtest-exception-perl all 0.43-3 [16.9 kB] Get: 216 http://deb.debian.org/debian trixie/main amd64 libtest-class-perl all 0.52-1 [56.6 kB] Get: 217 http://deb.debian.org/debian trixie/main amd64 libtest-mockmodule-perl all 0.178.0-1 [15.0 kB] Get: 218 http://deb.debian.org/debian trixie/main amd64 libuniversal-can-perl all 1.20140328-3 [11.9 kB] Get: 219 http://deb.debian.org/debian trixie/main amd64 libuniversal-isa-perl all 1.20171012-3 [8672 B] Get: 220 http://deb.debian.org/debian trixie/main amd64 libtest-mockobject-perl all 1.20200122-4 [26.7 kB] Get: 221 http://deb.debian.org/debian trixie/main amd64 libyaml-0-2 amd64 0.2.5-1+b2 [52.7 kB] Get: 222 http://deb.debian.org/debian trixie/main amd64 libyaml-libyaml-perl amd64 0.902.0+ds-2+b1 [35.5 kB] Get: 223 http://deb.debian.org/debian trixie/main amd64 libzmq5 amd64 4.3.5-1+b3 [283 kB] Get: 224 http://deb.debian.org/debian trixie/main amd64 libzmq3-dev amd64 4.3.5-1+b3 [494 kB] Get: 225 http://deb.debian.org/debian trixie/main amd64 libzmq-ffi-perl all 1.19-1 [31.5 kB] Fetched 117 MB in 7s (17.6 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package netbase. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19969 files and directories currently installed.) Preparing to unpack .../000-netbase_6.4_all.deb ... Unpacking netbase (6.4) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../001-sensible-utils_0.0.24_all.deb ... Unpacking sensible-utils (0.0.24) ... Selecting previously unselected package openssl. Preparing to unpack .../002-openssl_3.3.2-2_amd64.deb ... Unpacking openssl (3.3.2-2) ... Selecting previously unselected package ca-certificates. Preparing to unpack .../003-ca-certificates_20240203_all.deb ... Unpacking ca-certificates (20240203) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../004-libmagic-mgc_1%3a5.45-3+b1_amd64.deb ... Unpacking libmagic-mgc (1:5.45-3+b1) ... Selecting previously unselected package libmagic1t64:amd64. Preparing to unpack .../005-libmagic1t64_1%3a5.45-3+b1_amd64.deb ... Unpacking libmagic1t64:amd64 (1:5.45-3+b1) ... Selecting previously unselected package file. Preparing to unpack .../006-file_1%3a5.45-3+b1_amd64.deb ... Unpacking file (1:5.45-3+b1) ... Selecting previously unselected package gettext-base. Preparing to unpack .../007-gettext-base_0.22.5-2_amd64.deb ... Unpacking gettext-base (0.22.5-2) ... Selecting previously unselected package libuchardet0:amd64. Preparing to unpack .../008-libuchardet0_0.0.8-1+b2_amd64.deb ... Unpacking libuchardet0:amd64 (0.0.8-1+b2) ... Selecting previously unselected package groff-base. Preparing to unpack .../009-groff-base_1.23.0-5_amd64.deb ... Unpacking groff-base (1.23.0-5) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../010-bsdextrautils_2.40.2-11_amd64.deb ... Unpacking bsdextrautils (2.40.2-11) ... Selecting previously unselected package libpipeline1:amd64. Preparing to unpack .../011-libpipeline1_1.5.8-1_amd64.deb ... Unpacking libpipeline1:amd64 (1.5.8-1) ... Selecting previously unselected package man-db. Preparing to unpack .../012-man-db_2.13.0-1_amd64.deb ... Unpacking man-db (2.13.0-1) ... Selecting previously unselected package m4. Preparing to unpack .../013-m4_1.4.19-4_amd64.deb ... Unpacking m4 (1.4.19-4) ... Selecting previously unselected package autoconf. Preparing to unpack .../014-autoconf_2.72-3_all.deb ... Unpacking autoconf (2.72-3) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../015-autotools-dev_20220109.1_all.deb ... Unpacking autotools-dev (20220109.1) ... Selecting previously unselected package automake. Preparing to unpack .../016-automake_1%3a1.16.5-1.3_all.deb ... Unpacking automake (1:1.16.5-1.3) ... Selecting previously unselected package autopoint. Preparing to unpack .../017-autopoint_0.22.5-2_all.deb ... Unpacking autopoint (0.22.5-2) ... Selecting previously unselected package libcom-err2:amd64. Preparing to unpack .../018-libcom-err2_1.47.1-1+b1_amd64.deb ... Unpacking libcom-err2:amd64 (1.47.1-1+b1) ... Selecting previously unselected package comerr-dev:amd64. Preparing to unpack .../019-comerr-dev_2.1-1.47.1-1+b1_amd64.deb ... Unpacking comerr-dev:amd64 (2.1-1.47.1-1+b1) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../020-libdebhelper-perl_13.20_all.deb ... Unpacking libdebhelper-perl (13.20) ... Selecting previously unselected package libtool. Preparing to unpack .../021-libtool_2.4.7-8_all.deb ... Unpacking libtool (2.4.7-8) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../022-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../023-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../024-libfile-stripnondeterminism-perl_1.14.0-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.14.0-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../025-dh-strip-nondeterminism_1.14.0-1_all.deb ... Unpacking dh-strip-nondeterminism (1.14.0-1) ... Selecting previously unselected package libelf1t64:amd64. Preparing to unpack .../026-libelf1t64_0.192-4_amd64.deb ... Unpacking libelf1t64:amd64 (0.192-4) ... Selecting previously unselected package dwz. Preparing to unpack .../027-dwz_0.15-1+b1_amd64.deb ... Unpacking dwz (0.15-1+b1) ... Selecting previously unselected package libicu72:amd64. Preparing to unpack .../028-libicu72_72.1-5+b1_amd64.deb ... Unpacking libicu72:amd64 (72.1-5+b1) ... Selecting previously unselected package libxml2:amd64. Preparing to unpack .../029-libxml2_2.12.7+dfsg+really2.9.14-0.2+b1_amd64.deb ... Unpacking libxml2:amd64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Selecting previously unselected package gettext. Preparing to unpack .../030-gettext_0.22.5-2_amd64.deb ... Unpacking gettext (0.22.5-2) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../031-intltool-debian_0.35.0+20060710.6_all.deb ... Unpacking intltool-debian (0.35.0+20060710.6) ... Selecting previously unselected package po-debconf. Preparing to unpack .../032-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../033-debhelper_13.20_all.deb ... Unpacking debhelper (13.20) ... Selecting previously unselected package libedit2:amd64. Preparing to unpack .../034-libedit2_3.1-20240808-1_amd64.deb ... Unpacking libedit2:amd64 (3.1-20240808-1) ... Selecting previously unselected package libz3-4:amd64. Preparing to unpack .../035-libz3-4_4.13.3-1_amd64.deb ... Unpacking libz3-4:amd64 (4.13.3-1) ... Selecting previously unselected package libllvm19:amd64. Preparing to unpack .../036-libllvm19_1%3a19.1.3-2_amd64.deb ... Unpacking libllvm19:amd64 (1:19.1.3-2) ... Selecting previously unselected package libclang-cpp19. Preparing to unpack .../037-libclang-cpp19_1%3a19.1.3-2_amd64.deb ... Unpacking libclang-cpp19 (1:19.1.3-2) ... Selecting previously unselected package libclang1-19. Preparing to unpack .../038-libclang1-19_1%3a19.1.3-2_amd64.deb ... Unpacking libclang1-19 (1:19.1.3-2) ... Selecting previously unselected package libfmt10:amd64. Preparing to unpack .../039-libfmt10_10.1.1+ds1-4_amd64.deb ... Unpacking libfmt10:amd64 (10.1.1+ds1-4) ... Selecting previously unselected package doxygen-doxyparse. Preparing to unpack .../040-doxygen-doxyparse_1.9.8+ds-2+b3_amd64.deb ... Unpacking doxygen-doxyparse (1.9.8+ds-2+b3) ... Selecting previously unselected package libbrotli1:amd64. Preparing to unpack .../041-libbrotli1_1.1.0-2+b6_amd64.deb ... Unpacking libbrotli1:amd64 (1.1.0-2+b6) ... Selecting previously unselected package libkrb5support0:amd64. Preparing to unpack .../042-libkrb5support0_1.21.3-3_amd64.deb ... Unpacking libkrb5support0:amd64 (1.21.3-3) ... Selecting previously unselected package libk5crypto3:amd64. Preparing to unpack .../043-libk5crypto3_1.21.3-3_amd64.deb ... Unpacking libk5crypto3:amd64 (1.21.3-3) ... Selecting previously unselected package libkeyutils1:amd64. Preparing to unpack .../044-libkeyutils1_1.6.3-4_amd64.deb ... Unpacking libkeyutils1:amd64 (1.6.3-4) ... Selecting previously unselected package libkrb5-3:amd64. Preparing to unpack .../045-libkrb5-3_1.21.3-3_amd64.deb ... Unpacking libkrb5-3:amd64 (1.21.3-3) ... Selecting previously unselected package libgssapi-krb5-2:amd64. Preparing to unpack .../046-libgssapi-krb5-2_1.21.3-3_amd64.deb ... Unpacking libgssapi-krb5-2:amd64 (1.21.3-3) ... Selecting previously unselected package libsasl2-modules-db:amd64. Preparing to unpack .../047-libsasl2-modules-db_2.1.28+dfsg1-8_amd64.deb ... Unpacking libsasl2-modules-db:amd64 (2.1.28+dfsg1-8) ... Selecting previously unselected package libsasl2-2:amd64. Preparing to unpack .../048-libsasl2-2_2.1.28+dfsg1-8_amd64.deb ... Unpacking libsasl2-2:amd64 (2.1.28+dfsg1-8) ... Selecting previously unselected package libldap-2.5-0:amd64. Preparing to unpack .../049-libldap-2.5-0_2.5.18+dfsg-3+b1_amd64.deb ... Unpacking libldap-2.5-0:amd64 (2.5.18+dfsg-3+b1) ... Selecting previously unselected package libnghttp2-14:amd64. Preparing to unpack .../050-libnghttp2-14_1.64.0-1_amd64.deb ... Unpacking libnghttp2-14:amd64 (1.64.0-1) ... Selecting previously unselected package libnghttp3-9:amd64. Preparing to unpack .../051-libnghttp3-9_1.4.0-1+b1_amd64.deb ... Unpacking libnghttp3-9:amd64 (1.4.0-1+b1) ... Selecting previously unselected package libngtcp2-16:amd64. Preparing to unpack .../052-libngtcp2-16_1.6.0-1_amd64.deb ... Unpacking libngtcp2-16:amd64 (1.6.0-1) ... Selecting previously unselected package libngtcp2-crypto-gnutls8:amd64. Preparing to unpack .../053-libngtcp2-crypto-gnutls8_1.6.0-1_amd64.deb ... Unpacking libngtcp2-crypto-gnutls8:amd64 (1.6.0-1) ... Selecting previously unselected package libpsl5t64:amd64. Preparing to unpack .../054-libpsl5t64_0.21.2-1.1+b1_amd64.deb ... Unpacking libpsl5t64:amd64 (0.21.2-1.1+b1) ... Selecting previously unselected package librtmp1:amd64. Preparing to unpack .../055-librtmp1_2.4+20151223.gitfa8646d.1-2+b5_amd64.deb ... Unpacking librtmp1:amd64 (2.4+20151223.gitfa8646d.1-2+b5) ... Selecting previously unselected package libssh2-1t64:amd64. Preparing to unpack .../056-libssh2-1t64_1.11.1-1_amd64.deb ... Unpacking libssh2-1t64:amd64 (1.11.1-1) ... Selecting previously unselected package libcurl3t64-gnutls:amd64. Preparing to unpack .../057-libcurl3t64-gnutls_8.11.0-1_amd64.deb ... Unpacking libcurl3t64-gnutls:amd64 (8.11.0-1) ... Selecting previously unselected package libexpat1:amd64. Preparing to unpack .../058-libexpat1_2.6.4-1_amd64.deb ... Unpacking libexpat1:amd64 (2.6.4-1) ... Selecting previously unselected package liberror-perl. Preparing to unpack .../059-liberror-perl_0.17029-2_all.deb ... Unpacking liberror-perl (0.17029-2) ... Selecting previously unselected package git-man. Preparing to unpack .../060-git-man_1%3a2.45.2-1_all.deb ... Unpacking git-man (1:2.45.2-1) ... Selecting previously unselected package git. Preparing to unpack .../061-git_1%3a2.45.2-1_amd64.deb ... Unpacking git (1:2.45.2-1) ... Selecting previously unselected package icu-devtools. Preparing to unpack .../062-icu-devtools_72.1-5+b1_amd64.deb ... Unpacking icu-devtools (72.1-5+b1) ... Selecting previously unselected package libgssrpc4t64:amd64. Preparing to unpack .../063-libgssrpc4t64_1.21.3-3_amd64.deb ... Unpacking libgssrpc4t64:amd64 (1.21.3-3) ... Selecting previously unselected package libkadm5clnt-mit12:amd64. Preparing to unpack .../064-libkadm5clnt-mit12_1.21.3-3_amd64.deb ... Unpacking libkadm5clnt-mit12:amd64 (1.21.3-3) ... Selecting previously unselected package libkdb5-10t64:amd64. Preparing to unpack .../065-libkdb5-10t64_1.21.3-3_amd64.deb ... Unpacking libkdb5-10t64:amd64 (1.21.3-3) ... Selecting previously unselected package libkadm5srv-mit12:amd64. Preparing to unpack .../066-libkadm5srv-mit12_1.21.3-3_amd64.deb ... Unpacking libkadm5srv-mit12:amd64 (1.21.3-3) ... Selecting previously unselected package krb5-multidev:amd64. Preparing to unpack .../067-krb5-multidev_1.21.3-3_amd64.deb ... Unpacking krb5-multidev:amd64 (1.21.3-3) ... Selecting previously unselected package libalgorithm-c3-perl. Preparing to unpack .../068-libalgorithm-c3-perl_0.11-2_all.deb ... Unpacking libalgorithm-c3-perl (0.11-2) ... Selecting previously unselected package libcapture-tiny-perl. Preparing to unpack .../069-libcapture-tiny-perl_0.48-2_all.deb ... Unpacking libcapture-tiny-perl (0.48-2) ... Selecting previously unselected package libparams-util-perl. Preparing to unpack .../070-libparams-util-perl_1.102-3+b1_amd64.deb ... Unpacking libparams-util-perl (1.102-3+b1) ... Selecting previously unselected package libsub-install-perl. Preparing to unpack .../071-libsub-install-perl_0.929-1_all.deb ... Unpacking libsub-install-perl (0.929-1) ... Selecting previously unselected package libdata-optlist-perl. Preparing to unpack .../072-libdata-optlist-perl_0.114-1_all.deb ... Unpacking libdata-optlist-perl (0.114-1) ... Selecting previously unselected package libb-hooks-op-check-perl:amd64. Preparing to unpack .../073-libb-hooks-op-check-perl_0.22-3+b2_amd64.deb ... Unpacking libb-hooks-op-check-perl:amd64 (0.22-3+b2) ... Selecting previously unselected package libdynaloader-functions-perl. Preparing to unpack .../074-libdynaloader-functions-perl_0.004-1_all.deb ... Unpacking libdynaloader-functions-perl (0.004-1) ... Selecting previously unselected package libdevel-callchecker-perl:amd64. Preparing to unpack .../075-libdevel-callchecker-perl_0.009-1+b1_amd64.deb ... Unpacking libdevel-callchecker-perl:amd64 (0.009-1+b1) ... Selecting previously unselected package libparams-classify-perl:amd64. Preparing to unpack .../076-libparams-classify-perl_0.015-2+b4_amd64.deb ... Unpacking libparams-classify-perl:amd64 (0.015-2+b4) ... Selecting previously unselected package libmodule-runtime-perl. Preparing to unpack .../077-libmodule-runtime-perl_0.016-2_all.deb ... Unpacking libmodule-runtime-perl (0.016-2) ... Selecting previously unselected package libtry-tiny-perl. Preparing to unpack .../078-libtry-tiny-perl_0.32-1_all.deb ... Unpacking libtry-tiny-perl (0.32-1) ... Selecting previously unselected package libmodule-implementation-perl. Preparing to unpack .../079-libmodule-implementation-perl_0.09-2_all.deb ... Unpacking libmodule-implementation-perl (0.09-2) ... Selecting previously unselected package libpackage-stash-perl. Preparing to unpack .../080-libpackage-stash-perl_0.40-1_all.deb ... Unpacking libpackage-stash-perl (0.40-1) ... Selecting previously unselected package libclass-load-perl. Preparing to unpack .../081-libclass-load-perl_0.25-2_all.deb ... Unpacking libclass-load-perl (0.25-2) ... Selecting previously unselected package libio-stringy-perl. Preparing to unpack .../082-libio-stringy-perl_2.113-2_all.deb ... Unpacking libio-stringy-perl (2.113-2) ... Selecting previously unselected package libparams-validate-perl:amd64. Preparing to unpack .../083-libparams-validate-perl_1.31-2+b3_amd64.deb ... Unpacking libparams-validate-perl:amd64 (1.31-2+b3) ... Selecting previously unselected package libsub-exporter-perl. Preparing to unpack .../084-libsub-exporter-perl_0.990-1_all.deb ... Unpacking libsub-exporter-perl (0.990-1) ... Selecting previously unselected package libgetopt-long-descriptive-perl. Preparing to unpack .../085-libgetopt-long-descriptive-perl_0.115-1_all.deb ... Unpacking libgetopt-long-descriptive-perl (0.115-1) ... Selecting previously unselected package libio-tiecombine-perl. Preparing to unpack .../086-libio-tiecombine-perl_1.005-3_all.deb ... Unpacking libio-tiecombine-perl (1.005-3) ... Selecting previously unselected package libmodule-pluggable-perl. Preparing to unpack .../087-libmodule-pluggable-perl_5.2-5_all.deb ... Unpacking libmodule-pluggable-perl (5.2-5) ... Selecting previously unselected package libstring-rewriteprefix-perl. Preparing to unpack .../088-libstring-rewriteprefix-perl_0.009-1_all.deb ... Unpacking libstring-rewriteprefix-perl (0.009-1) ... Selecting previously unselected package libapp-cmd-perl. Preparing to unpack .../089-libapp-cmd-perl_0.336-1_all.deb ... Unpacking libapp-cmd-perl (0.336-1) ... Selecting previously unselected package libarchive-extract-perl. Preparing to unpack .../090-libarchive-extract-perl_0.88-1_all.deb ... Unpacking libarchive-extract-perl (0.88-1) ... Selecting previously unselected package libsub-exporter-progressive-perl. Preparing to unpack .../091-libsub-exporter-progressive-perl_0.001013-3_all.deb ... Unpacking libsub-exporter-progressive-perl (0.001013-3) ... Selecting previously unselected package libvariable-magic-perl. Preparing to unpack .../092-libvariable-magic-perl_0.64-1+b1_amd64.deb ... Unpacking libvariable-magic-perl (0.64-1+b1) ... Selecting previously unselected package libb-hooks-endofscope-perl. Preparing to unpack .../093-libb-hooks-endofscope-perl_0.28-1_all.deb ... Unpacking libb-hooks-endofscope-perl (0.28-1) ... Selecting previously unselected package libmd-dev:amd64. Preparing to unpack .../094-libmd-dev_1.1.0-2+b1_amd64.deb ... Unpacking libmd-dev:amd64 (1.1.0-2+b1) ... Selecting previously unselected package libbsd-dev:amd64. Preparing to unpack .../095-libbsd-dev_0.12.2-2_amd64.deb ... Unpacking libbsd-dev:amd64 (0.12.2-2) ... Selecting previously unselected package libipc-sharelite-perl. Preparing to unpack .../096-libipc-sharelite-perl_0.17-5+b3_amd64.deb ... Unpacking libipc-sharelite-perl (0.17-5+b3) ... Selecting previously unselected package libcache-cache-perl. Preparing to unpack .../097-libcache-cache-perl_1.08-3_all.deb ... Unpacking libcache-cache-perl (1.08-3) ... Selecting previously unselected package libcompress-lz4-perl. Preparing to unpack .../098-libcompress-lz4-perl_0.25+ds-2+b4_amd64.deb ... Unpacking libcompress-lz4-perl (0.25+ds-2+b4) ... Selecting previously unselected package libsnappy1v5:amd64. Preparing to unpack .../099-libsnappy1v5_1.2.1-1+b1_amd64.deb ... Unpacking libsnappy1v5:amd64 (1.2.1-1+b1) ... Selecting previously unselected package libcompress-snappy-perl. Preparing to unpack .../100-libcompress-snappy-perl_0.25+ds-1+b1_amd64.deb ... Unpacking libcompress-snappy-perl (0.25+ds-1+b1) ... Selecting previously unselected package libcache-fastmmap-perl. Preparing to unpack .../101-libcache-fastmmap-perl_1.57-2+b4_amd64.deb ... Unpacking libcache-fastmmap-perl (1.57-2+b4) ... Selecting previously unselected package libcarp-assert-perl. Preparing to unpack .../102-libcarp-assert-perl_0.22-1_all.deb ... Unpacking libcarp-assert-perl (0.22-1) ... Selecting previously unselected package libdata-serializer-perl. Preparing to unpack .../103-libdata-serializer-perl_0.65-2_all.deb ... Unpacking libdata-serializer-perl (0.65-2) ... Selecting previously unselected package libdigest-jhash-perl. Preparing to unpack .../104-libdigest-jhash-perl_0.10-2+b4_amd64.deb ... Unpacking libdigest-jhash-perl (0.10-2+b4) ... Selecting previously unselected package libhash-moreutils-perl. Preparing to unpack .../105-libhash-moreutils-perl_0.06-2_all.deb ... Unpacking libhash-moreutils-perl (0.06-2) ... Selecting previously unselected package libcpanel-json-xs-perl:amd64. Preparing to unpack .../106-libcpanel-json-xs-perl_4.38-1+b1_amd64.deb ... Unpacking libcpanel-json-xs-perl:amd64 (4.38-1+b1) ... Selecting previously unselected package libjson-maybexs-perl. Preparing to unpack .../107-libjson-maybexs-perl_1.004008-1_all.deb ... Unpacking libjson-maybexs-perl (1.004008-1) ... Selecting previously unselected package libexporter-tiny-perl. Preparing to unpack .../108-libexporter-tiny-perl_1.006002-1_all.deb ... Unpacking libexporter-tiny-perl (1.006002-1) ... Selecting previously unselected package liblist-moreutils-xs-perl. Preparing to unpack .../109-liblist-moreutils-xs-perl_0.430-4+b2_amd64.deb ... Unpacking liblist-moreutils-xs-perl (0.430-4+b2) ... Selecting previously unselected package liblist-moreutils-perl. Preparing to unpack .../110-liblist-moreutils-perl_0.430-2_all.deb ... Unpacking liblist-moreutils-perl (0.430-2) ... Selecting previously unselected package liblog-any-perl. Preparing to unpack .../111-liblog-any-perl_1.717-1_all.deb ... Unpacking liblog-any-perl (1.717-1) ... Selecting previously unselected package libclass-method-modifiers-perl. Preparing to unpack .../112-libclass-method-modifiers-perl_2.15-1_all.deb ... Unpacking libclass-method-modifiers-perl (2.15-1) ... Selecting previously unselected package libclass-xsaccessor-perl. Preparing to unpack .../113-libclass-xsaccessor-perl_1.19-4+b4_amd64.deb ... Unpacking libclass-xsaccessor-perl (1.19-4+b4) ... Selecting previously unselected package libimport-into-perl. Preparing to unpack .../114-libimport-into-perl_1.002005-2_all.deb ... Unpacking libimport-into-perl (1.002005-2) ... Selecting previously unselected package librole-tiny-perl. Preparing to unpack .../115-librole-tiny-perl_2.002004-1_all.deb ... Unpacking librole-tiny-perl (2.002004-1) ... Selecting previously unselected package libsub-quote-perl. Preparing to unpack .../116-libsub-quote-perl_2.006008-1_all.deb ... Unpacking libsub-quote-perl (2.006008-1) ... Selecting previously unselected package libmoo-perl. Preparing to unpack .../117-libmoo-perl_2.005005-1_all.deb ... Unpacking libmoo-perl (2.005005-1) ... Selecting previously unselected package libmoox-types-mooselike-perl. Preparing to unpack .../118-libmoox-types-mooselike-perl_0.29-2_all.deb ... Unpacking libmoox-types-mooselike-perl (0.29-2) ... Selecting previously unselected package libmoox-types-mooselike-numeric-perl. Preparing to unpack .../119-libmoox-types-mooselike-numeric-perl_1.03-2_all.deb ... Unpacking libmoox-types-mooselike-numeric-perl (1.03-2) ... Selecting previously unselected package libossp-uuid16:amd64. Preparing to unpack .../120-libossp-uuid16_1.6.3-1_amd64.deb ... Unpacking libossp-uuid16:amd64 (1.6.3-1) ... Selecting previously unselected package libossp-uuid-perl. Preparing to unpack .../121-libossp-uuid-perl_1.6.3-1_amd64.deb ... Unpacking libossp-uuid-perl (1.6.3-1) ... Selecting previously unselected package libtask-weaken-perl. Preparing to unpack .../122-libtask-weaken-perl_1.06-2_all.deb ... Unpacking libtask-weaken-perl (1.06-2) ... Selecting previously unselected package libtime-duration-perl. Preparing to unpack .../123-libtime-duration-perl_1.21-2_all.deb ... Unpacking libtime-duration-perl (1.21-2) ... Selecting previously unselected package libtime-duration-parse-perl. Preparing to unpack .../124-libtime-duration-parse-perl_0.16-1_all.deb ... Unpacking libtime-duration-parse-perl (0.16-1) ... Selecting previously unselected package libtimedate-perl. Preparing to unpack .../125-libtimedate-perl_2.3300-2_all.deb ... Unpacking libtimedate-perl (2.3300-2) ... Selecting previously unselected package libchi-perl. Preparing to unpack .../126-libchi-perl_0.61-1_all.deb ... Unpacking libchi-perl (0.61-1) ... Selecting previously unselected package libsub-name-perl:amd64. Preparing to unpack .../127-libsub-name-perl_0.27-1+b3_amd64.deb ... Unpacking libsub-name-perl:amd64 (0.27-1+b3) ... Selecting previously unselected package libclass-accessor-perl. Preparing to unpack .../128-libclass-accessor-perl_0.51-2_all.deb ... Unpacking libclass-accessor-perl (0.51-2) ... Selecting previously unselected package libclass-c3-perl. Preparing to unpack .../129-libclass-c3-perl_0.35-2_all.deb ... Unpacking libclass-c3-perl (0.35-2) ... Selecting previously unselected package libclass-inspector-perl. Preparing to unpack .../130-libclass-inspector-perl_1.36-3_all.deb ... Unpacking libclass-inspector-perl (1.36-3) ... Selecting previously unselected package libclass-methodmaker-perl:amd64. Preparing to unpack .../131-libclass-methodmaker-perl_2.25-1_amd64.deb ... Unpacking libclass-methodmaker-perl:amd64 (2.25-1) ... Selecting previously unselected package libclone-perl:amd64. Preparing to unpack .../132-libclone-perl_0.47-1+b1_amd64.deb ... Unpacking libclone-perl:amd64 (0.47-1+b1) ... Selecting previously unselected package libwant-perl. Preparing to unpack .../133-libwant-perl_0.29-2+b4_amd64.deb ... Unpacking libwant-perl (0.29-2+b4) ... Selecting previously unselected package libcontextual-return-perl. Preparing to unpack .../134-libcontextual-return-perl_0.004014-4_all.deb ... Unpacking libcontextual-return-perl (0.004014-4) ... Selecting previously unselected package libcucumber-tagexpressions-perl. Preparing to unpack .../135-libcucumber-tagexpressions-perl_6.1.0-1_all.deb ... Unpacking libcucumber-tagexpressions-perl (6.1.0-1) ... Selecting previously unselected package libstrictures-perl. Preparing to unpack .../136-libstrictures-perl_2.000006-1_all.deb ... Unpacking libstrictures-perl (2.000006-1) ... Selecting previously unselected package libdata-perl-perl. Preparing to unpack .../137-libdata-perl-perl_0.002011-2_all.deb ... Unpacking libdata-perl-perl (0.002011-2) ... Selecting previously unselected package libdbi-perl:amd64. Preparing to unpack .../138-libdbi-perl_1.645-1+b1_amd64.deb ... Unpacking libdbi-perl:amd64 (1.645-1+b1) ... Selecting previously unselected package libdbd-sqlite3-perl:amd64. Preparing to unpack .../139-libdbd-sqlite3-perl_1.76-1_amd64.deb ... Unpacking libdbd-sqlite3-perl:amd64 (1.76-1) ... Selecting previously unselected package libencode-locale-perl. Preparing to unpack .../140-libencode-locale-perl_1.05-3_all.deb ... Unpacking libencode-locale-perl (1.05-3) ... Selecting previously unselected package libenv-path-perl. Preparing to unpack .../141-libenv-path-perl_0.19-4_all.deb ... Unpacking libenv-path-perl (0.19-4) ... Selecting previously unselected package libfile-which-perl. Preparing to unpack .../142-libfile-which-perl_1.27-2_all.deb ... Unpacking libfile-which-perl (1.27-2) ... Selecting previously unselected package libffi-checklib-perl. Preparing to unpack .../143-libffi-checklib-perl_0.31-1_all.deb ... Unpacking libffi-checklib-perl (0.31-1) ... Selecting previously unselected package libffi-platypus-perl. Preparing to unpack .../144-libffi-platypus-perl_2.09-1+b1_amd64.deb ... Unpacking libffi-platypus-perl (2.09-1+b1) ... Selecting previously unselected package libfile-chdir-perl. Preparing to unpack .../145-libfile-chdir-perl_0.1008-1.2_all.deb ... Unpacking libfile-chdir-perl (0.1008-1.2) ... Selecting previously unselected package libfile-copy-recursive-perl. Preparing to unpack .../146-libfile-copy-recursive-perl_0.45-4_all.deb ... Unpacking libfile-copy-recursive-perl (0.45-4) ... Selecting previously unselected package libnumber-compare-perl. Preparing to unpack .../147-libnumber-compare-perl_0.03-3_all.deb ... Unpacking libnumber-compare-perl (0.03-3) ... Selecting previously unselected package libtext-glob-perl. Preparing to unpack .../148-libtext-glob-perl_0.11-3_all.deb ... Unpacking libtext-glob-perl (0.11-3) ... Selecting previously unselected package libfile-find-rule-perl. Preparing to unpack .../149-libfile-find-rule-perl_0.34-3_all.deb ... Unpacking libfile-find-rule-perl (0.34-3) ... Selecting previously unselected package libfile-homedir-perl. Preparing to unpack .../150-libfile-homedir-perl_1.006-2_all.deb ... Unpacking libfile-homedir-perl (1.006-2) ... Selecting previously unselected package libfile-libmagic-perl. Preparing to unpack .../151-libfile-libmagic-perl_1.23-2+b2_amd64.deb ... Unpacking libfile-libmagic-perl (1.23-2+b2) ... Selecting previously unselected package libhttp-date-perl. Preparing to unpack .../152-libhttp-date-perl_6.06-1_all.deb ... Unpacking libhttp-date-perl (6.06-1) ... Selecting previously unselected package libfile-listing-perl. Preparing to unpack .../153-libfile-listing-perl_6.16-1_all.deb ... Unpacking libfile-listing-perl (6.16-1) ... Selecting previously unselected package libfile-sharedir-perl. Preparing to unpack .../154-libfile-sharedir-perl_1.118-3_all.deb ... Unpacking libfile-sharedir-perl (1.118-3) ... Selecting previously unselected package libfile-share-perl. Preparing to unpack .../155-libfile-share-perl_0.27-2_all.deb ... Unpacking libfile-share-perl (0.27-2) ... Selecting previously unselected package libfile-sharedir-install-perl. Preparing to unpack .../156-libfile-sharedir-install-perl_0.14-2_all.deb ... Unpacking libfile-sharedir-install-perl (0.14-2) ... Selecting previously unselected package libfile-slurp-perl. Preparing to unpack .../157-libfile-slurp-perl_9999.32-2_all.deb ... Unpacking libfile-slurp-perl (9999.32-2) ... Selecting previously unselected package libfindbin-libs-perl. Preparing to unpack .../158-libfindbin-libs-perl_3.0.2-1_all.deb ... Unpacking libfindbin-libs-perl (3.0.2-1) ... Selecting previously unselected package libsort-versions-perl. Preparing to unpack .../159-libsort-versions-perl_1.62-3_all.deb ... Unpacking libsort-versions-perl (1.62-3) ... Selecting previously unselected package libgit-wrapper-perl. Preparing to unpack .../160-libgit-wrapper-perl_0.048-2_all.deb ... Unpacking libgit-wrapper-perl (0.048-2) ... Selecting previously unselected package libheap-perl. Preparing to unpack .../161-libheap-perl_0.80-5_all.deb ... Unpacking libheap-perl (0.80-5) ... Selecting previously unselected package libset-object-perl. Preparing to unpack .../162-libset-object-perl_1.42-1+b5_amd64.deb ... Unpacking libset-object-perl (1.42-1+b5) ... Selecting previously unselected package libgraph-perl. Preparing to unpack .../163-libgraph-perl_1%3a0.9729-1_all.deb ... Unpacking libgraph-perl (1:0.9729-1) ... Selecting previously unselected package libspiffy-perl. Preparing to unpack .../164-libspiffy-perl_0.46-1_all.deb ... Unpacking libspiffy-perl (0.46-1) ... Selecting previously unselected package libio-all-perl. Preparing to unpack .../165-libio-all-perl_0.87-2_all.deb ... Unpacking libio-all-perl (0.87-2) ... Selecting previously unselected package libparse-yapp-perl. Preparing to unpack .../166-libparse-yapp-perl_1.21-4_all.deb ... Unpacking libparse-yapp-perl (1.21-4) ... Selecting previously unselected package liburi-perl. Preparing to unpack .../167-liburi-perl_5.30-1_all.deb ... Unpacking liburi-perl (5.30-1) ... Selecting previously unselected package libhtml-tagset-perl. Preparing to unpack .../168-libhtml-tagset-perl_3.24-1_all.deb ... Unpacking libhtml-tagset-perl (3.24-1) ... Selecting previously unselected package libhtml-parser-perl:amd64. Preparing to unpack .../169-libhtml-parser-perl_3.83-1+b1_amd64.deb ... Unpacking libhtml-parser-perl:amd64 (3.83-1+b1) ... Selecting previously unselected package libhtml-tree-perl. Preparing to unpack .../170-libhtml-tree-perl_5.07-3_all.deb ... Unpacking libhtml-tree-perl (5.07-3) ... Selecting previously unselected package libio-html-perl. Preparing to unpack .../171-libio-html-perl_1.004-3_all.deb ... Unpacking libio-html-perl (1.004-3) ... Selecting previously unselected package liblwp-mediatypes-perl. Preparing to unpack .../172-liblwp-mediatypes-perl_6.04-2_all.deb ... Unpacking liblwp-mediatypes-perl (6.04-2) ... Selecting previously unselected package libhttp-message-perl. Preparing to unpack .../173-libhttp-message-perl_7.00-2_all.deb ... Unpacking libhttp-message-perl (7.00-2) ... Selecting previously unselected package libhttp-cookies-perl. Preparing to unpack .../174-libhttp-cookies-perl_6.11-1_all.deb ... Unpacking libhttp-cookies-perl (6.11-1) ... Selecting previously unselected package libhttp-negotiate-perl. Preparing to unpack .../175-libhttp-negotiate-perl_6.01-2_all.deb ... Unpacking libhttp-negotiate-perl (6.01-2) ... Selecting previously unselected package perl-openssl-defaults:amd64. Preparing to unpack .../176-perl-openssl-defaults_7+b2_amd64.deb ... Unpacking perl-openssl-defaults:amd64 (7+b2) ... Selecting previously unselected package libnet-ssleay-perl:amd64. Preparing to unpack .../177-libnet-ssleay-perl_1.94-2_amd64.deb ... Unpacking libnet-ssleay-perl:amd64 (1.94-2) ... Selecting previously unselected package libio-socket-ssl-perl. Preparing to unpack .../178-libio-socket-ssl-perl_2.089-1_all.deb ... Unpacking libio-socket-ssl-perl (2.089-1) ... Selecting previously unselected package libnet-http-perl. Preparing to unpack .../179-libnet-http-perl_6.23-1_all.deb ... Unpacking libnet-http-perl (6.23-1) ... Selecting previously unselected package liblwp-protocol-https-perl. Preparing to unpack .../180-liblwp-protocol-https-perl_6.14-1_all.deb ... Unpacking liblwp-protocol-https-perl (6.14-1) ... Selecting previously unselected package libwww-robotrules-perl. Preparing to unpack .../181-libwww-robotrules-perl_6.02-1_all.deb ... Unpacking libwww-robotrules-perl (6.02-1) ... Selecting previously unselected package libwww-perl. Preparing to unpack .../182-libwww-perl_6.77-1_all.deb ... Unpacking libwww-perl (6.77-1) ... Selecting previously unselected package libxml-parser-perl. Preparing to unpack .../183-libxml-parser-perl_2.47-1+b3_amd64.deb ... Unpacking libxml-parser-perl (2.47-1+b3) ... Selecting previously unselected package libxml-writer-perl. Preparing to unpack .../184-libxml-writer-perl_0.900-2_all.deb ... Unpacking libxml-writer-perl (0.900-2) ... Selecting previously unselected package libgraph-readwrite-perl. Preparing to unpack .../185-libgraph-readwrite-perl_2.10-1_all.deb ... Unpacking libgraph-readwrite-perl (2.10-1) ... Selecting previously unselected package libicu-dev:amd64. Preparing to unpack .../186-libicu-dev_72.1-5+b1_amd64.deb ... Unpacking libicu-dev:amd64 (72.1-5+b1) ... Selecting previously unselected package libjson-perl. Preparing to unpack .../187-libjson-perl_4.10000-1_all.deb ... Unpacking libjson-perl (4.10000-1) ... Selecting previously unselected package libkrb5-dev:amd64. Preparing to unpack .../188-libkrb5-dev_1.21.3-3_amd64.deb ... Unpacking libkrb5-dev:amd64 (1.21.3-3) ... Selecting previously unselected package liblist-compare-perl. Preparing to unpack .../189-liblist-compare-perl_0.55-2_all.deb ... Unpacking liblist-compare-perl (0.55-2) ... Selecting previously unselected package liblog-message-perl. Preparing to unpack .../190-liblog-message-perl_0.8-3_all.deb ... Unpacking liblog-message-perl (0.8-3) ... Selecting previously unselected package liblog-message-simple-perl. Preparing to unpack .../191-liblog-message-simple-perl_0.10-3_all.deb ... Unpacking liblog-message-simple-perl (0.10-3) ... Selecting previously unselected package libmoox-handlesvia-perl. Preparing to unpack .../192-libmoox-handlesvia-perl_0.001009-2_all.deb ... Unpacking libmoox-handlesvia-perl (0.001009-2) ... Selecting previously unselected package libmro-compat-perl. Preparing to unpack .../193-libmro-compat-perl_0.15-2_all.deb ... Unpacking libmro-compat-perl (0.15-2) ... Selecting previously unselected package libsub-identify-perl. Preparing to unpack .../194-libsub-identify-perl_0.14-3+b3_amd64.deb ... Unpacking libsub-identify-perl (0.14-3+b3) ... Selecting previously unselected package libnamespace-clean-perl. Preparing to unpack .../195-libnamespace-clean-perl_0.27-2_all.deb ... Unpacking libnamespace-clean-perl (0.27-2) ... Selecting previously unselected package libnorm1t64:amd64. Preparing to unpack .../196-libnorm1t64_1.5.9+dfsg-3.1+b1_amd64.deb ... Unpacking libnorm1t64:amd64 (1.5.9+dfsg-3.1+b1) ... Selecting previously unselected package libxml2-dev:amd64. Preparing to unpack .../197-libxml2-dev_2.12.7+dfsg+really2.9.14-0.2+b1_amd64.deb ... Unpacking libxml2-dev:amd64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Selecting previously unselected package libnorm-dev:amd64. Preparing to unpack .../198-libnorm-dev_1.5.9+dfsg-3.1+b1_amd64.deb ... Unpacking libnorm-dev:amd64 (1.5.9+dfsg-3.1+b1) ... Selecting previously unselected package libpath-class-perl. Preparing to unpack .../199-libpath-class-perl_0.37-4_all.deb ... Unpacking libpath-class-perl (0.37-4) ... Selecting previously unselected package libpgm-5.3-0t64:amd64. Preparing to unpack .../200-libpgm-5.3-0t64_5.3.128~dfsg-2.1+b1_amd64.deb ... Unpacking libpgm-5.3-0t64:amd64 (5.3.128~dfsg-2.1+b1) ... Selecting previously unselected package libpgm-dev:amd64. Preparing to unpack .../201-libpgm-dev_5.3.128~dfsg-2.1+b1_amd64.deb ... Unpacking libpgm-dev:amd64 (5.3.128~dfsg-2.1+b1) ... Selecting previously unselected package libsodium23:amd64. Preparing to unpack .../202-libsodium23_1.0.18-1+b2_amd64.deb ... Unpacking libsodium23:amd64 (1.0.18-1+b2) ... Selecting previously unselected package libsodium-dev:amd64. Preparing to unpack .../203-libsodium-dev_1.0.18-1+b2_amd64.deb ... Unpacking libsodium-dev:amd64 (1.0.18-1+b2) ... Selecting previously unselected package libstatistics-descriptive-perl. Preparing to unpack .../204-libstatistics-descriptive-perl_3.0801-1_all.deb ... Unpacking libstatistics-descriptive-perl (3.0801-1) ... Selecting previously unselected package libsub-uplevel-perl. Preparing to unpack .../205-libsub-uplevel-perl_0.2800-3_all.deb ... Unpacking libsub-uplevel-perl (0.2800-3) ... Selecting previously unselected package libsuper-perl. Preparing to unpack .../206-libsuper-perl_1.20190531-1_all.deb ... Unpacking libsuper-perl (1.20190531-1) ... Selecting previously unselected package libterm-readkey-perl. Preparing to unpack .../207-libterm-readkey-perl_2.38-2+b4_amd64.deb ... Unpacking libterm-readkey-perl (2.38-2+b4) ... Selecting previously unselected package libterm-progressbar-perl. Preparing to unpack .../208-libterm-progressbar-perl_2.23-1_all.deb ... Unpacking libterm-progressbar-perl (2.23-1) ... Selecting previously unselected package libterm-ui-perl. Preparing to unpack .../209-libterm-ui-perl_0.50-1_all.deb ... Unpacking libterm-ui-perl (0.50-1) ... Selecting previously unselected package libtest2-suite-perl. Preparing to unpack .../210-libtest2-suite-perl_0.000163-1_all.deb ... Unpacking libtest2-suite-perl (0.000163-1) ... Selecting previously unselected package libtype-tiny-perl. Preparing to unpack .../211-libtype-tiny-perl_2.004000-1_all.deb ... Unpacking libtype-tiny-perl (2.004000-1) ... Selecting previously unselected package libyaml-perl. Preparing to unpack .../212-libyaml-perl_1.31-1_all.deb ... Unpacking libyaml-perl (1.31-1) ... Selecting previously unselected package libtest-bdd-cucumber-perl. Preparing to unpack .../213-libtest-bdd-cucumber-perl_0.86-1_all.deb ... Unpacking libtest-bdd-cucumber-perl (0.86-1) ... Selecting previously unselected package libtest-exception-perl. Preparing to unpack .../214-libtest-exception-perl_0.43-3_all.deb ... Unpacking libtest-exception-perl (0.43-3) ... Selecting previously unselected package libtest-class-perl. Preparing to unpack .../215-libtest-class-perl_0.52-1_all.deb ... Unpacking libtest-class-perl (0.52-1) ... Selecting previously unselected package libtest-mockmodule-perl. Preparing to unpack .../216-libtest-mockmodule-perl_0.178.0-1_all.deb ... Unpacking libtest-mockmodule-perl (0.178.0-1) ... Selecting previously unselected package libuniversal-can-perl. Preparing to unpack .../217-libuniversal-can-perl_1.20140328-3_all.deb ... Unpacking libuniversal-can-perl (1.20140328-3) ... Selecting previously unselected package libuniversal-isa-perl. Preparing to unpack .../218-libuniversal-isa-perl_1.20171012-3_all.deb ... Unpacking libuniversal-isa-perl (1.20171012-3) ... Selecting previously unselected package libtest-mockobject-perl. Preparing to unpack .../219-libtest-mockobject-perl_1.20200122-4_all.deb ... Unpacking libtest-mockobject-perl (1.20200122-4) ... Selecting previously unselected package libyaml-0-2:amd64. Preparing to unpack .../220-libyaml-0-2_0.2.5-1+b2_amd64.deb ... Unpacking libyaml-0-2:amd64 (0.2.5-1+b2) ... Selecting previously unselected package libyaml-libyaml-perl. Preparing to unpack .../221-libyaml-libyaml-perl_0.902.0+ds-2+b1_amd64.deb ... Unpacking libyaml-libyaml-perl (0.902.0+ds-2+b1) ... Selecting previously unselected package libzmq5:amd64. Preparing to unpack .../222-libzmq5_4.3.5-1+b3_amd64.deb ... Unpacking libzmq5:amd64 (4.3.5-1+b3) ... Selecting previously unselected package libzmq3-dev:amd64. Preparing to unpack .../223-libzmq3-dev_4.3.5-1+b3_amd64.deb ... Unpacking libzmq3-dev:amd64 (4.3.5-1+b3) ... Selecting previously unselected package libzmq-ffi-perl. Preparing to unpack .../224-libzmq-ffi-perl_1.19-1_all.deb ... Unpacking libzmq-ffi-perl (1.19-1) ... Setting up libexpat1:amd64 (2.6.4-1) ... Setting up libmodule-pluggable-perl (5.2-5) ... Setting up libpipeline1:amd64 (1.5.8-1) ... Setting up libfile-sharedir-install-perl (0.14-2) ... Setting up libnorm1t64:amd64 (1.5.9+dfsg-3.1+b1) ... Setting up libfile-which-perl (1.27-2) ... Setting up libkeyutils1:amd64 (1.6.3-4) ... Setting up libfile-slurp-perl (9999.32-2) ... Setting up libtask-weaken-perl (1.06-2) ... Setting up libsodium23:amd64 (1.0.18-1+b2) ... Setting up libicu72:amd64 (72.1-5+b1) ... Setting up bsdextrautils (2.40.2-11) ... Setting up libparse-yapp-perl (1.21-4) ... Setting up libclass-inspector-perl (1.36-3) ... Setting up libwant-perl (0.29-2+b4) ... Setting up libdynaloader-functions-perl (0.004-1) ... Setting up libtext-glob-perl (0.11-3) ... Setting up libclass-method-modifiers-perl (2.15-1) ... Setting up liblist-compare-perl (0.55-2) ... Setting up libmagic-mgc (1:5.45-3+b1) ... Setting up libpath-class-perl (0.37-4) ... Setting up libclone-perl:amd64 (0.47-1+b1) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libyaml-0-2:amd64 (0.2.5-1+b2) ... Setting up libsub-identify-perl (0.14-3+b3) ... Setting up libcpanel-json-xs-perl:amd64 (4.38-1+b1) ... Setting up libio-stringy-perl (2.113-2) ... Setting up libhtml-tagset-perl (3.24-1) ... Setting up liblog-any-perl (1.717-1) ... Setting up libclass-methodmaker-perl:amd64 (2.25-1) ... Setting up libdebhelper-perl (13.20) ... Setting up libbrotli1:amd64 (1.1.0-2+b6) ... Setting up libedit2:amd64 (3.1-20240808-1) ... Setting up libipc-sharelite-perl (0.17-5+b3) ... Setting up libheap-perl (0.80-5) ... Setting up liblwp-mediatypes-perl (6.04-2) ... Setting up libmagic1t64:amd64 (1:5.45-3+b1) ... Setting up libyaml-libyaml-perl (0.902.0+ds-2+b1) ... Setting up libtry-tiny-perl (0.32-1) ... Setting up libpsl5t64:amd64 (0.21.2-1.1+b1) ... Setting up libnghttp2-14:amd64 (1.64.0-1) ... Setting up libdigest-jhash-perl (0.10-2+b4) ... Setting up perl-openssl-defaults:amd64 (7+b2) ... Setting up libhash-moreutils-perl (0.06-2) ... Setting up gettext-base (0.22.5-2) ... Setting up m4 (1.4.19-4) ... Setting up libencode-locale-perl (1.05-3) ... Setting up libfindbin-libs-perl (3.0.2-1) ... Setting up libcom-err2:amd64 (1.47.1-1+b1) ... Setting up file (1:5.45-3+b1) ... Setting up libossp-uuid16:amd64 (1.6.3-1) ... Setting up libcompress-lz4-perl (0.25+ds-2+b4) ... Setting up libyaml-perl (1.31-1) ... Setting up libsub-install-perl (0.929-1) ... Setting up libelf1t64:amd64 (0.192-4) ... Setting up libtest2-suite-perl (0.000163-1) ... Setting up libsnappy1v5:amd64 (1.2.1-1+b1) ... Setting up libkrb5support0:amd64 (1.21.3-3) ... Setting up libnumber-compare-perl (0.03-3) ... Setting up libuniversal-isa-perl (1.20171012-3) ... Setting up libsasl2-modules-db:amd64 (2.1.28+dfsg1-8) ... Setting up libfile-copy-recursive-perl (0.45-4) ... Setting up liberror-perl (0.17029-2) ... Setting up liblog-message-perl (0.8-3) ... Setting up libjson-maybexs-perl (1.004008-1) ... Setting up libarchive-extract-perl (0.88-1) ... Setting up libpgm-5.3-0t64:amd64 (5.3.128~dfsg-2.1+b1) ... Setting up autotools-dev (20220109.1) ... Setting up libz3-4:amd64 (4.13.3-1) ... Setting up libalgorithm-c3-perl (0.11-2) ... Setting up libset-object-perl (1.42-1+b5) ... Setting up libfile-find-rule-perl (0.34-3) ... Setting up librtmp1:amd64 (2.4+20151223.gitfa8646d.1-2+b5) ... Setting up libio-tiecombine-perl (1.005-3) ... Setting up libpgm-dev:amd64 (5.3.128~dfsg-2.1+b1) ... Setting up libffi-checklib-perl (0.31-1) ... Setting up libxml-writer-perl (0.900-2) ... Setting up libenv-path-perl (0.19-4) ... Setting up comerr-dev:amd64 (2.1-1.47.1-1+b1) ... Setting up libvariable-magic-perl (0.64-1+b1) ... Setting up libio-html-perl (1.004-3) ... Setting up autopoint (0.22.5-2) ... Setting up libb-hooks-op-check-perl:amd64 (0.22-3+b2) ... Setting up icu-devtools (72.1-5+b1) ... Setting up libfile-libmagic-perl (1.23-2+b2) ... Setting up liblist-moreutils-xs-perl (0.430-4+b2) ... Setting up libsodium-dev:amd64 (1.0.18-1+b2) ... Setting up libk5crypto3:amd64 (1.21.3-3) ... Setting up libparams-util-perl (1.102-3+b1) ... Setting up libspiffy-perl (0.46-1) ... Setting up libsasl2-2:amd64 (2.1.28+dfsg1-8) ... Setting up libtime-duration-perl (1.21-2) ... Setting up autoconf (2.72-3) ... Setting up libnghttp3-9:amd64 (1.4.0-1+b1) ... Setting up libsub-exporter-progressive-perl (0.001013-3) ... Setting up libcapture-tiny-perl (0.48-2) ... Setting up libtimedate-perl (2.3300-2) ... Setting up libcontextual-return-perl (0.004014-4) ... Setting up libsub-name-perl:amd64 (0.27-1+b3) ... Setting up dwz (0.15-1+b1) ... Setting up libfile-chdir-perl (0.1008-1.2) ... Setting up sensible-utils (0.0.24) ... Setting up libuchardet0:amd64 (0.0.8-1+b2) ... Setting up libjson-perl (4.10000-1) ... Setting up libmd-dev:amd64 (1.1.0-2+b1) ... Setting up librole-tiny-perl (2.002004-1) ... Setting up libfile-sharedir-perl (1.118-3) ... Setting up libsub-uplevel-perl (0.2800-3) ... Setting up git-man (1:2.45.2-1) ... Setting up netbase (6.4) ... Setting up libngtcp2-16:amd64 (1.6.0-1) ... Setting up libstrictures-perl (2.000006-1) ... Setting up libsub-quote-perl (2.006008-1) ... Setting up libclass-xsaccessor-perl (1.19-4+b4) ... Setting up libkrb5-3:amd64 (1.21.3-3) ... Setting up libsort-versions-perl (1.62-3) ... Setting up libssh2-1t64:amd64 (1.11.1-1) ... Setting up libdata-serializer-perl (0.65-2) ... Setting up libexporter-tiny-perl (1.006002-1) ... Setting up libuniversal-can-perl (1.20140328-3) ... Setting up libterm-readkey-perl (2.38-2+b4) ... Setting up libclass-accessor-perl (0.51-2) ... Setting up libfile-homedir-perl (1.006-2) ... Setting up openssl (3.3.2-2) ... Setting up libcompress-snappy-perl (0.25+ds-1+b1) ... Setting up libicu-dev:amd64 (72.1-5+b1) ... Setting up libxml2:amd64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Setting up libbsd-dev:amd64 (0.12.2-2) ... Setting up liburi-perl (5.30-1) ... Setting up libcarp-assert-perl (0.22-1) ... Setting up libfmt10:amd64 (10.1.1+ds1-4) ... Setting up libdbi-perl:amd64 (1.645-1+b1) ... Setting up libngtcp2-crypto-gnutls8:amd64 (1.6.0-1) ... Setting up libffi-platypus-perl (2.09-1+b1) ... Setting up libtime-duration-parse-perl (0.16-1) ... Setting up libnet-ssleay-perl:amd64 (1.94-2) ... Setting up automake (1:1.16.5-1.3) ... update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode Setting up libfile-stripnondeterminism-perl (1.14.0-1) ... Setting up libllvm19:amd64 (1:19.1.3-2) ... Setting up libhttp-date-perl (6.06-1) ... Setting up libtest-mockobject-perl (1.20200122-4) ... Setting up libsuper-perl (1.20190531-1) ... Setting up gettext (0.22.5-2) ... Setting up libossp-uuid-perl (1.6.3-1) ... Setting up libfile-listing-perl (6.16-1) ... Setting up libclang1-19 (1:19.1.3-2) ... Setting up libcache-cache-perl (1.08-3) ... Setting up libtest-mockmodule-perl (0.178.0-1) ... Setting up liblog-message-simple-perl (0.10-3) ... Setting up libtool (2.4.7-8) ... Setting up liblist-moreutils-perl (0.430-2) ... Setting up libtype-tiny-perl (2.004000-1) ... Setting up libterm-progressbar-perl (2.23-1) ... Setting up libnet-http-perl (6.23-1) ... Setting up libio-all-perl (0.87-2) ... Setting up libclass-c3-perl (0.35-2) ... Setting up libgraph-perl (1:0.9729-1) ... Setting up libdevel-callchecker-perl:amd64 (0.009-1+b1) ... Setting up libldap-2.5-0:amd64 (2.5.18+dfsg-3+b1) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (20) ... Setting up libcache-fastmmap-perl (1.57-2+b4) ... Setting up ca-certificates (20240203) ... Updating certificates in /etc/ssl/certs... 146 added, 0 removed; done. Setting up libxml2-dev:amd64 (2.12.7+dfsg+really2.9.14-0.2+b1) ... Setting up libtest-exception-perl (0.43-3) ... Setting up libgssapi-krb5-2:amd64 (1.21.3-3) ... Setting up libdata-optlist-perl (0.114-1) ... Setting up libfile-share-perl (0.27-2) ... Setting up dh-strip-nondeterminism (1.14.0-1) ... Setting up libwww-robotrules-perl (6.02-1) ... Setting up groff-base (1.23.0-5) ... Setting up libhtml-parser-perl:amd64 (3.83-1+b1) ... Setting up libdbd-sqlite3-perl:amd64 (1.76-1) ... Setting up libmro-compat-perl (0.15-2) ... Setting up libio-socket-ssl-perl (2.089-1) ... Setting up libsub-exporter-perl (0.990-1) ... Setting up libclang-cpp19 (1:19.1.3-2) ... Setting up libhttp-message-perl (7.00-2) ... Setting up libhttp-negotiate-perl (6.01-2) ... Setting up libstatistics-descriptive-perl (3.0801-1) ... Setting up libzmq5:amd64 (4.3.5-1+b3) ... Setting up libterm-ui-perl (0.50-1) ... Setting up libhttp-cookies-perl (6.11-1) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up libhtml-tree-perl (5.07-3) ... Setting up libparams-classify-perl:amd64 (0.015-2+b4) ... Setting up libcurl3t64-gnutls:amd64 (8.11.0-1) ... Setting up libnorm-dev:amd64 (1.5.9+dfsg-3.1+b1) ... Setting up man-db (2.13.0-1) ... Not building database; man-db/auto-update is not 'true'. Setting up libmodule-runtime-perl (0.016-2) ... Setting up libgssrpc4t64:amd64 (1.21.3-3) ... Setting up git (1:2.45.2-1) ... Setting up libgit-wrapper-perl (0.048-2) ... Setting up doxygen-doxyparse (1.9.8+ds-2+b3) ... Setting up libstring-rewriteprefix-perl (0.009-1) ... Setting up libkadm5clnt-mit12:amd64 (1.21.3-3) ... Setting up libkdb5-10t64:amd64 (1.21.3-3) ... Setting up libmodule-implementation-perl (0.09-2) ... Setting up libpackage-stash-perl (0.40-1) ... Setting up libimport-into-perl (1.002005-2) ... Setting up libmoo-perl (2.005005-1) ... Setting up libdata-perl-perl (0.002011-2) ... Setting up libtest-class-perl (0.52-1) ... Setting up debhelper (13.20) ... Setting up libclass-load-perl (0.25-2) ... Setting up libkadm5srv-mit12:amd64 (1.21.3-3) ... Setting up libmoox-types-mooselike-perl (0.29-2) ... Setting up libparams-validate-perl:amd64 (1.31-2+b3) ... Setting up libb-hooks-endofscope-perl (0.28-1) ... Setting up libmoox-handlesvia-perl (0.001009-2) ... Setting up krb5-multidev:amd64 (1.21.3-3) ... Setting up libcucumber-tagexpressions-perl (6.1.0-1) ... Setting up libkrb5-dev:amd64 (1.21.3-3) ... Setting up libtest-bdd-cucumber-perl (0.86-1) ... Setting up libnamespace-clean-perl (0.27-2) ... Setting up libmoox-types-mooselike-numeric-perl (1.03-2) ... Setting up libgetopt-long-descriptive-perl (0.115-1) ... Setting up libzmq3-dev:amd64 (4.3.5-1+b3) ... Setting up libapp-cmd-perl (0.336-1) ... Setting up libchi-perl (0.61-1) ... Setting up libzmq-ffi-perl (1.19-1) ... Setting up liblwp-protocol-https-perl (6.14-1) ... Setting up libwww-perl (6.77-1) ... Setting up libxml-parser-perl (2.47-1+b3) ... Setting up libgraph-readwrite-perl (2.10-1) ... Processing triggers for libc-bin (2.40-3) ... Processing triggers for ca-certificates (20240203) ... Updating certificates in /etc/ssl/certs... 0 added, 0 removed; done. Running hooks in /etc/ca-certificates/update.d... done. Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Writing extended state information... Building tag database... -> Finished parsing the build-deps I: Building the package I: user script /srv/workspace/pbuilder/3247869/tmp/hooks/A99_set_merged_usr starting Not re-configuring usrmerge for trixie I: user script /srv/workspace/pbuilder/3247869/tmp/hooks/A99_set_merged_usr finished hostname: Name or service not known I: Running cd /build/reproducible-path/analizo-1.25.5/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../analizo_1.25.5-1_source.changes dpkg-buildpackage: info: source package analizo dpkg-buildpackage: info: source version 1.25.5-1 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by gregor herrmann dpkg-source --before-build . dpkg-buildpackage: info: host architecture amd64 debian/rules clean dh clean dh_clean debian/rules binary dh binary dh_update_autotools_config dh_autoreconf dh_auto_configure /usr/bin/perl Makefile.PL INSTALLDIRS=vendor "OPTIMIZE=-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/analizo-1.25.5=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2" "LD=x86_64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/build/reproducible-path/analizo-1.25.5=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wl,-z,relro" Warning: prerequisite Alien::Doxyparse 0.17 not found. Warning: prerequisite Test::Spelling 0 not found. Warning: prerequisite local::lib 0 not found. Checking if your kit is complete... Looks good Generating a Unix-style Makefile Writing Makefile for Analizo Writing MYMETA.yml and MYMETA.json dh_auto_build make -j20 make[1]: Entering directory '/build/reproducible-path/analizo-1.25.5' cp lib/Analizo/GlobalMetrics.pm blib/lib/Analizo/GlobalMetrics.pm cp lib/Analizo/Batch/Output/DB.pm blib/lib/Analizo/Batch/Output/DB.pm cp lib/Analizo/Command/metrics.pm blib/lib/Analizo/Command/metrics.pm cp lib/Analizo.pm blib/lib/Analizo.pm cp lib/Analizo/GlobalMetric/MethodsPerAbstractClass.pm blib/lib/Analizo/GlobalMetric/MethodsPerAbstractClass.pm cp lib/Analizo/Batch/Output.pm blib/lib/Analizo/Batch/Output.pm cp lib/Analizo/Metric/AverageCycloComplexity.pm blib/lib/Analizo/Metric/AverageCycloComplexity.pm cp lib/Analizo/Batch/Job/Directories.pm blib/lib/Analizo/Batch/Job/Directories.pm cp lib/Analizo/Filter/Client.pm blib/lib/Analizo/Filter/Client.pm cp lib/Analizo/Command/graph.pm blib/lib/Analizo/Command/graph.pm cp lib/Analizo/Batch/Runner/Sequential.pm blib/lib/Analizo/Batch/Runner/Sequential.pm cp lib/Analizo/Metric/AverageNumberOfParameters.pm blib/lib/Analizo/Metric/AverageNumberOfParameters.pm cp lib/Analizo/Metric/AverageMethodLinesOfCode.pm blib/lib/Analizo/Metric/AverageMethodLinesOfCode.pm cp lib/Analizo/Command/tree_evolution.pm blib/lib/Analizo/Command/tree_evolution.pm cp lib/Analizo/Batch/Runner/Parallel.pm blib/lib/Analizo/Batch/Runner/Parallel.pm cp lib/Analizo/Metric/AfferentConnections.pm blib/lib/Analizo/Metric/AfferentConnections.pm cp lib/Analizo/Batch.pm blib/lib/Analizo/Batch.pm cp lib/Analizo/Batch/Job/Git.pm blib/lib/Analizo/Batch/Job/Git.pm cp lib/Analizo/Batch/Git.pm blib/lib/Analizo/Batch/Git.pm cp lib/Analizo/FilenameFilter.pm blib/lib/Analizo/FilenameFilter.pm cp lib/Analizo/Extractor.pm blib/lib/Analizo/Extractor.pm cp lib/Analizo/Batch/Directories.pm blib/lib/Analizo/Batch/Directories.pm cp lib/Analizo/Extractor/Doxyparse.pm blib/lib/Analizo/Extractor/Doxyparse.pm cp lib/Analizo/LanguageFilter.pm blib/lib/Analizo/LanguageFilter.pm cp lib/Analizo/Batch/Output/CSV.pm blib/lib/Analizo/Batch/Output/CSV.pm cp lib/Analizo/Batch/Job.pm blib/lib/Analizo/Batch/Job.pm cp lib/Analizo/Command/help.pm blib/lib/Analizo/Command/help.pm cp lib/Analizo/Command/files_graph.pm blib/lib/Analizo/Command/files_graph.pm cp lib/Analizo/Command/metrics_history.pm blib/lib/Analizo/Command/metrics_history.pm cp lib/Analizo/Batch/Runner.pm blib/lib/Analizo/Batch/Runner.pm cp lib/Analizo/Command.pm blib/lib/Analizo/Command.pm cp lib/Analizo/GlobalMetric/TotalAbstractClasses.pm blib/lib/Analizo/GlobalMetric/TotalAbstractClasses.pm cp lib/Analizo/Command/metrics_batch.pm blib/lib/Analizo/Command/metrics_batch.pm cp lib/Analizo/GlobalMetric/ChangeCost.pm blib/lib/Analizo/GlobalMetric/ChangeCost.pm cp share/bash-completion/analizo blib/lib/auto/share/dist/Analizo/bash-completion/analizo cp share/README blib/lib/auto/share/dist/Analizo/README cp lib/Analizo/Metric/NumberOfChildren.pm blib/lib/Analizo/Metric/NumberOfChildren.pm cp lib/Test/Analizo/BDD/Cucumber/Extension.pm blib/lib/Test/Analizo/BDD/Cucumber/Extension.pm cp lib/Analizo/Metrics.pm blib/lib/Analizo/Metrics.pm cp lib/Analizo/Metric/ResponseForClass.pm blib/lib/Analizo/Metric/ResponseForClass.pm cp lib/Analizo/Metric/LackOfCohesionOfMethods.pm blib/lib/Analizo/Metric/LackOfCohesionOfMethods.pm cp lib/Test/Analizo/Class.pm blib/lib/Test/Analizo/Class.pm cp lib/Analizo/Metric/LinesOfCode.pm blib/lib/Analizo/Metric/LinesOfCode.pm cp profile.pl blib/lib/profile.pl cp lib/Analizo/Metric/MaximumMethodLinesOfCode.pm blib/lib/Analizo/Metric/MaximumMethodLinesOfCode.pm cp lib/Analizo/Model.pm blib/lib/Analizo/Model.pm cp lib/Analizo/Metric/NumberOfAttributes.pm blib/lib/Analizo/Metric/NumberOfAttributes.pm cp lib/Test/Analizo.pm blib/lib/Test/Analizo.pm cp lib/Analizo/Metric/NumberOfPublicAttributes.pm blib/lib/Analizo/Metric/NumberOfPublicAttributes.pm cp lib/Analizo/Metric/NumberOfMethods.pm blib/lib/Analizo/Metric/NumberOfMethods.pm cp lib/Analizo/ModuleMetrics.pm blib/lib/Analizo/ModuleMetrics.pm cp lib/Analizo/Metric/CouplingBetweenObjects.pm blib/lib/Analizo/Metric/CouplingBetweenObjects.pm cp lib/Analizo/ModuleMetric.pm blib/lib/Analizo/ModuleMetric.pm cp lib/Analizo/Metric/StructuralComplexity.pm blib/lib/Analizo/Metric/StructuralComplexity.pm cp lib/Analizo/Metric/DepthOfInheritanceTree.pm blib/lib/Analizo/Metric/DepthOfInheritanceTree.pm cp lib/Analizo/Metric/NumberOfPublicMethods.pm blib/lib/Analizo/Metric/NumberOfPublicMethods.pm cp lib/Test/Analizo/Git.pm blib/lib/Test/Analizo/Git.pm cp bin/analizo blib/script/analizo "/usr/bin/perl" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/analizo Manifying 26 pod documents make[1]: Leaving directory '/build/reproducible-path/analizo-1.25.5' dh_auto_test make -j20 test TEST_VERBOSE=1 make[1]: Entering directory '/build/reproducible-path/analizo-1.25.5' Skip blib/lib/auto/share/dist/Analizo/README (unchanged) Skip blib/lib/auto/share/dist/Analizo/bash-completion/analizo (unchanged) PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(1, 'blib/lib', 'blib/arch')" t/*.t t/Analizo/*.t t/Analizo/Batch/*.t t/Analizo/Batch/Job/*.t t/Analizo/Batch/Output/*.t t/Analizo/Batch/Runner/*.t t/Analizo/Command/*.t t/Analizo/Extractor/*.t t/Analizo/GlobalMetric/*.t t/Analizo/Metric/*.t t/Analizo/Metric/AfferentConnections/*.t # # t::Analizo->constructor # # t::Analizo->empty_array_for_command_with_no_options # # t::Analizo->empty_hash_when_no_config_file # # t::Analizo->load_command_options # # t::Analizo->load_config_file t/Analizo.t .............................................................. ok 1 - use Analizo; ok 2 - An object of class 'Analizo' isa 'Analizo' ok 3 - An object of class 'Analizo' isa 'App::Cmd' ok 4 - empty array for command with no options ok 5 - empty hash when no config file ok 6 - load command options ok 7 - load config file 1..7 ok # # t::Analizo::Batch->constructor # # t::Analizo::Batch->count # # t::Analizo::Batch->next # # t::Analizo::Batch->pass_filters_forward t/Analizo/Batch.t ........................................................ ok 1 - An object of class 'Analizo::Batch' isa 'Analizo::Batch' ok 2 - Analizo::Batch->can('count') ok 3 - Analizo::Batch->can('next') ok 4 - next ok 5 - must pass filters into job 1..5 ok # # t::Analizo::Batch::Directories->count # # t::Analizo::Batch::Directories->create_with_arguments # # t::Analizo::Batch::Directories->create_with_bad_arguments # # t::Analizo::Batch::Directories->create_with_no_arguments # # t::Analizo::Batch::Directories->deliver_jobs # # t::Analizo::Batch::Directories->expose_list_of_dirs t/Analizo/Batch/Directories.t ............................................ ok 1 - count ok 2 - create with arguments ok 3 - create with bad arguments ok 4 - create with no arguments ok 5 - deliver jobs ok 6 - deliver jobs ok 7 - deliver jobs ok 8 - Analizo::Batch::Directories->can('directories') 1..8 ok # # t::Analizo::Batch::Git->constructor # # t::Analizo::Batch::Git->count # # t::Analizo::Batch::Git->create_with_and_without_args # # t::Analizo::Batch::Git->default_filter # # t::Analizo::Batch::Git->find_commit # # t::Analizo::Batch::Git->traverse_repository t/Analizo/Batch/Git.t .................................................... ok 1 - An object of class 'Analizo::Batch::Git' isa 'Analizo::Batch::Git' ok 2 - count ok 3 - create with and without args ok 4 - create with and without args ok 5 - create with and without args ok 6 - create with and without args ok 7 - must not analyze commit containing only (input.cc) ok 8 - must not analyze commit containing only (prog.cc) ok 9 - must not analyze commit containing only (prog.cc) ok 10 - must not analyze commit containing only (prog.cc) ok 11 - must not analyze commit containing only (output.cc,output.h,prog.cc) ok 12 - must not analyze commit containing only (prog.cc,input.h,input.cc) ok 13 - must not analyze commit containing only (prog.cc) ok 14 - find commit ok 15 - An object of class 'Analizo::Batch::Job::Git' isa 'Analizo::Batch::Job::Git' ok 16 - find commit ok 17 - main commit must be listed ok 18 - intermediate relevant commit must be listed ok 19 - intermediate IRRELEVANT commit must not be listed 1..19 ok # # t::Analizo::Batch::Job->before_execute # # t::Analizo::Batch::Job->cache_of_model_and_metrics # # t::Analizo::Batch::Job->constructor # # t::Analizo::Batch::Job->empty_metadata_by_default # # t::Analizo::Batch::Job->execute # # t::Analizo::Batch::Job->exposed_interface # # t::Analizo::Batch::Job->invalidates_cache_after_upgrade_version # # t::Analizo::Batch::Job->metadata_as_hash # # t::Analizo::Batch::Job->pass_filters_to_extractor # # t::Analizo::Batch::Job->project_name # # t::Analizo::Batch::Job->stores_cache_on_distinct_dirs_for_each_version # # t::Analizo::Batch::Job->tree_id t/Analizo/Batch/Job.t .................................................... ok 1 - before execute ok 2 - before execute ok 3 - use cache for model ok 4 - use cache for metrics ok 5 - cached model is the same ok 6 - cached metrics is the same ok 7 - An object of class 'Analizo::Batch::Job' isa 'Analizo::Batch::Job' ok 8 - empty metadata by default ok 9 - must call prepare() and cleanup() on execute ok 10 - An object of class 'Analizo::Model' isa 'Analizo::Model' ok 11 - An object of class 'Analizo::Metrics' isa 'Analizo::Metrics' ok 12 - An object of class 'Analizo::Model' isa 'Analizo::Model' ok 13 - must force metrics calculation during execute() bu calling $metrics->data() ok 14 - Analizo::Batch::Job->can(...) ok 15 - metrics values sucessfully retrievied from the cache ok 16 - values for metrics found on cache for same analizo version ok 17 - values for metrics should not found for other analizo version ok 18 - metadata as hash ok 19 - metadata as hash ok 20 - metadata as hash ok 21 - must pass filters to extractor object ok 22 - project name ok 23 - project name ok 24 - stores cache on distinct dirs for each version ok 25 - stores cache on distinct dirs for each version ok 26 - tree id 1..26 ok # # t::Analizo::Batch::Job::Directories->constructor # # t::Analizo::Batch::Job::Directories->prepare_and_cleanup t/Analizo/Batch/Job/Directories.t ........................................ ok 1 - An object of class 'Analizo::Batch::Job::Directories' isa 'Analizo::Batch::Job::Directories' ok 2 - constructor ok 3 - constructor ok 4 - must change dir in prepare() ok 5 - must change back dir in cleanup() 1..5 ok # # t::Analizo::Batch::Job::Git->changed_files # # t::Analizo::Batch::Job::Git->constructor # # t::Analizo::Batch::Job::Git->constructor_with_arguments # # t::Analizo::Batch::Job::Git->git_checkout_should_actually_checkout # # t::Analizo::Batch::Job::Git->merge_and_first_commit_detection # # t::Analizo::Batch::Job::Git->metadata # # t::Analizo::Batch::Job::Git->must_NOT_keep_a_reference_to_batch # # t::Analizo::Batch::Job::Git->parallelism_support # # t::Analizo::Batch::Job::Git->prepare_and_cleanup # # t::Analizo::Batch::Job::Git->previous_relevant # # t::Analizo::Batch::Job::Git->previous_relevant_with_parent_without_previous_relevant # # t::Analizo::Batch::Job::Git->previous_wanted # # t::Analizo::Batch::Job::Git->relevant_merge t/Analizo/Batch/Job/Git.t ................................................ ok 1 - changed files ok 2 - changed files ok 3 - changed files ok 4 - changed files ok 5 - An object of class 'Analizo::Batch::Job::Git' isa 'Analizo::Batch::Job::Git' ok 6 - constructor with arguments ok 7 - constructor with arguments ok 8 - constructor with arguments ok 9 - git checkout should actually checkout ok 10 - git checkout should actually checkout ok 11 - git checkout should actually checkout ok 12 - git checkout should actually checkout ok 13 - merge and first commit detection ok 14 - merge and first commit detection ok 15 - merge and first commit detection ok 16 - merge and first commit detection ok 17 - author name ok 18 - author name ok 19 - author name ok 20 - author email ok 21 - author email ok 22 - author email ok 23 - author date ok 24 - author date ok 25 - author date ok 26 - previous commit ok 27 - previous commit ok 28 - previous commit ok 29 - changed files ok 30 - changed files ok 31 - changed files ok 32 - metadata ok 33 - metadata ok 34 - metadata ok 35 - metadata ok 36 - metadata ok 37 - must not include non-code files in tree ok 38 - unexisting commit id ok 39 - unexisting commit id ok 40 - unexisting commit id ok 41 - must NOT keep a reference to batch ok 42 - parallelism support ok 43 - different work directory must be created ok 44 - content must be copied ok 45 - different work directory must be removed when parallel_cleanup is called. ok 46 - parallelism support must not mess with project name ok 47 - prepare must change dir ok 48 - cleanup must change cwd back ok 49 - cleanup must checkout given commit and go back to previous one ok 50 - previous relevant ok 51 - previous relevant ok 52 - previous relevant ok 53 - must return undef as previous_relevant when parent is a merge commit without any previous relevant commits ok 54 - previous wanted ok 55 - previous wanted ok 56 - relevant merge 1..56 ok # # t::Analizo::Batch::Output->constructor # # t::Analizo::Batch::Output->exposed_interface # # t::Analizo::Batch::Output->must_write_to_stdout_when_no_file_is_given # # t::Analizo::Batch::Output->not_require_metrics_by_default # # t::Analizo::Batch::Output->should_write_to_output_file t/Analizo/Batch/Output.t ................................................. ok 1 - An object of class 'Analizo::Batch::Output' isa 'Analizo::Batch::Output' ok 2 - Analizo::Batch::Output->can(...) ok 3 - must write to stdout when no file is given ok 4 - not require metrics by default ok 5 - output must be written to file ok 6 - must delegate actualy writing to subclasses 1..6 ok # # t::Analizo::Batch::Output::CSV->constructor # # t::Analizo::Batch::Output::CSV->job_metadata # # t::Analizo::Batch::Output::CSV->must_return_short_names_of_metrics # # t::Analizo::Batch::Output::CSV->must_write_hash_data_as_string # # t::Analizo::Batch::Output::CSV->must_write_list_data_as_string # # t::Analizo::Batch::Output::CSV->writing_data t/Analizo/Batch/Output/CSV.t ............................................. ok 1 - An object of class 'T::MO::E::a' isa 'Analizo::Batch::Output::CSV' ok 2 - must list metadata fields ok 3 - must include metadata values ok 4 - must list acc metric name ok 5 - must list accm metric name ok 6 - must list amloc metric name ok 7 - must list anpm metric name ok 8 - must write hash data as string ok 9 - must write list data as string ok 10 - must write data to output file ok 11 - first line must contain column names ok 12 - CSV output must not contain empty lines 1..12 ok # # t::Analizo::Batch::Output::DB->add_commit_and_developer_data # # t::Analizo::Batch::Output::DB->add_module_data_for_modules_changed_by_commit # # t::Analizo::Batch::Output::DB->add_project_data # # t::Analizo::Batch::Output::DB->basics # # t::Analizo::Batch::Output::DB->changed_added_module_versions # # t::Analizo::Batch::Output::DB->destination_database # # t::Analizo::Batch::Output::DB->files_with_multiple_modules # # t::Analizo::Batch::Output::DB->global_metrics # # t::Analizo::Batch::Output::DB->module_versions_with_the_same_id # # t::Analizo::Batch::Output::DB->numeric_autoincrement_pk # # t::Analizo::Batch::Output::DB->setting_up_a_database t/Analizo/Batch/Output/DB.t .............................................. ok 1 - [SELECT * FROM commits JOIN projects on (projects.id = commits.project_id) WHERE commits.id = 'XPTO'] returned 1 rows instead of exactly 1 ok 2 - [SELECT * FROM developers JOIN commits on (commits.developer_id = developers.id) WHERE developers.name = 'Jonh Doe' AND developers.email = 'jdoe@example.com' AND commits.id = 'XPTO'] returned 1 rows instead of exactly 1 ok 3 - [SELECT * FROM commits WHERE id = 'XPTO' AND previous_commit_id = 'PREVIOUS' AND date = '1313206352'] returned 1 rows instead of exactly 1 ok 4 - [SELECT * FROM modules JOIN projects ON (projects.id = modules.project_id) WHERE projects.name = 'animals' AND modules.name = 'Mammal'] returned 1 rows instead of exactly 1 ok 5 - [SELECT * FROM modules JOIN module_versions ON (module_versions.module_id = modules.id) JOIN commits_module_versions ON (commits_module_versions.module_version_id = module_versions.id) JOIN commits ON (commits_module_versions.commit_id = commits.id) WHERE commits.id = 'foo' AND modules.name = 'Mammal' AND module_versions.lcom4 >= 0 AND module_versions.cbo >= 0] returned 1 rows instead of exactly 1 ok 6 - [SELECT * FROM modules JOIN projects ON (projects.id = modules.project_id) WHERE projects.name = 'animals' AND modules.name = 'Dog'] returned 1 rows instead of exactly 1 ok 7 - [SELECT * FROM modules JOIN module_versions ON (module_versions.module_id = modules.id) JOIN commits_module_versions ON (commits_module_versions.module_version_id = module_versions.id) JOIN commits ON (commits_module_versions.commit_id = commits.id) WHERE commits.id = 'foo' AND modules.name = 'Dog' AND module_versions.lcom4 >= 0 AND module_versions.cbo >= 0] returned 1 rows instead of exactly 1 ok 8 - [SELECT * FROM module_versions JOIN commits_module_versions ON (module_versions.id = commits_module_versions.module_version_id) JOIN commits ON (commits.id = commits_module_versions.commit_id) WHERE commit_id = 'foo'] returned 3 rows instead of exactly 3 ok 9 - [SELECT * FROM modules JOIN module_versions ON (module_versions.module_id = modules.id) WHERE modules.name = 'Mammal' AND module_versions.id = '1111111111111111111111111111111111111111'] returned 1 rows instead of exactly 1 ok 10 - [SELECT * FROM modules JOIN module_versions ON (module_versions.module_id = modules.id) WHERE modules.name = 'Dog' AND module_versions.id = '452219454519b29aae2e135c470d97d9e234976b'] returned 1 rows instead of exactly 1 ok 11 - [select * from projects where name = 'niceproject'] returned 1 rows instead of exactly 1 ok 12 - [select * from projects where name = 'niceproject'] returned 1 rows instead of exactly 1 ok 13 - An object of class 'Analizo::Batch::Output::DB' isa 'Analizo::Batch::Output' ok 14 - An object of class 'Analizo::Batch::Output::DB' isa 'Analizo::Batch::Output::DB' ok 15 - [SELECT * FROM commits_module_versions WHERE commit_id = 'foo' AND module_version_id = '1111111111111111111111111111111111111111' AND modified AND NOT added] returned 1 rows instead of exactly 1 ok 16 - [SELECT * FROM commits_module_versions WHERE commit_id = 'foo' AND module_version_id = '452219454519b29aae2e135c470d97d9e234976b' AND added AND NOT modified] returned 1 rows instead of exactly 1 ok 17 - [SELECT * FROM commits_module_versions WHERE commit_id = 'foo' AND module_version_id = 'f676c6d81e63377edc2f9ec60b1bc2359b94606f' AND modified AND NOT added] returned 1 rows instead of exactly 1 ok 18 - use SQLite output by default ok 19 - use SQLite with a custom DB name ok 20 - destination database ok 21 - [SELECT * FROM modules] returned 3 rows instead of exactly 3 ok 22 - [SELECT * FROM commits where total_abstract_classes > 0] returned 1 rows instead of exactly 1 ok 23 - [SELECT * FROM module_versions WHERE id = '1111111111111111111111111111111111111111'] returned 2 rows instead of exactly 2 ok 24 - numeric autoincrement pk ok 25 - numeric autoincrement pk ok 26 - must create PROJECTS table ok 27 - must create COMMITS table ok 28 - must create DEVELOPERS table ok 29 - must create MODULES table ok 30 - must create MODULE_VERSIONS table ok 31 - must create COMMITS_MODULE_VERSIONS table 1..31 ok # # t::Analizo::Batch::Runner->interaction_with_output # # t::Analizo::Batch::Runner->interface # # t::Analizo::Batch::Runner->progress t/Analizo/Batch/Runner.t ................................................. ok 1 - must initialize output object ok 2 - must flush output object ok 3 - Analizo::Batch::Runner->can('run') ok 4 - Analizo::Batch::Runner->can('actually_run') ok 5 - progress ok 6 - progress ok 7 - progress 1..7 ok # # t::Analizo::Batch::Runner::Parallel->constuctor # # t::Analizo::Batch::Runner::Parallel->number_of_parallel_processes t/Analizo/Batch/Runner/Parallel.t ........................................ ok 1 - An object of class 'Analizo::Batch::Runner::Parallel' isa 'Analizo::Batch::Runner' ok 2 - An object of class 'Analizo::Batch::Runner::Parallel' isa 'Analizo::Batch::Runner::Parallel' ok 3 - number of parallel processes ok 4 - number of parallel processes 1..4 ok # # t::Analizo::Batch::Runner::Sequential->constructor # # t::Analizo::Batch::Runner::Sequential->empty_batch_wont_crash # # t::Analizo::Batch::Runner::Sequential->run t/Analizo/Batch/Runner/Sequential.t ...................................... ok 1 - An object of class 'Analizo::Batch::Runner::Sequential' isa 'Analizo::Batch::Runner' ok 2 - An object of class 'Analizo::Batch::Runner::Sequential' isa 'Analizo::Batch::Runner::Sequential' ok 3 - job1 must be executed ok 4 - job2 must be executed ok 5 - run ok 6 - output must be flushed exactly once 1..6 ok # # t::Analizo::Command->any_command_is_a_subclass_of_Analizo_Command # # t::Analizo::Command->execute_some_command # # t::Analizo::Command->executing_commands_with_version_argument_is_not_allowed # # t::Analizo::Command->version_information t/Analizo/Command.t ...................................................... ok 1 - use Analizo::Command; ok 2 - An object of class 't::Analizo::Command::fake' isa 'Analizo::Command' ok 3 - execute some command ok 4 - threw Regexp ((?^:Invalid option)) ok 5 - version information 1..5 ok # # t::Analizo::Command::files_graph->constructor # # t::Analizo::Command::files_graph->is_a_subclass_of_Analizo_Command t/Analizo/Command/files_graph.t .......................................... ok 1 - use Analizo::Command::files_graph; ok 2 - An object of class 'Analizo::Command::files_graph' isa 'Analizo::Command::files_graph' ok 3 - An object of class 'Analizo::Command::files_graph' isa 'Analizo::Command' 1..3 ok # # t::Analizo::Command::graph->constructor # # t::Analizo::Command::graph->is_a_subclass_of_Analizo_Command t/Analizo/Command/graph.t ................................................ ok 1 - use Analizo::Command::graph; ok 2 - An object of class 'Analizo::Command::graph' isa 'Analizo::Command::graph' ok 3 - An object of class 'Analizo::Command::graph' isa 'Analizo::Command' 1..3 ok # # t::Analizo::Command::help->constructor # # t::Analizo::Command::help->is_a_subclass_of_Analizo_Command t/Analizo/Command/help.t ................................................. ok 1 - use Analizo::Command::help; ok 2 - An object of class 'Analizo::Command::help' isa 'App::Cmd::Command::help' ok 3 - An object of class 'Analizo::Command::help' isa 'Analizo::Command' 1..3 ok # # t::Analizo::Command::metrics->constructor # # t::Analizo::Command::metrics->is_a_subclass_of_Analizo_Command t/Analizo/Command/metrics.t .............................................. ok 1 - use Analizo::Command::metrics; ok 2 - An object of class 'Analizo::Command::metrics' isa 'Analizo::Command::metrics' ok 3 - An object of class 'Analizo::Command::metrics' isa 'Analizo::Command' 1..3 ok # # t::Analizo::Command::metrics_batch->constructor # # t::Analizo::Command::metrics_batch->is_a_subclass_of_Analizo_Command t/Analizo/Command/metrics_batch.t ........................................ ok 1 - use Analizo::Command::metrics_batch; ok 2 - An object of class 'Analizo::Command::metrics_batch' isa 'Analizo::Command::metrics_batch' ok 3 - An object of class 'Analizo::Command::metrics_batch' isa 'Analizo::Command' 1..3 ok # # t::Analizo::Command::metrics_history->constructor # # t::Analizo::Command::metrics_history->is_a_subclass_of_Analizo_Command # # t::Analizo::Command::metrics_history->load_output_driver # # t::Analizo::Command::metrics_history->nil_for_unavaiable_output_driver # # t::Analizo::Command::metrics_history->output_driver t/Analizo/Command/metrics_history.t ...................................... ok 1 - use Analizo::Command::metrics_history; ok 2 - An object of class 'Analizo::Command::metrics_history' isa 'Analizo::Command::metrics_history' ok 3 - An object of class 'Analizo::Command::metrics_history' isa 'Analizo::Command' ok 4 - The class (or class-like) 'Analizo::Batch::Output::CSV' isa 'Analizo::Batch::Output::CSV' ok 5 - nil for unavaiable output driver ok 6 - output driver ok 7 - output driver 1..7 ok # # t::Analizo::Command::tree_evolution->constructor # # t::Analizo::Command::tree_evolution->is_a_subclass_of_Analizo_Command t/Analizo/Command/tree_evolution.t ....................................... ok 1 - use Analizo::Command::tree_evolution; ok 2 - An object of class 'Analizo::Command::tree_evolution' isa 'Analizo::Command::tree_evolution' ok 3 - An object of class 'Analizo::Command::tree_evolution' isa 'Analizo::Command' 1..3 ok # # t::Analizo::Extractor->constructor # # t::Analizo::Extractor->current_file # # t::Analizo::Extractor->current_file_plus_current_module # # t::Analizo::Extractor->current_module # # t::Analizo::Extractor->dont_allow_code_injection # # t::Analizo::Extractor->fail_when_load_invalid_extractor # # t::Analizo::Extractor->force_ignore_filter # # t::Analizo::Extractor->has_a_current_member # # t::Analizo::Extractor->has_filters # # t::Analizo::Extractor->load_doxyparse_extractor # # t::Analizo::Extractor->load_doxyparse_extractor_by_alias # # t::Analizo::Extractor->must_consider_only__supported_languages # # t::Analizo::Extractor->must_create_filters_for_excluded_dirs # # t::Analizo::Extractor->must_filter_input_with_language_filter # # t::Analizo::Extractor->must_not_exclude_everything_in_the_case_of_unexisting_excluded_dir # # t::Analizo::Extractor->must_not_ignore_filter_by_default # # t::Analizo::Extractor->must_not_process_files_in_excluded_dirs # # t::Analizo::Extractor->process_must_delegate_to_actually_process t/Analizo/Extractor.t .................................................... ok 1 - An object of class 'Analizo::Extractor' isa 'Analizo::Extractor' ok 2 - current file ok 3 - current file ok 4 - current file plus current module ok 5 - must be able to set the current module ok 6 - must be able to change the current module ok 7 - An object of class 'Analizo::Extractor::Doxyparse' isa 'Analizo::Extractor::Doxyparse' ok 8 - dont allow code injection ok 9 - fail when load invalid extractor ok 10 - force ignore filter ok 11 - Analizo::Extractor->can('current_member') ok 12 - Analizo::Extractor->can('filters') ok 13 - has filters ok 14 - has filters ok 15 - load doxyparse extractor ok 16 - An object of class 'Analizo::Extractor::Doxyparse' isa 'Analizo::Extractor::Doxyparse' ok 17 - load doxyparse extractor by alias ok 18 - must consider only supported languages ok 19 - must create filters for excluded dirs ok 20 - must create filters for excluded dirs ok 21 - must create filters for excluded dirs ok 22 - must filter input with language filter ok 23 - must not exclude everything in the case of unexisting excluded dir ok 24 - must not exclude everything in the case of unexisting excluded dir ok 25 - must not ignore filter by default ok 26 - must not process files in excluded dirs ok 27 - process must delegate to actually process 1..27 ok # # t::Analizo::Extractor::Doxyparse->constructor # # t::Analizo::Extractor::Doxyparse->current_file # # t::Analizo::Extractor::Doxyparse->current_file_strip_pwd # # t::Analizo::Extractor::Doxyparse->current_module # # t::Analizo::Extractor::Doxyparse->detect_abstract_class # # t::Analizo::Extractor::Doxyparse->detect_conditional_paths # # t::Analizo::Extractor::Doxyparse->detect_direct_function_calls # # t::Analizo::Extractor::Doxyparse->detect_function_declaration # # t::Analizo::Extractor::Doxyparse->detect_function_protection # # t::Analizo::Extractor::Doxyparse->detect_lines_of_code # # t::Analizo::Extractor::Doxyparse->detect_number_of_parameters # # t::Analizo::Extractor::Doxyparse->detect_variable_declaration # # t::Analizo::Extractor::Doxyparse->detect_variable_protection # # t::Analizo::Extractor::Doxyparse->detect_variable_uses # # t::Analizo::Extractor::Doxyparse->detects_multiple_inheritance_properly # # t::Analizo::Extractor::Doxyparse->has_a_model # # t::Analizo::Extractor::Doxyparse->inheritance # # t::Analizo::Extractor::Doxyparse->invalid_doxyparse_input # # t::Analizo::Extractor::Doxyparse->module_name_can_contain_spaces # # t::Analizo::Extractor::Doxyparse->reading_from_directories # # t::Analizo::Extractor::Doxyparse->reading_from_one_input_file # # t::Analizo::Extractor::Doxyparse->reading_from_some_input_files # # t::Analizo::Extractor::Doxyparse->use_full_filename_for_C_modules t/Analizo/Extractor/Doxyparse.t .......................................... ok 1 - use Analizo::Extractor::Doxyparse; ok 2 - An object of class 'Analizo::Extractor::Doxyparse' isa 'Analizo::Extractor::Doxyparse' ok 3 - An object of class 'Analizo::Extractor::Doxyparse' isa 'Analizo::Extractor' ok 4 - current file ok 5 - current file strip pwd ok 6 - must be able to set the current module ok 7 - must be able to change the current module ok 8 - extractor detects an abstract class ok 9 - detect conditional paths ok 10 - detect direct function calls ok 11 - detect direct function calls ok 12 - detect direct function calls ok 13 - detect function declaration ok 14 - must set the current function ok 15 - detect function declaration ok 16 - must set the current function again ok 17 - detect function declaration ok 18 - must set the current function one more time ok 19 - detect function protection ok 20 - detect function protection ok 21 - detect lines of code ok 22 - detect lines of code ok 23 - detect number of parameters ok 24 - detect variable declaration ok 25 - must not read variable declarations when reading the name of the current module ok 26 - detect variable declaration ok 27 - detect variable protection ok 28 - detect variable protection ok 29 - detect variable uses ok 30 - detect variable uses ok 31 - Bird inherits Animal ok 32 - detects multiple inheritance properly ok 33 - detects multiple inheritance properly ok 34 - detects multiple inheritance properly ok 35 - detects multiple inheritance properly ok 36 - multiple inheritance detected ok 37 - An object of class 'Analizo::Model' isa 'Analizo::Model' ok 38 - extractor detects inheritance ok 39 - invalid doxyparse input ok 40 - module name can contain spaces ok 41 - reading from directories ok 42 - reading from directories ok 43 - reading from directories ok 44 - reading from directories ok 45 - module1 has once member ok 46 - reading from one input file ok 47 - we have once module ok 48 - reading from one input file ok 49 - module1 and module2 has 3 members ok 50 - we have 2 modules ok 51 - reading from some input files ok 52 - reading from some input files ok 53 - use full filename for C modules ok 54 - use full filename for C modules 1..54 ok # # t::Analizo::FilenameFilter->constructor # # t::Analizo::FilenameFilter->excluder # # t::Analizo::FilenameFilter->must_match_filenames_with_or_without_leading_dot # # t::Analizo::FilenameFilter->null_object t/Analizo/FilenameFilter.t ............................................... ok 1 - An object of class 'Analizo::FilenameFilter' isa 'Analizo::FilenameFilter' ok 2 - An object of class 'Analizo::FilenameFilter' isa 'Analizo::FilenameFilter' ok 3 - excluder ok 4 - excluder ok 5 - excluder ok 6 - excluder ok 7 - excluder ok 8 - must match filenames with or without leading dot ok 9 - must match filenames with or without leading dot ok 10 - must match filenames with or without leading dot ok 11 - must match filenames with or without leading dot ok 12 - null object 1..12 ok # # t::Analizo::GlobalMetric::ChangeCost->calculate # # t::Analizo::GlobalMetric::ChangeCost->calculate_for_an_empty_callgraph # # t::Analizo::GlobalMetric::ChangeCost->description # # t::Analizo::GlobalMetric::ChangeCost->has_model t/Analizo/GlobalMetric/ChangeCost.t ...................................... ok 1 - use Analizo::GlobalMetric::ChangeCost; ok 2 - calculate ok 3 - no change cost ok 4 - description ok 5 - has model 1..5 ok # # t::Analizo::GlobalMetric::MethodsPerAbstractClass->calculate # # t::Analizo::GlobalMetric::MethodsPerAbstractClass->description # # t::Analizo::GlobalMetric::MethodsPerAbstractClass->has_model # # t::Analizo::GlobalMetric::MethodsPerAbstractClass->use_package t/Analizo/GlobalMetric/MethodsPerAbstractClass.t ......................... ok 1 - no abstract classes ok 2 - no methods on abstract classes ok 3 - one methods on one abstract classes ok 4 - one methods on one abstract classes ok 5 - description ok 6 - has model ok 7 - use Analizo::GlobalMetric::MethodsPerAbstractClass; 1..7 ok # # t::Analizo::GlobalMetric::TotalAbstractClasses->calculate # # t::Analizo::GlobalMetric::TotalAbstractClasses->description # # t::Analizo::GlobalMetric::TotalAbstractClasses->has_model # # t::Analizo::GlobalMetric::TotalAbstractClasses->use_package t/Analizo/GlobalMetric/TotalAbstractClasses.t ............................ ok 1 - no abstract classes declared ok 2 - one abstract classes declared ok 3 - two abstract classes declared ok 4 - description ok 5 - has model ok 6 - use Analizo::GlobalMetric::TotalAbstractClasses; 1..6 ok # # t::Analizo::GlobalMetrics->add_lcom4_mean_when_there_were_two_added_values # # t::Analizo::GlobalMetrics->add_loc_mean_when_there_was_no_added_values # # t::Analizo::GlobalMetrics->add_loc_mean_when_there_was_one_added_values # # t::Analizo::GlobalMetrics->add_loc_mean_when_there_were_two_added_values # # t::Analizo::GlobalMetrics->add_rfc_sum_when_there_were_two_added_values # # t::Analizo::GlobalMetrics->constructor # # t::Analizo::GlobalMetrics->list_of_metrics # # t::Analizo::GlobalMetrics->metric_from_global_metrics_package # # t::Analizo::GlobalMetrics->model # # t::Analizo::GlobalMetrics->one_total_loc_found # # t::Analizo::GlobalMetrics->one_total_nom_found # # t::Analizo::GlobalMetrics->should_add_total_coupling_factor # # t::Analizo::GlobalMetrics->should_have_distributions_statistics # # t::Analizo::GlobalMetrics->should_have_other_descriptive_statistics # # t::Analizo::GlobalMetrics->should_ignore_filename # # t::Analizo::GlobalMetrics->should_ignore_module_name # # t::Analizo::GlobalMetrics->sum_the_values_of_loc_found # # t::Analizo::GlobalMetrics->sum_the_values_of_nom_found # # t::Analizo::GlobalMetrics->total_loc_with_no_loc_found # # t::Analizo::GlobalMetrics->total_modules # # t::Analizo::GlobalMetrics->total_modules_with_defined_attributes_when_a_module_has_no_noa # # t::Analizo::GlobalMetrics->total_modules_with_defined_attributes_when_a_module_has_noa # # t::Analizo::GlobalMetrics->total_modules_with_defined_attributes_when_no_modules_where_defined # # t::Analizo::GlobalMetrics->total_modules_with_defined_methods_when_a_module_has_no_nom # # t::Analizo::GlobalMetrics->total_modules_with_defined_methods_when_a_module_has_nom # # t::Analizo::GlobalMetrics->total_modules_with_defined_methods_when_no_modules_where_defined # # t::Analizo::GlobalMetrics->total_nom_with_no_nom_found t/Analizo/GlobalMetrics.t ................................................ ok 1 - add lcom4 mean when there were two added values ok 2 - add loc mean when there was no added values ok 3 - add loc mean when there was one added values ok 4 - add loc mean when there were two added values ok 5 - add rfc sum when there were two added values ok 6 - An object of class 'Analizo::GlobalMetrics' isa 'Analizo::GlobalMetrics' ok 7 - must list metrics ok 8 - 1 abstract class ok 9 - 1 method per abstract class ok 10 - model ok 11 - one total loc found ok 12 - one total nom found ok 13 - should add total coupling factor ok 14 - should add total coupling factor ok 15 - should have distributions statistics ok 16 - should have distributions statistics ok 17 - should have other descriptive statistics ok 18 - should have other descriptive statistics ok 19 - should have other descriptive statistics ok 20 - should have other descriptive statistics ok 21 - should have other descriptive statistics ok 22 - Should ignore _filename metrics ok 23 - should ignore module name ok 24 - sum the values of loc found ok 25 - sum the values of nom found ok 26 - total loc with no loc found ok 27 - total modules ok 28 - total modules ok 29 - total modules with defined attributes when a module has no noa ok 30 - total modules with defined attributes when a module has noa ok 31 - total modules with defined attributes when no modules where defined ok 32 - total modules with defined methods when a module has no nom ok 33 - total modules with defined methods when a module has nom ok 34 - total modules with defined methods when no modules where defined ok 35 - total nom with no nom found 1..35 ok # # t::Analizo::LanguageFilter->c_filter_matches_dot_c_and_dot_h # # t::Analizo::LanguageFilter->constructor # # t::Analizo::LanguageFilter->cpp_filter_matches_cpp_cc_cxx_hpp_h_hh # # t::Analizo::LanguageFilter->csharp_filter_matches_cs_only # # t::Analizo::LanguageFilter->java_filter_matches_java_only # # t::Analizo::LanguageFilter->list_languages # # t::Analizo::LanguageFilter->must_be_case_insensitive # # t::Analizo::LanguageFilter->null_object_matches_everything_that_is_supported t/Analizo/LanguageFilter.t ............................................... ok 1 - c filter matches dot c and dot h ok 2 - c filter matches dot c and dot h ok 3 - c filter matches dot c and dot h ok 4 - An object of class 'Analizo::LanguageFilter' isa 'Analizo::LanguageFilter' ok 5 - cpp filter matches cpp cc cxx hpp h hh ok 6 - cpp filter matches cpp cc cxx hpp h hh ok 7 - cpp filter matches cpp cc cxx hpp h hh ok 8 - cpp filter matches cpp cc cxx hpp h hh ok 9 - cpp filter matches cpp cc cxx hpp h hh ok 10 - cpp filter matches cpp cc cxx hpp h hh ok 11 - cpp filter matches cpp cc cxx hpp h hh ok 12 - cpp filter matches cpp cc cxx hpp h hh ok 13 - csharp filter matches cs only ok 14 - csharp filter matches cs only ok 15 - csharp filter matches cs only ok 16 - csharp filter matches cs only ok 17 - csharp filter matches cs only ok 18 - java filter matches java only ok 19 - java filter matches java only ok 20 - java filter matches java only ok 21 - java filter matches java only ok 22 - list languages ok 23 - list languages ok 24 - must be case insensitive ok 25 - must be case insensitive ok 26 - must be case insensitive ok 27 - must be case insensitive ok 28 - null object matches everything that is supported ok 29 - null object matches everything that is supported ok 30 - null object matches everything that is supported 1..30 ok # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsByInheritance->calculate_deeper_tree # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsByInheritance->calculate_deeper_tree_new_grandchild # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsByInheritance->calculate_first_degree_inheritance # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsByInheritance->calculate_multiple_childs # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsByInheritance->description # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsByInheritance->has_model # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsByInheritance->use_package t/Analizo/Metric/AfferentConnections/AfferentConnectionsByInheritance.t .. ok 1 - grandchilds acc is not affected ok 2 - grandchild extending a child counts ok 3 - the deeper the tree, the biggest acc ok 4 - grandchilds acc is not affected ok 5 - grandchild extending a child counts ok 6 - the deeper the tree, the biggest acc ok 7 - inheritance counts as acc to superclass ok 8 - inheritance does not count as acc to child ok 9 - multiple inheritance counts as acc ok 10 - inheritance does not count as acc to another child ok 11 - description ok 12 - has model ok 13 - use Analizo::Metric::AfferentConnections; 1..13 ok # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsByReference->calculate_adding_variable_of_another_module # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsByReference->calculate_calling_function_of_another_module # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsByReference->calculate_calling_itself_does_not_count # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsByReference->calculate_calling_module_twice # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsByReference->calculate_calling_variable_of_another_module # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsByReference->calculate_empty_acc # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsByReference->description # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsByReference->has_model # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsByReference->use_package t/Analizo/Metric/AfferentConnections/AfferentConnectionsByReference.t .... ok 1 - no calls to a module ok 2 - adding variable of another module ok 3 - no calls to a module ok 4 - calling function of another module ok 5 - calling itself does not count as acc ok 6 - calling module twice ok 7 - no calls to a module ok 8 - calling variable of another module ok 9 - no acc module A ok 10 - no acc module B ok 11 - no acc module C ok 12 - description ok 13 - has model ok 14 - use Analizo::Metric::AfferentConnections; 1..14 ok # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsComplete->calculate_inheritance_and_references # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsComplete->description # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsComplete->has_model # # t::Analizo::Metric::AfferentConnections::AfferentConnectionsComplete->use_package t/Analizo/Metric/AfferentConnections/AfferentConnectionsComplete.t ....... ok 1 - deeper inheritance and reference counts as acc ok 2 - calls counts as acc to child ok 3 - inheritance counts as acc to mother ok 4 - have no inheritance neither calls to mother sister ok 5 - have no inheritance neither calls to friend ok 6 - description ok 7 - has model ok 8 - use Analizo::Metric::AfferentConnections; 1..8 ok # # t::Analizo::Metric::AverageCycloComplexity->calculate # # t::Analizo::Metric::AverageCycloComplexity->description # # t::Analizo::Metric::AverageCycloComplexity->has_model # # t::Analizo::Metric::AverageCycloComplexity->use_package t/Analizo/Metric/AverageCycloComplexity.t ................................ ok 1 - no function ok 2 - one function with two conditional paths ok 3 - two function with three average cyclomatic complexity per method ok 4 - description ok 5 - has model ok 6 - use Analizo::Metric::AverageCycloComplexity; 1..6 ok # # t::Analizo::Metric::AverageMethodLinesOfCode->calculate # # t::Analizo::Metric::AverageMethodLinesOfCode->description # # t::Analizo::Metric::AverageMethodLinesOfCode->has_model # # t::Analizo::Metric::AverageMethodLinesOfCode->use_package t/Analizo/Metric/AverageMethodLinesOfCode.t .............................. ok 1 - empty module has max loc 0 ok 2 - one module, with 10 loc, makes avg loc = 10 ok 3 - adding module with 5 loc makes the avg continue 10 ok 4 - description ok 5 - has model ok 6 - use Analizo::Metric::AverageMethodLinesOfCode; 1..6 ok # # t::Analizo::Metric::AverageNumberOfParameters->calculate # # t::Analizo::Metric::AverageNumberOfParameters->description # # t::Analizo::Metric::AverageNumberOfParameters->has_model # # t::Analizo::Metric::AverageNumberOfParameters->use_package t/Analizo/Metric/AverageNumberOfParameters.t ............................. ok 1 - no parameters declared ok 2 - one function with one parameter ok 3 - description ok 4 - has model ok 5 - use Analizo::Metric::AverageNumberOfParameters; 1..5 ok # # t::Analizo::Metric::CouplingBetweenObjects->calculate # # t::Analizo::Metric::CouplingBetweenObjects->description # # t::Analizo::Metric::CouplingBetweenObjects->discard_external_symbols_for_calculate # # t::Analizo::Metric::CouplingBetweenObjects->has_model # # t::Analizo::Metric::CouplingBetweenObjects->use_package t/Analizo/Metric/CouplingBetweenObjects.t ................................ ok 1 - no cbo ok 2 - calling itself does not count as cbo ok 3 - calling a single other module ok 4 - calling two function in distinct modules ok 5 - calling two different functions in the same module ok 6 - description ok 7 - calling a external function ok 8 - has model ok 9 - use Analizo::Metric::CouplingBetweenObjects; 1..9 ok # # t::Analizo::Metric::DepthOfInheritanceTree->calculate # # t::Analizo::Metric::DepthOfInheritanceTree->calculate_with_multiple_inheritance # # t::Analizo::Metric::DepthOfInheritanceTree->description # # t::Analizo::Metric::DepthOfInheritanceTree->has_model # # t::Analizo::Metric::DepthOfInheritanceTree->use_package t/Analizo/Metric/DepthOfInheritanceTree.t ................................ ok 1 - DIT = 2 ok 2 - DIT = 1 ok 3 - DIT = 0 ok 4 - with multiple inheritance take the larger DIT between the parents ok 5 - has model ok 6 - use Analizo::Metric::DepthOfInheritanceTree; 1..6 ok # # t::Analizo::Metric::LackOfCohesionOfMethods->calculate # # t::Analizo::Metric::LackOfCohesionOfMethods->calculate_2 # # t::Analizo::Metric::LackOfCohesionOfMethods->calculate_3 # # t::Analizo::Metric::LackOfCohesionOfMethods->description # # t::Analizo::Metric::LackOfCohesionOfMethods->has_model # # t::Analizo::Metric::LackOfCohesionOfMethods->use_package t/Analizo/Metric/LackOfCohesionOfMethods.t ............................... ok 1 - two unrelated functions ok 2 - two cohesive functions ok 3 - two different usage components ok 4 - three different usage components ok 5 - different types of connections ok 6 - functions outside the module don't count for LCOM4 ok 7 - description ok 8 - has model ok 9 - use Analizo::Metric::LackOfCohesionOfMethods; 1..9 ok # # t::Analizo::Metric::LinesOfCode->calculate # # t::Analizo::Metric::LinesOfCode->description # # t::Analizo::Metric::LinesOfCode->has_model # # t::Analizo::Metric::LinesOfCode->use_package t/Analizo/Metric/LinesOfCode.t ........................................... ok 1 - empty module has 0 loc ok 2 - one module, with 10 loc ok 3 - adding another module with 20 loc makes the total equal 30 ok 4 - description ok 5 - has model ok 6 - use Analizo::Metric::LinesOfCode; 1..6 ok # # t::Analizo::Metric::MaximumMethodLinesOfCode->calculate # # t::Analizo::Metric::MaximumMethodLinesOfCode->description # # t::Analizo::Metric::MaximumMethodLinesOfCode->has_model # # t::Analizo::Metric::MaximumMethodLinesOfCode->use_package t/Analizo/Metric/MaximumMethodLinesOfCode.t .............................. ok 1 - empty module has max loc 0 ok 2 - one module, with 10 loc, makes max loc = 10 ok 3 - adding module with 5 loc makes the max continue 10 ok 4 - description ok 5 - has model ok 6 - use Analizo::Metric::MaximumMethodLinesOfCode; 1..6 ok # # t::Analizo::Metric::NumberOfAttributes->calculate # # t::Analizo::Metric::NumberOfAttributes->description # # t::Analizo::Metric::NumberOfAttributes->has_model # # t::Analizo::Metric::NumberOfAttributes->use_package t/Analizo/Metric/NumberOfAttributes.t .................................... ok 1 - empty modules have no attributes ok 2 - module with one defined attribute ok 3 - module with two defined attribute ok 4 - description ok 5 - has model ok 6 - use Analizo::Metric::NumberOfAttributes; 1..6 ok # # t::Analizo::Metric::NumberOfChildren->calculate # # t::Analizo::Metric::NumberOfChildren->description # # t::Analizo::Metric::NumberOfChildren->has_model # # t::Analizo::Metric::NumberOfChildren->use_package t/Analizo/Metric/NumberOfChildren.t ...................................... ok 1 - no children module A ok 2 - no children module B ok 3 - no children module C ok 4 - one child module A ok 5 - no children module B ok 6 - two children module A ok 7 - no children module C ok 8 - two children module A ok 9 - one child module C ok 10 - no children module D ok 11 - description ok 12 - has model ok 13 - use Analizo::Metric::NumberOfChildren; 1..13 ok # # t::Analizo::Metric::NumberOfMethods->calculate # # t::Analizo::Metric::NumberOfMethods->description # # t::Analizo::Metric::NumberOfMethods->has_model # # t::Analizo::Metric::NumberOfMethods->use_package t/Analizo/Metric/NumberOfMethods.t ....................................... ok 1 - empty modules have no functions ok 2 - module with just one function has number of functions = 1 ok 3 - module with just two functions has number of functions = 2 ok 4 - description ok 5 - has model ok 6 - use Analizo::Metric::NumberOfMethods; 1..6 ok # # t::Analizo::Metric::NumberOfPublicAttributes->calculate # # t::Analizo::Metric::NumberOfPublicAttributes->description # # t::Analizo::Metric::NumberOfPublicAttributes->has_model # # t::Analizo::Metric::NumberOfPublicAttributes->use_package t/Analizo/Metric/NumberOfPublicAttributes.t .............................. ok 1 - empty modules have 0 public attributes ok 2 - one public attribute added ok 3 - another public attribute added ok 4 - not public attribute added ok 5 - description ok 6 - has model ok 7 - use Analizo::Metric::NumberOfPublicAttributes; 1..7 ok # # t::Analizo::Metric::NumberOfPublicMethods->calculate # # t::Analizo::Metric::NumberOfPublicMethods->description # # t::Analizo::Metric::NumberOfPublicMethods->has_model # # t::Analizo::Metric::NumberOfPublicMethods->use_package t/Analizo/Metric/NumberOfPublicMethods.t ................................. ok 1 - empty modules have 0 public functions ok 2 - one public function added ok 3 - another public function added ok 4 - not public function added ok 5 - description ok 6 - has model ok 7 - use Analizo::Metric::NumberOfPublicMethods; 1..7 ok # # t::Analizo::Metric::ResponseForClass->calculate # # t::Analizo::Metric::ResponseForClass->description # # t::Analizo::Metric::ResponseForClass->has_model # # t::Analizo::Metric::ResponseForClass->use_package t/Analizo/Metric/ResponseForClass.t ...................................... ok 1 - no functions declared on the module ok 2 - one function declared on the module ok 3 - two functions declared on the module ok 4 - two functions and one call declared on the module ok 5 - two functions and two calls declared on the module ok 6 - description ok 7 - has model ok 8 - use Analizo::Metric::ResponseForClass; 1..8 ok # # t::Analizo::Metric::StructuralComplexity->description # # t::Analizo::Metric::StructuralComplexity->has_model # # t::Analizo::Metric::StructuralComplexity->sc_definition # # t::Analizo::Metric::StructuralComplexity->sc_implementation # # t::Analizo::Metric::StructuralComplexity->use_package t/Analizo/Metric/StructuralComplexity.t .................................. ok 1 - description ok 2 - has model ok 3 - sc definition ok 4 - sc implementation ok 5 - sc implementation ok 6 - sc implementation ok 7 - use Analizo::Metric::StructuralComplexity; 1..7 ok # # t::Analizo::Metrics->constructor # # t::Analizo::Metrics->list_of_metrics # # t::Analizo::Metrics->metrics_for # # t::Analizo::Metrics->model # # t::Analizo::Metrics->report # # t::Analizo::Metrics->report_global_only # # t::Analizo::Metrics->report_without_modules_at_all t/Analizo/Metrics.t ...................................................... ok 1 - An object of class 'Analizo::Metrics' isa 'Analizo::Metrics' ok 2 - must list metrics ok 3 - metrics for ok 4 - metrics for ok 5 - Analizo::Metrics->can('model') ok 6 - model ok 7 - reporting number of classes in YAML stream ok 8 - reporting module 1 ok 9 - reporting module 2 ok 10 - reporting number of classes (it is global) ok 11 - not reporting module 1 details ok 12 - not reporting module 2 details 1..12 ok # # t::Analizo::Model->addding_variable_uses # # t::Analizo::Model->adding_abstract_class # # t::Analizo::Model->adding_calls # # t::Analizo::Model->build_graphs_from_funcion_calls_and_inheritance # # t::Analizo::Model->build_graphs_from_function_calls # # t::Analizo::Model->build_graphs_from_inheritance # # t::Analizo::Model->constructor # # t::Analizo::Model->declaring_function # # t::Analizo::Model->declaring_inheritance # # t::Analizo::Model->declaring_modules # # t::Analizo::Model->declaring_modules_with_files # # t::Analizo::Model->declaring_number_of_conditional_paths # # t::Analizo::Model->declaring_protection # # t::Analizo::Model->declaring_variables # # t::Analizo::Model->declating_lines_of_code # # t::Analizo::Model->empty_call_graph # # t::Analizo::Model->empty_object # # t::Analizo::Model->group_files_when_build_graphs # # t::Analizo::Model->groupping_by_module # # t::Analizo::Model->including_external_functions # # t::Analizo::Model->indirect_calls # # t::Analizo::Model->listing_calls # # t::Analizo::Model->listing_only_defined_functions # # t::Analizo::Model->listing_two_calls # # t::Analizo::Model->ommiting_functions # # t::Analizo::Model->querying_functions # # t::Analizo::Model->querying_members # # t::Analizo::Model->querying_variables # # t::Analizo::Model->retrieving_modules_by_file # # t::Analizo::Model->use_file_as_vertices_in_graphs # # t::Analizo::Model->use_of_variables t/Analizo/Model.t ........................................................ ok 1 - must register variable use ok 2 - model detects an abstract class ok 3 - must register function call ok 4 - build graphs from funcion calls and inheritance ok 5 - build graphs from funcion calls and inheritance ok 6 - build graphs from function calls ok 7 - build graphs from function calls ok 8 - build graphs from inheritance ok 9 - build graphs from inheritance ok 10 - An object of class 'Analizo::Model' isa 'Analizo::Model' ok 11 - declared function must be stored ok 12 - must map function to module ok 13 - declaring a function must declare its module ok 14 - must store members in a module ok 15 - another declared function must be stored ok 16 - must map another function to module ok 17 - declaring a another function must declare its module ok 18 - must store members in a module ok 19 - class with one superclass ok 20 - class with two superclasses ok 21 - declaring modules ok 22 - declaring modules ok 23 - declaring modules with files ok 24 - declaring number of conditional paths ok 25 - declaring protection ok 26 - declared variable must be stored ok 27 - must map variable to module ok 28 - declaring a variable must declare its module ok 29 - must store variable in a module ok 30 - declating lines of code ok 31 - empty output must give empty digraph ok 32 - 'must have modules' isa 'HASH' ok 33 - 'must have members' isa 'HASH' ok 34 - group files when build graphs ok 35 - group files when build graphs ok 36 - must list correctly a single dependency arrow between two modules ok 37 - must list arrow targets in lexicographic order ok 38 - must list arrow sources in in lexicographic order ok 39 - must be able to omit a called function ok 40 - must register indirect call ok 41 - must generate correctly a graph with one call ok 42 - must include by default only functions inside the project ok 43 - must generate correctly a graph with f1 -> f2, f1 -> f3 ok 44 - must be able to omit a called function ok 45 - must be able to omit a caller function ok 46 - must list f1 in functions ok 47 - must list f2 in functions ok 48 - must list f1 in functions ok 49 - must list f2 in functions ok 50 - must list v1 in variables ok 51 - must list v2 in variables ok 52 - must list v1 in variables ok 53 - must list v2 in variables ok 54 - retrieving modules by file ok 55 - retrieving modules by file ok 56 - use file as vertices in graphs ok 57 - use file as vertices in graphs ok 58 - must output declared variables ok 59 - must use variable information for inter-module dependencies 1..59 ok # # t::Analizo::ModuleMetric->caches_calculate_results t/Analizo/ModuleMetric.t ................................................. ok 1 - caches calculate results 1..1 ok # # t::Analizo::ModuleMetrics->constructor # # t::Analizo::ModuleMetrics->list_of_metrics # # t::Analizo::ModuleMetrics->metrics_of_module t/Analizo/ModuleMetrics.t ................................................ ok 1 - An object of class 'Analizo::ModuleMetrics' isa 'Analizo::ModuleMetrics' ok 2 - must list metrics ok 3 - metrics of module ok 4 - metrics of module ok 5 - metrics of module ok 6 - metrics of module ok 7 - metrics of module 1..7 ok t/author-pod-spell.t ..................................................... skipped: these tests are for testing by the author t/author-pod-syntax.t .................................................... skipped: these tests are for testing by the author t/features.t ............................................................. # Feature storing VCS data in a database # As a software engineering researcher I want to store data about the changes in a project So that I can analyze the development process # Scenario basics ok 1 - When I explode t/samples/evolution.tar.gz # ok 2 - And I run "analizo metrics-history -f db -o data.db" # ok 3 - Then the exit status must be 0 # ok 4 - When I run "select * from modules" on database "data.db" # ok 5 - Then the output must match "Input" # ok 6 - And the output must match "Output" # ok 7 - And the output must match "prog" # # Feature exclude directories from the analysis # As a software developer in a large project I want to exclude some directories from the source code analysis In order to not analyse non-production code such as tests # Scenario excluding test directory ok 8 - Given I am in t/samples/multidir/cpp # ok 9 - When I run "analizo metrics --exclude test ." # ok 10 - Then the output must match "module: HelloWorld" # ok 11 - And the output must not match "module: hello_test" # # Scenario excluding test directory ok 12 - Given I am in t/samples/multidir/csharp # ok 13 - When I run "analizo metrics --exclude test ." # ok 14 - Then the output must match "module: HelloWorld" # ok 15 - And the output must not match "module: hello_test" # # Scenario excluding a list of directories ok 16 - Given I am in t/samples/multidir/cpp # ok 17 - When I run "analizo metrics --exclude test:src ." # ok 18 - Then the output must not match "module: HelloWorld" # ok 19 - And the output must not match "module: hello_test" # # Scenario excluding a list of directories ok 20 - Given I am in t/samples/multidir/csharp # ok 21 - When I run "analizo metrics --exclude test:src ." # ok 22 - Then the output must not match "module: HelloWorld" # ok 23 - And the output must not match "module: hello_test" # # Scenario excluding src directory ok 24 - Given I am in t/samples/multidir/cpp # ok 25 - When I run "analizo metrics --exclude src ." # ok 26 - Then the output must match "module: hello_test" # ok 27 - And the output must not match "module: HelloWorld" # # Scenario excluding src directory ok 28 - Given I am in t/samples/multidir/csharp # ok 29 - When I run "analizo metrics --exclude src ." # ok 30 - Then the output must match "module: hello_test" # ok 31 - And the output must not match "module: HelloWorld" # # Feature dependency graph among files # As a software engineering reasearcher I want to know the all relationships between all files on project So that I can run analizo files-graph to produces a DOT graph from source-code # Scenario relation between function call ok 32 - Given I am in t/samples/animals/cpp # ok 33 - When I run "analizo files-graph ." # ok 34 - Then analizo must report that "main" depends on "animal" # # Scenario relation between function call ok 35 - Given I am in t/samples/animals/java # ok 36 - When I run "analizo files-graph ." # ok 37 - Then analizo must report that "Main" depends on "Animal" # # Scenario relation between function call ok 38 - Given I am in t/samples/animals/csharp # ok 39 - When I run "analizo files-graph ." # ok 40 - Then analizo must report that "Main" depends on "Animal" # # Scenario relation between inheritance ok 41 - Given I am in t/samples/animals/cpp # ok 42 - When I run "analizo files-graph ." # ok 43 - Then analizo must report that "dog" depends on "mammal" # # Scenario relation between inheritance ok 44 - Given I am in t/samples/animals/java # ok 45 - When I run "analizo files-graph ." # ok 46 - Then analizo must report that "Dog" depends on "Mammal" # # Scenario relation between inheritance ok 47 - Given I am in t/samples/animals/csharp # ok 48 - When I run "analizo files-graph ." # ok 49 - Then analizo must report that "Dog" depends on "Mammal" # # Scenario relation between inheritance ok 50 - Given I am in t/samples/animals/cpp # ok 51 - When I run "analizo files-graph ." # ok 52 - Then analizo must report that "mammal" depends on "animal" # # Scenario relation between inheritance ok 53 - Given I am in t/samples/animals/java # ok 54 - When I run "analizo files-graph ." # ok 55 - Then analizo must report that "Mammal" depends on "Animal" # # Scenario relation between inheritance ok 56 - Given I am in t/samples/animals/csharp # ok 57 - When I run "analizo files-graph ." # ok 58 - Then analizo must report that "Mammal" depends on "Animal" # # Feature loading command line options from .analizo # As a analizo user I want to store command line options in a file called .analizo inside my project So that I don't need to alway pass all those options on the command line # Scenario analizo metrics ok 59 - Given I copy t/samples/mixed into a temporary directory # ok 60 - And I create a file called .analizo with the following content # """metrics: --language java""" ok 61 - When I run "analizo metrics ." # ok 62 - Then the output must not match "native_backend.c" # ok 63 - And the output must match "UI.java" # ok 64 - And the exit status must be 0 # # Scenario all others ok 65 - Given I change to an empty temporary directory # ok 66 - And I create a file called .analizo with the following content # """: --help""" ok 67 - When I run "analizo graph" # ok 68 - Then the output must match "analizo graph is part of the analizo suite." # # Scenario all others ok 69 - Given I change to an empty temporary directory # ok 70 - And I create a file called .analizo with the following content # """: --help""" ok 71 - When I run "analizo metrics" # ok 72 - Then the output must match "analizo metrics is part of the analizo suite." # # Scenario all others ok 73 - Given I change to an empty temporary directory # ok 74 - And I create a file called .analizo with the following content # """: --help""" ok 75 - When I run "analizo metrics-batch" # ok 76 - Then the output must match "analizo metrics-batch is part of the analizo suite." # # Scenario all others ok 77 - Given I change to an empty temporary directory # ok 78 - And I create a file called .analizo with the following content # """: --help""" ok 79 - When I run "analizo metrics-history" # ok 80 - Then the output must match "analizo metrics-history is part of the analizo suite." # # Scenario all others ok 81 - Given I change to an empty temporary directory # ok 82 - And I create a file called .analizo with the following content # """: --help""" ok 83 - When I run "analizo tree-evolution" # ok 84 - Then the output must match "analizo tree-evolution is part of the analizo suite." # # Scenario all others ok 85 - Given I change to an empty temporary directory # ok 86 - And I create a file called .analizo with the following content # """: --help""" ok 87 - When I run "analizo files-graph" # ok 88 - Then the output must match "analizo files-graph is part of the analizo suite." # # Scenario all others ok 89 - Given I change to an empty temporary directory # ok 90 - And I create a file called .analizo with the following content # """: --help""" ok 91 - When I run "analizo help" # ok 92 - Then the output must match "analizo help is part of the analizo suite." # # Feature metrics batch # As a software engineering researcher I want to analyze several different projects So I can compare their metrics # Scenario "hello, world" ok 93 - Given I am in t/samples/hello_world/ # ok 94 - When I run "analizo metrics-batch" # ok 95 - Then the output must match "I: Processed c." # ok 96 - And the output must match "I: Processed cpp." # ok 97 - And the output must match "I: Processed java." # # Scenario summarizing ok 98 - Given I am in t/samples/hello_world/ # ok 99 - When I run "analizo metrics-batch --quiet -o data.csv && cat data.csv && rm -f *.csv" # ok 100 - Then the output must match "^id," # ok 101 - And the output must not match ",---," # ok 102 - And the output must match "c," # ok 103 - And the output must match "cpp," # ok 104 - And the output must match "java," # ok 105 - And the output must not match "I: Processed" # # Scenario support for parallel processing ok 106 - Given I copy t/samples/hello_world/* into a temporary directory # ok 107 - When I run "analizo metrics-batch -q -o sequential.csv" # ok 108 - And I run "analizo metrics-batch -q -o parallel.csv -p 2" # ok 109 - And I run "sort sequential.csv > sequential-sorted.csv" # ok 110 - And I run "sort parallel.csv > parallel-sorted.csv" # ok 111 - And I run "diff -u sequential-sorted.csv parallel-sorted.csv" # ok 112 - Then the output must not match "---" # ok 113 - Then the exit status must be 0 # # Scenario passing two input directories as argument ok 114 - Given I copy t/samples/hello_world/* into a temporary directory # ok 115 - When I run "analizo metrics-batch --quiet -o data.csv cpp java" # ok 116 - Then the exit status must be 0 # ok 117 - And the file "c-details.csv" should not exist # ok 118 - And the file "cpp-details.csv" should exist # ok 119 - And the file "java-details.csv" should exist # # Scenario passing one input directory as argument ok 120 - Given I copy t/samples/hello_world/* into a temporary directory # ok 121 - When I run "analizo metrics-batch --quiet -o data.csv cpp" # ok 122 - Then the exit status must be 0 # ok 123 - And the file "c-details.csv" should not exist # ok 124 - And the file "cpp-details.csv" should exist # ok 125 - And the file "java-details.csv" should not exist # # Feature tree evolution # As a software engineering reasearcher I want to know what directories existed during the project lifetime So that I can analyze only the production code (and not tests etc) # Scenario sample git repository ok 126 - When I explode t/samples/tree-evolution.tar.gz # ok 127 - And I run "analizo tree-evolution" # ok 128 - Then the output lines must match "\# 073290fbad0254793bd3ecfb97654c04368d0039\\nsrc\\n\#" # ok 129 - Then the output lines must match "\# 85f7db08f7b7b0b62e3c0023b2743d529b0d5b4b\\nsrc\\nsrc/input\\n\#" # ok 130 - Then the output lines must match "\# f41cf7d0351e812285efd60c6d957c330b1f61a1\\nsrc\\nsrc/input\\nsrc/output" # # Feature analizo wrapper script # Scenario invoking a tool ok 131 - When I run "analizo metrics lib t" # ok 132 - Then analizo must emit a warning matching "Usage:" # ok 133 - And analizo must emit a warning matching "analizo.metrics" # ok 134 - And the exit status must not be 0 # # Scenario must not pass --version ahead ok 135 - When I run "analizo metrics --version" # ok 136 - Then analizo must emit a warning matching "Invalid option: --version" # ok 137 - And the exit status must not be 0 # # Scenario display help ok 138 - When I run "analizo --help" # ok 139 - Then the output must match "[NAME|N^HNA^HAM^HME^HE]\s+analizo\s" # ok 140 - And the output must match "[USAGE|U^HUS^HSA^HAG^HGE^HE]\s+analizo\s" # ok 141 - And the exit status must be 0 # # Scenario display version ok 142 - When I run "analizo --version" # ok 143 - Then the output must match "^analizo version [0-9]+.[0-9]+.[0-9]+" # ok 144 - And the exit status must be 0 # # Scenario invalid option ok 145 - When I run "analizo --invalid-option" # ok 146 - Then the output must match "Unrecognized command" # ok 147 - And the exit status must not be 0 # # Feature analizo metrics-history # As a software engineering researcher I want to analyse the entire history of a project To understand its development process # Scenario listing merge commits with code changes that should be analyzed ok 148 - When I explode t/samples/evolution.tar.gz # ok 149 - And I run "analizo metrics-history --list ." # ok 150 - Then the output must match "0a06a6fcc2e7b4fe56d134e89d74ad028bb122ed" # ok 151 - And the output must match "eb67c27055293e835049b58d7d73ce3664d3f90e" # ok 152 - And the output must match "aa2d0fcb7879485d5ff1cd189743f91f04bea8ce" # ok 153 - And the output must match "e8faf88f0e20a193d700b6c68eeb31897dd85e53" # ok 154 - And the output must match "d7f52e74dc3d8f57640e83d41c5e9f8fcf621c00" # ok 155 - And the output must match "0d3c023120ad4e9f519a03fff275d048c52671ad" # # Scenario non-code commits should not be analyzed ok 156 - When I explode t/samples/evolution.tar.gz # ok 157 - And I run "analizo metrics-history --list ." # ok 158 - Then the output must not match "ba62278e976944c0334103aa0044535169e1a51e" # # Scenario merge commits without code change should not be analyzed ok 159 - When I explode t/samples/evolution.tar.gz # ok 160 - And I run "analizo metrics-history --list ." # ok 161 - Then the output must not match "0fdaaa7dcc8073332a957024fafc8c98f165e725" # # Scenario actually processing merge commits ok 162 - When I explode t/samples/evolution.tar.gz # ok 163 - And I run "analizo metrics-history -o metrics.csv . && cat metrics.csv" # ok 164 - Then the output must match "^id,previous_commit_id,author_date,author_name,author_email,.*,sc_mean" # ok 165 - And the output must match "0a06a6fcc2e7b4fe56d134e89d74ad028bb122ed,eb67c27055293e835049b58d7d73ce3664d3f90e" # ok 166 - And the output must match "eb67c27055293e835049b58d7d73ce3664d3f90e,," # ok 167 - And the output must match "aa2d0fcb7879485d5ff1cd189743f91f04bea8ce,d7f52e74dc3d8f57640e83d41c5e9f8fcf621c00" # ok 168 - And the output must match "e8faf88f0e20a193d700b6c68eeb31897dd85e53,d7f52e74dc3d8f57640e83d41c5e9f8fcf621c00" # ok 169 - And the output must match "d7f52e74dc3d8f57640e83d41c5e9f8fcf621c00,0d3c023120ad4e9f519a03fff275d048c52671ad" # # Scenario actually processing initial commit and first commit after a non-relevant merge ok 170 - When I explode t/samples/evolution.tar.gz # ok 171 - And I run "analizo metrics-history -o metrics.csv . && cat metrics.csv" # ok 172 - Then the output must match "0d3c023120ad4e9f519a03fff275d048c52671ad,," # ok 173 - And the output must match "8183eafad3a0f3eff6e8869f1bdbfd255e86825a,0a06a6fcc2e7b4fe56d134e89d74ad028bb122ed" # # Scenario support for parallel processing ok 174 - Given I copy t/samples/evolution.tar.gz into a temporary directory # ok 175 - When I run "tar xzf evolution.tar.gz" # ok 176 - And I run "cd evolution && analizo metrics-history -o ../sequential.csv" # ok 177 - And I run "cd evolution && analizo metrics-history -p 2 -o ../parallel.csv" # ok 178 - Then the exit status must be 0 # ok 179 - When I run "sort sequential.csv > sequential-sorted.csv" # ok 180 - And I run "sort parallel.csv > parallel-sorted.csv" # ok 181 - And I run "diff -u sequential-sorted.csv parallel-sorted.csv" # ok 182 - Then the output must not match "---" # ok 183 - And the exit status must be 0 # # Scenario parsing git log format containing renamed files among status of changed files ok 184 - Given I copy t/samples/evolution.tar.gz into a temporary directory # ok 185 - When I run "tar xzf evolution.tar.gz" # ok 186 - And I run "cd evolution && git checkout doc && analizo metrics-history ." # ok 187 - Then the exit status must be 0 # # Scenario language filters ok 188 - Given I copy t/samples/mixed into a temporary directory # ok 189 - When I run "(cd mixed && git init && git add * && git commit -m 'initial commit')" # ok 190 - And I run "analizo metrics-history --language java mixed" # ok 191 - Then the output must not match "native_backend.c" # # Feature doxyparse extractor external tool # As a Analizo developer I want to guarantee that doxyparse deal with any source code To provide reliability for Analizo users # Scenario don't die parsing MCLinker.cpp from android 5.1.1 ok 192 - Given I am in t/samples/android-framework/android-5.1.1_r38 # ok 193 - When I run "analizo metrics ." # ok 194 - Then the exit status must be 0 # # Scenario don't duplicate YAML keys parsing AudioTrackShared.cpp from android 5.1.1 ok 195 - Given I am in t/samples/android-framework/android-5.1.1_r38 # ok 196 - When I run "analizo metrics ." # ok 197 - Then analizo must not emit a warning matching "YAML_LOAD_WARN_DUPLICATE_KEY" # # Scenario don't abort parsing mlpack 3.0.0 ok 198 - Given I am in t/samples/mlpack-3.0.0 # ok 199 - When I run "analizo metrics ." # ok 200 - Then analizo must not emit a warning matching "Aborted" # ok 201 - And the exit status must be 0 # # Scenario don't die parsing kdelibs warning about unknown escape character ok 202 - Given I am in t/samples/kdelibs # ok 203 - When I run "analizo metrics ." # ok 204 - Then analizo must not emit a warning matching "Error" # ok 205 - And the exit status must be 0 # # Scenario don't die parsing mod_suexec.h from http 2.4.38 ok 206 - Given I am in t/samples/httpd-2.4.38 # ok 207 - When I run "analizo metrics ." # ok 208 - Then analizo must not emit a warning matching "Not a HASH reference" # ok 209 - And the exit status must be 0 # # Scenario allow dot on module filename ok 210 - Given I am in t/samples/sample_basic/c # ok 211 - When I run "analizo metrics ." # ok 212 - Then analizo must report that file module1.c declares module module1 # # Feature multi-language support # As a Researcher or Practioneer I want to be able to analyze software in different languages In order do compare them # Scenario dependency between modules ok 213 - Given I am in t/samples/hello_world/c # ok 214 - When I run "analizo graph --modules ." # ok 215 - Then analizo must report that "main" depends on "hello_world" # # Scenario dependency between modules ok 216 - Given I am in t/samples/hello_world/cpp # ok 217 - When I run "analizo graph --modules ." # ok 218 - Then analizo must report that "main" depends on "HelloWorld" # # Scenario dependency between modules ok 219 - Given I am in t/samples/hello_world/java # ok 220 - When I run "analizo graph --modules ." # ok 221 - Then analizo must report that "Main" depends on "HelloWorld" # # Scenario dependency between modules ok 222 - Given I am in t/samples/hello_world/csharp # ok 223 - When I run "analizo graph --modules ." # ok 224 - Then analizo must report that "main" depends on "HelloWorld" # # Scenario dependency between specific functions ok 225 - Given I am in t/samples/hello_world/c # ok 226 - When I run "analizo graph ." # ok 227 - Then analizo must report that "main::main()" depends on "hello_world::hello_world_say(hello_world *)" # ok 228 - And analizo must report that "main::main()" depends on "hello_world::hello_world_destroy(hello_world *)" # # Scenario dependency between specific functions ok 229 - Given I am in t/samples/hello_world/cpp # ok 230 - When I run "analizo graph ." # ok 231 - Then analizo must report that "main::main()" depends on "HelloWorld::say()" # ok 232 - And analizo must report that "main::main()" depends on "HelloWorld::destroy()" # # Scenario dependency between specific functions ok 233 - Given I am in t/samples/hello_world/java # ok 234 - When I run "analizo graph ." # ok 235 - Then analizo must report that "Main::main(String[])" depends on "HelloWorld::say()" # ok 236 - And analizo must report that "Main::main(String[])" depends on "HelloWorld::destroy()" # # Scenario dependency between specific functions ok 237 - Given I am in t/samples/hello_world/csharp # ok 238 - When I run "analizo graph ." # ok 239 - Then analizo must report that "main::Main()" depends on "HelloWorld::say()" # ok 240 - And analizo must report that "main::Main()" depends on "HelloWorld::destroy()" # # Scenario intra-module dependencies ok 241 - Given I am in t/samples/hello_world/c # ok 242 - When I run "analizo graph ." # ok 243 - Then analizo must report that "hello_world::hello_world_say(hello_world *)" depends on "hello_world::_hello_world::id" # ok 244 - And analizo must report that "hello_world::hello_world_destroy(hello_world *)" depends on "hello_world::_hello_world::id" # # Scenario intra-module dependencies ok 245 - Given I am in t/samples/hello_world/cpp # ok 246 - When I run "analizo graph ." # ok 247 - Then analizo must report that "HelloWorld::say()" depends on "HelloWorld::_id" # ok 248 - And analizo must report that "HelloWorld::destroy()" depends on "HelloWorld::_id" # # Scenario intra-module dependencies ok 249 - Given I am in t/samples/hello_world/java # ok 250 - When I run "analizo graph ." # ok 251 - Then analizo must report that "HelloWorld::say()" depends on "HelloWorld::_id" # ok 252 - And analizo must report that "HelloWorld::destroy()" depends on "HelloWorld::_id" # # Scenario intra-module dependencies ok 253 - Given I am in t/samples/hello_world/csharp # ok 254 - When I run "analizo graph ." # ok 255 - Then analizo must report that "HelloWorld::say()" depends on "HelloWorld::_id" # ok 256 - And analizo must report that "HelloWorld::destroy()" depends on "HelloWorld::_id" # # Scenario some metrics ok 257 - Given I am in t/samples/hello_world/c # ok 258 - When I run "analizo metrics ." # ok 259 - Then analizo must report that the project has total_modules = 2 # ok 260 - And analizo must report that module main has nom = 1 # ok 261 - And analizo must report that module hello_world has npm = 3 # ok 262 - And analizo must report that module hello_world has nom = 3 # ok 263 - And analizo must report that module hello_world has npa = 2 # # Scenario some metrics ok 264 - Given I am in t/samples/hello_world/cpp # ok 265 - When I run "analizo metrics ." # ok 266 - Then analizo must report that the project has total_modules = 2 # ok 267 - And analizo must report that module main has nom = 1 # ok 268 - And analizo must report that module HelloWorld has npm = 3 # ok 269 - And analizo must report that module HelloWorld has nom = 4 # ok 270 - And analizo must report that module HelloWorld has npa = 1 # # Scenario some metrics ok 271 - Given I am in t/samples/hello_world/java # ok 272 - When I run "analizo metrics ." # ok 273 - Then analizo must report that the project has total_modules = 2 # ok 274 - And analizo must report that module Main has nom = 1 # ok 275 - And analizo must report that module HelloWorld has npm = 3 # ok 276 - And analizo must report that module HelloWorld has nom = 4 # ok 277 - And analizo must report that module HelloWorld has npa = 1 # # Scenario some metrics ok 278 - Given I am in t/samples/hello_world/csharp # ok 279 - When I run "analizo metrics ." # ok 280 - Then analizo must report that the project has total_modules = 2 # ok 281 - And analizo must report that module main has nom = 1 # ok 282 - And analizo must report that module HelloWorld has npm = 3 # ok 283 - And analizo must report that module HelloWorld has nom = 4 # ok 284 - And analizo must report that module HelloWorld has npa = 1 # # Scenario inheritance data ok 285 - Given I am in t/samples/animals/cpp # ok 286 - When I run "analizo graph --modules ." # ok 287 - Then analizo must report that "Cat" depends on "Mammal" # ok 288 - And analizo must report that "Dog" depends on "Mammal" # ok 289 - And analizo must report that "Mammal" depends on "Animal" # ok 290 - When I run "analizo metrics ." # ok 291 - Then analizo must report that module Cat has dit = 2 # ok 292 - And analizo must report that module Dog has dit = 2 # ok 293 - And analizo must report that module Mammal has dit = 1 # ok 294 - And analizo must report that module Animal has dit = 0 # # Scenario inheritance data ok 295 - Given I am in t/samples/animals/java # ok 296 - When I run "analizo graph --modules ." # ok 297 - Then analizo must report that "Cat" depends on "Mammal" # ok 298 - And analizo must report that "Dog" depends on "Mammal" # ok 299 - And analizo must report that "Mammal" depends on "Animal" # ok 300 - When I run "analizo metrics ." # ok 301 - Then analizo must report that module Cat has dit = 2 # ok 302 - And analizo must report that module Dog has dit = 2 # ok 303 - And analizo must report that module Mammal has dit = 1 # ok 304 - And analizo must report that module Animal has dit = 0 # # Scenario mixed Java and C ok 305 - Given I am in t/samples/mixed # ok 306 - When I run "analizo metrics ." # ok 307 - Then the output must match "_module: native_backend" # ok 308 - And the output must match "_module: UI" # ok 309 - And the output must match "_module: Backend" # # Feature give manpage on --help # As a user I want to read the manpage when passing --help command line option In order to get instructions on how to use the tools # Scenario display manpage for `analizo graph` ok 310 - When I run "analizo graph --help" # ok 311 - Then the output must match "[NAME|N^HNA^HAM^HME^HE]\s+analizo-graph" # ok 312 - Then the output must match "[USAGE|U^HUS^HSA^HAG^HGE^HE]\s+analizo graph \[OPTIONS\]" # # Scenario display manpage for `analizo metrics` ok 313 - When I run "analizo metrics --help" # ok 314 - Then the output must match "[NAME|N^HNA^HAM^HME^HE]\s+analizo-metrics" # ok 315 - Then the output must match "[USAGE|U^HUS^HSA^HAG^HGE^HE]\s+analizo metrics \[OPTIONS\]" # # Scenario display manpage for `analizo metrics-batch` ok 316 - When I run "analizo metrics-batch --help" # ok 317 - Then the output must match "[NAME|N^HNA^HAM^HME^HE]\s+analizo-metrics-batch" # ok 318 - Then the output must match "[USAGE|U^HUS^HSA^HAG^HGE^HE]\s+analizo metrics-batch \[OPTIONS\]" # # Scenario display manpage for `analizo metrics-history` ok 319 - When I run "analizo metrics-history --help" # ok 320 - Then the output must match "[NAME|N^HNA^HAM^HME^HE]\s+analizo-metrics-history" # ok 321 - Then the output must match "[USAGE|U^HUS^HSA^HAG^HGE^HE]\s+analizo metrics-history \[OPTIONS\]" # # Scenario display manpage for `analizo tree-evolution` ok 322 - When I run "analizo tree-evolution --help" # ok 323 - Then the output must match "[NAME|N^HNA^HAM^HME^HE]\s+analizo-tree-evolution" # ok 324 - Then the output must match "[USAGE|U^HUS^HSA^HAG^HGE^HE]\s+analizo tree-evolution \[OPTIONS\]" # # Scenario display manpage for `analizo files-graph` ok 325 - When I run "analizo files-graph --help" # ok 326 - Then the output must match "[NAME|N^HNA^HAM^HME^HE]\s+analizo-files-graph" # ok 327 - Then the output must match "[USAGE|U^HUS^HSA^HAG^HGE^HE]\s+analizo files-graph \[OPTIONS\]" # # Feature c code with void argument # As a software engineering reasearcher I want to know the arguments of each function on a project So that I can run analizo metrics calculate number of parameters # Scenario calculate anpn on function with void argument ok 328 - Given I am in t/samples/void/ # ok 329 - When I run "analizo metrics ." # ok 330 - Then analizo must report that module main has anpm = 0 # # Feature mapping modules to filenames # As a software engineering resesearcher I want to know in which file each module is declared So that I can compare that with data from the VCS # Scenario C++, runing against some directory ok 331 - When I run "analizo metrics t/samples/animals/cpp" # ok 332 - Then analizo must report that file animal.h declares module Animal # ok 333 - And analizo must report that file cat.cc declares module Cat # ok 334 - And analizo must report that file cat.h declares module Cat # ok 335 - And analizo must report that file cat.cc not declares module Dog # ok 336 - And analizo must report that file cat.h not declares module Dog # # Scenario C++, running against current directory ok 337 - Given I am in t/samples/animals/cpp # ok 338 - When I run "analizo metrics ." # ok 339 - Then analizo must report that file animal.h declares module Animal # ok 340 - And analizo must report that file cat.cc declares module Cat # ok 341 - And analizo must report that file cat.h declares module Cat # # Scenario Java ok 342 - When I run "analizo metrics t/samples/animals/java" # ok 343 - Then analizo must report that file Animal.java declares module Animal # # Scenario C ok 344 - Given I am in t/samples/hello_world/c # ok 345 - When I run "analizo metrics ." # ok 346 - Then analizo must report that module hello_world has _filename = [hello_world.c,hello_world.h] # ok 347 - And analizo must report that file hello_world.c declares module hello_world # ok 348 - And analizo must report that file hello_world.h declares module hello_world # # Scenario CSharp hello_world ok 349 - Given I am in t/samples/hello_world/csharp # ok 350 - When I run "analizo metrics ." # ok 351 - Then analizo must report that module HelloWorld has _filename = [HelloWorld.cs] # # Scenario CSharp polygons ok 352 - Given I am in t/samples/polygons/csharp # ok 353 - When I run "analizo metrics ." # ok 354 - Then analizo must report that file Polygon.cs declares module Polygon # ok 355 - And analizo must report that file Rect.cs declares module Rect # ok 356 - And analizo must report that file Triangle.cs declares module Triangle # # Scenario Java Generics WildCard sample ok 357 - Given I am in t/samples/wildcard # ok 358 - When I run "analizo metrics ." # ok 359 - Then analizo must report that file WildcardClass.java declares module WildcardClass # ok 360 - And analizo must report that file GenericClass.java declares module GenericClass # # Scenario Java Enumeration sample ok 361 - Given I am in t/samples/enumeration # ok 362 - When I run "analizo metrics ." # ok 363 - Then analizo must report that file Main.java declares module Main::MyEnumeration # ok 364 - And analizo must report that file Enumeration.java declares module Enumeration # # Feature number of abstract classes # As a software developer I want analizo to report the number of modules with at least a defined method in my code So that I can evaluate it # Scenario "Hello, world" project ok 365 - Given I am in t/samples/hello_world/cpp # ok 366 - When I run "analizo metrics ." # ok 367 - Then analizo must report that the project has total_modules_with_defined_methods = 2 # # Scenario "Hello, world" project ok 368 - Given I am in t/samples/hello_world/java # ok 369 - When I run "analizo metrics ." # ok 370 - Then analizo must report that the project has total_modules_with_defined_methods = 2 # # Scenario "Hello, world" project ok 371 - Given I am in t/samples/hello_world/csharp # ok 372 - When I run "analizo metrics ." # ok 373 - Then analizo must report that the project has total_modules_with_defined_methods = 2 # # Scenario "Animals" project ok 374 - Given I am in t/samples/animals/cpp # ok 375 - When I run "analizo metrics ." # ok 376 - Then analizo must report that the project has total_modules_with_defined_methods = 5 # # Scenario "Animals" project ok 377 - Given I am in t/samples/animals/java # ok 378 - When I run "analizo metrics ." # ok 379 - Then analizo must report that the project has total_modules_with_defined_methods = 5 # # Scenario "Animals" project ok 380 - Given I am in t/samples/animals/csharp # ok 381 - When I run "analizo metrics ." # ok 382 - Then analizo must report that the project has total_modules_with_defined_methods = 5 # # Feature number of attributes metric # As a software developer I want to calculate the number of attributes per module metric So that I can evaluate my code # Scenario number of attributes in the "Animals" project ok 383 - Given I am in t/samples/animals/cpp # ok 384 - When I run "analizo metrics ." # ok 385 - Then analizo must report that module Dog has noa = 1 # ok 386 - And analizo must report that module Cat has noa = 1 # ok 387 - And analizo must report that module main has noa = 0 # # Scenario number of attributes in the "Animals" project ok 388 - Given I am in t/samples/animals/java # ok 389 - When I run "analizo metrics ." # ok 390 - Then analizo must report that module Dog has noa = 1 # ok 391 - And analizo must report that module Cat has noa = 1 # ok 392 - And analizo must report that module Main has noa = 0 # # Scenario number of attributes in the "Animals" project ok 393 - Given I am in t/samples/animals/csharp # ok 394 - When I run "analizo metrics ." # ok 395 - Then analizo must report that module Dog has noa = 1 # ok 396 - And analizo must report that module Cat has noa = 1 # ok 397 - And analizo must report that module main has noa = 0 # # Feature total number of methods per abstract class # As a software developer I want analizo to report the number of abstract classes in my code So that I can evaluate it # Scenario "Hello, world" project ok 398 - Given I am in t/samples/hello_world/cpp # ok 399 - When I run "analizo metrics ." # ok 400 - Then analizo must report that the project has total_methods_per_abstract_class = 0 # # Scenario "Hello, world" project ok 401 - Given I am in t/samples/hello_world/java # ok 402 - When I run "analizo metrics ." # ok 403 - Then analizo must report that the project has total_methods_per_abstract_class = 0 # # Scenario "Hello, world" project ok 404 - Given I am in t/samples/hello_world/csharp # ok 405 - When I run "analizo metrics ." # ok 406 - Then analizo must report that the project has total_methods_per_abstract_class = 0 # # Scenario "Animals" project ok 407 - Given I am in t/samples/animals/cpp # ok 408 - When I run "analizo metrics ." # ok 409 - Then analizo must report that the project has total_methods_per_abstract_class = 1 # # Scenario "Animals" project ok 410 - Given I am in t/samples/animals/java # ok 411 - When I run "analizo metrics ." # ok 412 - Then analizo must report that the project has total_methods_per_abstract_class = 1 # # Scenario "Animals" project ok 413 - Given I am in t/samples/animals/csharp # ok 414 - When I run "analizo metrics ." # ok 415 - Then analizo must report that the project has total_methods_per_abstract_class = 1 # # Scenario "Polygons" project ok 416 - Given I am in t/samples/polygons/cpp # ok 417 - When I run "analizo metrics ." # ok 418 - Then analizo must report that the project has total_methods_per_abstract_class = 2.5 # # Scenario "Polygons" project ok 419 - Given I am in t/samples/polygons/java # ok 420 - When I run "analizo metrics ." # ok 421 - Then analizo must report that the project has total_methods_per_abstract_class = 2 # # Scenario "Polygons" project ok 422 - Given I am in t/samples/polygons/csharp # ok 423 - When I run "analizo metrics ." # ok 424 - Then analizo must report that the project has total_methods_per_abstract_class = 2 # # Feature number of public methods metric # As a software developer I want to calculate the number of public methods per module metric So that I can evaluate my code # Scenario number of attributes in the "Animals" project ok 425 - Given I am in t/samples/polygons/cpp # ok 426 - When I run "analizo metrics ." # ok 427 - Then analizo must report that module CPolygon has npm = 2 # # Scenario number of attributes in the "Animals" project ok 428 - Given I am in t/samples/polygons/cpp # ok 429 - When I run "analizo metrics ." # ok 430 - Then analizo must report that module CTetragon has npm = 1 # # Scenario number of attributes in the "Animals" project ok 431 - Given I am in t/samples/polygons/java # ok 432 - When I run "analizo metrics ." # ok 433 - Then analizo must report that module Polygon has npm = 3 # # Scenario number of attributes in the "Animals" project ok 434 - Given I am in t/samples/polygons/csharp # ok 435 - When I run "analizo metrics ." # ok 436 - Then analizo must report that module Polygon has npm = 2 # # Scenario number of attributes in the "Animals" project ok 437 - Given I am in t/samples/animals/cpp # ok 438 - When I run "analizo metrics ." # ok 439 - Then analizo must report that module Animal has npm = 1 # # Scenario number of attributes in the "Animals" project ok 440 - Given I am in t/samples/animals/cpp # ok 441 - When I run "analizo metrics ." # ok 442 - Then analizo must report that module Cat has npm = 2 # # Scenario number of attributes in the "Animals" project ok 443 - Given I am in t/samples/animals/cpp # ok 444 - When I run "analizo metrics ." # ok 445 - Then analizo must report that module Dog has npm = 2 # # Scenario number of attributes in the "Animals" project ok 446 - Given I am in t/samples/animals/java # ok 447 - When I run "analizo metrics ." # ok 448 - Then analizo must report that module Animal has npm = 1 # # Scenario number of attributes in the "Animals" project ok 449 - Given I am in t/samples/animals/java # ok 450 - When I run "analizo metrics ." # ok 451 - Then analizo must report that module Cat has npm = 2 # # Scenario number of attributes in the "Animals" project ok 452 - Given I am in t/samples/animals/java # ok 453 - When I run "analizo metrics ." # ok 454 - Then analizo must report that module Dog has npm = 2 # # Scenario number of attributes in the "Animals" project ok 455 - Given I am in t/samples/animals/csharp # ok 456 - When I run "analizo metrics ." # ok 457 - Then analizo must report that module Animal has npm = 1 # # Scenario number of attributes in the "Animals" project ok 458 - Given I am in t/samples/animals/csharp # ok 459 - When I run "analizo metrics ." # ok 460 - Then analizo must report that module Cat has npm = 2 # # Scenario number of attributes in the "Animals" project ok 461 - Given I am in t/samples/animals/csharp # ok 462 - When I run "analizo metrics ." # ok 463 - Then analizo must report that module Dog has npm = 2 # # Feature list metrics # As a Research or Practioner I want to extract metrics from source code So that I can learn, understand and evaluate it # Scenario listing metrics ok 464 - When I run "analizo metrics --list" # ok 465 - Then analizo must present a list of metrics # # Scenario listing metrics ok 466 - When I run "analizo metrics -l" # ok 467 - Then analizo must present a list of metrics # # Feature output file for metrics tool # Scenario passing output file in the command line ok 468 - Given I am in . # ok 469 - When I run "analizo metrics --output output.yml.tmp t/samples/sample_basic/" # ok 470 - Then the contents of "output.yml.tmp" must match "module2" # ok 471 - And the exit status must be 0 # # Scenario passing output file without permission to write ok 472 - Given I am in . # ok 473 - When I run "touch output.tmp" # ok 474 - And I run "chmod 000 output.tmp" # ok 475 - And I run "analizo metrics --output output.tmp t/samples/sample_basic/" # ok 476 - Then the exit status must not be 0 # ok 477 - And analizo must emit a warning matching "Permission denied" # # Scenario passing output file in an unexisting directory ok 478 - Given I am in . # ok 479 - When I run "analizo metrics --output /this/directory/must/not/exists/output.yml t/samples" # ok 480 - Then the exit status must not be 0 # ok 481 - And analizo must emit a warning matching "No such file or directory" # # Feature output only global metrics # As a researcher I want to ouput only the global metrics So that I can evaluate several projects at once # Scenario simple case ok 482 - Given I am in t/samples/sample_basic/c/ # ok 483 - When I run "analizo metrics --global-only ." # ok 484 - Then the output must match "cbo_mean:" # ok 485 - And the output must not match "_module:" # # Scenario short version ok 486 - Given I am in t/samples/sample_basic/c/ # ok 487 - When I run "analizo metrics -g ." # ok 488 - Then the output must match "cbo_mean:" # ok 489 - And the output must not match "_module:" # # Feature total modules # As a software developer I want analizo to report the total number of modules in my code So that I can evaluate it # Scenario Java Enumeration sample ok 490 - Given I am in t/samples/enumeration # ok 491 - When I run "analizo metrics ." # ok 492 - Then analizo must report that the project has total_modules = 3 # # Feature number of abstract classes # As a software developer I want analizo to report the number of abstract classes in my code So that I can evaluate it # Scenario "Hello, world" project ok 493 - Given I am in t/samples/hello_world/cpp # ok 494 - When I run "analizo metrics ." # ok 495 - Then analizo must report that the project has total_abstract_classes = 0 # # Scenario "Hello, world" project ok 496 - Given I am in t/samples/hello_world/java # ok 497 - When I run "analizo metrics ." # ok 498 - Then analizo must report that the project has total_abstract_classes = 0 # # Scenario "Hello, world" project ok 499 - Given I am in t/samples/hello_world/csharp # ok 500 - When I run "analizo metrics ." # ok 501 - Then analizo must report that the project has total_abstract_classes = 0 # # Scenario "Animals" project ok 502 - Given I am in t/samples/animals/cpp # ok 503 - When I run "analizo metrics ." # ok 504 - Then analizo must report that the project has total_abstract_classes = 2 # # Scenario "Animals" project ok 505 - Given I am in t/samples/animals/java # ok 506 - When I run "analizo metrics ." # ok 507 - Then analizo must report that the project has total_abstract_classes = 2 # # Scenario "Animals" project ok 508 - Given I am in t/samples/animals/csharp # ok 509 - When I run "analizo metrics ." # ok 510 - Then analizo must report that the project has total_abstract_classes = 2 # # Scenario "Polygons" project ok 511 - Given I am in t/samples/polygons/cpp # ok 512 - When I run "analizo metrics ." # ok 513 - Then analizo must report that the project has total_abstract_classes = 2 # # Scenario "Polygons" project ok 514 - Given I am in t/samples/polygons/java # ok 515 - When I run "analizo metrics ." # ok 516 - Then analizo must report that the project has total_abstract_classes = 2 # # Scenario "Polygons" project ok 517 - Given I am in t/samples/polygons/csharp # ok 518 - When I run "analizo metrics ." # ok 519 - Then analizo must report that the project has total_abstract_classes = 2 # # Scenario "AbstractClass" project ok 520 - Given I am in t/samples/abstract_class/java # ok 521 - When I run "analizo metrics ." # ok 522 - Then analizo must report that the project has total_abstract_classes = 1 # ok 523 - And analizo must report that the project has total_methods_per_abstract_class = 6 # # Scenario "AbstractClass" project ok 524 - Given I am in t/samples/abstract_class/csharp # ok 525 - When I run "analizo metrics ." # ok 526 - Then analizo must report that the project has total_abstract_classes = 1 # ok 527 - And analizo must report that the project has total_methods_per_abstract_class = 1 # # Feature language filters # As a software developer in a multi-language project I want to analyze only one programming language So that the results are as correct as possible # Scenario filtering for C code ok 528 - Given I am in t/samples/mixed # ok 529 - When I run "analizo metrics --language c ." # ok 530 - Then the output must match "native_backend" # ok 531 - And the output must not match "UI" # ok 532 - And the output must not match "Backend" # ok 533 - And the output must not match "CSharp_Backend" # # Scenario filtering for Java code ok 534 - Given I am in t/samples/mixed # ok 535 - When I run "analizo metrics --language java ." # ok 536 - Then the output must match "UI" # ok 537 - And the output must match "Backend" # ok 538 - And the output must not match "native_backend" # ok 539 - And the output must not match "CSharp_Backend" # # Scenario filtering for CSharp code ok 540 - Given I am in t/samples/mixed # ok 541 - When I run "analizo metrics --language csharp ." # ok 542 - Then the output must match "CSharp_Backend" # ok 543 - And the output must not match "UI" # ok 544 - And the output must not match "native_backend" # # Scenario listing languages ok 545 - When I run "analizo metrics --language list" # ok 546 - Then analizo must present a list of languages # # Feature number of abstract classes # As a software developer I want analizo to report the number of modules with at least a defined method in my code So that I can evaluate it # Scenario "Hello, world" project ok 547 - Given I am in t/samples/hello_world/cpp # ok 548 - When I run "analizo metrics ." # ok 549 - Then analizo must report that the project has total_modules_with_defined_attributes = 1 # # Scenario "Hello, world" project ok 550 - Given I am in t/samples/hello_world/java # ok 551 - When I run "analizo metrics ." # ok 552 - Then analizo must report that the project has total_modules_with_defined_attributes = 1 # # Scenario "Hello, world" project ok 553 - Given I am in t/samples/hello_world/csharp # ok 554 - When I run "analizo metrics ." # ok 555 - Then analizo must report that the project has total_modules_with_defined_attributes = 1 # # Scenario "Animals" project ok 556 - Given I am in t/samples/animals/cpp # ok 557 - When I run "analizo metrics ." # ok 558 - Then analizo must report that the project has total_modules_with_defined_attributes = 2 # # Scenario "Animals" project ok 559 - Given I am in t/samples/animals/java # ok 560 - When I run "analizo metrics ." # ok 561 - Then analizo must report that the project has total_modules_with_defined_attributes = 2 # # Scenario "Animals" project ok 562 - Given I am in t/samples/animals/csharp # ok 563 - When I run "analizo metrics ." # ok 564 - Then analizo must report that the project has total_modules_with_defined_attributes = 2 # # Feature afferent connections with deep inheritance # As a software developer I want analizo to report the afferent connections of each module So that I can evaluate it # Scenario afferent connections of the dog family java sample ok 565 - Given I am in t/samples/deep_inheritance/java # ok 566 - When I run "analizo metrics ." # ok 567 - Then analizo must report that module Dog has acc = 7 # # Scenario afferent connections of the dog family java sample ok 568 - Given I am in t/samples/deep_inheritance/java # ok 569 - When I run "analizo metrics ." # ok 570 - Then analizo must report that module DogFirstGreatGrandson has acc = 1 # # Scenario afferent connections of the dog family java sample ok 571 - Given I am in t/samples/deep_inheritance/java # ok 572 - When I run "analizo metrics ." # ok 573 - Then analizo must report that module DogFirstPuppy has acc = 4 # # Scenario afferent connections of the dog family java sample ok 574 - Given I am in t/samples/deep_inheritance/java # ok 575 - When I run "analizo metrics ." # ok 576 - Then analizo must report that module DogGrandson has acc = 3 # # Scenario afferent connections of the dog family java sample ok 577 - Given I am in t/samples/deep_inheritance/java # ok 578 - When I run "analizo metrics ." # ok 579 - Then analizo must report that module DogSecondGreatGrandson has acc = 0 # # Scenario afferent connections of the dog family java sample ok 580 - Given I am in t/samples/deep_inheritance/java # ok 581 - When I run "analizo metrics ." # ok 582 - Then analizo must report that module DogSecondPuppy has acc = 0 # # Scenario afferent connections of the dog family java sample ok 583 - Given I am in t/samples/deep_inheritance/java # ok 584 - When I run "analizo metrics ." # ok 585 - Then analizo must report that module DogSuperYoung has acc = 0 # # Scenario afferent connections of the dog family java sample ok 586 - Given I am in t/samples/deep_inheritance/java # ok 587 - When I run "analizo metrics ." # ok 588 - Then analizo must report that module Human has acc = 2 # # Scenario afferent connections of the dog family java sample ok 589 - Given I am in t/samples/deep_inheritance/java # ok 590 - When I run "analizo metrics ." # ok 591 - Then analizo must report that module ShopController has acc = 0 # # Scenario afferent connections of the dog family java sample ok 592 - Given I am in t/samples/deep_inheritance/java # ok 593 - When I run "analizo metrics ." # ok 594 - Then analizo must report that module VenderShop has acc = 1 # # Feature change cost degree # As a software developer I want analizo to report the degree of change cost in my code So that I can evaluate it # Scenario "Hello, world" project ok 595 - Given I am in t/samples/hello_world/cpp # ok 596 - When I run "analizo metrics ." # ok 597 - Then analizo must report that the project has change_cost = 0.75 # # Scenario "Hello, world" project ok 598 - Given I am in t/samples/hello_world/java # ok 599 - When I run "analizo metrics ." # ok 600 - Then analizo must report that the project has change_cost = 0.75 # # Scenario "Hello, world" project ok 601 - Given I am in t/samples/hello_world/csharp # ok 602 - When I run "analizo metrics ." # ok 603 - Then analizo must report that the project has change_cost = 0.75 # # Scenario "Animals" project ok 604 - Given I am in t/samples/animals/cpp # ok 605 - When I run "analizo metrics ." # ok 606 - Then analizo must report that the project has change_cost = 0.44 # # Scenario "Animals" project ok 607 - Given I am in t/samples/animals/java # ok 608 - When I run "analizo metrics ." # ok 609 - Then analizo must report that the project has change_cost = 0.44 # # Scenario "Animals" project ok 610 - Given I am in t/samples/animals/csharp # ok 611 - When I run "analizo metrics ." # ok 612 - Then analizo must report that the project has change_cost = 0.44 # # Scenario "Hieracchical Graph" project ok 613 - Given I am in t/samples/hierarchical_graph/c # ok 614 - When I run "analizo metrics ." # ok 615 - Then analizo must report that the project has change_cost = 0.42 # # Scenario "Hieracchical Graph" project ok 616 - Given I am in t/samples/hierarchical_graph/csharp # ok 617 - When I run "analizo metrics ." # ok 618 - Then analizo must report that the project has change_cost = 0.28 # # Scenario "Cyclical Graph" project ok 619 - Given I am in t/samples/cyclical_graph/c # ok 620 - When I run "analizo metrics ." # ok 621 - Then analizo must report that the project has change_cost = 0.5 # # Scenario "Cyclical Graph" project ok 622 - Given I am in t/samples/cyclical_graph/csharp # ok 623 - When I run "analizo metrics ." # ok 624 - Then analizo must report that the project has change_cost = 0.36 # # Feature number of methods # As a software developer I want analizo to report the number of methods of each module So that I can evaluate it # Scenario number of methods of the polygon java sample ok 625 - Given I am in t/samples/polygons/cpp # ok 626 - When I run "analizo metrics ." # ok 627 - Then analizo must report that module CPolygon has nom = 3 # # Scenario number of methods of the polygon java sample ok 628 - Given I am in t/samples/polygons/cpp # ok 629 - When I run "analizo metrics ." # ok 630 - Then analizo must report that module CTetragon has nom = 2 # # Scenario number of methods of the polygon java sample ok 631 - Given I am in t/samples/polygons/java # ok 632 - When I run "analizo metrics ." # ok 633 - Then analizo must report that module Polygon has nom = 3 # # Scenario number of methods of the polygon java sample ok 634 - Given I am in t/samples/polygons/csharp # ok 635 - When I run "analizo metrics ." # ok 636 - Then analizo must report that module Polygon has nom = 2 # # Scenario number of methods of the polygon java sample ok 637 - Given I am in t/samples/polygons/csharp # ok 638 - When I run "analizo metrics ." # ok 639 - Then analizo must report that module Tetragon has nom = 2 # # Scenario number of methods of the polygon java sample ok 640 - Given I am in t/samples/animals/cpp # ok 641 - When I run "analizo metrics ." # ok 642 - Then analizo must report that module Animal has nom = 1 # # Scenario number of methods of the polygon java sample ok 643 - Given I am in t/samples/animals/cpp # ok 644 - When I run "analizo metrics ." # ok 645 - Then analizo must report that module Cat has nom = 2 # # Scenario number of methods of the polygon java sample ok 646 - Given I am in t/samples/animals/cpp # ok 647 - When I run "analizo metrics ." # ok 648 - Then analizo must report that module Dog has nom = 2 # # Scenario number of methods of the polygon java sample ok 649 - Given I am in t/samples/animals/java # ok 650 - When I run "analizo metrics ." # ok 651 - Then analizo must report that module Animal has nom = 1 # # Scenario number of methods of the polygon java sample ok 652 - Given I am in t/samples/animals/java # ok 653 - When I run "analizo metrics ." # ok 654 - Then analizo must report that module Cat has nom = 2 # # Scenario number of methods of the polygon java sample ok 655 - Given I am in t/samples/animals/java # ok 656 - When I run "analizo metrics ." # ok 657 - Then analizo must report that module Dog has nom = 2 # # Scenario number of methods of the polygon java sample ok 658 - Given I am in t/samples/animals/csharp # ok 659 - When I run "analizo metrics ." # ok 660 - Then analizo must report that module Animal has nom = 1 # # Scenario number of methods of the polygon java sample ok 661 - Given I am in t/samples/animals/csharp # ok 662 - When I run "analizo metrics ." # ok 663 - Then analizo must report that module Cat has nom = 2 # # Scenario number of methods of the polygon java sample ok 664 - Given I am in t/samples/animals/csharp # ok 665 - When I run "analizo metrics ." # ok 666 - Then analizo must report that module Dog has nom = 2 # # Scenario not computes macro on C code as method definition ok 667 - Given I am in t/samples/macro # ok 668 - When I run "analizo metrics ." # ok 669 - Then analizo must report that module using_macro has nom = 1 # # Feature coupling between objects # As a software developer I want analizo to report the value of CBO metric in my code So that I can evaluate it # Scenario "Hello, world" project ok 670 - Given I am in t/samples/hello_world/c # ok 671 - When I run "analizo metrics ." # ok 672 - Then analizo must report that module main has cbo = 1 # # Scenario "Hello, world" project ok 673 - Given I am in t/samples/hello_world/cpp # ok 674 - When I run "analizo metrics ." # ok 675 - Then analizo must report that module main has cbo = 1 # # Scenario "Hello, world" project ok 676 - Given I am in t/samples/hello_world/java # ok 677 - When I run "analizo metrics ." # ok 678 - Then analizo must report that module Main has cbo = 1 # # Scenario "Hello, world" project ok 679 - Given I am in t/samples/hello_world/csharp # ok 680 - When I run "analizo metrics ." # ok 681 - Then analizo must report that module main has cbo = 1 # # Scenario "Animals" project ok 682 - Given I am in t/samples/animals/cpp # ok 683 - When I run "analizo metrics ." # ok 684 - Then analizo must report that module main has cbo = 1 # # Scenario "Animals" project ok 685 - Given I am in t/samples/animals/cpp # ok 686 - When I run "analizo metrics ." # ok 687 - Then analizo must report that module mammal has cbo = 0 # # Scenario "Animals" project ok 688 - Given I am in t/samples/animals/java # ok 689 - When I run "analizo metrics ." # ok 690 - Then analizo must report that module Main has cbo = 1 # # Scenario "Animals" project ok 691 - Given I am in t/samples/animals/java # ok 692 - When I run "analizo metrics ." # ok 693 - Then analizo must report that module Mammal has cbo = 0 # # Scenario "Animals" project ok 694 - Given I am in t/samples/animals/csharp # ok 695 - When I run "analizo metrics ." # ok 696 - Then analizo must report that module main has cbo = 1 # # Scenario "Animals" project ok 697 - Given I am in t/samples/animals/csharp # ok 698 - When I run "analizo metrics ." # ok 699 - Then analizo must report that module Mammal has cbo = 0 # # Feature average cyclomatic complexity per method # As a software developer I want to calculate the average cyclomatic complexity per method of my code So that I can spot the more complex modules and refactor them # Scenario my "conditionals" C project ok 700 - Given I am in t/samples/conditionals/c # ok 701 - When I run "analizo metrics ." # ok 702 - Then analizo must report that module cc1 has accm = 1 # ok 703 - Then analizo must report that module cc2 has accm = 2 # ok 704 - Then analizo must report that module cc3 has accm = 3 # ok 705 - Then analizo must report that module cc4 has accm = 4 # # Scenario my "conditionals" C project ok 706 - Given I am in t/samples/conditionals/csharp # ok 707 - When I run "analizo metrics ." # ok 708 - Then analizo must report that module cc1 has accm = 1 # ok 709 - Then analizo must report that module cc2 has accm = 2 # ok 710 - Then analizo must report that module cc3 has accm = 3 # ok 711 - Then analizo must report that module cc4 has accm = 4 # # Feature average number of parameters metric # As a software developer I want to calculate the average number of arguments per method metric So that I can evaluate my code # Scenario number of parameters in the "Animals" project ok 712 - Given I am in t/samples/animals/cpp # ok 713 - When I run "analizo metrics ." # ok 714 - Then analizo must report that module Dog has anpm = 0.5 # ok 715 - And analizo must report that module Cat has anpm = 0.5 # ok 716 - And analizo must report that module main has anpm = 0 # # Scenario number of parameters in the "Animals" project ok 717 - Given I am in t/samples/animals/java # ok 718 - When I run "analizo metrics ." # ok 719 - Then analizo must report that module Dog has anpm = 0.5 # ok 720 - And analizo must report that module Cat has anpm = 0.5 # ok 721 - And analizo must report that module Main has anpm = 1 # # Scenario number of parameters in the "Animals" project ok 722 - Given I am in t/samples/animals/csharp # ok 723 - When I run "analizo metrics ." # ok 724 - Then analizo must report that module Dog has anpm = 0.5 # ok 725 - And analizo must report that module Cat has anpm = 0.5 # ok 726 - And analizo must report that module main has anpm = 1 # # Feature output statistics values of metrics # As a researcher I want to ouput statistics values of metrics So that I can evaluate a project at once # Scenario "Hello, world" project ok 727 - Given I am in t/samples/hello_world/ # ok 728 - When I run "analizo metrics ." # ok 729 - Then the output must match "acc_mean:" # ok 730 - Then the output must match "acc_mode:" # ok 731 - Then the output must match "acc_standard_deviation:" # ok 732 - Then the output must match "acc_sum:" # ok 733 - Then the output must match "acc_variance:" # ok 734 - Then the output must match "acc_quantile_min:" # ok 735 - Then the output must match "acc_quantile_lower:" # ok 736 - Then the output must match "acc_quantile_median:" # ok 737 - Then the output must match "acc_quantile_upper:" # ok 738 - Then the output must match "acc_quantile_max:" # ok 739 - Then the output must match "acc_kurtosis:" # ok 740 - Then the output must match "acc_skewness:" # # Scenario "Hello, world" project ok 741 - Given I am in t/samples/hello_world/ # ok 742 - When I run "analizo metrics ." # ok 743 - Then the output must match "accm_mean:" # ok 744 - Then the output must match "accm_mode:" # ok 745 - Then the output must match "accm_standard_deviation:" # ok 746 - Then the output must match "accm_sum:" # ok 747 - Then the output must match "accm_variance:" # ok 748 - Then the output must match "accm_quantile_min:" # ok 749 - Then the output must match "accm_quantile_lower:" # ok 750 - Then the output must match "accm_quantile_median:" # ok 751 - Then the output must match "accm_quantile_upper:" # ok 752 - Then the output must match "accm_quantile_max:" # ok 753 - Then the output must match "accm_kurtosis:" # ok 754 - Then the output must match "accm_skewness:" # # Scenario "Hello, world" project ok 755 - Given I am in t/samples/hello_world/ # ok 756 - When I run "analizo metrics ." # ok 757 - Then the output must match "amloc_mean:" # ok 758 - Then the output must match "amloc_mode:" # ok 759 - Then the output must match "amloc_standard_deviation:" # ok 760 - Then the output must match "amloc_sum:" # ok 761 - Then the output must match "amloc_variance:" # ok 762 - Then the output must match "amloc_quantile_min:" # ok 763 - Then the output must match "amloc_quantile_lower:" # ok 764 - Then the output must match "amloc_quantile_median:" # ok 765 - Then the output must match "amloc_quantile_upper:" # ok 766 - Then the output must match "amloc_quantile_max:" # ok 767 - Then the output must match "amloc_kurtosis:" # ok 768 - Then the output must match "amloc_skewness:" # # Scenario "Hello, world" project ok 769 - Given I am in t/samples/hello_world/ # ok 770 - When I run "analizo metrics ." # ok 771 - Then the output must match "anpm_mean:" # ok 772 - Then the output must match "anpm_mode:" # ok 773 - Then the output must match "anpm_standard_deviation:" # ok 774 - Then the output must match "anpm_sum:" # ok 775 - Then the output must match "anpm_variance:" # ok 776 - Then the output must match "anpm_quantile_min:" # ok 777 - Then the output must match "anpm_quantile_lower:" # ok 778 - Then the output must match "anpm_quantile_median:" # ok 779 - Then the output must match "anpm_quantile_upper:" # ok 780 - Then the output must match "anpm_quantile_max:" # ok 781 - Then the output must match "anpm_kurtosis:" # ok 782 - Then the output must match "anpm_skewness:" # # Scenario "Hello, world" project ok 783 - Given I am in t/samples/hello_world/ # ok 784 - When I run "analizo metrics ." # ok 785 - Then the output must match "cbo_mean:" # ok 786 - Then the output must match "cbo_mode:" # ok 787 - Then the output must match "cbo_standard_deviation:" # ok 788 - Then the output must match "cbo_sum:" # ok 789 - Then the output must match "cbo_variance:" # ok 790 - Then the output must match "cbo_quantile_min:" # ok 791 - Then the output must match "cbo_quantile_lower:" # ok 792 - Then the output must match "cbo_quantile_median:" # ok 793 - Then the output must match "cbo_quantile_upper:" # ok 794 - Then the output must match "cbo_quantile_max:" # ok 795 - Then the output must match "cbo_kurtosis:" # ok 796 - Then the output must match "cbo_skewness:" # # Scenario "Hello, world" project ok 797 - Given I am in t/samples/hello_world/ # ok 798 - When I run "analizo metrics ." # ok 799 - Then the output must match "dit_mean:" # ok 800 - Then the output must match "dit_mode:" # ok 801 - Then the output must match "dit_standard_deviation:" # ok 802 - Then the output must match "dit_sum:" # ok 803 - Then the output must match "dit_variance:" # ok 804 - Then the output must match "dit_quantile_min:" # ok 805 - Then the output must match "dit_quantile_lower:" # ok 806 - Then the output must match "dit_quantile_median:" # ok 807 - Then the output must match "dit_quantile_upper:" # ok 808 - Then the output must match "dit_quantile_max:" # ok 809 - Then the output must match "dit_kurtosis:" # ok 810 - Then the output must match "dit_skewness:" # # Scenario "Hello, world" project ok 811 - Given I am in t/samples/hello_world/ # ok 812 - When I run "analizo metrics ." # ok 813 - Then the output must match "lcom4_mean:" # ok 814 - Then the output must match "lcom4_mode:" # ok 815 - Then the output must match "lcom4_standard_deviation:" # ok 816 - Then the output must match "lcom4_sum:" # ok 817 - Then the output must match "lcom4_variance:" # ok 818 - Then the output must match "lcom4_quantile_min:" # ok 819 - Then the output must match "lcom4_quantile_lower:" # ok 820 - Then the output must match "lcom4_quantile_median:" # ok 821 - Then the output must match "lcom4_quantile_upper:" # ok 822 - Then the output must match "lcom4_quantile_max:" # ok 823 - Then the output must match "lcom4_kurtosis:" # ok 824 - Then the output must match "lcom4_skewness:" # # Scenario "Hello, world" project ok 825 - Given I am in t/samples/hello_world/ # ok 826 - When I run "analizo metrics ." # ok 827 - Then the output must match "loc_mean:" # ok 828 - Then the output must match "loc_mode:" # ok 829 - Then the output must match "loc_standard_deviation:" # ok 830 - Then the output must match "loc_sum:" # ok 831 - Then the output must match "loc_variance:" # ok 832 - Then the output must match "loc_quantile_min:" # ok 833 - Then the output must match "loc_quantile_lower:" # ok 834 - Then the output must match "loc_quantile_median:" # ok 835 - Then the output must match "loc_quantile_upper:" # ok 836 - Then the output must match "loc_quantile_max:" # ok 837 - Then the output must match "loc_kurtosis:" # ok 838 - Then the output must match "loc_skewness:" # # Scenario "Hello, world" project ok 839 - Given I am in t/samples/hello_world/ # ok 840 - When I run "analizo metrics ." # ok 841 - Then the output must match "mmloc_mean:" # ok 842 - Then the output must match "mmloc_mode:" # ok 843 - Then the output must match "mmloc_standard_deviation:" # ok 844 - Then the output must match "mmloc_sum:" # ok 845 - Then the output must match "mmloc_variance:" # ok 846 - Then the output must match "mmloc_quantile_min:" # ok 847 - Then the output must match "mmloc_quantile_lower:" # ok 848 - Then the output must match "mmloc_quantile_median:" # ok 849 - Then the output must match "mmloc_quantile_upper:" # ok 850 - Then the output must match "mmloc_quantile_max:" # ok 851 - Then the output must match "mmloc_kurtosis:" # ok 852 - Then the output must match "mmloc_skewness:" # # Scenario "Hello, world" project ok 853 - Given I am in t/samples/hello_world/ # ok 854 - When I run "analizo metrics ." # ok 855 - Then the output must match "noa_mean:" # ok 856 - Then the output must match "noa_mode:" # ok 857 - Then the output must match "noa_standard_deviation:" # ok 858 - Then the output must match "noa_sum:" # ok 859 - Then the output must match "noa_variance:" # ok 860 - Then the output must match "noa_quantile_min:" # ok 861 - Then the output must match "noa_quantile_lower:" # ok 862 - Then the output must match "noa_quantile_median:" # ok 863 - Then the output must match "noa_quantile_upper:" # ok 864 - Then the output must match "noa_quantile_max:" # ok 865 - Then the output must match "noa_kurtosis:" # ok 866 - Then the output must match "noa_skewness:" # # Scenario "Hello, world" project ok 867 - Given I am in t/samples/hello_world/ # ok 868 - When I run "analizo metrics ." # ok 869 - Then the output must match "noc_mean:" # ok 870 - Then the output must match "noc_mode:" # ok 871 - Then the output must match "noc_standard_deviation:" # ok 872 - Then the output must match "noc_sum:" # ok 873 - Then the output must match "noc_variance:" # ok 874 - Then the output must match "noc_quantile_min:" # ok 875 - Then the output must match "noc_quantile_lower:" # ok 876 - Then the output must match "noc_quantile_median:" # ok 877 - Then the output must match "noc_quantile_upper:" # ok 878 - Then the output must match "noc_quantile_max:" # ok 879 - Then the output must match "noc_kurtosis:" # ok 880 - Then the output must match "noc_skewness:" # # Scenario "Hello, world" project ok 881 - Given I am in t/samples/hello_world/ # ok 882 - When I run "analizo metrics ." # ok 883 - Then the output must match "nom_mean:" # ok 884 - Then the output must match "nom_mode:" # ok 885 - Then the output must match "nom_standard_deviation:" # ok 886 - Then the output must match "nom_sum:" # ok 887 - Then the output must match "nom_variance:" # ok 888 - Then the output must match "nom_quantile_min:" # ok 889 - Then the output must match "nom_quantile_lower:" # ok 890 - Then the output must match "nom_quantile_median:" # ok 891 - Then the output must match "nom_quantile_upper:" # ok 892 - Then the output must match "nom_quantile_max:" # ok 893 - Then the output must match "nom_kurtosis:" # ok 894 - Then the output must match "nom_skewness:" # # Scenario "Hello, world" project ok 895 - Given I am in t/samples/hello_world/ # ok 896 - When I run "analizo metrics ." # ok 897 - Then the output must match "npm_mean:" # ok 898 - Then the output must match "npm_mode:" # ok 899 - Then the output must match "npm_standard_deviation:" # ok 900 - Then the output must match "npm_sum:" # ok 901 - Then the output must match "npm_variance:" # ok 902 - Then the output must match "npm_quantile_min:" # ok 903 - Then the output must match "npm_quantile_lower:" # ok 904 - Then the output must match "npm_quantile_median:" # ok 905 - Then the output must match "npm_quantile_upper:" # ok 906 - Then the output must match "npm_quantile_max:" # ok 907 - Then the output must match "npm_kurtosis:" # ok 908 - Then the output must match "npm_skewness:" # # Scenario "Hello, world" project ok 909 - Given I am in t/samples/hello_world/ # ok 910 - When I run "analizo metrics ." # ok 911 - Then the output must match "npa_mean:" # ok 912 - Then the output must match "npa_mode:" # ok 913 - Then the output must match "npa_standard_deviation:" # ok 914 - Then the output must match "npa_sum:" # ok 915 - Then the output must match "npa_variance:" # ok 916 - Then the output must match "npa_quantile_min:" # ok 917 - Then the output must match "npa_quantile_lower:" # ok 918 - Then the output must match "npa_quantile_median:" # ok 919 - Then the output must match "npa_quantile_upper:" # ok 920 - Then the output must match "npa_quantile_max:" # ok 921 - Then the output must match "npa_kurtosis:" # ok 922 - Then the output must match "npa_skewness:" # # Scenario "Hello, world" project ok 923 - Given I am in t/samples/hello_world/ # ok 924 - When I run "analizo metrics ." # ok 925 - Then the output must match "rfc_mean:" # ok 926 - Then the output must match "rfc_mode:" # ok 927 - Then the output must match "rfc_standard_deviation:" # ok 928 - Then the output must match "rfc_sum:" # ok 929 - Then the output must match "rfc_variance:" # ok 930 - Then the output must match "rfc_quantile_min:" # ok 931 - Then the output must match "rfc_quantile_lower:" # ok 932 - Then the output must match "rfc_quantile_median:" # ok 933 - Then the output must match "rfc_quantile_upper:" # ok 934 - Then the output must match "rfc_quantile_max:" # ok 935 - Then the output must match "rfc_kurtosis:" # ok 936 - Then the output must match "rfc_skewness:" # # Scenario "Hello, world" project ok 937 - Given I am in t/samples/hello_world/ # ok 938 - When I run "analizo metrics ." # ok 939 - Then the output must match "sc_mean:" # ok 940 - Then the output must match "sc_mode:" # ok 941 - Then the output must match "sc_standard_deviation:" # ok 942 - Then the output must match "sc_sum:" # ok 943 - Then the output must match "sc_variance:" # ok 944 - Then the output must match "sc_quantile_min:" # ok 945 - Then the output must match "sc_quantile_lower:" # ok 946 - Then the output must match "sc_quantile_median:" # ok 947 - Then the output must match "sc_quantile_upper:" # ok 948 - Then the output must match "sc_quantile_max:" # ok 949 - Then the output must match "sc_kurtosis:" # ok 950 - Then the output must match "sc_skewness:" # # Feature group by modules # Scenario sample project ok 951 - Given I am in t/samples/sample_basic/c/ # ok 952 - When I run "analizo graph --modules ." # ok 953 - Then analizo must report that "module1" depends on "module2" # ok 954 - Then analizo must report that "module1" depends on "module3" # # Feature functions calls # Scenario detect function calls among classes ok 955 - Given I am in t/samples/animals/cpp # ok 956 - When I run "analizo graph ." # ok 957 - Then analizo must report that "Cat::Cat(char *)" depends on "Cat::_name" # ok 958 - And analizo must not report that "Cat::Cat(char *)" depends on "Cat::name()" # ok 959 - And the exit status must be 0 # # Feature plain analizo graph run # Scenario simply running analizo ok 960 - Given I am in t/samples/sample_basic/c/ # ok 961 - When I run "analizo graph ." # ok 962 - Then analizo must report that "module1::main()" depends on "module3::variable" # ok 963 - Then analizo must report that "module1::main()" depends on "module3::callback()" # ok 964 - Then analizo must report that "module1::main()" depends on "module2::say_bye()" # ok 965 - Then analizo must report that "module1::main()" depends on "module2::say_hello()" # ok 966 - And the exit status must be 0 # # Feature output file for graph tool # Scenario passing output file in the command line ok 967 - Given I am in . # ok 968 - When I run "analizo graph --output output.dot.tmp t/samples/sample_basic/c/" # ok 969 - Then the contents of "output.dot.tmp" must match "module1" # ok 970 - And the exit status must be 0 # # Scenario passing output file in an unexisting directory ok 971 - Given I am in . # ok 972 - When I run "analizo graph --output /this/directory/must/not/exists/output.dot t/samples/sample_basic/c/" # ok 973 - Then analizo must emit a warning matching "No such file or directory" # ok 974 - And the exit status must not be 0 # # Scenario passing output file without permission to write ok 975 - Given I am in . # ok 976 - When I run "touch output.tmp" # ok 977 - And I run "chmod 000 output.tmp" # ok 978 - And I run "analizo graph --output output.tmp t/samples/sample_basic/c/" # ok 979 - Then the exit status must not be 0 # ok 980 - And analizo must emit a warning matching "Permission denied" # # Feature displaying version # Scenario running without any arguments ok 981 - When I run "analizo graph" # ok 982 - Then analizo must emit a warning matching "Usage:" # ok 983 - And the exit status must not be 0 # # Feature omitting certain modules # Scenario omitting say_bye ok 984 - Given I am in t/samples/sample_basic/ # ok 985 - When I run "analizo graph --omit 'module2::say_bye()' ." # ok 986 - Then the output must not match "module2::say_bye()" # # Scenario omitting two functions ok 987 - Given I am in t/samples/sample_basic/ # ok 988 - When I run "analizo graph --omit 'module2::say_bye()','module2::say_hello()' ." # ok 989 - Then the output must not match "module2::say_bye()" # ok 990 - Then the output must not match "module2::say_hello()" # # Scenario omitting depending functions ok 991 - Given I am in t/samples/sample_basic/ # ok 992 - When I run "analizo graph --omit 'module1::main()' ." # ok 993 - Then the output must not match "module1::main()" # # Feature input files for graph tool # Scenario passing specific files in the command line ok 994 - Given I am in t/samples/sample_basic/c # ok 995 - When I run "analizo graph module1.c module2.c" # ok 996 - Then the output must match "module1" # ok 997 - And the output must match "module2" # ok 998 - And the output must not match "module3" # # Scenario passing unexisting file ok 999 - Given I am in t/samples/sample_basic/c # ok 1000 - When I run "analizo graph unexisting-file.c" # ok 1001 - Then analizo must emit a warning matching "is not readable" # # Feature clustering subroutines in the same module together # Scenario clustering dependencies ok 1002 - Given I am in t/samples/sample_basic/c/ # ok 1003 - When I run "analizo graph --cluster ." # ok 1004 - Then analizo must report that "module1::main()" is part of "module1" # ok 1005 - Then analizo must report that "module2::say_hello()" is part of "module2" # ok 1006 - Then analizo must report that "module2::say_bye()" is part of "module2" # ok 1007 - Then analizo must report that "module3::variable" is part of "module3" # ok 1008 - Then analizo must report that "module3::callback()" is part of "module3" # 1..1008 ok All tests successful. Files=54, Tests=1627, 147 wallclock secs ( 0.45 usr 0.22 sys + 102.63 cusr 34.54 csys = 137.84 CPU) Result: PASS make[1]: Leaving directory '/build/reproducible-path/analizo-1.25.5' create-stamp debian/debhelper-build-stamp dh_prep dh_installdirs debian/rules override_dh_auto_install make[1]: Entering directory '/build/reproducible-path/analizo-1.25.5' dh_auto_install make -j20 install DESTDIR=/build/reproducible-path/analizo-1.25.5/debian/analizo AM_UPDATE_INFO_DIR=no PREFIX=/usr make[2]: Entering directory '/build/reproducible-path/analizo-1.25.5' Skip blib/lib/auto/share/dist/Analizo/README (unchanged) Skip blib/lib/auto/share/dist/Analizo/bash-completion/analizo (unchanged) Manifying 26 pod documents Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/profile.pl Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test/Analizo.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test/Analizo/Class.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test/Analizo/Git.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test/Analizo/BDD/Cucumber/Extension.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/auto/share/dist/Analizo/README Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/auto/share/dist/Analizo/bash-completion/analizo Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Model.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/ModuleMetrics.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/LanguageFilter.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/ModuleMetric.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Command.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/FilenameFilter.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Extractor.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/GlobalMetrics.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metrics.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/LinesOfCode.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/AfferentConnections.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/AverageMethodLinesOfCode.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/StructuralComplexity.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/NumberOfPublicAttributes.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/NumberOfMethods.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/LackOfCohesionOfMethods.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/MaximumMethodLinesOfCode.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/NumberOfPublicMethods.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/DepthOfInheritanceTree.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/ResponseForClass.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/NumberOfAttributes.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/NumberOfChildren.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/CouplingBetweenObjects.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/AverageNumberOfParameters.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/AverageCycloComplexity.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/GlobalMetric/MethodsPerAbstractClass.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/GlobalMetric/TotalAbstractClasses.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/GlobalMetric/ChangeCost.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Command/files_graph.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Command/tree_evolution.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Command/help.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Command/metrics_history.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Command/metrics.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Command/graph.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Command/metrics_batch.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Filter/Client.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Extractor/Doxyparse.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch/Git.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch/Directories.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch/Runner.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch/Job.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch/Output.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch/Output/DB.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch/Output/CSV.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch/Job/Git.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch/Job/Directories.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch/Runner/Parallel.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch/Runner/Sequential.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Command::graph.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::GlobalMetric::ChangeCost.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::NumberOfMethods.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Command::metrics.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::StructuralComplexity.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::ResponseForClass.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::DepthOfInheritanceTree.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::NumberOfAttributes.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::AverageMethodLinesOfCode.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::AfferentConnections.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::NumberOfChildren.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Command::metrics_batch.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::AverageNumberOfParameters.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::CouplingBetweenObjects.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Command.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::NumberOfPublicMethods.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Command::files_graph.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Command::metrics_history.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Command::help.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::LinesOfCode.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::NumberOfPublicAttributes.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::LackOfCohesionOfMethods.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metrics.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Command::tree_evolution.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::AverageCycloComplexity.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/bin/analizo make[2]: Leaving directory '/build/reproducible-path/analizo-1.25.5' rm -f -rv /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test removed '/build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test/Analizo.pm' removed '/build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test/Analizo/Class.pm' removed '/build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test/Analizo/Git.pm' removed '/build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test/Analizo/BDD/Cucumber/Extension.pm' removed directory '/build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test/Analizo/BDD/Cucumber' removed directory '/build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test/Analizo/BDD' removed directory '/build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test/Analizo' removed directory '/build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test' rm -f -v /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/profile.pl removed '/build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/profile.pl' make[1]: Leaving directory '/build/reproducible-path/analizo-1.25.5' dh_installdocs dh_installchangelogs dh_installexamples dh_installman dh_lintian dh_perl dh_link dh_strip_nondeterminism dh_compress dh_fixperms dh_missing dh_installdeb dh_gencontrol dh_md5sums dh_builddeb dpkg-deb: building package 'analizo' in '../analizo_1.25.5-1_all.deb'. dpkg-genbuildinfo --build=binary -O../analizo_1.25.5-1_amd64.buildinfo dpkg-genchanges --build=binary -O../analizo_1.25.5-1_amd64.changes dpkg-genchanges: info: binary-only upload (no source code included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: including full source code in upload I: copying local configuration I: user script /srv/workspace/pbuilder/3247869/tmp/hooks/B01_cleanup starting I: user script /srv/workspace/pbuilder/3247869/tmp/hooks/B01_cleanup finished I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env I: removing directory /srv/workspace/pbuilder/3247869 and its subdirectories I: Current time: Fri Nov 22 19:21:59 +14 2024 I: pbuilder-time-stamp: 1732252919 + false + set +x Fri Nov 22 05:21:59 UTC 2024 I: Signing ./b2/analizo_1.25.5-1_amd64.buildinfo as analizo_1.25.5-1_amd64.buildinfo.asc Fri Nov 22 05:21:59 UTC 2024 I: Signed ./b2/analizo_1.25.5-1_amd64.buildinfo as ./b2/analizo_1.25.5-1_amd64.buildinfo.asc Fri Nov 22 05:21:59 UTC 2024 - build #2 for analizo/trixie/amd64 on ionos1-amd64 done. Starting cleanup. All cleanup done. Fri Nov 22 05:21:59 UTC 2024 - reproducible_build.sh stopped running as /tmp/jenkins-script-2CmaHOqw, removing. /srv/reproducible-results/rbuild-debian/r-b-build.WRkbw2e7: total 252 -rw-r--r-- 1 jenkins jenkins 3368 Nov 17 03:02 analizo_1.25.5-1.dsc drwxr-xr-x 2 jenkins jenkins 4096 Nov 22 05:16 b1 drwxr-xr-x 2 jenkins jenkins 4096 Nov 22 05:22 b2 -rw------- 1 jenkins jenkins 240644 Nov 22 05:16 rbuildlog.XGCQUD8 /srv/reproducible-results/rbuild-debian/r-b-build.WRkbw2e7/b1: total 628 -rw-r--r-- 1 jenkins jenkins 7072 Nov 22 05:16 analizo_1.25.5-1.debian.tar.xz -rw-r--r-- 1 jenkins jenkins 3368 Nov 22 05:16 analizo_1.25.5-1.dsc -rw-r--r-- 1 jenkins jenkins 158888 Nov 22 05:16 analizo_1.25.5-1_all.deb -rw-r--r-- 1 jenkins jenkins 11695 Nov 22 05:16 analizo_1.25.5-1_amd64.buildinfo -rw-r--r-- 1 jenkins jenkins 12577 Nov 22 05:16 analizo_1.25.5-1_amd64.buildinfo.asc -rw-r--r-- 1 jenkins jenkins 1238 Nov 22 05:16 analizo_1.25.5-1_amd64.changes -rw-r--r-- 1 jenkins jenkins 1660 Nov 22 05:16 analizo_1.25.5-1_source.changes -rw-r--r-- 1 jenkins jenkins 184310 Nov 22 05:16 analizo_1.25.5.orig.tar.gz -rw-r--r-- 1 jenkins jenkins 235417 Nov 22 05:16 build.log /srv/reproducible-results/rbuild-debian/r-b-build.WRkbw2e7/b2: total 616 -rw-r--r-- 1 jenkins jenkins 7072 Nov 22 05:22 analizo_1.25.5-1.debian.tar.xz -rw-r--r-- 1 jenkins jenkins 3368 Nov 22 05:22 analizo_1.25.5-1.dsc -rw-r--r-- 1 jenkins jenkins 158888 Nov 22 05:22 analizo_1.25.5-1_all.deb -rw-r--r-- 1 jenkins jenkins 11686 Nov 22 05:22 analizo_1.25.5-1_amd64.buildinfo -rw-r--r-- 1 jenkins jenkins 12568 Nov 22 05:22 analizo_1.25.5-1_amd64.buildinfo.asc -rw-r--r-- 1 jenkins jenkins 1238 Nov 22 05:22 analizo_1.25.5-1_amd64.changes -rw-r--r-- 1 jenkins jenkins 1660 Nov 22 05:22 analizo_1.25.5-1_source.changes -rw-r--r-- 1 jenkins jenkins 184310 Nov 22 05:22 analizo_1.25.5.orig.tar.gz -rw-r--r-- 1 jenkins jenkins 237339 Nov 22 05:22 build.log Fri Nov 22 05:22:00 UTC 2024 I: Deleting $TMPDIR on ionos1-amd64.debian.net. Fri Nov 22 05:22:00 UTC 2024 I: analizo_1.25.5-1_amd64.changes: Format: 1.8 Date: Sun, 17 Nov 2024 03:42:40 +0100 Source: analizo Binary: analizo Architecture: all Version: 1.25.5-1 Distribution: unstable Urgency: medium Maintainer: Debian Perl Group Changed-By: gregor herrmann Description: analizo - multi-language source code analysis toolkit Changes: analizo (1.25.5-1) unstable; urgency=medium . * Team upload. * Import upstream version 1.25.5. * Update years of upstream copyright. * Drop unneeded version constraints from (build) dependencies. * Refresh debian/patches/drop_local_lib. * Drop no-shell-for-system.patch, merged upstream. Checksums-Sha1: 3753eac97810ad17819c5b41433c5eaf785f8125 158888 analizo_1.25.5-1_all.deb dc180b9a452abb6a295aad1d3d8f28f5da9bf93c 11695 analizo_1.25.5-1_amd64.buildinfo Checksums-Sha256: 632bb39ade91f2ae17b519f7b255073fe886b01a6e97e70e822522608b057141 158888 analizo_1.25.5-1_all.deb 11b7baf99b6ad94122623a7751883feaa50881a3cf6a09d55a77af676876a05a 11695 analizo_1.25.5-1_amd64.buildinfo Files: 66cda661765513e87bc9ab414b6ec830 158888 devel optional analizo_1.25.5-1_all.deb f32ea004f0a22db69c2e6e83d1b33bb7 11695 devel optional analizo_1.25.5-1_amd64.buildinfo removed '/var/lib/jenkins/userContent/reproducible/debian/rbuild/trixie/amd64/analizo_1.25.4-3.rbuild.log' removed '/var/lib/jenkins/userContent/reproducible/debian/rbuild/trixie/amd64/analizo_1.25.4-3.rbuild.log.gz' removed '/var/lib/jenkins/userContent/reproducible/debian/logs/trixie/amd64/analizo_1.25.4-3.build1.log.gz' removed '/var/lib/jenkins/userContent/reproducible/debian/logs/trixie/amd64/analizo_1.25.4-3.build2.log.gz' removed '/var/lib/jenkins/userContent/reproducible/debian/buildinfo/trixie/amd64/analizo_1.25.4-3_amd64.buildinfo' removed '/var/lib/jenkins/userContent/reproducible/debian/logdiffs/trixie/amd64/analizo_1.25.4-3.diff.gz' Diff of the two buildlogs: -- --- b1/build.log 2024-11-22 05:16:30.624429608 +0000 +++ b2/build.log 2024-11-22 05:22:00.341548988 +0000 @@ -1,6 +1,6 @@ I: pbuilder: network access will be disabled during build -I: Current time: Wed Dec 24 23:34:37 -12 2025 -I: pbuilder-time-stamp: 1766662477 +I: Current time: Fri Nov 22 19:16:33 +14 2024 +I: pbuilder-time-stamp: 1732252593 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz] I: copying local configuration @@ -30,52 +30,84 @@ dpkg-source: info: applying doxygen-1.9.8.patch I: Not using root during the build. I: Installing the build-deps -I: user script /srv/workspace/pbuilder/543764/tmp/hooks/D02_print_environment starting +I: user script /srv/workspace/pbuilder/3247869/tmp/hooks/D01_modify_environment starting +debug: Running on ionos1-amd64. +I: Changing host+domainname to test build reproducibility +I: Adding a custom variable just for the fun of it... +I: Changing /bin/sh to bash +'/bin/sh' -> '/bin/bash' +lrwxrwxrwx 1 root root 9 Nov 22 05:16 /bin/sh -> /bin/bash +I: Setting pbuilder2's login shell to /bin/bash +I: Setting pbuilder2's GECOS to second user,second room,second work-phone,second home-phone,second other +I: user script /srv/workspace/pbuilder/3247869/tmp/hooks/D01_modify_environment finished +I: user script /srv/workspace/pbuilder/3247869/tmp/hooks/D02_print_environment starting I: set - BUILDDIR='/build/reproducible-path' - BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' - BUILDUSERNAME='pbuilder1' - BUILD_ARCH='amd64' - DEBIAN_FRONTEND='noninteractive' - DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=42 ' - DISTRIBUTION='trixie' - HOME='/root' - HOST_ARCH='amd64' + BASH=/bin/sh + BASHOPTS=checkwinsize:cmdhist:complete_fullquote:extquote:force_fignore:globasciiranges:globskipdots:hostcomplete:interactive_comments:patsub_replacement:progcomp:promptvars:sourcepath + BASH_ALIASES=() + BASH_ARGC=() + BASH_ARGV=() + BASH_CMDS=() + BASH_LINENO=([0]="12" [1]="0") + BASH_LOADABLES_PATH=/usr/local/lib/bash:/usr/lib/bash:/opt/local/lib/bash:/usr/pkg/lib/bash:/opt/pkg/lib/bash:. + BASH_SOURCE=([0]="/tmp/hooks/D02_print_environment" [1]="/tmp/hooks/D02_print_environment") + BASH_VERSINFO=([0]="5" [1]="2" [2]="32" [3]="1" [4]="release" [5]="x86_64-pc-linux-gnu") + BASH_VERSION='5.2.32(1)-release' + BUILDDIR=/build/reproducible-path + BUILDUSERGECOS='second user,second room,second work-phone,second home-phone,second other' + BUILDUSERNAME=pbuilder2 + BUILD_ARCH=amd64 + DEBIAN_FRONTEND=noninteractive + DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=20 ' + DIRSTACK=() + DISTRIBUTION=trixie + EUID=0 + FUNCNAME=([0]="Echo" [1]="main") + GROUPS=() + HOME=/root + HOSTNAME=i-capture-the-hostname + HOSTTYPE=x86_64 + HOST_ARCH=amd64 IFS=' ' - INVOCATION_ID='767587a6fb9e41068d1a465c031c200b' - LANG='C' - LANGUAGE='en_US:en' - LC_ALL='C' - MAIL='/var/mail/root' - OPTIND='1' - PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' - PBCURRENTCOMMANDLINEOPERATION='build' - PBUILDER_OPERATION='build' - PBUILDER_PKGDATADIR='/usr/share/pbuilder' - PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' - PBUILDER_SYSCONFDIR='/etc' - PPID='543764' - PS1='# ' - PS2='> ' + INVOCATION_ID=0a813f810253435b8f3dc5e8515531d2 + LANG=C + LANGUAGE=et_EE:et + LC_ALL=C + MACHTYPE=x86_64-pc-linux-gnu + MAIL=/var/mail/root + OPTERR=1 + OPTIND=1 + OSTYPE=linux-gnu + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path + PBCURRENTCOMMANDLINEOPERATION=build + PBUILDER_OPERATION=build + PBUILDER_PKGDATADIR=/usr/share/pbuilder + PBUILDER_PKGLIBDIR=/usr/lib/pbuilder + PBUILDER_SYSCONFDIR=/etc + PIPESTATUS=([0]="0") + POSIXLY_CORRECT=y + PPID=3247869 PS4='+ ' - PWD='/' - SHELL='/bin/bash' - SHLVL='2' - SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.WRkbw2e7/pbuilderrc_KOAs --distribution trixie --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.WRkbw2e7/b1 --logfile b1/build.log analizo_1.25.5-1.dsc' - SUDO_GID='110' - SUDO_UID='105' - SUDO_USER='jenkins' - TERM='unknown' - TZ='/usr/share/zoneinfo/Etc/GMT+12' - USER='root' - _='/usr/bin/systemd-run' - http_proxy='http://213.165.73.152:3128' + PWD=/ + SHELL=/bin/bash + SHELLOPTS=braceexpand:errexit:hashall:interactive-comments:posix + SHLVL=3 + SUDO_COMMAND='/usr/bin/timeout -k 24.1h 24h /usr/bin/ionice -c 3 /usr/bin/nice -n 11 /usr/bin/unshare --uts -- /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.WRkbw2e7/pbuilderrc_ZO1o --distribution trixie --hookdir /etc/pbuilder/rebuild-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.WRkbw2e7/b2 --logfile b2/build.log analizo_1.25.5-1.dsc' + SUDO_GID=110 + SUDO_UID=105 + SUDO_USER=jenkins + TERM=unknown + TZ=/usr/share/zoneinfo/Etc/GMT-14 + UID=0 + USER=root + _='I: set' + http_proxy=http://46.16.76.132:3128 I: uname -a - Linux ionos5-amd64 6.11.5+bpo-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.11.5-1~bpo12+1 (2024-11-11) x86_64 GNU/Linux + Linux i-capture-the-hostname 6.1.0-27-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.115-1 (2024-11-01) x86_64 GNU/Linux I: ls -l /bin - lrwxrwxrwx 1 root root 7 Aug 4 2024 /bin -> usr/bin -I: user script /srv/workspace/pbuilder/543764/tmp/hooks/D02_print_environment finished + lrwxrwxrwx 1 root root 7 Aug 4 21:30 /bin -> usr/bin +I: user script /srv/workspace/pbuilder/3247869/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy @@ -402,7 +434,7 @@ Get: 223 http://deb.debian.org/debian trixie/main amd64 libzmq5 amd64 4.3.5-1+b3 [283 kB] Get: 224 http://deb.debian.org/debian trixie/main amd64 libzmq3-dev amd64 4.3.5-1+b3 [494 kB] Get: 225 http://deb.debian.org/debian trixie/main amd64 libzmq-ffi-perl all 1.19-1 [31.5 kB] -Fetched 117 MB in 13s (9105 kB/s) +Fetched 117 MB in 7s (17.6 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package netbase. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 19969 files and directories currently installed.) @@ -1324,7 +1356,11 @@ Building tag database... -> Finished parsing the build-deps I: Building the package -I: Running cd /build/reproducible-path/analizo-1.25.5/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../analizo_1.25.5-1_source.changes +I: user script /srv/workspace/pbuilder/3247869/tmp/hooks/A99_set_merged_usr starting +Not re-configuring usrmerge for trixie +I: user script /srv/workspace/pbuilder/3247869/tmp/hooks/A99_set_merged_usr finished +hostname: Name or service not known +I: Running cd /build/reproducible-path/analizo-1.25.5/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/i/capture/the/path" HOME="/nonexistent/second-build" dpkg-genchanges -S > ../analizo_1.25.5-1_source.changes dpkg-buildpackage: info: source package analizo dpkg-buildpackage: info: source version 1.25.5-1 dpkg-buildpackage: info: source distribution unstable @@ -1349,71 +1385,71 @@ Writing Makefile for Analizo Writing MYMETA.yml and MYMETA.json dh_auto_build - make -j42 + make -j20 make[1]: Entering directory '/build/reproducible-path/analizo-1.25.5' -cp share/README blib/lib/auto/share/dist/Analizo/README -cp share/bash-completion/analizo blib/lib/auto/share/dist/Analizo/bash-completion/analizo -cp lib/Analizo/GlobalMetric/ChangeCost.pm blib/lib/Analizo/GlobalMetric/ChangeCost.pm -cp lib/Analizo/GlobalMetric/MethodsPerAbstractClass.pm blib/lib/Analizo/GlobalMetric/MethodsPerAbstractClass.pm -cp lib/Analizo/Batch/Job.pm blib/lib/Analizo/Batch/Job.pm -cp lib/Analizo/Batch/Runner/Parallel.pm blib/lib/Analizo/Batch/Runner/Parallel.pm -cp lib/Analizo/Batch/Output/DB.pm blib/lib/Analizo/Batch/Output/DB.pm -cp lib/Analizo/Command/metrics_batch.pm blib/lib/Analizo/Command/metrics_batch.pm -cp lib/Analizo/Batch/Output/CSV.pm blib/lib/Analizo/Batch/Output/CSV.pm cp lib/Analizo/GlobalMetrics.pm blib/lib/Analizo/GlobalMetrics.pm -cp lib/Analizo/Command/tree_evolution.pm blib/lib/Analizo/Command/tree_evolution.pm -cp lib/Analizo/GlobalMetric/TotalAbstractClasses.pm blib/lib/Analizo/GlobalMetric/TotalAbstractClasses.pm -cp lib/Analizo/Batch/Git.pm blib/lib/Analizo/Batch/Git.pm -cp lib/Analizo/Metric/AverageNumberOfParameters.pm blib/lib/Analizo/Metric/AverageNumberOfParameters.pm -cp lib/Analizo/Batch.pm blib/lib/Analizo/Batch.pm -cp lib/Analizo/Command/help.pm blib/lib/Analizo/Command/help.pm -cp lib/Analizo/Batch/Runner/Sequential.pm blib/lib/Analizo/Batch/Runner/Sequential.pm -cp lib/Analizo/Filter/Client.pm blib/lib/Analizo/Filter/Client.pm -cp lib/Analizo/Batch/Job/Directories.pm blib/lib/Analizo/Batch/Job/Directories.pm -cp lib/Analizo/Command.pm blib/lib/Analizo/Command.pm +cp lib/Analizo/Batch/Output/DB.pm blib/lib/Analizo/Batch/Output/DB.pm cp lib/Analizo/Command/metrics.pm blib/lib/Analizo/Command/metrics.pm cp lib/Analizo.pm blib/lib/Analizo.pm -cp lib/Analizo/Batch/Runner.pm blib/lib/Analizo/Batch/Runner.pm -cp lib/Analizo/Batch/Job/Git.pm blib/lib/Analizo/Batch/Job/Git.pm +cp lib/Analizo/GlobalMetric/MethodsPerAbstractClass.pm blib/lib/Analizo/GlobalMetric/MethodsPerAbstractClass.pm cp lib/Analizo/Batch/Output.pm blib/lib/Analizo/Batch/Output.pm -cp lib/Analizo/Command/metrics_history.pm blib/lib/Analizo/Command/metrics_history.pm +cp lib/Analizo/Metric/AverageCycloComplexity.pm blib/lib/Analizo/Metric/AverageCycloComplexity.pm +cp lib/Analizo/Batch/Job/Directories.pm blib/lib/Analizo/Batch/Job/Directories.pm +cp lib/Analizo/Filter/Client.pm blib/lib/Analizo/Filter/Client.pm +cp lib/Analizo/Command/graph.pm blib/lib/Analizo/Command/graph.pm +cp lib/Analizo/Batch/Runner/Sequential.pm blib/lib/Analizo/Batch/Runner/Sequential.pm +cp lib/Analizo/Metric/AverageNumberOfParameters.pm blib/lib/Analizo/Metric/AverageNumberOfParameters.pm cp lib/Analizo/Metric/AverageMethodLinesOfCode.pm blib/lib/Analizo/Metric/AverageMethodLinesOfCode.pm +cp lib/Analizo/Command/tree_evolution.pm blib/lib/Analizo/Command/tree_evolution.pm +cp lib/Analizo/Batch/Runner/Parallel.pm blib/lib/Analizo/Batch/Runner/Parallel.pm +cp lib/Analizo/Metric/AfferentConnections.pm blib/lib/Analizo/Metric/AfferentConnections.pm +cp lib/Analizo/Batch.pm blib/lib/Analizo/Batch.pm +cp lib/Analizo/Batch/Job/Git.pm blib/lib/Analizo/Batch/Job/Git.pm +cp lib/Analizo/Batch/Git.pm blib/lib/Analizo/Batch/Git.pm +cp lib/Analizo/FilenameFilter.pm blib/lib/Analizo/FilenameFilter.pm cp lib/Analizo/Extractor.pm blib/lib/Analizo/Extractor.pm -cp lib/Analizo/Extractor/Doxyparse.pm blib/lib/Analizo/Extractor/Doxyparse.pm -cp lib/Analizo/Command/graph.pm blib/lib/Analizo/Command/graph.pm -cp lib/Analizo/Metric/AverageCycloComplexity.pm blib/lib/Analizo/Metric/AverageCycloComplexity.pm cp lib/Analizo/Batch/Directories.pm blib/lib/Analizo/Batch/Directories.pm -cp lib/Analizo/FilenameFilter.pm blib/lib/Analizo/FilenameFilter.pm +cp lib/Analizo/Extractor/Doxyparse.pm blib/lib/Analizo/Extractor/Doxyparse.pm cp lib/Analizo/LanguageFilter.pm blib/lib/Analizo/LanguageFilter.pm +cp lib/Analizo/Batch/Output/CSV.pm blib/lib/Analizo/Batch/Output/CSV.pm +cp lib/Analizo/Batch/Job.pm blib/lib/Analizo/Batch/Job.pm +cp lib/Analizo/Command/help.pm blib/lib/Analizo/Command/help.pm cp lib/Analizo/Command/files_graph.pm blib/lib/Analizo/Command/files_graph.pm -cp lib/Analizo/Metric/AfferentConnections.pm blib/lib/Analizo/Metric/AfferentConnections.pm -cp lib/Analizo/Metric/MaximumMethodLinesOfCode.pm blib/lib/Analizo/Metric/MaximumMethodLinesOfCode.pm -cp lib/Analizo/Metric/DepthOfInheritanceTree.pm blib/lib/Analizo/Metric/DepthOfInheritanceTree.pm -cp lib/Test/Analizo/Class.pm blib/lib/Test/Analizo/Class.pm -cp lib/Analizo/Metric/CouplingBetweenObjects.pm blib/lib/Analizo/Metric/CouplingBetweenObjects.pm -cp lib/Analizo/ModuleMetrics.pm blib/lib/Analizo/ModuleMetrics.pm -cp lib/Analizo/Metric/NumberOfMethods.pm blib/lib/Analizo/Metric/NumberOfMethods.pm +cp lib/Analizo/Command/metrics_history.pm blib/lib/Analizo/Command/metrics_history.pm +cp lib/Analizo/Batch/Runner.pm blib/lib/Analizo/Batch/Runner.pm +cp lib/Analizo/Command.pm blib/lib/Analizo/Command.pm +cp lib/Analizo/GlobalMetric/TotalAbstractClasses.pm blib/lib/Analizo/GlobalMetric/TotalAbstractClasses.pm +cp lib/Analizo/Command/metrics_batch.pm blib/lib/Analizo/Command/metrics_batch.pm +cp lib/Analizo/GlobalMetric/ChangeCost.pm blib/lib/Analizo/GlobalMetric/ChangeCost.pm +cp share/bash-completion/analizo blib/lib/auto/share/dist/Analizo/bash-completion/analizo +cp share/README blib/lib/auto/share/dist/Analizo/README cp lib/Analizo/Metric/NumberOfChildren.pm blib/lib/Analizo/Metric/NumberOfChildren.pm -cp lib/Analizo/Metric/StructuralComplexity.pm blib/lib/Analizo/Metric/StructuralComplexity.pm -cp lib/Analizo/Metric/LackOfCohesionOfMethods.pm blib/lib/Analizo/Metric/LackOfCohesionOfMethods.pm -cp lib/Analizo/Metric/NumberOfAttributes.pm blib/lib/Analizo/Metric/NumberOfAttributes.pm cp lib/Test/Analizo/BDD/Cucumber/Extension.pm blib/lib/Test/Analizo/BDD/Cucumber/Extension.pm -cp lib/Test/Analizo.pm blib/lib/Test/Analizo.pm -cp lib/Test/Analizo/Git.pm blib/lib/Test/Analizo/Git.pm cp lib/Analizo/Metrics.pm blib/lib/Analizo/Metrics.pm +cp lib/Analizo/Metric/ResponseForClass.pm blib/lib/Analizo/Metric/ResponseForClass.pm +cp lib/Analizo/Metric/LackOfCohesionOfMethods.pm blib/lib/Analizo/Metric/LackOfCohesionOfMethods.pm +cp lib/Test/Analizo/Class.pm blib/lib/Test/Analizo/Class.pm cp lib/Analizo/Metric/LinesOfCode.pm blib/lib/Analizo/Metric/LinesOfCode.pm +cp profile.pl blib/lib/profile.pl +cp lib/Analizo/Metric/MaximumMethodLinesOfCode.pm blib/lib/Analizo/Metric/MaximumMethodLinesOfCode.pm cp lib/Analizo/Model.pm blib/lib/Analizo/Model.pm +cp lib/Analizo/Metric/NumberOfAttributes.pm blib/lib/Analizo/Metric/NumberOfAttributes.pm +cp lib/Test/Analizo.pm blib/lib/Test/Analizo.pm cp lib/Analizo/Metric/NumberOfPublicAttributes.pm blib/lib/Analizo/Metric/NumberOfPublicAttributes.pm -cp lib/Analizo/Metric/NumberOfPublicMethods.pm blib/lib/Analizo/Metric/NumberOfPublicMethods.pm -cp lib/Analizo/Metric/ResponseForClass.pm blib/lib/Analizo/Metric/ResponseForClass.pm +cp lib/Analizo/Metric/NumberOfMethods.pm blib/lib/Analizo/Metric/NumberOfMethods.pm +cp lib/Analizo/ModuleMetrics.pm blib/lib/Analizo/ModuleMetrics.pm +cp lib/Analizo/Metric/CouplingBetweenObjects.pm blib/lib/Analizo/Metric/CouplingBetweenObjects.pm cp lib/Analizo/ModuleMetric.pm blib/lib/Analizo/ModuleMetric.pm -cp profile.pl blib/lib/profile.pl +cp lib/Analizo/Metric/StructuralComplexity.pm blib/lib/Analizo/Metric/StructuralComplexity.pm +cp lib/Analizo/Metric/DepthOfInheritanceTree.pm blib/lib/Analizo/Metric/DepthOfInheritanceTree.pm +cp lib/Analizo/Metric/NumberOfPublicMethods.pm blib/lib/Analizo/Metric/NumberOfPublicMethods.pm +cp lib/Test/Analizo/Git.pm blib/lib/Test/Analizo/Git.pm cp bin/analizo blib/script/analizo "/usr/bin/perl" -MExtUtils::MY -e 'MY->fixin(shift)' -- blib/script/analizo Manifying 26 pod documents make[1]: Leaving directory '/build/reproducible-path/analizo-1.25.5' dh_auto_test - make -j42 test TEST_VERBOSE=1 + make -j20 test TEST_VERBOSE=1 make[1]: Entering directory '/build/reproducible-path/analizo-1.25.5' Skip blib/lib/auto/share/dist/Analizo/README (unchanged) Skip blib/lib/auto/share/dist/Analizo/bash-completion/analizo (unchanged) @@ -1500,7 +1536,7 @@ ok 8 - must not analyze commit containing only (prog.cc) ok 9 - must not analyze commit containing only (prog.cc) ok 10 - must not analyze commit containing only (prog.cc) -ok 11 - must not analyze commit containing only (prog.cc,output.cc,output.h) +ok 11 - must not analyze commit containing only (output.cc,output.h,prog.cc) ok 12 - must not analyze commit containing only (prog.cc,input.h,input.cc) ok 13 - must not analyze commit containing only (prog.cc) ok 14 - find commit @@ -2829,2316 +2865,2316 @@ t/author-pod-spell.t ..................................................... skipped: these tests are for testing by the author t/author-pod-syntax.t .................................................... skipped: these tests are for testing by the author t/features.t ............................................................. -# Feature c code with void argument -# As a software engineering reasearcher I want to know the arguments of each function on a project So that I can run analizo metrics calculate number of parameters -# Scenario calculate anpn on function with void argument -ok 1 - Given I am in t/samples/void/ +# Feature storing VCS data in a database +# As a software engineering researcher I want to store data about the changes in a project So that I can analyze the development process +# Scenario basics +ok 1 - When I explode t/samples/evolution.tar.gz # -ok 2 - When I run "analizo metrics ." +ok 2 - And I run "analizo metrics-history -f db -o data.db" # -ok 3 - Then analizo must report that module main has anpm = 0 +ok 3 - Then the exit status must be 0 # -# Feature loading command line options from .analizo -# As a analizo user I want to store command line options in a file called .analizo inside my project So that I don't need to alway pass all those options on the command line -# Scenario analizo metrics -ok 4 - Given I copy t/samples/mixed into a temporary directory +ok 4 - When I run "select * from modules" on database "data.db" # -ok 5 - And I create a file called .analizo with the following content -# """metrics: --language java""" -ok 6 - When I run "analizo metrics ." +ok 5 - Then the output must match "Input" # -ok 7 - Then the output must not match "native_backend.c" +ok 6 - And the output must match "Output" # -ok 8 - And the output must match "UI.java" +ok 7 - And the output must match "prog" # -ok 9 - And the exit status must be 0 +# Feature exclude directories from the analysis +# As a software developer in a large project I want to exclude some directories from the source code analysis In order to not analyse non-production code such as tests +# Scenario excluding test directory +ok 8 - Given I am in t/samples/multidir/cpp # -# Scenario all others -ok 10 - Given I change to an empty temporary directory +ok 9 - When I run "analizo metrics --exclude test ." # -ok 11 - And I create a file called .analizo with the following content -# """: --help""" -ok 12 - When I run "analizo graph" +ok 10 - Then the output must match "module: HelloWorld" # -ok 13 - Then the output must match "analizo graph is part of the analizo suite." +ok 11 - And the output must not match "module: hello_test" # -# Scenario all others -ok 14 - Given I change to an empty temporary directory +# Scenario excluding test directory +ok 12 - Given I am in t/samples/multidir/csharp # -ok 15 - And I create a file called .analizo with the following content -# """: --help""" -ok 16 - When I run "analizo metrics" +ok 13 - When I run "analizo metrics --exclude test ." # -ok 17 - Then the output must match "analizo metrics is part of the analizo suite." +ok 14 - Then the output must match "module: HelloWorld" # -# Scenario all others -ok 18 - Given I change to an empty temporary directory +ok 15 - And the output must not match "module: hello_test" # -ok 19 - And I create a file called .analizo with the following content -# """: --help""" -ok 20 - When I run "analizo metrics-batch" +# Scenario excluding a list of directories +ok 16 - Given I am in t/samples/multidir/cpp # -ok 21 - Then the output must match "analizo metrics-batch is part of the analizo suite." +ok 17 - When I run "analizo metrics --exclude test:src ." # -# Scenario all others -ok 22 - Given I change to an empty temporary directory +ok 18 - Then the output must not match "module: HelloWorld" # -ok 23 - And I create a file called .analizo with the following content -# """: --help""" -ok 24 - When I run "analizo metrics-history" +ok 19 - And the output must not match "module: hello_test" # -ok 25 - Then the output must match "analizo metrics-history is part of the analizo suite." +# Scenario excluding a list of directories +ok 20 - Given I am in t/samples/multidir/csharp # -# Scenario all others -ok 26 - Given I change to an empty temporary directory +ok 21 - When I run "analizo metrics --exclude test:src ." # -ok 27 - And I create a file called .analizo with the following content -# """: --help""" -ok 28 - When I run "analizo tree-evolution" +ok 22 - Then the output must not match "module: HelloWorld" # -ok 29 - Then the output must match "analizo tree-evolution is part of the analizo suite." +ok 23 - And the output must not match "module: hello_test" # -# Scenario all others -ok 30 - Given I change to an empty temporary directory +# Scenario excluding src directory +ok 24 - Given I am in t/samples/multidir/cpp # -ok 31 - And I create a file called .analizo with the following content -# """: --help""" -ok 32 - When I run "analizo files-graph" +ok 25 - When I run "analizo metrics --exclude src ." # -ok 33 - Then the output must match "analizo files-graph is part of the analizo suite." +ok 26 - Then the output must match "module: hello_test" # -# Scenario all others -ok 34 - Given I change to an empty temporary directory +ok 27 - And the output must not match "module: HelloWorld" # -ok 35 - And I create a file called .analizo with the following content -# """: --help""" -ok 36 - When I run "analizo help" +# Scenario excluding src directory +ok 28 - Given I am in t/samples/multidir/csharp # -ok 37 - Then the output must match "analizo help is part of the analizo suite." +ok 29 - When I run "analizo metrics --exclude src ." # -# Feature storing VCS data in a database -# As a software engineering researcher I want to store data about the changes in a project So that I can analyze the development process -# Scenario basics -ok 38 - When I explode t/samples/evolution.tar.gz +ok 30 - Then the output must match "module: hello_test" # -ok 39 - And I run "analizo metrics-history -f db -o data.db" +ok 31 - And the output must not match "module: HelloWorld" # -ok 40 - Then the exit status must be 0 +# Feature dependency graph among files +# As a software engineering reasearcher I want to know the all relationships between all files on project So that I can run analizo files-graph to produces a DOT graph from source-code +# Scenario relation between function call +ok 32 - Given I am in t/samples/animals/cpp # -ok 41 - When I run "select * from modules" on database "data.db" +ok 33 - When I run "analizo files-graph ." # -ok 42 - Then the output must match "Input" +ok 34 - Then analizo must report that "main" depends on "animal" # -ok 43 - And the output must match "Output" +# Scenario relation between function call +ok 35 - Given I am in t/samples/animals/java # -ok 44 - And the output must match "prog" +ok 36 - When I run "analizo files-graph ." # -# Feature analizo wrapper script -# Scenario invoking a tool -ok 45 - When I run "analizo metrics lib t" +ok 37 - Then analizo must report that "Main" depends on "Animal" # -ok 46 - Then analizo must emit a warning matching "Usage:" +# Scenario relation between function call +ok 38 - Given I am in t/samples/animals/csharp # -ok 47 - And analizo must emit a warning matching "analizo.metrics" +ok 39 - When I run "analizo files-graph ." # -ok 48 - And the exit status must not be 0 +ok 40 - Then analizo must report that "Main" depends on "Animal" # -# Scenario must not pass --version ahead -ok 49 - When I run "analizo metrics --version" +# Scenario relation between inheritance +ok 41 - Given I am in t/samples/animals/cpp # -ok 50 - Then analizo must emit a warning matching "Invalid option: --version" +ok 42 - When I run "analizo files-graph ." # -ok 51 - And the exit status must not be 0 +ok 43 - Then analizo must report that "dog" depends on "mammal" # -# Scenario display help -ok 52 - When I run "analizo --help" +# Scenario relation between inheritance +ok 44 - Given I am in t/samples/animals/java # -ok 53 - Then the output must match "[NAME|N^HNA^HAM^HME^HE]\s+analizo\s" +ok 45 - When I run "analizo files-graph ." # -ok 54 - And the output must match "[USAGE|U^HUS^HSA^HAG^HGE^HE]\s+analizo\s" +ok 46 - Then analizo must report that "Dog" depends on "Mammal" # -ok 55 - And the exit status must be 0 +# Scenario relation between inheritance +ok 47 - Given I am in t/samples/animals/csharp # -# Scenario display version -ok 56 - When I run "analizo --version" +ok 48 - When I run "analizo files-graph ." # -ok 57 - Then the output must match "^analizo version [0-9]+.[0-9]+.[0-9]+" +ok 49 - Then analizo must report that "Dog" depends on "Mammal" # -ok 58 - And the exit status must be 0 +# Scenario relation between inheritance +ok 50 - Given I am in t/samples/animals/cpp # -# Scenario invalid option -ok 59 - When I run "analizo --invalid-option" +ok 51 - When I run "analizo files-graph ." # -ok 60 - Then the output must match "Unrecognized command" +ok 52 - Then analizo must report that "mammal" depends on "animal" # -ok 61 - And the exit status must not be 0 +# Scenario relation between inheritance +ok 53 - Given I am in t/samples/animals/java # -# Feature tree evolution -# As a software engineering reasearcher I want to know what directories existed during the project lifetime So that I can analyze only the production code (and not tests etc) -# Scenario sample git repository -ok 62 - When I explode t/samples/tree-evolution.tar.gz +ok 54 - When I run "analizo files-graph ." # -ok 63 - And I run "analizo tree-evolution" +ok 55 - Then analizo must report that "Mammal" depends on "Animal" # -ok 64 - Then the output lines must match "\# 073290fbad0254793bd3ecfb97654c04368d0039\\nsrc\\n\#" +# Scenario relation between inheritance +ok 56 - Given I am in t/samples/animals/csharp # -ok 65 - Then the output lines must match "\# 85f7db08f7b7b0b62e3c0023b2743d529b0d5b4b\\nsrc\\nsrc/input\\n\#" +ok 57 - When I run "analizo files-graph ." # -ok 66 - Then the output lines must match "\# f41cf7d0351e812285efd60c6d957c330b1f61a1\\nsrc\\nsrc/input\\nsrc/output" +ok 58 - Then analizo must report that "Mammal" depends on "Animal" # -# Feature mapping modules to filenames -# As a software engineering resesearcher I want to know in which file each module is declared So that I can compare that with data from the VCS -# Scenario C++, runing against some directory -ok 67 - When I run "analizo metrics t/samples/animals/cpp" +# Feature loading command line options from .analizo +# As a analizo user I want to store command line options in a file called .analizo inside my project So that I don't need to alway pass all those options on the command line +# Scenario analizo metrics +ok 59 - Given I copy t/samples/mixed into a temporary directory # -ok 68 - Then analizo must report that file animal.h declares module Animal +ok 60 - And I create a file called .analizo with the following content +# """metrics: --language java""" +ok 61 - When I run "analizo metrics ." # -ok 69 - And analizo must report that file cat.cc declares module Cat +ok 62 - Then the output must not match "native_backend.c" # -ok 70 - And analizo must report that file cat.h declares module Cat +ok 63 - And the output must match "UI.java" # -ok 71 - And analizo must report that file cat.cc not declares module Dog +ok 64 - And the exit status must be 0 # -ok 72 - And analizo must report that file cat.h not declares module Dog +# Scenario all others +ok 65 - Given I change to an empty temporary directory # -# Scenario C++, running against current directory -ok 73 - Given I am in t/samples/animals/cpp +ok 66 - And I create a file called .analizo with the following content +# """: --help""" +ok 67 - When I run "analizo graph" # -ok 74 - When I run "analizo metrics ." +ok 68 - Then the output must match "analizo graph is part of the analizo suite." # -ok 75 - Then analizo must report that file animal.h declares module Animal +# Scenario all others +ok 69 - Given I change to an empty temporary directory # -ok 76 - And analizo must report that file cat.cc declares module Cat +ok 70 - And I create a file called .analizo with the following content +# """: --help""" +ok 71 - When I run "analizo metrics" # -ok 77 - And analizo must report that file cat.h declares module Cat +ok 72 - Then the output must match "analizo metrics is part of the analizo suite." # -# Scenario Java -ok 78 - When I run "analizo metrics t/samples/animals/java" +# Scenario all others +ok 73 - Given I change to an empty temporary directory # -ok 79 - Then analizo must report that file Animal.java declares module Animal +ok 74 - And I create a file called .analizo with the following content +# """: --help""" +ok 75 - When I run "analizo metrics-batch" # -# Scenario C -ok 80 - Given I am in t/samples/hello_world/c +ok 76 - Then the output must match "analizo metrics-batch is part of the analizo suite." # -ok 81 - When I run "analizo metrics ." +# Scenario all others +ok 77 - Given I change to an empty temporary directory # -ok 82 - Then analizo must report that module hello_world has _filename = [hello_world.c,hello_world.h] +ok 78 - And I create a file called .analizo with the following content +# """: --help""" +ok 79 - When I run "analizo metrics-history" # -ok 83 - And analizo must report that file hello_world.c declares module hello_world +ok 80 - Then the output must match "analizo metrics-history is part of the analizo suite." # -ok 84 - And analizo must report that file hello_world.h declares module hello_world +# Scenario all others +ok 81 - Given I change to an empty temporary directory # -# Scenario CSharp hello_world -ok 85 - Given I am in t/samples/hello_world/csharp +ok 82 - And I create a file called .analizo with the following content +# """: --help""" +ok 83 - When I run "analizo tree-evolution" # -ok 86 - When I run "analizo metrics ." +ok 84 - Then the output must match "analizo tree-evolution is part of the analizo suite." # -ok 87 - Then analizo must report that module HelloWorld has _filename = [HelloWorld.cs] +# Scenario all others +ok 85 - Given I change to an empty temporary directory # -# Scenario CSharp polygons -ok 88 - Given I am in t/samples/polygons/csharp +ok 86 - And I create a file called .analizo with the following content +# """: --help""" +ok 87 - When I run "analizo files-graph" # -ok 89 - When I run "analizo metrics ." +ok 88 - Then the output must match "analizo files-graph is part of the analizo suite." # -ok 90 - Then analizo must report that file Polygon.cs declares module Polygon +# Scenario all others +ok 89 - Given I change to an empty temporary directory # -ok 91 - And analizo must report that file Rect.cs declares module Rect +ok 90 - And I create a file called .analizo with the following content +# """: --help""" +ok 91 - When I run "analizo help" # -ok 92 - And analizo must report that file Triangle.cs declares module Triangle +ok 92 - Then the output must match "analizo help is part of the analizo suite." # -# Scenario Java Generics WildCard sample -ok 93 - Given I am in t/samples/wildcard +# Feature metrics batch +# As a software engineering researcher I want to analyze several different projects So I can compare their metrics +# Scenario "hello, world" +ok 93 - Given I am in t/samples/hello_world/ # -ok 94 - When I run "analizo metrics ." +ok 94 - When I run "analizo metrics-batch" # -ok 95 - Then analizo must report that file WildcardClass.java declares module WildcardClass +ok 95 - Then the output must match "I: Processed c." # -ok 96 - And analizo must report that file GenericClass.java declares module GenericClass +ok 96 - And the output must match "I: Processed cpp." # -# Scenario Java Enumeration sample -ok 97 - Given I am in t/samples/enumeration +ok 97 - And the output must match "I: Processed java." # -ok 98 - When I run "analizo metrics ." +# Scenario summarizing +ok 98 - Given I am in t/samples/hello_world/ # -ok 99 - Then analizo must report that file Main.java declares module Main::MyEnumeration +ok 99 - When I run "analizo metrics-batch --quiet -o data.csv && cat data.csv && rm -f *.csv" # -ok 100 - And analizo must report that file Enumeration.java declares module Enumeration +ok 100 - Then the output must match "^id," # -# Feature dependency graph among files -# As a software engineering reasearcher I want to know the all relationships between all files on project So that I can run analizo files-graph to produces a DOT graph from source-code -# Scenario relation between function call -ok 101 - Given I am in t/samples/animals/cpp +ok 101 - And the output must not match ",---," # -ok 102 - When I run "analizo files-graph ." +ok 102 - And the output must match "c," # -ok 103 - Then analizo must report that "main" depends on "animal" +ok 103 - And the output must match "cpp," # -# Scenario relation between function call -ok 104 - Given I am in t/samples/animals/java +ok 104 - And the output must match "java," # -ok 105 - When I run "analizo files-graph ." +ok 105 - And the output must not match "I: Processed" # -ok 106 - Then analizo must report that "Main" depends on "Animal" +# Scenario support for parallel processing +ok 106 - Given I copy t/samples/hello_world/* into a temporary directory # -# Scenario relation between function call -ok 107 - Given I am in t/samples/animals/csharp +ok 107 - When I run "analizo metrics-batch -q -o sequential.csv" # -ok 108 - When I run "analizo files-graph ." +ok 108 - And I run "analizo metrics-batch -q -o parallel.csv -p 2" # -ok 109 - Then analizo must report that "Main" depends on "Animal" +ok 109 - And I run "sort sequential.csv > sequential-sorted.csv" # -# Scenario relation between inheritance -ok 110 - Given I am in t/samples/animals/cpp +ok 110 - And I run "sort parallel.csv > parallel-sorted.csv" # -ok 111 - When I run "analizo files-graph ." +ok 111 - And I run "diff -u sequential-sorted.csv parallel-sorted.csv" # -ok 112 - Then analizo must report that "dog" depends on "mammal" +ok 112 - Then the output must not match "---" # -# Scenario relation between inheritance -ok 113 - Given I am in t/samples/animals/java +ok 113 - Then the exit status must be 0 # -ok 114 - When I run "analizo files-graph ." +# Scenario passing two input directories as argument +ok 114 - Given I copy t/samples/hello_world/* into a temporary directory # -ok 115 - Then analizo must report that "Dog" depends on "Mammal" +ok 115 - When I run "analizo metrics-batch --quiet -o data.csv cpp java" # -# Scenario relation between inheritance -ok 116 - Given I am in t/samples/animals/csharp +ok 116 - Then the exit status must be 0 # -ok 117 - When I run "analizo files-graph ." +ok 117 - And the file "c-details.csv" should not exist # -ok 118 - Then analizo must report that "Dog" depends on "Mammal" +ok 118 - And the file "cpp-details.csv" should exist # -# Scenario relation between inheritance -ok 119 - Given I am in t/samples/animals/cpp +ok 119 - And the file "java-details.csv" should exist # -ok 120 - When I run "analizo files-graph ." +# Scenario passing one input directory as argument +ok 120 - Given I copy t/samples/hello_world/* into a temporary directory # -ok 121 - Then analizo must report that "mammal" depends on "animal" +ok 121 - When I run "analizo metrics-batch --quiet -o data.csv cpp" # -# Scenario relation between inheritance -ok 122 - Given I am in t/samples/animals/java +ok 122 - Then the exit status must be 0 # -ok 123 - When I run "analizo files-graph ." +ok 123 - And the file "c-details.csv" should not exist # -ok 124 - Then analizo must report that "Mammal" depends on "Animal" +ok 124 - And the file "cpp-details.csv" should exist # -# Scenario relation between inheritance -ok 125 - Given I am in t/samples/animals/csharp +ok 125 - And the file "java-details.csv" should not exist # -ok 126 - When I run "analizo files-graph ." +# Feature tree evolution +# As a software engineering reasearcher I want to know what directories existed during the project lifetime So that I can analyze only the production code (and not tests etc) +# Scenario sample git repository +ok 126 - When I explode t/samples/tree-evolution.tar.gz # -ok 127 - Then analizo must report that "Mammal" depends on "Animal" +ok 127 - And I run "analizo tree-evolution" # -# Feature give manpage on --help -# As a user I want to read the manpage when passing --help command line option In order to get instructions on how to use the tools -# Scenario display manpage for `analizo graph` -ok 128 - When I run "analizo graph --help" +ok 128 - Then the output lines must match "\# 073290fbad0254793bd3ecfb97654c04368d0039\\nsrc\\n\#" # -ok 129 - Then the output must match "[NAME|N^HNA^HAM^HME^HE]\s+analizo-graph" +ok 129 - Then the output lines must match "\# 85f7db08f7b7b0b62e3c0023b2743d529b0d5b4b\\nsrc\\nsrc/input\\n\#" # -ok 130 - Then the output must match "[USAGE|U^HUS^HSA^HAG^HGE^HE]\s+analizo graph \[OPTIONS\]" +ok 130 - Then the output lines must match "\# f41cf7d0351e812285efd60c6d957c330b1f61a1\\nsrc\\nsrc/input\\nsrc/output" # -# Scenario display manpage for `analizo metrics` -ok 131 - When I run "analizo metrics --help" +# Feature analizo wrapper script +# Scenario invoking a tool +ok 131 - When I run "analizo metrics lib t" # -ok 132 - Then the output must match "[NAME|N^HNA^HAM^HME^HE]\s+analizo-metrics" +ok 132 - Then analizo must emit a warning matching "Usage:" # -ok 133 - Then the output must match "[USAGE|U^HUS^HSA^HAG^HGE^HE]\s+analizo metrics \[OPTIONS\]" +ok 133 - And analizo must emit a warning matching "analizo.metrics" # -# Scenario display manpage for `analizo metrics-batch` -ok 134 - When I run "analizo metrics-batch --help" +ok 134 - And the exit status must not be 0 # -ok 135 - Then the output must match "[NAME|N^HNA^HAM^HME^HE]\s+analizo-metrics-batch" +# Scenario must not pass --version ahead +ok 135 - When I run "analizo metrics --version" # -ok 136 - Then the output must match "[USAGE|U^HUS^HSA^HAG^HGE^HE]\s+analizo metrics-batch \[OPTIONS\]" +ok 136 - Then analizo must emit a warning matching "Invalid option: --version" # -# Scenario display manpage for `analizo metrics-history` -ok 137 - When I run "analizo metrics-history --help" +ok 137 - And the exit status must not be 0 # -ok 138 - Then the output must match "[NAME|N^HNA^HAM^HME^HE]\s+analizo-metrics-history" +# Scenario display help +ok 138 - When I run "analizo --help" # -ok 139 - Then the output must match "[USAGE|U^HUS^HSA^HAG^HGE^HE]\s+analizo metrics-history \[OPTIONS\]" +ok 139 - Then the output must match "[NAME|N^HNA^HAM^HME^HE]\s+analizo\s" # -# Scenario display manpage for `analizo tree-evolution` -ok 140 - When I run "analizo tree-evolution --help" +ok 140 - And the output must match "[USAGE|U^HUS^HSA^HAG^HGE^HE]\s+analizo\s" # -ok 141 - Then the output must match "[NAME|N^HNA^HAM^HME^HE]\s+analizo-tree-evolution" +ok 141 - And the exit status must be 0 # -ok 142 - Then the output must match "[USAGE|U^HUS^HSA^HAG^HGE^HE]\s+analizo tree-evolution \[OPTIONS\]" +# Scenario display version +ok 142 - When I run "analizo --version" # -# Scenario display manpage for `analizo files-graph` -ok 143 - When I run "analizo files-graph --help" +ok 143 - Then the output must match "^analizo version [0-9]+.[0-9]+.[0-9]+" # -ok 144 - Then the output must match "[NAME|N^HNA^HAM^HME^HE]\s+analizo-files-graph" +ok 144 - And the exit status must be 0 # -ok 145 - Then the output must match "[USAGE|U^HUS^HSA^HAG^HGE^HE]\s+analizo files-graph \[OPTIONS\]" +# Scenario invalid option +ok 145 - When I run "analizo --invalid-option" # -# Feature exclude directories from the analysis -# As a software developer in a large project I want to exclude some directories from the source code analysis In order to not analyse non-production code such as tests -# Scenario excluding test directory -ok 146 - Given I am in t/samples/multidir/cpp +ok 146 - Then the output must match "Unrecognized command" # -ok 147 - When I run "analizo metrics --exclude test ." +ok 147 - And the exit status must not be 0 # -ok 148 - Then the output must match "module: HelloWorld" +# Feature analizo metrics-history +# As a software engineering researcher I want to analyse the entire history of a project To understand its development process +# Scenario listing merge commits with code changes that should be analyzed +ok 148 - When I explode t/samples/evolution.tar.gz # -ok 149 - And the output must not match "module: hello_test" +ok 149 - And I run "analizo metrics-history --list ." # -# Scenario excluding test directory -ok 150 - Given I am in t/samples/multidir/csharp +ok 150 - Then the output must match "0a06a6fcc2e7b4fe56d134e89d74ad028bb122ed" # -ok 151 - When I run "analizo metrics --exclude test ." +ok 151 - And the output must match "eb67c27055293e835049b58d7d73ce3664d3f90e" # -ok 152 - Then the output must match "module: HelloWorld" +ok 152 - And the output must match "aa2d0fcb7879485d5ff1cd189743f91f04bea8ce" # -ok 153 - And the output must not match "module: hello_test" +ok 153 - And the output must match "e8faf88f0e20a193d700b6c68eeb31897dd85e53" # -# Scenario excluding a list of directories -ok 154 - Given I am in t/samples/multidir/cpp +ok 154 - And the output must match "d7f52e74dc3d8f57640e83d41c5e9f8fcf621c00" # -ok 155 - When I run "analizo metrics --exclude test:src ." +ok 155 - And the output must match "0d3c023120ad4e9f519a03fff275d048c52671ad" # -ok 156 - Then the output must not match "module: HelloWorld" +# Scenario non-code commits should not be analyzed +ok 156 - When I explode t/samples/evolution.tar.gz # -ok 157 - And the output must not match "module: hello_test" +ok 157 - And I run "analizo metrics-history --list ." # -# Scenario excluding a list of directories -ok 158 - Given I am in t/samples/multidir/csharp +ok 158 - Then the output must not match "ba62278e976944c0334103aa0044535169e1a51e" # -ok 159 - When I run "analizo metrics --exclude test:src ." +# Scenario merge commits without code change should not be analyzed +ok 159 - When I explode t/samples/evolution.tar.gz # -ok 160 - Then the output must not match "module: HelloWorld" +ok 160 - And I run "analizo metrics-history --list ." # -ok 161 - And the output must not match "module: hello_test" +ok 161 - Then the output must not match "0fdaaa7dcc8073332a957024fafc8c98f165e725" # -# Scenario excluding src directory -ok 162 - Given I am in t/samples/multidir/cpp +# Scenario actually processing merge commits +ok 162 - When I explode t/samples/evolution.tar.gz # -ok 163 - When I run "analizo metrics --exclude src ." +ok 163 - And I run "analizo metrics-history -o metrics.csv . && cat metrics.csv" # -ok 164 - Then the output must match "module: hello_test" +ok 164 - Then the output must match "^id,previous_commit_id,author_date,author_name,author_email,.*,sc_mean" # -ok 165 - And the output must not match "module: HelloWorld" +ok 165 - And the output must match "0a06a6fcc2e7b4fe56d134e89d74ad028bb122ed,eb67c27055293e835049b58d7d73ce3664d3f90e" # -# Scenario excluding src directory -ok 166 - Given I am in t/samples/multidir/csharp +ok 166 - And the output must match "eb67c27055293e835049b58d7d73ce3664d3f90e,," # -ok 167 - When I run "analizo metrics --exclude src ." +ok 167 - And the output must match "aa2d0fcb7879485d5ff1cd189743f91f04bea8ce,d7f52e74dc3d8f57640e83d41c5e9f8fcf621c00" # -ok 168 - Then the output must match "module: hello_test" +ok 168 - And the output must match "e8faf88f0e20a193d700b6c68eeb31897dd85e53,d7f52e74dc3d8f57640e83d41c5e9f8fcf621c00" # -ok 169 - And the output must not match "module: HelloWorld" +ok 169 - And the output must match "d7f52e74dc3d8f57640e83d41c5e9f8fcf621c00,0d3c023120ad4e9f519a03fff275d048c52671ad" # -# Feature analizo metrics-history -# As a software engineering researcher I want to analyse the entire history of a project To understand its development process -# Scenario listing merge commits with code changes that should be analyzed +# Scenario actually processing initial commit and first commit after a non-relevant merge ok 170 - When I explode t/samples/evolution.tar.gz # -ok 171 - And I run "analizo metrics-history --list ." +ok 171 - And I run "analizo metrics-history -o metrics.csv . && cat metrics.csv" # -ok 172 - Then the output must match "0a06a6fcc2e7b4fe56d134e89d74ad028bb122ed" +ok 172 - Then the output must match "0d3c023120ad4e9f519a03fff275d048c52671ad,," # -ok 173 - And the output must match "eb67c27055293e835049b58d7d73ce3664d3f90e" +ok 173 - And the output must match "8183eafad3a0f3eff6e8869f1bdbfd255e86825a,0a06a6fcc2e7b4fe56d134e89d74ad028bb122ed" # -ok 174 - And the output must match "aa2d0fcb7879485d5ff1cd189743f91f04bea8ce" +# Scenario support for parallel processing +ok 174 - Given I copy t/samples/evolution.tar.gz into a temporary directory # -ok 175 - And the output must match "e8faf88f0e20a193d700b6c68eeb31897dd85e53" +ok 175 - When I run "tar xzf evolution.tar.gz" # -ok 176 - And the output must match "d7f52e74dc3d8f57640e83d41c5e9f8fcf621c00" +ok 176 - And I run "cd evolution && analizo metrics-history -o ../sequential.csv" # -ok 177 - And the output must match "0d3c023120ad4e9f519a03fff275d048c52671ad" +ok 177 - And I run "cd evolution && analizo metrics-history -p 2 -o ../parallel.csv" # -# Scenario non-code commits should not be analyzed -ok 178 - When I explode t/samples/evolution.tar.gz +ok 178 - Then the exit status must be 0 # -ok 179 - And I run "analizo metrics-history --list ." +ok 179 - When I run "sort sequential.csv > sequential-sorted.csv" # -ok 180 - Then the output must not match "ba62278e976944c0334103aa0044535169e1a51e" +ok 180 - And I run "sort parallel.csv > parallel-sorted.csv" # -# Scenario merge commits without code change should not be analyzed -ok 181 - When I explode t/samples/evolution.tar.gz +ok 181 - And I run "diff -u sequential-sorted.csv parallel-sorted.csv" # -ok 182 - And I run "analizo metrics-history --list ." +ok 182 - Then the output must not match "---" # -ok 183 - Then the output must not match "0fdaaa7dcc8073332a957024fafc8c98f165e725" +ok 183 - And the exit status must be 0 # -# Scenario actually processing merge commits -ok 184 - When I explode t/samples/evolution.tar.gz +# Scenario parsing git log format containing renamed files among status of changed files +ok 184 - Given I copy t/samples/evolution.tar.gz into a temporary directory # -ok 185 - And I run "analizo metrics-history -o metrics.csv . && cat metrics.csv" +ok 185 - When I run "tar xzf evolution.tar.gz" # -ok 186 - Then the output must match "^id,previous_commit_id,author_date,author_name,author_email,.*,sc_mean" +ok 186 - And I run "cd evolution && git checkout doc && analizo metrics-history ." # -ok 187 - And the output must match "0a06a6fcc2e7b4fe56d134e89d74ad028bb122ed,eb67c27055293e835049b58d7d73ce3664d3f90e" +ok 187 - Then the exit status must be 0 # -ok 188 - And the output must match "eb67c27055293e835049b58d7d73ce3664d3f90e,," +# Scenario language filters +ok 188 - Given I copy t/samples/mixed into a temporary directory # -ok 189 - And the output must match "aa2d0fcb7879485d5ff1cd189743f91f04bea8ce,d7f52e74dc3d8f57640e83d41c5e9f8fcf621c00" +ok 189 - When I run "(cd mixed && git init && git add * && git commit -m 'initial commit')" # -ok 190 - And the output must match "e8faf88f0e20a193d700b6c68eeb31897dd85e53,d7f52e74dc3d8f57640e83d41c5e9f8fcf621c00" +ok 190 - And I run "analizo metrics-history --language java mixed" # -ok 191 - And the output must match "d7f52e74dc3d8f57640e83d41c5e9f8fcf621c00,0d3c023120ad4e9f519a03fff275d048c52671ad" +ok 191 - Then the output must not match "native_backend.c" # -# Scenario actually processing initial commit and first commit after a non-relevant merge -ok 192 - When I explode t/samples/evolution.tar.gz +# Feature doxyparse extractor external tool +# As a Analizo developer I want to guarantee that doxyparse deal with any source code To provide reliability for Analizo users +# Scenario don't die parsing MCLinker.cpp from android 5.1.1 +ok 192 - Given I am in t/samples/android-framework/android-5.1.1_r38 # -ok 193 - And I run "analizo metrics-history -o metrics.csv . && cat metrics.csv" +ok 193 - When I run "analizo metrics ." # -ok 194 - Then the output must match "0d3c023120ad4e9f519a03fff275d048c52671ad,," +ok 194 - Then the exit status must be 0 # -ok 195 - And the output must match "8183eafad3a0f3eff6e8869f1bdbfd255e86825a,0a06a6fcc2e7b4fe56d134e89d74ad028bb122ed" +# Scenario don't duplicate YAML keys parsing AudioTrackShared.cpp from android 5.1.1 +ok 195 - Given I am in t/samples/android-framework/android-5.1.1_r38 # -# Scenario support for parallel processing -ok 196 - Given I copy t/samples/evolution.tar.gz into a temporary directory +ok 196 - When I run "analizo metrics ." # -ok 197 - When I run "tar xzf evolution.tar.gz" +ok 197 - Then analizo must not emit a warning matching "YAML_LOAD_WARN_DUPLICATE_KEY" # -ok 198 - And I run "cd evolution && analizo metrics-history -o ../sequential.csv" +# Scenario don't abort parsing mlpack 3.0.0 +ok 198 - Given I am in t/samples/mlpack-3.0.0 # -ok 199 - And I run "cd evolution && analizo metrics-history -p 2 -o ../parallel.csv" +ok 199 - When I run "analizo metrics ." # -ok 200 - Then the exit status must be 0 +ok 200 - Then analizo must not emit a warning matching "Aborted" # -ok 201 - When I run "sort sequential.csv > sequential-sorted.csv" +ok 201 - And the exit status must be 0 # -ok 202 - And I run "sort parallel.csv > parallel-sorted.csv" +# Scenario don't die parsing kdelibs warning about unknown escape character +ok 202 - Given I am in t/samples/kdelibs # -ok 203 - And I run "diff -u sequential-sorted.csv parallel-sorted.csv" +ok 203 - When I run "analizo metrics ." # -ok 204 - Then the output must not match "---" +ok 204 - Then analizo must not emit a warning matching "Error" # ok 205 - And the exit status must be 0 # -# Scenario parsing git log format containing renamed files among status of changed files -ok 206 - Given I copy t/samples/evolution.tar.gz into a temporary directory -# -ok 207 - When I run "tar xzf evolution.tar.gz" +# Scenario don't die parsing mod_suexec.h from http 2.4.38 +ok 206 - Given I am in t/samples/httpd-2.4.38 # -ok 208 - And I run "cd evolution && git checkout doc && analizo metrics-history ." +ok 207 - When I run "analizo metrics ." # -ok 209 - Then the exit status must be 0 +ok 208 - Then analizo must not emit a warning matching "Not a HASH reference" # -# Scenario language filters -ok 210 - Given I copy t/samples/mixed into a temporary directory +ok 209 - And the exit status must be 0 # -ok 211 - When I run "(cd mixed && git init && git add * && git commit -m 'initial commit')" +# Scenario allow dot on module filename +ok 210 - Given I am in t/samples/sample_basic/c # -ok 212 - And I run "analizo metrics-history --language java mixed" +ok 211 - When I run "analizo metrics ." # -ok 213 - Then the output must not match "native_backend.c" +ok 212 - Then analizo must report that file module1.c declares module module1 # # Feature multi-language support # As a Researcher or Practioneer I want to be able to analyze software in different languages In order do compare them # Scenario dependency between modules -ok 214 - Given I am in t/samples/hello_world/c +ok 213 - Given I am in t/samples/hello_world/c # -ok 215 - When I run "analizo graph --modules ." +ok 214 - When I run "analizo graph --modules ." # -ok 216 - Then analizo must report that "main" depends on "hello_world" +ok 215 - Then analizo must report that "main" depends on "hello_world" # # Scenario dependency between modules -ok 217 - Given I am in t/samples/hello_world/cpp +ok 216 - Given I am in t/samples/hello_world/cpp # -ok 218 - When I run "analizo graph --modules ." +ok 217 - When I run "analizo graph --modules ." # -ok 219 - Then analizo must report that "main" depends on "HelloWorld" +ok 218 - Then analizo must report that "main" depends on "HelloWorld" # # Scenario dependency between modules -ok 220 - Given I am in t/samples/hello_world/java +ok 219 - Given I am in t/samples/hello_world/java # -ok 221 - When I run "analizo graph --modules ." +ok 220 - When I run "analizo graph --modules ." # -ok 222 - Then analizo must report that "Main" depends on "HelloWorld" +ok 221 - Then analizo must report that "Main" depends on "HelloWorld" # # Scenario dependency between modules -ok 223 - Given I am in t/samples/hello_world/csharp +ok 222 - Given I am in t/samples/hello_world/csharp # -ok 224 - When I run "analizo graph --modules ." +ok 223 - When I run "analizo graph --modules ." # -ok 225 - Then analizo must report that "main" depends on "HelloWorld" +ok 224 - Then analizo must report that "main" depends on "HelloWorld" # # Scenario dependency between specific functions -ok 226 - Given I am in t/samples/hello_world/c +ok 225 - Given I am in t/samples/hello_world/c # -ok 227 - When I run "analizo graph ." +ok 226 - When I run "analizo graph ." # -ok 228 - Then analizo must report that "main::main()" depends on "hello_world::hello_world_say(hello_world *)" +ok 227 - Then analizo must report that "main::main()" depends on "hello_world::hello_world_say(hello_world *)" # -ok 229 - And analizo must report that "main::main()" depends on "hello_world::hello_world_destroy(hello_world *)" +ok 228 - And analizo must report that "main::main()" depends on "hello_world::hello_world_destroy(hello_world *)" # # Scenario dependency between specific functions -ok 230 - Given I am in t/samples/hello_world/cpp +ok 229 - Given I am in t/samples/hello_world/cpp # -ok 231 - When I run "analizo graph ." +ok 230 - When I run "analizo graph ." # -ok 232 - Then analizo must report that "main::main()" depends on "HelloWorld::say()" +ok 231 - Then analizo must report that "main::main()" depends on "HelloWorld::say()" # -ok 233 - And analizo must report that "main::main()" depends on "HelloWorld::destroy()" +ok 232 - And analizo must report that "main::main()" depends on "HelloWorld::destroy()" # # Scenario dependency between specific functions -ok 234 - Given I am in t/samples/hello_world/java +ok 233 - Given I am in t/samples/hello_world/java # -ok 235 - When I run "analizo graph ." +ok 234 - When I run "analizo graph ." # -ok 236 - Then analizo must report that "Main::main(String[])" depends on "HelloWorld::say()" +ok 235 - Then analizo must report that "Main::main(String[])" depends on "HelloWorld::say()" # -ok 237 - And analizo must report that "Main::main(String[])" depends on "HelloWorld::destroy()" +ok 236 - And analizo must report that "Main::main(String[])" depends on "HelloWorld::destroy()" # # Scenario dependency between specific functions -ok 238 - Given I am in t/samples/hello_world/csharp +ok 237 - Given I am in t/samples/hello_world/csharp # -ok 239 - When I run "analizo graph ." +ok 238 - When I run "analizo graph ." # -ok 240 - Then analizo must report that "main::Main()" depends on "HelloWorld::say()" +ok 239 - Then analizo must report that "main::Main()" depends on "HelloWorld::say()" # -ok 241 - And analizo must report that "main::Main()" depends on "HelloWorld::destroy()" +ok 240 - And analizo must report that "main::Main()" depends on "HelloWorld::destroy()" # # Scenario intra-module dependencies -ok 242 - Given I am in t/samples/hello_world/c +ok 241 - Given I am in t/samples/hello_world/c # -ok 243 - When I run "analizo graph ." +ok 242 - When I run "analizo graph ." # -ok 244 - Then analizo must report that "hello_world::hello_world_say(hello_world *)" depends on "hello_world::_hello_world::id" +ok 243 - Then analizo must report that "hello_world::hello_world_say(hello_world *)" depends on "hello_world::_hello_world::id" # -ok 245 - And analizo must report that "hello_world::hello_world_destroy(hello_world *)" depends on "hello_world::_hello_world::id" +ok 244 - And analizo must report that "hello_world::hello_world_destroy(hello_world *)" depends on "hello_world::_hello_world::id" # # Scenario intra-module dependencies -ok 246 - Given I am in t/samples/hello_world/cpp +ok 245 - Given I am in t/samples/hello_world/cpp # -ok 247 - When I run "analizo graph ." +ok 246 - When I run "analizo graph ." # -ok 248 - Then analizo must report that "HelloWorld::say()" depends on "HelloWorld::_id" +ok 247 - Then analizo must report that "HelloWorld::say()" depends on "HelloWorld::_id" # -ok 249 - And analizo must report that "HelloWorld::destroy()" depends on "HelloWorld::_id" +ok 248 - And analizo must report that "HelloWorld::destroy()" depends on "HelloWorld::_id" # # Scenario intra-module dependencies -ok 250 - Given I am in t/samples/hello_world/java +ok 249 - Given I am in t/samples/hello_world/java # -ok 251 - When I run "analizo graph ." +ok 250 - When I run "analizo graph ." # -ok 252 - Then analizo must report that "HelloWorld::say()" depends on "HelloWorld::_id" +ok 251 - Then analizo must report that "HelloWorld::say()" depends on "HelloWorld::_id" # -ok 253 - And analizo must report that "HelloWorld::destroy()" depends on "HelloWorld::_id" +ok 252 - And analizo must report that "HelloWorld::destroy()" depends on "HelloWorld::_id" # # Scenario intra-module dependencies -ok 254 - Given I am in t/samples/hello_world/csharp +ok 253 - Given I am in t/samples/hello_world/csharp # -ok 255 - When I run "analizo graph ." +ok 254 - When I run "analizo graph ." # -ok 256 - Then analizo must report that "HelloWorld::say()" depends on "HelloWorld::_id" +ok 255 - Then analizo must report that "HelloWorld::say()" depends on "HelloWorld::_id" # -ok 257 - And analizo must report that "HelloWorld::destroy()" depends on "HelloWorld::_id" +ok 256 - And analizo must report that "HelloWorld::destroy()" depends on "HelloWorld::_id" # # Scenario some metrics -ok 258 - Given I am in t/samples/hello_world/c +ok 257 - Given I am in t/samples/hello_world/c # -ok 259 - When I run "analizo metrics ." +ok 258 - When I run "analizo metrics ." # -ok 260 - Then analizo must report that the project has total_modules = 2 +ok 259 - Then analizo must report that the project has total_modules = 2 # -ok 261 - And analizo must report that module main has nom = 1 +ok 260 - And analizo must report that module main has nom = 1 # -ok 262 - And analizo must report that module hello_world has npm = 3 +ok 261 - And analizo must report that module hello_world has npm = 3 # -ok 263 - And analizo must report that module hello_world has nom = 3 +ok 262 - And analizo must report that module hello_world has nom = 3 # -ok 264 - And analizo must report that module hello_world has npa = 2 +ok 263 - And analizo must report that module hello_world has npa = 2 # # Scenario some metrics -ok 265 - Given I am in t/samples/hello_world/cpp +ok 264 - Given I am in t/samples/hello_world/cpp # -ok 266 - When I run "analizo metrics ." +ok 265 - When I run "analizo metrics ." # -ok 267 - Then analizo must report that the project has total_modules = 2 +ok 266 - Then analizo must report that the project has total_modules = 2 # -ok 268 - And analizo must report that module main has nom = 1 +ok 267 - And analizo must report that module main has nom = 1 # -ok 269 - And analizo must report that module HelloWorld has npm = 3 +ok 268 - And analizo must report that module HelloWorld has npm = 3 # -ok 270 - And analizo must report that module HelloWorld has nom = 4 +ok 269 - And analizo must report that module HelloWorld has nom = 4 # -ok 271 - And analizo must report that module HelloWorld has npa = 1 +ok 270 - And analizo must report that module HelloWorld has npa = 1 # # Scenario some metrics -ok 272 - Given I am in t/samples/hello_world/java +ok 271 - Given I am in t/samples/hello_world/java # -ok 273 - When I run "analizo metrics ." +ok 272 - When I run "analizo metrics ." # -ok 274 - Then analizo must report that the project has total_modules = 2 +ok 273 - Then analizo must report that the project has total_modules = 2 # -ok 275 - And analizo must report that module Main has nom = 1 +ok 274 - And analizo must report that module Main has nom = 1 # -ok 276 - And analizo must report that module HelloWorld has npm = 3 +ok 275 - And analizo must report that module HelloWorld has npm = 3 # -ok 277 - And analizo must report that module HelloWorld has nom = 4 +ok 276 - And analizo must report that module HelloWorld has nom = 4 # -ok 278 - And analizo must report that module HelloWorld has npa = 1 +ok 277 - And analizo must report that module HelloWorld has npa = 1 # # Scenario some metrics -ok 279 - Given I am in t/samples/hello_world/csharp +ok 278 - Given I am in t/samples/hello_world/csharp # -ok 280 - When I run "analizo metrics ." +ok 279 - When I run "analizo metrics ." # -ok 281 - Then analizo must report that the project has total_modules = 2 +ok 280 - Then analizo must report that the project has total_modules = 2 # -ok 282 - And analizo must report that module main has nom = 1 +ok 281 - And analizo must report that module main has nom = 1 # -ok 283 - And analizo must report that module HelloWorld has npm = 3 +ok 282 - And analizo must report that module HelloWorld has npm = 3 # -ok 284 - And analizo must report that module HelloWorld has nom = 4 +ok 283 - And analizo must report that module HelloWorld has nom = 4 # -ok 285 - And analizo must report that module HelloWorld has npa = 1 +ok 284 - And analizo must report that module HelloWorld has npa = 1 # # Scenario inheritance data -ok 286 - Given I am in t/samples/animals/cpp +ok 285 - Given I am in t/samples/animals/cpp # -ok 287 - When I run "analizo graph --modules ." +ok 286 - When I run "analizo graph --modules ." # -ok 288 - Then analizo must report that "Cat" depends on "Mammal" +ok 287 - Then analizo must report that "Cat" depends on "Mammal" # -ok 289 - And analizo must report that "Dog" depends on "Mammal" +ok 288 - And analizo must report that "Dog" depends on "Mammal" # -ok 290 - And analizo must report that "Mammal" depends on "Animal" +ok 289 - And analizo must report that "Mammal" depends on "Animal" # -ok 291 - When I run "analizo metrics ." +ok 290 - When I run "analizo metrics ." # -ok 292 - Then analizo must report that module Cat has dit = 2 +ok 291 - Then analizo must report that module Cat has dit = 2 # -ok 293 - And analizo must report that module Dog has dit = 2 +ok 292 - And analizo must report that module Dog has dit = 2 # -ok 294 - And analizo must report that module Mammal has dit = 1 +ok 293 - And analizo must report that module Mammal has dit = 1 # -ok 295 - And analizo must report that module Animal has dit = 0 +ok 294 - And analizo must report that module Animal has dit = 0 # # Scenario inheritance data -ok 296 - Given I am in t/samples/animals/java +ok 295 - Given I am in t/samples/animals/java # -ok 297 - When I run "analizo graph --modules ." +ok 296 - When I run "analizo graph --modules ." # -ok 298 - Then analizo must report that "Cat" depends on "Mammal" +ok 297 - Then analizo must report that "Cat" depends on "Mammal" # -ok 299 - And analizo must report that "Dog" depends on "Mammal" +ok 298 - And analizo must report that "Dog" depends on "Mammal" # -ok 300 - And analizo must report that "Mammal" depends on "Animal" +ok 299 - And analizo must report that "Mammal" depends on "Animal" # -ok 301 - When I run "analizo metrics ." +ok 300 - When I run "analizo metrics ." # -ok 302 - Then analizo must report that module Cat has dit = 2 +ok 301 - Then analizo must report that module Cat has dit = 2 # -ok 303 - And analizo must report that module Dog has dit = 2 +ok 302 - And analizo must report that module Dog has dit = 2 # -ok 304 - And analizo must report that module Mammal has dit = 1 +ok 303 - And analizo must report that module Mammal has dit = 1 # -ok 305 - And analizo must report that module Animal has dit = 0 +ok 304 - And analizo must report that module Animal has dit = 0 # # Scenario mixed Java and C -ok 306 - Given I am in t/samples/mixed +ok 305 - Given I am in t/samples/mixed # -ok 307 - When I run "analizo metrics ." +ok 306 - When I run "analizo metrics ." # -ok 308 - Then the output must match "_module: native_backend" +ok 307 - Then the output must match "_module: native_backend" # -ok 309 - And the output must match "_module: UI" +ok 308 - And the output must match "_module: UI" # -ok 310 - And the output must match "_module: Backend" +ok 309 - And the output must match "_module: Backend" # -# Feature doxyparse extractor external tool -# As a Analizo developer I want to guarantee that doxyparse deal with any source code To provide reliability for Analizo users -# Scenario don't die parsing MCLinker.cpp from android 5.1.1 -ok 311 - Given I am in t/samples/android-framework/android-5.1.1_r38 +# Feature give manpage on --help +# As a user I want to read the manpage when passing --help command line option In order to get instructions on how to use the tools +# Scenario display manpage for `analizo graph` +ok 310 - When I run "analizo graph --help" # -ok 312 - When I run "analizo metrics ." +ok 311 - Then the output must match "[NAME|N^HNA^HAM^HME^HE]\s+analizo-graph" # -ok 313 - Then the exit status must be 0 +ok 312 - Then the output must match "[USAGE|U^HUS^HSA^HAG^HGE^HE]\s+analizo graph \[OPTIONS\]" # -# Scenario don't duplicate YAML keys parsing AudioTrackShared.cpp from android 5.1.1 -ok 314 - Given I am in t/samples/android-framework/android-5.1.1_r38 +# Scenario display manpage for `analizo metrics` +ok 313 - When I run "analizo metrics --help" # -ok 315 - When I run "analizo metrics ." +ok 314 - Then the output must match "[NAME|N^HNA^HAM^HME^HE]\s+analizo-metrics" # -ok 316 - Then analizo must not emit a warning matching "YAML_LOAD_WARN_DUPLICATE_KEY" +ok 315 - Then the output must match "[USAGE|U^HUS^HSA^HAG^HGE^HE]\s+analizo metrics \[OPTIONS\]" # -# Scenario don't abort parsing mlpack 3.0.0 -ok 317 - Given I am in t/samples/mlpack-3.0.0 +# Scenario display manpage for `analizo metrics-batch` +ok 316 - When I run "analizo metrics-batch --help" # -ok 318 - When I run "analizo metrics ." +ok 317 - Then the output must match "[NAME|N^HNA^HAM^HME^HE]\s+analizo-metrics-batch" # -ok 319 - Then analizo must not emit a warning matching "Aborted" +ok 318 - Then the output must match "[USAGE|U^HUS^HSA^HAG^HGE^HE]\s+analizo metrics-batch \[OPTIONS\]" # -ok 320 - And the exit status must be 0 +# Scenario display manpage for `analizo metrics-history` +ok 319 - When I run "analizo metrics-history --help" # -# Scenario don't die parsing kdelibs warning about unknown escape character -ok 321 - Given I am in t/samples/kdelibs +ok 320 - Then the output must match "[NAME|N^HNA^HAM^HME^HE]\s+analizo-metrics-history" # -ok 322 - When I run "analizo metrics ." +ok 321 - Then the output must match "[USAGE|U^HUS^HSA^HAG^HGE^HE]\s+analizo metrics-history \[OPTIONS\]" # -ok 323 - Then analizo must not emit a warning matching "Error" +# Scenario display manpage for `analizo tree-evolution` +ok 322 - When I run "analizo tree-evolution --help" # -ok 324 - And the exit status must be 0 +ok 323 - Then the output must match "[NAME|N^HNA^HAM^HME^HE]\s+analizo-tree-evolution" # -# Scenario don't die parsing mod_suexec.h from http 2.4.38 -ok 325 - Given I am in t/samples/httpd-2.4.38 +ok 324 - Then the output must match "[USAGE|U^HUS^HSA^HAG^HGE^HE]\s+analizo tree-evolution \[OPTIONS\]" # -ok 326 - When I run "analizo metrics ." +# Scenario display manpage for `analizo files-graph` +ok 325 - When I run "analizo files-graph --help" # -ok 327 - Then analizo must not emit a warning matching "Not a HASH reference" +ok 326 - Then the output must match "[NAME|N^HNA^HAM^HME^HE]\s+analizo-files-graph" # -ok 328 - And the exit status must be 0 +ok 327 - Then the output must match "[USAGE|U^HUS^HSA^HAG^HGE^HE]\s+analizo files-graph \[OPTIONS\]" # -# Scenario allow dot on module filename -ok 329 - Given I am in t/samples/sample_basic/c +# Feature c code with void argument +# As a software engineering reasearcher I want to know the arguments of each function on a project So that I can run analizo metrics calculate number of parameters +# Scenario calculate anpn on function with void argument +ok 328 - Given I am in t/samples/void/ # -ok 330 - When I run "analizo metrics ." +ok 329 - When I run "analizo metrics ." # -ok 331 - Then analizo must report that file module1.c declares module module1 +ok 330 - Then analizo must report that module main has anpm = 0 # -# Feature metrics batch -# As a software engineering researcher I want to analyze several different projects So I can compare their metrics -# Scenario "hello, world" -ok 332 - Given I am in t/samples/hello_world/ +# Feature mapping modules to filenames +# As a software engineering resesearcher I want to know in which file each module is declared So that I can compare that with data from the VCS +# Scenario C++, runing against some directory +ok 331 - When I run "analizo metrics t/samples/animals/cpp" # -ok 333 - When I run "analizo metrics-batch" +ok 332 - Then analizo must report that file animal.h declares module Animal # -ok 334 - Then the output must match "I: Processed c." +ok 333 - And analizo must report that file cat.cc declares module Cat # -ok 335 - And the output must match "I: Processed cpp." +ok 334 - And analizo must report that file cat.h declares module Cat # -ok 336 - And the output must match "I: Processed java." +ok 335 - And analizo must report that file cat.cc not declares module Dog # -# Scenario summarizing -ok 337 - Given I am in t/samples/hello_world/ +ok 336 - And analizo must report that file cat.h not declares module Dog # -ok 338 - When I run "analizo metrics-batch --quiet -o data.csv && cat data.csv && rm -f *.csv" +# Scenario C++, running against current directory +ok 337 - Given I am in t/samples/animals/cpp # -ok 339 - Then the output must match "^id," +ok 338 - When I run "analizo metrics ." # -ok 340 - And the output must not match ",---," +ok 339 - Then analizo must report that file animal.h declares module Animal # -ok 341 - And the output must match "c," +ok 340 - And analizo must report that file cat.cc declares module Cat # -ok 342 - And the output must match "cpp," +ok 341 - And analizo must report that file cat.h declares module Cat # -ok 343 - And the output must match "java," +# Scenario Java +ok 342 - When I run "analizo metrics t/samples/animals/java" # -ok 344 - And the output must not match "I: Processed" +ok 343 - Then analizo must report that file Animal.java declares module Animal # -# Scenario support for parallel processing -ok 345 - Given I copy t/samples/hello_world/* into a temporary directory +# Scenario C +ok 344 - Given I am in t/samples/hello_world/c # -ok 346 - When I run "analizo metrics-batch -q -o sequential.csv" +ok 345 - When I run "analizo metrics ." # -ok 347 - And I run "analizo metrics-batch -q -o parallel.csv -p 2" +ok 346 - Then analizo must report that module hello_world has _filename = [hello_world.c,hello_world.h] # -ok 348 - And I run "sort sequential.csv > sequential-sorted.csv" +ok 347 - And analizo must report that file hello_world.c declares module hello_world # -ok 349 - And I run "sort parallel.csv > parallel-sorted.csv" +ok 348 - And analizo must report that file hello_world.h declares module hello_world # -ok 350 - And I run "diff -u sequential-sorted.csv parallel-sorted.csv" +# Scenario CSharp hello_world +ok 349 - Given I am in t/samples/hello_world/csharp # -ok 351 - Then the output must not match "---" +ok 350 - When I run "analizo metrics ." # -ok 352 - Then the exit status must be 0 +ok 351 - Then analizo must report that module HelloWorld has _filename = [HelloWorld.cs] # -# Scenario passing two input directories as argument -ok 353 - Given I copy t/samples/hello_world/* into a temporary directory +# Scenario CSharp polygons +ok 352 - Given I am in t/samples/polygons/csharp # -ok 354 - When I run "analizo metrics-batch --quiet -o data.csv cpp java" +ok 353 - When I run "analizo metrics ." # -ok 355 - Then the exit status must be 0 +ok 354 - Then analizo must report that file Polygon.cs declares module Polygon # -ok 356 - And the file "c-details.csv" should not exist +ok 355 - And analizo must report that file Rect.cs declares module Rect # -ok 357 - And the file "cpp-details.csv" should exist +ok 356 - And analizo must report that file Triangle.cs declares module Triangle # -ok 358 - And the file "java-details.csv" should exist +# Scenario Java Generics WildCard sample +ok 357 - Given I am in t/samples/wildcard # -# Scenario passing one input directory as argument -ok 359 - Given I copy t/samples/hello_world/* into a temporary directory +ok 358 - When I run "analizo metrics ." # -ok 360 - When I run "analizo metrics-batch --quiet -o data.csv cpp" +ok 359 - Then analizo must report that file WildcardClass.java declares module WildcardClass # -ok 361 - Then the exit status must be 0 +ok 360 - And analizo must report that file GenericClass.java declares module GenericClass # -ok 362 - And the file "c-details.csv" should not exist +# Scenario Java Enumeration sample +ok 361 - Given I am in t/samples/enumeration # -ok 363 - And the file "cpp-details.csv" should exist +ok 362 - When I run "analizo metrics ." # -ok 364 - And the file "java-details.csv" should not exist +ok 363 - Then analizo must report that file Main.java declares module Main::MyEnumeration # -# Feature plain analizo graph run -# Scenario simply running analizo -ok 365 - Given I am in t/samples/sample_basic/c/ +ok 364 - And analizo must report that file Enumeration.java declares module Enumeration # -ok 366 - When I run "analizo graph ." +# Feature number of abstract classes +# As a software developer I want analizo to report the number of modules with at least a defined method in my code So that I can evaluate it +# Scenario "Hello, world" project +ok 365 - Given I am in t/samples/hello_world/cpp # -ok 367 - Then analizo must report that "module1::main()" depends on "module3::variable" +ok 366 - When I run "analizo metrics ." # -ok 368 - Then analizo must report that "module1::main()" depends on "module3::callback()" +ok 367 - Then analizo must report that the project has total_modules_with_defined_methods = 2 # -ok 369 - Then analizo must report that "module1::main()" depends on "module2::say_bye()" +# Scenario "Hello, world" project +ok 368 - Given I am in t/samples/hello_world/java # -ok 370 - Then analizo must report that "module1::main()" depends on "module2::say_hello()" +ok 369 - When I run "analizo metrics ." # -ok 371 - And the exit status must be 0 +ok 370 - Then analizo must report that the project has total_modules_with_defined_methods = 2 # -# Feature group by modules -# Scenario sample project -ok 372 - Given I am in t/samples/sample_basic/c/ +# Scenario "Hello, world" project +ok 371 - Given I am in t/samples/hello_world/csharp # -ok 373 - When I run "analizo graph --modules ." +ok 372 - When I run "analizo metrics ." # -ok 374 - Then analizo must report that "module1" depends on "module2" +ok 373 - Then analizo must report that the project has total_modules_with_defined_methods = 2 # -ok 375 - Then analizo must report that "module1" depends on "module3" +# Scenario "Animals" project +ok 374 - Given I am in t/samples/animals/cpp # -# Feature clustering subroutines in the same module together -# Scenario clustering dependencies -ok 376 - Given I am in t/samples/sample_basic/c/ +ok 375 - When I run "analizo metrics ." # -ok 377 - When I run "analizo graph --cluster ." +ok 376 - Then analizo must report that the project has total_modules_with_defined_methods = 5 # -ok 378 - Then analizo must report that "module1::main()" is part of "module1" +# Scenario "Animals" project +ok 377 - Given I am in t/samples/animals/java # -ok 379 - Then analizo must report that "module2::say_hello()" is part of "module2" +ok 378 - When I run "analizo metrics ." # -ok 380 - Then analizo must report that "module2::say_bye()" is part of "module2" +ok 379 - Then analizo must report that the project has total_modules_with_defined_methods = 5 # -ok 381 - Then analizo must report that "module3::variable" is part of "module3" +# Scenario "Animals" project +ok 380 - Given I am in t/samples/animals/csharp # -ok 382 - Then analizo must report that "module3::callback()" is part of "module3" +ok 381 - When I run "analizo metrics ." # -# Feature displaying version -# Scenario running without any arguments -ok 383 - When I run "analizo graph" +ok 382 - Then analizo must report that the project has total_modules_with_defined_methods = 5 # -ok 384 - Then analizo must emit a warning matching "Usage:" +# Feature number of attributes metric +# As a software developer I want to calculate the number of attributes per module metric So that I can evaluate my code +# Scenario number of attributes in the "Animals" project +ok 383 - Given I am in t/samples/animals/cpp # -ok 385 - And the exit status must not be 0 +ok 384 - When I run "analizo metrics ." # -# Feature input files for graph tool -# Scenario passing specific files in the command line -ok 386 - Given I am in t/samples/sample_basic/c +ok 385 - Then analizo must report that module Dog has noa = 1 # -ok 387 - When I run "analizo graph module1.c module2.c" +ok 386 - And analizo must report that module Cat has noa = 1 # -ok 388 - Then the output must match "module1" +ok 387 - And analizo must report that module main has noa = 0 # -ok 389 - And the output must match "module2" +# Scenario number of attributes in the "Animals" project +ok 388 - Given I am in t/samples/animals/java # -ok 390 - And the output must not match "module3" +ok 389 - When I run "analizo metrics ." # -# Scenario passing unexisting file -ok 391 - Given I am in t/samples/sample_basic/c +ok 390 - Then analizo must report that module Dog has noa = 1 # -ok 392 - When I run "analizo graph unexisting-file.c" +ok 391 - And analizo must report that module Cat has noa = 1 # -ok 393 - Then analizo must emit a warning matching "is not readable" +ok 392 - And analizo must report that module Main has noa = 0 # -# Feature functions calls -# Scenario detect function calls among classes -ok 394 - Given I am in t/samples/animals/cpp +# Scenario number of attributes in the "Animals" project +ok 393 - Given I am in t/samples/animals/csharp # -ok 395 - When I run "analizo graph ." +ok 394 - When I run "analizo metrics ." # -ok 396 - Then analizo must report that "Cat::Cat(char *)" depends on "Cat::_name" +ok 395 - Then analizo must report that module Dog has noa = 1 # -ok 397 - And analizo must not report that "Cat::Cat(char *)" depends on "Cat::name()" +ok 396 - And analizo must report that module Cat has noa = 1 # -ok 398 - And the exit status must be 0 +ok 397 - And analizo must report that module main has noa = 0 # -# Feature omitting certain modules -# Scenario omitting say_bye -ok 399 - Given I am in t/samples/sample_basic/ +# Feature total number of methods per abstract class +# As a software developer I want analizo to report the number of abstract classes in my code So that I can evaluate it +# Scenario "Hello, world" project +ok 398 - Given I am in t/samples/hello_world/cpp # -ok 400 - When I run "analizo graph --omit 'module2::say_bye()' ." +ok 399 - When I run "analizo metrics ." # -ok 401 - Then the output must not match "module2::say_bye()" +ok 400 - Then analizo must report that the project has total_methods_per_abstract_class = 0 # -# Scenario omitting two functions -ok 402 - Given I am in t/samples/sample_basic/ +# Scenario "Hello, world" project +ok 401 - Given I am in t/samples/hello_world/java # -ok 403 - When I run "analizo graph --omit 'module2::say_bye()','module2::say_hello()' ." +ok 402 - When I run "analizo metrics ." # -ok 404 - Then the output must not match "module2::say_bye()" +ok 403 - Then analizo must report that the project has total_methods_per_abstract_class = 0 # -ok 405 - Then the output must not match "module2::say_hello()" +# Scenario "Hello, world" project +ok 404 - Given I am in t/samples/hello_world/csharp # -# Scenario omitting depending functions -ok 406 - Given I am in t/samples/sample_basic/ +ok 405 - When I run "analizo metrics ." # -ok 407 - When I run "analizo graph --omit 'module1::main()' ." +ok 406 - Then analizo must report that the project has total_methods_per_abstract_class = 0 # -ok 408 - Then the output must not match "module1::main()" +# Scenario "Animals" project +ok 407 - Given I am in t/samples/animals/cpp # -# Feature output file for graph tool -# Scenario passing output file in the command line -ok 409 - Given I am in . +ok 408 - When I run "analizo metrics ." # -ok 410 - When I run "analizo graph --output output.dot.tmp t/samples/sample_basic/c/" +ok 409 - Then analizo must report that the project has total_methods_per_abstract_class = 1 # -ok 411 - Then the contents of "output.dot.tmp" must match "module1" +# Scenario "Animals" project +ok 410 - Given I am in t/samples/animals/java # -ok 412 - And the exit status must be 0 +ok 411 - When I run "analizo metrics ." # -# Scenario passing output file in an unexisting directory -ok 413 - Given I am in . +ok 412 - Then analizo must report that the project has total_methods_per_abstract_class = 1 # -ok 414 - When I run "analizo graph --output /this/directory/must/not/exists/output.dot t/samples/sample_basic/c/" +# Scenario "Animals" project +ok 413 - Given I am in t/samples/animals/csharp # -ok 415 - Then analizo must emit a warning matching "No such file or directory" +ok 414 - When I run "analizo metrics ." # -ok 416 - And the exit status must not be 0 +ok 415 - Then analizo must report that the project has total_methods_per_abstract_class = 1 # -# Scenario passing output file without permission to write -ok 417 - Given I am in . +# Scenario "Polygons" project +ok 416 - Given I am in t/samples/polygons/cpp # -ok 418 - When I run "touch output.tmp" +ok 417 - When I run "analizo metrics ." # -ok 419 - And I run "chmod 000 output.tmp" +ok 418 - Then analizo must report that the project has total_methods_per_abstract_class = 2.5 # -ok 420 - And I run "analizo graph --output output.tmp t/samples/sample_basic/c/" +# Scenario "Polygons" project +ok 419 - Given I am in t/samples/polygons/java # -ok 421 - Then the exit status must not be 0 +ok 420 - When I run "analizo metrics ." # -ok 422 - And analizo must emit a warning matching "Permission denied" +ok 421 - Then analizo must report that the project has total_methods_per_abstract_class = 2 # -# Feature coupling between objects -# As a software developer I want analizo to report the value of CBO metric in my code So that I can evaluate it -# Scenario "Hello, world" project -ok 423 - Given I am in t/samples/hello_world/c +# Scenario "Polygons" project +ok 422 - Given I am in t/samples/polygons/csharp # -ok 424 - When I run "analizo metrics ." +ok 423 - When I run "analizo metrics ." # -ok 425 - Then analizo must report that module main has cbo = 1 +ok 424 - Then analizo must report that the project has total_methods_per_abstract_class = 2 # -# Scenario "Hello, world" project -ok 426 - Given I am in t/samples/hello_world/cpp +# Feature number of public methods metric +# As a software developer I want to calculate the number of public methods per module metric So that I can evaluate my code +# Scenario number of attributes in the "Animals" project +ok 425 - Given I am in t/samples/polygons/cpp # -ok 427 - When I run "analizo metrics ." +ok 426 - When I run "analizo metrics ." # -ok 428 - Then analizo must report that module main has cbo = 1 +ok 427 - Then analizo must report that module CPolygon has npm = 2 # -# Scenario "Hello, world" project -ok 429 - Given I am in t/samples/hello_world/java +# Scenario number of attributes in the "Animals" project +ok 428 - Given I am in t/samples/polygons/cpp # -ok 430 - When I run "analizo metrics ." +ok 429 - When I run "analizo metrics ." # -ok 431 - Then analizo must report that module Main has cbo = 1 +ok 430 - Then analizo must report that module CTetragon has npm = 1 # -# Scenario "Hello, world" project -ok 432 - Given I am in t/samples/hello_world/csharp +# Scenario number of attributes in the "Animals" project +ok 431 - Given I am in t/samples/polygons/java # -ok 433 - When I run "analizo metrics ." +ok 432 - When I run "analizo metrics ." # -ok 434 - Then analizo must report that module main has cbo = 1 +ok 433 - Then analizo must report that module Polygon has npm = 3 # -# Scenario "Animals" project -ok 435 - Given I am in t/samples/animals/cpp +# Scenario number of attributes in the "Animals" project +ok 434 - Given I am in t/samples/polygons/csharp # -ok 436 - When I run "analizo metrics ." +ok 435 - When I run "analizo metrics ." # -ok 437 - Then analizo must report that module main has cbo = 1 +ok 436 - Then analizo must report that module Polygon has npm = 2 # -# Scenario "Animals" project -ok 438 - Given I am in t/samples/animals/cpp +# Scenario number of attributes in the "Animals" project +ok 437 - Given I am in t/samples/animals/cpp # -ok 439 - When I run "analizo metrics ." +ok 438 - When I run "analizo metrics ." # -ok 440 - Then analizo must report that module mammal has cbo = 0 +ok 439 - Then analizo must report that module Animal has npm = 1 # -# Scenario "Animals" project -ok 441 - Given I am in t/samples/animals/java +# Scenario number of attributes in the "Animals" project +ok 440 - Given I am in t/samples/animals/cpp # -ok 442 - When I run "analizo metrics ." +ok 441 - When I run "analizo metrics ." # -ok 443 - Then analizo must report that module Main has cbo = 1 +ok 442 - Then analizo must report that module Cat has npm = 2 # -# Scenario "Animals" project -ok 444 - Given I am in t/samples/animals/java +# Scenario number of attributes in the "Animals" project +ok 443 - Given I am in t/samples/animals/cpp # -ok 445 - When I run "analizo metrics ." +ok 444 - When I run "analizo metrics ." # -ok 446 - Then analizo must report that module Mammal has cbo = 0 +ok 445 - Then analizo must report that module Dog has npm = 2 # -# Scenario "Animals" project -ok 447 - Given I am in t/samples/animals/csharp +# Scenario number of attributes in the "Animals" project +ok 446 - Given I am in t/samples/animals/java # -ok 448 - When I run "analizo metrics ." +ok 447 - When I run "analizo metrics ." # -ok 449 - Then analizo must report that module main has cbo = 1 +ok 448 - Then analizo must report that module Animal has npm = 1 # -# Scenario "Animals" project -ok 450 - Given I am in t/samples/animals/csharp +# Scenario number of attributes in the "Animals" project +ok 449 - Given I am in t/samples/animals/java # -ok 451 - When I run "analizo metrics ." +ok 450 - When I run "analizo metrics ." # -ok 452 - Then analizo must report that module Mammal has cbo = 0 +ok 451 - Then analizo must report that module Cat has npm = 2 # -# Feature number of methods -# As a software developer I want analizo to report the number of methods of each module So that I can evaluate it -# Scenario number of methods of the polygon java sample -ok 453 - Given I am in t/samples/polygons/cpp +# Scenario number of attributes in the "Animals" project +ok 452 - Given I am in t/samples/animals/java # -ok 454 - When I run "analizo metrics ." +ok 453 - When I run "analizo metrics ." # -ok 455 - Then analizo must report that module CPolygon has nom = 3 +ok 454 - Then analizo must report that module Dog has npm = 2 # -# Scenario number of methods of the polygon java sample -ok 456 - Given I am in t/samples/polygons/cpp +# Scenario number of attributes in the "Animals" project +ok 455 - Given I am in t/samples/animals/csharp # -ok 457 - When I run "analizo metrics ." +ok 456 - When I run "analizo metrics ." # -ok 458 - Then analizo must report that module CTetragon has nom = 2 +ok 457 - Then analizo must report that module Animal has npm = 1 # -# Scenario number of methods of the polygon java sample -ok 459 - Given I am in t/samples/polygons/java +# Scenario number of attributes in the "Animals" project +ok 458 - Given I am in t/samples/animals/csharp # -ok 460 - When I run "analizo metrics ." +ok 459 - When I run "analizo metrics ." # -ok 461 - Then analizo must report that module Polygon has nom = 3 +ok 460 - Then analizo must report that module Cat has npm = 2 # -# Scenario number of methods of the polygon java sample -ok 462 - Given I am in t/samples/polygons/csharp +# Scenario number of attributes in the "Animals" project +ok 461 - Given I am in t/samples/animals/csharp # -ok 463 - When I run "analizo metrics ." +ok 462 - When I run "analizo metrics ." # -ok 464 - Then analizo must report that module Polygon has nom = 2 +ok 463 - Then analizo must report that module Dog has npm = 2 # -# Scenario number of methods of the polygon java sample -ok 465 - Given I am in t/samples/polygons/csharp +# Feature list metrics +# As a Research or Practioner I want to extract metrics from source code So that I can learn, understand and evaluate it +# Scenario listing metrics +ok 464 - When I run "analizo metrics --list" # -ok 466 - When I run "analizo metrics ." +ok 465 - Then analizo must present a list of metrics # -ok 467 - Then analizo must report that module Tetragon has nom = 2 +# Scenario listing metrics +ok 466 - When I run "analizo metrics -l" # -# Scenario number of methods of the polygon java sample -ok 468 - Given I am in t/samples/animals/cpp +ok 467 - Then analizo must present a list of metrics # -ok 469 - When I run "analizo metrics ." +# Feature output file for metrics tool +# Scenario passing output file in the command line +ok 468 - Given I am in . # -ok 470 - Then analizo must report that module Animal has nom = 1 +ok 469 - When I run "analizo metrics --output output.yml.tmp t/samples/sample_basic/" # -# Scenario number of methods of the polygon java sample -ok 471 - Given I am in t/samples/animals/cpp +ok 470 - Then the contents of "output.yml.tmp" must match "module2" # -ok 472 - When I run "analizo metrics ." +ok 471 - And the exit status must be 0 # -ok 473 - Then analizo must report that module Cat has nom = 2 +# Scenario passing output file without permission to write +ok 472 - Given I am in . # -# Scenario number of methods of the polygon java sample -ok 474 - Given I am in t/samples/animals/cpp +ok 473 - When I run "touch output.tmp" # -ok 475 - When I run "analizo metrics ." +ok 474 - And I run "chmod 000 output.tmp" # -ok 476 - Then analizo must report that module Dog has nom = 2 +ok 475 - And I run "analizo metrics --output output.tmp t/samples/sample_basic/" # -# Scenario number of methods of the polygon java sample -ok 477 - Given I am in t/samples/animals/java +ok 476 - Then the exit status must not be 0 # -ok 478 - When I run "analizo metrics ." +ok 477 - And analizo must emit a warning matching "Permission denied" # -ok 479 - Then analizo must report that module Animal has nom = 1 +# Scenario passing output file in an unexisting directory +ok 478 - Given I am in . # -# Scenario number of methods of the polygon java sample -ok 480 - Given I am in t/samples/animals/java +ok 479 - When I run "analizo metrics --output /this/directory/must/not/exists/output.yml t/samples" # -ok 481 - When I run "analizo metrics ." +ok 480 - Then the exit status must not be 0 # -ok 482 - Then analizo must report that module Cat has nom = 2 +ok 481 - And analizo must emit a warning matching "No such file or directory" # -# Scenario number of methods of the polygon java sample -ok 483 - Given I am in t/samples/animals/java +# Feature output only global metrics +# As a researcher I want to ouput only the global metrics So that I can evaluate several projects at once +# Scenario simple case +ok 482 - Given I am in t/samples/sample_basic/c/ # -ok 484 - When I run "analizo metrics ." +ok 483 - When I run "analizo metrics --global-only ." # -ok 485 - Then analizo must report that module Dog has nom = 2 +ok 484 - Then the output must match "cbo_mean:" # -# Scenario number of methods of the polygon java sample -ok 486 - Given I am in t/samples/animals/csharp +ok 485 - And the output must not match "_module:" # -ok 487 - When I run "analizo metrics ." +# Scenario short version +ok 486 - Given I am in t/samples/sample_basic/c/ # -ok 488 - Then analizo must report that module Animal has nom = 1 +ok 487 - When I run "analizo metrics -g ." # -# Scenario number of methods of the polygon java sample -ok 489 - Given I am in t/samples/animals/csharp +ok 488 - Then the output must match "cbo_mean:" # -ok 490 - When I run "analizo metrics ." +ok 489 - And the output must not match "_module:" # -ok 491 - Then analizo must report that module Cat has nom = 2 +# Feature total modules +# As a software developer I want analizo to report the total number of modules in my code So that I can evaluate it +# Scenario Java Enumeration sample +ok 490 - Given I am in t/samples/enumeration # -# Scenario number of methods of the polygon java sample -ok 492 - Given I am in t/samples/animals/csharp +ok 491 - When I run "analizo metrics ." # -ok 493 - When I run "analizo metrics ." +ok 492 - Then analizo must report that the project has total_modules = 3 # -ok 494 - Then analizo must report that module Dog has nom = 2 +# Feature number of abstract classes +# As a software developer I want analizo to report the number of abstract classes in my code So that I can evaluate it +# Scenario "Hello, world" project +ok 493 - Given I am in t/samples/hello_world/cpp # -# Scenario not computes macro on C code as method definition -ok 495 - Given I am in t/samples/macro +ok 494 - When I run "analizo metrics ." # -ok 496 - When I run "analizo metrics ." +ok 495 - Then analizo must report that the project has total_abstract_classes = 0 # -ok 497 - Then analizo must report that module using_macro has nom = 1 +# Scenario "Hello, world" project +ok 496 - Given I am in t/samples/hello_world/java # -# Feature afferent connections with deep inheritance -# As a software developer I want analizo to report the afferent connections of each module So that I can evaluate it -# Scenario afferent connections of the dog family java sample -ok 498 - Given I am in t/samples/deep_inheritance/java +ok 497 - When I run "analizo metrics ." # -ok 499 - When I run "analizo metrics ." +ok 498 - Then analizo must report that the project has total_abstract_classes = 0 # -ok 500 - Then analizo must report that module Dog has acc = 7 +# Scenario "Hello, world" project +ok 499 - Given I am in t/samples/hello_world/csharp # -# Scenario afferent connections of the dog family java sample -ok 501 - Given I am in t/samples/deep_inheritance/java +ok 500 - When I run "analizo metrics ." # -ok 502 - When I run "analizo metrics ." +ok 501 - Then analizo must report that the project has total_abstract_classes = 0 # -ok 503 - Then analizo must report that module DogFirstGreatGrandson has acc = 1 +# Scenario "Animals" project +ok 502 - Given I am in t/samples/animals/cpp # -# Scenario afferent connections of the dog family java sample -ok 504 - Given I am in t/samples/deep_inheritance/java +ok 503 - When I run "analizo metrics ." # -ok 505 - When I run "analizo metrics ." +ok 504 - Then analizo must report that the project has total_abstract_classes = 2 # -ok 506 - Then analizo must report that module DogFirstPuppy has acc = 4 +# Scenario "Animals" project +ok 505 - Given I am in t/samples/animals/java # -# Scenario afferent connections of the dog family java sample -ok 507 - Given I am in t/samples/deep_inheritance/java +ok 506 - When I run "analizo metrics ." # -ok 508 - When I run "analizo metrics ." +ok 507 - Then analizo must report that the project has total_abstract_classes = 2 # -ok 509 - Then analizo must report that module DogGrandson has acc = 3 +# Scenario "Animals" project +ok 508 - Given I am in t/samples/animals/csharp # -# Scenario afferent connections of the dog family java sample -ok 510 - Given I am in t/samples/deep_inheritance/java +ok 509 - When I run "analizo metrics ." # -ok 511 - When I run "analizo metrics ." +ok 510 - Then analizo must report that the project has total_abstract_classes = 2 # -ok 512 - Then analizo must report that module DogSecondGreatGrandson has acc = 0 +# Scenario "Polygons" project +ok 511 - Given I am in t/samples/polygons/cpp # -# Scenario afferent connections of the dog family java sample -ok 513 - Given I am in t/samples/deep_inheritance/java +ok 512 - When I run "analizo metrics ." # -ok 514 - When I run "analizo metrics ." +ok 513 - Then analizo must report that the project has total_abstract_classes = 2 # -ok 515 - Then analizo must report that module DogSecondPuppy has acc = 0 +# Scenario "Polygons" project +ok 514 - Given I am in t/samples/polygons/java # -# Scenario afferent connections of the dog family java sample -ok 516 - Given I am in t/samples/deep_inheritance/java +ok 515 - When I run "analizo metrics ." # -ok 517 - When I run "analizo metrics ." +ok 516 - Then analizo must report that the project has total_abstract_classes = 2 # -ok 518 - Then analizo must report that module DogSuperYoung has acc = 0 +# Scenario "Polygons" project +ok 517 - Given I am in t/samples/polygons/csharp # -# Scenario afferent connections of the dog family java sample -ok 519 - Given I am in t/samples/deep_inheritance/java +ok 518 - When I run "analizo metrics ." # -ok 520 - When I run "analizo metrics ." +ok 519 - Then analizo must report that the project has total_abstract_classes = 2 # -ok 521 - Then analizo must report that module Human has acc = 2 +# Scenario "AbstractClass" project +ok 520 - Given I am in t/samples/abstract_class/java # -# Scenario afferent connections of the dog family java sample -ok 522 - Given I am in t/samples/deep_inheritance/java +ok 521 - When I run "analizo metrics ." # -ok 523 - When I run "analizo metrics ." +ok 522 - Then analizo must report that the project has total_abstract_classes = 1 # -ok 524 - Then analizo must report that module ShopController has acc = 0 +ok 523 - And analizo must report that the project has total_methods_per_abstract_class = 6 # -# Scenario afferent connections of the dog family java sample -ok 525 - Given I am in t/samples/deep_inheritance/java +# Scenario "AbstractClass" project +ok 524 - Given I am in t/samples/abstract_class/csharp # -ok 526 - When I run "analizo metrics ." +ok 525 - When I run "analizo metrics ." # -ok 527 - Then analizo must report that module VenderShop has acc = 1 +ok 526 - Then analizo must report that the project has total_abstract_classes = 1 # -# Feature change cost degree -# As a software developer I want analizo to report the degree of change cost in my code So that I can evaluate it -# Scenario "Hello, world" project -ok 528 - Given I am in t/samples/hello_world/cpp +ok 527 - And analizo must report that the project has total_methods_per_abstract_class = 1 # -ok 529 - When I run "analizo metrics ." +# Feature language filters +# As a software developer in a multi-language project I want to analyze only one programming language So that the results are as correct as possible +# Scenario filtering for C code +ok 528 - Given I am in t/samples/mixed # -ok 530 - Then analizo must report that the project has change_cost = 0.75 +ok 529 - When I run "analizo metrics --language c ." # -# Scenario "Hello, world" project -ok 531 - Given I am in t/samples/hello_world/java +ok 530 - Then the output must match "native_backend" # -ok 532 - When I run "analizo metrics ." +ok 531 - And the output must not match "UI" # -ok 533 - Then analizo must report that the project has change_cost = 0.75 +ok 532 - And the output must not match "Backend" # -# Scenario "Hello, world" project -ok 534 - Given I am in t/samples/hello_world/csharp +ok 533 - And the output must not match "CSharp_Backend" # -ok 535 - When I run "analizo metrics ." +# Scenario filtering for Java code +ok 534 - Given I am in t/samples/mixed # -ok 536 - Then analizo must report that the project has change_cost = 0.75 +ok 535 - When I run "analizo metrics --language java ." # -# Scenario "Animals" project -ok 537 - Given I am in t/samples/animals/cpp +ok 536 - Then the output must match "UI" # -ok 538 - When I run "analizo metrics ." +ok 537 - And the output must match "Backend" # -ok 539 - Then analizo must report that the project has change_cost = 0.44 +ok 538 - And the output must not match "native_backend" # -# Scenario "Animals" project -ok 540 - Given I am in t/samples/animals/java +ok 539 - And the output must not match "CSharp_Backend" # -ok 541 - When I run "analizo metrics ." +# Scenario filtering for CSharp code +ok 540 - Given I am in t/samples/mixed # -ok 542 - Then analizo must report that the project has change_cost = 0.44 +ok 541 - When I run "analizo metrics --language csharp ." # -# Scenario "Animals" project -ok 543 - Given I am in t/samples/animals/csharp +ok 542 - Then the output must match "CSharp_Backend" # -ok 544 - When I run "analizo metrics ." +ok 543 - And the output must not match "UI" # -ok 545 - Then analizo must report that the project has change_cost = 0.44 +ok 544 - And the output must not match "native_backend" # -# Scenario "Hieracchical Graph" project -ok 546 - Given I am in t/samples/hierarchical_graph/c +# Scenario listing languages +ok 545 - When I run "analizo metrics --language list" # -ok 547 - When I run "analizo metrics ." +ok 546 - Then analizo must present a list of languages # -ok 548 - Then analizo must report that the project has change_cost = 0.42 +# Feature number of abstract classes +# As a software developer I want analizo to report the number of modules with at least a defined method in my code So that I can evaluate it +# Scenario "Hello, world" project +ok 547 - Given I am in t/samples/hello_world/cpp # -# Scenario "Hieracchical Graph" project -ok 549 - Given I am in t/samples/hierarchical_graph/csharp +ok 548 - When I run "analizo metrics ." # -ok 550 - When I run "analizo metrics ." +ok 549 - Then analizo must report that the project has total_modules_with_defined_attributes = 1 # -ok 551 - Then analizo must report that the project has change_cost = 0.28 +# Scenario "Hello, world" project +ok 550 - Given I am in t/samples/hello_world/java # -# Scenario "Cyclical Graph" project -ok 552 - Given I am in t/samples/cyclical_graph/c +ok 551 - When I run "analizo metrics ." # -ok 553 - When I run "analizo metrics ." +ok 552 - Then analizo must report that the project has total_modules_with_defined_attributes = 1 # -ok 554 - Then analizo must report that the project has change_cost = 0.5 +# Scenario "Hello, world" project +ok 553 - Given I am in t/samples/hello_world/csharp # -# Scenario "Cyclical Graph" project -ok 555 - Given I am in t/samples/cyclical_graph/csharp +ok 554 - When I run "analizo metrics ." # -ok 556 - When I run "analizo metrics ." +ok 555 - Then analizo must report that the project has total_modules_with_defined_attributes = 1 # -ok 557 - Then analizo must report that the project has change_cost = 0.36 +# Scenario "Animals" project +ok 556 - Given I am in t/samples/animals/cpp # -# Feature total modules -# As a software developer I want analizo to report the total number of modules in my code So that I can evaluate it -# Scenario Java Enumeration sample -ok 558 - Given I am in t/samples/enumeration +ok 557 - When I run "analizo metrics ." # -ok 559 - When I run "analizo metrics ." +ok 558 - Then analizo must report that the project has total_modules_with_defined_attributes = 2 # -ok 560 - Then analizo must report that the project has total_modules = 3 +# Scenario "Animals" project +ok 559 - Given I am in t/samples/animals/java # -# Feature list metrics -# As a Research or Practioner I want to extract metrics from source code So that I can learn, understand and evaluate it -# Scenario listing metrics -ok 561 - When I run "analizo metrics --list" +ok 560 - When I run "analizo metrics ." # -ok 562 - Then analizo must present a list of metrics +ok 561 - Then analizo must report that the project has total_modules_with_defined_attributes = 2 # -# Scenario listing metrics -ok 563 - When I run "analizo metrics -l" +# Scenario "Animals" project +ok 562 - Given I am in t/samples/animals/csharp # -ok 564 - Then analizo must present a list of metrics +ok 563 - When I run "analizo metrics ." # -# Feature average cyclomatic complexity per method -# As a software developer I want to calculate the average cyclomatic complexity per method of my code So that I can spot the more complex modules and refactor them -# Scenario my "conditionals" C project -ok 565 - Given I am in t/samples/conditionals/c +ok 564 - Then analizo must report that the project has total_modules_with_defined_attributes = 2 +# +# Feature afferent connections with deep inheritance +# As a software developer I want analizo to report the afferent connections of each module So that I can evaluate it +# Scenario afferent connections of the dog family java sample +ok 565 - Given I am in t/samples/deep_inheritance/java # ok 566 - When I run "analizo metrics ." # -ok 567 - Then analizo must report that module cc1 has accm = 1 +ok 567 - Then analizo must report that module Dog has acc = 7 # -ok 568 - Then analizo must report that module cc2 has accm = 2 +# Scenario afferent connections of the dog family java sample +ok 568 - Given I am in t/samples/deep_inheritance/java # -ok 569 - Then analizo must report that module cc3 has accm = 3 +ok 569 - When I run "analizo metrics ." # -ok 570 - Then analizo must report that module cc4 has accm = 4 +ok 570 - Then analizo must report that module DogFirstGreatGrandson has acc = 1 # -# Scenario my "conditionals" C project -ok 571 - Given I am in t/samples/conditionals/csharp +# Scenario afferent connections of the dog family java sample +ok 571 - Given I am in t/samples/deep_inheritance/java # ok 572 - When I run "analizo metrics ." # -ok 573 - Then analizo must report that module cc1 has accm = 1 +ok 573 - Then analizo must report that module DogFirstPuppy has acc = 4 # -ok 574 - Then analizo must report that module cc2 has accm = 2 +# Scenario afferent connections of the dog family java sample +ok 574 - Given I am in t/samples/deep_inheritance/java # -ok 575 - Then analizo must report that module cc3 has accm = 3 +ok 575 - When I run "analizo metrics ." # -ok 576 - Then analizo must report that module cc4 has accm = 4 +ok 576 - Then analizo must report that module DogGrandson has acc = 3 # -# Feature output only global metrics -# As a researcher I want to ouput only the global metrics So that I can evaluate several projects at once -# Scenario simple case -ok 577 - Given I am in t/samples/sample_basic/c/ +# Scenario afferent connections of the dog family java sample +ok 577 - Given I am in t/samples/deep_inheritance/java # -ok 578 - When I run "analizo metrics --global-only ." +ok 578 - When I run "analizo metrics ." # -ok 579 - Then the output must match "cbo_mean:" +ok 579 - Then analizo must report that module DogSecondGreatGrandson has acc = 0 # -ok 580 - And the output must not match "_module:" +# Scenario afferent connections of the dog family java sample +ok 580 - Given I am in t/samples/deep_inheritance/java # -# Scenario short version -ok 581 - Given I am in t/samples/sample_basic/c/ +ok 581 - When I run "analizo metrics ." # -ok 582 - When I run "analizo metrics -g ." +ok 582 - Then analizo must report that module DogSecondPuppy has acc = 0 # -ok 583 - Then the output must match "cbo_mean:" +# Scenario afferent connections of the dog family java sample +ok 583 - Given I am in t/samples/deep_inheritance/java # -ok 584 - And the output must not match "_module:" +ok 584 - When I run "analizo metrics ." # -# Feature average number of parameters metric -# As a software developer I want to calculate the average number of arguments per method metric So that I can evaluate my code -# Scenario number of parameters in the "Animals" project -ok 585 - Given I am in t/samples/animals/cpp +ok 585 - Then analizo must report that module DogSuperYoung has acc = 0 # -ok 586 - When I run "analizo metrics ." +# Scenario afferent connections of the dog family java sample +ok 586 - Given I am in t/samples/deep_inheritance/java # -ok 587 - Then analizo must report that module Dog has anpm = 0.5 +ok 587 - When I run "analizo metrics ." # -ok 588 - And analizo must report that module Cat has anpm = 0.5 +ok 588 - Then analizo must report that module Human has acc = 2 # -ok 589 - And analizo must report that module main has anpm = 0 +# Scenario afferent connections of the dog family java sample +ok 589 - Given I am in t/samples/deep_inheritance/java # -# Scenario number of parameters in the "Animals" project -ok 590 - Given I am in t/samples/animals/java +ok 590 - When I run "analizo metrics ." # -ok 591 - When I run "analizo metrics ." +ok 591 - Then analizo must report that module ShopController has acc = 0 # -ok 592 - Then analizo must report that module Dog has anpm = 0.5 +# Scenario afferent connections of the dog family java sample +ok 592 - Given I am in t/samples/deep_inheritance/java # -ok 593 - And analizo must report that module Cat has anpm = 0.5 +ok 593 - When I run "analizo metrics ." # -ok 594 - And analizo must report that module Main has anpm = 1 +ok 594 - Then analizo must report that module VenderShop has acc = 1 # -# Scenario number of parameters in the "Animals" project -ok 595 - Given I am in t/samples/animals/csharp +# Feature change cost degree +# As a software developer I want analizo to report the degree of change cost in my code So that I can evaluate it +# Scenario "Hello, world" project +ok 595 - Given I am in t/samples/hello_world/cpp # ok 596 - When I run "analizo metrics ." # -ok 597 - Then analizo must report that module Dog has anpm = 0.5 +ok 597 - Then analizo must report that the project has change_cost = 0.75 # -ok 598 - And analizo must report that module Cat has anpm = 0.5 +# Scenario "Hello, world" project +ok 598 - Given I am in t/samples/hello_world/java # -ok 599 - And analizo must report that module main has anpm = 1 +ok 599 - When I run "analizo metrics ." # -# Feature output statistics values of metrics -# As a researcher I want to ouput statistics values of metrics So that I can evaluate a project at once -# Scenario "Hello, world" project -ok 600 - Given I am in t/samples/hello_world/ +ok 600 - Then analizo must report that the project has change_cost = 0.75 # -ok 601 - When I run "analizo metrics ." +# Scenario "Hello, world" project +ok 601 - Given I am in t/samples/hello_world/csharp # -ok 602 - Then the output must match "acc_mean:" +ok 602 - When I run "analizo metrics ." # -ok 603 - Then the output must match "acc_mode:" +ok 603 - Then analizo must report that the project has change_cost = 0.75 # -ok 604 - Then the output must match "acc_standard_deviation:" +# Scenario "Animals" project +ok 604 - Given I am in t/samples/animals/cpp # -ok 605 - Then the output must match "acc_sum:" +ok 605 - When I run "analizo metrics ." # -ok 606 - Then the output must match "acc_variance:" +ok 606 - Then analizo must report that the project has change_cost = 0.44 # -ok 607 - Then the output must match "acc_quantile_min:" +# Scenario "Animals" project +ok 607 - Given I am in t/samples/animals/java # -ok 608 - Then the output must match "acc_quantile_lower:" +ok 608 - When I run "analizo metrics ." # -ok 609 - Then the output must match "acc_quantile_median:" +ok 609 - Then analizo must report that the project has change_cost = 0.44 # -ok 610 - Then the output must match "acc_quantile_upper:" +# Scenario "Animals" project +ok 610 - Given I am in t/samples/animals/csharp # -ok 611 - Then the output must match "acc_quantile_max:" +ok 611 - When I run "analizo metrics ." # -ok 612 - Then the output must match "acc_kurtosis:" +ok 612 - Then analizo must report that the project has change_cost = 0.44 # -ok 613 - Then the output must match "acc_skewness:" +# Scenario "Hieracchical Graph" project +ok 613 - Given I am in t/samples/hierarchical_graph/c # -# Scenario "Hello, world" project -ok 614 - Given I am in t/samples/hello_world/ +ok 614 - When I run "analizo metrics ." # -ok 615 - When I run "analizo metrics ." +ok 615 - Then analizo must report that the project has change_cost = 0.42 # -ok 616 - Then the output must match "accm_mean:" +# Scenario "Hieracchical Graph" project +ok 616 - Given I am in t/samples/hierarchical_graph/csharp # -ok 617 - Then the output must match "accm_mode:" +ok 617 - When I run "analizo metrics ." # -ok 618 - Then the output must match "accm_standard_deviation:" +ok 618 - Then analizo must report that the project has change_cost = 0.28 # -ok 619 - Then the output must match "accm_sum:" +# Scenario "Cyclical Graph" project +ok 619 - Given I am in t/samples/cyclical_graph/c # -ok 620 - Then the output must match "accm_variance:" +ok 620 - When I run "analizo metrics ." # -ok 621 - Then the output must match "accm_quantile_min:" +ok 621 - Then analizo must report that the project has change_cost = 0.5 # -ok 622 - Then the output must match "accm_quantile_lower:" +# Scenario "Cyclical Graph" project +ok 622 - Given I am in t/samples/cyclical_graph/csharp # -ok 623 - Then the output must match "accm_quantile_median:" +ok 623 - When I run "analizo metrics ." # -ok 624 - Then the output must match "accm_quantile_upper:" +ok 624 - Then analizo must report that the project has change_cost = 0.36 # -ok 625 - Then the output must match "accm_quantile_max:" +# Feature number of methods +# As a software developer I want analizo to report the number of methods of each module So that I can evaluate it +# Scenario number of methods of the polygon java sample +ok 625 - Given I am in t/samples/polygons/cpp # -ok 626 - Then the output must match "accm_kurtosis:" +ok 626 - When I run "analizo metrics ." # -ok 627 - Then the output must match "accm_skewness:" +ok 627 - Then analizo must report that module CPolygon has nom = 3 # -# Scenario "Hello, world" project -ok 628 - Given I am in t/samples/hello_world/ +# Scenario number of methods of the polygon java sample +ok 628 - Given I am in t/samples/polygons/cpp # ok 629 - When I run "analizo metrics ." # -ok 630 - Then the output must match "amloc_mean:" +ok 630 - Then analizo must report that module CTetragon has nom = 2 # -ok 631 - Then the output must match "amloc_mode:" +# Scenario number of methods of the polygon java sample +ok 631 - Given I am in t/samples/polygons/java # -ok 632 - Then the output must match "amloc_standard_deviation:" +ok 632 - When I run "analizo metrics ." # -ok 633 - Then the output must match "amloc_sum:" +ok 633 - Then analizo must report that module Polygon has nom = 3 # -ok 634 - Then the output must match "amloc_variance:" +# Scenario number of methods of the polygon java sample +ok 634 - Given I am in t/samples/polygons/csharp # -ok 635 - Then the output must match "amloc_quantile_min:" +ok 635 - When I run "analizo metrics ." # -ok 636 - Then the output must match "amloc_quantile_lower:" +ok 636 - Then analizo must report that module Polygon has nom = 2 # -ok 637 - Then the output must match "amloc_quantile_median:" +# Scenario number of methods of the polygon java sample +ok 637 - Given I am in t/samples/polygons/csharp # -ok 638 - Then the output must match "amloc_quantile_upper:" +ok 638 - When I run "analizo metrics ." # -ok 639 - Then the output must match "amloc_quantile_max:" +ok 639 - Then analizo must report that module Tetragon has nom = 2 # -ok 640 - Then the output must match "amloc_kurtosis:" +# Scenario number of methods of the polygon java sample +ok 640 - Given I am in t/samples/animals/cpp # -ok 641 - Then the output must match "amloc_skewness:" +ok 641 - When I run "analizo metrics ." # -# Scenario "Hello, world" project -ok 642 - Given I am in t/samples/hello_world/ +ok 642 - Then analizo must report that module Animal has nom = 1 # -ok 643 - When I run "analizo metrics ." +# Scenario number of methods of the polygon java sample +ok 643 - Given I am in t/samples/animals/cpp # -ok 644 - Then the output must match "anpm_mean:" +ok 644 - When I run "analizo metrics ." # -ok 645 - Then the output must match "anpm_mode:" +ok 645 - Then analizo must report that module Cat has nom = 2 # -ok 646 - Then the output must match "anpm_standard_deviation:" +# Scenario number of methods of the polygon java sample +ok 646 - Given I am in t/samples/animals/cpp # -ok 647 - Then the output must match "anpm_sum:" +ok 647 - When I run "analizo metrics ." # -ok 648 - Then the output must match "anpm_variance:" +ok 648 - Then analizo must report that module Dog has nom = 2 # -ok 649 - Then the output must match "anpm_quantile_min:" +# Scenario number of methods of the polygon java sample +ok 649 - Given I am in t/samples/animals/java # -ok 650 - Then the output must match "anpm_quantile_lower:" +ok 650 - When I run "analizo metrics ." # -ok 651 - Then the output must match "anpm_quantile_median:" +ok 651 - Then analizo must report that module Animal has nom = 1 # -ok 652 - Then the output must match "anpm_quantile_upper:" +# Scenario number of methods of the polygon java sample +ok 652 - Given I am in t/samples/animals/java # -ok 653 - Then the output must match "anpm_quantile_max:" +ok 653 - When I run "analizo metrics ." # -ok 654 - Then the output must match "anpm_kurtosis:" +ok 654 - Then analizo must report that module Cat has nom = 2 # -ok 655 - Then the output must match "anpm_skewness:" +# Scenario number of methods of the polygon java sample +ok 655 - Given I am in t/samples/animals/java # -# Scenario "Hello, world" project -ok 656 - Given I am in t/samples/hello_world/ +ok 656 - When I run "analizo metrics ." # -ok 657 - When I run "analizo metrics ." +ok 657 - Then analizo must report that module Dog has nom = 2 # -ok 658 - Then the output must match "cbo_mean:" +# Scenario number of methods of the polygon java sample +ok 658 - Given I am in t/samples/animals/csharp # -ok 659 - Then the output must match "cbo_mode:" +ok 659 - When I run "analizo metrics ." # -ok 660 - Then the output must match "cbo_standard_deviation:" +ok 660 - Then analizo must report that module Animal has nom = 1 # -ok 661 - Then the output must match "cbo_sum:" +# Scenario number of methods of the polygon java sample +ok 661 - Given I am in t/samples/animals/csharp # -ok 662 - Then the output must match "cbo_variance:" +ok 662 - When I run "analizo metrics ." # -ok 663 - Then the output must match "cbo_quantile_min:" +ok 663 - Then analizo must report that module Cat has nom = 2 # -ok 664 - Then the output must match "cbo_quantile_lower:" +# Scenario number of methods of the polygon java sample +ok 664 - Given I am in t/samples/animals/csharp # -ok 665 - Then the output must match "cbo_quantile_median:" +ok 665 - When I run "analizo metrics ." # -ok 666 - Then the output must match "cbo_quantile_upper:" +ok 666 - Then analizo must report that module Dog has nom = 2 # -ok 667 - Then the output must match "cbo_quantile_max:" +# Scenario not computes macro on C code as method definition +ok 667 - Given I am in t/samples/macro # -ok 668 - Then the output must match "cbo_kurtosis:" +ok 668 - When I run "analizo metrics ." # -ok 669 - Then the output must match "cbo_skewness:" +ok 669 - Then analizo must report that module using_macro has nom = 1 # +# Feature coupling between objects +# As a software developer I want analizo to report the value of CBO metric in my code So that I can evaluate it # Scenario "Hello, world" project -ok 670 - Given I am in t/samples/hello_world/ +ok 670 - Given I am in t/samples/hello_world/c # ok 671 - When I run "analizo metrics ." # -ok 672 - Then the output must match "dit_mean:" +ok 672 - Then analizo must report that module main has cbo = 1 # -ok 673 - Then the output must match "dit_mode:" +# Scenario "Hello, world" project +ok 673 - Given I am in t/samples/hello_world/cpp # -ok 674 - Then the output must match "dit_standard_deviation:" +ok 674 - When I run "analizo metrics ." # -ok 675 - Then the output must match "dit_sum:" +ok 675 - Then analizo must report that module main has cbo = 1 # -ok 676 - Then the output must match "dit_variance:" +# Scenario "Hello, world" project +ok 676 - Given I am in t/samples/hello_world/java # -ok 677 - Then the output must match "dit_quantile_min:" +ok 677 - When I run "analizo metrics ." # -ok 678 - Then the output must match "dit_quantile_lower:" +ok 678 - Then analizo must report that module Main has cbo = 1 # -ok 679 - Then the output must match "dit_quantile_median:" +# Scenario "Hello, world" project +ok 679 - Given I am in t/samples/hello_world/csharp # -ok 680 - Then the output must match "dit_quantile_upper:" +ok 680 - When I run "analizo metrics ." # -ok 681 - Then the output must match "dit_quantile_max:" +ok 681 - Then analizo must report that module main has cbo = 1 # -ok 682 - Then the output must match "dit_kurtosis:" +# Scenario "Animals" project +ok 682 - Given I am in t/samples/animals/cpp # -ok 683 - Then the output must match "dit_skewness:" +ok 683 - When I run "analizo metrics ." # -# Scenario "Hello, world" project -ok 684 - Given I am in t/samples/hello_world/ +ok 684 - Then analizo must report that module main has cbo = 1 # -ok 685 - When I run "analizo metrics ." +# Scenario "Animals" project +ok 685 - Given I am in t/samples/animals/cpp # -ok 686 - Then the output must match "lcom4_mean:" +ok 686 - When I run "analizo metrics ." # -ok 687 - Then the output must match "lcom4_mode:" +ok 687 - Then analizo must report that module mammal has cbo = 0 # -ok 688 - Then the output must match "lcom4_standard_deviation:" +# Scenario "Animals" project +ok 688 - Given I am in t/samples/animals/java # -ok 689 - Then the output must match "lcom4_sum:" +ok 689 - When I run "analizo metrics ." # -ok 690 - Then the output must match "lcom4_variance:" +ok 690 - Then analizo must report that module Main has cbo = 1 # -ok 691 - Then the output must match "lcom4_quantile_min:" +# Scenario "Animals" project +ok 691 - Given I am in t/samples/animals/java # -ok 692 - Then the output must match "lcom4_quantile_lower:" +ok 692 - When I run "analizo metrics ." # -ok 693 - Then the output must match "lcom4_quantile_median:" +ok 693 - Then analizo must report that module Mammal has cbo = 0 # -ok 694 - Then the output must match "lcom4_quantile_upper:" +# Scenario "Animals" project +ok 694 - Given I am in t/samples/animals/csharp # -ok 695 - Then the output must match "lcom4_quantile_max:" +ok 695 - When I run "analizo metrics ." # -ok 696 - Then the output must match "lcom4_kurtosis:" +ok 696 - Then analizo must report that module main has cbo = 1 # -ok 697 - Then the output must match "lcom4_skewness:" +# Scenario "Animals" project +ok 697 - Given I am in t/samples/animals/csharp # -# Scenario "Hello, world" project -ok 698 - Given I am in t/samples/hello_world/ +ok 698 - When I run "analizo metrics ." # -ok 699 - When I run "analizo metrics ." +ok 699 - Then analizo must report that module Mammal has cbo = 0 # -ok 700 - Then the output must match "loc_mean:" +# Feature average cyclomatic complexity per method +# As a software developer I want to calculate the average cyclomatic complexity per method of my code So that I can spot the more complex modules and refactor them +# Scenario my "conditionals" C project +ok 700 - Given I am in t/samples/conditionals/c # -ok 701 - Then the output must match "loc_mode:" +ok 701 - When I run "analizo metrics ." # -ok 702 - Then the output must match "loc_standard_deviation:" +ok 702 - Then analizo must report that module cc1 has accm = 1 # -ok 703 - Then the output must match "loc_sum:" +ok 703 - Then analizo must report that module cc2 has accm = 2 # -ok 704 - Then the output must match "loc_variance:" +ok 704 - Then analizo must report that module cc3 has accm = 3 # -ok 705 - Then the output must match "loc_quantile_min:" +ok 705 - Then analizo must report that module cc4 has accm = 4 # -ok 706 - Then the output must match "loc_quantile_lower:" +# Scenario my "conditionals" C project +ok 706 - Given I am in t/samples/conditionals/csharp # -ok 707 - Then the output must match "loc_quantile_median:" +ok 707 - When I run "analizo metrics ." # -ok 708 - Then the output must match "loc_quantile_upper:" +ok 708 - Then analizo must report that module cc1 has accm = 1 # -ok 709 - Then the output must match "loc_quantile_max:" +ok 709 - Then analizo must report that module cc2 has accm = 2 # -ok 710 - Then the output must match "loc_kurtosis:" +ok 710 - Then analizo must report that module cc3 has accm = 3 # -ok 711 - Then the output must match "loc_skewness:" +ok 711 - Then analizo must report that module cc4 has accm = 4 # -# Scenario "Hello, world" project -ok 712 - Given I am in t/samples/hello_world/ +# Feature average number of parameters metric +# As a software developer I want to calculate the average number of arguments per method metric So that I can evaluate my code +# Scenario number of parameters in the "Animals" project +ok 712 - Given I am in t/samples/animals/cpp # ok 713 - When I run "analizo metrics ." # -ok 714 - Then the output must match "mmloc_mean:" +ok 714 - Then analizo must report that module Dog has anpm = 0.5 # -ok 715 - Then the output must match "mmloc_mode:" +ok 715 - And analizo must report that module Cat has anpm = 0.5 # -ok 716 - Then the output must match "mmloc_standard_deviation:" +ok 716 - And analizo must report that module main has anpm = 0 # -ok 717 - Then the output must match "mmloc_sum:" +# Scenario number of parameters in the "Animals" project +ok 717 - Given I am in t/samples/animals/java # -ok 718 - Then the output must match "mmloc_variance:" +ok 718 - When I run "analizo metrics ." # -ok 719 - Then the output must match "mmloc_quantile_min:" +ok 719 - Then analizo must report that module Dog has anpm = 0.5 # -ok 720 - Then the output must match "mmloc_quantile_lower:" +ok 720 - And analizo must report that module Cat has anpm = 0.5 # -ok 721 - Then the output must match "mmloc_quantile_median:" +ok 721 - And analizo must report that module Main has anpm = 1 # -ok 722 - Then the output must match "mmloc_quantile_upper:" +# Scenario number of parameters in the "Animals" project +ok 722 - Given I am in t/samples/animals/csharp # -ok 723 - Then the output must match "mmloc_quantile_max:" +ok 723 - When I run "analizo metrics ." # -ok 724 - Then the output must match "mmloc_kurtosis:" +ok 724 - Then analizo must report that module Dog has anpm = 0.5 # -ok 725 - Then the output must match "mmloc_skewness:" +ok 725 - And analizo must report that module Cat has anpm = 0.5 # +ok 726 - And analizo must report that module main has anpm = 1 +# +# Feature output statistics values of metrics +# As a researcher I want to ouput statistics values of metrics So that I can evaluate a project at once # Scenario "Hello, world" project -ok 726 - Given I am in t/samples/hello_world/ +ok 727 - Given I am in t/samples/hello_world/ # -ok 727 - When I run "analizo metrics ." +ok 728 - When I run "analizo metrics ." # -ok 728 - Then the output must match "noa_mean:" +ok 729 - Then the output must match "acc_mean:" # -ok 729 - Then the output must match "noa_mode:" +ok 730 - Then the output must match "acc_mode:" # -ok 730 - Then the output must match "noa_standard_deviation:" +ok 731 - Then the output must match "acc_standard_deviation:" # -ok 731 - Then the output must match "noa_sum:" +ok 732 - Then the output must match "acc_sum:" # -ok 732 - Then the output must match "noa_variance:" +ok 733 - Then the output must match "acc_variance:" # -ok 733 - Then the output must match "noa_quantile_min:" +ok 734 - Then the output must match "acc_quantile_min:" # -ok 734 - Then the output must match "noa_quantile_lower:" +ok 735 - Then the output must match "acc_quantile_lower:" # -ok 735 - Then the output must match "noa_quantile_median:" +ok 736 - Then the output must match "acc_quantile_median:" # -ok 736 - Then the output must match "noa_quantile_upper:" +ok 737 - Then the output must match "acc_quantile_upper:" # -ok 737 - Then the output must match "noa_quantile_max:" +ok 738 - Then the output must match "acc_quantile_max:" # -ok 738 - Then the output must match "noa_kurtosis:" +ok 739 - Then the output must match "acc_kurtosis:" # -ok 739 - Then the output must match "noa_skewness:" +ok 740 - Then the output must match "acc_skewness:" # # Scenario "Hello, world" project -ok 740 - Given I am in t/samples/hello_world/ +ok 741 - Given I am in t/samples/hello_world/ # -ok 741 - When I run "analizo metrics ." +ok 742 - When I run "analizo metrics ." # -ok 742 - Then the output must match "noc_mean:" +ok 743 - Then the output must match "accm_mean:" # -ok 743 - Then the output must match "noc_mode:" +ok 744 - Then the output must match "accm_mode:" # -ok 744 - Then the output must match "noc_standard_deviation:" +ok 745 - Then the output must match "accm_standard_deviation:" # -ok 745 - Then the output must match "noc_sum:" +ok 746 - Then the output must match "accm_sum:" # -ok 746 - Then the output must match "noc_variance:" +ok 747 - Then the output must match "accm_variance:" # -ok 747 - Then the output must match "noc_quantile_min:" +ok 748 - Then the output must match "accm_quantile_min:" # -ok 748 - Then the output must match "noc_quantile_lower:" +ok 749 - Then the output must match "accm_quantile_lower:" # -ok 749 - Then the output must match "noc_quantile_median:" +ok 750 - Then the output must match "accm_quantile_median:" # -ok 750 - Then the output must match "noc_quantile_upper:" +ok 751 - Then the output must match "accm_quantile_upper:" # -ok 751 - Then the output must match "noc_quantile_max:" +ok 752 - Then the output must match "accm_quantile_max:" # -ok 752 - Then the output must match "noc_kurtosis:" +ok 753 - Then the output must match "accm_kurtosis:" # -ok 753 - Then the output must match "noc_skewness:" +ok 754 - Then the output must match "accm_skewness:" # # Scenario "Hello, world" project -ok 754 - Given I am in t/samples/hello_world/ +ok 755 - Given I am in t/samples/hello_world/ # -ok 755 - When I run "analizo metrics ." +ok 756 - When I run "analizo metrics ." # -ok 756 - Then the output must match "nom_mean:" +ok 757 - Then the output must match "amloc_mean:" # -ok 757 - Then the output must match "nom_mode:" +ok 758 - Then the output must match "amloc_mode:" # -ok 758 - Then the output must match "nom_standard_deviation:" +ok 759 - Then the output must match "amloc_standard_deviation:" # -ok 759 - Then the output must match "nom_sum:" +ok 760 - Then the output must match "amloc_sum:" # -ok 760 - Then the output must match "nom_variance:" +ok 761 - Then the output must match "amloc_variance:" # -ok 761 - Then the output must match "nom_quantile_min:" +ok 762 - Then the output must match "amloc_quantile_min:" # -ok 762 - Then the output must match "nom_quantile_lower:" +ok 763 - Then the output must match "amloc_quantile_lower:" # -ok 763 - Then the output must match "nom_quantile_median:" +ok 764 - Then the output must match "amloc_quantile_median:" # -ok 764 - Then the output must match "nom_quantile_upper:" +ok 765 - Then the output must match "amloc_quantile_upper:" # -ok 765 - Then the output must match "nom_quantile_max:" +ok 766 - Then the output must match "amloc_quantile_max:" # -ok 766 - Then the output must match "nom_kurtosis:" +ok 767 - Then the output must match "amloc_kurtosis:" # -ok 767 - Then the output must match "nom_skewness:" +ok 768 - Then the output must match "amloc_skewness:" # # Scenario "Hello, world" project -ok 768 - Given I am in t/samples/hello_world/ +ok 769 - Given I am in t/samples/hello_world/ # -ok 769 - When I run "analizo metrics ." +ok 770 - When I run "analizo metrics ." # -ok 770 - Then the output must match "npm_mean:" +ok 771 - Then the output must match "anpm_mean:" # -ok 771 - Then the output must match "npm_mode:" +ok 772 - Then the output must match "anpm_mode:" # -ok 772 - Then the output must match "npm_standard_deviation:" +ok 773 - Then the output must match "anpm_standard_deviation:" # -ok 773 - Then the output must match "npm_sum:" +ok 774 - Then the output must match "anpm_sum:" # -ok 774 - Then the output must match "npm_variance:" +ok 775 - Then the output must match "anpm_variance:" # -ok 775 - Then the output must match "npm_quantile_min:" +ok 776 - Then the output must match "anpm_quantile_min:" # -ok 776 - Then the output must match "npm_quantile_lower:" +ok 777 - Then the output must match "anpm_quantile_lower:" # -ok 777 - Then the output must match "npm_quantile_median:" +ok 778 - Then the output must match "anpm_quantile_median:" # -ok 778 - Then the output must match "npm_quantile_upper:" +ok 779 - Then the output must match "anpm_quantile_upper:" # -ok 779 - Then the output must match "npm_quantile_max:" +ok 780 - Then the output must match "anpm_quantile_max:" # -ok 780 - Then the output must match "npm_kurtosis:" +ok 781 - Then the output must match "anpm_kurtosis:" # -ok 781 - Then the output must match "npm_skewness:" +ok 782 - Then the output must match "anpm_skewness:" # # Scenario "Hello, world" project -ok 782 - Given I am in t/samples/hello_world/ +ok 783 - Given I am in t/samples/hello_world/ # -ok 783 - When I run "analizo metrics ." +ok 784 - When I run "analizo metrics ." # -ok 784 - Then the output must match "npa_mean:" +ok 785 - Then the output must match "cbo_mean:" # -ok 785 - Then the output must match "npa_mode:" +ok 786 - Then the output must match "cbo_mode:" # -ok 786 - Then the output must match "npa_standard_deviation:" +ok 787 - Then the output must match "cbo_standard_deviation:" # -ok 787 - Then the output must match "npa_sum:" +ok 788 - Then the output must match "cbo_sum:" # -ok 788 - Then the output must match "npa_variance:" +ok 789 - Then the output must match "cbo_variance:" # -ok 789 - Then the output must match "npa_quantile_min:" +ok 790 - Then the output must match "cbo_quantile_min:" # -ok 790 - Then the output must match "npa_quantile_lower:" +ok 791 - Then the output must match "cbo_quantile_lower:" # -ok 791 - Then the output must match "npa_quantile_median:" +ok 792 - Then the output must match "cbo_quantile_median:" # -ok 792 - Then the output must match "npa_quantile_upper:" +ok 793 - Then the output must match "cbo_quantile_upper:" # -ok 793 - Then the output must match "npa_quantile_max:" +ok 794 - Then the output must match "cbo_quantile_max:" # -ok 794 - Then the output must match "npa_kurtosis:" +ok 795 - Then the output must match "cbo_kurtosis:" # -ok 795 - Then the output must match "npa_skewness:" +ok 796 - Then the output must match "cbo_skewness:" # # Scenario "Hello, world" project -ok 796 - Given I am in t/samples/hello_world/ +ok 797 - Given I am in t/samples/hello_world/ # -ok 797 - When I run "analizo metrics ." +ok 798 - When I run "analizo metrics ." # -ok 798 - Then the output must match "rfc_mean:" +ok 799 - Then the output must match "dit_mean:" # -ok 799 - Then the output must match "rfc_mode:" +ok 800 - Then the output must match "dit_mode:" # -ok 800 - Then the output must match "rfc_standard_deviation:" +ok 801 - Then the output must match "dit_standard_deviation:" # -ok 801 - Then the output must match "rfc_sum:" +ok 802 - Then the output must match "dit_sum:" # -ok 802 - Then the output must match "rfc_variance:" +ok 803 - Then the output must match "dit_variance:" # -ok 803 - Then the output must match "rfc_quantile_min:" +ok 804 - Then the output must match "dit_quantile_min:" # -ok 804 - Then the output must match "rfc_quantile_lower:" +ok 805 - Then the output must match "dit_quantile_lower:" # -ok 805 - Then the output must match "rfc_quantile_median:" +ok 806 - Then the output must match "dit_quantile_median:" # -ok 806 - Then the output must match "rfc_quantile_upper:" +ok 807 - Then the output must match "dit_quantile_upper:" # -ok 807 - Then the output must match "rfc_quantile_max:" +ok 808 - Then the output must match "dit_quantile_max:" # -ok 808 - Then the output must match "rfc_kurtosis:" +ok 809 - Then the output must match "dit_kurtosis:" # -ok 809 - Then the output must match "rfc_skewness:" +ok 810 - Then the output must match "dit_skewness:" # # Scenario "Hello, world" project -ok 810 - Given I am in t/samples/hello_world/ +ok 811 - Given I am in t/samples/hello_world/ # -ok 811 - When I run "analizo metrics ." +ok 812 - When I run "analizo metrics ." # -ok 812 - Then the output must match "sc_mean:" +ok 813 - Then the output must match "lcom4_mean:" # -ok 813 - Then the output must match "sc_mode:" +ok 814 - Then the output must match "lcom4_mode:" # -ok 814 - Then the output must match "sc_standard_deviation:" +ok 815 - Then the output must match "lcom4_standard_deviation:" # -ok 815 - Then the output must match "sc_sum:" +ok 816 - Then the output must match "lcom4_sum:" # -ok 816 - Then the output must match "sc_variance:" +ok 817 - Then the output must match "lcom4_variance:" # -ok 817 - Then the output must match "sc_quantile_min:" +ok 818 - Then the output must match "lcom4_quantile_min:" # -ok 818 - Then the output must match "sc_quantile_lower:" +ok 819 - Then the output must match "lcom4_quantile_lower:" # -ok 819 - Then the output must match "sc_quantile_median:" +ok 820 - Then the output must match "lcom4_quantile_median:" # -ok 820 - Then the output must match "sc_quantile_upper:" +ok 821 - Then the output must match "lcom4_quantile_upper:" # -ok 821 - Then the output must match "sc_quantile_max:" +ok 822 - Then the output must match "lcom4_quantile_max:" # -ok 822 - Then the output must match "sc_kurtosis:" +ok 823 - Then the output must match "lcom4_kurtosis:" # -ok 823 - Then the output must match "sc_skewness:" +ok 824 - Then the output must match "lcom4_skewness:" # -# Feature number of public methods metric -# As a software developer I want to calculate the number of public methods per module metric So that I can evaluate my code -# Scenario number of attributes in the "Animals" project -ok 824 - Given I am in t/samples/polygons/cpp +# Scenario "Hello, world" project +ok 825 - Given I am in t/samples/hello_world/ # -ok 825 - When I run "analizo metrics ." +ok 826 - When I run "analizo metrics ." # -ok 826 - Then analizo must report that module CPolygon has npm = 2 +ok 827 - Then the output must match "loc_mean:" # -# Scenario number of attributes in the "Animals" project -ok 827 - Given I am in t/samples/polygons/cpp +ok 828 - Then the output must match "loc_mode:" # -ok 828 - When I run "analizo metrics ." +ok 829 - Then the output must match "loc_standard_deviation:" # -ok 829 - Then analizo must report that module CTetragon has npm = 1 +ok 830 - Then the output must match "loc_sum:" # -# Scenario number of attributes in the "Animals" project -ok 830 - Given I am in t/samples/polygons/java +ok 831 - Then the output must match "loc_variance:" # -ok 831 - When I run "analizo metrics ." +ok 832 - Then the output must match "loc_quantile_min:" # -ok 832 - Then analizo must report that module Polygon has npm = 3 -# -# Scenario number of attributes in the "Animals" project -ok 833 - Given I am in t/samples/polygons/csharp +ok 833 - Then the output must match "loc_quantile_lower:" # -ok 834 - When I run "analizo metrics ." +ok 834 - Then the output must match "loc_quantile_median:" # -ok 835 - Then analizo must report that module Polygon has npm = 2 +ok 835 - Then the output must match "loc_quantile_upper:" # -# Scenario number of attributes in the "Animals" project -ok 836 - Given I am in t/samples/animals/cpp +ok 836 - Then the output must match "loc_quantile_max:" # -ok 837 - When I run "analizo metrics ." +ok 837 - Then the output must match "loc_kurtosis:" # -ok 838 - Then analizo must report that module Animal has npm = 1 +ok 838 - Then the output must match "loc_skewness:" # -# Scenario number of attributes in the "Animals" project -ok 839 - Given I am in t/samples/animals/cpp +# Scenario "Hello, world" project +ok 839 - Given I am in t/samples/hello_world/ # ok 840 - When I run "analizo metrics ." # -ok 841 - Then analizo must report that module Cat has npm = 2 +ok 841 - Then the output must match "mmloc_mean:" # -# Scenario number of attributes in the "Animals" project -ok 842 - Given I am in t/samples/animals/cpp +ok 842 - Then the output must match "mmloc_mode:" # -ok 843 - When I run "analizo metrics ." +ok 843 - Then the output must match "mmloc_standard_deviation:" # -ok 844 - Then analizo must report that module Dog has npm = 2 +ok 844 - Then the output must match "mmloc_sum:" # -# Scenario number of attributes in the "Animals" project -ok 845 - Given I am in t/samples/animals/java +ok 845 - Then the output must match "mmloc_variance:" # -ok 846 - When I run "analizo metrics ." +ok 846 - Then the output must match "mmloc_quantile_min:" # -ok 847 - Then analizo must report that module Animal has npm = 1 +ok 847 - Then the output must match "mmloc_quantile_lower:" # -# Scenario number of attributes in the "Animals" project -ok 848 - Given I am in t/samples/animals/java +ok 848 - Then the output must match "mmloc_quantile_median:" # -ok 849 - When I run "analizo metrics ." +ok 849 - Then the output must match "mmloc_quantile_upper:" # -ok 850 - Then analizo must report that module Cat has npm = 2 +ok 850 - Then the output must match "mmloc_quantile_max:" # -# Scenario number of attributes in the "Animals" project -ok 851 - Given I am in t/samples/animals/java +ok 851 - Then the output must match "mmloc_kurtosis:" # -ok 852 - When I run "analizo metrics ." +ok 852 - Then the output must match "mmloc_skewness:" # -ok 853 - Then analizo must report that module Dog has npm = 2 +# Scenario "Hello, world" project +ok 853 - Given I am in t/samples/hello_world/ # -# Scenario number of attributes in the "Animals" project -ok 854 - Given I am in t/samples/animals/csharp +ok 854 - When I run "analizo metrics ." # -ok 855 - When I run "analizo metrics ." +ok 855 - Then the output must match "noa_mean:" # -ok 856 - Then analizo must report that module Animal has npm = 1 +ok 856 - Then the output must match "noa_mode:" # -# Scenario number of attributes in the "Animals" project -ok 857 - Given I am in t/samples/animals/csharp +ok 857 - Then the output must match "noa_standard_deviation:" # -ok 858 - When I run "analizo metrics ." +ok 858 - Then the output must match "noa_sum:" # -ok 859 - Then analizo must report that module Cat has npm = 2 +ok 859 - Then the output must match "noa_variance:" # -# Scenario number of attributes in the "Animals" project -ok 860 - Given I am in t/samples/animals/csharp +ok 860 - Then the output must match "noa_quantile_min:" # -ok 861 - When I run "analizo metrics ." +ok 861 - Then the output must match "noa_quantile_lower:" # -ok 862 - Then analizo must report that module Dog has npm = 2 +ok 862 - Then the output must match "noa_quantile_median:" # -# Feature number of attributes metric -# As a software developer I want to calculate the number of attributes per module metric So that I can evaluate my code -# Scenario number of attributes in the "Animals" project -ok 863 - Given I am in t/samples/animals/cpp +ok 863 - Then the output must match "noa_quantile_upper:" # -ok 864 - When I run "analizo metrics ." +ok 864 - Then the output must match "noa_quantile_max:" # -ok 865 - Then analizo must report that module Dog has noa = 1 +ok 865 - Then the output must match "noa_kurtosis:" # -ok 866 - And analizo must report that module Cat has noa = 1 +ok 866 - Then the output must match "noa_skewness:" # -ok 867 - And analizo must report that module main has noa = 0 +# Scenario "Hello, world" project +ok 867 - Given I am in t/samples/hello_world/ # -# Scenario number of attributes in the "Animals" project -ok 868 - Given I am in t/samples/animals/java +ok 868 - When I run "analizo metrics ." # -ok 869 - When I run "analizo metrics ." +ok 869 - Then the output must match "noc_mean:" # -ok 870 - Then analizo must report that module Dog has noa = 1 +ok 870 - Then the output must match "noc_mode:" # -ok 871 - And analizo must report that module Cat has noa = 1 +ok 871 - Then the output must match "noc_standard_deviation:" # -ok 872 - And analizo must report that module Main has noa = 0 +ok 872 - Then the output must match "noc_sum:" # -# Scenario number of attributes in the "Animals" project -ok 873 - Given I am in t/samples/animals/csharp +ok 873 - Then the output must match "noc_variance:" # -ok 874 - When I run "analizo metrics ." +ok 874 - Then the output must match "noc_quantile_min:" # -ok 875 - Then analizo must report that module Dog has noa = 1 +ok 875 - Then the output must match "noc_quantile_lower:" # -ok 876 - And analizo must report that module Cat has noa = 1 +ok 876 - Then the output must match "noc_quantile_median:" # -ok 877 - And analizo must report that module main has noa = 0 +ok 877 - Then the output must match "noc_quantile_upper:" # -# Feature number of abstract classes -# As a software developer I want analizo to report the number of modules with at least a defined method in my code So that I can evaluate it -# Scenario "Hello, world" project -ok 878 - Given I am in t/samples/hello_world/cpp +ok 878 - Then the output must match "noc_quantile_max:" # -ok 879 - When I run "analizo metrics ." +ok 879 - Then the output must match "noc_kurtosis:" # -ok 880 - Then analizo must report that the project has total_modules_with_defined_attributes = 1 +ok 880 - Then the output must match "noc_skewness:" # # Scenario "Hello, world" project -ok 881 - Given I am in t/samples/hello_world/java +ok 881 - Given I am in t/samples/hello_world/ # ok 882 - When I run "analizo metrics ." # -ok 883 - Then analizo must report that the project has total_modules_with_defined_attributes = 1 +ok 883 - Then the output must match "nom_mean:" # -# Scenario "Hello, world" project -ok 884 - Given I am in t/samples/hello_world/csharp +ok 884 - Then the output must match "nom_mode:" # -ok 885 - When I run "analizo metrics ." +ok 885 - Then the output must match "nom_standard_deviation:" # -ok 886 - Then analizo must report that the project has total_modules_with_defined_attributes = 1 +ok 886 - Then the output must match "nom_sum:" # -# Scenario "Animals" project -ok 887 - Given I am in t/samples/animals/cpp +ok 887 - Then the output must match "nom_variance:" # -ok 888 - When I run "analizo metrics ." +ok 888 - Then the output must match "nom_quantile_min:" # -ok 889 - Then analizo must report that the project has total_modules_with_defined_attributes = 2 +ok 889 - Then the output must match "nom_quantile_lower:" # -# Scenario "Animals" project -ok 890 - Given I am in t/samples/animals/java +ok 890 - Then the output must match "nom_quantile_median:" # -ok 891 - When I run "analizo metrics ." +ok 891 - Then the output must match "nom_quantile_upper:" # -ok 892 - Then analizo must report that the project has total_modules_with_defined_attributes = 2 +ok 892 - Then the output must match "nom_quantile_max:" # -# Scenario "Animals" project -ok 893 - Given I am in t/samples/animals/csharp -# -ok 894 - When I run "analizo metrics ." +ok 893 - Then the output must match "nom_kurtosis:" # -ok 895 - Then analizo must report that the project has total_modules_with_defined_attributes = 2 +ok 894 - Then the output must match "nom_skewness:" # -# Feature total number of methods per abstract class -# As a software developer I want analizo to report the number of abstract classes in my code So that I can evaluate it # Scenario "Hello, world" project -ok 896 - Given I am in t/samples/hello_world/cpp +ok 895 - Given I am in t/samples/hello_world/ # -ok 897 - When I run "analizo metrics ." +ok 896 - When I run "analizo metrics ." # -ok 898 - Then analizo must report that the project has total_methods_per_abstract_class = 0 +ok 897 - Then the output must match "npm_mean:" # -# Scenario "Hello, world" project -ok 899 - Given I am in t/samples/hello_world/java +ok 898 - Then the output must match "npm_mode:" # -ok 900 - When I run "analizo metrics ." +ok 899 - Then the output must match "npm_standard_deviation:" # -ok 901 - Then analizo must report that the project has total_methods_per_abstract_class = 0 +ok 900 - Then the output must match "npm_sum:" # -# Scenario "Hello, world" project -ok 902 - Given I am in t/samples/hello_world/csharp +ok 901 - Then the output must match "npm_variance:" # -ok 903 - When I run "analizo metrics ." +ok 902 - Then the output must match "npm_quantile_min:" # -ok 904 - Then analizo must report that the project has total_methods_per_abstract_class = 0 +ok 903 - Then the output must match "npm_quantile_lower:" # -# Scenario "Animals" project -ok 905 - Given I am in t/samples/animals/cpp +ok 904 - Then the output must match "npm_quantile_median:" # -ok 906 - When I run "analizo metrics ." +ok 905 - Then the output must match "npm_quantile_upper:" # -ok 907 - Then analizo must report that the project has total_methods_per_abstract_class = 1 +ok 906 - Then the output must match "npm_quantile_max:" # -# Scenario "Animals" project -ok 908 - Given I am in t/samples/animals/java +ok 907 - Then the output must match "npm_kurtosis:" # -ok 909 - When I run "analizo metrics ." +ok 908 - Then the output must match "npm_skewness:" # -ok 910 - Then analizo must report that the project has total_methods_per_abstract_class = 1 +# Scenario "Hello, world" project +ok 909 - Given I am in t/samples/hello_world/ # -# Scenario "Animals" project -ok 911 - Given I am in t/samples/animals/csharp +ok 910 - When I run "analizo metrics ." # -ok 912 - When I run "analizo metrics ." +ok 911 - Then the output must match "npa_mean:" # -ok 913 - Then analizo must report that the project has total_methods_per_abstract_class = 1 +ok 912 - Then the output must match "npa_mode:" # -# Scenario "Polygons" project -ok 914 - Given I am in t/samples/polygons/cpp +ok 913 - Then the output must match "npa_standard_deviation:" # -ok 915 - When I run "analizo metrics ." +ok 914 - Then the output must match "npa_sum:" # -ok 916 - Then analizo must report that the project has total_methods_per_abstract_class = 2.5 +ok 915 - Then the output must match "npa_variance:" # -# Scenario "Polygons" project -ok 917 - Given I am in t/samples/polygons/java +ok 916 - Then the output must match "npa_quantile_min:" # -ok 918 - When I run "analizo metrics ." +ok 917 - Then the output must match "npa_quantile_lower:" # -ok 919 - Then analizo must report that the project has total_methods_per_abstract_class = 2 +ok 918 - Then the output must match "npa_quantile_median:" # -# Scenario "Polygons" project -ok 920 - Given I am in t/samples/polygons/csharp +ok 919 - Then the output must match "npa_quantile_upper:" # -ok 921 - When I run "analizo metrics ." +ok 920 - Then the output must match "npa_quantile_max:" # -ok 922 - Then analizo must report that the project has total_methods_per_abstract_class = 2 +ok 921 - Then the output must match "npa_kurtosis:" +# +ok 922 - Then the output must match "npa_skewness:" # -# Feature number of abstract classes -# As a software developer I want analizo to report the number of modules with at least a defined method in my code So that I can evaluate it # Scenario "Hello, world" project -ok 923 - Given I am in t/samples/hello_world/cpp +ok 923 - Given I am in t/samples/hello_world/ # ok 924 - When I run "analizo metrics ." # -ok 925 - Then analizo must report that the project has total_modules_with_defined_methods = 2 +ok 925 - Then the output must match "rfc_mean:" # -# Scenario "Hello, world" project -ok 926 - Given I am in t/samples/hello_world/java +ok 926 - Then the output must match "rfc_mode:" # -ok 927 - When I run "analizo metrics ." +ok 927 - Then the output must match "rfc_standard_deviation:" # -ok 928 - Then analizo must report that the project has total_modules_with_defined_methods = 2 +ok 928 - Then the output must match "rfc_sum:" # -# Scenario "Hello, world" project -ok 929 - Given I am in t/samples/hello_world/csharp +ok 929 - Then the output must match "rfc_variance:" # -ok 930 - When I run "analizo metrics ." +ok 930 - Then the output must match "rfc_quantile_min:" # -ok 931 - Then analizo must report that the project has total_modules_with_defined_methods = 2 +ok 931 - Then the output must match "rfc_quantile_lower:" # -# Scenario "Animals" project -ok 932 - Given I am in t/samples/animals/cpp +ok 932 - Then the output must match "rfc_quantile_median:" # -ok 933 - When I run "analizo metrics ." +ok 933 - Then the output must match "rfc_quantile_upper:" # -ok 934 - Then analizo must report that the project has total_modules_with_defined_methods = 5 +ok 934 - Then the output must match "rfc_quantile_max:" # -# Scenario "Animals" project -ok 935 - Given I am in t/samples/animals/java +ok 935 - Then the output must match "rfc_kurtosis:" # -ok 936 - When I run "analizo metrics ." +ok 936 - Then the output must match "rfc_skewness:" # -ok 937 - Then analizo must report that the project has total_modules_with_defined_methods = 5 +# Scenario "Hello, world" project +ok 937 - Given I am in t/samples/hello_world/ # -# Scenario "Animals" project -ok 938 - Given I am in t/samples/animals/csharp +ok 938 - When I run "analizo metrics ." # -ok 939 - When I run "analizo metrics ." +ok 939 - Then the output must match "sc_mean:" # -ok 940 - Then analizo must report that the project has total_modules_with_defined_methods = 5 +ok 940 - Then the output must match "sc_mode:" # -# Feature output file for metrics tool -# Scenario passing output file in the command line -ok 941 - Given I am in . +ok 941 - Then the output must match "sc_standard_deviation:" # -ok 942 - When I run "analizo metrics --output output.yml.tmp t/samples/sample_basic/" +ok 942 - Then the output must match "sc_sum:" # -ok 943 - Then the contents of "output.yml.tmp" must match "module2" +ok 943 - Then the output must match "sc_variance:" # -ok 944 - And the exit status must be 0 +ok 944 - Then the output must match "sc_quantile_min:" # -# Scenario passing output file without permission to write -ok 945 - Given I am in . +ok 945 - Then the output must match "sc_quantile_lower:" # -ok 946 - When I run "touch output.tmp" +ok 946 - Then the output must match "sc_quantile_median:" # -ok 947 - And I run "chmod 000 output.tmp" +ok 947 - Then the output must match "sc_quantile_upper:" # -ok 948 - And I run "analizo metrics --output output.tmp t/samples/sample_basic/" +ok 948 - Then the output must match "sc_quantile_max:" # -ok 949 - Then the exit status must not be 0 +ok 949 - Then the output must match "sc_kurtosis:" # -ok 950 - And analizo must emit a warning matching "Permission denied" +ok 950 - Then the output must match "sc_skewness:" # -# Scenario passing output file in an unexisting directory -ok 951 - Given I am in . +# Feature group by modules +# Scenario sample project +ok 951 - Given I am in t/samples/sample_basic/c/ # -ok 952 - When I run "analizo metrics --output /this/directory/must/not/exists/output.yml t/samples" +ok 952 - When I run "analizo graph --modules ." # -ok 953 - Then the exit status must not be 0 +ok 953 - Then analizo must report that "module1" depends on "module2" # -ok 954 - And analizo must emit a warning matching "No such file or directory" +ok 954 - Then analizo must report that "module1" depends on "module3" # -# Feature number of abstract classes -# As a software developer I want analizo to report the number of abstract classes in my code So that I can evaluate it -# Scenario "Hello, world" project -ok 955 - Given I am in t/samples/hello_world/cpp +# Feature functions calls +# Scenario detect function calls among classes +ok 955 - Given I am in t/samples/animals/cpp # -ok 956 - When I run "analizo metrics ." +ok 956 - When I run "analizo graph ." # -ok 957 - Then analizo must report that the project has total_abstract_classes = 0 +ok 957 - Then analizo must report that "Cat::Cat(char *)" depends on "Cat::_name" # -# Scenario "Hello, world" project -ok 958 - Given I am in t/samples/hello_world/java +ok 958 - And analizo must not report that "Cat::Cat(char *)" depends on "Cat::name()" # -ok 959 - When I run "analizo metrics ." +ok 959 - And the exit status must be 0 # -ok 960 - Then analizo must report that the project has total_abstract_classes = 0 +# Feature plain analizo graph run +# Scenario simply running analizo +ok 960 - Given I am in t/samples/sample_basic/c/ # -# Scenario "Hello, world" project -ok 961 - Given I am in t/samples/hello_world/csharp +ok 961 - When I run "analizo graph ." # -ok 962 - When I run "analizo metrics ." +ok 962 - Then analizo must report that "module1::main()" depends on "module3::variable" # -ok 963 - Then analizo must report that the project has total_abstract_classes = 0 +ok 963 - Then analizo must report that "module1::main()" depends on "module3::callback()" # -# Scenario "Animals" project -ok 964 - Given I am in t/samples/animals/cpp +ok 964 - Then analizo must report that "module1::main()" depends on "module2::say_bye()" # -ok 965 - When I run "analizo metrics ." +ok 965 - Then analizo must report that "module1::main()" depends on "module2::say_hello()" # -ok 966 - Then analizo must report that the project has total_abstract_classes = 2 +ok 966 - And the exit status must be 0 # -# Scenario "Animals" project -ok 967 - Given I am in t/samples/animals/java +# Feature output file for graph tool +# Scenario passing output file in the command line +ok 967 - Given I am in . # -ok 968 - When I run "analizo metrics ." +ok 968 - When I run "analizo graph --output output.dot.tmp t/samples/sample_basic/c/" # -ok 969 - Then analizo must report that the project has total_abstract_classes = 2 +ok 969 - Then the contents of "output.dot.tmp" must match "module1" # -# Scenario "Animals" project -ok 970 - Given I am in t/samples/animals/csharp +ok 970 - And the exit status must be 0 # -ok 971 - When I run "analizo metrics ." +# Scenario passing output file in an unexisting directory +ok 971 - Given I am in . # -ok 972 - Then analizo must report that the project has total_abstract_classes = 2 +ok 972 - When I run "analizo graph --output /this/directory/must/not/exists/output.dot t/samples/sample_basic/c/" # -# Scenario "Polygons" project -ok 973 - Given I am in t/samples/polygons/cpp +ok 973 - Then analizo must emit a warning matching "No such file or directory" # -ok 974 - When I run "analizo metrics ." +ok 974 - And the exit status must not be 0 # -ok 975 - Then analizo must report that the project has total_abstract_classes = 2 +# Scenario passing output file without permission to write +ok 975 - Given I am in . # -# Scenario "Polygons" project -ok 976 - Given I am in t/samples/polygons/java +ok 976 - When I run "touch output.tmp" # -ok 977 - When I run "analizo metrics ." +ok 977 - And I run "chmod 000 output.tmp" # -ok 978 - Then analizo must report that the project has total_abstract_classes = 2 +ok 978 - And I run "analizo graph --output output.tmp t/samples/sample_basic/c/" # -# Scenario "Polygons" project -ok 979 - Given I am in t/samples/polygons/csharp +ok 979 - Then the exit status must not be 0 # -ok 980 - When I run "analizo metrics ." +ok 980 - And analizo must emit a warning matching "Permission denied" # -ok 981 - Then analizo must report that the project has total_abstract_classes = 2 +# Feature displaying version +# Scenario running without any arguments +ok 981 - When I run "analizo graph" # -# Scenario "AbstractClass" project -ok 982 - Given I am in t/samples/abstract_class/java +ok 982 - Then analizo must emit a warning matching "Usage:" # -ok 983 - When I run "analizo metrics ." +ok 983 - And the exit status must not be 0 # -ok 984 - Then analizo must report that the project has total_abstract_classes = 1 +# Feature omitting certain modules +# Scenario omitting say_bye +ok 984 - Given I am in t/samples/sample_basic/ # -ok 985 - And analizo must report that the project has total_methods_per_abstract_class = 6 +ok 985 - When I run "analizo graph --omit 'module2::say_bye()' ." # -# Scenario "AbstractClass" project -ok 986 - Given I am in t/samples/abstract_class/csharp +ok 986 - Then the output must not match "module2::say_bye()" # -ok 987 - When I run "analizo metrics ." +# Scenario omitting two functions +ok 987 - Given I am in t/samples/sample_basic/ # -ok 988 - Then analizo must report that the project has total_abstract_classes = 1 +ok 988 - When I run "analizo graph --omit 'module2::say_bye()','module2::say_hello()' ." # -ok 989 - And analizo must report that the project has total_methods_per_abstract_class = 1 +ok 989 - Then the output must not match "module2::say_bye()" # -# Feature language filters -# As a software developer in a multi-language project I want to analyze only one programming language So that the results are as correct as possible -# Scenario filtering for C code -ok 990 - Given I am in t/samples/mixed +ok 990 - Then the output must not match "module2::say_hello()" # -ok 991 - When I run "analizo metrics --language c ." +# Scenario omitting depending functions +ok 991 - Given I am in t/samples/sample_basic/ # -ok 992 - Then the output must match "native_backend" +ok 992 - When I run "analizo graph --omit 'module1::main()' ." # -ok 993 - And the output must not match "UI" +ok 993 - Then the output must not match "module1::main()" # -ok 994 - And the output must not match "Backend" +# Feature input files for graph tool +# Scenario passing specific files in the command line +ok 994 - Given I am in t/samples/sample_basic/c # -ok 995 - And the output must not match "CSharp_Backend" +ok 995 - When I run "analizo graph module1.c module2.c" # -# Scenario filtering for Java code -ok 996 - Given I am in t/samples/mixed +ok 996 - Then the output must match "module1" # -ok 997 - When I run "analizo metrics --language java ." +ok 997 - And the output must match "module2" # -ok 998 - Then the output must match "UI" +ok 998 - And the output must not match "module3" # -ok 999 - And the output must match "Backend" +# Scenario passing unexisting file +ok 999 - Given I am in t/samples/sample_basic/c # -ok 1000 - And the output must not match "native_backend" +ok 1000 - When I run "analizo graph unexisting-file.c" # -ok 1001 - And the output must not match "CSharp_Backend" +ok 1001 - Then analizo must emit a warning matching "is not readable" # -# Scenario filtering for CSharp code -ok 1002 - Given I am in t/samples/mixed +# Feature clustering subroutines in the same module together +# Scenario clustering dependencies +ok 1002 - Given I am in t/samples/sample_basic/c/ # -ok 1003 - When I run "analizo metrics --language csharp ." +ok 1003 - When I run "analizo graph --cluster ." # -ok 1004 - Then the output must match "CSharp_Backend" +ok 1004 - Then analizo must report that "module1::main()" is part of "module1" # -ok 1005 - And the output must not match "UI" +ok 1005 - Then analizo must report that "module2::say_hello()" is part of "module2" # -ok 1006 - And the output must not match "native_backend" +ok 1006 - Then analizo must report that "module2::say_bye()" is part of "module2" # -# Scenario listing languages -ok 1007 - When I run "analizo metrics --language list" +ok 1007 - Then analizo must report that "module3::variable" is part of "module3" # -ok 1008 - Then analizo must present a list of languages +ok 1008 - Then analizo must report that "module3::callback()" is part of "module3" # 1..1008 ok All tests successful. -Files=54, Tests=1627, 190 wallclock secs ( 0.55 usr 0.16 sys + 115.68 cusr 30.23 csys = 146.62 CPU) +Files=54, Tests=1627, 147 wallclock secs ( 0.45 usr 0.22 sys + 102.63 cusr 34.54 csys = 137.84 CPU) Result: PASS make[1]: Leaving directory '/build/reproducible-path/analizo-1.25.5' create-stamp debian/debhelper-build-stamp @@ -5147,104 +5183,104 @@ debian/rules override_dh_auto_install make[1]: Entering directory '/build/reproducible-path/analizo-1.25.5' dh_auto_install - make -j42 install DESTDIR=/build/reproducible-path/analizo-1.25.5/debian/analizo AM_UPDATE_INFO_DIR=no PREFIX=/usr + make -j20 install DESTDIR=/build/reproducible-path/analizo-1.25.5/debian/analizo AM_UPDATE_INFO_DIR=no PREFIX=/usr make[2]: Entering directory '/build/reproducible-path/analizo-1.25.5' Skip blib/lib/auto/share/dist/Analizo/README (unchanged) Skip blib/lib/auto/share/dist/Analizo/bash-completion/analizo (unchanged) Manifying 26 pod documents Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/profile.pl -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/GlobalMetrics.pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test/Analizo.pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test/Analizo/Class.pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test/Analizo/Git.pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test/Analizo/BDD/Cucumber/Extension.pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/auto/share/dist/Analizo/README +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/auto/share/dist/Analizo/bash-completion/analizo +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Model.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/ModuleMetrics.pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/LanguageFilter.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/ModuleMetric.pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Extractor.pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch.pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Command.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/FilenameFilter.pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Extractor.pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/GlobalMetrics.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metrics.pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/LanguageFilter.pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Model.pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Command.pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch.pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Extractor/Doxyparse.pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Filter/Client.pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Command/help.pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/LinesOfCode.pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/AfferentConnections.pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/AverageMethodLinesOfCode.pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/StructuralComplexity.pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/NumberOfPublicAttributes.pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/NumberOfMethods.pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/LackOfCohesionOfMethods.pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/MaximumMethodLinesOfCode.pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/NumberOfPublicMethods.pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/DepthOfInheritanceTree.pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/ResponseForClass.pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/NumberOfAttributes.pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/NumberOfChildren.pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/CouplingBetweenObjects.pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/AverageNumberOfParameters.pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/AverageCycloComplexity.pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/GlobalMetric/MethodsPerAbstractClass.pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/GlobalMetric/TotalAbstractClasses.pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/GlobalMetric/ChangeCost.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Command/files_graph.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Command/tree_evolution.pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Command/metrics_batch.pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Command/help.pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Command/metrics_history.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Command/metrics.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Command/graph.pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Command/metrics_history.pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Command/metrics_batch.pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Filter/Client.pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Extractor/Doxyparse.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch/Git.pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch/Directories.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch/Runner.pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch/Output.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch/Job.pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch/Directories.pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch/Output.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch/Output/DB.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch/Output/CSV.pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch/Runner/Parallel.pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch/Runner/Sequential.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch/Job/Git.pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch/Job/Directories.pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/GlobalMetric/MethodsPerAbstractClass.pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/GlobalMetric/ChangeCost.pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/GlobalMetric/TotalAbstractClasses.pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/NumberOfAttributes.pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/NumberOfChildren.pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/AverageCycloComplexity.pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/AfferentConnections.pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/AverageNumberOfParameters.pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/NumberOfPublicMethods.pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/AverageMethodLinesOfCode.pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/LackOfCohesionOfMethods.pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/ResponseForClass.pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/NumberOfPublicAttributes.pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/StructuralComplexity.pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/NumberOfMethods.pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/CouplingBetweenObjects.pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/LinesOfCode.pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/DepthOfInheritanceTree.pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Metric/MaximumMethodLinesOfCode.pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test/Analizo.pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test/Analizo/Git.pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test/Analizo/Class.pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test/Analizo/BDD/Cucumber/Extension.pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/auto/share/dist/Analizo/README -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/auto/share/dist/Analizo/bash-completion/analizo -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::NumberOfMethods.3pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::NumberOfChildren.3pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::ResponseForClass.3pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch/Runner/Parallel.pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Analizo/Batch/Runner/Sequential.pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Command::graph.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::GlobalMetric::ChangeCost.3pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::LinesOfCode.3pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::NumberOfMethods.3pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Command::metrics.3pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Command::metrics_batch.3pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Command::graph.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::StructuralComplexity.3pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::ResponseForClass.3pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::DepthOfInheritanceTree.3pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::NumberOfAttributes.3pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::AverageMethodLinesOfCode.3pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::AfferentConnections.3pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::NumberOfChildren.3pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Command::metrics_batch.3pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::AverageNumberOfParameters.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::CouplingBetweenObjects.3pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo.3pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Command.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::NumberOfPublicMethods.3pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Command::files_graph.3pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Command::metrics_history.3pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Command::help.3pm +Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::LinesOfCode.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::NumberOfPublicAttributes.3pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::AverageMethodLinesOfCode.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::LackOfCohesionOfMethods.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metrics.3pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Command::metrics_history.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Command::tree_evolution.3pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Command.3pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Command::files_graph.3pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::AverageNumberOfParameters.3pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::NumberOfAttributes.3pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::AfferentConnections.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::AverageCycloComplexity.3pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Metric::DepthOfInheritanceTree.3pm -Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/man/man3/Analizo::Command::help.3pm Installing /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/bin/analizo make[2]: Leaving directory '/build/reproducible-path/analizo-1.25.5' rm -f -rv /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test +removed '/build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test/Analizo.pm' +removed '/build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test/Analizo/Class.pm' +removed '/build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test/Analizo/Git.pm' removed '/build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test/Analizo/BDD/Cucumber/Extension.pm' removed directory '/build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test/Analizo/BDD/Cucumber' removed directory '/build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test/Analizo/BDD' -removed '/build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test/Analizo/Git.pm' -removed '/build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test/Analizo/Class.pm' removed directory '/build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test/Analizo' -removed '/build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test/Analizo.pm' removed directory '/build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/Test' rm -f -v /build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/profile.pl removed '/build/reproducible-path/analizo-1.25.5/debian/analizo/usr/share/perl5/profile.pl' @@ -5272,12 +5308,14 @@ dpkg-buildpackage: info: binary-only upload (no source included) dpkg-genchanges: info: including full source code in upload I: copying local configuration +I: user script /srv/workspace/pbuilder/3247869/tmp/hooks/B01_cleanup starting +I: user script /srv/workspace/pbuilder/3247869/tmp/hooks/B01_cleanup finished I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env -I: removing directory /srv/workspace/pbuilder/543764 and its subdirectories -I: Current time: Wed Dec 24 23:39:29 -12 2025 -I: pbuilder-time-stamp: 1766662770 +I: removing directory /srv/workspace/pbuilder/3247869 and its subdirectories +I: Current time: Fri Nov 22 19:21:59 +14 2024 +I: pbuilder-time-stamp: 1732252919 Compressing the 2nd log... /var/lib/jenkins/userContent/reproducible/debian/logdiffs/trixie/amd64/analizo_1.25.5-1.diff: 87.4% -- replaced with /var/lib/jenkins/userContent/reproducible/debian/logdiffs/trixie/amd64/analizo_1.25.5-1.diff.gz b2/build.log: 83.8% -- replaced with stdout Compressing the 1st log... b1/build.log: 84.0% -- replaced with stdout Fri Nov 22 05:22:01 UTC 2024 I: diffoscope 283 will be used to compare the two builds: ++ date -u +%s + DIFFOSCOPE_STAMP=/var/log/reproducible-builds/diffoscope_stamp_analizo_trixie_amd64_1732252921 + touch /var/log/reproducible-builds/diffoscope_stamp_analizo_trixie_amd64_1732252921 + RESULT=0 + systemd-run '--description=diffoscope on analizo/1.25.5-1 in trixie/amd64' --slice=rb-build-diffoscope.slice -u rb-diffoscope-amd64_18-23479 '--property=SuccessExitStatus=1 124' --user --send-sighup --pipe --wait -E TMPDIR timeout 155m nice schroot --directory /srv/reproducible-results/rbuild-debian/r-b-build.WRkbw2e7 --run-session -c jenkins-reproducible-trixie-diffoscope-79d44568-4a3f-45ee-b2c8-e2e0b1d60638 -- sh -c 'export TMPDIR=/srv/reproducible-results/rbuild-debian/r-b-build.WRkbw2e7/dbd-tmp-05hYqSA ; timeout 150m diffoscope --timeout 7200 --html /srv/reproducible-results/rbuild-debian/r-b-build.WRkbw2e7/analizo_1.25.5-1.diffoscope.html --text /srv/reproducible-results/rbuild-debian/r-b-build.WRkbw2e7/analizo_1.25.5-1.diffoscope.txt --json /srv/reproducible-results/rbuild-debian/r-b-build.WRkbw2e7/analizo_1.25.5-1.diffoscope.json --profile=- /srv/reproducible-results/rbuild-debian/r-b-build.WRkbw2e7/b1/analizo_1.25.5-1_amd64.changes /srv/reproducible-results/rbuild-debian/r-b-build.WRkbw2e7/b2/analizo_1.25.5-1_amd64.changes' + false + set +x Running as unit: rb-diffoscope-amd64_18-23479.service # Profiling output for: /usr/bin/diffoscope --timeout 7200 --html /srv/reproducible-results/rbuild-debian/r-b-build.WRkbw2e7/analizo_1.25.5-1.diffoscope.html --text /srv/reproducible-results/rbuild-debian/r-b-build.WRkbw2e7/analizo_1.25.5-1.diffoscope.txt --json /srv/reproducible-results/rbuild-debian/r-b-build.WRkbw2e7/analizo_1.25.5-1.diffoscope.json --profile=- /srv/reproducible-results/rbuild-debian/r-b-build.WRkbw2e7/b1/analizo_1.25.5-1_amd64.changes /srv/reproducible-results/rbuild-debian/r-b-build.WRkbw2e7/b2/analizo_1.25.5-1_amd64.changes ## command (total time: 0.000s) 0.000s 1 call cmp (internal) ## has_same_content_as (total time: 0.000s) 0.000s 1 call abc.DotChangesFile ## main (total time: 0.353s) 0.353s 2 calls outputs 0.000s 1 call cleanup ## recognizes (total time: 0.016s) 0.016s 12 calls diffoscope.comparators.binary.FilesystemFile ## specialize (total time: 0.000s) 0.000s 1 call specialize Finished with result: success Main processes terminated with: code=exited/status=0 Service runtime: 736ms CPU time consumed: 716ms _ _ __ _ _ __ __ _| (_)_______ / _` | '_ \ / _` | | |_ / _ \ | (_| | | | | (_| | | |/ / (_) | \__,_|_| |_|\__,_|_|_/___\___/ Fri Nov 22 05:22:03 UTC 2024 I: diffoscope 283 found no differences in the changes files, and a .buildinfo file also exists. Fri Nov 22 05:22:03 UTC 2024 I: analizo from trixie built successfully and reproducibly on amd64. INSERT 0 1 INSERT 0 1 DELETE 1 [2024-11-22 05:22:03] INFO: Starting at 2024-11-22 05:22:03.720502 [2024-11-22 05:22:03] INFO: Generating the pages of 1 package(s) [2024-11-22 05:22:03] CRITICAL: https://tests.reproducible-builds.org/debian/trixie/amd64/analizo didn't produce a buildlog, even though it has been built. [2024-11-22 05:22:04] INFO: Finished at 2024-11-22 05:22:04.000046, took: 0:00:00.279552 Fri Nov 22 05:22:04 UTC 2024 - successfully updated the database and updated https://tests.reproducible-builds.org/debian/rb-pkg/trixie/amd64/analizo.html Fri Nov 22 05:22:04 UTC 2024 I: Submitting .buildinfo files to external archives: Fri Nov 22 05:22:04 UTC 2024 I: Submitting 16K b1/analizo_1.25.5-1_amd64.buildinfo.asc https://buildinfo.debian.net/dc180b9a452abb6a295aad1d3d8f28f5da9bf93c/analizo_1.25.5-1_all Fri Nov 22 05:22:04 UTC 2024 I: Submitting 16K b2/analizo_1.25.5-1_amd64.buildinfo.asc https://buildinfo.debian.net/905d3a29c3675811b18dac1a64fc6619ff3ba245/analizo_1.25.5-1_all Fri Nov 22 05:22:05 UTC 2024 I: Done submitting .buildinfo files to http://buildinfo.debian.net/api/submit. Fri Nov 22 05:22:05 UTC 2024 I: Done submitting .buildinfo files. Fri Nov 22 05:22:05 UTC 2024 I: Removing signed analizo_1.25.5-1_amd64.buildinfo.asc files: removed './b1/analizo_1.25.5-1_amd64.buildinfo.asc' removed './b2/analizo_1.25.5-1_amd64.buildinfo.asc' 1732252925 amd64 trixie analizo Starting cleanup. /var/lib/jenkins/userContent/reproducible/debian/rbuild/trixie/amd64/analizo_1.25.5-1.rbuild.log: 83.2% -- replaced with /var/lib/jenkins/userContent/reproducible/debian/rbuild/trixie/amd64/analizo_1.25.5-1.rbuild.log.gz [2024-11-22 05:22:06] INFO: Starting at 2024-11-22 05:22:06.190859 [2024-11-22 05:22:06] INFO: Generating the pages of 1 package(s) [2024-11-22 05:22:06] INFO: Finished at 2024-11-22 05:22:06.428142, took: 0:00:00.237291 All cleanup done. Fri Nov 22 05:22:06 UTC 2024 - total duration: 0h 20m 35s. Fri Nov 22 05:22:06 UTC 2024 - reproducible_build.sh stopped running as /tmp/jenkins-script-EcArbskG, removing. Finished with result: success Main processes terminated with: code=exited/status=0 Service runtime: 20min 38.198s CPU time consumed: 7.823s