https://launchpad.net/ubuntu/+source/libffi-platypus-perl/1.34-1build1/+build/20269127 RUN: /usr/share/launchpad-buildd/bin/builder-prep Kernel version: Linux bos02-s390x-013 4.15.0-122-generic #124-Ubuntu SMP Thu Oct 15 13:02:05 UTC 2020 s390x Buildd toolchain package versions: launchpad-buildd_193~468~ubuntu18.04.1 python3-lpbuildd_193~468~ubuntu18.04.1 sbuild_0.75.0-1ubuntu1 bzr-builder_0.7.3+bzr174~ppa13~ubuntu16.04.1 bzr_2.7.0+bzr6622-10 git-build-recipe_0.3.6~git201906051340.ff11471~ubuntu18.04.1 git_1:2.17.1-1ubuntu0.7 dpkg-dev_1.19.0.5ubuntu2.3 python-debian_0.1.32 python3-debian_0.1.32. Syncing the system clock with the buildd NTP service... 9 Nov 14:22:00 ntpdate[1726]: adjust time server 10.211.37.1 offset 0.000890 sec RUN: /usr/share/launchpad-buildd/bin/in-target unpack-chroot --backend=chroot --series=hirsute --arch=s390x PACKAGEBUILD-20269127 --image-type chroot /home/buildd/filecache-default/9aaab3d1c3367126bc5b66d2474faf9141147628 Creating target for build PACKAGEBUILD-20269127 RUN: /usr/share/launchpad-buildd/bin/in-target mount-chroot --backend=chroot --series=hirsute --arch=s390x PACKAGEBUILD-20269127 Starting target for build PACKAGEBUILD-20269127 RUN: /usr/share/launchpad-buildd/bin/in-target override-sources-list --backend=chroot --series=hirsute --arch=s390x PACKAGEBUILD-20269127 'deb http://ftpmaster.internal/ubuntu hirsute main universe' 'deb http://ftpmaster.internal/ubuntu hirsute-security main universe' 'deb http://ftpmaster.internal/ubuntu hirsute-updates main universe' 'deb http://ftpmaster.internal/ubuntu hirsute-proposed main universe' Overriding sources.list in build-PACKAGEBUILD-20269127 RUN: /usr/share/launchpad-buildd/bin/in-target update-debian-chroot --backend=chroot --series=hirsute --arch=s390x PACKAGEBUILD-20269127 Updating target for build PACKAGEBUILD-20269127 Get:1 http://ftpmaster.internal/ubuntu hirsute InRelease [267 kB] Get:2 http://ftpmaster.internal/ubuntu hirsute-security InRelease [88.4 kB] Get:3 http://ftpmaster.internal/ubuntu hirsute-updates InRelease [88.4 kB] Get:4 http://ftpmaster.internal/ubuntu hirsute-proposed InRelease [117 kB] Get:5 http://ftpmaster.internal/ubuntu hirsute/main s390x Packages [1322 kB] Get:6 http://ftpmaster.internal/ubuntu hirsute/main Translation-en [509 kB] Get:7 http://ftpmaster.internal/ubuntu hirsute/universe s390x Packages [12.1 MB] Get:8 http://ftpmaster.internal/ubuntu hirsute/universe Translation-en [5331 kB] Get:9 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x Packages [161 kB] Get:10 http://ftpmaster.internal/ubuntu hirsute-proposed/main Translation-en [72.8 kB] Get:11 http://ftpmaster.internal/ubuntu hirsute-proposed/universe s390x Packages [1591 kB] Get:12 http://ftpmaster.internal/ubuntu hirsute-proposed/universe Translation-en [553 kB] Fetched 22.3 MB in 4s (5470 kB/s) Reading package lists... Reading package lists... Building dependency tree... Reading state information... Calculating upgrade... The following packages were automatically installed and are no longer required: libperl5.30 perl-modules-5.30 Use 'sudo apt autoremove' to remove them. The following NEW packages will be installed: libperl5.32 perl-modules-5.32 The following packages will be upgraded: apt base-files base-passwd binutils binutils-common binutils-s390x-linux-gnu cpp-10 fakeroot g++-10 gcc-10 gcc-10-base libapparmor1 libapt-pkg6.0 libasan6 libatomic1 libaudit-common libaudit1 libbinutils libc-bin libc-dev-bin libc6 libc6-dev libcap2 libcc1-0 libcrypt-dev libcrypt1 libctf-nobfd0 libctf0 libdebconfclient0 libfakeroot libgcc-10-dev libgcc-s1 libgomp1 libidn2-0 libip4tc2 libitm1 libmpc3 libncurses6 libncursesw6 libnpth0 libseccomp2 libselinux1 libsemanage-common libsemanage1 libstdc++-10-dev libstdc++6 libsystemd0 libtinfo6 libtirpc-common libtirpc-dev libtirpc3 libubsan1 libudev1 linux-libc-dev ncurses-base ncurses-bin perl perl-base systemd systemd-sysv systemd-timesyncd sysvinit-utils tzdata 63 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. Need to get 213 MB of archives. After this operation, 816 MB of additional disk space will be used. Get:1 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x libcrypt-dev s390x 1:4.4.17-1ubuntu1 [111 kB] Get:2 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x libcrypt1 s390x 1:4.4.17-1ubuntu1 [84.3 kB] Get:3 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x libc6-dev s390x 2.32-0ubuntu4 [1744 kB] Get:4 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x libc-dev-bin s390x 2.32-0ubuntu4 [29.8 kB] Get:5 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x linux-libc-dev s390x 5.8.0-26.27 [1165 kB] Get:6 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x libtirpc-common all 1.2.6-3 [7444 B] Get:7 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x libtirpc-dev s390x 1.2.6-3 [190 kB] Get:8 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x libtirpc3 s390x 1.2.6-3 [75.2 kB] Get:9 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x libcc1-0 s390x 10.2.0-16ubuntu1 [39.4 kB] Get:10 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x gcc-10-base s390x 10.2.0-16ubuntu1 [19.7 kB] Get:11 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x libgcc-s1 s390x 10.2.0-16ubuntu1 [30.4 kB] Get:12 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x libgomp1 s390x 10.2.0-16ubuntu1 [115 kB] Get:13 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x libitm1 s390x 10.2.0-16ubuntu1 [28.6 kB] Get:14 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x libatomic1 s390x 10.2.0-16ubuntu1 [8368 B] Get:15 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x libasan6 s390x 10.2.0-16ubuntu1 [351 kB] Get:16 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x libubsan1 s390x 10.2.0-16ubuntu1 [155 kB] Get:17 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x g++-10 s390x 10.2.0-16ubuntu1 [63.1 MB] Get:18 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x libstdc++-10-dev s390x 10.2.0-16ubuntu1 [1735 kB] Get:19 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x libgcc-10-dev s390x 10.2.0-16ubuntu1 [779 kB] Get:20 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x gcc-10 s390x 10.2.0-16ubuntu1 [63.9 MB] Get:21 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x cpp-10 s390x 10.2.0-16ubuntu1 [56.7 MB] Get:22 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x libstdc++6 s390x 10.2.0-16ubuntu1 [519 kB] Get:23 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x libmpc3 s390x 1.2.0-1 [43.6 kB] Get:24 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x libctf-nobfd0 s390x 2.35.1-2ubuntu1 [50.4 kB] Get:25 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x libctf0 s390x 2.35.1-2ubuntu1 [49.5 kB] Get:26 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x libbinutils s390x 2.35.1-2ubuntu1 [338 kB] Get:27 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x binutils-common s390x 2.35.1-2ubuntu1 [212 kB] Get:28 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x binutils s390x 2.35.1-2ubuntu1 [3344 B] Get:29 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x binutils-s390x-linux-gnu s390x 2.35.1-2ubuntu1 [1691 kB] Get:30 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x libc6 s390x 2.32-0ubuntu4 [2334 kB] Get:31 http://ftpmaster.internal/ubuntu hirsute/main s390x base-files s390x 11ubuntu16 [60.4 kB] Get:32 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x libncursesw6 s390x 6.2+20200918-1 [136 kB] Get:33 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x libncurses6 s390x 6.2+20200918-1 [106 kB] Get:34 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x libtinfo6 s390x 6.2+20200918-1 [92.5 kB] Get:35 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x ncurses-bin s390x 6.2+20200918-1 [176 kB] Get:36 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x perl-modules-5.32 all 5.32.0-4 [2753 kB] Get:37 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x libperl5.32 s390x 5.32.0-4 [3940 kB] Get:38 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x perl s390x 5.32.0-4 [225 kB] Get:39 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x perl-base s390x 5.32.0-4 [1574 kB] Get:40 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x libdebconfclient0 s390x 0.255ubuntu1 [6064 B] Get:41 http://ftpmaster.internal/ubuntu hirsute/main s390x base-passwd s390x 3.5.48 [48.5 kB] Get:42 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x libc-bin s390x 2.32-0ubuntu4 [589 kB] Get:43 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x ncurses-base all 6.2+20200918-1 [18.7 kB] Get:44 http://ftpmaster.internal/ubuntu hirsute/main s390x sysvinit-utils s390x 2.96-5ubuntu1 [20.6 kB] Get:45 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x systemd-timesyncd s390x 246.6-2ubuntu1 [27.2 kB] Get:46 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x systemd-sysv s390x 246.6-2ubuntu1 [10.3 kB] Get:47 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x libapparmor1 s390x 3.0.0-0ubuntu3 [36.6 kB] Get:48 http://ftpmaster.internal/ubuntu hirsute/main s390x libaudit-common all 1:2.8.5-3ubuntu2 [4092 B] Get:49 http://ftpmaster.internal/ubuntu hirsute/main s390x libaudit1 s390x 1:2.8.5-3ubuntu2 [38.1 kB] Get:50 http://ftpmaster.internal/ubuntu hirsute/main s390x libcap2 s390x 1:2.44-1 [18.3 kB] Get:51 http://ftpmaster.internal/ubuntu hirsute/main s390x libidn2-0 s390x 2.3.0-2 [51.7 kB] Get:52 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x libip4tc2 s390x 1.8.5-3ubuntu3 [20.0 kB] Get:53 http://ftpmaster.internal/ubuntu hirsute/main s390x libseccomp2 s390x 2.4.3-1ubuntu5 [56.3 kB] Get:54 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x systemd s390x 246.6-2ubuntu1 [4293 kB] Get:55 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x libsystemd0 s390x 246.6-2ubuntu1 [292 kB] Get:56 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x libudev1 s390x 246.6-2ubuntu1 [73.2 kB] Get:57 http://ftpmaster.internal/ubuntu hirsute/main s390x libapt-pkg6.0 s390x 2.1.11 [848 kB] Get:58 http://ftpmaster.internal/ubuntu hirsute/main s390x apt s390x 2.1.11 [1285 kB] Get:59 http://ftpmaster.internal/ubuntu hirsute/main s390x libselinux1 s390x 3.1-2build1 [75.3 kB] Get:60 http://ftpmaster.internal/ubuntu hirsute/main s390x libsemanage-common all 3.1-1build1 [10.1 kB] Get:61 http://ftpmaster.internal/ubuntu hirsute/main s390x libsemanage1 s390x 3.1-1build1 [88.2 kB] Get:62 http://ftpmaster.internal/ubuntu hirsute/main s390x tzdata all 2020d-1ubuntu1 [293 kB] Get:63 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x libfakeroot s390x 1.25.3-1 [27.5 kB] Get:64 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x fakeroot s390x 1.25.3-1 [62.7 kB] Get:65 http://ftpmaster.internal/ubuntu hirsute/main s390x libnpth0 s390x 1.6-3 [8048 B] debconf: delaying package configuration, since apt-utils is not installed Fetched 213 MB in 4s (52.9 MB/s) (Reading database ... 12766 files and directories currently installed.) Preparing to unpack .../libcrypt-dev_1%3a4.4.17-1ubuntu1_s390x.deb ... Unpacking libcrypt-dev:s390x (1:4.4.17-1ubuntu1) over (1:4.4.16-1ubuntu1) ... Preparing to unpack .../libcrypt1_1%3a4.4.17-1ubuntu1_s390x.deb ... Unpacking libcrypt1:s390x (1:4.4.17-1ubuntu1) over (1:4.4.16-1ubuntu1) ... Setting up libcrypt1:s390x (1:4.4.17-1ubuntu1) ... (Reading database ... 12766 files and directories currently installed.) Preparing to unpack .../0-libc6-dev_2.32-0ubuntu4_s390x.deb ... Unpacking libc6-dev:s390x (2.32-0ubuntu4) over (2.32-0ubuntu3) ... Preparing to unpack .../1-libc-dev-bin_2.32-0ubuntu4_s390x.deb ... Unpacking libc-dev-bin (2.32-0ubuntu4) over (2.32-0ubuntu3) ... Preparing to unpack .../2-linux-libc-dev_5.8.0-26.27_s390x.deb ... Unpacking linux-libc-dev:s390x (5.8.0-26.27) over (5.8.0-25.26) ... Preparing to unpack .../3-libtirpc-common_1.2.6-3_all.deb ... Unpacking libtirpc-common (1.2.6-3) over (1.2.6-1build1) ... Preparing to unpack .../4-libtirpc-dev_1.2.6-3_s390x.deb ... Unpacking libtirpc-dev:s390x (1.2.6-3) over (1.2.6-1build1) ... Preparing to unpack .../5-libtirpc3_1.2.6-3_s390x.deb ... Unpacking libtirpc3:s390x (1.2.6-3) over (1.2.6-1build1) ... Preparing to unpack .../6-libcc1-0_10.2.0-16ubuntu1_s390x.deb ... Unpacking libcc1-0:s390x (10.2.0-16ubuntu1) over (10.2.0-13ubuntu1) ... Preparing to unpack .../7-gcc-10-base_10.2.0-16ubuntu1_s390x.deb ... Unpacking gcc-10-base:s390x (10.2.0-16ubuntu1) over (10.2.0-13ubuntu1) ... Setting up gcc-10-base:s390x (10.2.0-16ubuntu1) ... (Reading database ... 12765 files and directories currently installed.) Preparing to unpack .../libgcc-s1_10.2.0-16ubuntu1_s390x.deb ... Unpacking libgcc-s1:s390x (10.2.0-16ubuntu1) over (10.2.0-13ubuntu1) ... Setting up libgcc-s1:s390x (10.2.0-16ubuntu1) ... (Reading database ... 12765 files and directories currently installed.) Preparing to unpack .../00-libgomp1_10.2.0-16ubuntu1_s390x.deb ... Unpacking libgomp1:s390x (10.2.0-16ubuntu1) over (10.2.0-13ubuntu1) ... Preparing to unpack .../01-libitm1_10.2.0-16ubuntu1_s390x.deb ... Unpacking libitm1:s390x (10.2.0-16ubuntu1) over (10.2.0-13ubuntu1) ... Preparing to unpack .../02-libatomic1_10.2.0-16ubuntu1_s390x.deb ... Unpacking libatomic1:s390x (10.2.0-16ubuntu1) over (10.2.0-13ubuntu1) ... Preparing to unpack .../03-libasan6_10.2.0-16ubuntu1_s390x.deb ... Unpacking libasan6:s390x (10.2.0-16ubuntu1) over (10.2.0-13ubuntu1) ... Preparing to unpack .../04-libubsan1_10.2.0-16ubuntu1_s390x.deb ... Unpacking libubsan1:s390x (10.2.0-16ubuntu1) over (10.2.0-13ubuntu1) ... Preparing to unpack .../05-g++-10_10.2.0-16ubuntu1_s390x.deb ... Unpacking g++-10 (10.2.0-16ubuntu1) over (10.2.0-13ubuntu1) ... Preparing to unpack .../06-libstdc++-10-dev_10.2.0-16ubuntu1_s390x.deb ... Unpacking libstdc++-10-dev:s390x (10.2.0-16ubuntu1) over (10.2.0-13ubuntu1) ... Preparing to unpack .../07-libgcc-10-dev_10.2.0-16ubuntu1_s390x.deb ... Unpacking libgcc-10-dev:s390x (10.2.0-16ubuntu1) over (10.2.0-13ubuntu1) ... Preparing to unpack .../08-gcc-10_10.2.0-16ubuntu1_s390x.deb ... Unpacking gcc-10 (10.2.0-16ubuntu1) over (10.2.0-13ubuntu1) ... Preparing to unpack .../09-cpp-10_10.2.0-16ubuntu1_s390x.deb ... Unpacking cpp-10 (10.2.0-16ubuntu1) over (10.2.0-13ubuntu1) ... Preparing to unpack .../10-libstdc++6_10.2.0-16ubuntu1_s390x.deb ... Unpacking libstdc++6:s390x (10.2.0-16ubuntu1) over (10.2.0-13ubuntu1) ... Setting up libstdc++6:s390x (10.2.0-16ubuntu1) ... (Reading database ... 12765 files and directories currently installed.) Preparing to unpack .../0-libmpc3_1.2.0-1_s390x.deb ... Unpacking libmpc3:s390x (1.2.0-1) over (1.2.0~rc1-1) ... Preparing to unpack .../1-libctf-nobfd0_2.35.1-2ubuntu1_s390x.deb ... Unpacking libctf-nobfd0:s390x (2.35.1-2ubuntu1) over (2.35.1-1ubuntu1) ... Preparing to unpack .../2-libctf0_2.35.1-2ubuntu1_s390x.deb ... Unpacking libctf0:s390x (2.35.1-2ubuntu1) over (2.35.1-1ubuntu1) ... Preparing to unpack .../3-libbinutils_2.35.1-2ubuntu1_s390x.deb ... Unpacking libbinutils:s390x (2.35.1-2ubuntu1) over (2.35.1-1ubuntu1) ... Preparing to unpack .../4-binutils-common_2.35.1-2ubuntu1_s390x.deb ... Unpacking binutils-common:s390x (2.35.1-2ubuntu1) over (2.35.1-1ubuntu1) ... Preparing to unpack .../5-binutils_2.35.1-2ubuntu1_s390x.deb ... Unpacking binutils (2.35.1-2ubuntu1) over (2.35.1-1ubuntu1) ... Preparing to unpack .../6-binutils-s390x-linux-gnu_2.35.1-2ubuntu1_s390x.deb ... Unpacking binutils-s390x-linux-gnu (2.35.1-2ubuntu1) over (2.35.1-1ubuntu1) ... Preparing to unpack .../7-libc6_2.32-0ubuntu4_s390x.deb ... Unpacking libc6:s390x (2.32-0ubuntu4) over (2.32-0ubuntu3) ... Setting up libc6:s390x (2.32-0ubuntu4) ... (Reading database ... 12765 files and directories currently installed.) Preparing to unpack .../base-files_11ubuntu16_s390x.deb ... Unpacking base-files (11ubuntu16) over (11ubuntu14) ... Setting up base-files (11ubuntu16) ... Installing new version of config file /etc/issue ... Installing new version of config file /etc/issue.net ... Installing new version of config file /etc/lsb-release ... (Reading database ... 12765 files and directories currently installed.) Preparing to unpack .../libncursesw6_6.2+20200918-1_s390x.deb ... Unpacking libncursesw6:s390x (6.2+20200918-1) over (6.2-1) ... Preparing to unpack .../libncurses6_6.2+20200918-1_s390x.deb ... Unpacking libncurses6:s390x (6.2+20200918-1) over (6.2-1) ... Preparing to unpack .../libtinfo6_6.2+20200918-1_s390x.deb ... Unpacking libtinfo6:s390x (6.2+20200918-1) over (6.2-1) ... Setting up libtinfo6:s390x (6.2+20200918-1) ... (Reading database ... 12765 files and directories currently installed.) Preparing to unpack .../ncurses-bin_6.2+20200918-1_s390x.deb ... Unpacking ncurses-bin (6.2+20200918-1) over (6.2-1) ... Setting up ncurses-bin (6.2+20200918-1) ... (Reading database ... 12765 files and directories currently installed.) Preparing to unpack .../perl_5.32.0-4_s390x.deb ... Unpacking perl (5.32.0-4) over (5.30.3-4) ... Selecting previously unselected package perl-modules-5.32. Preparing to unpack .../perl-modules-5.32_5.32.0-4_all.deb ... Unpacking perl-modules-5.32 (5.32.0-4) ... Selecting previously unselected package libperl5.32:s390x. Preparing to unpack .../libperl5.32_5.32.0-4_s390x.deb ... Unpacking libperl5.32:s390x (5.32.0-4) ... Preparing to unpack .../perl-base_5.32.0-4_s390x.deb ... Unpacking perl-base (5.32.0-4) over (5.30.3-4) ... Setting up perl-base (5.32.0-4) ... (Reading database ... 14685 files and directories currently installed.) Preparing to unpack .../libdebconfclient0_0.255ubuntu1_s390x.deb ... Unpacking libdebconfclient0:s390x (0.255ubuntu1) over (0.252ubuntu1) ... Setting up libdebconfclient0:s390x (0.255ubuntu1) ... (Reading database ... 14685 files and directories currently installed.) Preparing to unpack .../base-passwd_3.5.48_s390x.deb ... Unpacking base-passwd (3.5.48) over (3.5.47) ... Setting up base-passwd (3.5.48) ... Changing home-directory of irc from /var/run/ircd to /run/ircd 1 changes have been made, rewriting files Writing passwd-file to /etc/passwd Writing shadow-file to /etc/shadow Writing group-file to /etc/group (Reading database ... 14685 files and directories currently installed.) Preparing to unpack .../libc-bin_2.32-0ubuntu4_s390x.deb ... Unpacking libc-bin (2.32-0ubuntu4) over (2.32-0ubuntu3) ... Setting up libc-bin (2.32-0ubuntu4) ... (Reading database ... 14685 files and directories currently installed.) Preparing to unpack .../ncurses-base_6.2+20200918-1_all.deb ... Unpacking ncurses-base (6.2+20200918-1) over (6.2-1) ... Setting up ncurses-base (6.2+20200918-1) ... (Reading database ... 14685 files and directories currently installed.) Preparing to unpack .../sysvinit-utils_2.96-5ubuntu1_s390x.deb ... Unpacking sysvinit-utils (2.96-5ubuntu1) over (2.96-3ubuntu1) ... Setting up sysvinit-utils (2.96-5ubuntu1) ... (Reading database ... 14685 files and directories currently installed.) Preparing to unpack .../systemd-timesyncd_246.6-2ubuntu1_s390x.deb ... Unpacking systemd-timesyncd (246.6-2ubuntu1) over (246.6-1ubuntu1) ... Preparing to unpack .../systemd-sysv_246.6-2ubuntu1_s390x.deb ... Unpacking systemd-sysv (246.6-2ubuntu1) over (246.6-1ubuntu1) ... Preparing to unpack .../libapparmor1_3.0.0-0ubuntu3_s390x.deb ... Unpacking libapparmor1:s390x (3.0.0-0ubuntu3) over (3.0.0-0ubuntu1) ... Preparing to unpack .../libaudit-common_1%3a2.8.5-3ubuntu2_all.deb ... Unpacking libaudit-common (1:2.8.5-3ubuntu2) over (1:2.8.5-3ubuntu1) ... Setting up libaudit-common (1:2.8.5-3ubuntu2) ... (Reading database ... 14685 files and directories currently installed.) Preparing to unpack .../libaudit1_1%3a2.8.5-3ubuntu2_s390x.deb ... Unpacking libaudit1:s390x (1:2.8.5-3ubuntu2) over (1:2.8.5-3ubuntu1) ... Setting up libaudit1:s390x (1:2.8.5-3ubuntu2) ... (Reading database ... 14685 files and directories currently installed.) Preparing to unpack .../libcap2_1%3a2.44-1_s390x.deb ... Unpacking libcap2:s390x (1:2.44-1) over (1:2.43-1) ... Preparing to unpack .../libidn2-0_2.3.0-2_s390x.deb ... Unpacking libidn2-0:s390x (2.3.0-2) over (2.3.0-1) ... Setting up libidn2-0:s390x (2.3.0-2) ... (Reading database ... 14685 files and directories currently installed.) Preparing to unpack .../libip4tc2_1.8.5-3ubuntu3_s390x.deb ... Unpacking libip4tc2:s390x (1.8.5-3ubuntu3) over (1.8.5-3ubuntu1) ... Preparing to unpack .../libseccomp2_2.4.3-1ubuntu5_s390x.deb ... Unpacking libseccomp2:s390x (2.4.3-1ubuntu5) over (2.4.3-1ubuntu4) ... Setting up libseccomp2:s390x (2.4.3-1ubuntu5) ... (Reading database ... 14685 files and directories currently installed.) Preparing to unpack .../systemd_246.6-2ubuntu1_s390x.deb ... Unpacking systemd (246.6-2ubuntu1) over (246.6-1ubuntu1) ... Preparing to unpack .../libsystemd0_246.6-2ubuntu1_s390x.deb ... Unpacking libsystemd0:s390x (246.6-2ubuntu1) over (246.6-1ubuntu1) ... Setting up libsystemd0:s390x (246.6-2ubuntu1) ... (Reading database ... 14685 files and directories currently installed.) Preparing to unpack .../libudev1_246.6-2ubuntu1_s390x.deb ... Unpacking libudev1:s390x (246.6-2ubuntu1) over (246.6-1ubuntu1) ... Setting up libudev1:s390x (246.6-2ubuntu1) ... (Reading database ... 14685 files and directories currently installed.) Preparing to unpack .../libapt-pkg6.0_2.1.11_s390x.deb ... Unpacking libapt-pkg6.0:s390x (2.1.11) over (2.1.10) ... Setting up libapt-pkg6.0:s390x (2.1.11) ... (Reading database ... 14685 files and directories currently installed.) Preparing to unpack .../archives/apt_2.1.11_s390x.deb ... Unpacking apt (2.1.11) over (2.1.10) ... Setting up apt (2.1.11) ... (Reading database ... 14685 files and directories currently installed.) Preparing to unpack .../libselinux1_3.1-2build1_s390x.deb ... Unpacking libselinux1:s390x (3.1-2build1) over (3.1-2) ... Setting up libselinux1:s390x (3.1-2build1) ... (Reading database ... 14685 files and directories currently installed.) Preparing to unpack .../libsemanage-common_3.1-1build1_all.deb ... Unpacking libsemanage-common (3.1-1build1) over (3.1-1) ... Setting up libsemanage-common (3.1-1build1) ... (Reading database ... 14685 files and directories currently installed.) Preparing to unpack .../libsemanage1_3.1-1build1_s390x.deb ... Unpacking libsemanage1:s390x (3.1-1build1) over (3.1-1) ... Setting up libsemanage1:s390x (3.1-1build1) ... (Reading database ... 14685 files and directories currently installed.) Preparing to unpack .../tzdata_2020d-1ubuntu1_all.deb ... Unpacking tzdata (2020d-1ubuntu1) over (2020b-1ubuntu1) ... Preparing to unpack .../libfakeroot_1.25.3-1_s390x.deb ... Unpacking libfakeroot:s390x (1.25.3-1) over (1.25.2-1) ... Preparing to unpack .../fakeroot_1.25.3-1_s390x.deb ... Unpacking fakeroot (1.25.3-1) over (1.25.2-1) ... Preparing to unpack .../libnpth0_1.6-3_s390x.deb ... Unpacking libnpth0:s390x (1.6-3) over (1.6-2) ... Setting up libip4tc2:s390x (1.8.5-3ubuntu3) ... Setting up libapparmor1:s390x (3.0.0-0ubuntu3) ... Setting up libtirpc-common (1.2.6-3) ... Setting up perl-modules-5.32 (5.32.0-4) ... Setting up binutils-common:s390x (2.35.1-2ubuntu1) ... Setting up linux-libc-dev:s390x (5.8.0-26.27) ... Setting up libctf-nobfd0:s390x (2.35.1-2ubuntu1) ... Setting up libnpth0:s390x (1.6-3) ... Setting up libgomp1:s390x (10.2.0-16ubuntu1) ... Setting up libcap2:s390x (1:2.44-1) ... Setting up libfakeroot:s390x (1.25.3-1) ... Setting up libasan6:s390x (10.2.0-16ubuntu1) ... Setting up tzdata (2020d-1ubuntu1) ... Current default time zone: 'Etc/UTC' Local time is now: Mon Nov 9 14:22:39 UTC 2020. Universal Time is now: Mon Nov 9 14:22:39 UTC 2020. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up fakeroot (1.25.3-1) ... Setting up libncurses6:s390x (6.2+20200918-1) ... Setting up libmpc3:s390x (1.2.0-1) ... Setting up libatomic1:s390x (10.2.0-16ubuntu1) ... Setting up libncursesw6:s390x (6.2+20200918-1) ... Setting up libperl5.32:s390x (5.32.0-4) ... Setting up libubsan1:s390x (10.2.0-16ubuntu1) ... Setting up libcrypt-dev:s390x (1:4.4.17-1ubuntu1) ... Setting up libbinutils:s390x (2.35.1-2ubuntu1) ... Setting up libc-dev-bin (2.32-0ubuntu4) ... Setting up libcc1-0:s390x (10.2.0-16ubuntu1) ... Setting up cpp-10 (10.2.0-16ubuntu1) ... Setting up libitm1:s390x (10.2.0-16ubuntu1) ... Setting up libctf0:s390x (2.35.1-2ubuntu1) ... Setting up libtirpc3:s390x (1.2.6-3) ... Setting up binutils-s390x-linux-gnu (2.35.1-2ubuntu1) ... Setting up libgcc-10-dev:s390x (10.2.0-16ubuntu1) ... Setting up binutils (2.35.1-2ubuntu1) ... Setting up perl (5.32.0-4) ... Setting up libtirpc-dev:s390x (1.2.6-3) ... Setting up gcc-10 (10.2.0-16ubuntu1) ... Setting up libc6-dev:s390x (2.32-0ubuntu4) ... Setting up libstdc++-10-dev:s390x (10.2.0-16ubuntu1) ... Setting up g++-10 (10.2.0-16ubuntu1) ... Setting up systemd (246.6-2ubuntu1) ... Initializing machine ID from random generator. Setting up systemd-timesyncd (246.6-2ubuntu1) ... Setting up systemd-sysv (246.6-2ubuntu1) ... Processing triggers for libc-bin (2.32-0ubuntu4) ... RUN: /usr/share/launchpad-buildd/bin/sbuild-package PACKAGEBUILD-20269127 s390x hirsute-proposed -c chroot:build-PACKAGEBUILD-20269127 --arch=s390x --dist=hirsute-proposed --nolog libffi-platypus-perl_1.34-1build1.dsc Initiating build PACKAGEBUILD-20269127 with 4 jobs across 4 processor cores. Kernel reported to sbuild: 4.15.0-122-generic #124-Ubuntu SMP Thu Oct 15 13:02:05 UTC 2020 s390x sbuild (Debian sbuild) 0.75.0 (21 Mar 2018) on bos02-s390x-013.buildd +==============================================================================+ | libffi-platypus-perl 1.34-1build1 (s390x) Mon, 09 Nov 2020 14:22:40 +0000 | +==============================================================================+ Package: libffi-platypus-perl Version: 1.34-1build1 Source Version: 1.34-1build1 Distribution: hirsute-proposed Machine Architecture: s390x Host Architecture: s390x Build Architecture: s390x Build Type: any I: NOTICE: Log filtering will replace 'home/buildd/build-PACKAGEBUILD-20269127/chroot-autobuild' with '<>' +------------------------------------------------------------------------------+ | Fetch source files | +------------------------------------------------------------------------------+ Local sources ------------- libffi-platypus-perl_1.34-1build1.dsc exists in .; copying to chroot I: NOTICE: Log filtering will replace 'build/libffi-platypus-perl-oNIIg8/libffi-platypus-perl-1.34' with '<>' I: NOTICE: Log filtering will replace 'build/libffi-platypus-perl-oNIIg8' with '<>' +------------------------------------------------------------------------------+ | Install build-essential | +------------------------------------------------------------------------------+ Setup apt archive ----------------- Merged Build-Depends: build-essential, fakeroot Filtered Build-Depends: build-essential, fakeroot dpkg-deb: building package 'sbuild-build-depends-core-dummy' in '/<>/resolver-DJBBqn/apt_archive/sbuild-build-depends-core-dummy.deb'. dpkg-scanpackages: warning: Packages in archive but missing from override file: dpkg-scanpackages: warning: sbuild-build-depends-core-dummy dpkg-scanpackages: info: Wrote 1 entries to output Packages file. Ign:1 copy:/<>/resolver-DJBBqn/apt_archive ./ InRelease Get:2 copy:/<>/resolver-DJBBqn/apt_archive ./ Release [957 B] Ign:3 copy:/<>/resolver-DJBBqn/apt_archive ./ Release.gpg Get:4 copy:/<>/resolver-DJBBqn/apt_archive ./ Sources [349 B] Get:5 copy:/<>/resolver-DJBBqn/apt_archive ./ Packages [433 B] Fetched 1739 B in 0s (0 B/s) Reading package lists... Reading package lists... Install core build dependencies (apt-based resolver) ---------------------------------------------------- Installing build dependencies Reading package lists... Building dependency tree... Reading state information... The following packages were automatically installed and are no longer required: libperl5.30 perl-modules-5.30 Use 'apt autoremove' to remove them. The following NEW packages will be installed: sbuild-build-depends-core-dummy 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 856 B of archives. After this operation, 0 B of additional disk space will be used. Get:1 copy:/<>/resolver-DJBBqn/apt_archive ./ sbuild-build-depends-core-dummy 0.invalid.0 [856 B] debconf: delaying package configuration, since apt-utils is not installed Fetched 856 B in 0s (0 B/s) Selecting previously unselected package sbuild-build-depends-core-dummy. (Reading database ... 14685 files and directories currently installed.) Preparing to unpack .../sbuild-build-depends-core-dummy_0.invalid.0_s390x.deb ... Unpacking sbuild-build-depends-core-dummy (0.invalid.0) ... Setting up sbuild-build-depends-core-dummy (0.invalid.0) ... +------------------------------------------------------------------------------+ | Check architectures | +------------------------------------------------------------------------------+ Arch check ok (s390x included in any) +------------------------------------------------------------------------------+ | Install package build dependencies | +------------------------------------------------------------------------------+ Setup apt archive ----------------- Merged Build-Depends: debhelper-compat (= 13), libcapture-tiny-perl, libextutils-parsexs-perl (>= 3.300000), libffi-checklib-perl, libffi-dev, libscalar-list-utils-perl (>= 1:1.45), perl-xs-dev, perl (>= 5.25.2), pkg-config | libpkgconfig-perl Filtered Build-Depends: debhelper-compat (= 13), libcapture-tiny-perl, libextutils-parsexs-perl (>= 3.300000), libffi-checklib-perl, libffi-dev, libscalar-list-utils-perl (>= 1:1.45), perl-xs-dev, perl (>= 5.25.2), pkg-config | libpkgconfig-perl dpkg-deb: building package 'sbuild-build-depends-libffi-platypus-perl-dummy' in '/<>/resolver-DJBBqn/apt_archive/sbuild-build-depends-libffi-platypus-perl-dummy.deb'. dpkg-scanpackages: warning: Packages in archive but missing from override file: dpkg-scanpackages: warning: sbuild-build-depends-core-dummy sbuild-build-depends-libffi-platypus-perl-dummy dpkg-scanpackages: info: Wrote 2 entries to output Packages file. Ign:1 copy:/<>/resolver-DJBBqn/apt_archive ./ InRelease Get:2 copy:/<>/resolver-DJBBqn/apt_archive ./ Release [963 B] Ign:3 copy:/<>/resolver-DJBBqn/apt_archive ./ Release.gpg Get:4 copy:/<>/resolver-DJBBqn/apt_archive ./ Sources [615 B] Get:5 copy:/<>/resolver-DJBBqn/apt_archive ./ Packages [684 B] Fetched 2262 B in 0s (224 kB/s) Reading package lists... Reading package lists... Install libffi-platypus-perl build dependencies (apt-based resolver) -------------------------------------------------------------------- Installing build dependencies Reading package lists... Building dependency tree... Reading state information... The following packages were automatically installed and are no longer required: libperl5.30 perl-modules-5.30 Use 'apt autoremove' to remove them. The following additional packages will be installed: autoconf automake autopoint autotools-dev bsdextrautils debhelper dh-autoreconf dh-strip-nondeterminism dwz file gettext gettext-base groff-base intltool-debian libarchive-zip-perl libcapture-tiny-perl libcroco3 libdebhelper-perl libelf1 libffi-checklib-perl libffi-dev libfile-stripnondeterminism-perl libglib2.0-0 libicu67 libmagic-mgc libmagic1 libperl-dev libpipeline1 libsigsegv2 libsub-override-perl libtool libuchardet0 libxml2 m4 man-db pkg-config po-debconf Suggested packages: autoconf-archive gnu-standards autoconf-doc dh-make gettext-doc libasprintf-dev libgettextpo-dev groff libtool-doc gfortran | fortran95-compiler gcj-jdk m4-doc apparmor less www-browser libmail-box-perl Recommended packages: curl | wget | lynx libarchive-cpio-perl libglib2.0-data shared-mime-info xdg-user-dirs libltdl-dev libmail-sendmail-perl The following NEW packages will be installed: autoconf automake autopoint autotools-dev bsdextrautils debhelper dh-autoreconf dh-strip-nondeterminism dwz file gettext gettext-base groff-base intltool-debian libarchive-zip-perl libcapture-tiny-perl libcroco3 libdebhelper-perl libelf1 libffi-checklib-perl libffi-dev libfile-stripnondeterminism-perl libglib2.0-0 libicu67 libmagic-mgc libmagic1 libperl-dev libpipeline1 libsigsegv2 libsub-override-perl libtool libuchardet0 libxml2 m4 man-db pkg-config po-debconf sbuild-build-depends-libffi-platypus-perl-dummy 0 upgraded, 38 newly installed, 0 to remove and 0 not upgraded. Need to get 18.2 MB of archives. After this operation, 75.6 MB of additional disk space will be used. Get:1 copy:/<>/resolver-DJBBqn/apt_archive ./ sbuild-build-depends-libffi-platypus-perl-dummy 0.invalid.0 [968 B] Get:2 http://ftpmaster.internal/ubuntu hirsute/main s390x bsdextrautils s390x 2.36-3ubuntu1 [77.4 kB] Get:3 http://ftpmaster.internal/ubuntu hirsute/main s390x libuchardet0 s390x 0.0.7-1 [67.5 kB] Get:4 http://ftpmaster.internal/ubuntu hirsute/main s390x groff-base s390x 1.22.4-5 [812 kB] Get:5 http://ftpmaster.internal/ubuntu hirsute/main s390x libpipeline1 s390x 1.5.3-1 [28.7 kB] Get:6 http://ftpmaster.internal/ubuntu hirsute/main s390x man-db s390x 2.9.3-2 [1106 kB] Get:7 http://ftpmaster.internal/ubuntu hirsute/main s390x libmagic-mgc s390x 1:5.38-5 [219 kB] Get:8 http://ftpmaster.internal/ubuntu hirsute/main s390x libmagic1 s390x 1:5.38-5 [72.9 kB] Get:9 http://ftpmaster.internal/ubuntu hirsute/main s390x file s390x 1:5.38-5 [23.1 kB] Get:10 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x libelf1 s390x 0.182-1 [48.2 kB] Get:11 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x libglib2.0-0 s390x 2.66.2-1 [1321 kB] Get:12 http://ftpmaster.internal/ubuntu hirsute/main s390x libicu67 s390x 67.1-4 [8473 kB] Get:13 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x libxml2 s390x 2.9.10+dfsg-6.2 [645 kB] Get:14 http://ftpmaster.internal/ubuntu hirsute/main s390x gettext-base s390x 0.19.8.1-10build1 [49.0 kB] Get:15 http://ftpmaster.internal/ubuntu hirsute/main s390x libsigsegv2 s390x 2.12-2build1 [13.7 kB] Get:16 http://ftpmaster.internal/ubuntu hirsute/main s390x m4 s390x 1.4.18-4 [196 kB] Get:17 http://ftpmaster.internal/ubuntu hirsute/main s390x autoconf all 2.69-11.1 [321 kB] Get:18 http://ftpmaster.internal/ubuntu hirsute/main s390x autotools-dev all 20180224.1 [39.6 kB] Get:19 http://ftpmaster.internal/ubuntu hirsute/main s390x automake all 1:1.16.2-4ubuntu1 [548 kB] Get:20 http://ftpmaster.internal/ubuntu hirsute/main s390x autopoint all 0.19.8.1-10build1 [412 kB] Get:21 http://ftpmaster.internal/ubuntu hirsute/main s390x libtool all 2.4.6-14 [161 kB] Get:22 http://ftpmaster.internal/ubuntu hirsute/main s390x dh-autoreconf all 19 [16.1 kB] Get:23 http://ftpmaster.internal/ubuntu hirsute/main s390x libdebhelper-perl all 13.2.1ubuntu1 [63.6 kB] Get:24 http://ftpmaster.internal/ubuntu hirsute/main s390x libarchive-zip-perl all 1.68-1 [90.2 kB] Get:25 http://ftpmaster.internal/ubuntu hirsute/main s390x libsub-override-perl all 0.09-2 [9532 B] Get:26 http://ftpmaster.internal/ubuntu hirsute/main s390x libfile-stripnondeterminism-perl all 1.9.0-1 [17.2 kB] Get:27 http://ftpmaster.internal/ubuntu hirsute/main s390x dh-strip-nondeterminism all 1.9.0-1 [5192 B] Get:28 http://ftpmaster.internal/ubuntu hirsute/main s390x dwz s390x 0.13-5 [146 kB] Get:29 http://ftpmaster.internal/ubuntu hirsute/main s390x libcroco3 s390x 0.6.13-1 [73.7 kB] Get:30 http://ftpmaster.internal/ubuntu hirsute/main s390x gettext s390x 0.19.8.1-10build1 [867 kB] Get:31 http://ftpmaster.internal/ubuntu hirsute/main s390x intltool-debian all 0.35.0+20060710.5 [24.9 kB] Get:32 http://ftpmaster.internal/ubuntu hirsute/main s390x po-debconf all 1.0.21 [233 kB] Get:33 http://ftpmaster.internal/ubuntu hirsute/main s390x debhelper all 13.2.1ubuntu1 [879 kB] Get:34 http://ftpmaster.internal/ubuntu hirsute/main s390x libcapture-tiny-perl all 0.48-1 [20.4 kB] Get:35 http://ftpmaster.internal/ubuntu hirsute/universe s390x libffi-checklib-perl all 0.27-1 [14.0 kB] Get:36 http://ftpmaster.internal/ubuntu hirsute-proposed/main s390x libperl-dev s390x 5.32.0-4 [1042 kB] Get:37 http://ftpmaster.internal/ubuntu hirsute/main s390x pkg-config s390x 0.29.2-1ubuntu1 [45.0 kB] Get:38 http://ftpmaster.internal/ubuntu hirsute/main s390x libffi-dev s390x 3.4~20200819gead65ca871-0ubuntu3 [55.4 kB] debconf: delaying package configuration, since apt-utils is not installed Fetched 18.2 MB in 0s (50.2 MB/s) Selecting previously unselected package bsdextrautils. (Reading database ... 14685 files and directories currently installed.) Preparing to unpack .../00-bsdextrautils_2.36-3ubuntu1_s390x.deb ... Unpacking bsdextrautils (2.36-3ubuntu1) ... Selecting previously unselected package libuchardet0:s390x. Preparing to unpack .../01-libuchardet0_0.0.7-1_s390x.deb ... Unpacking libuchardet0:s390x (0.0.7-1) ... Selecting previously unselected package groff-base. Preparing to unpack .../02-groff-base_1.22.4-5_s390x.deb ... Unpacking groff-base (1.22.4-5) ... Selecting previously unselected package libpipeline1:s390x. Preparing to unpack .../03-libpipeline1_1.5.3-1_s390x.deb ... Unpacking libpipeline1:s390x (1.5.3-1) ... Selecting previously unselected package man-db. Preparing to unpack .../04-man-db_2.9.3-2_s390x.deb ... Unpacking man-db (2.9.3-2) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../05-libmagic-mgc_1%3a5.38-5_s390x.deb ... Unpacking libmagic-mgc (1:5.38-5) ... Selecting previously unselected package libmagic1:s390x. Preparing to unpack .../06-libmagic1_1%3a5.38-5_s390x.deb ... Unpacking libmagic1:s390x (1:5.38-5) ... Selecting previously unselected package file. Preparing to unpack .../07-file_1%3a5.38-5_s390x.deb ... Unpacking file (1:5.38-5) ... Selecting previously unselected package libelf1:s390x. Preparing to unpack .../08-libelf1_0.182-1_s390x.deb ... Unpacking libelf1:s390x (0.182-1) ... Selecting previously unselected package libglib2.0-0:s390x. Preparing to unpack .../09-libglib2.0-0_2.66.2-1_s390x.deb ... Unpacking libglib2.0-0:s390x (2.66.2-1) ... Selecting previously unselected package libicu67:s390x. Preparing to unpack .../10-libicu67_67.1-4_s390x.deb ... Unpacking libicu67:s390x (67.1-4) ... Selecting previously unselected package libxml2:s390x. Preparing to unpack .../11-libxml2_2.9.10+dfsg-6.2_s390x.deb ... Unpacking libxml2:s390x (2.9.10+dfsg-6.2) ... Selecting previously unselected package gettext-base. Preparing to unpack .../12-gettext-base_0.19.8.1-10build1_s390x.deb ... Unpacking gettext-base (0.19.8.1-10build1) ... Selecting previously unselected package libsigsegv2:s390x. Preparing to unpack .../13-libsigsegv2_2.12-2build1_s390x.deb ... Unpacking libsigsegv2:s390x (2.12-2build1) ... Selecting previously unselected package m4. Preparing to unpack .../14-m4_1.4.18-4_s390x.deb ... Unpacking m4 (1.4.18-4) ... Selecting previously unselected package autoconf. Preparing to unpack .../15-autoconf_2.69-11.1_all.deb ... Unpacking autoconf (2.69-11.1) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../16-autotools-dev_20180224.1_all.deb ... Unpacking autotools-dev (20180224.1) ... Selecting previously unselected package automake. Preparing to unpack .../17-automake_1%3a1.16.2-4ubuntu1_all.deb ... Unpacking automake (1:1.16.2-4ubuntu1) ... Selecting previously unselected package autopoint. Preparing to unpack .../18-autopoint_0.19.8.1-10build1_all.deb ... Unpacking autopoint (0.19.8.1-10build1) ... Selecting previously unselected package libtool. Preparing to unpack .../19-libtool_2.4.6-14_all.deb ... Unpacking libtool (2.4.6-14) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../20-dh-autoreconf_19_all.deb ... Unpacking dh-autoreconf (19) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../21-libdebhelper-perl_13.2.1ubuntu1_all.deb ... Unpacking libdebhelper-perl (13.2.1ubuntu1) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../22-libarchive-zip-perl_1.68-1_all.deb ... Unpacking libarchive-zip-perl (1.68-1) ... Selecting previously unselected package libsub-override-perl. Preparing to unpack .../23-libsub-override-perl_0.09-2_all.deb ... Unpacking libsub-override-perl (0.09-2) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../24-libfile-stripnondeterminism-perl_1.9.0-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.9.0-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../25-dh-strip-nondeterminism_1.9.0-1_all.deb ... Unpacking dh-strip-nondeterminism (1.9.0-1) ... Selecting previously unselected package dwz. Preparing to unpack .../26-dwz_0.13-5_s390x.deb ... Unpacking dwz (0.13-5) ... Selecting previously unselected package libcroco3:s390x. Preparing to unpack .../27-libcroco3_0.6.13-1_s390x.deb ... Unpacking libcroco3:s390x (0.6.13-1) ... Selecting previously unselected package gettext. Preparing to unpack .../28-gettext_0.19.8.1-10build1_s390x.deb ... Unpacking gettext (0.19.8.1-10build1) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../29-intltool-debian_0.35.0+20060710.5_all.deb ... Unpacking intltool-debian (0.35.0+20060710.5) ... Selecting previously unselected package po-debconf. Preparing to unpack .../30-po-debconf_1.0.21_all.deb ... Unpacking po-debconf (1.0.21) ... Selecting previously unselected package debhelper. Preparing to unpack .../31-debhelper_13.2.1ubuntu1_all.deb ... Unpacking debhelper (13.2.1ubuntu1) ... Selecting previously unselected package libcapture-tiny-perl. Preparing to unpack .../32-libcapture-tiny-perl_0.48-1_all.deb ... Unpacking libcapture-tiny-perl (0.48-1) ... Selecting previously unselected package libffi-checklib-perl. Preparing to unpack .../33-libffi-checklib-perl_0.27-1_all.deb ... Unpacking libffi-checklib-perl (0.27-1) ... Selecting previously unselected package libperl-dev:s390x. Preparing to unpack .../34-libperl-dev_5.32.0-4_s390x.deb ... Unpacking libperl-dev:s390x (5.32.0-4) ... Selecting previously unselected package pkg-config. Preparing to unpack .../35-pkg-config_0.29.2-1ubuntu1_s390x.deb ... Unpacking pkg-config (0.29.2-1ubuntu1) ... Selecting previously unselected package libffi-dev:s390x. Preparing to unpack .../36-libffi-dev_3.4~20200819gead65ca871-0ubuntu3_s390x.deb ... Unpacking libffi-dev:s390x (3.4~20200819gead65ca871-0ubuntu3) ... Selecting previously unselected package sbuild-build-depends-libffi-platypus-perl-dummy. Preparing to unpack .../37-sbuild-build-depends-libffi-platypus-perl-dummy_0.invalid.0_s390x.deb ... Unpacking sbuild-build-depends-libffi-platypus-perl-dummy (0.invalid.0) ... Setting up libpipeline1:s390x (1.5.3-1) ... Setting up bsdextrautils (2.36-3ubuntu1) ... update-alternatives: using /usr/bin/write.ul to provide /usr/bin/write (write) in auto mode Setting up libicu67:s390x (67.1-4) ... Setting up libmagic-mgc (1:5.38-5) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libglib2.0-0:s390x (2.66.2-1) ... No schema files found: doing nothing. Setting up libdebhelper-perl (13.2.1ubuntu1) ... Setting up libmagic1:s390x (1:5.38-5) ... Setting up gettext-base (0.19.8.1-10build1) ... Setting up libperl-dev:s390x (5.32.0-4) ... Setting up file (1:5.38-5) ... Setting up libffi-dev:s390x (3.4~20200819gead65ca871-0ubuntu3) ... Setting up autotools-dev (20180224.1) ... Setting up libffi-checklib-perl (0.27-1) ... Setting up libsigsegv2:s390x (2.12-2build1) ... Setting up autopoint (0.19.8.1-10build1) ... Setting up pkg-config (0.29.2-1ubuntu1) ... Setting up libcapture-tiny-perl (0.48-1) ... Setting up libuchardet0:s390x (0.0.7-1) ... Setting up libsub-override-perl (0.09-2) ... Setting up libelf1:s390x (0.182-1) ... Setting up libxml2:s390x (2.9.10+dfsg-6.2) ... Setting up libfile-stripnondeterminism-perl (1.9.0-1) ... Setting up libtool (2.4.6-14) ... Setting up m4 (1.4.18-4) ... Setting up libcroco3:s390x (0.6.13-1) ... Setting up autoconf (2.69-11.1) ... Setting up dh-strip-nondeterminism (1.9.0-1) ... Setting up dwz (0.13-5) ... Setting up groff-base (1.22.4-5) ... Setting up automake (1:1.16.2-4ubuntu1) ... update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode Setting up gettext (0.19.8.1-10build1) ... Setting up man-db (2.9.3-2) ... Not building database; man-db/auto-update is not 'true'. Created symlink /etc/systemd/system/timers.target.wants/man-db.timer → /lib/systemd/system/man-db.timer. Setting up intltool-debian (0.35.0+20060710.5) ... Setting up po-debconf (1.0.21) ... Setting up dh-autoreconf (19) ... Setting up debhelper (13.2.1ubuntu1) ... Setting up sbuild-build-depends-libffi-platypus-perl-dummy (0.invalid.0) ... Processing triggers for libc-bin (2.32-0ubuntu4) ... +------------------------------------------------------------------------------+ | Build environment | +------------------------------------------------------------------------------+ Kernel: Linux 4.15.0-122-generic s390x (s390x) Toolchain package versions: binutils_2.35.1-2ubuntu1 dpkg-dev_1.20.5ubuntu2 g++-10_10.2.0-16ubuntu1 gcc-10_10.2.0-16ubuntu1 libc6-dev_2.32-0ubuntu4 libstdc++-10-dev_10.2.0-16ubuntu1 libstdc++6_10.2.0-16ubuntu1 linux-libc-dev_5.8.0-26.27 Package versions: adduser_3.118ubuntu2 advancecomp_2.1-2.1build1 apt_2.1.11 autoconf_2.69-11.1 automake_1:1.16.2-4ubuntu1 autopoint_0.19.8.1-10build1 autotools-dev_20180224.1 base-files_11ubuntu16 base-passwd_3.5.48 bash_5.0-6ubuntu2 binutils_2.35.1-2ubuntu1 binutils-common_2.35.1-2ubuntu1 binutils-s390x-linux-gnu_2.35.1-2ubuntu1 bsdextrautils_2.36-3ubuntu1 bsdutils_1:2.36-3ubuntu1 build-essential_12.8ubuntu3 bzip2_1.0.8-4ubuntu2 ca-certificates_20200601 coreutils_8.32-3ubuntu1 cpp_4:10.2.0-1ubuntu1 cpp-10_10.2.0-16ubuntu1 dash_0.5.10.2-7 debconf_1.5.74 debhelper_13.2.1ubuntu1 debianutils_4.11.2 dh-autoreconf_19 dh-strip-nondeterminism_1.9.0-1 diffutils_1:3.7-3ubuntu1 dpkg_1.20.5ubuntu2 dpkg-dev_1.20.5ubuntu2 dwz_0.13-5 e2fsprogs_1.45.6-1ubuntu1 fakeroot_1.25.3-1 file_1:5.38-5 findutils_4.7.0-1ubuntu2 g++_4:10.2.0-1ubuntu1 g++-10_10.2.0-16ubuntu1 gcc_4:10.2.0-1ubuntu1 gcc-10_10.2.0-16ubuntu1 gcc-10-base_10.2.0-16ubuntu1 gettext_0.19.8.1-10build1 gettext-base_0.19.8.1-10build1 gpg_2.2.20-1ubuntu1 gpg-agent_2.2.20-1ubuntu1 gpgconf_2.2.20-1ubuntu1 gpgv_2.2.20-1ubuntu1 grep_3.4-1 groff-base_1.22.4-5 gzip_1.10-2ubuntu1 hostname_3.23 init_1.58 init-system-helpers_1.58 intltool-debian_0.35.0+20060710.5 libacl1_2.2.53-8 libapparmor1_3.0.0-0ubuntu3 libapt-pkg6.0_2.1.11 libarchive-zip-perl_1.68-1 libargon2-1_0~20171227-0.2build20.10.0 libasan6_10.2.0-16ubuntu1 libassuan0_2.5.3-7.1 libatomic1_10.2.0-16ubuntu1 libattr1_1:2.4.48-5 libaudit-common_1:2.8.5-3ubuntu2 libaudit1_1:2.8.5-3ubuntu2 libbinutils_2.35.1-2ubuntu1 libblkid1_2.36-3ubuntu1 libbz2-1.0_1.0.8-4ubuntu2 libc-bin_2.32-0ubuntu4 libc-dev-bin_2.32-0ubuntu4 libc6_2.32-0ubuntu4 libc6-dev_2.32-0ubuntu4 libcap-ng0_0.7.9-2.2 libcap2_1:2.44-1 libcapture-tiny-perl_0.48-1 libcc1-0_10.2.0-16ubuntu1 libcom-err2_1.45.6-1ubuntu1 libcroco3_0.6.13-1 libcrypt-dev_1:4.4.17-1ubuntu1 libcrypt1_1:4.4.17-1ubuntu1 libcryptsetup12_2:2.3.3-1ubuntu6 libctf-nobfd0_2.35.1-2ubuntu1 libctf0_2.35.1-2ubuntu1 libdb5.3_5.3.28+dfsg1-0.6ubuntu3 libdebconfclient0_0.255ubuntu1 libdebhelper-perl_13.2.1ubuntu1 libdevmapper1.02.1_2:1.02.167-1ubuntu3 libdpkg-perl_1.20.5ubuntu2 libelf1_0.182-1 libext2fs2_1.45.6-1ubuntu1 libfakeroot_1.25.3-1 libffi-checklib-perl_0.27-1 libffi-dev_3.4~20200819gead65ca871-0ubuntu3 libffi8ubuntu1_3.4~20200819gead65ca871-0ubuntu3 libfile-stripnondeterminism-perl_1.9.0-1 libgcc-10-dev_10.2.0-16ubuntu1 libgcc-s1_10.2.0-16ubuntu1 libgcrypt20_1.8.5-5ubuntu2 libgdbm-compat4_1.18.1-5.1 libgdbm6_1.18.1-5.1 libglib2.0-0_2.66.2-1 libgmp10_2:6.2.0+dfsg-6ubuntu1 libgnutls30_3.6.15-4ubuntu2 libgomp1_10.2.0-16ubuntu1 libgpg-error0_1.38-2 libgssapi-krb5-2_1.17-10 libhogweed6_3.6-2 libicu67_67.1-4 libidn2-0_2.3.0-2 libip4tc2_1.8.5-3ubuntu3 libisl22_0.22.1-1 libitm1_10.2.0-16ubuntu1 libjson-c5_0.15-1 libk5crypto3_1.17-10 libkeyutils1_1.6.1-2ubuntu1 libkmod2_27+20200310-2ubuntu1 libkrb5-3_1.17-10 libkrb5support0_1.17-10 liblockfile-bin_1.16-1.1 liblockfile1_1.16-1.1 liblz4-1_1.9.2-2 liblzma5_5.2.4-1ubuntu1 libmagic-mgc_1:5.38-5 libmagic1_1:5.38-5 libmount1_2.36-3ubuntu1 libmpc3_1.2.0-1 libmpfr6_4.1.0-3 libncurses6_6.2+20200918-1 libncursesw6_6.2+20200918-1 libnettle8_3.6-2 libnpth0_1.6-3 libnsl-dev_1.3.0-0ubuntu3 libnsl2_1.3.0-0ubuntu3 libnss-nis_3.1-0ubuntu4 libnss-nisplus_1.3-0ubuntu4 libp11-kit0_0.23.21-2build1 libpam-modules_1.3.1-5ubuntu6 libpam-modules-bin_1.3.1-5ubuntu6 libpam-runtime_1.3.1-5ubuntu6 libpam0g_1.3.1-5ubuntu6 libpcre2-8-0_10.34-7 libpcre3_2:8.39-13 libperl-dev_5.32.0-4 libperl5.30_5.30.3-4 libperl5.32_5.32.0-4 libpipeline1_1.5.3-1 libpng16-16_1.6.37-3 libprocps8_2:3.3.16-5ubuntu2 libreadline8_8.0-4 libseccomp2_2.4.3-1ubuntu5 libselinux1_3.1-2build1 libsemanage-common_3.1-1build1 libsemanage1_3.1-1build1 libsepol1_3.1-1 libsigsegv2_2.12-2build1 libsmartcols1_2.36-3ubuntu1 libsqlite3-0_3.33.0-1 libss2_1.45.6-1ubuntu1 libssl1.1_1.1.1f-1ubuntu4 libstdc++-10-dev_10.2.0-16ubuntu1 libstdc++6_10.2.0-16ubuntu1 libsub-override-perl_0.09-2 libsystemd0_246.6-2ubuntu1 libtasn1-6_4.16.0-2 libtinfo6_6.2+20200918-1 libtirpc-common_1.2.6-3 libtirpc-dev_1.2.6-3 libtirpc3_1.2.6-3 libtool_2.4.6-14 libubsan1_10.2.0-16ubuntu1 libuchardet0_0.0.7-1 libudev1_246.6-2ubuntu1 libunistring2_0.9.10-4 libuuid1_2.36-3ubuntu1 libxml2_2.9.10+dfsg-6.2 libzstd1_1.4.5+dfsg-4 linux-libc-dev_5.8.0-26.27 lockfile-progs_0.1.18 login_1:4.8.1-1ubuntu6 logsave_1.45.6-1ubuntu1 lsb-base_11.1.0ubuntu2 m4_1.4.18-4 make_4.3-4ubuntu1 man-db_2.9.3-2 mawk_1.3.4.20200120-2 mount_2.36-3ubuntu1 ncurses-base_6.2+20200918-1 ncurses-bin_6.2+20200918-1 openssl_1.1.1f-1ubuntu4 optipng_0.7.7-1 passwd_1:4.8.1-1ubuntu6 patch_2.7.6-6 perl_5.32.0-4 perl-base_5.32.0-4 perl-modules-5.30_5.30.3-4 perl-modules-5.32_5.32.0-4 pinentry-curses_1.1.0-4build1 pkg-config_0.29.2-1ubuntu1 pkgbinarymangler_146 po-debconf_1.0.21 policyrcd-script-zg2_0.1-3 procps_2:3.3.16-5ubuntu2 readline-common_8.0-4 rpcsvc-proto_1.4.2-0ubuntu4 sbuild-build-depends-core-dummy_0.invalid.0 sbuild-build-depends-libffi-platypus-perl-dummy_0.invalid.0 sed_4.7-1ubuntu1 sensible-utils_0.0.13 systemd_246.6-2ubuntu1 systemd-sysv_246.6-2ubuntu1 systemd-timesyncd_246.6-2ubuntu1 sysvinit-utils_2.96-5ubuntu1 tar_1.30+dfsg-7 tzdata_2020d-1ubuntu1 ubuntu-keyring_2020.06.17.1 util-linux_2.36-3ubuntu1 xz-utils_5.2.4-1ubuntu1 zlib1g_1:1.2.11.dfsg-2ubuntu4 +------------------------------------------------------------------------------+ | Build | +------------------------------------------------------------------------------+ Unpack source ------------- gpgv: Signature made Mon Nov 9 12:34:20 2020 UTC gpgv: using RSA key D56571B88A8BBAF140BF63D6BD7EAA60778FA6F5 gpgv: issuer "doko@ubuntu.com" gpgv: Can't check signature: No public key dpkg-source: warning: failed to verify signature on ./libffi-platypus-perl_1.34-1build1.dsc dpkg-source: info: extracting libffi-platypus-perl in /<> dpkg-source: info: unpacking libffi-platypus-perl_1.34.orig.tar.gz dpkg-source: info: unpacking libffi-platypus-perl_1.34-1build1.debian.tar.xz Check disk space ---------------- Sufficient free space for build User Environment ---------------- APT_CONFIG=/var/lib/sbuild/apt.conf DEB_BUILD_OPTIONS=parallel=4 HOME=/sbuild-nonexistent LANG=C.UTF-8 LC_ALL=C.UTF-8 LOGNAME=buildd PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games SCHROOT_ALIAS_NAME=build-PACKAGEBUILD-20269127 SCHROOT_CHROOT_NAME=build-PACKAGEBUILD-20269127 SCHROOT_COMMAND=env SCHROOT_GID=2501 SCHROOT_GROUP=buildd SCHROOT_SESSION_ID=build-PACKAGEBUILD-20269127 SCHROOT_UID=2001 SCHROOT_USER=buildd SHELL=/bin/sh TERM=unknown USER=buildd V=1 dpkg-buildpackage ----------------- dpkg-buildpackage: info: source package libffi-platypus-perl dpkg-buildpackage: info: source version 1.34-1build1 dpkg-buildpackage: info: source distribution hirsute dpkg-source --before-build . dpkg-buildpackage: info: host architecture s390x debian/rules clean dh clean dh_clean debian/rules binary-arch dh binary-arch dh_update_autotools_config -a dh_autoreconf -a dh_auto_configure -a perl Makefile.PL INSTALLDIRS=vendor "OPTIMIZE=-g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2" "LD=s390x-linux-gnu-gcc -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now" +pkg-config --exists libffi using system libffi via pkg-config +pkg-config --cflags libffi +pkg-config --libs libffi [out] -lffi Checking if your kit is complete... Looks good Generating a Unix-style Makefile Writing Makefile for FFI::Platypus Writing MYMETA.yml and MYMETA.json debian/rules override_dh_auto_build make[1]: Entering directory '/<>' dh_auto_build -- V=1 make -j4 V=1 make[2]: Entering directory '/<>' Running Mkbootstrap for lib/FFI/Platypus () "/usr/bin/perl" "/usr/share/perl/5.32/ExtUtils/xsubpp" -typemap '/usr/share/perl/5.32/ExtUtils/typemap' lib/FFI/Platypus.xs > lib/FFI/Platypus.xsc "/usr/bin/perl" inc/mm-config-set.pl cc s390x-linux-gnu-gcc chmod 644 "lib/FFI/Platypus.bs" "/usr/bin/perl" inc/mm-config-set.pl inc -Iinclude "/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- lib/FFI/Platypus.bs blib/arch/auto/FFI/Platypus/Platypus.bs 644 "/usr/bin/perl" inc/mm-config-set.pl ccflags -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 cp lib/FFI/Build/File/C.pm blib/lib/FFI/Build/File/C.pm cp lib/FFI/Platypus/Lang/Win32.pm blib/lib/FFI/Platypus/Lang/Win32.pm cp lib/FFI/Platypus/Lang.pm blib/lib/FFI/Platypus/Lang.pm cp lib/FFI/Platypus/Internal.pm blib/lib/FFI/Platypus/Internal.pm cp lib/FFI/Platypus/TypeParser/Version0.pm blib/lib/FFI/Platypus/TypeParser/Version0.pm cp lib/FFI/Platypus.pm blib/lib/FFI/Platypus.pm cp lib/FFI/Platypus/Memory.pm blib/lib/FFI/Platypus/Memory.pm cp lib/FFI/Platypus/Legacy.pm blib/lib/FFI/Platypus/Legacy.pm cp lib/FFI/Platypus/Bundle.pm blib/lib/FFI/Platypus/Bundle.pm cp lib/FFI/Platypus/Lang/C.pm blib/lib/FFI/Platypus/Lang/C.pm cp lib/FFI/Platypus/TypeParser/Version1.pm blib/lib/FFI/Platypus/TypeParser/Version1.pm cp lib/FFI/Platypus/ShareConfig.pm blib/lib/FFI/Platypus/ShareConfig.pm cp lib/FFI/Platypus/Constant.pm blib/lib/FFI/Platypus/Constant.pm cp lib/FFI/Build/File/CXX.pm blib/lib/FFI/Build/File/CXX.pm cp lib/FFI/Platypus/Lang/ASM.pm blib/lib/FFI/Platypus/Lang/ASM.pm cp lib/FFI/Platypus/Record/TieArray.pm blib/lib/FFI/Platypus/Record/TieArray.pm cp lib/FFI/Platypus/DL.pm blib/lib/FFI/Platypus/DL.pm cp lib/FFI/Platypus/Type/PointerSizeBuffer.pm blib/lib/FFI/Platypus/Type/PointerSizeBuffer.pm cp lib/FFI/Probe/Runner/Result.pm blib/lib/FFI/Probe/Runner/Result.pm cp lib/FFI/Probe.pm blib/lib/FFI/Probe.pm cp lib/FFI/Platypus/Type/StringPointer.pm blib/lib/FFI/Platypus/Type/StringPointer.pm cp lib/FFI/Build/Platform.pm blib/lib/FFI/Build/Platform.pm cp lib/FFI/Build.pm blib/lib/FFI/Build.pm cp lib/FFI/Platypus/Function.pm blib/lib/FFI/Platypus/Function.pm cp lib/FFI/Platypus/Type/StringArray.pm blib/lib/FFI/Platypus/Type/StringArray.pm cp lib/FFI/Platypus/API.pm blib/lib/FFI/Platypus/API.pm cp lib/FFI/Platypus/Record/Meta.pm blib/lib/FFI/Platypus/Record/Meta.pm cp lib/FFI/Platypus/Record.pm blib/lib/FFI/Platypus/Record.pm cp lib/FFI/Build/File/Library.pm blib/lib/FFI/Build/File/Library.pm cp lib/FFI/Platypus/Buffer.pm blib/lib/FFI/Platypus/Buffer.pm cp lib/FFI/Probe/Runner.pm blib/lib/FFI/Probe/Runner.pm cp lib/FFI/Platypus/Type.pm blib/lib/FFI/Platypus/Type.pm cp lib/FFI/Probe/Runner/Builder.pm blib/lib/FFI/Probe/Runner/Builder.pm cp lib/FFI/Temp.pm blib/lib/FFI/Temp.pm cp lib/FFI/Build/File/Base.pm blib/lib/FFI/Build/File/Base.pm cp lib/FFI/Platypus/TypeParser.pm blib/lib/FFI/Platypus/TypeParser.pm cp lib/FFI/Platypus/Closure.pm blib/lib/FFI/Platypus/Closure.pm cp lib/FFI/Build/MM.pm blib/lib/FFI/Build/MM.pm cp lib/FFI/Build/File/Object.pm blib/lib/FFI/Build/File/Object.pm "/usr/bin/perl" inc/mm-config-set.pl cccdlflags -fPIC cp lib/FFI/typemap blib/lib/FFI/typemap "/usr/bin/perl" inc/mm-config-set.pl optimize -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 mv lib/FFI/Platypus.xsc lib/FFI/Platypus.c "/usr/bin/perl" inc/mm-config-set.pl ld s390x-linux-gnu-gcc -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now "/usr/bin/perl" inc/mm-config-set.pl ldflags -fstack-protector-strong -L/usr/local/lib "/usr/bin/perl" inc/mm-config-set.pl lddlflags -shared -L/usr/local/lib -fstack-protector-strong "/usr/bin/perl" -MExtUtils::Command -e 'mkpath' -- _mm touch _mm/flags "/usr/bin/perl" inc/mm-config-pb.pl +s390x-linux-gnu-gcc -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -c -o blib/lib/auto/share/dist/FFI-Platypus/probe/src/dlrun.o blib/lib/auto/share/dist/FFI-Platypus/probe/src/dlrun.c +s390x-linux-gnu-gcc -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -fstack-protector-strong -L/usr/local/lib -o blib/lib/auto/share/dist/FFI-Platypus/probe/bin/dlrun blib/lib/auto/share/dist/FFI-Platypus/probe/src/dlrun.o -ldl +blib/lib/auto/share/dist/FFI-Platypus/probe/bin/dlrun verify self dlrun verify self ok "/usr/bin/perl" -MExtUtils::Command -e 'mkpath' -- _mm touch _mm/probe-builder "/usr/bin/perl" inc/mm-config.pl +pkg-config --cflags libffi +pkg-config --libs libffi [out] -lffi PR header."stdlib.h"=1 PR header."stdint.h"=1 PR header."sys/types.h"=1 PR header."sys/stat.h"=1 PR header."unistd.h"=1 PR header."alloca.h"=1 PR header."dlfcn.h"=1 PR header."limits.h"=1 PR header."stddef.h"=1 PR header."wchar.h"=1 PR header."signal.h"=1 PR header."inttypes.h"=1 PR header."windows.h"=0 PR header."sys/cygwin.h"=0 PR header."string.h"=1 PR header."psapi.h"=0 PR header."stdio.h"=1 PR header."stdbool.h"=1 PR header."complex.h"=1 PR type.char.align=1 PR type.char.sign=unsigned PR type.char.size=1 PR type.signed char.align=1 PR type.signed char.sign=signed PR type.signed char.size=1 PR type.unsigned char.align=1 PR type.unsigned char.sign=unsigned PR type.unsigned char.size=1 PR type.short.align=2 PR type.short.sign=signed PR type.short.size=2 PR type.signed short.align=2 PR type.signed short.sign=signed PR type.signed short.size=2 PR type.unsigned short.align=2 PR type.unsigned short.sign=unsigned PR type.unsigned short.size=2 PR type.int.align=4 PR type.int.sign=signed PR type.int.size=4 PR type.signed int.align=4 PR type.signed int.sign=signed PR type.signed int.size=4 PR type.unsigned int.align=4 PR type.unsigned int.sign=unsigned PR type.unsigned int.size=4 PR type.long.align=8 PR type.long.sign=signed PR type.long.size=8 PR type.signed long.align=8 PR type.signed long.sign=signed PR type.signed long.size=8 PR type.unsigned long.align=8 PR type.unsigned long.sign=unsigned PR type.unsigned long.size=8 PR type.uint8_t.align=1 PR type.uint8_t.sign=unsigned PR type.uint8_t.size=1 PR type.int8_t.align=1 PR type.int8_t.sign=signed PR type.int8_t.size=1 PR type.uint16_t.align=2 PR type.uint16_t.sign=unsigned PR type.uint16_t.size=2 PR type.int16_t.align=2 PR type.int16_t.sign=signed PR type.int16_t.size=2 PR type.uint32_t.align=4 PR type.uint32_t.sign=unsigned PR type.uint32_t.size=4 PR type.int32_t.align=4 PR type.int32_t.sign=signed PR type.int32_t.size=4 PR type.uint64_t.align=8 PR type.uint64_t.sign=unsigned PR type.uint64_t.size=8 PR type.int64_t.align=8 PR type.int64_t.sign=signed PR type.int64_t.size=8 PR type.size_t.align=8 PR type.size_t.sign=unsigned PR type.size_t.size=8 PR type.ssize_t.align=8 PR type.ssize_t.sign=signed PR type.ssize_t.size=8 PR type.float.align=4 PR type.float.size=4 PR type.double.align=8 PR type.double.size=8 PR type.long double.align=8 PR type.long double.size=16 PR type.float complex.align=4 PR type.float complex.size=8 PR type.double complex.align=8 PR type.double complex.size=16 PR type.long double complex.align=8 PR type.long double complex.size=32 PR type.bool.align=1 PR type.bool.sign=unsigned PR type.bool.size=1 PR type._Bool.align=1 PR type._Bool.sign=unsigned PR type._Bool.size=1 PR type.pointer.align=8 PR type.pointer.size=8 PR type.uintptr_t.align=8 PR type.uintptr_t.sign=unsigned PR type.uintptr_t.size=8 PR type.intptr_t.align=8 PR type.intptr_t.sign=signed PR type.intptr_t.size=8 PR type.enum.align=4 PR type.enum.sign=unsigned PR type.enum.size=4 PR type.senum.align=4 PR type.senum.sign=signed PR type.senum.size=4 PR type.long long.align=8 PR type.long long.sign=signed PR type.long long.size=8 PR type.signed long long.align=8 PR type.signed long long.sign=signed PR type.signed long long.size=8 PR type.unsigned long long.align=8 PR type.unsigned long long.sign=unsigned PR type.unsigned long long.size=8 PR type.dev_t.align=8 PR type.dev_t.sign=unsigned PR type.dev_t.size=8 PR type.ino_t.align=8 PR type.ino_t.sign=unsigned PR type.ino_t.size=8 PR type.mode_t.align=4 PR type.mode_t.sign=unsigned PR type.mode_t.size=4 PR type.nlink_t.align=8 PR type.nlink_t.sign=unsigned PR type.nlink_t.size=8 PR type.uid_t.align=4 PR type.uid_t.sign=unsigned PR type.uid_t.size=4 PR type.gid_t.align=4 PR type.gid_t.sign=unsigned PR type.gid_t.size=4 PR type.off_t.align=8 PR type.off_t.sign=signed PR type.off_t.size=8 PR type.blksize_t.align=8 PR type.blksize_t.sign=signed PR type.blksize_t.size=8 PR type.blkcnt_t.align=8 PR type.blkcnt_t.sign=signed PR type.blkcnt_t.size=8 PR type.time_t.align=8 PR type.time_t.sign=signed PR type.time_t.size=8 PR type.ptrdiff_t.align=8 PR type.ptrdiff_t.sign=signed PR type.ptrdiff_t.size=8 PR type.wchar_t.align=4 PR type.wchar_t.sign=signed PR type.wchar_t.size=4 PR type.wint_t.align=4 PR type.wint_t.sign=unsigned PR type.wint_t.size=4 PR probe.abi=1 PR probe.alloca=1 PR probe.bigendian=0 PR probe.bigendian64=1 PR probe.complex=1 PR probe.longdouble=1 PR probe.recordvalue=1 PR probe.variadic=0 PR abi.sysv=1 PR abi.default_abi=1 PR abi.sysv=1 "/usr/bin/perl" -MExtUtils::Command -e 'mkpath' -- _mm touch _mm/config "/usr/bin/perl" "/usr/share/perl/5.32/ExtUtils/xsubpp" -typemap '/usr/share/perl/5.32/ExtUtils/typemap' lib/FFI/Platypus.xs > lib/FFI/Platypus.xsc s390x-linux-gnu-gcc -c -Iinclude -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -DVERSION=\"1.34\" -DXS_VERSION=\"1.34\" -fPIC "-I/usr/lib/s390x-linux-gnu/perl/5.32/CORE" xs/cast.c -o xs/cast.o s390x-linux-gnu-gcc -c -Iinclude -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -DVERSION=\"1.34\" -DXS_VERSION=\"1.34\" -fPIC "-I/usr/lib/s390x-linux-gnu/perl/5.32/CORE" xs/closure.c -o xs/closure.o s390x-linux-gnu-gcc -c -Iinclude -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -DVERSION=\"1.34\" -DXS_VERSION=\"1.34\" -fPIC "-I/usr/lib/s390x-linux-gnu/perl/5.32/CORE" xs/complex.c -o xs/complex.o s390x-linux-gnu-gcc -c -Iinclude -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -DVERSION=\"1.34\" -DXS_VERSION=\"1.34\" -fPIC "-I/usr/lib/s390x-linux-gnu/perl/5.32/CORE" xs/custom.c -o xs/custom.o mv lib/FFI/Platypus.xsc lib/FFI/Platypus.c s390x-linux-gnu-gcc -c -Iinclude \ -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 \ -DVERSION=\"1.34\" \ -DXS_VERSION=\"1.34\" -fPIC "-I/usr/lib/s390x-linux-gnu/perl/5.32/CORE" lib/FFI/Platypus.c -o lib/FFI/Platypus.o s390x-linux-gnu-gcc -c -Iinclude -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -DVERSION=\"1.34\" -DXS_VERSION=\"1.34\" -fPIC "-I/usr/lib/s390x-linux-gnu/perl/5.32/CORE" xs/meta.c -o xs/meta.o s390x-linux-gnu-gcc -c -Iinclude -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -DVERSION=\"1.34\" -DXS_VERSION=\"1.34\" -fPIC "-I/usr/lib/s390x-linux-gnu/perl/5.32/CORE" xs/names.c -o xs/names.o s390x-linux-gnu-gcc -c -Iinclude -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -DVERSION=\"1.34\" -DXS_VERSION=\"1.34\" -fPIC "-I/usr/lib/s390x-linux-gnu/perl/5.32/CORE" xs/perl_math_int64.c -o xs/perl_math_int64.o s390x-linux-gnu-gcc -c -Iinclude -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -DVERSION=\"1.34\" -DXS_VERSION=\"1.34\" -fPIC "-I/usr/lib/s390x-linux-gnu/perl/5.32/CORE" xs/record_opaque.c -o xs/record_opaque.o s390x-linux-gnu-gcc -c -Iinclude -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -DVERSION=\"1.34\" -DXS_VERSION=\"1.34\" -fPIC "-I/usr/lib/s390x-linux-gnu/perl/5.32/CORE" xs/record_simple.c -o xs/record_simple.o s390x-linux-gnu-gcc -c -Iinclude -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -DVERSION=\"1.34\" -DXS_VERSION=\"1.34\" -fPIC "-I/usr/lib/s390x-linux-gnu/perl/5.32/CORE" xs/record_string.c -o xs/record_string.o s390x-linux-gnu-gcc -c -Iinclude -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -DVERSION=\"1.34\" -DXS_VERSION=\"1.34\" -fPIC "-I/usr/lib/s390x-linux-gnu/perl/5.32/CORE" xs/windl.c -o xs/windl.o rm -f blib/arch/auto/FFI/Platypus/Platypus.so s390x-linux-gnu-gcc -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -shared -L/usr/local/lib -fstack-protector-strong lib/FFI/Platypus.o xs/cast.o xs/closure.o xs/complex.o xs/custom.o xs/meta.o xs/names.o xs/perl_math_int64.o xs/record_opaque.o xs/record_simple.o xs/record_string.o xs/windl.o -o blib/arch/auto/FFI/Platypus/Platypus.so \ -lffi \ chmod 755 blib/arch/auto/FFI/Platypus/Platypus.so "/usr/bin/perl" inc/mm-build.pl +pkg-config --cflags libffi +pkg-config --libs libffi [out] -lffi +s390x-linux-gnu-gcc -Iblib/lib/auto/share/dist/FFI-Platypus/include -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -c ffi/constant.c -o ffi/_build/constant.c.o +s390x-linux-gnu-gcc -Iblib/lib/auto/share/dist/FFI-Platypus/include -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -c ffi/memory.c -o ffi/_build/memory.c.o +s390x-linux-gnu-gcc -Iblib/lib/auto/share/dist/FFI-Platypus/include -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -c ffi/record_meta.c -o ffi/_build/record_meta.c.o +s390x-linux-gnu-gcc -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -shared -L/usr/local/lib -fstack-protector-strong ffi/_build/constant.c.o ffi/_build/memory.c.o ffi/_build/record_meta.c.o -lffi -o blib/lib/auto/share/dist/FFI-Platypus/lib/libplfill.so Manifying 33 pod documents Manifying 6 pod documents make[2]: Leaving directory '/<>' make[1]: Leaving directory '/<>' dh_auto_test -a make -j4 test TEST_VERBOSE=1 make[1]: Entering directory '/<>' "/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- lib/FFI/Platypus.bs blib/arch/auto/FFI/Platypus/Platypus.bs 644 "/usr/bin/perl" inc/mm-build.pl +pkg-config --cflags libffi +pkg-config --libs libffi [out] -lffi "/usr/bin/perl" inc/mm-test.pl +pkg-config --cflags libffi +pkg-config --libs libffi [out] -lffi +s390x-linux-gnu-gcc -Iinclude -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -c t/ffi/align.c -o t/ffi/_build/align.c.o +s390x-linux-gnu-gcc -Iinclude -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -c t/ffi/align_array.c -o t/ffi/_build/align_array.c.o +s390x-linux-gnu-gcc -Iinclude -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -c t/ffi/align_fixed.c -o t/ffi/_build/align_fixed.c.o +s390x-linux-gnu-gcc -Iinclude -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -c t/ffi/align_string.c -o t/ffi/_build/align_string.c.o +s390x-linux-gnu-gcc -Iinclude -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -c t/ffi/basic.c -o t/ffi/_build/basic.c.o +s390x-linux-gnu-gcc -Iinclude -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -c t/ffi/closure.c -o t/ffi/_build/closure.c.o +s390x-linux-gnu-gcc -Iinclude -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -c t/ffi/color.c -o t/ffi/_build/color.c.o +s390x-linux-gnu-gcc -Iinclude -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -c t/ffi/complex_double.c -o t/ffi/_build/complex_double.c.o +s390x-linux-gnu-gcc -Iinclude -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -c t/ffi/complex_float.c -o t/ffi/_build/complex_float.c.o +s390x-linux-gnu-gcc -Iinclude -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -c t/ffi/double.c -o t/ffi/_build/double.c.o +s390x-linux-gnu-gcc -Iinclude -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -c t/ffi/float.c -o t/ffi/_build/float.c.o +s390x-linux-gnu-gcc -Iinclude -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -c t/ffi/gh117.c -o t/ffi/_build/gh117.c.o +s390x-linux-gnu-gcc -Iinclude -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -c t/ffi/gh174.c -o t/ffi/_build/gh174.c.o +s390x-linux-gnu-gcc -Iinclude -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -c t/ffi/longdouble.c -o t/ffi/_build/longdouble.c.o +s390x-linux-gnu-gcc -Iinclude -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -c t/ffi/memcmp4.c -o t/ffi/_build/memcmp4.c.o +s390x-linux-gnu-gcc -Iinclude -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -c t/ffi/meta.c -o t/ffi/_build/meta.c.o +s390x-linux-gnu-gcc -Iinclude -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -c t/ffi/pointer.c -o t/ffi/_build/pointer.c.o +s390x-linux-gnu-gcc -Iinclude -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -c t/ffi/record.c -o t/ffi/_build/record.c.o +s390x-linux-gnu-gcc -Iinclude -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -c t/ffi/sint16.c -o t/ffi/_build/sint16.c.o +s390x-linux-gnu-gcc -Iinclude -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -c t/ffi/sint32.c -o t/ffi/_build/sint32.c.o +s390x-linux-gnu-gcc -Iinclude -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -c t/ffi/sint64.c -o t/ffi/_build/sint64.c.o +s390x-linux-gnu-gcc -Iinclude -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -c t/ffi/sint8.c -o t/ffi/_build/sint8.c.o +s390x-linux-gnu-gcc -Iinclude -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -c t/ffi/string.c -o t/ffi/_build/string.c.o +s390x-linux-gnu-gcc -Iinclude -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -c t/ffi/string_array.c -o t/ffi/_build/string_array.c.o +s390x-linux-gnu-gcc -Iinclude -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -c t/ffi/uint16.c -o t/ffi/_build/uint16.c.o +s390x-linux-gnu-gcc -Iinclude -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -c t/ffi/uint32.c -o t/ffi/_build/uint32.c.o +s390x-linux-gnu-gcc -Iinclude -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -c t/ffi/uint64.c -o t/ffi/_build/uint64.c.o +s390x-linux-gnu-gcc -Iinclude -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -c t/ffi/uint8.c -o t/ffi/_build/uint8.c.o +s390x-linux-gnu-gcc -Iinclude -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -c t/ffi/variadic.c -o t/ffi/_build/variadic.c.o +s390x-linux-gnu-gcc -g -O2 -fdebug-prefix-map=/<>=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -shared -L/usr/local/lib -fstack-protector-strong t/ffi/_build/align.c.o t/ffi/_build/align_array.c.o t/ffi/_build/align_fixed.c.o t/ffi/_build/align_string.c.o t/ffi/_build/basic.c.o t/ffi/_build/closure.c.o t/ffi/_build/color.c.o t/ffi/_build/complex_double.c.o t/ffi/_build/complex_float.c.o t/ffi/_build/double.c.o t/ffi/_build/float.c.o t/ffi/_build/gh117.c.o t/ffi/_build/gh174.c.o t/ffi/_build/longdouble.c.o t/ffi/_build/memcmp4.c.o t/ffi/_build/meta.c.o t/ffi/_build/pointer.c.o t/ffi/_build/record.c.o t/ffi/_build/sint16.c.o t/ffi/_build/sint32.c.o t/ffi/_build/sint64.c.o t/ffi/_build/sint8.c.o t/ffi/_build/string.c.o t/ffi/_build/string_array.c.o t/ffi/_build/uint16.c.o t/ffi/_build/uint32.c.o t/ffi/_build/uint64.c.o t/ffi/_build/uint8.c.o t/ffi/_build/variadic.c.o -lffi -o t/ffi/libtest.so 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 # # # # HARNESS_ACTIVE=1 # HARNESS_IS_VERBOSE=1 # HARNESS_VERSION=3.42 # LANG=C.UTF-8 # LC_ALL=C.UTF-8 # PERL5LIB=/<>/blib/lib:/<>/blib/arch # PERL_DL_NONLAZY=1 # PERL_USE_UNSAFE_INC=1 # SHELL=/bin/sh # # # # PERL5LIB path # /<>/blib/lib # /<>/blib/arch # # # # perl 5.032000 linux s390x-linux-gnu-thread-multi # Alien::Base - # Capture::Tiny 0.48 # Devel::Hide - # ExtUtils::CBuilder 0.280234 # ExtUtils::MakeMaker 7.44 # ExtUtils::ParseXS 3.40 # FFI::CheckLib 0.27 # IPC::Cmd 1.04 # JSON::PP 4.04 # List::Util 1.55 # Math::LongDouble - # PkgConfig - # Test::More 1.302175 # constant 1.33 # forks - # # # # mode : system # Alien::FFI::pkgconfig->VERSION = undef # Alien::FFI::pkgconfig->install_type = system # Alien::FFI::pkgconfig->cflags = # Alien::FFI::pkgconfig->libs = -lffi # Alien::FFI::pkgconfig->version = 3.3 # # # # ffi.platypus.memory.strdup_impl =libc # ffi.platypus.memory.strndup_impl=libc # # # # Types: # double : double, float complex # float : float # longdouble : double complex, long double, long double complex # sint16 : int16_t, short, signed short # sint32 : int, int32_t, senum, signed int, wchar_t # sint64 : blkcnt_t, blksize_t, int64_t, intptr_t, long, long long, off_t, ptrdiff_t, signed long, signed long long, ssize_t, time_t # sint8 : int8_t, signed char # uint16 : uint16_t, unsigned short, ushort # uint32 : enum, gid_t, mode_t, uid_t, uint, uint32_t, unsigned int, wint_t # uint64 : dev_t, ino_t, nlink_t, size_t, uint64_t, uintptr_t, ulong, unsigned long, unsigned long long # uint8 : bool, char, uchar, uint8_t, unsigned char # # # # ABIs: # default_abi 1 # sysv 1 # # # # Probes: # alloca 1 # complex 1 # abi 1 # bigendian64 1 # recordvalue 1 # longdouble 1 # # # # CPU Info: Use of uninitialized value $model_name in concatenation (.) or string at t/00_diag.t line 101. # # # # # [PLATFORM] # osname : linux # cc : s390x-linux-gnu-gcc # cxx : s390x-linux-gnu-g++ # for : --- # ld : s390x-linux-gnu-gcc # ccflags : -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -I/<>/blib/lib/auto/share/dist/FFI-Platypus/include # ldflags : -shared -L/usr/local/lib -fstack-protector-strong # object suffix : .o # library prefix : lib # library suffix : .so # cc mm works : -MM # # # t/00_diag.t .............................. 1..1 ok 1 - okay ok t/01_use.t ............................... ok 1 - require FFI::Build; ok 2 - require FFI::Build::File::Base; ok 3 - require FFI::Build::File::C; ok 4 - require FFI::Build::File::CXX; ok 5 - require FFI::Build::File::Library; ok 6 - require FFI::Build::File::Object; ok 7 - require FFI::Build::MM; ok 8 - require FFI::Build::Platform; ok 9 - require FFI::Platypus; ok 10 - require FFI::Platypus::API; ok 11 - require FFI::Platypus::Buffer; ok 12 - require FFI::Platypus::Bundle; ok 13 - require FFI::Platypus::Closure; ok 14 - require FFI::Platypus::Constant; ok 15 - require FFI::Platypus::DL; ok 16 - require FFI::Platypus::Function; ok 17 - require FFI::Platypus::Internal; ok 18 - require FFI::Platypus::Lang; ok 19 - require FFI::Platypus::Lang::ASM; ok 20 - require FFI::Platypus::Lang::C; ok 21 - require FFI::Platypus::Lang::Win32; ok 22 - require FFI::Platypus::Legacy; ok 23 - require FFI::Platypus::Memory; ok 24 - require FFI::Platypus::Record; ok 25 - require FFI::Platypus::Record::Meta; ok 26 - require FFI::Platypus::Record::TieArray; ok 27 - require FFI::Platypus::ShareConfig; ok 28 - require FFI::Platypus::Type; ok 29 - require FFI::Platypus::Type::PointerSizeBuffer; ok 30 - require FFI::Platypus::Type::StringArray; ok 31 - require FFI::Platypus::Type::StringPointer; ok 32 - require FFI::Platypus::TypeParser; ok 33 - require FFI::Platypus::TypeParser::Version0; ok 34 - require FFI::Platypus::TypeParser::Version1; ok 35 - require FFI::Probe; ok 36 - require FFI::Probe::Runner; ok 37 - require FFI::Probe::Runner::Builder; ok 38 - require FFI::Probe::Runner::Result; ok 39 - require FFI::Temp; ok 40 - test for FFI::Build ok 41 - test for FFI::Build::File::Base ok 42 - test for FFI::Build::File::C ok 43 - test for FFI::Build::File::CXX ok 44 - test for FFI::Build::File::Library ok 45 - test for FFI::Build::File::Object ok 46 - test for FFI::Build::MM ok 47 - test for FFI::Build::Platform ok 48 - test for FFI::Platypus ok 49 - test for FFI::Platypus::API ok 50 - test for FFI::Platypus::Buffer ok 51 - test for FFI::Platypus::Bundle ok 52 - test for FFI::Platypus::Closure ok 53 - test for FFI::Platypus::Constant ok 54 - test for FFI::Platypus::DL ok 55 - test for FFI::Platypus::Function ok 56 - test for FFI::Platypus::Internal ok 57 - test for FFI::Platypus::Lang ok 58 - test for FFI::Platypus::Lang::ASM ok 59 - test for FFI::Platypus::Lang::C ok 60 - test for FFI::Platypus::Lang::Win32 ok 61 - test for FFI::Platypus::Legacy ok 62 - test for FFI::Platypus::Memory ok 63 - test for FFI::Platypus::Record ok 64 - test for FFI::Platypus::Record::Meta ok 65 - test for FFI::Platypus::Record::TieArray ok 66 - test for FFI::Platypus::ShareConfig ok 67 - test for FFI::Platypus::Type ok 68 - test for FFI::Platypus::Type::PointerSizeBuffer ok 69 - test for FFI::Platypus::Type::StringArray ok 70 - test for FFI::Platypus::Type::StringPointer ok 71 - test for FFI::Platypus::TypeParser ok 72 - test for FFI::Platypus::TypeParser::Version0 ok 73 - test for FFI::Platypus::TypeParser::Version1 ok 74 - test for FFI::Probe ok 75 - test for FFI::Probe::Runner ok 76 - test for FFI::Probe::Runner::Builder ok 77 - test for FFI::Probe::Runner::Result ok 78 - test for FFI::Temp 1..78 ok t/ffi_build.t ............................ # Subtest: basic ok 1 - An object of class 'FFI::Build' isa 'FFI::Build' ok 2 - foo is somewhere in the native name for the lib # lib.file.path = ./libfoo.so ok 3 - dir is a dir ok 4 - An object of class 'FFI::Build::Platform' isa 'FFI::Build::Platform' ok 5 - An object of class 'FFI::Build::File::C' isa 'FFI::Build::File::C' 1..5 ok 1 - basic # Subtest: file classes ok 1 - at least one # class = FFI::Build::File::C # class = FFI::Build::File::CXX # class = FFI::Build::File::Library # class = FFI::Build::File::Object # class = FFI::Build::File::Foo1 # class = FFI::Build::File::Foo2 1..1 ok 2 - file classes # Subtest: build # Subtest: name # corpus/ffi_build/project1/foo1.c # corpus/ffi_build/project1/foo2.c ok 1 - no error # +s390x-linux-gnu-gcc -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -I/<>/blib/lib/auto/share/dist/FFI-Platypus/include -c corpus/ffi_build/project1/foo1.c -o corpus/ffi_build/project1/tmpbuild.tmpbuild.4639.1604931786/foo1.c.o # +s390x-linux-gnu-gcc -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -I/<>/blib/lib/auto/share/dist/FFI-Platypus/include -c corpus/ffi_build/project1/foo2.c -o corpus/ffi_build/project1/tmpbuild.tmpbuild.4639.1604931786/foo2.c.o # +s390x-linux-gnu-gcc -shared -L/usr/local/lib -fstack-protector-strong corpus/ffi_build/project1/tmpbuild.tmpbuild.4639.1604931786/foo1.c.o corpus/ffi_build/project1/tmpbuild.tmpbuild.4639.1604931786/foo2.c.o -o /<>/.tmp/qjcqbmrLic/libfoo.so ok 2 ok 3 1..3 ok 1 - name # Subtest: object # corpus/ffi_build/project1/foo1.c # corpus/ffi_build/project1/foo2.c ok 1 - no error # +s390x-linux-gnu-gcc -shared -L/usr/local/lib -fstack-protector-strong corpus/ffi_build/project1/_build/foo1.c.o corpus/ffi_build/project1/_build/foo2.c.o -o /<>/.tmp/XgQrtTUW2O/libfoo.so ok 2 ok 3 1..3 ok 2 - object # Subtest: array # corpus/ffi_build/project1/foo1.c # corpus/ffi_build/project1/foo2.c ok 1 - no error # +s390x-linux-gnu-gcc -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -I/<>/blib/lib/auto/share/dist/FFI-Platypus/include -c corpus/ffi_build/project1/foo1.c -o corpus/ffi_build/project1/tmpbuild.tmpbuild.4639.1604931786/foo1.c.o # +s390x-linux-gnu-gcc -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -I/<>/blib/lib/auto/share/dist/FFI-Platypus/include -c corpus/ffi_build/project1/foo2.c -o corpus/ffi_build/project1/tmpbuild.tmpbuild.4639.1604931786/foo2.c.o # +s390x-linux-gnu-gcc -shared -L/usr/local/lib -fstack-protector-strong corpus/ffi_build/project1/tmpbuild.tmpbuild.4639.1604931786/foo1.c.o corpus/ffi_build/project1/tmpbuild.tmpbuild.4639.1604931786/foo2.c.o -o /<>/.tmp/w9LesjN9pW/libfoo.so ok 2 ok 3 1..3 ok 3 - array 1..3 ok 3 - build # Subtest: build c++ # corpus/ffi_build/project-cxx/foo1.cxx # corpus/ffi_build/project-cxx/foo2.cpp ok 1 - no error # +s390x-linux-gnu-g++ -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -I/<>/blib/lib/auto/share/dist/FFI-Platypus/include -c corpus/ffi_build/project-cxx/foo1.cxx -o corpus/ffi_build/project-cxx/tmpbuild.4639.1604931786/foo1.o # +s390x-linux-gnu-g++ -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -I/<>/blib/lib/auto/share/dist/FFI-Platypus/include -c corpus/ffi_build/project-cxx/foo2.cpp -o corpus/ffi_build/project-cxx/tmpbuild.4639.1604931786/foo2.o # +s390x-linux-gnu-g++ -shared -L/usr/local/lib -fstack-protector-strong corpus/ffi_build/project-cxx/tmpbuild.4639.1604931786/foo1.o corpus/ffi_build/project-cxx/tmpbuild.4639.1604931786/foo2.o -o /<>/.tmp/tmpbuild.ifEFFV/libfoo.so ok 2 - foo1 found ok 3 - foo2 found ok 4 ok 5 1..5 ok 4 - build c++ # Subtest: alien 1..0 # SKIP Test requires Acme::Alien::DontPanic 1.03 ok 5 # skip Test requires Acme::Alien::DontPanic 1.03 1..5 ok t/ffi_build_file_base.t .................. # Subtest: basic # Subtest: basic usage ok 1 # error = content is required at t/ffi_build_file_base.t line 18. 1..1 ok 1 - basic usage # Subtest: array filename ok 1 - An object of class 'FFI::Build::File::Foo' isa 'FFI::Build::File::Base' ok 2 - An object of class 'FFI::Build::File::Foo' isa 'FFI::Build::File::Foo' ok 3 - stringifies to path ok 4 ok 5 - is_temp ok 6 - basename ok 7 - dirname # dirname = corpus/ffi_build_file_base ok 8 - No forward slashes! ok 9 - native name # native = corpus/ffi_build_file_base/basic.foo 1..9 ok 2 - array filename # Subtest: string filename ok 1 - An object of class 'FFI::Build::File::Foo' isa 'FFI::Build::File::Base' ok 2 - An object of class 'FFI::Build::File::Foo' isa 'FFI::Build::File::Foo' ok 3 ok 4 - is_temp ok 5 - No forward slashes! 1..5 ok 3 - string filename # Subtest: string ref ok 1 - An object of class 'FFI::Build::File::Foo' isa 'FFI::Build::File::Base' ok 2 - An object of class 'FFI::Build::File::Foo' isa 'FFI::Build::File::Foo' ok 3 - has the correct extension ok 4 - is_temp ok 5 # path: /<>/.tmp/ffi_build_5usf0S.foo ok 6 - No forward slashes! ok 7 - file exists ok 8 - file is removed after destroy 1..8 ok 4 - string ref # Subtest: string ref keep ok 1 ok 2 - file exists ok 3 - No forward slashes! ok 4 - file exists after undef 1..4 ok 5 - string ref keep 1..5 ok 1 - basic 1..1 ok t/ffi_build_file_c.t ..................... # Subtest: basic ok 1 - An object of class 'FFI::Build::File::C' isa 'FFI::Build::File::C' ok 2 - An object of class 'FFI::Build::File::C' isa 'FFI::Build::File::Base' ok 3 ok 4 1..4 ok 1 - basic # Subtest: compile ok 1 - An object of class 'FFI::Build::File::Object' isa 'FFI::Build::File::Object' ok 2 1..2 ok 2 - compile # Subtest: headers ok 1 - no die ok 2 - dep is a file: corpus/ffi_build_file_c/foo2.c ok 3 - dep is a file: corpus/ffi_build_file_c/include/myfoo.h 1..3 ok 3 - headers 1..3 ok t/ffi_build_file_cxx.t ................... # Subtest: basic ok 1 - An object of class 'FFI::Build::File::CXX' isa 'FFI::Build::File::CXX' ok 2 - An object of class 'FFI::Build::File::CXX' isa 'FFI::Build::File::C' ok 3 - An object of class 'FFI::Build::File::CXX' isa 'FFI::Build::File::Base' ok 4 ok 5 1..5 ok 1 - basic # Subtest: compile ok 1 - An object of class 'FFI::Build::File::Object' isa 'FFI::Build::File::Object' ok 2 1..2 ok 2 - compile # Subtest: headers ok 1 - no die ok 2 - dep is afile: corpus/ffi_build_file_cxx/foo2.cpp ok 3 - dep is afile: corpus/ffi_build_file_cxx/include/myfoo.h 1..3 ok 3 - headers 1..3 ok t/ffi_build_file_library.t ............... # Subtest: basic ok 1 ok 2 # path = corpus/basic.so 1..2 ok 1 - basic 1..1 ok t/ffi_build_file_object.t ................ # Subtest: basic ok 1 ok 2 # path = corpus/basic.o 1..2 ok 1 - basic 1..1 ok t/ffi_build_mm.t ......................... # Subtest: basic ok 1 - An object of class 'FFI::Build::MM' isa 'FFI::Build::MM' ok 2 ok 3 ok 4 # Subtest: build with fbx file ok 1 - An object of class 'FFI::Build' isa 'FFI::Build' ok 2 1..2 ok 5 - build with fbx file # Subtest: build with fbx file with errors ok 1 - caught compile error in fbx file 1..1 ok 6 - build with fbx file with errors # Subtest: build with default ok 1 - An object of class 'FFI::Build' isa 'FFI::Build' ok 2 1..2 ok 7 - build with default ok 8 # [postamble] # .PHONY: fbx_build ffi fbx_test ffi-test fbx_clean ffi-clean # # realclean :: fbx_clean # # fbx_clean ffi-clean: # $(FULLPERL) -MFFI::Build::MM=cmd -e fbx_clean # # pure_all :: fbx_build # # fbx_build ffi: # $(FULLPERL) -MFFI::Build::MM=cmd -e fbx_build # # subdirs-test_dynamic subdirs-test_static subdirs-test :: fbx_test # # fbx_test ffi-test: # $(FULLPERL) -MFFI::Build::MM=cmd -e fbx_test # # ok 9 ok 10 1..10 ok 1 - basic # Subtest: with a build! # Subtest: namespace is clean ok 1 - fbx_build not imported yet ok 2 - fbx_test not imported yet ok 3 - fbx_clean not imported yet 1..3 ok 1 - namespace is clean # Subtest: do not save on request ok 1 1..1 ok 2 - do not save on request # Subtest: perl Makefile.PL ok 1 1..1 ok 3 - perl Makefile.PL # Subtest: import ok 1 - fbx_build not imported yet ok 2 - fbx_test not imported yet ok 3 - fbx_clean not imported yet 1..3 ok 4 - import # Subtest: make # CC ffi/x.c # CC ffi/y.c # CC ffi/z.c # LD blib/lib/auto/share/dist/Crock-O-Stimpy/lib/libCrock-O-Stimpy.so ok 1 ok 2 # lib=blib/lib/auto/share/dist/Crock-O-Stimpy/lib/libCrock-O-Stimpy.so ok 3 1..3 ok 5 - make # Subtest: make test # CC t/ffi/a.c # CC t/ffi/b.c # CC t/ffi/c.c # LD t/ffi/_build/libtest.so ok 1 1..1 ok 6 - make test # Subtest: make clean ok 1 1..1 ok 7 - make clean 1..7 ok 2 - with a build! # Subtest: alien 1..0 # SKIP todo ok 3 # skip todo 1..3 ok t/ffi_build_platform.t ................... # Subtest: basic ok 1 - An object of class 'FFI::Build::Platform' isa 'FFI::Build::Platform' # osname : linux # cc : s390x-linux-gnu-gcc # cxx : s390x-linux-gnu-g++ # for : --- # ld : s390x-linux-gnu-gcc # ccflags : -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -I/<>/blib/lib/auto/share/dist/FFI-Platypus/include # ldflags : -shared -L/usr/local/lib -fstack-protector-strong # object suffix : .o # library prefix : lib # library suffix : .so # cc mm works : -MM 1..1 ok 1 - basic # Subtest: cc mm works # CC (checkfor -MM) ok 1 # cc_mm_works = -MM 1..1 ok 2 - cc mm works 1..2 ok t/ffi_platypus.t ......................... # Subtest: constructor # Subtest: basic ok 1 - An object of class 'FFI::Platypus' isa 'FFI::Platypus' 1..1 ok 1 - basic # Subtest: no arguments ok 1 - 'FFI::Platypus.new' isa 'FFI::Platypus' ok 2 - ffi.lib 1..2 ok 2 - no arguments # Subtest: with single lib ok 1 - 'FFI::Platypus.new' isa 'FFI::Platypus' ok 2 - ffi.lib 1..2 ok 3 - with single lib # Subtest: with multiple lib ok 1 - 'FFI::Platypus.new' isa 'FFI::Platypus' ok 2 - ffi.lib 1..2 ok 4 - with multiple lib 1..4 ok 1 - constructor # Subtest: abi ok 1 - has a default ABI # Subtest: default_abi ok 1 - string ok 2 - integer 1..2 ok 2 - default_abi # Subtest: sysv ok 1 - string ok 2 - integer 1..2 ok 3 - sysv # Subtest: bogus ok 1 - string ok 2 - integer 1..2 ok 4 - bogus 1..4 ok 2 - abi # Subtest: alignof # Subtest: ffi types ok 1 - alignof sint8 = 1 ok 2 ok 3 - alignof sint8 [2] = 1 ok 4 - alignof sint8 * = 8 ok 5 - alignof custom_sint8 = 1 ok 6 - alignof uint8 = 1 ok 7 ok 8 - alignof uint8 [2] = 1 ok 9 - alignof uint8 * = 8 ok 10 - alignof custom_uint8 = 1 ok 11 - alignof sint16 = 2 ok 12 ok 13 - alignof sint16 [2] = 2 ok 14 - alignof sint16 * = 8 ok 15 - alignof custom_sint16 = 2 ok 16 - alignof uint16 = 2 ok 17 ok 18 - alignof uint16 [2] = 2 ok 19 - alignof uint16 * = 8 ok 20 - alignof custom_uint16 = 2 ok 21 - alignof sint32 = 4 ok 22 ok 23 - alignof sint32 [2] = 4 ok 24 - alignof sint32 * = 8 ok 25 - alignof custom_sint32 = 4 ok 26 - alignof uint32 = 4 ok 27 ok 28 - alignof uint32 [2] = 4 ok 29 - alignof uint32 * = 8 ok 30 - alignof custom_uint32 = 4 ok 31 - alignof sint64 = 8 ok 32 ok 33 - alignof sint64 [2] = 8 ok 34 - alignof sint64 * = 8 ok 35 - alignof custom_sint64 = 8 ok 36 - alignof uint64 = 8 ok 37 ok 38 - alignof uint64 [2] = 8 ok 39 - alignof uint64 * = 8 ok 40 - alignof custom_uint64 = 8 ok 41 - alignof float = 4 ok 42 ok 43 - alignof float [2] = 4 ok 44 - alignof float * = 8 ok 45 - alignof custom_float = 4 ok 46 - alignof double = 8 ok 47 ok 48 - alignof double [2] = 8 ok 49 - alignof double * = 8 ok 50 - alignof custom_double = 8 ok 51 - alignof opaque = 8 ok 52 ok 53 - alignof opaque [2] = 8 ok 54 - alignof opaque * = 8 ok 55 - alignof custom_opaque = 8 ok 56 - alignof string = 8 ok 57 1..57 ok 1 - ffi types # Subtest: aliases ok 1 - alignof ushort = 2 ok 2 - alignof foo = 2 1..2 ok 2 - aliases # Subtest: closure ok 1 - sizeof closure_t = 8 1..1 ok 3 - closure # Subtest: record ok 1 # {'ffi_type' => 'pointer','ref' => 0,'size' => 22,'type' => 'record','type_code' => 2308} 1..1 ok 4 - record 1..4 ok 3 - alignof # Subtest: custom type # Subtest: float ok 1 - ffi.custom_type 1 # {'float_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'float','ffi_type' => 'float','size' => 4,'type' => 'custom_perl','type_code' => 12355}} ok 2 - ffi.custom_type 1 # {'float_1' => {'custom_native_to_p' => \sub { "DUMMY" },'element_type' => 'float','ffi_type' => 'float','size' => 4,'type' => 'custom_perl','type_code' => 12355}} ok 3 - ffi.custom_type 1 # {'float_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'float','ffi_type' => 'float','size' => 4,'type' => 'custom_perl','type_code' => 12355}} ok 4 - ffi.custom_type 1 # {'float_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'float','ffi_type' => 'float','size' => 4,'type' => 'custom_perl','type_code' => 12355}} ok 5 - ffi.custom_type 1 # {'float_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'float','ffi_type' => 'float','size' => 4,'type' => 'custom_perl','type_code' => 12355}} ok 6 - ffi.custom_type 1 # {'float_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'float','ffi_type' => 'float','size' => 4,'type' => 'custom_perl','type_code' => 12355}} 1..6 ok 1 - float # Subtest: double ok 1 - ffi.custom_type 1 # {'double_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'float','ffi_type' => 'double','size' => 8,'type' => 'custom_perl','type_code' => 12356}} ok 2 - ffi.custom_type 1 # {'double_1' => {'custom_native_to_p' => \sub { "DUMMY" },'element_type' => 'float','ffi_type' => 'double','size' => 8,'type' => 'custom_perl','type_code' => 12356}} ok 3 - ffi.custom_type 1 # {'double_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'float','ffi_type' => 'double','size' => 8,'type' => 'custom_perl','type_code' => 12356}} ok 4 - ffi.custom_type 1 # {'double_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'float','ffi_type' => 'double','size' => 8,'type' => 'custom_perl','type_code' => 12356}} ok 5 - ffi.custom_type 1 # {'double_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'float','ffi_type' => 'double','size' => 8,'type' => 'custom_perl','type_code' => 12356}} ok 6 - ffi.custom_type 1 # {'double_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'float','ffi_type' => 'double','size' => 8,'type' => 'custom_perl','type_code' => 12356}} 1..6 ok 2 - double # Subtest: opaque ok 1 - ffi.custom_type 1 # {'opaque_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'opaque','ffi_type' => 'pointer','size' => 8,'type' => 'custom_perl','type_code' => 12548}} ok 2 - ffi.custom_type 1 # {'opaque_1' => {'custom_native_to_p' => \sub { "DUMMY" },'element_type' => 'opaque','ffi_type' => 'pointer','size' => 8,'type' => 'custom_perl','type_code' => 12548}} ok 3 - ffi.custom_type 1 # {'opaque_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'opaque','ffi_type' => 'pointer','size' => 8,'type' => 'custom_perl','type_code' => 12548}} ok 4 - ffi.custom_type 1 # {'opaque_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'opaque','ffi_type' => 'pointer','size' => 8,'type' => 'custom_perl','type_code' => 12548}} ok 5 - ffi.custom_type 1 # {'opaque_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'opaque','ffi_type' => 'pointer','size' => 8,'type' => 'custom_perl','type_code' => 12548}} ok 6 - ffi.custom_type 1 # {'opaque_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'opaque','ffi_type' => 'pointer','size' => 8,'type' => 'custom_perl','type_code' => 12548}} 1..6 ok 3 - opaque # Subtest: uint8 ok 1 - ffi.custom_type 1 # {'uint8_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint8','sign' => 0,'size' => 1,'type' => 'custom_perl','type_code' => 12321}} ok 2 - ffi.custom_type 1 # {'uint8_1' => {'custom_native_to_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint8','sign' => 0,'size' => 1,'type' => 'custom_perl','type_code' => 12321}} ok 3 - ffi.custom_type 1 # {'uint8_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint8','sign' => 0,'size' => 1,'type' => 'custom_perl','type_code' => 12321}} ok 4 - ffi.custom_type 1 # {'uint8_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint8','sign' => 0,'size' => 1,'type' => 'custom_perl','type_code' => 12321}} ok 5 - ffi.custom_type 1 # {'uint8_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint8','sign' => 0,'size' => 1,'type' => 'custom_perl','type_code' => 12321}} ok 6 - ffi.custom_type 1 # {'uint8_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint8','sign' => 0,'size' => 1,'type' => 'custom_perl','type_code' => 12321}} 1..6 ok 4 - uint8 # Subtest: sint8 ok 1 - ffi.custom_type 1 # {'sint8_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint8','sign' => 1,'size' => 1,'type' => 'custom_perl','type_code' => 12305}} ok 2 - ffi.custom_type 1 # {'sint8_1' => {'custom_native_to_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint8','sign' => 1,'size' => 1,'type' => 'custom_perl','type_code' => 12305}} ok 3 - ffi.custom_type 1 # {'sint8_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint8','sign' => 1,'size' => 1,'type' => 'custom_perl','type_code' => 12305}} ok 4 - ffi.custom_type 1 # {'sint8_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint8','sign' => 1,'size' => 1,'type' => 'custom_perl','type_code' => 12305}} ok 5 - ffi.custom_type 1 # {'sint8_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint8','sign' => 1,'size' => 1,'type' => 'custom_perl','type_code' => 12305}} ok 6 - ffi.custom_type 1 # {'sint8_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint8','sign' => 1,'size' => 1,'type' => 'custom_perl','type_code' => 12305}} 1..6 ok 5 - sint8 # Subtest: uint16 ok 1 - ffi.custom_type 1 # {'uint16_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint16','sign' => 0,'size' => 2,'type' => 'custom_perl','type_code' => 12322}} ok 2 - ffi.custom_type 1 # {'uint16_1' => {'custom_native_to_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint16','sign' => 0,'size' => 2,'type' => 'custom_perl','type_code' => 12322}} ok 3 - ffi.custom_type 1 # {'uint16_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint16','sign' => 0,'size' => 2,'type' => 'custom_perl','type_code' => 12322}} ok 4 - ffi.custom_type 1 # {'uint16_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint16','sign' => 0,'size' => 2,'type' => 'custom_perl','type_code' => 12322}} ok 5 - ffi.custom_type 1 # {'uint16_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint16','sign' => 0,'size' => 2,'type' => 'custom_perl','type_code' => 12322}} ok 6 - ffi.custom_type 1 # {'uint16_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint16','sign' => 0,'size' => 2,'type' => 'custom_perl','type_code' => 12322}} 1..6 ok 6 - uint16 # Subtest: sint16 ok 1 - ffi.custom_type 1 # {'sint16_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint16','sign' => 1,'size' => 2,'type' => 'custom_perl','type_code' => 12306}} ok 2 - ffi.custom_type 1 # {'sint16_1' => {'custom_native_to_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint16','sign' => 1,'size' => 2,'type' => 'custom_perl','type_code' => 12306}} ok 3 - ffi.custom_type 1 # {'sint16_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint16','sign' => 1,'size' => 2,'type' => 'custom_perl','type_code' => 12306}} ok 4 - ffi.custom_type 1 # {'sint16_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint16','sign' => 1,'size' => 2,'type' => 'custom_perl','type_code' => 12306}} ok 5 - ffi.custom_type 1 # {'sint16_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint16','sign' => 1,'size' => 2,'type' => 'custom_perl','type_code' => 12306}} ok 6 - ffi.custom_type 1 # {'sint16_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint16','sign' => 1,'size' => 2,'type' => 'custom_perl','type_code' => 12306}} 1..6 ok 7 - sint16 # Subtest: uint32 ok 1 - ffi.custom_type 1 # {'uint32_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint32','sign' => 0,'size' => 4,'type' => 'custom_perl','type_code' => 12323}} ok 2 - ffi.custom_type 1 # {'uint32_1' => {'custom_native_to_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint32','sign' => 0,'size' => 4,'type' => 'custom_perl','type_code' => 12323}} ok 3 - ffi.custom_type 1 # {'uint32_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint32','sign' => 0,'size' => 4,'type' => 'custom_perl','type_code' => 12323}} ok 4 - ffi.custom_type 1 # {'uint32_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint32','sign' => 0,'size' => 4,'type' => 'custom_perl','type_code' => 12323}} ok 5 - ffi.custom_type 1 # {'uint32_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint32','sign' => 0,'size' => 4,'type' => 'custom_perl','type_code' => 12323}} ok 6 - ffi.custom_type 1 # {'uint32_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint32','sign' => 0,'size' => 4,'type' => 'custom_perl','type_code' => 12323}} 1..6 ok 8 - uint32 # Subtest: sint32 ok 1 - ffi.custom_type 1 # {'sint32_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 4,'type' => 'custom_perl','type_code' => 12307}} ok 2 - ffi.custom_type 1 # {'sint32_1' => {'custom_native_to_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 4,'type' => 'custom_perl','type_code' => 12307}} ok 3 - ffi.custom_type 1 # {'sint32_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 4,'type' => 'custom_perl','type_code' => 12307}} ok 4 - ffi.custom_type 1 # {'sint32_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 4,'type' => 'custom_perl','type_code' => 12307}} ok 5 - ffi.custom_type 1 # {'sint32_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 4,'type' => 'custom_perl','type_code' => 12307}} ok 6 - ffi.custom_type 1 # {'sint32_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 4,'type' => 'custom_perl','type_code' => 12307}} 1..6 ok 9 - sint32 # Subtest: uint64 ok 1 - ffi.custom_type 1 # {'uint64_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint64','sign' => 0,'size' => 8,'type' => 'custom_perl','type_code' => 12324}} ok 2 - ffi.custom_type 1 # {'uint64_1' => {'custom_native_to_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint64','sign' => 0,'size' => 8,'type' => 'custom_perl','type_code' => 12324}} ok 3 - ffi.custom_type 1 # {'uint64_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint64','sign' => 0,'size' => 8,'type' => 'custom_perl','type_code' => 12324}} ok 4 - ffi.custom_type 1 # {'uint64_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint64','sign' => 0,'size' => 8,'type' => 'custom_perl','type_code' => 12324}} ok 5 - ffi.custom_type 1 # {'uint64_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint64','sign' => 0,'size' => 8,'type' => 'custom_perl','type_code' => 12324}} ok 6 - ffi.custom_type 1 # {'uint64_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'uint64','sign' => 0,'size' => 8,'type' => 'custom_perl','type_code' => 12324}} 1..6 ok 10 - uint64 # Subtest: sint64 ok 1 - ffi.custom_type 1 # {'sint64_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint64','sign' => 1,'size' => 8,'type' => 'custom_perl','type_code' => 12308}} ok 2 - ffi.custom_type 1 # {'sint64_1' => {'custom_native_to_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint64','sign' => 1,'size' => 8,'type' => 'custom_perl','type_code' => 12308}} ok 3 - ffi.custom_type 1 # {'sint64_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint64','sign' => 1,'size' => 8,'type' => 'custom_perl','type_code' => 12308}} ok 4 - ffi.custom_type 1 # {'sint64_1' => {'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint64','sign' => 1,'size' => 8,'type' => 'custom_perl','type_code' => 12308}} ok 5 - ffi.custom_type 1 # {'sint64_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint64','sign' => 1,'size' => 8,'type' => 'custom_perl','type_code' => 12308}} ok 6 - ffi.custom_type 1 # {'sint64_1' => {'custom_native_to_p' => \sub { "DUMMY" },'custom_perl_to_nat' => \sub { "DUMMY" },'custom_perl_to_native_p' => \sub { "DUMMY" },'element_type' => 'int','ffi_type' => 'sint64','sign' => 1,'size' => 8,'type' => 'custom_perl','type_code' => 12308}} 1..6 ok 11 - sint64 1..11 ok 4 - custom type # Subtest: find lib # Subtest: find_lib ok 1 - found f0 = 4396217808160 1..1 ok 1 - find_lib # Subtest: external ok 1 - ffi.find_symbol(f0) = 4396217808160 ok 2 - ffi.find_symbol(bogus) = undef 1..2 ok 2 - external # Subtest: internal ok 1 - ffi.find_symbol(printf) = 4396230805328 ok 2 - ffi.find_symbol(bogus) = undef 1..2 ok 3 - internal 1..3 ok 5 - find lib # Subtest: find symbol # Subtest: external ok 1 - ffi.find_symbol(f0) = 4396217808160 ok 2 - ffi.find_symbol(bogus) = undef 1..2 ok 1 - external # Subtest: internal ok 1 - ffi.find_symbol(printf) = 4396230805328 ok 2 - ffi.find_symbol(bogus) = undef 1..2 ok 2 - internal 1..2 ok 6 - find symbol # Subtest: lib # Subtest: basic ok 1 - exists t/ffi/libtest.so ok 2 - ffi.lib (set) ok 3 - ffi.lib (get) 1..3 ok 1 - basic # Subtest: undef # Subtest: baseline ok 1 1..1 ok 1 - baseline # Subtest: lib => [undef] ok 1 1..1 ok 2 - lib => [undef] # Subtest: lib => undef ok 1 1..1 ok 3 - lib => undef 1..3 ok 2 - undef # Subtest: coderef ok 1 - exists t/ffi/libtest.so ok 2 - ffi.lib (set) ok 3 - ffi.lib (get) 1..3 ok 3 - coderef 1..3 ok 7 - lib # Subtest: sizeof # Subtest: integers ok 1 - sizeof uint8 = 1 ok 2 - sizeof uint16 = 2 ok 3 - sizeof uint32 = 4 ok 4 - sizeof uint64 = 8 ok 5 - sizeof sint8 = 1 ok 6 - sizeof sint16 = 2 ok 7 - sizeof sint32 = 4 ok 8 - sizeof sint64 = 8 1..8 ok 1 - integers # Subtest: class methods ok 1 - sizeof uint8 = 1 ok 2 - sizeof uint16 = 2 ok 3 - sizeof uint32 = 4 ok 4 - sizeof uint64 = 8 ok 5 - sizeof sint8 = 1 ok 6 - sizeof sint16 = 2 ok 7 - sizeof sint32 = 4 ok 8 - sizeof sint64 = 8 1..8 ok 2 - class methods # Subtest: floats ok 1 - sizeof float = 4 ok 2 - sizeof double = 8 1..2 ok 3 - floats # Subtest: pointers ok 1 - sizeof opaque = 8 ok 2 - sizeof uint8* = 8 ok 3 - sizeof uint16* = 8 ok 4 - sizeof uint32* = 8 ok 5 - sizeof uint64* = 8 ok 6 - sizeof sint8* = 8 ok 7 - sizeof sint16* = 8 ok 8 - sizeof sint32* = 8 ok 9 - sizeof sint64* = 8 ok 10 - sizeof float* = 8 ok 11 - sizeof double* = 8 ok 12 - sizeof opaque* = 8 ok 13 - sizeof string = 8 ok 14 - sizeof (int)->int = 8 1..14 ok 4 - pointers # Subtest: arrays ok 1 - sizeof uint8 [32] = 1 ok 2 - sizeof uint8 [32] = 2 ok 3 - sizeof uint8 [32] = 3 ok 4 - sizeof uint8 [32] = 4 ok 5 - sizeof uint8 [32] = 5 ok 6 - sizeof uint8 [32] = 6 ok 7 - sizeof uint8 [32] = 7 ok 8 - sizeof uint8 [32] = 8 ok 9 - sizeof uint8 [32] = 9 ok 10 - sizeof uint8 [32] = 10 ok 11 - sizeof uint16 [32] = 2 ok 12 - sizeof uint16 [32] = 4 ok 13 - sizeof uint16 [32] = 6 ok 14 - sizeof uint16 [32] = 8 ok 15 - sizeof uint16 [32] = 10 ok 16 - sizeof uint16 [32] = 12 ok 17 - sizeof uint16 [32] = 14 ok 18 - sizeof uint16 [32] = 16 ok 19 - sizeof uint16 [32] = 18 ok 20 - sizeof uint16 [32] = 20 ok 21 - sizeof uint32 [32] = 4 ok 22 - sizeof uint32 [32] = 8 ok 23 - sizeof uint32 [32] = 12 ok 24 - sizeof uint32 [32] = 16 ok 25 - sizeof uint32 [32] = 20 ok 26 - sizeof uint32 [32] = 24 ok 27 - sizeof uint32 [32] = 28 ok 28 - sizeof uint32 [32] = 32 ok 29 - sizeof uint32 [32] = 36 ok 30 - sizeof uint32 [32] = 40 ok 31 - sizeof uint64 [32] = 8 ok 32 - sizeof uint64 [32] = 16 ok 33 - sizeof uint64 [32] = 24 ok 34 - sizeof uint64 [32] = 32 ok 35 - sizeof uint64 [32] = 40 ok 36 - sizeof uint64 [32] = 48 ok 37 - sizeof uint64 [32] = 56 ok 38 - sizeof uint64 [32] = 64 ok 39 - sizeof uint64 [32] = 72 ok 40 - sizeof uint64 [32] = 80 ok 41 - sizeof sint8 [32] = 1 ok 42 - sizeof sint8 [32] = 2 ok 43 - sizeof sint8 [32] = 3 ok 44 - sizeof sint8 [32] = 4 ok 45 - sizeof sint8 [32] = 5 ok 46 - sizeof sint8 [32] = 6 ok 47 - sizeof sint8 [32] = 7 ok 48 - sizeof sint8 [32] = 8 ok 49 - sizeof sint8 [32] = 9 ok 50 - sizeof sint8 [32] = 10 ok 51 - sizeof sint16 [32] = 2 ok 52 - sizeof sint16 [32] = 4 ok 53 - sizeof sint16 [32] = 6 ok 54 - sizeof sint16 [32] = 8 ok 55 - sizeof sint16 [32] = 10 ok 56 - sizeof sint16 [32] = 12 ok 57 - sizeof sint16 [32] = 14 ok 58 - sizeof sint16 [32] = 16 ok 59 - sizeof sint16 [32] = 18 ok 60 - sizeof sint16 [32] = 20 ok 61 - sizeof sint32 [32] = 4 ok 62 - sizeof sint32 [32] = 8 ok 63 - sizeof sint32 [32] = 12 ok 64 - sizeof sint32 [32] = 16 ok 65 - sizeof sint32 [32] = 20 ok 66 - sizeof sint32 [32] = 24 ok 67 - sizeof sint32 [32] = 28 ok 68 - sizeof sint32 [32] = 32 ok 69 - sizeof sint32 [32] = 36 ok 70 - sizeof sint32 [32] = 40 ok 71 - sizeof sint64 [32] = 8 ok 72 - sizeof sint64 [32] = 16 ok 73 - sizeof sint64 [32] = 24 ok 74 - sizeof sint64 [32] = 32 ok 75 - sizeof sint64 [32] = 40 ok 76 - sizeof sint64 [32] = 48 ok 77 - sizeof sint64 [32] = 56 ok 78 - sizeof sint64 [32] = 64 ok 79 - sizeof sint64 [32] = 72 ok 80 - sizeof sint64 [32] = 80 ok 81 - sizeof float [32] = 4 ok 82 - sizeof float [32] = 8 ok 83 - sizeof float [32] = 12 ok 84 - sizeof float [32] = 16 ok 85 - sizeof float [32] = 20 ok 86 - sizeof float [32] = 24 ok 87 - sizeof float [32] = 28 ok 88 - sizeof float [32] = 32 ok 89 - sizeof float [32] = 36 ok 90 - sizeof float [32] = 40 ok 91 - sizeof double [32] = 8 ok 92 - sizeof double [32] = 16 ok 93 - sizeof double [32] = 24 ok 94 - sizeof double [32] = 32 ok 95 - sizeof double [32] = 40 ok 96 - sizeof double [32] = 48 ok 97 - sizeof double [32] = 56 ok 98 - sizeof double [32] = 64 ok 99 - sizeof double [32] = 72 ok 100 - sizeof double [32] = 80 ok 101 - sizeof opaque [32] = 8 ok 102 - sizeof opaque [32] = 16 ok 103 - sizeof opaque [32] = 24 ok 104 - sizeof opaque [32] = 32 ok 105 - sizeof opaque [32] = 40 ok 106 - sizeof opaque [32] = 48 ok 107 - sizeof opaque [32] = 56 ok 108 - sizeof opaque [32] = 64 ok 109 - sizeof opaque [32] = 72 ok 110 - sizeof opaque [32] = 80 1..110 ok 5 - arrays # Subtest: custom_type ok 1 - sizeof my_uint8 = 1 ok 2 - sizeof my_uint16 = 2 ok 3 - sizeof my_uint32 = 4 ok 4 - sizeof my_uint64 = 8 ok 5 - sizeof my_sint8 = 1 ok 6 - sizeof my_sint16 = 2 ok 7 - sizeof my_sint32 = 4 ok 8 - sizeof my_sint64 = 8 ok 9 - sizeof my_float = 4 ok 10 - sizeof my_double = 8 ok 11 - sizeof my_opaque = 8 1..11 ok 6 - custom_type 1..6 ok 8 - sizeof # Subtest: type # Subtest: simple type ok 1 - ffi.type(sint8) 1..1 ok 1 - simple type # Subtest: aliased type ok 1 - ffi.type(sint8 => my_integer_8) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 3 - ffi.types returns my_integer_8 1..3 ok 2 - aliased type # Subtest: ffi basic types # Subtest: sint8 ok 1 - ffi.type(sint8) # {'element_size' => 1,'element_type' => 'int','ffi_type' => 'sint8','sign' => 1,'size' => 1,'type' => 'scalar','type_code' => 17} # 0 ok 2 - size = 1 1..2 ok 1 - sint8 # Subtest: uint8 ok 1 - ffi.type(uint8) # {'element_size' => 1,'element_type' => 'int','ffi_type' => 'uint8','sign' => 0,'size' => 1,'type' => 'scalar','type_code' => 33} # 0 ok 2 - size = 1 1..2 ok 2 - uint8 # Subtest: sint16 ok 1 - ffi.type(sint16) # {'element_size' => 2,'element_type' => 'int','ffi_type' => 'sint16','sign' => 1,'size' => 2,'type' => 'scalar','type_code' => 18} # 0 ok 2 - size = 2 1..2 ok 3 - sint16 # Subtest: uint16 ok 1 - ffi.type(uint16) # {'element_size' => 2,'element_type' => 'int','ffi_type' => 'uint16','sign' => 0,'size' => 2,'type' => 'scalar','type_code' => 34} # 0 ok 2 - size = 2 1..2 ok 4 - uint16 # Subtest: sint32 ok 1 - ffi.type(sint32) # {'element_size' => 4,'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 4,'type' => 'scalar','type_code' => 19} # 0 ok 2 - size = 4 1..2 ok 5 - sint32 # Subtest: uint32 ok 1 - ffi.type(uint32) # {'element_size' => 4,'element_type' => 'int','ffi_type' => 'uint32','sign' => 0,'size' => 4,'type' => 'scalar','type_code' => 35} # 0 ok 2 - size = 4 1..2 ok 6 - uint32 # Subtest: sint64 ok 1 - ffi.type(sint64) # {'element_size' => 8,'element_type' => 'int','ffi_type' => 'sint64','sign' => 1,'size' => 8,'type' => 'scalar','type_code' => 20} # 0 ok 2 - size = 8 1..2 ok 7 - sint64 # Subtest: uint64 ok 1 - ffi.type(uint64) # {'element_size' => 8,'element_type' => 'int','ffi_type' => 'uint64','sign' => 0,'size' => 8,'type' => 'scalar','type_code' => 36} # 0 ok 2 - size = 8 1..2 ok 8 - uint64 # Subtest: float ok 1 - ffi.type(float) # {'element_size' => 4,'element_type' => 'float','ffi_type' => 'float','size' => 4,'type' => 'scalar','type_code' => 67} # 0 ok 2 - size = 4 1..2 ok 9 - float # Subtest: double ok 1 - ffi.type(double) # {'element_size' => 8,'element_type' => 'float','ffi_type' => 'double','size' => 8,'type' => 'scalar','type_code' => 68} # 0 ok 2 - size = 8 1..2 ok 10 - double # Subtest: opaque ok 1 - ffi.type(opaque) # {'element_size' => 8,'element_type' => 'opaque','ffi_type' => 'pointer','size' => 8,'type' => 'scalar','type_code' => 260} # 0 ok 2 - size = 8 1..2 ok 11 - opaque # Subtest: string ok 1 - ffi.type(string) # {'access' => 'ro','element_size' => 8,'ffi_type' => 'pointer','size' => 8,'type' => 'string','type_code' => 772} # 0 ok 2 - size = 8 1..2 ok 12 - string # Subtest: longdouble ok 1 - ffi.type(longdouble) # {'element_size' => 16,'element_type' => 'float','ffi_type' => 'longdouble','size' => 16,'type' => 'scalar','type_code' => 69} # 0 ok 2 - size = 16 1..2 ok 13 - longdouble # Subtest: complex_float ok 1 - ffi.type(complex_float) # {'element_size' => 8,'element_type' => 'float','ffi_type' => 'complex_float','size' => 8,'type' => 'scalar','type_code' => 132} # 0 ok 2 - size = 8 1..2 ok 14 - complex_float # Subtest: complex_double ok 1 - ffi.type(complex_double) # {'element_size' => 16,'element_type' => 'float','ffi_type' => 'complex_double','size' => 16,'type' => 'scalar','type_code' => 133} # 0 ok 2 - size = 16 1..2 ok 15 - complex_double 1..15 ok 3 - ffi basic types # Subtest: ffi pointer types # Subtest: sint8 * ok 1 - ffi.type(sint8 *) # {'element_size' => 1,'element_type' => 'int','ffi_type' => 'sint8','sign' => 1,'size' => 8,'type' => 'pointer','type_code' => 4113} # 0 ok 2 - size = 8 1..2 ok 1 - sint8 * # Subtest: uint8 * ok 1 - ffi.type(uint8 *) # {'element_size' => 1,'element_type' => 'int','ffi_type' => 'uint8','sign' => 0,'size' => 8,'type' => 'pointer','type_code' => 4129} # 0 ok 2 - size = 8 1..2 ok 2 - uint8 * # Subtest: sint16 * ok 1 - ffi.type(sint16 *) # {'element_size' => 2,'element_type' => 'int','ffi_type' => 'sint16','sign' => 1,'size' => 8,'type' => 'pointer','type_code' => 4114} # 0 ok 2 - size = 8 1..2 ok 3 - sint16 * # Subtest: uint16 * ok 1 - ffi.type(uint16 *) # {'element_size' => 2,'element_type' => 'int','ffi_type' => 'uint16','sign' => 0,'size' => 8,'type' => 'pointer','type_code' => 4130} # 0 ok 2 - size = 8 1..2 ok 4 - uint16 * # Subtest: sint32 * ok 1 - ffi.type(sint32 *) # {'element_size' => 4,'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 8,'type' => 'pointer','type_code' => 4115} # 0 ok 2 - size = 8 1..2 ok 5 - sint32 * # Subtest: uint32 * ok 1 - ffi.type(uint32 *) # {'element_size' => 4,'element_type' => 'int','ffi_type' => 'uint32','sign' => 0,'size' => 8,'type' => 'pointer','type_code' => 4131} # 0 ok 2 - size = 8 1..2 ok 6 - uint32 * # Subtest: sint64 * ok 1 - ffi.type(sint64 *) # {'element_size' => 8,'element_type' => 'int','ffi_type' => 'sint64','sign' => 1,'size' => 8,'type' => 'pointer','type_code' => 4116} # 0 ok 2 - size = 8 1..2 ok 7 - sint64 * # Subtest: uint64 * ok 1 - ffi.type(uint64 *) # {'element_size' => 8,'element_type' => 'int','ffi_type' => 'uint64','sign' => 0,'size' => 8,'type' => 'pointer','type_code' => 4132} # 0 ok 2 - size = 8 1..2 ok 8 - uint64 * # Subtest: float * ok 1 - ffi.type(float *) # {'element_size' => 4,'element_type' => 'float','ffi_type' => 'float','size' => 8,'type' => 'pointer','type_code' => 4163} # 0 ok 2 - size = 8 1..2 ok 9 - float * # Subtest: double * ok 1 - ffi.type(double *) # {'element_size' => 8,'element_type' => 'float','ffi_type' => 'double','size' => 8,'type' => 'pointer','type_code' => 4164} # 0 ok 2 - size = 8 1..2 ok 10 - double * # Subtest: opaque * ok 1 - ffi.type(opaque *) # {'element_size' => 8,'element_type' => 'opaque','ffi_type' => 'pointer','size' => 8,'type' => 'pointer','type_code' => 4356} # 0 ok 2 - size = 8 1..2 ok 11 - opaque * # Subtest: string * 1..0 # SKIP ME GRIMLOCK SAY STRING CAN NO BE POINTER ok 12 # skip ME GRIMLOCK SAY STRING CAN NO BE POINTER # Subtest: longdouble * ok 1 - ffi.type(longdouble *) # {'element_size' => 16,'element_type' => 'float','ffi_type' => 'longdouble','size' => 8,'type' => 'pointer','type_code' => 4165} # 0 ok 2 - size = 8 1..2 ok 13 - longdouble * # Subtest: complex_float * ok 1 - ffi.type(complex_float *) # {'element_size' => 8,'element_type' => 'float','ffi_type' => 'complex_float','size' => 8,'type' => 'pointer','type_code' => 4228} # 0 ok 2 - size = 8 1..2 ok 14 - complex_float * # Subtest: complex_double * ok 1 - ffi.type(complex_double *) # {'element_size' => 16,'element_type' => 'float','ffi_type' => 'complex_double','size' => 8,'type' => 'pointer','type_code' => 4229} # 0 ok 2 - size = 8 1..2 ok 15 - complex_double * 1..15 ok 4 - ffi pointer types # Subtest: ffi array types # Subtest: sint8 [5] ok 1 - ffi.type(sint8 [5]) # {'element_count' => 5,'element_size' => 1,'element_type' => 'int','ffi_type' => 'sint8','sign' => 1,'size' => 5,'type' => 'array','type_code' => 8209} # 0 ok 2 - size = 5 ok 3 - size = 5 1..3 ok 1 - sint8 [5] # Subtest: uint8 [7] ok 1 - ffi.type(uint8 [7]) # {'element_count' => 7,'element_size' => 1,'element_type' => 'int','ffi_type' => 'uint8','sign' => 0,'size' => 7,'type' => 'array','type_code' => 8225} # 0 ok 2 - size = 7 ok 3 - size = 7 1..3 ok 2 - uint8 [7] # Subtest: sint16 [9] ok 1 - ffi.type(sint16 [9]) # {'element_count' => 9,'element_size' => 2,'element_type' => 'int','ffi_type' => 'sint16','sign' => 1,'size' => 18,'type' => 'array','type_code' => 8210} # 0 ok 2 - size = 18 ok 3 - size = 9 1..3 ok 3 - sint16 [9] # Subtest: uint16 [11] ok 1 - ffi.type(uint16 [11]) # {'element_count' => 11,'element_size' => 2,'element_type' => 'int','ffi_type' => 'uint16','sign' => 0,'size' => 22,'type' => 'array','type_code' => 8226} # 0 ok 2 - size = 22 ok 3 - size = 11 1..3 ok 4 - uint16 [11] # Subtest: sint32 [13] ok 1 - ffi.type(sint32 [13]) # {'element_count' => 13,'element_size' => 4,'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 52,'type' => 'array','type_code' => 8211} # 0 ok 2 - size = 52 ok 3 - size = 13 1..3 ok 5 - sint32 [13] # Subtest: uint32 [15] ok 1 - ffi.type(uint32 [15]) # {'element_count' => 15,'element_size' => 4,'element_type' => 'int','ffi_type' => 'uint32','sign' => 0,'size' => 60,'type' => 'array','type_code' => 8227} # 0 ok 2 - size = 60 ok 3 - size = 15 1..3 ok 6 - uint32 [15] # Subtest: sint64 [17] ok 1 - ffi.type(sint64 [17]) # {'element_count' => 17,'element_size' => 8,'element_type' => 'int','ffi_type' => 'sint64','sign' => 1,'size' => 136,'type' => 'array','type_code' => 8212} # 0 ok 2 - size = 136 ok 3 - size = 17 1..3 ok 7 - sint64 [17] # Subtest: uint64 [19] ok 1 - ffi.type(uint64 [19]) # {'element_count' => 19,'element_size' => 8,'element_type' => 'int','ffi_type' => 'uint64','sign' => 0,'size' => 152,'type' => 'array','type_code' => 8228} # 0 ok 2 - size = 152 ok 3 - size = 19 1..3 ok 8 - uint64 [19] # Subtest: float [21] ok 1 - ffi.type(float [21]) # {'element_count' => 21,'element_size' => 4,'element_type' => 'float','ffi_type' => 'float','size' => 84,'type' => 'array','type_code' => 8259} # 0 ok 2 - size = 84 ok 3 - size = 21 1..3 ok 9 - float [21] # Subtest: double [23] ok 1 - ffi.type(double [23]) # {'element_count' => 23,'element_size' => 8,'element_type' => 'float','ffi_type' => 'double','size' => 184,'type' => 'array','type_code' => 8260} # 0 ok 2 - size = 184 ok 3 - size = 23 1..3 ok 10 - double [23] # Subtest: opaque [25] ok 1 - ffi.type(opaque [25]) # {'element_count' => 25,'element_size' => 8,'element_type' => 'opaque','ffi_type' => 'pointer','size' => 200,'type' => 'array','type_code' => 8452} # 0 ok 2 - size = 200 ok 3 - size = 25 1..3 ok 11 - opaque [25] # Subtest: string [27] 1..0 # SKIP ME GRIMLOCK SAY STRING CAN NO BE ARRAY ok 12 # skip ME GRIMLOCK SAY STRING CAN NO BE ARRAY # Subtest: longdouble [29] ok 1 - ffi.type(longdouble [29]) # {'element_count' => 29,'element_size' => 16,'element_type' => 'float','ffi_type' => 'longdouble','size' => 464,'type' => 'array','type_code' => 8261} # 0 ok 2 - size = 464 ok 3 - size = 29 1..3 ok 13 - longdouble [29] # Subtest: complex_float [31] ok 1 - ffi.type(complex_float [31]) # {'element_count' => 31,'element_size' => 8,'element_type' => 'float','ffi_type' => 'complex_float','size' => 248,'type' => 'array','type_code' => 8324} # 0 ok 2 - size = 248 ok 3 - size = 31 1..3 ok 14 - complex_float [31] # Subtest: complex_double [33] ok 1 - ffi.type(complex_double [33]) # {'element_count' => 33,'element_size' => 16,'element_type' => 'float','ffi_type' => 'complex_double','size' => 528,'type' => 'array','type_code' => 8325} # 0 ok 2 - size = 528 ok 3 - size = 33 1..3 ok 15 - complex_double [33] 1..15 ok 5 - ffi array types # Subtest: closure types ok 1 - (int)->int is a legal closure type # {'element_size' => 8,'ffi_type' => 'pointer','signature' => [[{'element_size' => 4,'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 4,'type' => 'scalar','type_code' => 19}],{'element_size' => 4,'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 4,'type' => 'scalar','type_code' => 19}],'size' => 8,'type' => 'closure','type_code' => 1284} # 0 ok 2 # skip arrays not currently supported as closure argument types ok 3 - inline closure illegal ok 4 - argument type closure illegal ok 5 - return type closure illegal ok 6 - a more complicated closure # {'element_size' => 8,'ffi_type' => 'pointer','signature' => [[{'element_size' => 4,'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 4,'type' => 'scalar','type_code' => 19},{'element_size' => 4,'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 4,'type' => 'scalar','type_code' => 19},{'element_size' => 4,'element_type' => 'int','ffi_type' => 'sint32','sign' => 1,'size' => 4,'type' => 'scalar','type_code' => 19},{'element_size' => 1,'element_type' => 'int','ffi_type' => 'uint8','sign' => 0,'size' => 1,'type' => 'scalar','type_code' => 33},{'access' => 'ro','element_size' => 8,'ffi_type' => 'pointer','size' => 8,'type' => 'string','type_code' => 772},{'element_size' => 8,'element_type' => 'opaque','ffi_type' => 'pointer','size' => 8,'type' => 'scalar','type_code' => 260}],{'element_size' => 0,'element_type' => 'void','ffi_type' => 'void','size' => 0,'type' => 'scalar','type_code' => 8}],'size' => 8,'type' => 'closure','type_code' => 1284} # 0 1..6 ok 6 - closure types # Subtest: record # {'ffi_type' => 'pointer','ref' => 0,'size' => 1,'type' => 'record','type_code' => 2308} # 0 # {'ffi_type' => 'pointer','ref' => 0,'size' => 32,'type' => 'record','type_code' => 2308} # 0 ok 1 - sizeof my_record_1 = 1 ok 2 - sizeof my_record_32 = 32 # {'class' => 'My::Record22','ffi_type' => 'pointer','ref' => 1,'size' => 22,'type' => 'record','type_code' => 2308} # 0 # {'class' => 'My::Record44','ffi_type' => 'pointer','ref' => 1,'size' => 44,'type' => 'record','type_code' => 2308} # 0 ok 3 - sizeof my_record_22 = 22 ok 4 - sizeof my_record_44 = 44 1..4 ok 7 - record # Subtest: string # Subtest: string ok 1 - sizeof string = 8 ok 2 - access = ro # {'access' => 'ro','element_size' => 8,'ffi_type' => 'pointer','size' => 8,'type' => 'string','type_code' => 772} # 0 1..2 ok 1 - string # Subtest: string_rw ok 1 - sizeof string_rw = 8 ok 2 - access = rw # {'access' => 'rw','element_size' => 8,'ffi_type' => 'pointer','size' => 8,'type' => 'string','type_code' => 772} # 0 1..2 ok 2 - string_rw # Subtest: string_ro ok 1 - sizeof string_ro = 8 ok 2 - access = ro # {'access' => 'ro','element_size' => 8,'ffi_type' => 'pointer','size' => 8,'type' => 'string','type_code' => 772} # 0 1..2 ok 3 - string_ro # Subtest: string rw ok 1 - sizeof string rw = 8 ok 2 - access = rw # {'access' => 'rw','element_size' => 8,'ffi_type' => 'pointer','size' => 8,'type' => 'string','type_code' => 772} # 0 1..2 ok 4 - string rw # Subtest: string ro ok 1 - sizeof string ro = 8 ok 2 - access = ro # {'access' => 'ro','element_size' => 8,'ffi_type' => 'pointer','size' => 8,'type' => 'string','type_code' => 772} # 0 1..2 ok 5 - string ro # Subtest: string (10) ok 1 - is actually a record type ok 2 - sizeof string (10) = 10 # {'ffi_type' => 'pointer','ref' => 0,'size' => 10,'type' => 'record','type_code' => 2308} # 0 1..2 ok 6 - string (10) # Subtest: string(10) ok 1 - is actually a record type ok 2 - sizeof string(10) = 10 # {'ffi_type' => 'pointer','ref' => 0,'size' => 10,'type' => 'record','type_code' => 2308} # 0 1..2 ok 7 - string(10) 1..7 ok 8 - string # Subtest: private # Subtest: void ok 1 - type = FFI::Platypus::TypeParser::Version0->new->parse(void) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 3 - type.meta.ffi_type = void 1..3 ok 1 - void # Subtest: uint8 ok 1 - type = FFI::Platypus::TypeParser::Version0->new->parse(uint8) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 3 - type.meta.ffi_type = uint8 1..3 ok 2 - uint8 # Subtest: sint8 ok 1 - type = FFI::Platypus::TypeParser::Version0->new->parse(sint8) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 3 - type.meta.ffi_type = sint8 1..3 ok 3 - sint8 # Subtest: uint16 ok 1 - type = FFI::Platypus::TypeParser::Version0->new->parse(uint16) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 3 - type.meta.ffi_type = uint16 1..3 ok 4 - uint16 # Subtest: sint16 ok 1 - type = FFI::Platypus::TypeParser::Version0->new->parse(sint16) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 3 - type.meta.ffi_type = sint16 1..3 ok 5 - sint16 # Subtest: uint32 ok 1 - type = FFI::Platypus::TypeParser::Version0->new->parse(uint32) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 3 - type.meta.ffi_type = uint32 1..3 ok 6 - uint32 # Subtest: sint32 ok 1 - type = FFI::Platypus::TypeParser::Version0->new->parse(sint32) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 3 - type.meta.ffi_type = sint32 1..3 ok 7 - sint32 # Subtest: uint64 ok 1 - type = FFI::Platypus::TypeParser::Version0->new->parse(uint64) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 3 - type.meta.ffi_type = uint64 1..3 ok 8 - uint64 # Subtest: sint64 ok 1 - type = FFI::Platypus::TypeParser::Version0->new->parse(sint64) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 3 - type.meta.ffi_type = sint64 1..3 ok 9 - sint64 # Subtest: float ok 1 - type = FFI::Platypus::TypeParser::Version0->new->parse(float) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 3 - type.meta.ffi_type = float 1..3 ok 10 - float # Subtest: double ok 1 - type = FFI::Platypus::TypeParser::Version0->new->parse(double) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 3 - type.meta.ffi_type = double 1..3 ok 11 - double # Subtest: longdouble ok 1 - type = FFI::Platypus::TypeParser::Version0->new->parse(longdouble) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 3 - type.meta.ffi_type = longdouble 1..3 ok 12 - longdouble # Subtest: opaque ok 1 - type = FFI::Platypus::TypeParser::Version0->new->parse(opaque) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 3 - type.meta.ffi_type = pointer 1..3 ok 13 - opaque # Subtest: pointer 1..0 # SKIP test requires longdouble support ok 14 # skip test requires longdouble support # Subtest: string ok 1 - type = FFI::Platypus::TypeParser::Version0->new->parse(string) ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 3 - type.meta.ffi_type = pointer 1..3 ok 15 - string 1..15 ok 9 - private 1..9 ok 9 - type # Subtest: class or instance method ok 1 - class and instance methods are identical # type: blkcnt_t # type: blksize_t # type: bool # type: char # type: complex_double # type: complex_float # type: dev_t # type: double # type: double complex # type: enum # type: float # type: float complex # type: gid_t # type: ino_t # type: int # type: int16_t # type: int32_t # type: int64_t # type: int8_t # type: intptr_t # type: long # type: long double # type: long double complex # type: long long # type: longdouble # type: mode_t # type: nlink_t # type: off_t # type: opaque # type: pointer # type: ptrdiff_t # type: senum # type: short # type: signed char # type: signed int # type: signed long # type: signed long long # type: signed short # type: sint16 # type: sint32 # type: sint64 # type: sint8 # type: size_t # type: ssize_t # type: string # type: time_t # type: uchar # type: uid_t # type: uint # type: uint16 # type: uint16_t # type: uint32 # type: uint32_t # type: uint64 # type: uint64_t # type: uint8 # type: uint8_t # type: uintptr_t # type: ulong # type: unsigned char # type: unsigned int # type: unsigned long # type: unsigned long long # type: unsigned short # type: ushort # type: void # type: wchar_t # type: wint_t 1..1 ok 10 - class or instance method # Subtest: cast # Subtest: cast from string to pointer ok 1 - dynamic ok 2 - static 1..2 ok 1 - cast from string to pointer # Subtest: cast from pointer to string ok 1 - dynamic ok 2 - static 1..2 ok 2 - cast from pointer to string # Subtest: cast closure to opaque ok 1 - dynamic ok 2 - dynamic ok 3 - static ok 4 - static 1..4 ok 3 - cast closure to opaque # Subtest: attach cast with wrapper ok 1 ok 2 1..2 ok 4 - attach cast with wrapper 1..4 ok 11 - cast # Subtest: ignore_not_found # Subtest: ignore_not_found=undef ok 1 - no exception ok 2 - returned a function # f1 isa FFI::Platypus::Function::Function ok 3 - function exception # exception=unable to find bogus at t/ffi_platypus.t line 634. ok 4 - attach exception # exception=unable to find bogus at t/ffi_platypus.t line 638. 1..4 ok 1 - ignore_not_found=undef # Subtest: ignore_not_found=0 ok 1 - no exception ok 2 - returned a function # f1 isa FFI::Platypus::Function::Function ok 3 - function exception # exception=unable to find bogus at t/ffi_platypus.t line 653. ok 4 - attach exception # exception=unable to find bogus at t/ffi_platypus.t line 657. 1..4 ok 2 - ignore_not_found=0 # Subtest: ignore_not_found=0 (constructor) ok 1 - no exception ok 2 - returned a function # f1 isa FFI::Platypus::Function::Function ok 3 - function exception # exception=unable to find bogus at t/ffi_platypus.t line 670. ok 4 - attach exception # exception=unable to find bogus at t/ffi_platypus.t line 674. 1..4 ok 3 - ignore_not_found=0 (constructor) # Subtest: ignore_not_found=1 ok 1 - no exception ok 2 - returned a function # f1 isa FFI::Platypus::Function::Function ok 3 - function no exception ok 4 - f2 is undefined ok 5 - attach no exception 1..5 ok 4 - ignore_not_found=1 # Subtest: ignore_not_found=1 (constructor) ok 1 - no exception ok 2 - returned a function # f1 isa FFI::Platypus::Function::Function ok 3 - function no exception ok 4 - f2 is undefined ok 5 - attach no exception 1..5 ok 5 - ignore_not_found=1 (constructor) # Subtest: ignore_not_found bool context ok 1 - f1 exists and resolved to boolean true ok 2 - f2 does not exist and resolved to boolean false 1..2 ok 6 - ignore_not_found bool context 1..6 ok 12 - ignore_not_found # Subtest: attach basic ok 1 - f0(22) = 22 ok 2 - f1(22) = 22 ok 3 - Roger::f1(22) = 22 ok 4 - f0_wrap(22) = 25 ok 5 - f0_wrap(22) = 25 1..5 ok 13 - attach basic # Subtest: attach void ok 1 - $i_ptr = 43 after f2(\$i_ptr) ok 2 - $i_ptr = 44 after f2_implicit(\$i_ptr) 1..2 ok 14 - attach void # Subtest: customer mangler ok 1 1..1 ok 15 - customer mangler # Subtest: ->package is only allowed for api = 0 # Subtest: api = 0 ok 1 1..1 ok 1 - api = 0 # Subtest: api = 1 ok 1 1..1 ok 2 - api = 1 1..2 ok 16 - ->package is only allowed for api = 0 # Subtest: warning defaults # Subtest: api = 0 ok 1 ok 2 1..2 ok 1 - api = 0 # Subtest: api = 1 # [warning] # warning: error loading corpus/bogus.so: corpus/bogus.so: cannot open shared object file: No such file or directory at /<>/blib/lib/FFI/Platypus.pm line 494. ok 1 ok 2 1..2 ok 2 - api = 1 1..2 ok 17 - warning defaults # Subtest: language plugin api version # Subtest: api = 0 ok 1 1..1 ok 1 - api = 0 # Subtest: api = 1 ok 1 1..1 ok 2 - api = 1 1..2 ok 18 - language plugin api version # Subtest: language load_custom_types hook ok 1 ok 2 - An object of class 'FFI::Platypus' isa 'FFI::Platypus' 1..2 ok 19 - language load_custom_types hook # Subtest: api attribute ok 1 - default is zero ok 2 - explicit zero ok 3 - explicit one 1..3 ok 20 - api attribute # Subtest: kindof ok 1 - void ok 2 - scalar ok 3 - pointer ok 4 - array (fixed) ok 5 - array (var) ok 6 - string 1..6 ok 21 - kindof # Subtest: countof ok 1 - void ok 2 - scalar ok 3 - pointer ok 4 - array (fixed) ok 5 - array (var) ok 6 - string 1..6 ok 22 - countof # Subtest: def # Subtest: needs to be a real type ok 1 1..1 ok 1 - needs to be a real type ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 1..10 ok 23 - def # Subtest: unitof ok 1 - void ok 2 - scalar ok 3 - pointer ok 4 - array (fixed) ok 5 - array (var) ok 6 - string 1..6 ok 24 - unitof 1..24 ok t/ffi_platypus_api.t ..................... # Subtest: basic ok 1 1..1 ok 1 - basic 1..1 ok t/ffi_platypus_buffer.t .................. # Subtest: simple ok 1 - ptr = 2929222369392 ok 2 - scalar to pointer matches ok 3 - size = 16 ok 4 - scalar = me grimlock king 1..4 ok 1 - simple # Subtest: unicode ok 1 - ptr = 2929231485200 ok 2 - size = 12 ok 3 - scalar = привет 1..3 ok 2 - unicode # Subtest: grow ok 1 - B::PV returns consistent string length ok 2 - initial buffer size is smaler than required # Subtest: default options ok 1 - buffer grew as expected ok 2 - original contents cleared ok 3 - string length == requested buffer length 1..3 ok 3 - default options # Subtest: clear # Subtest: on ok 1 - buffer grew as expected ok 2 - buffer contents cleared 1..2 ok 1 - on # Subtest: off ok 1 - buffer grew as expected ok 2 - buffer contents not cleared 1..2 ok 2 - off 1..2 ok 4 - clear # Subtest: set_length # Subtest: on ok 1 - buffer grew as expected ok 2 - buffer length set 1..2 ok 1 - on # Subtest: off ok 1 - buffer grew as expected ok 2 - buffer length not cleared 1..2 ok 2 - off 1..2 ok 5 - set_length # Subtest: bad option ok 1 - croaked 1..1 ok 6 - bad option # Subtest: fail on reference ok 1 - croaked 1..1 ok 7 - fail on reference # Subtest: $str = undef ok 1 - buffer grew as expected 1..1 ok 8 - $str = undef # Subtest: undef ok 1 - croaked 1..1 ok 9 - undef 1..9 ok 3 - grow # Subtest: set_used_length # Subtest: length < max ok 1 - requested length ok 2 - requested string 1..2 ok 1 - length < max # Subtest: length == max ok 1 - requested length 1..1 ok 2 - length == max # Subtest: length > max ok 1 - maxed out length 1..1 ok 3 - length > max # Subtest: fail on reference ok 1 - croaked 1..1 ok 4 - fail on reference # Subtest: $str = undef not ok 1 - no added length # Failed test 'no added length' # at t/ffi_platypus_buffer.t line 158. # got: '10' # expected: '0' ok 2 - maxed out length 1..2 # Looks like you failed 1 test of 2. not ok 5 - $str = undef # TODO is set_used_length undef behavior correct? # Failed (TODO) test '$str = undef' # at t/ffi_platypus_buffer.t line 160. # Subtest: undef ok 1 - croaked 1..1 ok 6 - undef 1..6 ok 4 - set_used_length # Subtest: hardwire # Subtest: ascii ok 1 ok 2 ok 3 ok 4 ok 5 1..5 ok 1 - ascii # Subtest: unicode ok 1 ok 2 ok 3 ok 4 ok 5 1..5 ok 2 - unicode # Subtest: strlen ok 1 ok 2 ok 3 1..3 ok 3 - strlen 1..3 ok 5 - hardwire 1..5 ok t/ffi_platypus_bundle.t .................. # Subtest: from installed # spew(start)[/<>/.tmp/mM5EO2nRmN/lib/Foo/Bar1.pm] # package Foo::Bar1; # use strict; # use warnings; # use FFI::Platypus; # my $ffi = FFI::Platypus->new( api => 1, lang => 'ASM' ); # $ffi->bundle; # $ffi->attach("bar1" => [] => 'sint32'); # 1; # spew(end) # +s390x-linux-gnu-gcc -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -I/<>/blib/lib/auto/share/dist/FFI-Platypus/include -c /<>/.tmp/ffi_build_E_rux1.c -o /<>/.tmp/_build/ffi_build_E_rux1.c.o # +s390x-linux-gnu-gcc -shared -L/usr/local/lib -fstack-protector-strong /<>/.tmp/_build/ffi_build_E_rux1.c.o -o /<>/.tmp/mM5EO2nRmN/lib/auto/share/dist/Foo-Bar1/libbar1.so # spew(start)[/<>/.tmp/mM5EO2nRmN/lib/auto/Foo/Bar1/Bar1.txt] # FFI::Build@auto/share/dist/Foo-Bar1/libbar1.so # spew(end) ok 1 ok 2 ok 3 ok 4 1..4 ok 1 - from installed # Subtest: from blib # spew(start)[/<>/.tmp/Tf8H2Gq2QU/lib/Foo/Bar2.pm] # package Foo::Bar2; # use strict; # use warnings; # use FFI::Platypus; # my $ffi = FFI::Platypus->new( api => 1, lang => 'ASM' ); # $ffi->bundle; # $ffi->attach("bar2" => [] => 'sint32'); # 1; # spew(end) # +s390x-linux-gnu-gcc -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -I/<>/blib/lib/auto/share/dist/FFI-Platypus/include -c /<>/.tmp/ffi_build_xJ3fNC.c -o /<>/.tmp/_build/ffi_build_xJ3fNC.c.o # +s390x-linux-gnu-gcc -shared -L/usr/local/lib -fstack-protector-strong /<>/.tmp/_build/ffi_build_xJ3fNC.c.o -o /<>/.tmp/Tf8H2Gq2QU/lib/auto/share/dist/Foo-Bar2/libbar2.so # spew(start)[/<>/.tmp/Tf8H2Gq2QU/arch/auto/Foo/Bar2/Bar2.txt] # FFI::Build@auto/share/dist/Foo-Bar2/libbar2.so # spew(end) ok 1 ok 2 1..2 ok 2 - from blib # Subtest: not loaded yet # spew(start)[/<>/.tmp/AlUepySbJ6/lib/Foo/Bar3.pm] # package Foo::Bar3; # die; # 1; # spew(end) # +s390x-linux-gnu-gcc -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -I/<>/blib/lib/auto/share/dist/FFI-Platypus/include -c /<>/.tmp/ffi_build_bnGjTj.c -o /<>/.tmp/_build/ffi_build_bnGjTj.c.o # +s390x-linux-gnu-gcc -shared -L/usr/local/lib -fstack-protector-strong /<>/.tmp/_build/ffi_build_bnGjTj.c.o -o /<>/.tmp/AlUepySbJ6/lib/auto/share/dist/Foo-Bar3/libbar3.so # spew(start)[/<>/.tmp/AlUepySbJ6/lib/auto/Foo/Bar3/Bar3.txt] # FFI::Build@auto/share/dist/Foo-Bar3/libbar3.so # spew(end) ok 1 1..1 ok 3 - not loaded yet # Subtest: with a ffi dir # spew(start)[/<>/.tmp/uR8leNp53s/lib/Foo/Bar4.pm] # package Foo::Bar4; # use strict; # use warnings; # use FFI::Platypus; # my $ffi = FFI::Platypus->new( api => 1, lang => 'ASM' ); # $ffi->bundle; # $ffi->attach("bar4" => [] => 'sint32'); # 1; # spew(end) # spew(start)[/<>/.tmp/uR8leNp53s/ffi/foo.c] # int bar4(void) { return 45; } # spew(end) # spew(start)[/<>/.tmp/uR8leNp53s/ffi/foo.fbx] # use strict; # use warnings; # our $DIR; # { export => ['bar4'], source => ["$DIR/*.c"] }; # spew(end) ok 1 ok 2 1..2 ok 4 - with a ffi dir # Subtest: entry points # spew(start)[/<>/.tmp/10sZBD9N5B/lib/Foo/Bar5.pm] # package Foo::Bar5; # use strict; # use warnings; # use FFI::Platypus; # our $ffi = FFI::Platypus->new( api => 1, lang => 'ASM' ); # $ffi->bundle([$ffi->cast('(string)->void' => 'opaque', $main::log_closure)]); # 1; # spew(end) # spew(start)[/<>/.tmp/10sZBD9N5B/ffi/foo.c] # #include # #include # # typedef void (*log_t)(const char *); # log_t logit; # char buffer[1024]; # # void # ffi_pl_bundle_init(const char *package, int c, void **args) # { # int i; # logit = (log_t) args[0]; # logit("ffi_pl_bundle_init (enter)"); # sprintf(buffer, "package = %s", package); # logit(buffer); # sprintf(buffer, "c = %d", c); # logit(buffer); # for(i=0; args[i] != NULL; i++) # { # sprintf(buffer, "args[%d] = %d", i, args[i]); # logit(buffer); # } # logit("ffi_pl_bundle_init (leave)"); # } # # void # ffi_pl_bundle_fini(const char *package) # { # logit("ffi_pl_bundle_fini (enter)"); # sprintf(buffer, "package = %s", package); # logit(buffer); # logit("ffi_pl_bundle_fini (leave)"); # } # # spew(end) # spew(start)[/<>/.tmp/10sZBD9N5B/ffi/foo.fbx] # use strict; # use warnings; # our $DIR; # { export => ['ffi_pl_bundle_init','ffi_pl_bundle_fini'], source => ["$DIR/*.c"] }; # spew(end) ok 1 # log:ffi_pl_bundle_init (enter) # log:package = Foo::Bar5 # log:c = 1 # log:args[0] = -2119868400 # log:ffi_pl_bundle_init (leave) ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 # log:ffi_pl_bundle_fini (enter) # log:package = Foo::Bar5 # log:ffi_pl_bundle_fini (leave) ok 9 1..9 ok 5 - entry points 1..5 ok t/ffi_platypus_closure.t ................. # Subtest: basic ok 1 - An object of class 'FFI::Platypus::Closure' isa 'FFI::Platypus::Closure' ok 2 - closure.(1) = 2 ok 3 - An object of class 'FFI::Platypus::Closure' isa 'FFI::Platypus::Closure' ok 4 - closure.(1) = 3 ok 5 - closure.call(1) = 3 ok 6 - An object of class 'FFI::Platypus::Closure' isa 'FFI::Platypus::Closure' ok 7 - closure.(1) = 3 ok 8 - closure.call(1) = 3 1..8 ok 1 - basic # Subtest: sticky ok 1 - An object of class 'FFI::Platypus::Closure' isa 'FFI::Platypus::Closure' # _svrefcnt = 1 ok 2 - called $closure->sticky ok 3 ok 4 - called $closure->sticky ok 5 ok 6 - called $closure->unstick ok 7 1..7 ok 2 - sticky # Subtest: private ok 1 - An object of class 'FFI::Platypus::Closure' isa 'FFI::Platypus::Closure' ok 2 - closure.(1) = 2 1..2 ok 3 - private # Subtest: space ok 1 - good without space ok 2 - good with space 1..2 ok 4 - space # Subtest: die ok 1 ok 2 - does not exit # warning = 'omg i don't want to die! at t/ffi_platypus_closure.t line 72. # ' 1..2 ok 5 - die # Subtest: reuse ok 1 ok 2 1..2 ok 6 - reuse # Subtest: immediate ok 1 1..1 ok 7 - immediate # Subtest: closure passing into a closure ok 1 # error = Only native types and strings are supported as closure argument types (19) at /<>/blib/lib/FFI/Platypus/TypeParser/Version0.pm line 68. ok 2 # error = Only native types are supported as closure return types (1284) at /<>/blib/lib/FFI/Platypus/TypeParser/Version0.pm line 68. 1..2 ok 8 - closure passing into a closure 1..8 ok t/ffi_platypus_constant.t ................ # Subtest: very very basic... ok 1 - An object of class 'FFI::Platypus::Constant' isa 'FFI::Platypus::Constant' ok 2 1..2 ok 1 - very very basic... # Subtest: create constants # spew(start)[/<>/.tmp/I0KpMExFzx/lib/Foo/Bar1.pm] # package Foo::Bar1; # use strict; # use warnings; # use FFI::Platypus; # my $ffi = FFI::Platypus->new( api => 1, lang => 'ASM' ); # $ffi->bundle; # 1; # spew(end) # spew(start)[/<>/.tmp/I0KpMExFzx/ffi/bar1.c] # #include # void ffi_pl_bundle_constant(const char *package, ffi_platypus_constant_t *b) # { # b->set_str("FOO1", "VAL1"); # b->set_str("Foo::Bar1::Baz::FOO2", "VAL2"); # b->set_sint("FOO3", -42); # b->set_uint("FOO4", 512); # b->set_double("FOO5", 2.5); # b->set_str("FOO6", package); # } # spew(end) ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 1..7 ok 2 - create constants 1..2 ok t/ffi_platypus_dl.t ...................... # Subtest: flags ok 1 - RTLD_PLATYPUS_DEFAULT is defined # RTLD_LOCAL 0000 0 # RTLD_PLATYPUS_DEFAULT 0001 1 # RTLD_LAZY 0001 1 # RTLD_NOW 0002 2 # RTLD_NOLOAD 0004 4 # RTLD_DEEPBIND 0008 8 # RTLD_GLOBAL 0100 256 # RTLD_NODELETE 1000 4096 1..1 ok 1 - flags # Subtest: dlopen # Subtest: bad library ok 1 - Returns undef on fail # dlerror = t/ffi/libbogus.so: cannot open shared object file: No such file or directory 1..1 ok 1 - bad library # Subtest: good library ok 1 - Returns handle on good # h = 2929286601456 1..1 ok 2 - good library 1..2 ok 2 - dlopen # Subtest: dlsym # Subtest: good symbol ok 1 - returns an address # address = 4396147553568 1..1 ok 1 - good symbol # Subtest: bad symbol ok 1 - bad symbol returns undef # dlerror = t/ffi/libtest.so: undefined symbol: bogus 1..1 ok 2 - bad symbol 1..2 ok 3 - dlsym 1..3 ok t/ffi_platypus_function.t ................ # Subtest: built in type ok 1 - ffi.function(f0, [uint8] => uint8) ok 2 - An object of class 'FFI::Platypus::Function::Function' isa 'FFI::Platypus::Function' ok 3 - An object of class 'FFI::Platypus::Function::Function' isa 'FFI::Platypus::Function::Function' ok 4 - function.call(22) = 22 ok 5 - function.(22) = 22 1..5 ok 1 - built in type # Subtest: custom type ok 1 - ffi.function(f0, [my_int_8] => my_int_8) ok 2 - An object of class 'FFI::Platypus::Function::Function' isa 'FFI::Platypus::Function' ok 3 - An object of class 'FFI::Platypus::Function::Function' isa 'FFI::Platypus::Function::Function' ok 4 - function.call(22) = 22 ok 5 - function.(22) = 22 1..5 ok 2 - custom type # Subtest: private ok 1 - FFI::Platypus::Function->new ok 2 - An object of class 'FFI::Platypus::Function::Function' isa 'FFI::Platypus::Function' ok 3 - An object of class 'FFI::Platypus::Function::Function' isa 'FFI::Platypus::Function::Function' ok 4 - function.call(22) = 22 ok 5 - fooble(22) = 22 1..5 ok 3 - private # Subtest: meta # Subtest: unattached ok 1 ok 2 1..2 ok 1 - unattached # Subtest: attached ok 1 ok 2 1..2 ok 2 - attached 1..2 ok 4 - meta # Subtest: sub_ref ok 1 - calls okay ok 2 - it is a code reference 1..2 ok 5 - sub_ref # Subtest: prototype # Subtest: one ok 1 ok 2 1..2 ok 1 - one # Subtest: two ok 1 ok 2 1..2 ok 2 - two 1..2 ok 6 - prototype # Subtest: variadic 1..0 # SKIP test requires variadic function support ok 7 # skip test requires variadic function support # Subtest: void as arg should fail is arg count > 1 ok 1 1..1 ok 8 - void as arg should fail is arg count > 1 # Subtest: single void arg treated as no args ok 1 1..1 ok 9 - single void arg treated as no args 1..9 ok t/ffi_platypus_function_wrapper.t ........ # Subtest: built in type ok 1 - ffi.function(f0, [uint8] => uint8) ok 2 - An object of class 'FFI::Platypus::Function::Wrapper' isa 'FFI::Platypus::Function' ok 3 - An object of class 'FFI::Platypus::Function::Wrapper' isa 'FFI::Platypus::Function::Wrapper' ok 4 - function.call(22) = 44 ok 5 - function.(22) = 44 ok 6 - baboon(11) = 22 1..6 ok 1 - built in type # Subtest: sub_ref ok 1 - calls okay ok 2 - it is a code reference 1..2 ok 2 - sub_ref # Subtest: prototype # Subtest: one ok 1 ok 2 1..2 ok 1 - one # Subtest: two ok 1 ok 2 1..2 ok 2 - two 1..2 ok 3 - prototype 1..3 ok t/ffi_platypus_internal.t ................ # Subtest: basic # alpha order: ok 1 - FFI_PL_BASE_CLOSURE 0x0400 ok 2 - FFI_PL_BASE_COMPLEX 0x0080 ok 3 - FFI_PL_BASE_FLOAT 0x0040 ok 4 - FFI_PL_BASE_MASK 0x0ff8 ok 5 - FFI_PL_BASE_OPAQUE 0x0100 ok 6 - FFI_PL_BASE_RECORD 0x0800 ok 7 - FFI_PL_BASE_SINT 0x0010 ok 8 - FFI_PL_BASE_STRING 0x0200 ok 9 - FFI_PL_BASE_UINT 0x0020 ok 10 - FFI_PL_BASE_VOID 0x0008 ok 11 - FFI_PL_SHAPE_ARRAY 0x2000 ok 12 - FFI_PL_SHAPE_CUSTOM_MASK 0xf000 ok 13 - FFI_PL_SHAPE_CUSTOM_PERL 0x3000 ok 14 - FFI_PL_SHAPE_OBJECT 0x4000 ok 15 - FFI_PL_SHAPE_POINTER 0x1000 ok 16 - FFI_PL_SHAPE_SCALAR 0x0000 ok 17 - FFI_PL_SIZE_0 0x0000 ok 18 - FFI_PL_SIZE_128 0x0005 ok 19 - FFI_PL_SIZE_16 0x0002 ok 20 - FFI_PL_SIZE_256 0x0006 ok 21 - FFI_PL_SIZE_32 0x0003 ok 22 - FFI_PL_SIZE_512 0x0007 ok 23 - FFI_PL_SIZE_64 0x0004 ok 24 - FFI_PL_SIZE_8 0x0001 ok 25 - FFI_PL_SIZE_MASK 0x0007 ok 26 - FFI_PL_SIZE_PTR 0x0004 ok 27 - FFI_PL_TYPE_CLOSURE 0x0504 ok 28 - FFI_PL_TYPE_COMPLEX_DOUBLE 0x0085 ok 29 - FFI_PL_TYPE_COMPLEX_FLOAT 0x0084 ok 30 - FFI_PL_TYPE_DOUBLE 0x0044 ok 31 - FFI_PL_TYPE_FLOAT 0x0043 ok 32 - FFI_PL_TYPE_LONG_DOUBLE 0x0045 ok 33 - FFI_PL_TYPE_OPAQUE 0x0104 ok 34 - FFI_PL_TYPE_RECORD 0x0904 ok 35 - FFI_PL_TYPE_RECORD_VALUE 0x0800 ok 36 - FFI_PL_TYPE_SINT16 0x0012 ok 37 - FFI_PL_TYPE_SINT32 0x0013 ok 38 - FFI_PL_TYPE_SINT64 0x0014 ok 39 - FFI_PL_TYPE_SINT8 0x0011 ok 40 - FFI_PL_TYPE_STRING 0x0304 ok 41 - FFI_PL_TYPE_UINT16 0x0022 ok 42 - FFI_PL_TYPE_UINT32 0x0023 ok 43 - FFI_PL_TYPE_UINT64 0x0024 ok 44 - FFI_PL_TYPE_UINT8 0x0021 ok 45 - FFI_PL_TYPE_VOID 0x0008 # value order: ok 46 - FFI_PL_SHAPE_SCALAR 0x0000 ok 47 - FFI_PL_SIZE_0 0x0000 ok 48 - FFI_PL_SIZE_8 0x0001 ok 49 - FFI_PL_SIZE_16 0x0002 ok 50 - FFI_PL_SIZE_32 0x0003 ok 51 - FFI_PL_SIZE_64 0x0004 ok 52 - FFI_PL_SIZE_PTR 0x0004 ok 53 - FFI_PL_SIZE_128 0x0005 ok 54 - FFI_PL_SIZE_256 0x0006 ok 55 - FFI_PL_SIZE_MASK 0x0007 ok 56 - FFI_PL_SIZE_512 0x0007 ok 57 - FFI_PL_BASE_VOID 0x0008 ok 58 - FFI_PL_TYPE_VOID 0x0008 ok 59 - FFI_PL_BASE_SINT 0x0010 ok 60 - FFI_PL_TYPE_SINT8 0x0011 ok 61 - FFI_PL_TYPE_SINT16 0x0012 ok 62 - FFI_PL_TYPE_SINT32 0x0013 ok 63 - FFI_PL_TYPE_SINT64 0x0014 ok 64 - FFI_PL_BASE_UINT 0x0020 ok 65 - FFI_PL_TYPE_UINT8 0x0021 ok 66 - FFI_PL_TYPE_UINT16 0x0022 ok 67 - FFI_PL_TYPE_UINT32 0x0023 ok 68 - FFI_PL_TYPE_UINT64 0x0024 ok 69 - FFI_PL_BASE_FLOAT 0x0040 ok 70 - FFI_PL_TYPE_FLOAT 0x0043 ok 71 - FFI_PL_TYPE_DOUBLE 0x0044 ok 72 - FFI_PL_TYPE_LONG_DOUBLE 0x0045 ok 73 - FFI_PL_BASE_COMPLEX 0x0080 ok 74 - FFI_PL_TYPE_COMPLEX_FLOAT 0x0084 ok 75 - FFI_PL_TYPE_COMPLEX_DOUBLE 0x0085 ok 76 - FFI_PL_BASE_OPAQUE 0x0100 ok 77 - FFI_PL_TYPE_OPAQUE 0x0104 ok 78 - FFI_PL_BASE_STRING 0x0200 ok 79 - FFI_PL_TYPE_STRING 0x0304 ok 80 - FFI_PL_BASE_CLOSURE 0x0400 ok 81 - FFI_PL_TYPE_CLOSURE 0x0504 ok 82 - FFI_PL_TYPE_RECORD_VALUE 0x0800 ok 83 - FFI_PL_BASE_RECORD 0x0800 ok 84 - FFI_PL_TYPE_RECORD 0x0904 ok 85 - FFI_PL_BASE_MASK 0x0ff8 ok 86 - FFI_PL_SHAPE_POINTER 0x1000 ok 87 - FFI_PL_SHAPE_ARRAY 0x2000 ok 88 - FFI_PL_SHAPE_CUSTOM_PERL 0x3000 ok 89 - FFI_PL_SHAPE_OBJECT 0x4000 ok 90 - FFI_PL_SHAPE_CUSTOM_MASK 0xf000 1..90 ok 1 - basic 1..1 ok t/ffi_platypus_lang.t .................... # Subtest: Foo constructor ok 1 - int is not an okay type # unknown ffi/platypus type int at t/ffi_platypus_lang.t line 14. ok 2 - foo_t is an okay type ok 3 - sint16 is an okay type ok 4 - sizeof foo_t = 2 ok 5 - sizeof foo_t = 4 ok 6 1..6 ok 1 - Foo constructor # Subtest: Foo attribute ok 1 - int is not an okay type # unknown ffi/platypus type int at t/ffi_platypus_lang.t line 33. ok 2 - foo_t is an okay type ok 3 - sint16 is an okay type ok 4 - sizeof foo_t = 2 ok 5 - sizeof foo_t = 4 ok 6 1..6 ok 2 - Foo attribute # Subtest: MyLang::Roger ok 1 - int is not an okay type # unknown ffi/platypus type int at t/ffi_platypus_lang.t line 51. ok 2 - sizeof foo_t = 4 1..2 ok 3 - MyLang::Roger 1..3 ok t/ffi_platypus_lang_asm.t ................ # Subtest: ASM ok 1 - int is not an okay type # unknown ffi/platypus type int at t/ffi_platypus_lang_asm.t line 13. ok 2 - foo_t is not an okay type # unknown ffi/platypus type foo_t at t/ffi_platypus_lang_asm.t line 16. ok 3 - sint16 is an okay type ok 4 - unable to find unmangled name 1..4 ok 1 - ASM 1..1 ok t/ffi_platypus_lang_c.t .................. # Subtest: C ok 1 - int is an okay type ok 2 - foo_t is not an okay type # unknown ffi/platypus type foo_t at t/ffi_platypus_lang_c.t line 15. ok 3 - sint16 is an okay type ok 4 - unable to find unmangled name 1..4 ok 1 - C 1..1 ok t/ffi_platypus_lang_win32.t .............. # BOOL sint32 # BOOLEAN uint8 # BYTE uint8 # CCHAR uint8 # CHAR uint8 # COLORREF uint32 # DWORD uint32 # DWORD32 uint32 # DWORD64 uint64 # DWORDLONG uint64 # DWORD_PTR uint16 # FLOAT float # HACCEL opaque # HALF_PTR sint16 # HANDLE opaque # HBITMAP opaque # HBRUSH opaque # HCOLORSPACE opaque # HCONV opaque # HCONVLIST opaque # HCURSOR opaque # HDC opaque # HDDEDATA opaque # HDESK opaque # HDROP opaque # HDWP opaque # HENHMETAFILE opaque # HFILE sint32 # HFONT opaque # HGDIOBJ opaque # HGLOBAL opaque # HHOOK opaque # HICON opaque # HINSTANCE opaque # HKEY opaque # HKL opaque # HLOCAL opaque # HMENU opaque # HMETAFILE opaque # HMODULE opaque # HMONITOR opaque # HPALETTE opaque # HPEN opaque # HRESULT sint32 # HRGN opaque # HRSRC opaque # HSZ opaque # HWINSTA opaque # HWND opaque # INT sint32 # INT16 sint16 # INT32 sint32 # INT64 sint64 # INT8 sint8 # INT_PTR sint32 # LANGID uint16 # LCID uint32 # LCTYPE uint32 # LGRPID uint32 # LONG sint32 # LONG32 sint32 # LONG64 sint64 # LONGLONG sint64 # LONG_PTR sint16 # LPCSTR string # LPCVOID opaque # LPVOID opaque # LRESULT sint16 # PSTR string # PVOID opaque # QWORD uint64 # SC_HANDLE opaque # SC_LOCK opaque # SERVICE_STATUS_HANDLE opaque # SHORT sint16 # SIZE_T uint16 # SSIZE_T sint16 # UCHAR uint8 # UHALF_PTR uint16 # UINT16 uint16 # UINT32 uint32 # UINT64 uint64 # UINT8 uint8 # UINT_PTR uint32 # ULONG uint32 # ULONG32 uint32 # ULONG64 uint64 # ULONGLONG uint64 # ULONG_PTR uint16 # USHORT uint16 # USN sint64 # VOID void # WORD uint16 # WPARAM uint32 # blkcnt_t sint64 # blksize_t sint64 # bool uint8 # char uint8 # dev_t uint64 # double double # double complex longdouble # enum uint32 # float float # float complex double # gid_t uint32 # ino_t uint64 # int sint32 # int16_t sint16 # int32_t sint32 # int64_t sint64 # int8_t sint8 # intptr_t sint64 # long sint64 # long double longdouble # long double complex longdouble # long long sint64 # mode_t uint32 # nlink_t uint64 # off_t sint64 # ptrdiff_t sint64 # senum sint32 # short sint16 # signed char sint8 # signed int sint32 # signed long sint64 # signed long long sint64 # signed short sint16 # size_t uint64 # ssize_t sint64 # time_t sint64 # uchar uint8 # uid_t uint32 # uint uint32 # uint16_t uint16 # uint32_t uint32 # uint64_t uint64 # uint8_t uint8 # uintptr_t uint64 # ulong uint64 # unsigned char uint8 # unsigned int uint32 # unsigned long uint64 # unsigned long long uint64 # unsigned short uint16 # ushort uint16 # wchar_t sint32 # wint_t uint32 ok 1 - good 1..1 ok t/ffi_platypus_legacy.t .................. # Subtest: only load as needed ok 1 ok 2 1..2 ok 1 - only load as needed 1..1 ok t/ffi_platypus_memory.t .................. # lib=undef # lib=/<>/blib/lib/auto/share/dist/FFI-Platypus/lib/libplfill.so # Subtest: malloc calloc memset free ok 1 - malloc returns 2929359129712 ok 2 - calloc returns 2929368137440 ok 3 - string = yyyyxxxx ok 4 - free $ptr1 ok 5 - free $ptr2 1..5 ok 1 - malloc calloc memset free # Subtest: memcpy ok 1 - initial data copied ok 2 - copy of copy ok 3 - memcpy returns a pointer ok 4 - free $ptr1 ok 5 - free $ptr2 1..5 ok 2 - memcpy # Subtest: realloc ok 1 - realloc call ptr = 2929368084528 ok 2 - initial data copied ok 3 - realloc call ptr = 2929368228880 (2) ok 4 - after realloc data there ok 5 - final free 1..5 ok 3 - realloc # Subtest: strdup # strdup implementation = libc ok 1 - string = this and ok 2 - free $ptr1 1..2 ok 4 - strdup # Subtest: strndup # strndup implementation = libc # Subtest: full string ok 1 1..1 ok 1 - full string # Subtest: partial string ok 1 1..1 ok 2 - partial string 1..2 ok 5 - strndup # Subtest: strcpy ok 1 - pointer cast back to string matches 1..1 ok 6 - strcpy 1..6 ok t/ffi_platypus_record.t .................. # Subtest: integer accessor ok 1 - An object of class 'Foo1' isa 'Foo1' ok 2 - foo._record_size = 8 ok 3 - foo.first = 1 ok 4 - foo.second = 2 ok 5 - foo.first = 22 ok 6 - foo.second = 42 ok 7 - foo.first = 3 ok 8 - foo.second = 4 # {'class' => 'Foo1','ffi_type' => 'pointer','ref' => 1,'size' => 8,'type' => 'record','type_code' => 2308} # {'ffi_type' => 'pointer','ref' => 0,'size' => 8,'type' => 'record','type_code' => 2308} 1..8 ok 1 - integer accessor # Subtest: values match in C ok 1 - An object of class 'Color' isa 'Color' ok 2 - color.get_red = 50 ok 3 - color.get_green = 100 ok 4 - color.get_blue = 150 1..4 ok 2 - values match in C # Subtest: complex alignment ok 1 - An object of class 'Foo2' isa 'Foo2' ok 2 - uint64 = 512 ok 3 - sint64 = -512 ok 4 - uint32 = 1024 ok 5 - sint32 = -1024 ok 6 - uint16 = 2048 ok 7 - sint16 = -2048 ok 8 - uint8 = 48 ok 9 - sint8 = -48 ok 10 - float = 1.5 ok 11 - double = -1.5 ok 12 - get_opaque = 2929432530176 ok 13 - opaque = 2929432530176 ok 14 - get_opaque = undef ok 15 - opaque = undef 1..15 ok 3 - complex alignment # Subtest: same name ok 1 - two members of the same name not allowed # accessor/method foo already exists at t/ffi_platypus_record.t line 188. 1..1 ok 4 - same name # Subtest: array alignment ok 1 - An object of class 'Foo4' isa 'Foo4' # Subtest: unsigned 8 integer ok 1 - uint8 = 1,2,3 ok 2 - get_uint8 = 1,2,3 ok 3 - uint8(1) = 2 ok 4 - uint8 = 1,20,3 1..4 ok 2 - unsigned 8 integer # Subtest: signed 8 integer ok 1 - sint8 = -1,2,-3 ok 2 - get_sint8 = -1,2,-3 ok 3 - sint8(2) = -3 ok 4 - sint8 = -1,-20,-3 1..4 ok 3 - signed 8 integer # Subtest: unsigned 16 integer ok 1 - uint16 = 1,2,3 ok 2 - get_uint16 = 1,2,3 ok 3 - uint16(1) = 2 ok 4 - uint16 = 1,20,3 1..4 ok 4 - unsigned 16 integer # Subtest: signed 16 integer ok 1 - sint16 = -1,2,-3 ok 2 - get_sint16 = -1,2,-3 ok 3 - sint16(2) = -3 ok 4 - sint16 = -1,-20,-3 1..4 ok 5 - signed 16 integer # Subtest: unsigned 32 integer ok 1 - uint32 = 1,2,3 ok 2 - get_uint32 = 1,2,3 ok 3 - uint32(1) = 2 ok 4 - uint32 = 1,20,3 1..4 ok 6 - unsigned 32 integer # Subtest: signed 32 integer ok 1 - sint32 = -1,2,-3 ok 2 - get_sint32 = -1,2,-3 ok 3 - sint32(2) = -3 ok 4 - sint32 = -1,-20,-3 1..4 ok 7 - signed 32 integer # Subtest: unsigned 64 integer ok 1 - uint64 = 1,2,3 ok 2 - get_uint64 = 1,2,3 ok 3 - uint64(1) = 2 ok 4 - uint64 = 1,20,3 1..4 ok 8 - unsigned 64 integer # Subtest: signed 64 integer ok 1 - sint64 = -1,2,-3 ok 2 - get_sint64 = -1,2,-3 ok 3 - sint64(2) = -3 ok 4 - sint64 = -1,-20,-3 1..4 ok 9 - signed 64 integer # Subtest: float ok 1 - float = 1.5,0,-1.5 ok 2 ok 3 ok 4 ok 5 - float = 1.5,20,-1.5 1..5 ok 10 - float # Subtest: double ok 1 - double = 1.5,0,-1.5 ok 2 ok 3 ok 4 ok 5 - double = 1.5,20,-1.5 1..5 ok 11 - double # Subtest: opaque ok 1 - opaque = 2929432896672,undef,2929432741648 ok 2 - opaque = 2929432896672,2929432896672,2929432741648 ok 3 - opaque = undef,2929432896672,2929432741648 ok 4 ok 5 ok 6 1..6 ok 12 - opaque ok 13 - align = 8 ok 14 - align is positive 1..14 ok 5 - array alignment # Subtest: string ro ok 1 - An object of class 'Foo5' isa 'Foo5' ok 2 - foo.value = undef ok 3 - foo.get_value = undef ok 4 - foo.value = my value ok 5 - foo.get_value = my value ok 6 - value is ro # member is read only at t/ffi_platypus_record.t line 342. ok 7 - foo.value = undef ok 8 - foo.get_value = undef 1..8 ok 6 - string ro # Subtest: fixed string ok 1 - An object of class 'Foo6' isa 'Foo6' ok 2 - foo.value = "\0\0\0\0\0\0\0\0\0\0" ok 3 - foo.get_value = "" ok 4 - foo.value = "one two th" ok 5 - foo.value = 123456789\0 ok 6 - foo.get_value = 123456789 1..6 ok 7 - fixed string # Subtest: string rw ok 1 - An object of class 'Foo7' isa 'Foo7' ok 2 - foo.value = hi there ok 3 - foo.get_value = hi there ok 4 - foo.value = undef ok 5 - foo.get_value = undef ok 6 - foo.value = starscream!!! ok 7 - foo.get_value = starscream!!! 1..7 ok 8 - string rw # Subtest: record with custom ffi ok 1 - An object of class 'Foo8' isa 'Foo8' ok 2 1..2 ok 9 - record with custom ffi # Subtest: record with ffi args ok 1 - An object of class 'Foo8' isa 'Foo8' ok 2 1..2 ok 10 - record with ffi args # Subtest: api_1 # Subtest: no $ffi or args ok 1 ok 2 1..2 ok 1 - no $ffi or args # Subtest: args ok 1 ok 2 1..2 ok 2 - args # Subtest: $ffi ok 1 ok 2 1..2 ok 3 - $ffi 1..3 ok 11 - api_1 1..11 ok t/ffi_platypus_record_meta.t ............. # Subtest: basic ok 1 - An object of class 'FFI::Platypus::Record::Meta' isa 'FFI::Platypus::Record::Meta' ok 2 - meta->ffi_type = 2930033871936 ok 3 - meta->size ok 4 - meta->alignment ok 5 - meta->element_pointers 1..5 ok 1 - basic # Subtest: bogus types ok 1 ok 2 1..2 ok 2 - bogus types 1..2 ok t/ffi_platypus_record_tiearray.t ......... ok 1 - An object of class 'Foo' isa 'Foo' ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok 12 ok 13 ok 14 ok 15 ok 16 ok 17 ok 18 ok 19 ok 20 ok 21 ok 22 ok 23 ok 24 ok 25 ok 26 ok 27 ok 28 ok 29 ok 30 ok 31 ok 32 ok 33 ok 34 ok 35 ok 36 ok 37 ok 38 ok 39 ok 40 ok 41 ok 42 ok 43 ok 44 ok 45 1..45 ok t/ffi_platypus_shareconfig.t ............. # { # 'abi' => { # 'default_abi' => '1', # 'sysv' => '1' # }, # 'align' => { # 'double' => '8', # 'double complex' => '8', # 'float' => '4', # 'float complex' => '4', # 'long double' => '8', # 'long double complex' => '8', # 'pointer' => '8', # 'sint16' => '2', # 'sint32' => '4', # 'sint64' => '8', # 'sint8' => '1', # 'uint16' => '2', # 'uint32' => '4', # 'uint64' => '8', # 'uint8' => '1' # }, # 'config_dlext' => [ # 'so' # ], # 'probe' => { # 'abi' => 1, # 'alloca' => 1, # 'bigendian64' => 1, # 'complex' => 1, # 'longdouble' => 1, # 'recordvalue' => 1 # }, # 'test-key' => 'test-value', # 'type_map' => { # 'blkcnt_t' => 'sint64', # 'blksize_t' => 'sint64', # 'bool' => 'uint8', # 'char' => 'uint8', # 'dev_t' => 'uint64', # 'double' => 'double', # 'double complex' => 'longdouble', # 'enum' => 'uint32', # 'float' => 'float', # 'float complex' => 'double', # 'gid_t' => 'uint32', # 'ino_t' => 'uint64', # 'int' => 'sint32', # 'int16_t' => 'sint16', # 'int32_t' => 'sint32', # 'int64_t' => 'sint64', # 'int8_t' => 'sint8', # 'intptr_t' => 'sint64', # 'long' => 'sint64', # 'long double' => 'longdouble', # 'long double complex' => 'longdouble', # 'long long' => 'sint64', # 'mode_t' => 'uint32', # 'nlink_t' => 'uint64', # 'off_t' => 'sint64', # 'ptrdiff_t' => 'sint64', # 'senum' => 'sint32', # 'short' => 'sint16', # 'signed char' => 'sint8', # 'signed int' => 'sint32', # 'signed long' => 'sint64', # 'signed long long' => 'sint64', # 'signed short' => 'sint16', # 'size_t' => 'uint64', # 'ssize_t' => 'sint64', # 'time_t' => 'sint64', # 'uchar' => 'uint8', # 'uid_t' => 'uint32', # 'uint' => 'uint32', # 'uint16_t' => 'uint16', # 'uint32_t' => 'uint32', # 'uint64_t' => 'uint64', # 'uint8_t' => 'uint8', # 'uintptr_t' => 'uint64', # 'ulong' => 'uint64', # 'unsigned char' => 'uint8', # 'unsigned int' => 'uint32', # 'unsigned long' => 'uint64', # 'unsigned long long' => 'uint64', # 'unsigned short' => 'uint16', # 'ushort' => 'uint16', # 'wchar_t' => 'sint32', # 'wint_t' => 'uint32' # } # } # 0 ok 1 ok 2 1..2 ok t/ffi_platypus_type.t .................... # Subtest: basic type ok 1 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 # $VAR1 = { # 'element_size' => 1, # 'element_type' => 'int', # 'ffi_type' => 'sint8', # 'sign' => 1, # 'size' => 1, # 'type' => 'scalar', # 'type_code' => 17 # }; 1..8 ok 1 - basic type # Subtest: fixed string / record (pass by reference) ok 1 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 # $VAR1 = { # 'ffi_type' => 'pointer', # 'ref' => 0, # 'size' => 22, # 'type' => 'record', # 'type_code' => 2308 # }; ok 9 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 10 ok 11 ok 12 ok 13 ok 14 ok 15 ok 16 # $VAR1 = { # 'custom_native_to_p' => \sub { "DUMMY" }, # 'custom_perl_to_nat' => \sub { "DUMMY" }, # 'custom_perl_to_native_p' => \sub { "DUMMY" }, # 'ffi_type' => 'pointer', # 'ref' => 0, # 'size' => 22, # 'sub_type' => 'record', # 'type' => 'custom_perl', # 'type_code' => 14596 # }; 1..16 ok 2 - fixed string / record (pass by reference) # Subtest: record # Subtest: record class value (pass by value) ok 1 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 # $VAR1 = { # 'class' => 'Foo::Bar', # 'ffi_type' => 'struct', # 'ref' => 1, # 'size' => 4, # 'type' => 'record_value', # 'type_code' => 2048 # }; ok 11 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 12 ok 13 ok 14 ok 15 ok 16 ok 17 ok 18 # $VAR1 = { # 'custom_native_to_p' => \sub { "DUMMY" }, # 'custom_perl_to_nat' => \sub { "DUMMY" }, # 'custom_perl_to_native_p' => \sub { "DUMMY" }, # 'ffi_type' => 'struct', # 'size' => 4, # 'type' => 'custom_perl', # 'type_code' => 14336 # }; 1..18 ok 1 - record class value (pass by value) # Subtest: record class (pass by reference) ok 1 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 # $VAR1 = { # 'class' => 'Foo::Bar', # 'ffi_type' => 'pointer', # 'ref' => 1, # 'size' => 4, # 'type' => 'record', # 'type_code' => 2308 # }; ok 10 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 11 ok 12 ok 13 ok 14 ok 15 ok 16 ok 17 # $VAR1 = { # 'class' => 'Foo::Bar', # 'custom_native_to_p' => \sub { "DUMMY" }, # 'custom_perl_to_nat' => \sub { "DUMMY" }, # 'custom_perl_to_native_p' => \sub { "DUMMY" }, # 'ffi_type' => 'pointer', # 'ref' => 1, # 'size' => 4, # 'sub_type' => 'record', # 'type' => 'custom_perl', # 'type_code' => 14596 # }; 1..17 ok 2 - record class (pass by reference) 1..2 ok 3 - record # Subtest: string rw ok 1 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 # $VAR1 = { # 'access' => 'rw', # 'element_size' => 8, # 'ffi_type' => 'pointer', # 'size' => 8, # 'type' => 'string', # 'type_code' => 772 # }; 1..9 ok 4 - string rw # Subtest: string ro ok 1 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 # $VAR1 = { # 'access' => 'ro', # 'element_size' => 8, # 'ffi_type' => 'pointer', # 'size' => 8, # 'type' => 'string', # 'type_code' => 772 # }; 1..9 ok 5 - string ro # Subtest: fixed array ok 1 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 # $VAR1 = { # 'element_count' => 10, # 'element_size' => 1, # 'element_type' => 'int', # 'ffi_type' => 'sint8', # 'sign' => 1, # 'size' => 10, # 'type' => 'array', # 'type_code' => 8209 # }; 1..9 ok 6 - fixed array # Subtest: var array ok 1 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 # $VAR1 = { # 'element_count' => 0, # 'element_size' => 1, # 'element_type' => 'int', # 'ffi_type' => 'sint8', # 'sign' => 1, # 'size' => 0, # 'type' => 'array', # 'type_code' => 8209 # }; 1..8 ok 7 - var array # Subtest: pointer ok 1 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 # $VAR1 = { # 'element_size' => 1, # 'element_type' => 'int', # 'ffi_type' => 'sint8', # 'sign' => 1, # 'size' => 8, # 'type' => 'pointer', # 'type_code' => 4113 # }; 1..8 ok 8 - pointer # Subtest: custom type ok 1 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 # $VAR1 = { # 'custom_native_to_p' => \sub { "DUMMY" }, # 'custom_perl_to_nat' => \sub { "DUMMY" }, # 'custom_perl_to_native_p' => \sub { "DUMMY" }, # 'element_type' => 'int', # 'ffi_type' => 'sint8', # 'sign' => 1, # 'size' => 1, # 'type' => 'custom_perl', # 'type_code' => 12305 # }; 1..8 ok 9 - custom type 1..9 ok t/ffi_platypus_type_pointersizebuffer.t .. ok 1 ok 2 ok 3 ok 4 ok 5 1..5 ok t/ffi_platypus_type_stringarray.t ........ # Subtest: fixed length input # Subtest: with default ok 1 - a1(0) = foo ok 2 - a1(0) = bar ok 3 - a1(0) = baz ok 4 - a1(0) = hey ok 5 - a1(0) = five ok 6 - a1(0) = undef 1..6 ok 1 - with default # Subtest: with default ok 1 - a2(0) = foo ok 2 - a2(0) = bar ok 3 - a2(0) = baz ok 4 - a2(0) = undef ok 5 - a2(0) = five ok 6 - a2(0) = undef 1..6 ok 2 - with default 1..2 ok 1 - fixed length input # Subtest: variable length input ok 1 - get_string_from_array(@list, 0) = foo ok 2 - get_string_from_array(@list, 1) = bar ok 3 - get_string_from_array(@list, 2) = baz ok 4 - get_string_from_array(@list, 3) = undef 1..4 ok 2 - variable length input # Subtest: fixed length return ok 1 - returns null ok 2 - returns with just strings ok 3 - returns with NULL/undef in the middle ok 4 - returns with NULL/undef in the middle with default 1..4 ok 3 - fixed length return # Subtest: null terminated return ok 1 - returns null ok 2 ok 3 ok 4 1..4 ok 4 - null terminated return 1..4 ok t/ffi_platypus_type_stringpointer.t ...... # Subtest: arg pass in ok 1 - not null ok 2 - \undef is null ok 3 - undef is null 1..3 ok 1 - arg pass in # Subtest: arg pass out ok 1 - not null string = hi there ok 2 - not null string = and another 1..2 ok 2 - arg pass out # Subtest: return value ok 1 - not null string = once more onto ok 2 - \null ok 3 - null 1..3 ok 3 - return value 1..3 ok t/ffi_platypus_typeparser.t .............. # Subtest: basic ok 1 - An object of class 'FFI::Platypus::TypeParser' isa 'FFI::Platypus::TypeParser' 1..1 ok 1 - basic # Subtest: pick the right one ok 1 - An object of class 'FFI::Platypus::TypeParser::Version0' isa 'FFI::Platypus::TypeParser::Version0' ok 2 - An object of class 'FFI::Platypus::TypeParser::Version1' isa 'FFI::Platypus::TypeParser::Version1' 1..2 ok 2 - pick the right one 1..2 ok t/ffi_platypus_typeparser_version0.t ..... # Subtest: basic ok 1 - basic basic # Subtest: longdouble ok 1 - longdouble 1..1 ok 2 - longdouble # Subtest: complex ok 1 - complex float ok 2 - complex double 1..2 ok 3 - complex 1..3 ok 1 - basic # Subtest: record ok 1 - fixed string ok 2 - unclassed record ok 3 - classed record 1..3 ok 2 - record # Subtest: string ok 1 - default string ok 2 - explicit ro string ok 3 - explicit ro string with underscore ok 4 - explicit rw string ok 5 - explicit rw string with underscore 1..5 ok 3 - string # Subtest: array ok 1 - fixed array ok 2 - variable array # Subtest: longdouble ok 1 - variable array 1..1 ok 3 - longdouble # Subtest: complex ok 1 - variable array ok 2 - variable array 1..2 ok 4 - complex 1..4 ok 4 - array # Subtest: pointer ok 1 - pointer # Subtest: longdouble ok 1 - longdouble pointer 1..1 ok 2 - longdouble # Subtest: complex ok 1 - complex float pointer ok 2 - complex double pointer 1..2 ok 3 - complex 1..3 ok 5 - pointer 1..5 ok t/ffi_platypus_typeparser_version1.t ..... # Subtest: bad types ok 1 ok 2 1..2 ok 1 - bad types # Subtest: basic types # Subtest: void ok 1 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 2 ok 3 ok 4 1..4 ok 1 - void # Subtest: non-void ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 1..6 ok 2 - non-void # Subtest: string ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 1..11 ok 3 - string # Subtest: bogus ok 1 1..1 ok 4 - bogus 1..4 ok 2 - basic types # Subtest: type map ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 ok 12 ok 13 ok 14 ok 15 ok 16 ok 17 ok 18 ok 19 ok 20 ok 21 ok 22 ok 23 1..23 ok 3 - type map # Subtest: fixed record / fixed string # Subtest: zero bad ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 1..6 ok 1 - zero bad # Subtest: ten good ok 1 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 2 ok 3 ok 4 ok 5 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 6 ok 7 ok 8 ok 9 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 10 ok 11 ok 12 ok 13 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 14 ok 15 ok 16 ok 17 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 18 ok 19 ok 20 ok 21 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 22 ok 23 ok 24 1..24 ok 2 - ten good # Subtest: ten pass-by-value ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 1..6 ok 3 - ten pass-by-value 1..3 ok 4 - fixed record / fixed string # Subtest: record class # Subtest: good with size ok 1 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' ok 2 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' 1..2 ok 1 - good with size # Subtest: bad without size ok 1 ok 2 1..2 ok 2 - bad without size # Subtest: pass-by-value ok 1 - An object of class 'FFI::Platypus::Type' isa 'FFI::Platypus::Type' 1..1 ok 3 - pass-by-value # Subtest: alias ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 1..6 ok 4 - alias 1..4 ok 5 - record class # Subtest: check alias ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 1..8 ok 6 - check alias # Subtest: use alias ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 1..10 ok 7 - use alias # Subtest: object ok 1 ok 2 ok 3 1..3 ok 8 - object 1..8 ok t/ffi_probe.t ............................ # Subtest: check_header ok 1 - An object of class 'FFI::Probe' isa 'FFI::Probe' # PR header."stdio.h"=1 # PR header."bogus/does/not/exist.h"=0 ok 2 ok 3 # ==probe.log== # code: #include # +s390x-linux-gnu-gcc -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -I/<>/blib/lib/auto/share/dist/FFI-Platypus/include -c /<>/.tmp/ffi-probe-9CMXvv/ffi_build_nbU3ay.c -o /<>/.tmp/ffi-probe-9CMXvv/_build/ffi_build_nbU3ay.c.o # header."stdio.h"=1 # code: #include # code: #include # +s390x-linux-gnu-gcc -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -I/<>/blib/lib/auto/share/dist/FFI-Platypus/include -c /<>/.tmp/ffi-probe-9CMXvv/ffi_build_3wmIah.c -o /<>/.tmp/ffi-probe-9CMXvv/_build/ffi_build_3wmIah.c.o # /<>/.tmp/ffi-probe-9CMXvv/ffi_build_3wmIah.c:2:10: fatal error: bogus/does/not/exist.h: No such file or directory # 2 | #include # | ^~~~~~~~~~~~~~~~~~~~~~~~ # compilation terminated. # header."bogus/does/not/exist.h"=0 # ==probe.pl== # do { my $x = { # 'header' => { # 'bogus/does/not/exist.h' => 0, # 'stdio.h' => 1 # } # }; # $x;} ok 4 ok 5 # ok 6 ok 7 # ==probe2.log== # ==probe.pl== # do { my $x = { # 'header' => { # 'bogus/does/not/exist.h' => 0, # 'stdio.h' => 1 # } # }; # $x;} 1..7 ok 1 - check_header # Subtest: check_eval # PR foo.bar.baz=3 ok 1 - foo.bar.baz ok 2 # PR foo.bar.string=hello world 7 ok 3 - foo.bar.string ok 4 # PR header."stddef.h"=1 # PR type.unsigned char.align=1 # PR type.unsigned char.sign=unsigned # PR type.unsigned char.size=1 ok 5 ok 6 ok 7 ok 8 # PR type.float.align=4 # PR type.float.size=4 ok 9 ok 10 ok 11 # PR type.pointer.align=8 # PR type.pointer.size=8 ok 12 ok 13 ok 14 # ==probe.log== # code: #include # code: # code: # code: # code: # code: int # code: dlmain(int argc, char *argv[]) # code: { # code: # code: # code: printf("eval1=<<<%d>>>\n", 1+2); # code: # code: return 0; # code: } # [build] # +s390x-linux-gnu-gcc -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -I/<>/blib/lib/auto/share/dist/FFI-Platypus/include -c /<>/.tmp/ffi-probe-diI6zF/ffi_build_Lfa0rs.c -o /<>/.tmp/ffi-probe-diI6zF/_build/ffi_build_Lfa0rs.c.o # +s390x-linux-gnu-gcc -shared -L/usr/local/lib -fstack-protector-strong /<>/.tmp/ffi-probe-diI6zF/_build/ffi_build_Lfa0rs.c.o -o /<>/.tmp/ffi-probe-diI6zF/libeval1.so # [stdout] # eval1=<<<3>>> # [stderr] # # rv = 0 # foo.bar.baz=3 # code: #include # code: # code: char buffer[256]; # code: # code: # code: int # code: dlmain(int argc, char *argv[]) # code: { # code: sprintf(buffer, "hello world %d", 3+4); # code: # code: printf("eval1=<<<%s>>>\n", buffer); # code: # code: return 0; # code: } # [build] # +s390x-linux-gnu-gcc -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -I/<>/blib/lib/auto/share/dist/FFI-Platypus/include -c /<>/.tmp/ffi-probe-diI6zF/ffi_build_dnzHF4.c -o /<>/.tmp/ffi-probe-diI6zF/_build/ffi_build_dnzHF4.c.o # +s390x-linux-gnu-gcc -shared -L/usr/local/lib -fstack-protector-strong /<>/.tmp/ffi-probe-diI6zF/_build/ffi_build_dnzHF4.c.o -o /<>/.tmp/ffi-probe-diI6zF/libeval2.so # [stdout] # eval1=<<>> # [stderr] # # rv = 0 # foo.bar.string=hello world 7 # code: #include # +s390x-linux-gnu-gcc -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -I/<>/blib/lib/auto/share/dist/FFI-Platypus/include -c /<>/.tmp/ffi-probe-diI6zF/ffi_build_FhrMuL.c -o /<>/.tmp/ffi-probe-diI6zF/_build/ffi_build_FhrMuL.c.o # header."stddef.h"=1 # code: #include # code: #include # code: # code: #define signed(type) (((type)-1) < 0) ? "signed" : "unsigned" # code: struct align { char a; unsigned char b; }; # code: # code: # code: int # code: dlmain(int argc, char *argv[]) # code: { # code: # code: # code: printf("eval1=<<<%d>>>\n", (int)offsetof(struct align, b)); # code: printf("eval2=<<<%s>>>\n", signed(unsigned char)); # code: printf("eval3=<<<%d>>>\n", (int)sizeof(unsigned char)); # code: # code: return 0; # code: } # [build] # +s390x-linux-gnu-gcc -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -I/<>/blib/lib/auto/share/dist/FFI-Platypus/include -c /<>/.tmp/ffi-probe-diI6zF/ffi_build_EijsZ2.c -o /<>/.tmp/ffi-probe-diI6zF/_build/ffi_build_EijsZ2.c.o # +s390x-linux-gnu-gcc -shared -L/usr/local/lib -fstack-protector-strong /<>/.tmp/ffi-probe-diI6zF/_build/ffi_build_EijsZ2.c.o -o /<>/.tmp/ffi-probe-diI6zF/libeval4.so # [stdout] # eval1=<<<1>>> # eval2=<<>> # eval3=<<<1>>> # [stderr] # # rv = 0 # type.unsigned char.align=1 # type.unsigned char.sign=unsigned # type.unsigned char.size=1 # code: #include # code: #include # code: # code: struct align { char a; float b; }; # code: # code: # code: int # code: dlmain(int argc, char *argv[]) # code: { # code: # code: # code: printf("eval1=<<<%d>>>\n", (int)offsetof(struct align, b)); # code: printf("eval2=<<<%d>>>\n", (int)sizeof(float)); # code: # code: return 0; # code: } # [build] # +s390x-linux-gnu-gcc -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -I/<>/blib/lib/auto/share/dist/FFI-Platypus/include -c /<>/.tmp/ffi-probe-diI6zF/ffi_build_yMZrkF.c -o /<>/.tmp/ffi-probe-diI6zF/_build/ffi_build_yMZrkF.c.o # +s390x-linux-gnu-gcc -shared -L/usr/local/lib -fstack-protector-strong /<>/.tmp/ffi-probe-diI6zF/_build/ffi_build_yMZrkF.c.o -o /<>/.tmp/ffi-probe-diI6zF/libeval5.so # [stdout] # eval1=<<<4>>> # eval2=<<<4>>> # [stderr] # # rv = 0 # type.float.align=4 # type.float.size=4 # code: #include # code: #include # code: # code: struct align { char a; void* b; }; # code: # code: # code: int # code: dlmain(int argc, char *argv[]) # code: { # code: # code: # code: printf("eval1=<<<%d>>>\n", (int)offsetof(struct align, b)); # code: printf("eval2=<<<%d>>>\n", (int)sizeof(void *)); # code: # code: return 0; # code: } # [build] # +s390x-linux-gnu-gcc -fPIC -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -I/<>/blib/lib/auto/share/dist/FFI-Platypus/include -c /<>/.tmp/ffi-probe-diI6zF/ffi_build_of4maC.c -o /<>/.tmp/ffi-probe-diI6zF/_build/ffi_build_of4maC.c.o # +s390x-linux-gnu-gcc -shared -L/usr/local/lib -fstack-protector-strong /<>/.tmp/ffi-probe-diI6zF/_build/ffi_build_of4maC.c.o -o /<>/.tmp/ffi-probe-diI6zF/libeval6.so # [stdout] # eval1=<<<8>>> # eval2=<<<8>>> # [stderr] # # rv = 0 # type.pointer.align=8 # type.pointer.size=8 # ==probe.pl== # do { my $x = { # 'foo' => { # 'bar' => { # 'baz' => '3', # 'string' => 'hello world 7' # } # }, # 'header' => { # 'stddef.h' => 1 # }, # 'type' => { # 'float' => { # 'align' => '4', # 'size' => '4' # }, # 'pointer' => { # 'align' => '8', # 'size' => '8' # }, # 'unsigned char' => { # 'align' => '1', # 'sign' => 'unsigned', # 'size' => '1' # } # } # }; # $x;} 1..14 ok 2 - check_eval 1..2 ok t/ffi_probe_runner.t ..................... # Subtest: basic # exe=blib/lib/auto/share/dist/FFI-Platypus/probe/bin/dlrun ok 1 - An object of class 'FFI::Probe::Runner' isa 'FFI::Probe::Runner' ok 2 ok 3 1..3 ok 1 - basic # Subtest: run not pass # CC corpus/ffi_probe_runner/foo.c # LD /<>/.tmp/test-probe-CUmAh0/libfrooble1.so # lib=/<>/.tmp/test-probe-CUmAh0/libfrooble1.so ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 1..9 ok 2 - run not pass # Subtest: run pass # CC corpus/ffi_probe_runner/bar.c # LD /<>/.tmp/test-probe-drMWsm/libfrooble2.so # lib=/<>/.tmp/test-probe-drMWsm/libfrooble2.so ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 1..9 ok 3 - run pass 1..3 ok t/ffi_probe_runner_builder.t ............. # dir = /<>/.tmp/test-probe-RXNBpw # libs=-ldl # libs= # libs=-lm # libs=-lpthread # libs=-lc # libs=-lcrypt ok 1 - An object of class 'FFI::Probe::Runner::Builder' isa 'FFI::Probe::Runner::Builder' # +s390x-linux-gnu-gcc -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fwrapv -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -c -o /<>/.tmp/test-probe-RXNBpw/src/dlrun.o /<>/.tmp/test-probe-RXNBpw/src/dlrun.c # +s390x-linux-gnu-gcc -fstack-protector-strong -L/usr/local/lib -o /<>/.tmp/test-probe-RXNBpw/bin/dlrun /<>/.tmp/test-probe-RXNBpw/src/dlrun.o -ldl # +/<>/.tmp/test-probe-RXNBpw/bin/dlrun verify self # dlrun verify self ok ok 2 - no error ok 3 - executable exists # exe = /<>/.tmp/test-probe-RXNBpw/bin/dlrun # + /<>/.tmp/test-probe-RXNBpw/bin/dlrun verify self # dlrun verify self ok ok 4 - verify ok # + ldd /<>/.tmp/test-probe-RXNBpw/bin/dlrun # libdl.so.2 => /lib/s390x-linux-gnu/libdl.so.2 (0x000003ff95680000) # libc.so.6 => /lib/s390x-linux-gnu/libc.so.6 (0x000003ff95480000) # /lib/ld64.so.1 (0x000003ff95800000) 1..4 ok t/ffi_probe_runner_result.t .............. ok 1 - An object of class 'FFI::Probe::Runner::Result' isa 'FFI::Probe::Runner::Result' ok 2 ok 3 - An object of class 'FFI::Probe::Runner::Result' isa 'FFI::Probe::Runner::Result' ok 4 ok 5 ok 6 - An object of class 'FFI::Probe::Runner::Result' isa 'FFI::Probe::Runner::Result' ok 7 ok 8 1..8 ok t/ffi_temp.t ............................. ok 1 # dir = /<>/.tmp/YzuC2a2KMd # file = /<>/.tmp/FnH7J5TSq0 1..1 ok t/forks.t ................................ skipped: Test requires forks t/gh117.t ................................ # value64 = 1099511627775 ok 1 1..1 ok t/gh129.t ................................ # Subtest: attached function ok 1 1..1 ok 1 - attached function # Subtest: dynamic function ok 1 1..1 ok 2 - dynamic function # Subtest: type wrapper argument ok 1 1..1 ok 3 - type wrapper argument # Subtest: type wrapper argument post ok 1 1..1 ok 4 - type wrapper argument post # Subtest: type wrapper return type ok 1 1..1 ok 5 - type wrapper return type 1..5 ok t/memory.t ............................... skipped: tested only in CI t/threads.t .............................. ok 1 - works in a thread ok 2 - works in main thread 1..2 ok t/type_complex_double.t .................. # Subtest: api = 0 # Subtest: standard argument # Subtest: with a real number # to_string(10.5) = 10.5 + 0 * i ok 1 - creal(10.5) = 10.5 ok 2 - cimag(10.5) = 0.0 1..2 ok 1 - with a real number # Subtest: with an array ref # to_string([10.5,20.5]) = 10.5 + 20.5 * i ok 1 - creal([10.5,20.5]) = 10.5 ok 2 - cimag([10.5,20.5]) = 20.5 1..2 ok 2 - with an array ref # Subtest: with Math::Complex # to_string($c) = 10.5 + 20.5 * i ok 1 - creal($c) = 10.5 ok 2 - cimag($c) = 20.5 1..2 ok 3 - with Math::Complex 1..3 ok 1 - standard argument # Subtest: pointer argument # Subtest: with a real number # to_string(10.5) = 10.5 + 0 * i ok 1 - creal_ptr(\10.5) = 10.5 ok 2 - cimag_ptr(\10.5) = 0.0 1..2 ok 1 - with a real number # Subtest: with an array ref # to_string([10.5,20.5]) = 10.5 + 20.5 * i ok 1 - creal_ptr(\[10.5,20.5]) = 10.5 ok 2 - cimag_ptr(\[10.5,20.5]) = 20.5 1..2 ok 2 - with an array ref # Subtest: with Math::Complex # to_string($c) = 10.5 + 20.5 * i ok 1 - creal_ptr(\10.5+20.5i) = 10.5 ok 2 - cimag_ptr(\10.5+20.5i) = 20.5 1..2 ok 3 - with Math::Complex # Subtest: values set on out (array) ok 1 1..1 ok 4 - values set on out (array) # Subtest: values set on out (object) ok 1 1..1 ok 5 - values set on out (object) # Subtest: values set on out (other) ok 1 1..1 ok 6 - values set on out (other) 1..6 ok 2 - pointer argument # Subtest: return value ok 1 - standard ok 2 - pointer ok 3 - null 1..3 ok 3 - return value # Subtest: complex array arg ok 1 ok 2 ok 3 1..3 ok 4 - complex array arg # Subtest: complex array arg set ok 1 1..1 ok 5 - complex array arg set # Subtest: complex array ret ok 1 1..1 ok 6 - complex array ret 1..6 ok 1 - api = 0 # Subtest: api = 1 # Subtest: standard argument # Subtest: with a real number # to_string(10.5) = 10.5 + 0 * i ok 1 - creal(10.5) = 10.5 ok 2 - cimag(10.5) = 0.0 1..2 ok 1 - with a real number # Subtest: with an array ref # to_string([10.5,20.5]) = 10.5 + 20.5 * i ok 1 - creal([10.5,20.5]) = 10.5 ok 2 - cimag([10.5,20.5]) = 20.5 1..2 ok 2 - with an array ref # Subtest: with Math::Complex # to_string($c) = 10.5 + 20.5 * i ok 1 - creal($c) = 10.5 ok 2 - cimag($c) = 20.5 1..2 ok 3 - with Math::Complex 1..3 ok 1 - standard argument # Subtest: pointer argument # Subtest: with a real number # to_string(10.5) = 10.5 + 0 * i ok 1 - creal_ptr(\10.5) = 10.5 ok 2 - cimag_ptr(\10.5) = 0.0 1..2 ok 1 - with a real number # Subtest: with an array ref # to_string([10.5,20.5]) = 10.5 + 20.5 * i ok 1 - creal_ptr(\[10.5,20.5]) = 10.5 ok 2 - cimag_ptr(\[10.5,20.5]) = 20.5 1..2 ok 2 - with an array ref # Subtest: with Math::Complex # to_string($c) = 10.5 + 20.5 * i ok 1 - creal_ptr(\10.5+20.5i) = 10.5 ok 2 - cimag_ptr(\10.5+20.5i) = 20.5 1..2 ok 3 - with Math::Complex # Subtest: values set on out (array) ok 1 1..1 ok 4 - values set on out (array) # Subtest: values set on out (object) ok 1 1..1 ok 5 - values set on out (object) # Subtest: values set on out (other) ok 1 1..1 ok 6 - values set on out (other) 1..6 ok 2 - pointer argument # Subtest: return value ok 1 - standard ok 2 - pointer ok 3 - null 1..3 ok 3 - return value # Subtest: complex array arg ok 1 ok 2 ok 3 1..3 ok 4 - complex array arg # Subtest: complex array arg set ok 1 1..1 ok 5 - complex array arg set # Subtest: complex array ret ok 1 1..1 ok 6 - complex array ret 1..6 ok 2 - api = 1 1..2 ok t/type_complex_float.t ................... # Subtest: api = 0 # Subtest: standard argument # Subtest: with a real number # to_string(10.5) = 10.5 + 0 * i ok 1 - creal(10.5) = 10.5 ok 2 - cimag(10.5) = 0.0 1..2 ok 1 - with a real number # Subtest: with an array ref # to_string([10.5,20.5]) = 10.5 + 20.5 * i ok 1 - creal([10.5,20.5]) = 10.5 ok 2 - cimag([10.5,20.5]) = 20.5 1..2 ok 2 - with an array ref # Subtest: with Math::Complex # to_string($c) = 10.5 + 20.5 * i ok 1 - creal($c) = 10.5 ok 2 - cimag($c) = 20.5 1..2 ok 3 - with Math::Complex 1..3 ok 1 - standard argument # Subtest: pointer argument # Subtest: with a real number # to_string(10.5) = 10.5 + 0 * i ok 1 - creal_ptr(\10.5) = 10.5 ok 2 - cimag_ptr(\10.5) = 0.0 1..2 ok 1 - with a real number # Subtest: with an array ref # to_string([10.5,20.5]) = 10.5 + 20.5 * i ok 1 - creal_ptr(\[10.5,20.5]) = 10.5 ok 2 - cimag_ptr(\[10.5,20.5]) = 20.5 1..2 ok 2 - with an array ref # Subtest: with Math::Complex # to_string($c) = 10.5 + 20.5 * i ok 1 - creal_ptr(\10.5+20.5i) = 10.5 ok 2 - cimag_ptr(\10.5+20.5i) = 20.5 1..2 ok 3 - with Math::Complex # Subtest: values set on out (array) ok 1 1..1 ok 4 - values set on out (array) # Subtest: values set on out (object) ok 1 1..1 ok 5 - values set on out (object) # Subtest: values set on out (other) ok 1 1..1 ok 6 - values set on out (other) 1..6 ok 2 - pointer argument # Subtest: return value ok 1 - standard ok 2 - pointer ok 3 - null 1..3 ok 3 - return value # Subtest: complex array arg ok 1 ok 2 ok 3 1..3 ok 4 - complex array arg # Subtest: complex array arg set ok 1 1..1 ok 5 - complex array arg set # Subtest: complex array ret ok 1 1..1 ok 6 - complex array ret 1..6 ok 1 - api = 0 # Subtest: api = 1 # Subtest: standard argument # Subtest: with a real number # to_string(10.5) = 10.5 + 0 * i ok 1 - creal(10.5) = 10.5 ok 2 - cimag(10.5) = 0.0 1..2 ok 1 - with a real number # Subtest: with an array ref # to_string([10.5,20.5]) = 10.5 + 20.5 * i ok 1 - creal([10.5,20.5]) = 10.5 ok 2 - cimag([10.5,20.5]) = 20.5 1..2 ok 2 - with an array ref # Subtest: with Math::Complex # to_string($c) = 10.5 + 20.5 * i ok 1 - creal($c) = 10.5 ok 2 - cimag($c) = 20.5 1..2 ok 3 - with Math::Complex 1..3 ok 1 - standard argument # Subtest: pointer argument # Subtest: with a real number # to_string(10.5) = 10.5 + 0 * i ok 1 - creal_ptr(\10.5) = 10.5 ok 2 - cimag_ptr(\10.5) = 0.0 1..2 ok 1 - with a real number # Subtest: with an array ref # to_string([10.5,20.5]) = 10.5 + 20.5 * i ok 1 - creal_ptr(\[10.5,20.5]) = 10.5 ok 2 - cimag_ptr(\[10.5,20.5]) = 20.5 1..2 ok 2 - with an array ref # Subtest: with Math::Complex # to_string($c) = 10.5 + 20.5 * i ok 1 - creal_ptr(\10.5+20.5i) = 10.5 ok 2 - cimag_ptr(\10.5+20.5i) = 20.5 1..2 ok 3 - with Math::Complex # Subtest: values set on out (array) ok 1 1..1 ok 4 - values set on out (array) # Subtest: values set on out (object) ok 1 1..1 ok 5 - values set on out (object) # Subtest: values set on out (other) ok 1 1..1 ok 6 - values set on out (other) 1..6 ok 2 - pointer argument # Subtest: return value ok 1 - standard ok 2 - pointer ok 3 - null 1..3 ok 3 - return value # Subtest: complex array arg ok 1 ok 2 ok 3 1..3 ok 4 - complex array arg # Subtest: complex array arg set ok 1 1..1 ok 5 - complex array arg set # Subtest: complex array ret ok 1 1..1 ok 6 - complex array ret 1..6 ok 2 - api = 1 1..2 ok t/type_custom.t .......................... # Subtest: legal custom types ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10 ok 11 1..11 ok 1 - legal custom types # Subtest: illegal types # alias = foo_sint8_32_ ok 1 # alias = foo_sint8_ ok 2 1..2 ok 2 - illegal types # Subtest: records # Subtest: pointer ok 1 ok 2 ok 3 ok 4 ok 5 1..5 ok 1 - pointer # Subtest: by-value ok 1 ok 2 ok 3 # Subtest: return-value ok 1 1..1 ok 4 - return-value 1..4 ok 2 - by-value 1..2 ok 3 - records 1..3 ok t/type_double.t .......................... # Subtest: api = 0 ok 1 - add(1.5,2.5) = 4 ok 2 - add() = 0.0 ok 3 - inc(\$i,4.25) = \7.75 ok 4 - i=3.5+4.25 ok 5 - inc(\3,4) = \7 ok 6 - sum([1..10]) = 55 ok 7 - sum2([1..10],10) = 55 ok 8 - array increment ok 9 - null() == undef ok 10 - is_null(undef) == 1 ok 11 - is_null() == 1 ok 12 - is_null(22) == 0 ok 13 - static_array = [-5.5, 5.5, -10, 10, -15.5, 15.5, 20, -20, 25.5, -25.5] ok 14 - null2() == undef ok 15 - call_closure(2.5) = 4.75 ok 16 - call_closure(2.5) = 0 # Subtest: custom type input ok 1 ok 2 - custom_add(1.25,2.5) = 4 1..2 ok 17 - custom type input # Subtest: custom type output ok 1 ok 2 - custom_add2(1,1) = 2.25 1..2 ok 18 - custom type output ok 19 - closure_pointer_is_null() = 1 1..19 ok 1 - api = 0 # Subtest: api = 1 ok 1 - add(1.5,2.5) = 4 ok 2 - add() = 0.0 ok 3 - inc(\$i,4.25) = \7.75 ok 4 - i=3.5+4.25 ok 5 - inc(\3,4) = \7 ok 6 - sum([1..10]) = 55 ok 7 - sum2([1..10],10) = 55 ok 8 - array increment ok 9 - null() == undef ok 10 - is_null(undef) == 1 ok 11 - is_null() == 1 ok 12 - is_null(22) == 0 ok 13 - static_array = [-5.5, 5.5, -10, 10, -15.5, 15.5, 20, -20, 25.5, -25.5] ok 14 - null2() == undef ok 15 - call_closure(2.5) = 4.75 ok 16 - call_closure(2.5) = 0 # Subtest: custom type input ok 1 ok 2 - custom_add(1.25,2.5) = 4 1..2 ok 17 - custom type input # Subtest: custom type output ok 1 ok 2 - custom_add2(1,1) = 2.25 1..2 ok 18 - custom type output ok 19 - closure_pointer_is_null() = 1 1..19 ok 2 - api = 1 # Subtest: api = 2 ok 1 - add(1.5,2.5) = 4 ok 2 - add() = 0.0 ok 3 - inc(\$i,4.25) = \7.75 ok 4 - i=3.5+4.25 ok 5 - inc(\3,4) = \7 ok 6 - sum([1..10]) = 55 ok 7 - sum2([1..10],10) = 55 ok 8 - array increment ok 9 - null() == undef ok 10 - is_null(undef) == 1 ok 11 - is_null() == 1 ok 12 - is_null(22) == 0 ok 13 - static_array = [-5.5, 5.5, -10, 10, -15.5, 15.5, 20, -20, 25.5, -25.5] ok 14 - null2() == undef ok 15 - call_closure(2.5) = 4.75 ok 16 - call_closure(2.5) = 0 # Subtest: custom type input ok 1 ok 2 - custom_add(1.25,2.5) = 4 1..2 ok 17 - custom type input # Subtest: custom type output ok 1 ok 2 - custom_add2(1,1) = 2.25 1..2 ok 18 - custom type output ok 19 - closure_pointer_is_null() = 1 1..19 ok 3 - api = 2 1..3 ok t/type_float.t ........................... # Subtest: api = 0 ok 1 - add(1.5,2.5) = 4 ok 2 - add() = 0.0 ok 3 - inc(\$i,4.25) = \7.75 ok 4 - i=3.5+4.25 ok 5 - inc(\3,4) = \7 ok 6 - sum([1..10]) = 55 ok 7 - sum2([1..10],10) = 55 ok 8 - array increment ok 9 - null() == undef ok 10 - is_null(undef) == 1 ok 11 - is_null() == 1 ok 12 - is_null(22) == 0 ok 13 - static_array = [-5.5, 5.5, -10, 10, -15.5, 15.5, 20, -20, 25.5, -25.5] ok 14 - null2() == undef ok 15 - call_closure(2.5) = 4.75 ok 16 - call_closure(2.5) = 0 # Subtest: custom type input ok 1 ok 2 - custom_add(1.25,2.5) = 4 1..2 ok 17 - custom type input # Subtest: custom type output ok 1 ok 2 - custom_add2(1,1) = 2.25 1..2 ok 18 - custom type output ok 19 - closure_pointer_is_null() = 1 1..19 ok 1 - api = 0 # Subtest: api = 1 ok 1 - add(1.5,2.5) = 4 ok 2 - add() = 0.0 ok 3 - inc(\$i,4.25) = \7.75 ok 4 - i=3.5+4.25 ok 5 - inc(\3,4) = \7 ok 6 - sum([1..10]) = 55 ok 7 - sum2([1..10],10) = 55 ok 8 - array increment ok 9 - null() == undef ok 10 - is_null(undef) == 1 ok 11 - is_null() == 1 ok 12 - is_null(22) == 0 ok 13 - static_array = [-5.5, 5.5, -10, 10, -15.5, 15.5, 20, -20, 25.5, -25.5] ok 14 - null2() == undef ok 15 - call_closure(2.5) = 4.75 ok 16 - call_closure(2.5) = 0 # Subtest: custom type input ok 1 ok 2 - custom_add(1.25,2.5) = 4 1..2 ok 17 - custom type input # Subtest: custom type output ok 1 ok 2 - custom_add2(1,1) = 2.25 1..2 ok 18 - custom type output ok 19 - closure_pointer_is_null() = 1 1..19 ok 2 - api = 1 # Subtest: api = 2 ok 1 - add(1.5,2.5) = 4 ok 2 - add() = 0.0 ok 3 - inc(\$i,4.25) = \7.75 ok 4 - i=3.5+4.25 ok 5 - inc(\3,4) = \7 ok 6 - sum([1..10]) = 55 ok 7 - sum2([1..10],10) = 55 ok 8 - array increment ok 9 - null() == undef ok 10 - is_null(undef) == 1 ok 11 - is_null() == 1 ok 12 - is_null(22) == 0 ok 13 - static_array = [-5.5, 5.5, -10, 10, -15.5, 15.5, 20, -20, 25.5, -25.5] ok 14 - null2() == undef ok 15 - call_closure(2.5) = 4.75 ok 16 - call_closure(2.5) = 0 # Subtest: custom type input ok 1 ok 2 - custom_add(1.25,2.5) = 4 1..2 ok 17 - custom type input # Subtest: custom type output ok 1 ok 2 - custom_add2(1,1) = 2.25 1..2 ok 18 - custom type output ok 19 - closure_pointer_is_null() = 1 1..19 ok 3 - api = 2 1..3 ok t/type_longdouble.t ...................... # Subtest: Math::LongDouble is loaded when needed for return type ok 1 - not pre-loaded ok 2 ok 3 1..3 ok 1 - Math::LongDouble is loaded when needed for return type # Subtest: api = 0 # Subtest: with Math::LongDouble 1..0 # SKIP test requires Math::LongDouble ok 1 # skip test requires Math::LongDouble # Subtest: without Math::LongDouble 1..0 # SKIP test requires Math::LongDouble ok 2 # skip test requires Math::LongDouble 1..2 ok 2 - api = 0 # Subtest: api = 1 # Subtest: with Math::LongDouble 1..0 # SKIP test requires Math::LongDouble ok 1 # skip test requires Math::LongDouble # Subtest: without Math::LongDouble 1..0 # SKIP test requires Math::LongDouble ok 2 # skip test requires Math::LongDouble 1..2 ok 3 - api = 1 1..3 ok t/type_longdouble__array.t ............... # Subtest: Math::LongDouble is loaded when needed for return type ok 1 - not pre-loaded ok 2 ok 3 1..3 ok 1 - Math::LongDouble is loaded when needed for return type 1..1 ok t/type_longdouble__hide.t ................ skipped: test requires Devel::Hide 0.0010 t/type_longdouble__ptr.t ................. # Subtest: Math::LongDouble is loaded when needed for return type ok 1 - not pre-loaded ok 2 ok 3 1..3 ok 1 - Math::LongDouble is loaded when needed for return type 1..1 ok t/type_opaque.t .......................... # Subtest: api = 0 ok 1 - null = ()/undef ok 2 - is_null(undef) == 1 ok 3 - is_null() == 1 ok 4 - is_null($ptr) = 0 ok 5 - setp(2929907379088); getp() = 2929907379088 ok 6 - get($tmp); tmp = 2929907379088 ok 7 - get(\$tmp); \$tmp = undef ok 8 - aa_in([one two three]) ok 9 - aa_null_in([undef,undef,undef]) ok 10 - aa_out() ok 11 - aa_null_out() ok 12 - ra_out() ok 13 - ra_out_nt() ok 14 - ra_null_out ok 15 - pp2p(\undef) = undef ok 16 - pp2p(\2929916842672) = 2929916842672 ok 17 - p2pp(undef) = \undef ok 18 - pp2p(2929916842672) = \2929916842672 ok 19 - call_closure(undef) = undef ok 20 - save = undef ok 21 - call_closure(\2929916943296) = 2929916943296 ok 22 - save = 2929916943296 # Subtest: custom type input ok 1 ok 2 1..2 ok 23 - custom type input # Subtest: custom type output ok 1 ok 2 1..2 ok 24 - custom type output 1..24 ok 1 - api = 0 # Subtest: api = 1 ok 1 - null = ()/undef ok 2 - is_null(undef) == 1 ok 3 - is_null() == 1 ok 4 - is_null($ptr) = 0 ok 5 - setp(2929916845872); getp() = 2929916845872 ok 6 - get($tmp); tmp = 2929916845872 ok 7 - get(\$tmp); \$tmp = undef ok 8 - aa_in([one two three]) ok 9 - aa_null_in([undef,undef,undef]) ok 10 - aa_out() ok 11 - aa_null_out() ok 12 - ra_out() ok 13 - ra_out_nt() ok 14 - ra_null_out ok 15 - pp2p(\undef) = undef ok 16 - pp2p(\2929916680864) = 2929916680864 ok 17 - p2pp(undef) = \undef ok 18 - pp2p(2929916871920) = \2929916871920 ok 19 - call_closure(undef) = undef ok 20 - save = undef ok 21 - call_closure(\2929916877856) = 2929916877856 ok 22 - save = 2929916877856 # Subtest: custom type input ok 1 ok 2 1..2 ok 23 - custom type input # Subtest: custom type output ok 1 ok 2 1..2 ok 24 - custom type output 1..24 ok 2 - api = 1 # Subtest: api = 2 ok 1 - null = ()/undef ok 2 - is_null(undef) == 1 ok 3 - is_null() == 1 ok 4 - is_null($ptr) = 0 ok 5 - setp(2929916682592); getp() = 2929916682592 ok 6 - get($tmp); tmp = 2929916682592 ok 7 - get(\$tmp); \$tmp = undef ok 8 - aa_in([one two three]) ok 9 - aa_null_in([undef,undef,undef]) ok 10 - aa_out() ok 11 - aa_null_out() ok 12 - ra_out() ok 13 - ra_out_nt() ok 14 - ra_null_out ok 15 - pp2p(\undef) = undef ok 16 - pp2p(\2929917036864) = 2929917036864 ok 17 - p2pp(undef) = \undef ok 18 - pp2p(2929916869648) = \2929916869648 ok 19 - call_closure(undef) = undef ok 20 - save = undef ok 21 - call_closure(\2929917086576) = 2929917086576 ok 22 - save = 2929917086576 # Subtest: custom type input ok 1 ok 2 1..2 ok 23 - custom type input # Subtest: custom type output ok 1 ok 2 1..2 ok 24 - custom type output 1..24 ok 3 - api = 2 # Subtest: object # Subtest: argument ok 1 ok 2 1..2 ok 1 - argument # Subtest: return value ok 1 ok 2 - An object of class 'Roger' isa 'Roger' ok 3 ok 4 - An object of class 'Roger' isa 'Roger' ok 5 1..5 ok 2 - return value ok 3 1..3 ok 4 - object # Subtest: object # Subtest: argument ok 1 ok 2 1..2 ok 1 - argument # Subtest: return value ok 1 ok 2 - An object of class 'Roger' isa 'Roger' ok 3 ok 4 - An object of class 'Roger' isa 'Roger' ok 5 1..5 ok 2 - return value ok 3 1..3 ok 5 - object 1..5 ok t/type_record.t .......................... # record size = 20 # Subtest: not a reference # Subtest: in # packed size = 20 ok 1 - get_value($packed) = 42 ok 2 - get_name($packed) = hi there ok 3 - is_null(undef) 1..3 ok 1 - in # Subtest: out # packed size = 20 ok 1 - get_value($packed) = 47 ok 2 - get_value($packed) = platypus ok 3 - null() = undef 1..3 ok 2 - out 1..2 ok 1 - not a reference # Subtest: return null ok 1 ok 2 1..2 ok 2 - return null # Subtest: is a reference # Subtest: in # packed size = 20 ok 1 - get_value(\$packed) = 42 ok 2 - get_name(\$packed) = hi there ok 3 - is_null(\undef) 1..3 ok 1 - in # Subtest: out # packed size = 35 ok 1 - An object of class 'My::FooRecord' isa 'My::FooRecord' ok 2 - packed.my_method = starscream ok 3 - get_value($packed) = 47 ok 4 - get_value($packed) = platypus ok 5 - null() = \undef 1..5 ok 2 - out 1..2 ok 3 - is a reference # Subtest: closure ok 1 - allow record type as arg ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 # error = record is read-only at t/type_record.t line 137. ok 8 ok 9 ok 10 ok 11 # error = record is read-only at t/type_record.t line 146. ok 12 ok 13 # error = record is read-only at t/type_record.t line 153. ok 14 ok 15 ok 16 # error = record is read-only at t/type_record.t line 162. ok 17 ok 18 ok 19 # error = record is read-only at t/type_record.t line 171. ok 20 ok 21 # error = record is read-only at t/type_record.t line 178. ok 22 ok 23 # error = record is read-only at t/type_record.t line 186. ok 24 ok 25 ok 26 # error = record is read-only at t/type_record.t line 195. ok 27 ok 28 ok 29 ok 30 ok 31 ok 32 1..32 ok 4 - closure # Subtest: api = 1 fixed string ok 1 ok 2 ok 3 1..3 ok 5 - api = 1 fixed string 1..5 ok t/type_record_value.t .................... # Subtest: is a reference # Subtest: argument # Subtest: bad ok 1 ok 2 ok 3 1..3 ok 1 - bad # Subtest: good ok 1 ok 2 1..2 ok 2 - good 1..2 ok 1 - argument # Subtest: return value # Subtest: function object ok 1 ok 2 1..2 ok 1 - function object # Subtest: xsub_ref ok 1 ok 2 1..2 ok 2 - xsub_ref # Subtest: attach ok 1 ok 2 1..2 ok 3 - attach 1..3 ok 2 - return value 1..2 ok 1 - is a reference 1..1 ok t/type_sint16.t .......................... # Subtest: api = 0 ok 1 - add(-1,2) = 1 ok 2 - add() = 0 ok 3 - inc(\$i,4) = \1 ok 4 - i=1 ok 5 - inc(\-3,4) = \1 ok 6 - sum([-5..4]) = -5 ok 7 - sum([-5..4],10) = -5 ok 8 - array increment ok 9 - null() == undef ok 10 - is_null(undef) == 1 ok 11 - is_null() == 1 ok 12 - is_null(22) == 0 ok 13 - static_array = [-1,2,-3,4,-5,6,-7,8,-9,10] ok 14 - null2() == undef ok 15 - call_closure(-2) = -4 ok 16 - call_closure(2) = 0 # Subtest: custom type input ok 1 ok 2 - custom_add(-2,-1) = -5 1..2 ok 17 - custom type input # Subtest: custom type output ok 1 ok 2 - custom_add2(-2,-1) = -6 1..2 ok 18 - custom type output ok 19 - closure_pointer_is_null() = 1 1..19 ok 1 - api = 0 # Subtest: api = 1 ok 1 - add(-1,2) = 1 ok 2 - add() = 0 ok 3 - inc(\$i,4) = \1 ok 4 - i=1 ok 5 - inc(\-3,4) = \1 ok 6 - sum([-5..4]) = -5 ok 7 - sum([-5..4],10) = -5 ok 8 - array increment ok 9 - null() == undef ok 10 - is_null(undef) == 1 ok 11 - is_null() == 1 ok 12 - is_null(22) == 0 ok 13 - static_array = [-1,2,-3,4,-5,6,-7,8,-9,10] ok 14 - null2() == undef ok 15 - call_closure(-2) = -4 ok 16 - call_closure(2) = 0 # Subtest: custom type input ok 1 ok 2 - custom_add(-2,-1) = -5 1..2 ok 17 - custom type input # Subtest: custom type output ok 1 ok 2 - custom_add2(-2,-1) = -6 1..2 ok 18 - custom type output ok 19 - closure_pointer_is_null() = 1 1..19 ok 2 - api = 1 # Subtest: api = 2 ok 1 - add(-1,2) = 1 ok 2 - add() = 0 ok 3 - inc(\$i,4) = \1 ok 4 - i=1 ok 5 - inc(\-3,4) = \1 ok 6 - sum([-5..4]) = -5 ok 7 - sum([-5..4],10) = -5 ok 8 - array increment ok 9 - null() == undef ok 10 - is_null(undef) == 1 ok 11 - is_null() == 1 ok 12 - is_null(22) == 0 ok 13 - static_array = [-1,2,-3,4,-5,6,-7,8,-9,10] ok 14 - null2() == undef ok 15 - call_closure(-2) = -4 ok 16 - call_closure(2) = 0 # Subtest: custom type input ok 1 ok 2 - custom_add(-2,-1) = -5 1..2 ok 17 - custom type input # Subtest: custom type output ok 1 ok 2 - custom_add2(-2,-1) = -6 1..2 ok 18 - custom type output ok 19 - closure_pointer_is_null() = 1 1..19 ok 3 - api = 2 # Subtest: object # Subtest: argument ok 1 1..1 ok 1 - argument # Subtest: return value ok 1 - An object of class 'Roger' isa 'Roger' ok 2 1..2 ok 2 - return value 1..2 ok 4 - object # Subtest: object # Subtest: argument ok 1 1..1 ok 1 - argument # Subtest: return value ok 1 - An object of class 'Roger' isa 'Roger' ok 2 1..2 ok 2 - return value 1..2 ok 5 - object 1..5 ok t/type_sint32.t .......................... # Subtest: api = 0 ok 1 - add(-1,2) = 1 ok 2 - add() = 0 ok 3 - inc(\$i,4) = \1 ok 4 - i=1 ok 5 - inc(\-3,4) = \1 ok 6 - sum([-5..4]) = -5 ok 7 - sum([-5..4],10) = -5 ok 8 - array increment ok 9 - null() == undef ok 10 - is_null(undef) == 1 ok 11 - is_null() == 1 ok 12 - is_null(22) == 0 ok 13 - static_array = [-1,2,-3,4,-5,6,-7,8,-9,10] ok 14 - null2() == undef ok 15 - call_closure(-2) = -4 ok 16 - call_closure(2) = 0 # Subtest: custom type input ok 1 ok 2 - custom_add(-2,-1) = -5 1..2 ok 17 - custom type input # Subtest: custom type output ok 1 ok 2 - custom_add2(-2,-1) = -6 1..2 ok 18 - custom type output ok 19 - closure_pointer_is_null() = 1 1..19 ok 1 - api = 0 # Subtest: api = 1 ok 1 - add(-1,2) = 1 ok 2 - add() = 0 ok 3 - inc(\$i,4) = \1 ok 4 - i=1 ok 5 - inc(\-3,4) = \1 ok 6 - sum([-5..4]) = -5 ok 7 - sum([-5..4],10) = -5 ok 8 - array increment ok 9 - null() == undef ok 10 - is_null(undef) == 1 ok 11 - is_null() == 1 ok 12 - is_null(22) == 0 ok 13 - static_array = [-1,2,-3,4,-5,6,-7,8,-9,10] ok 14 - null2() == undef ok 15 - call_closure(-2) = -4 ok 16 - call_closure(2) = 0 # Subtest: custom type input ok 1 ok 2 - custom_add(-2,-1) = -5 1..2 ok 17 - custom type input # Subtest: custom type output ok 1 ok 2 - custom_add2(-2,-1) = -6 1..2 ok 18 - custom type output ok 19 - closure_pointer_is_null() = 1 1..19 ok 2 - api = 1 # Subtest: api = 2 ok 1 - add(-1,2) = 1 ok 2 - add() = 0 ok 3 - inc(\$i,4) = \1 ok 4 - i=1 ok 5 - inc(\-3,4) = \1 ok 6 - sum([-5..4]) = -5 ok 7 - sum([-5..4],10) = -5 ok 8 - array increment ok 9 - null() == undef ok 10 - is_null(undef) == 1 ok 11 - is_null() == 1 ok 12 - is_null(22) == 0 ok 13 - static_array = [-1,2,-3,4,-5,6,-7,8,-9,10] ok 14 - null2() == undef ok 15 - call_closure(-2) = -4 ok 16 - call_closure(2) = 0 # Subtest: custom type input ok 1 ok 2 - custom_add(-2,-1) = -5 1..2 ok 17 - custom type input # Subtest: custom type output ok 1 ok 2 - custom_add2(-2,-1) = -6 1..2 ok 18 - custom type output ok 19 - closure_pointer_is_null() = 1 1..19 ok 3 - api = 2 # Subtest: object # Subtest: argument ok 1 1..1 ok 1 - argument # Subtest: return value ok 1 - An object of class 'Roger' isa 'Roger' ok 2 1..2 ok 2 - return value 1..2 ok 4 - object # Subtest: object # Subtest: argument ok 1 1..1 ok 1 - argument # Subtest: return value ok 1 - An object of class 'Roger' isa 'Roger' ok 2 1..2 ok 2 - return value 1..2 ok 5 - object 1..5 ok t/type_sint64.t .......................... # Subtest: api = 0 ok 1 - add(-1,2) = 1 ok 2 - add() = 0 ok 3 - inc(\$i,4) = \1 ok 4 - i=1 ok 5 - inc(\-3,4) = \1 ok 6 - sum([-5..4]) = -5 ok 7 - sum([-5..4],10) = -5 ok 8 - array increment ok 9 - null() == undef ok 10 - is_null(undef) == 1 ok 11 - is_null() == 1 ok 12 - is_null(22) == 0 ok 13 - static_array = [-1,2,-3,4,-5,6,-7,8,-9,10] ok 14 - null2() == undef ok 15 - call_closure(-2) = -4 ok 16 - call_closure(2) = 0 # Subtest: custom type input ok 1 ok 2 - custom_add(-2,-1) = -5 1..2 ok 17 - custom type input # Subtest: custom type output ok 1 ok 2 - custom_add2(-2,-1) = -6 1..2 ok 18 - custom type output ok 19 - closure_pointer_is_null() = 1 1..19 ok 1 - api = 0 # Subtest: api = 1 ok 1 - add(-1,2) = 1 ok 2 - add() = 0 ok 3 - inc(\$i,4) = \1 ok 4 - i=1 ok 5 - inc(\-3,4) = \1 ok 6 - sum([-5..4]) = -5 ok 7 - sum([-5..4],10) = -5 ok 8 - array increment ok 9 - null() == undef ok 10 - is_null(undef) == 1 ok 11 - is_null() == 1 ok 12 - is_null(22) == 0 ok 13 - static_array = [-1,2,-3,4,-5,6,-7,8,-9,10] ok 14 - null2() == undef ok 15 - call_closure(-2) = -4 ok 16 - call_closure(2) = 0 # Subtest: custom type input ok 1 ok 2 - custom_add(-2,-1) = -5 1..2 ok 17 - custom type input # Subtest: custom type output ok 1 ok 2 - custom_add2(-2,-1) = -6 1..2 ok 18 - custom type output ok 19 - closure_pointer_is_null() = 1 1..19 ok 2 - api = 1 # Subtest: api = 2 ok 1 - add(-1,2) = 1 ok 2 - add() = 0 ok 3 - inc(\$i,4) = \1 ok 4 - i=1 ok 5 - inc(\-3,4) = \1 ok 6 - sum([-5..4]) = -5 ok 7 - sum([-5..4],10) = -5 ok 8 - array increment ok 9 - null() == undef ok 10 - is_null(undef) == 1 ok 11 - is_null() == 1 ok 12 - is_null(22) == 0 ok 13 - static_array = [-1,2,-3,4,-5,6,-7,8,-9,10] ok 14 - null2() == undef ok 15 - call_closure(-2) = -4 ok 16 - call_closure(2) = 0 # Subtest: custom type input ok 1 ok 2 - custom_add(-2,-1) = -5 1..2 ok 17 - custom type input # Subtest: custom type output ok 1 ok 2 - custom_add2(-2,-1) = -6 1..2 ok 18 - custom type output ok 19 - closure_pointer_is_null() = 1 1..19 ok 3 - api = 2 # Subtest: object # Subtest: argument ok 1 1..1 ok 1 - argument # Subtest: return value ok 1 - An object of class 'Roger' isa 'Roger' ok 2 1..2 ok 2 - return value 1..2 ok 4 - object # Subtest: object # Subtest: argument ok 1 1..1 ok 1 - argument # Subtest: return value ok 1 - An object of class 'Roger' isa 'Roger' ok 2 1..2 ok 2 - return value 1..2 ok 5 - object 1..5 ok t/type_sint8.t ........................... # Subtest: api = 0 ok 1 - add(-1,2) = 1 ok 2 - add() = 0 ok 3 - inc(\$i,4) = \1 ok 4 - i=1 ok 5 - inc(\-3,4) = \1 ok 6 - sum([-5..4]) = -5 ok 7 - sum([-5..4],10) = -5 ok 8 - array increment ok 9 - null() == undef ok 10 - is_null(undef) == 1 ok 11 - is_null() == 1 ok 12 - is_null(22) == 0 ok 13 - static_array = [-1,2,-3,4,-5,6,-7,8,-9,10] ok 14 - null2() == undef ok 15 - call_closure(-2) = -4 ok 16 - call_closure(2) = 0 # Subtest: custom type input ok 1 ok 2 - custom_add(-2,-1) = -5 1..2 ok 17 - custom type input # Subtest: custom type output ok 1 ok 2 - custom_add2(-2,-1) = -6 1..2 ok 18 - custom type output ok 19 - closure_pointer_is_null() = 1 1..19 ok 1 - api = 0 # Subtest: api = 1 ok 1 - add(-1,2) = 1 ok 2 - add() = 0 ok 3 - inc(\$i,4) = \1 ok 4 - i=1 ok 5 - inc(\-3,4) = \1 ok 6 - sum([-5..4]) = -5 ok 7 - sum([-5..4],10) = -5 ok 8 - array increment ok 9 - null() == undef ok 10 - is_null(undef) == 1 ok 11 - is_null() == 1 ok 12 - is_null(22) == 0 ok 13 - static_array = [-1,2,-3,4,-5,6,-7,8,-9,10] ok 14 - null2() == undef ok 15 - call_closure(-2) = -4 ok 16 - call_closure(2) = 0 # Subtest: custom type input ok 1 ok 2 - custom_add(-2,-1) = -5 1..2 ok 17 - custom type input # Subtest: custom type output ok 1 ok 2 - custom_add2(-2,-1) = -6 1..2 ok 18 - custom type output ok 19 - closure_pointer_is_null() = 1 1..19 ok 2 - api = 1 # Subtest: api = 2 ok 1 - add(-1,2) = 1 ok 2 - add() = 0 ok 3 - inc(\$i,4) = \1 ok 4 - i=1 ok 5 - inc(\-3,4) = \1 ok 6 - sum([-5..4]) = -5 ok 7 - sum([-5..4],10) = -5 ok 8 - array increment ok 9 - null() == undef ok 10 - is_null(undef) == 1 ok 11 - is_null() == 1 ok 12 - is_null(22) == 0 ok 13 - static_array = [-1,2,-3,4,-5,6,-7,8,-9,10] ok 14 - null2() == undef ok 15 - call_closure(-2) = -4 ok 16 - call_closure(2) = 0 # Subtest: custom type input ok 1 ok 2 - custom_add(-2,-1) = -5 1..2 ok 17 - custom type input # Subtest: custom type output ok 1 ok 2 - custom_add2(-2,-1) = -6 1..2 ok 18 - custom type output ok 19 - closure_pointer_is_null() = 1 1..19 ok 3 - api = 2 # Subtest: object # Subtest: argument ok 1 1..1 ok 1 - argument # Subtest: return value ok 1 - An object of class 'Roger' isa 'Roger' ok 2 1..2 ok 2 - return value 1..2 ok 4 - object # Subtest: object # Subtest: argument ok 1 1..1 ok 1 - argument # Subtest: return value ok 1 - An object of class 'Roger' isa 'Roger' ok 2 1..2 ok 2 - return value 1..2 ok 5 - object 1..5 ok t/type_string.t .......................... # Subtest: api = 0 ok 1 - string_matches_foobarbaz(foobarbaz) = true ok 2 - string_matches_foobarbaz(foobarbaz) = false ok 3 - string_return_foobarbaz() = foobarbaz ok 4 - null() = undef ok 5 - is_null(undef) = 1 ok 6 - is_null() = 1 ok 7 - is_null("foo") = 0 ok 8 - $save = hey there ok 9 - $save = undef ok 10 - fixed_input_test(foobarbaz\0) ok 11 - fixed_input_is_null(undef) ok 12 - string_fixed_text(0) = zero ok 13 - string_fixed_text(1) = one ok 14 - string_fixed_text(2) = two ok 15 - string_fixed_text(3) = three ok 16 - fixed_output_null() ok 17 - save=zero ok 18 ok 19 ok 20 ok 21 ok 22 ok 23 ok 24 ok 25 # Subtest: fixed length input # Subtest: with default ok 1 - a2(0) = foo ok 2 - a2(0) = bar ok 3 - a2(0) = baz ok 4 - a2(0) = undef ok 5 - a2(0) = five 1..5 ok 1 - with default 1..1 ok 26 - fixed length input # Subtest: variable length input ok 1 - get_string_from_array(@list, 0) = foo ok 2 - get_string_from_array(@list, 1) = bar ok 3 - get_string_from_array(@list, 2) = baz ok 4 - get_string_from_array(@list, 3) = undef 1..4 ok 27 - variable length input # Subtest: fixed length return ok 1 - returns null ok 2 - returns with just strings ok 3 - returns with NULL/undef in the middle 1..3 ok 28 - fixed length return # Subtest: null terminated return ok 1 - returns null ok 2 ok 3 ok 4 1..4 ok 29 - null terminated return # Subtest: argument update ok 1 1..1 ok 30 - argument update # Subtest: write to string ok 1 1..1 ok 31 - write to string ok 32 1..32 ok 1 - api = 0 # Subtest: api = 1 ok 1 - string_matches_foobarbaz(foobarbaz) = true ok 2 - string_matches_foobarbaz(foobarbaz) = false ok 3 - string_return_foobarbaz() = foobarbaz ok 4 - null() = undef ok 5 - is_null(undef) = 1 ok 6 - is_null() = 1 ok 7 - is_null("foo") = 0 ok 8 - $save = hey there ok 9 - $save = undef ok 10 - fixed_input_test(foobarbaz\0) ok 11 - fixed_input_is_null(undef) ok 12 - string_fixed_text(0) = zero ok 13 - string_fixed_text(1) = one ok 14 - string_fixed_text(2) = two ok 15 - string_fixed_text(3) = three ok 16 - fixed_output_null() ok 17 - save=zero ok 18 ok 19 ok 20 ok 21 ok 22 ok 23 ok 24 ok 25 # Subtest: fixed length input # Subtest: with default ok 1 - a2(0) = foo ok 2 - a2(0) = bar ok 3 - a2(0) = baz ok 4 - a2(0) = undef ok 5 - a2(0) = five 1..5 ok 1 - with default 1..1 ok 26 - fixed length input # Subtest: variable length input ok 1 - get_string_from_array(@list, 0) = foo ok 2 - get_string_from_array(@list, 1) = bar ok 3 - get_string_from_array(@list, 2) = baz ok 4 - get_string_from_array(@list, 3) = undef 1..4 ok 27 - variable length input # Subtest: fixed length return ok 1 - returns null ok 2 - returns with just strings ok 3 - returns with NULL/undef in the middle 1..3 ok 28 - fixed length return # Subtest: null terminated return ok 1 - returns null ok 2 ok 3 ok 4 1..4 ok 29 - null terminated return # Subtest: argument update ok 1 1..1 ok 30 - argument update # Subtest: write to string ok 1 1..1 ok 31 - write to string ok 32 1..32 ok 2 - api = 1 # Subtest: api = 2 ok 1 - string_matches_foobarbaz(foobarbaz) = true ok 2 - string_matches_foobarbaz(foobarbaz) = false ok 3 - string_return_foobarbaz() = foobarbaz ok 4 - null() = undef ok 5 - is_null(undef) = 1 ok 6 - is_null() = 1 ok 7 - is_null("foo") = 0 ok 8 - $save = hey there ok 9 - $save = undef ok 10 - fixed_input_test(foobarbaz\0) ok 11 - fixed_input_is_null(undef) ok 12 - string_fixed_text(0) = zero ok 13 - string_fixed_text(1) = one ok 14 - string_fixed_text(2) = two ok 15 - string_fixed_text(3) = three ok 16 - fixed_output_null() ok 17 - save=zero ok 18 ok 19 ok 20 ok 21 ok 22 ok 23 ok 24 ok 25 # Subtest: fixed length input # Subtest: with default ok 1 - a2(0) = foo ok 2 - a2(0) = bar ok 3 - a2(0) = baz ok 4 - a2(0) = undef ok 5 - a2(0) = five 1..5 ok 1 - with default 1..1 ok 26 - fixed length input # Subtest: variable length input ok 1 - get_string_from_array(@list, 0) = foo ok 2 - get_string_from_array(@list, 1) = bar ok 3 - get_string_from_array(@list, 2) = baz ok 4 - get_string_from_array(@list, 3) = undef 1..4 ok 27 - variable length input # Subtest: fixed length return ok 1 - returns null ok 2 - returns with just strings ok 3 - returns with NULL/undef in the middle 1..3 ok 28 - fixed length return # Subtest: null terminated return ok 1 - returns null ok 2 ok 3 ok 4 1..4 ok 29 - null terminated return # Subtest: argument update ok 1 1..1 ok 30 - argument update # Subtest: write to string ok 1 1..1 ok 31 - write to string ok 32 1..32 ok 3 - api = 2 1..3 ok t/type_uint16.t .......................... # Subtest: api = 0 ok 1 - add(1,2) = 3 ok 2 - add() = 0 ok 3 - inc(\$i,4) = \7 ok 4 - i=3+4 ok 5 - inc(\3,4) = \7 ok 6 - sum([1..10]) = 55 ok 7 - sum2([1..10],10) = 55 ok 8 - array increment ok 9 - null() == undef ok 10 - is_null(undef) == 1 ok 11 - is_null() == 1 ok 12 - is_null(22) == 0 ok 13 - static_array = [1,4,6,8,10,12,14,16,18,20] ok 14 - null2() == undef ok 15 - call_closure(2) = 4 ok 16 - call_closure(2) = 0 # Subtest: custom type input ok 1 ok 2 - custom_add(2,1) = 5 1..2 ok 17 - custom type input # Subtest: custom type output ok 1 ok 2 - custom_add2(1,1) = 4 1..2 ok 18 - custom type output # Subtest: custom type post ok 1 ok 2 - custom_add3(1,2) = 3 1..2 ok 19 - custom type post ok 20 - closure_pointer_is_null() = 1 1..20 ok 1 - api = 0 # Subtest: api = 1 ok 1 - add(1,2) = 3 ok 2 - add() = 0 ok 3 - inc(\$i,4) = \7 ok 4 - i=3+4 ok 5 - inc(\3,4) = \7 ok 6 - sum([1..10]) = 55 ok 7 - sum2([1..10],10) = 55 ok 8 - array increment ok 9 - null() == undef ok 10 - is_null(undef) == 1 ok 11 - is_null() == 1 ok 12 - is_null(22) == 0 ok 13 - static_array = [1,4,6,8,10,12,14,16,18,20] ok 14 - null2() == undef ok 15 - call_closure(2) = 4 ok 16 - call_closure(2) = 0 # Subtest: custom type input ok 1 ok 2 - custom_add(2,1) = 5 1..2 ok 17 - custom type input # Subtest: custom type output ok 1 ok 2 - custom_add2(1,1) = 4 1..2 ok 18 - custom type output # Subtest: custom type post ok 1 ok 2 - custom_add3(1,2) = 3 1..2 ok 19 - custom type post ok 20 - closure_pointer_is_null() = 1 1..20 ok 2 - api = 1 # Subtest: api = 2 ok 1 - add(1,2) = 3 ok 2 - add() = 0 ok 3 - inc(\$i,4) = \7 ok 4 - i=3+4 ok 5 - inc(\3,4) = \7 ok 6 - sum([1..10]) = 55 ok 7 - sum2([1..10],10) = 55 ok 8 - array increment ok 9 - null() == undef ok 10 - is_null(undef) == 1 ok 11 - is_null() == 1 ok 12 - is_null(22) == 0 ok 13 - static_array = [1,4,6,8,10,12,14,16,18,20] ok 14 - null2() == undef ok 15 - call_closure(2) = 4 ok 16 - call_closure(2) = 0 # Subtest: custom type input ok 1 ok 2 - custom_add(2,1) = 5 1..2 ok 17 - custom type input # Subtest: custom type output ok 1 ok 2 - custom_add2(1,1) = 4 1..2 ok 18 - custom type output # Subtest: custom type post ok 1 ok 2 - custom_add3(1,2) = 3 1..2 ok 19 - custom type post ok 20 - closure_pointer_is_null() = 1 1..20 ok 3 - api = 2 # Subtest: object # Subtest: argument ok 1 1..1 ok 1 - argument # Subtest: return value ok 1 - An object of class 'Roger' isa 'Roger' ok 2 1..2 ok 2 - return value 1..2 ok 4 - object # Subtest: object # Subtest: argument ok 1 1..1 ok 1 - argument # Subtest: return value ok 1 - An object of class 'Roger' isa 'Roger' ok 2 1..2 ok 2 - return value 1..2 ok 5 - object 1..5 ok t/type_uint32.t .......................... # Subtest: api = 0 ok 1 - add(1,2) = 3 ok 2 - add() = 0 ok 3 - inc(\$i,4) = \7 ok 4 - i=3+4 ok 5 - inc(\3,4) = \7 ok 6 - sum([1..10]) = 55 ok 7 - sum2([1..10],10) = 55 ok 8 - array increment ok 9 - null() == undef ok 10 - is_null(undef) == 1 ok 11 - is_null() == 1 ok 12 - is_null(22) == 0 ok 13 - static_array = [1,4,6,8,10,12,14,16,18,20] ok 14 - null2() == undef ok 15 - call_closure(2) = 4 ok 16 - call_closure(2) = 0 # Subtest: custom type input ok 1 ok 2 - custom_add(2,1) = 5 1..2 ok 17 - custom type input # Subtest: custom type output ok 1 ok 2 - custom_add2(1,1) = 4 1..2 ok 18 - custom type output # Subtest: custom type post ok 1 ok 2 - custom_add3(1,2) = 3 1..2 ok 19 - custom type post ok 20 - closure_pointer_is_null() = 1 1..20 ok 1 - api = 0 # Subtest: api = 1 ok 1 - add(1,2) = 3 ok 2 - add() = 0 ok 3 - inc(\$i,4) = \7 ok 4 - i=3+4 ok 5 - inc(\3,4) = \7 ok 6 - sum([1..10]) = 55 ok 7 - sum2([1..10],10) = 55 ok 8 - array increment ok 9 - null() == undef ok 10 - is_null(undef) == 1 ok 11 - is_null() == 1 ok 12 - is_null(22) == 0 ok 13 - static_array = [1,4,6,8,10,12,14,16,18,20] ok 14 - null2() == undef ok 15 - call_closure(2) = 4 ok 16 - call_closure(2) = 0 # Subtest: custom type input ok 1 ok 2 - custom_add(2,1) = 5 1..2 ok 17 - custom type input # Subtest: custom type output ok 1 ok 2 - custom_add2(1,1) = 4 1..2 ok 18 - custom type output # Subtest: custom type post ok 1 ok 2 - custom_add3(1,2) = 3 1..2 ok 19 - custom type post ok 20 - closure_pointer_is_null() = 1 1..20 ok 2 - api = 1 # Subtest: api = 2 ok 1 - add(1,2) = 3 ok 2 - add() = 0 ok 3 - inc(\$i,4) = \7 ok 4 - i=3+4 ok 5 - inc(\3,4) = \7 ok 6 - sum([1..10]) = 55 ok 7 - sum2([1..10],10) = 55 ok 8 - array increment ok 9 - null() == undef ok 10 - is_null(undef) == 1 ok 11 - is_null() == 1 ok 12 - is_null(22) == 0 ok 13 - static_array = [1,4,6,8,10,12,14,16,18,20] ok 14 - null2() == undef ok 15 - call_closure(2) = 4 ok 16 - call_closure(2) = 0 # Subtest: custom type input ok 1 ok 2 - custom_add(2,1) = 5 1..2 ok 17 - custom type input # Subtest: custom type output ok 1 ok 2 - custom_add2(1,1) = 4 1..2 ok 18 - custom type output # Subtest: custom type post ok 1 ok 2 - custom_add3(1,2) = 3 1..2 ok 19 - custom type post ok 20 - closure_pointer_is_null() = 1 1..20 ok 3 - api = 2 # Subtest: object # Subtest: argument ok 1 1..1 ok 1 - argument # Subtest: return value ok 1 - An object of class 'Roger' isa 'Roger' ok 2 1..2 ok 2 - return value 1..2 ok 4 - object # Subtest: object # Subtest: argument ok 1 1..1 ok 1 - argument # Subtest: return value ok 1 - An object of class 'Roger' isa 'Roger' ok 2 1..2 ok 2 - return value 1..2 ok 5 - object 1..5 ok t/type_uint64.t .......................... # Subtest: api = 0 ok 1 - add(1,2) = 3 ok 2 - add() = 0 ok 3 - inc(\$i,4) = \7 ok 4 - i=3+4 ok 5 - inc(\3,4) = \7 ok 6 - sum([1..10]) = 55 ok 7 - sum2([1..10],10) = 55 ok 8 - array increment ok 9 - null() == undef ok 10 - is_null(undef) == 1 ok 11 - is_null() == 1 ok 12 - is_null(22) == 0 ok 13 - static_array = [1,4,6,8,10,12,14,16,18,20] ok 14 - null2() == undef ok 15 - call_closure(2) = 4 ok 16 - call_closure(2) = 0 # Subtest: custom type input ok 1 ok 2 - custom_add(2,1) = 5 1..2 ok 17 - custom type input # Subtest: custom type output ok 1 ok 2 - custom_add2(1,1) = 4 1..2 ok 18 - custom type output # Subtest: custom type post ok 1 ok 2 - custom_add3(1,2) = 3 1..2 ok 19 - custom type post ok 20 - closure_pointer_is_null() = 1 1..20 ok 1 - api = 0 # Subtest: api = 1 ok 1 - add(1,2) = 3 ok 2 - add() = 0 ok 3 - inc(\$i,4) = \7 ok 4 - i=3+4 ok 5 - inc(\3,4) = \7 ok 6 - sum([1..10]) = 55 ok 7 - sum2([1..10],10) = 55 ok 8 - array increment ok 9 - null() == undef ok 10 - is_null(undef) == 1 ok 11 - is_null() == 1 ok 12 - is_null(22) == 0 ok 13 - static_array = [1,4,6,8,10,12,14,16,18,20] ok 14 - null2() == undef ok 15 - call_closure(2) = 4 ok 16 - call_closure(2) = 0 # Subtest: custom type input ok 1 ok 2 - custom_add(2,1) = 5 1..2 ok 17 - custom type input # Subtest: custom type output ok 1 ok 2 - custom_add2(1,1) = 4 1..2 ok 18 - custom type output # Subtest: custom type post ok 1 ok 2 - custom_add3(1,2) = 3 1..2 ok 19 - custom type post ok 20 - closure_pointer_is_null() = 1 1..20 ok 2 - api = 1 # Subtest: api = 2 ok 1 - add(1,2) = 3 ok 2 - add() = 0 ok 3 - inc(\$i,4) = \7 ok 4 - i=3+4 ok 5 - inc(\3,4) = \7 ok 6 - sum([1..10]) = 55 ok 7 - sum2([1..10],10) = 55 ok 8 - array increment ok 9 - null() == undef ok 10 - is_null(undef) == 1 ok 11 - is_null() == 1 ok 12 - is_null(22) == 0 ok 13 - static_array = [1,4,6,8,10,12,14,16,18,20] ok 14 - null2() == undef ok 15 - call_closure(2) = 4 ok 16 - call_closure(2) = 0 # Subtest: custom type input ok 1 ok 2 - custom_add(2,1) = 5 1..2 ok 17 - custom type input # Subtest: custom type output ok 1 ok 2 - custom_add2(1,1) = 4 1..2 ok 18 - custom type output # Subtest: custom type post ok 1 ok 2 - custom_add3(1,2) = 3 1..2 ok 19 - custom type post ok 20 - closure_pointer_is_null() = 1 1..20 ok 3 - api = 2 # Subtest: object # Subtest: argument ok 1 1..1 ok 1 - argument # Subtest: return value ok 1 - An object of class 'Roger' isa 'Roger' ok 2 1..2 ok 2 - return value 1..2 ok 4 - object # Subtest: object # Subtest: argument ok 1 1..1 ok 1 - argument # Subtest: return value ok 1 - An object of class 'Roger' isa 'Roger' ok 2 1..2 ok 2 - return value 1..2 ok 5 - object 1..5 ok t/type_uint8.t ........................... # Subtest: api = 0 ok 1 - add(1,2) = 3 ok 2 - add() = 0 ok 3 - inc(\$i,4) = \7 ok 4 - i=3+4 ok 5 - inc(\3,4) = \7 ok 6 - sum([1..10]) = 55 ok 7 - sum2([1..10],10) = 55 ok 8 - array increment ok 9 - null() == undef ok 10 - is_null(undef) == 1 ok 11 - is_null() == 1 ok 12 - is_null(22) == 0 ok 13 - static_array = [1,4,6,8,10,12,14,16,18,20] ok 14 - null2() == undef ok 15 - call_closure(2) = 4 ok 16 - call_closure(2) = 0 # Subtest: custom type input ok 1 ok 2 - custom_add(2,1) = 5 1..2 ok 17 - custom type input # Subtest: custom type output ok 1 ok 2 - custom_add2(1,1) = 4 1..2 ok 18 - custom type output # Subtest: custom type post ok 1 ok 2 - custom_add3(1,2) = 3 1..2 ok 19 - custom type post ok 20 - closure_pointer_is_null() = 1 1..20 ok 1 - api = 0 # Subtest: api = 1 ok 1 - add(1,2) = 3 ok 2 - add() = 0 ok 3 - inc(\$i,4) = \7 ok 4 - i=3+4 ok 5 - inc(\3,4) = \7 ok 6 - sum([1..10]) = 55 ok 7 - sum2([1..10],10) = 55 ok 8 - array increment ok 9 - null() == undef ok 10 - is_null(undef) == 1 ok 11 - is_null() == 1 ok 12 - is_null(22) == 0 ok 13 - static_array = [1,4,6,8,10,12,14,16,18,20] ok 14 - null2() == undef ok 15 - call_closure(2) = 4 ok 16 - call_closure(2) = 0 # Subtest: custom type input ok 1 ok 2 - custom_add(2,1) = 5 1..2 ok 17 - custom type input # Subtest: custom type output ok 1 ok 2 - custom_add2(1,1) = 4 1..2 ok 18 - custom type output # Subtest: custom type post ok 1 ok 2 - custom_add3(1,2) = 3 1..2 ok 19 - custom type post ok 20 - closure_pointer_is_null() = 1 1..20 ok 2 - api = 1 # Subtest: api = 2 ok 1 - add(1,2) = 3 ok 2 - add() = 0 ok 3 - inc(\$i,4) = \7 ok 4 - i=3+4 ok 5 - inc(\3,4) = \7 ok 6 - sum([1..10]) = 55 ok 7 - sum2([1..10],10) = 55 ok 8 - array increment ok 9 - null() == undef ok 10 - is_null(undef) == 1 ok 11 - is_null() == 1 ok 12 - is_null(22) == 0 ok 13 - static_array = [1,4,6,8,10,12,14,16,18,20] ok 14 - null2() == undef ok 15 - call_closure(2) = 4 ok 16 - call_closure(2) = 0 # Subtest: custom type input ok 1 ok 2 - custom_add(2,1) = 5 1..2 ok 17 - custom type input # Subtest: custom type output ok 1 ok 2 - custom_add2(1,1) = 4 1..2 ok 18 - custom type output # Subtest: custom type post ok 1 ok 2 - custom_add3(1,2) = 3 1..2 ok 19 - custom type post ok 20 - closure_pointer_is_null() = 1 1..20 ok 3 - api = 2 # Subtest: object # Subtest: argument ok 1 1..1 ok 1 - argument # Subtest: return value ok 1 - An object of class 'Roger' isa 'Roger' ok 2 1..2 ok 2 - return value 1..2 ok 4 - object # Subtest: object # Subtest: argument ok 1 1..1 ok 1 - argument # Subtest: return value ok 1 - An object of class 'Roger' isa 'Roger' ok 2 1..2 ok 2 - return value 1..2 ok 5 - object 1..5 ok All tests successful. Files=68, Tests=366, 7 wallclock secs ( 0.27 usr 0.07 sys + 5.77 cusr 1.00 csys = 7.11 CPU) Result: PASS make[1]: Leaving directory '/<>' create-stamp debian/debhelper-build-stamp dh_testroot -a dh_prep -a debian/rules override_dh_auto_install make[1]: Entering directory '/<>' dh_auto_install make -j4 install DESTDIR=/<>/debian/libffi-platypus-perl AM_UPDATE_INFO_DIR=no PREFIX=/usr make[2]: Entering directory '/<>' "/usr/bin/perl" -MExtUtils::Command::MM -e 'cp_nonempty' -- lib/FFI/Platypus.bs blib/arch/auto/FFI/Platypus/Platypus.bs 644 "/usr/bin/perl" inc/mm-build.pl +pkg-config --cflags libffi +pkg-config --libs libffi [out] -lffi Manifying 33 pod documents Manifying 6 pod documents Files found in blib/arch: installing files in blib/lib into architecture dependent library tree Installing /<>/debian/libffi-platypus-perl/usr/lib/s390x-linux-gnu/perl5/5.32/auto/FFI/Platypus/Platypus.so Installing /<>/debian/libffi-platypus-perl/usr/lib/s390x-linux-gnu/perl5/5.32/auto/FFI/Platypus/Constant/Constant.txt Installing /<>/debian/libffi-platypus-perl/usr/lib/s390x-linux-gnu/perl5/5.32/auto/FFI/Platypus/Record/Meta/Meta.txt Installing /<>/debian/libffi-platypus-perl/usr/lib/s390x-linux-gnu/perl5/5.32/auto/FFI/Platypus/Memory/Memory.txt Installing /<>/debian/libffi-platypus-perl/usr/lib/s390x-linux-gnu/perl5/5.32/auto/share/dist/FFI-Platypus/config.pl Installing /<>/debian/libffi-platypus-perl/usr/lib/s390x-linux-gnu/perl5/5.32/auto/share/dist/FFI-Platypus/probe/probe.pl Installing /<>/debian/libffi-platypus-perl/usr/lib/s390x-linux-gnu/perl5/5.32/auto/share/dist/FFI-Platypus/probe/bin/dlrun Installing /<>/debian/libffi-platypus-perl/usr/lib/s390x-linux-gnu/perl5/5.32/auto/share/dist/FFI-Platypus/probe/src/dlrun.c Installing /<>/debian/libffi-platypus-perl/usr/lib/s390x-linux-gnu/perl5/5.32/auto/share/dist/FFI-Platypus/include/ffi_platypus_bundle.h Installing /<>/debian/libffi-platypus-perl/usr/lib/s390x-linux-gnu/perl5/5.32/auto/share/dist/FFI-Platypus/include/ffi_platypus_config.h Installing /<>/debian/libffi-platypus-perl/usr/lib/s390x-linux-gnu/perl5/5.32/auto/share/dist/FFI-Platypus/lib/libplfill.so Installing /<>/debian/libffi-platypus-perl/usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus.pm Installing /<>/debian/libffi-platypus-perl/usr/lib/s390x-linux-gnu/perl5/5.32/FFI/typemap Installing /<>/debian/libffi-platypus-perl/usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Probe.pm Installing /<>/debian/libffi-platypus-perl/usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Build.pm Installing /<>/debian/libffi-platypus-perl/usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Temp.pm Installing /<>/debian/libffi-platypus-perl/usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Build/MM.pm Installing /<>/debian/libffi-platypus-perl/usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Build/Platform.pm Installing /<>/debian/libffi-platypus-perl/usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Build/File/CXX.pm Installing /<>/debian/libffi-platypus-perl/usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Build/File/C.pm Installing /<>/debian/libffi-platypus-perl/usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Build/File/Object.pm Installing /<>/debian/libffi-platypus-perl/usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Build/File/Base.pm Installing /<>/debian/libffi-platypus-perl/usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Build/File/Library.pm Installing /<>/debian/libffi-platypus-perl/usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Probe/Runner.pm Installing /<>/debian/libffi-platypus-perl/usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Probe/Runner/Result.pm Installing /<>/debian/libffi-platypus-perl/usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Probe/Runner/Builder.pm Installing /<>/debian/libffi-platypus-perl/usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/Constant.pm Installing /<>/debian/libffi-platypus-perl/usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/Memory.pm Installing /<>/debian/libffi-platypus-perl/usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/API.pm Installing /<>/debian/libffi-platypus-perl/usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/Buffer.pm Installing /<>/debian/libffi-platypus-perl/usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/Lang.pm Installing /<>/debian/libffi-platypus-perl/usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/Internal.pm Installing /<>/debian/libffi-platypus-perl/usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/ShareConfig.pm Installing /<>/debian/libffi-platypus-perl/usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/Bundle.pm Installing /<>/debian/libffi-platypus-perl/usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/Type.pm Installing /<>/debian/libffi-platypus-perl/usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/DL.pm Installing /<>/debian/libffi-platypus-perl/usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/Record.pm Installing /<>/debian/libffi-platypus-perl/usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/Legacy.pm Installing /<>/debian/libffi-platypus-perl/usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/Closure.pm Installing /<>/debian/libffi-platypus-perl/usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/Function.pm Installing /<>/debian/libffi-platypus-perl/usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/TypeParser.pm Installing /<>/debian/libffi-platypus-perl/usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/Lang/Win32.pm Installing /<>/debian/libffi-platypus-perl/usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/Lang/C.pm Installing /<>/debian/libffi-platypus-perl/usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/Lang/ASM.pm Installing /<>/debian/libffi-platypus-perl/usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/TypeParser/Version0.pm Installing /<>/debian/libffi-platypus-perl/usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/TypeParser/Version1.pm Installing /<>/debian/libffi-platypus-perl/usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/Type/PointerSizeBuffer.pm Installing /<>/debian/libffi-platypus-perl/usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/Type/StringArray.pm Installing /<>/debian/libffi-platypus-perl/usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/Type/StringPointer.pm Installing /<>/debian/libffi-platypus-perl/usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/Record/Meta.pm Installing /<>/debian/libffi-platypus-perl/usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/Record/TieArray.pm Installing /<>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Platypus::Closure.3pm Installing /<>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Platypus::ShareConfig.3pm Installing /<>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Platypus::DL.3pm Installing /<>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Platypus::Internal.3pm Installing /<>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Platypus::Type::StringPointer.3pm Installing /<>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Platypus::Lang::ASM.3pm Installing /<>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Platypus::Record::Meta.3pm Installing /<>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Platypus::Function.3pm Installing /<>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Platypus::Lang.3pm Installing /<>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Platypus::Buffer.3pm Installing /<>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Platypus::API.3pm Installing /<>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Platypus::TypeParser::Version0.3pm Installing /<>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Build::MM.3pm Installing /<>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Build::File::Library.3pm Installing /<>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Build::File::CXX.3pm Installing /<>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Platypus::Type::PointerSizeBuffer.3pm Installing /<>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Build::File::Object.3pm Installing /<>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Platypus::Memory.3pm Installing /<>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Platypus::Constant.3pm Installing /<>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Platypus::Type::StringArray.3pm Installing /<>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Platypus::Legacy.3pm Installing /<>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Build::Platform.3pm Installing /<>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Probe::Runner::Result.3pm Installing /<>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Probe::Runner::Builder.3pm Installing /<>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Build::File::C.3pm Installing /<>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Platypus::TypeParser.3pm Installing /<>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Probe::Runner.3pm Installing /<>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Probe.3pm Installing /<>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Platypus::Type.3pm Installing /<>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Platypus.3pm Installing /<>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Temp.3pm Installing /<>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Platypus::Record.3pm Installing /<>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Platypus::Bundle.3pm Installing /<>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Platypus::Lang::C.3pm Installing /<>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Platypus::TypeParser::Version1.3pm Installing /<>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Platypus::Lang::Win32.3pm Installing /<>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Platypus::Record::TieArray.3pm Installing /<>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Build.3pm Installing /<>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Build::File::Base.3pm make[2]: Leaving directory '/<>' # contentless manpage rm -f -v /<>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Platypus::ShareConfig.3pm removed '/<>/debian/libffi-platypus-perl/usr/share/man/man3/FFI::Platypus::ShareConfig.3pm' make[1]: Leaving directory '/<>' dh_installdocs -a dh_installchangelogs -a debian/rules override_dh_installexamples make[1]: Entering directory '/<>' dh_installexamples sed -i '1s|^#!perl|#!/usr/bin/perl|' /<>/debian/libffi-platypus-perl/usr/share/doc/libffi-platypus-perl/examples/*.pl make[1]: Leaving directory '/<>' dh_installman -a dh_lintian -a dh_perl -a dh_link -a dh_strip_nondeterminism -a dh_compress -a dh_fixperms -a dh_missing -a dh_dwz -a -a dh_strip -a -a dh_makeshlibs -a -a dh_shlibdeps -a -a dh_installdeb -a dh_gencontrol -a dh_md5sums -a dh_builddeb -a INFO: pkgstriptranslations version 146 INFO: pkgstriptranslations version 146 pkgstriptranslations: processing libffi-platypus-perl (in debian/libffi-platypus-perl); do_strip: , oemstrip: pkgstriptranslations: processing libffi-platypus-perl-dbgsym (in debian/.debhelper/libffi-platypus-perl/dbgsym-root); do_strip: , oemstrip: pkgmaintainermangler: Maintainer field overridden to "Ubuntu Developers " pkgmaintainermangler: Maintainer field overridden to "Ubuntu Developers " pkgstripfiles: processing control file: debian/libffi-platypus-perl/DEBIAN/control, package libffi-platypus-perl, directory debian/libffi-platypus-perl pkgstripfiles: Truncating usr/share/doc/libffi-platypus-perl/changelog.Debian.gz to topmost ten records pkgstripfiles: Running PNG optimization (using 4 cpus) for package libffi-platypus-perl ... pkgstripfiles: processing control file: debian/.debhelper/libffi-platypus-perl/dbgsym-root/DEBIAN/control, package libffi-platypus-perl-dbgsym, directory debian/.debhelper/libffi-platypus-perl/dbgsym-root dpkg-deb: building package 'libffi-platypus-perl-dbgsym' in 'debian/.debhelper/scratch-space/build-libffi-platypus-perl/libffi-platypus-perl-dbgsym_1.34-1build1_s390x.deb'. pkgstripfiles: No PNG files. dpkg-deb: building package 'libffi-platypus-perl' in '../libffi-platypus-perl_1.34-1build1_s390x.deb'. Renaming libffi-platypus-perl-dbgsym_1.34-1build1_s390x.deb to libffi-platypus-perl-dbgsym_1.34-1build1_s390x.ddeb dpkg-genbuildinfo --build=any dpkg-genchanges --build=any -mLaunchpad Build Daemon >../libffi-platypus-perl_1.34-1build1_s390x.changes dpkg-genchanges: info: binary-only arch-specific upload (source code and arch-indep packages not included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) -------------------------------------------------------------------------------- Build finished at 2020-11-09T14:23:15Z Finished -------- I: Built successfully +------------------------------------------------------------------------------+ | Post Build Chroot | +------------------------------------------------------------------------------+ +------------------------------------------------------------------------------+ | Changes | +------------------------------------------------------------------------------+ libffi-platypus-perl_1.34-1build1_s390x.changes: ------------------------------------------------ Format: 1.8 Date: Mon, 09 Nov 2020 12:43:07 +0100 Source: libffi-platypus-perl Binary: libffi-platypus-perl Architecture: s390x Version: 1.34-1build1 Distribution: hirsute-proposed Urgency: medium Maintainer: Launchpad Build Daemon Changed-By: Matthias Klose Description: libffi-platypus-perl - module to create Perl bindings to non-Perl libraries with FFI Changes: libffi-platypus-perl (1.34-1build1) hirsute; urgency=medium . * No-change rebuild for the perl update. Checksums-Sha1: f01811eff8ccaaff65ea370e903bbfaed17be96e 177528 libffi-platypus-perl-dbgsym_1.34-1build1_s390x.ddeb 771a807580e9a0e2062a73020c0f8ac3dce7e91a 5753 libffi-platypus-perl_1.34-1build1_s390x.buildinfo 7f969103ba48510ed0645c8eaa31784cf4c4e933 264112 libffi-platypus-perl_1.34-1build1_s390x.deb Checksums-Sha256: cb12e320d3eabff74b5ce72fb916e3d850be97919ae972748ec029899cd0ea90 177528 libffi-platypus-perl-dbgsym_1.34-1build1_s390x.ddeb 06bd22674341ce86916ccf8065055c33a438323d8a5743d2256120f7460ca45e 5753 libffi-platypus-perl_1.34-1build1_s390x.buildinfo 3336bd5c8f677cf296b1484b8b6111a2928a869f409a6d8483828785dff8a008 264112 libffi-platypus-perl_1.34-1build1_s390x.deb Files: 4605e319164ed3ea2a55e31d1765e98d 177528 debug optional libffi-platypus-perl-dbgsym_1.34-1build1_s390x.ddeb 74cee7bf9a8a1fdb6e86074414636a00 5753 perl optional libffi-platypus-perl_1.34-1build1_s390x.buildinfo 5b1cc24c76ff8865b56812c935dc8f05 264112 perl optional libffi-platypus-perl_1.34-1build1_s390x.deb +------------------------------------------------------------------------------+ | Buildinfo | +------------------------------------------------------------------------------+ Format: 1.0 Source: libffi-platypus-perl Binary: libffi-platypus-perl libffi-platypus-perl-dbgsym Architecture: s390x Version: 1.34-1build1 Checksums-Md5: 4605e319164ed3ea2a55e31d1765e98d 177528 libffi-platypus-perl-dbgsym_1.34-1build1_s390x.ddeb 5b1cc24c76ff8865b56812c935dc8f05 264112 libffi-platypus-perl_1.34-1build1_s390x.deb Checksums-Sha1: f01811eff8ccaaff65ea370e903bbfaed17be96e 177528 libffi-platypus-perl-dbgsym_1.34-1build1_s390x.ddeb 7f969103ba48510ed0645c8eaa31784cf4c4e933 264112 libffi-platypus-perl_1.34-1build1_s390x.deb Checksums-Sha256: cb12e320d3eabff74b5ce72fb916e3d850be97919ae972748ec029899cd0ea90 177528 libffi-platypus-perl-dbgsym_1.34-1build1_s390x.ddeb 3336bd5c8f677cf296b1484b8b6111a2928a869f409a6d8483828785dff8a008 264112 libffi-platypus-perl_1.34-1build1_s390x.deb Build-Origin: Ubuntu Build-Architecture: s390x Build-Date: Mon, 09 Nov 2020 14:23:15 +0000 Build-Path: /<> Build-Tainted-By: usr-local-has-programs Installed-Build-Depends: autoconf (= 2.69-11.1), automake (= 1:1.16.2-4ubuntu1), autopoint (= 0.19.8.1-10build1), autotools-dev (= 20180224.1), base-files (= 11ubuntu16), base-passwd (= 3.5.48), bash (= 5.0-6ubuntu2), binutils (= 2.35.1-2ubuntu1), binutils-common (= 2.35.1-2ubuntu1), binutils-s390x-linux-gnu (= 2.35.1-2ubuntu1), bsdextrautils (= 2.36-3ubuntu1), bsdutils (= 1:2.36-3ubuntu1), build-essential (= 12.8ubuntu3), bzip2 (= 1.0.8-4ubuntu2), coreutils (= 8.32-3ubuntu1), cpp (= 4:10.2.0-1ubuntu1), cpp-10 (= 10.2.0-16ubuntu1), dash (= 0.5.10.2-7), debconf (= 1.5.74), debhelper (= 13.2.1ubuntu1), debianutils (= 4.11.2), dh-autoreconf (= 19), dh-strip-nondeterminism (= 1.9.0-1), diffutils (= 1:3.7-3ubuntu1), dpkg (= 1.20.5ubuntu2), dpkg-dev (= 1.20.5ubuntu2), dwz (= 0.13-5), file (= 1:5.38-5), findutils (= 4.7.0-1ubuntu2), g++ (= 4:10.2.0-1ubuntu1), g++-10 (= 10.2.0-16ubuntu1), gcc (= 4:10.2.0-1ubuntu1), gcc-10 (= 10.2.0-16ubuntu1), gcc-10-base (= 10.2.0-16ubuntu1), gettext (= 0.19.8.1-10build1), gettext-base (= 0.19.8.1-10build1), grep (= 3.4-1), groff-base (= 1.22.4-5), gzip (= 1.10-2ubuntu1), hostname (= 3.23), init-system-helpers (= 1.58), intltool-debian (= 0.35.0+20060710.5), libacl1 (= 2.2.53-8), libarchive-zip-perl (= 1.68-1), libasan6 (= 10.2.0-16ubuntu1), libatomic1 (= 10.2.0-16ubuntu1), libattr1 (= 1:2.4.48-5), libaudit-common (= 1:2.8.5-3ubuntu2), libaudit1 (= 1:2.8.5-3ubuntu2), libbinutils (= 2.35.1-2ubuntu1), libblkid1 (= 2.36-3ubuntu1), libbz2-1.0 (= 1.0.8-4ubuntu2), libc-bin (= 2.32-0ubuntu4), libc-dev-bin (= 2.32-0ubuntu4), libc6 (= 2.32-0ubuntu4), libc6-dev (= 2.32-0ubuntu4), libcap-ng0 (= 0.7.9-2.2), libcapture-tiny-perl (= 0.48-1), libcc1-0 (= 10.2.0-16ubuntu1), libcom-err2 (= 1.45.6-1ubuntu1), libcroco3 (= 0.6.13-1), libcrypt-dev (= 1:4.4.17-1ubuntu1), libcrypt1 (= 1:4.4.17-1ubuntu1), libctf-nobfd0 (= 2.35.1-2ubuntu1), libctf0 (= 2.35.1-2ubuntu1), libdb5.3 (= 5.3.28+dfsg1-0.6ubuntu3), libdebconfclient0 (= 0.255ubuntu1), libdebhelper-perl (= 13.2.1ubuntu1), libdpkg-perl (= 1.20.5ubuntu2), libelf1 (= 0.182-1), libffi-checklib-perl (= 0.27-1), libffi-dev (= 3.4~20200819gead65ca871-0ubuntu3), libffi8ubuntu1 (= 3.4~20200819gead65ca871-0ubuntu3), libfile-stripnondeterminism-perl (= 1.9.0-1), libgcc-10-dev (= 10.2.0-16ubuntu1), libgcc-s1 (= 10.2.0-16ubuntu1), libgcrypt20 (= 1.8.5-5ubuntu2), libgdbm-compat4 (= 1.18.1-5.1), libgdbm6 (= 1.18.1-5.1), libglib2.0-0 (= 2.66.2-1), libgmp10 (= 2:6.2.0+dfsg-6ubuntu1), libgomp1 (= 10.2.0-16ubuntu1), libgpg-error0 (= 1.38-2), libgssapi-krb5-2 (= 1.17-10), libicu67 (= 67.1-4), libisl22 (= 0.22.1-1), libitm1 (= 10.2.0-16ubuntu1), libk5crypto3 (= 1.17-10), libkeyutils1 (= 1.6.1-2ubuntu1), libkrb5-3 (= 1.17-10), libkrb5support0 (= 1.17-10), liblz4-1 (= 1.9.2-2), liblzma5 (= 5.2.4-1ubuntu1), libmagic-mgc (= 1:5.38-5), libmagic1 (= 1:5.38-5), libmount1 (= 2.36-3ubuntu1), libmpc3 (= 1.2.0-1), libmpfr6 (= 4.1.0-3), libnsl-dev (= 1.3.0-0ubuntu3), libnsl2 (= 1.3.0-0ubuntu3), libpam-modules (= 1.3.1-5ubuntu6), libpam-modules-bin (= 1.3.1-5ubuntu6), libpam-runtime (= 1.3.1-5ubuntu6), libpam0g (= 1.3.1-5ubuntu6), libpcre2-8-0 (= 10.34-7), libpcre3 (= 2:8.39-13), libperl-dev (= 5.32.0-4), libperl5.32 (= 5.32.0-4), libpipeline1 (= 1.5.3-1), libseccomp2 (= 2.4.3-1ubuntu5), libselinux1 (= 3.1-2build1), libsigsegv2 (= 2.12-2build1), libsmartcols1 (= 2.36-3ubuntu1), libssl1.1 (= 1.1.1f-1ubuntu4), libstdc++-10-dev (= 10.2.0-16ubuntu1), libstdc++6 (= 10.2.0-16ubuntu1), libsub-override-perl (= 0.09-2), libsystemd0 (= 246.6-2ubuntu1), libtinfo6 (= 6.2+20200918-1), libtirpc-common (= 1.2.6-3), libtirpc-dev (= 1.2.6-3), libtirpc3 (= 1.2.6-3), libtool (= 2.4.6-14), libubsan1 (= 10.2.0-16ubuntu1), libuchardet0 (= 0.0.7-1), libudev1 (= 246.6-2ubuntu1), libunistring2 (= 0.9.10-4), libuuid1 (= 2.36-3ubuntu1), libxml2 (= 2.9.10+dfsg-6.2), libzstd1 (= 1.4.5+dfsg-4), linux-libc-dev (= 5.8.0-26.27), login (= 1:4.8.1-1ubuntu6), lsb-base (= 11.1.0ubuntu2), m4 (= 1.4.18-4), make (= 4.3-4ubuntu1), man-db (= 2.9.3-2), mawk (= 1.3.4.20200120-2), ncurses-base (= 6.2+20200918-1), ncurses-bin (= 6.2+20200918-1), patch (= 2.7.6-6), perl (= 5.32.0-4), perl-base (= 5.32.0-4), perl-modules-5.32 (= 5.32.0-4), pkg-config (= 0.29.2-1ubuntu1), po-debconf (= 1.0.21), rpcsvc-proto (= 1.4.2-0ubuntu4), sed (= 4.7-1ubuntu1), sensible-utils (= 0.0.13), sysvinit-utils (= 2.96-5ubuntu1), tar (= 1.30+dfsg-7), util-linux (= 2.36-3ubuntu1), xz-utils (= 5.2.4-1ubuntu1), zlib1g (= 1:1.2.11.dfsg-2ubuntu4) Environment: DEB_BUILD_OPTIONS="parallel=4" LANG="C.UTF-8" LC_ALL="C.UTF-8" SOURCE_DATE_EPOCH="1604922187" +------------------------------------------------------------------------------+ | Package contents | +------------------------------------------------------------------------------+ libffi-platypus-perl_1.34-1build1_s390x.deb ------------------------------------------- new Debian package, version 2.0. size 264112 bytes: control archive=4444 bytes. 976 bytes, 17 lines control 12489 bytes, 136 lines md5sums Package: libffi-platypus-perl Version: 1.34-1build1 Architecture: s390x Maintainer: Ubuntu Developers Original-Maintainer: Debian Perl Group Installed-Size: 850 Depends: perl (>= 5.32.0-4), perlapi-5.32.0, libc6 (>= 2.4), libffi8ubuntu1 (>= 3.4~20200819), libcapture-tiny-perl, libffi-checklib-perl, libscalar-list-utils-perl (>= 1:1.45) Section: perl Priority: optional Homepage: https://metacpan.org/release/FFI-Platypus Description: module to create Perl bindings to non-Perl libraries with FFI FFI::Platypus is a library for creating interfaces to machine code libraries written in languages like C, C++, Fortran, Rust, Pascal. Essentially anything that gets compiled into machine code. This implementation uses libffi to accomplish this task. libffi is battle tested by a number of other scripting and virtual machine languages, such as Python and Ruby to serve a similar role. drwxr-xr-x root/root 0 2020-11-09 11:43 ./ drwxr-xr-x root/root 0 2020-11-09 11:43 ./usr/ drwxr-xr-x root/root 0 2020-11-09 11:43 ./usr/lib/ drwxr-xr-x root/root 0 2020-11-09 11:43 ./usr/lib/s390x-linux-gnu/ drwxr-xr-x root/root 0 2020-11-09 11:43 ./usr/lib/s390x-linux-gnu/perl5/ drwxr-xr-x root/root 0 2020-11-09 11:43 ./usr/lib/s390x-linux-gnu/perl5/5.32/ drwxr-xr-x root/root 0 2020-11-09 11:43 ./usr/lib/s390x-linux-gnu/perl5/5.32/FFI/ -rw-r--r-- root/root 13583 2020-10-23 15:05 ./usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Build.pm drwxr-xr-x root/root 0 2020-11-09 11:43 ./usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Build/ drwxr-xr-x root/root 0 2020-11-09 11:43 ./usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Build/File/ -rw-r--r-- root/root 7013 2020-10-23 15:05 ./usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Build/File/Base.pm -rw-r--r-- root/root 4505 2020-10-23 15:05 ./usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Build/File/C.pm -rw-r--r-- root/root 1429 2020-10-23 15:05 ./usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Build/File/CXX.pm -rw-r--r-- root/root 1741 2020-10-23 15:05 ./usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Build/File/Library.pm -rw-r--r-- root/root 1488 2020-10-23 15:05 ./usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Build/File/Object.pm -rw-r--r-- root/root 8708 2020-10-23 15:05 ./usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Build/MM.pm -rw-r--r-- root/root 12374 2020-10-23 15:05 ./usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Build/Platform.pm -rw-r--r-- root/root 73304 2020-10-23 15:05 ./usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus.pm drwxr-xr-x root/root 0 2020-11-09 11:43 ./usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/ -rw-r--r-- root/root 5839 2020-10-23 15:05 ./usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/API.pm -rw-r--r-- root/root 9862 2020-10-23 15:05 ./usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/Buffer.pm -rw-r--r-- root/root 16019 2020-10-23 15:05 ./usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/Bundle.pm -rw-r--r-- root/root 3489 2020-10-23 15:05 ./usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/Closure.pm -rw-r--r-- root/root 4695 2020-10-23 15:05 ./usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/Constant.pm -rw-r--r-- root/root 5599 2020-10-23 15:05 ./usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/DL.pm -rw-r--r-- root/root 3867 2020-10-23 15:05 ./usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/Function.pm -rw-r--r-- root/root 1320 2020-10-23 15:05 ./usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/Internal.pm -rw-r--r-- root/root 1472 2020-10-23 15:05 ./usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/Lang.pm drwxr-xr-x root/root 0 2020-11-09 11:43 ./usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/Lang/ -rw-r--r-- root/root 2009 2020-10-23 15:05 ./usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/Lang/ASM.pm -rw-r--r-- root/root 1900 2020-10-23 15:05 ./usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/Lang/C.pm -rw-r--r-- root/root 6891 2020-10-23 15:05 ./usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/Lang/Win32.pm -rw-r--r-- root/root 2232 2020-10-23 15:05 ./usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/Legacy.pm -rw-r--r-- root/root 5027 2020-10-23 15:05 ./usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/Memory.pm -rw-r--r-- root/root 11617 2020-10-23 15:05 ./usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/Record.pm drwxr-xr-x root/root 0 2020-11-09 11:43 ./usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/Record/ -rw-r--r-- root/root 2593 2020-10-23 15:05 ./usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/Record/Meta.pm -rw-r--r-- root/root 2690 2020-10-23 15:05 ./usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/Record/TieArray.pm -rw-r--r-- root/root 1852 2020-10-23 15:05 ./usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/ShareConfig.pm -rw-r--r-- root/root 41744 2020-10-23 15:05 ./usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/Type.pm drwxr-xr-x root/root 0 2020-11-09 11:43 ./usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/Type/ -rw-r--r-- root/root 2857 2020-10-23 15:05 ./usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/Type/PointerSizeBuffer.pm -rw-r--r-- root/root 6307 2020-10-23 15:05 ./usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/Type/StringArray.pm -rw-r--r-- root/root 3297 2020-10-23 15:05 ./usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/Type/StringPointer.pm -rw-r--r-- root/root 3108 2020-10-23 15:05 ./usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/TypeParser.pm drwxr-xr-x root/root 0 2020-11-09 11:43 ./usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/TypeParser/ -rw-r--r-- root/root 6672 2020-10-23 15:05 ./usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/TypeParser/Version0.pm -rw-r--r-- root/root 12137 2020-10-23 15:05 ./usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Platypus/TypeParser/Version1.pm -rw-r--r-- root/root 12709 2020-10-23 15:05 ./usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Probe.pm drwxr-xr-x root/root 0 2020-11-09 11:43 ./usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Probe/ -rw-r--r-- root/root 3217 2020-10-23 15:05 ./usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Probe/Runner.pm drwxr-xr-x root/root 0 2020-11-09 11:43 ./usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Probe/Runner/ -rw-r--r-- root/root 9418 2020-10-23 15:05 ./usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Probe/Runner/Builder.pm -rw-r--r-- root/root 1668 2020-10-23 15:05 ./usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Probe/Runner/Result.pm -rw-r--r-- root/root 2282 2020-10-23 15:05 ./usr/lib/s390x-linux-gnu/perl5/5.32/FFI/Temp.pm -rw-r--r-- root/root 1553 2020-10-23 15:05 ./usr/lib/s390x-linux-gnu/perl5/5.32/FFI/typemap drwxr-xr-x root/root 0 2020-11-09 11:43 ./usr/lib/s390x-linux-gnu/perl5/5.32/auto/ drwxr-xr-x root/root 0 2020-11-09 11:43 ./usr/lib/s390x-linux-gnu/perl5/5.32/auto/FFI/ drwxr-xr-x root/root 0 2020-11-09 11:43 ./usr/lib/s390x-linux-gnu/perl5/5.32/auto/FFI/Platypus/ drwxr-xr-x root/root 0 2020-11-09 11:43 ./usr/lib/s390x-linux-gnu/perl5/5.32/auto/FFI/Platypus/Constant/ -rw-r--r-- root/root 57 2020-11-09 11:43 ./usr/lib/s390x-linux-gnu/perl5/5.32/auto/FFI/Platypus/Constant/Constant.txt drwxr-xr-x root/root 0 2020-11-09 11:43 ./usr/lib/s390x-linux-gnu/perl5/5.32/auto/FFI/Platypus/Memory/ -rw-r--r-- root/root 57 2020-11-09 11:43 ./usr/lib/s390x-linux-gnu/perl5/5.32/auto/FFI/Platypus/Memory/Memory.txt -rw-r--r-- root/root 223168 2020-11-09 11:43 ./usr/lib/s390x-linux-gnu/perl5/5.32/auto/FFI/Platypus/Platypus.so drwxr-xr-x root/root 0 2020-11-09 11:43 ./usr/lib/s390x-linux-gnu/perl5/5.32/auto/FFI/Platypus/Record/ drwxr-xr-x root/root 0 2020-11-09 11:43 ./usr/lib/s390x-linux-gnu/perl5/5.32/auto/FFI/Platypus/Record/Meta/ -rw-r--r-- root/root 57 2020-11-09 11:43 ./usr/lib/s390x-linux-gnu/perl5/5.32/auto/FFI/Platypus/Record/Meta/Meta.txt drwxr-xr-x root/root 0 2020-11-09 11:43 ./usr/lib/s390x-linux-gnu/perl5/5.32/auto/share/ drwxr-xr-x root/root 0 2020-11-09 11:43 ./usr/lib/s390x-linux-gnu/perl5/5.32/auto/share/dist/ drwxr-xr-x root/root 0 2020-11-09 11:43 ./usr/lib/s390x-linux-gnu/perl5/5.32/auto/share/dist/FFI-Platypus/ -rw-r--r-- root/root 2172 2020-11-09 11:43 ./usr/lib/s390x-linux-gnu/perl5/5.32/auto/share/dist/FFI-Platypus/config.pl drwxr-xr-x root/root 0 2020-11-09 11:43 ./usr/lib/s390x-linux-gnu/perl5/5.32/auto/share/dist/FFI-Platypus/include/ -rw-r--r-- root/root 798 2020-11-09 11:43 ./usr/lib/s390x-linux-gnu/perl5/5.32/auto/share/dist/FFI-Platypus/include/ffi_platypus_bundle.h -rw-r--r-- root/root 1027 2020-11-09 11:43 ./usr/lib/s390x-linux-gnu/perl5/5.32/auto/share/dist/FFI-Platypus/include/ffi_platypus_config.h drwxr-xr-x root/root 0 2020-11-09 11:43 ./usr/lib/s390x-linux-gnu/perl5/5.32/auto/share/dist/FFI-Platypus/lib/ -rw-r--r-- root/root 10176 2020-11-09 11:43 ./usr/lib/s390x-linux-gnu/perl5/5.32/auto/share/dist/FFI-Platypus/lib/libplfill.so drwxr-xr-x root/root 0 2020-11-09 11:43 ./usr/lib/s390x-linux-gnu/perl5/5.32/auto/share/dist/FFI-Platypus/probe/ drwxr-xr-x root/root 0 2020-11-09 11:43 ./usr/lib/s390x-linux-gnu/perl5/5.32/auto/share/dist/FFI-Platypus/probe/bin/ -rwxr-xr-x root/root 10336 2020-11-09 11:43 ./usr/lib/s390x-linux-gnu/perl5/5.32/auto/share/dist/FFI-Platypus/probe/bin/dlrun -rw-r--r-- root/root 5439 2020-11-09 11:43 ./usr/lib/s390x-linux-gnu/perl5/5.32/auto/share/dist/FFI-Platypus/probe/probe.pl drwxr-xr-x root/root 0 2020-11-09 11:43 ./usr/lib/s390x-linux-gnu/perl5/5.32/auto/share/dist/FFI-Platypus/probe/src/ -rw-r--r-- root/root 1661 2020-11-09 11:43 ./usr/lib/s390x-linux-gnu/perl5/5.32/auto/share/dist/FFI-Platypus/probe/src/dlrun.c drwxr-xr-x root/root 0 2020-11-09 11:43 ./usr/share/ drwxr-xr-x root/root 0 2020-11-09 11:43 ./usr/share/doc/ drwxr-xr-x root/root 0 2020-11-09 11:43 ./usr/share/doc/libffi-platypus-perl/ -rw-r--r-- root/root 2337 2020-10-23 15:05 ./usr/share/doc/libffi-platypus-perl/CONTRIBUTING.gz -rw-r--r-- root/root 1188 2020-10-23 15:05 ./usr/share/doc/libffi-platypus-perl/Changes.FFI-Build -rw-r--r-- root/root 250 2020-10-23 15:05 ./usr/share/doc/libffi-platypus-perl/Changes.FFI-Platypus-Type-StringArray -rw-r--r-- root/root 385 2020-10-28 17:27 ./usr/share/doc/libffi-platypus-perl/NEWS.Developer.gz -rw-r--r-- root/root 624 2020-11-09 11:43 ./usr/share/doc/libffi-platypus-perl/changelog.Debian.gz -rw-r--r-- root/root 1344 2020-10-28 17:27 ./usr/share/doc/libffi-platypus-perl/copyright drwxr-xr-x root/root 0 2020-11-09 11:43 ./usr/share/doc/libffi-platypus-perl/examples/ -rw-r--r-- root/root 3254 2020-11-09 11:43 ./usr/share/doc/libffi-platypus-perl/examples/archive.pl -rw-r--r-- root/root 2943 2020-11-09 11:43 ./usr/share/doc/libffi-platypus-perl/examples/archive_object.pl -rw-r--r-- root/root 343 2020-11-09 11:43 ./usr/share/doc/libffi-platypus-perl/examples/attach_from_pointer.pl drwxr-xr-x root/root 0 2020-11-09 11:43 ./usr/share/doc/libffi-platypus-perl/examples/bundle-const/ drwxr-xr-x root/root 0 2020-11-09 11:43 ./usr/share/doc/libffi-platypus-perl/examples/bundle-const/ffi/ -rw-r--r-- root/root 433 2020-10-23 15:05 ./usr/share/doc/libffi-platypus-perl/examples/bundle-const/ffi/const.c -rw-r--r-- root/root 214 2020-10-23 15:05 ./usr/share/doc/libffi-platypus-perl/examples/bundle-const/ffi/myheader.h drwxr-xr-x root/root 0 2020-10-23 15:05 ./usr/share/doc/libffi-platypus-perl/examples/bundle-const/lib/ -rw-r--r-- root/root 130 2020-10-23 15:05 ./usr/share/doc/libffi-platypus-perl/examples/bundle-const/lib/Const.pm drwxr-xr-x root/root 0 2020-10-23 15:05 ./usr/share/doc/libffi-platypus-perl/examples/bundle-const/t/ -rw-r--r-- root/root 184 2020-10-23 15:05 ./usr/share/doc/libffi-platypus-perl/examples/bundle-const/t/const.t drwxr-xr-x root/root 0 2020-10-23 15:05 ./usr/share/doc/libffi-platypus-perl/examples/bundle-foo/ -rw-r--r-- root/root 269 2020-10-23 15:05 ./usr/share/doc/libffi-platypus-perl/examples/bundle-foo/Makefile.PL drwxr-xr-x root/root 0 2020-10-23 15:05 ./usr/share/doc/libffi-platypus-perl/examples/bundle-foo/ffi/ -rw-r--r-- root/root 498 2020-10-23 15:05 ./usr/share/doc/libffi-platypus-perl/examples/bundle-foo/ffi/foo.c drwxr-xr-x root/root 0 2020-10-23 15:05 ./usr/share/doc/libffi-platypus-perl/examples/bundle-foo/lib/ -rw-r--r-- root/root 545 2020-10-23 15:05 ./usr/share/doc/libffi-platypus-perl/examples/bundle-foo/lib/Foo.pm drwxr-xr-x root/root 0 2020-10-23 15:05 ./usr/share/doc/libffi-platypus-perl/examples/bundle-foo/t/ -rw-r--r-- root/root 170 2020-10-23 15:05 ./usr/share/doc/libffi-platypus-perl/examples/bundle-foo/t/foo.t drwxr-xr-x root/root 0 2020-11-09 11:43 ./usr/share/doc/libffi-platypus-perl/examples/bundle-init/ drwxr-xr-x root/root 0 2020-10-23 15:05 ./usr/share/doc/libffi-platypus-perl/examples/bundle-init/ffi/ -rw-r--r-- root/root 454 2020-10-23 15:05 ./usr/share/doc/libffi-platypus-perl/examples/bundle-init/ffi/init.c drwxr-xr-x root/root 0 2020-10-23 15:05 ./usr/share/doc/libffi-platypus-perl/examples/bundle-init/lib/ -rw-r--r-- root/root 380 2020-10-23 15:05 ./usr/share/doc/libffi-platypus-perl/examples/bundle-init/lib/Init.pm drwxr-xr-x root/root 0 2020-10-23 15:05 ./usr/share/doc/libffi-platypus-perl/examples/bundle-init/t/ -rw-r--r-- root/root 88 2020-10-23 15:05 ./usr/share/doc/libffi-platypus-perl/examples/bundle-init/t/init.t -rw-r--r-- root/root 2064 2020-11-09 11:43 ./usr/share/doc/libffi-platypus-perl/examples/bzip2.pl -rw-r--r-- root/root 405 2020-11-09 11:43 ./usr/share/doc/libffi-platypus-perl/examples/char.pl -rw-r--r-- root/root 431 2020-11-09 11:43 ./usr/share/doc/libffi-platypus-perl/examples/closure-opaque.pl -rw-r--r-- root/root 366 2020-10-23 15:05 ./usr/share/doc/libffi-platypus-perl/examples/closure.c -rw-r--r-- root/root 492 2020-11-09 11:43 ./usr/share/doc/libffi-platypus-perl/examples/closure.pl -rw-r--r-- root/root 995 2020-11-09 11:43 ./usr/share/doc/libffi-platypus-perl/examples/file_handle.pl -rw-r--r-- root/root 1953 2020-11-09 11:43 ./usr/share/doc/libffi-platypus-perl/examples/get_uptime.pl -rw-r--r-- root/root 204 2020-11-09 11:43 ./usr/share/doc/libffi-platypus-perl/examples/getpid.pl -rw-r--r-- root/root 212 2020-11-09 11:43 ./usr/share/doc/libffi-platypus-perl/examples/integer.pl -rw-r--r-- root/root 272 2020-11-09 11:43 ./usr/share/doc/libffi-platypus-perl/examples/list_integer_types.pl -rw-r--r-- root/root 325 2020-11-09 11:43 ./usr/share/doc/libffi-platypus-perl/examples/malloc.pl -rw-r--r-- root/root 388 2020-11-09 11:43 ./usr/share/doc/libffi-platypus-perl/examples/math.pl -rw-r--r-- root/root 1070 2020-11-09 11:43 ./usr/share/doc/libffi-platypus-perl/examples/notify.pl -rw-r--r-- root/root 235 2020-11-09 11:43 ./usr/share/doc/libffi-platypus-perl/examples/pipe.pl -rw-r--r-- root/root 430 2020-11-09 11:43 ./usr/share/doc/libffi-platypus-perl/examples/string.pl -rw-r--r-- root/root 1033 2020-11-09 11:43 ./usr/share/doc/libffi-platypus-perl/examples/tcod.pl -rw-r--r-- root/root 1808 2020-11-09 11:43 ./usr/share/doc/libffi-platypus-perl/examples/time.pl -rw-r--r-- root/root 2265 2020-11-09 11:43 ./usr/share/doc/libffi-platypus-perl/examples/time_oo.pl -rw-r--r-- root/root 879 2020-11-09 11:43 ./usr/share/doc/libffi-platypus-perl/examples/time_record.pl -rw-r--r-- root/root 1078 2020-11-09 11:43 ./usr/share/doc/libffi-platypus-perl/examples/time_struct.pl -rw-r--r-- root/root 607 2020-11-09 11:43 ./usr/share/doc/libffi-platypus-perl/examples/uuid.pl -rw-r--r-- root/root 137 2020-10-23 15:05 ./usr/share/doc/libffi-platypus-perl/examples/var_array.c -rw-r--r-- root/root 231 2020-11-09 11:43 ./usr/share/doc/libffi-platypus-perl/examples/var_array.pl -rw-r--r-- root/root 242 2020-11-09 11:43 ./usr/share/doc/libffi-platypus-perl/examples/win32_beep.pl -rw-r--r-- root/root 1546 2020-11-09 11:43 ./usr/share/doc/libffi-platypus-perl/examples/win32_getSystemTime.pl -rw-r--r-- root/root 2319 2020-11-09 11:43 ./usr/share/doc/libffi-platypus-perl/examples/zmq3.pl drwxr-xr-x root/root 0 2020-11-09 11:43 ./usr/share/lintian/ drwxr-xr-x root/root 0 2020-11-09 11:43 ./usr/share/lintian/overrides/ -rw-r--r-- root/root 195 2020-10-28 17:27 ./usr/share/lintian/overrides/libffi-platypus-perl drwxr-xr-x root/root 0 2020-11-09 11:43 ./usr/share/man/ drwxr-xr-x root/root 0 2020-11-09 11:43 ./usr/share/man/man3/ -rw-r--r-- root/root 3935 2020-11-09 11:43 ./usr/share/man/man3/FFI::Build.3pm.gz -rw-r--r-- root/root 2973 2020-11-09 11:43 ./usr/share/man/man3/FFI::Build::File::Base.3pm.gz -rw-r--r-- root/root 1695 2020-11-09 11:43 ./usr/share/man/man3/FFI::Build::File::C.3pm.gz -rw-r--r-- root/root 1702 2020-11-09 11:43 ./usr/share/man/man3/FFI::Build::File::CXX.3pm.gz -rw-r--r-- root/root 1906 2020-11-09 11:43 ./usr/share/man/man3/FFI::Build::File::Library.3pm.gz -rw-r--r-- root/root 1734 2020-11-09 11:43 ./usr/share/man/man3/FFI::Build::File::Object.3pm.gz -rw-r--r-- root/root 2601 2020-11-09 11:43 ./usr/share/man/man3/FFI::Build::MM.3pm.gz -rw-r--r-- root/root 2988 2020-11-09 11:43 ./usr/share/man/man3/FFI::Build::Platform.3pm.gz -rw-r--r-- root/root 22355 2020-11-09 11:43 ./usr/share/man/man3/FFI::Platypus.3pm.gz -rw-r--r-- root/root 2986 2020-11-09 11:43 ./usr/share/man/man3/FFI::Platypus::API.3pm.gz -rw-r--r-- root/root 4758 2020-11-09 11:43 ./usr/share/man/man3/FFI::Platypus::Buffer.3pm.gz -rw-r--r-- root/root 6100 2020-11-09 11:43 ./usr/share/man/man3/FFI::Platypus::Bundle.3pm.gz -rw-r--r-- root/root 2292 2020-11-09 11:43 ./usr/share/man/man3/FFI::Platypus::Closure.3pm.gz -rw-r--r-- root/root 2583 2020-11-09 11:43 ./usr/share/man/man3/FFI::Platypus::Constant.3pm.gz -rw-r--r-- root/root 3547 2020-11-09 11:43 ./usr/share/man/man3/FFI::Platypus::DL.3pm.gz -rw-r--r-- root/root 2106 2020-11-09 11:43 ./usr/share/man/man3/FFI::Platypus::Function.3pm.gz -rw-r--r-- root/root 1715 2020-11-09 11:43 ./usr/share/man/man3/FFI::Platypus::Internal.3pm.gz -rw-r--r-- root/root 1826 2020-11-09 11:43 ./usr/share/man/man3/FFI::Platypus::Lang.3pm.gz -rw-r--r-- root/root 2102 2020-11-09 11:43 ./usr/share/man/man3/FFI::Platypus::Lang::ASM.3pm.gz -rw-r--r-- root/root 1959 2020-11-09 11:43 ./usr/share/man/man3/FFI::Platypus::Lang::C.3pm.gz -rw-r--r-- root/root 1971 2020-11-09 11:43 ./usr/share/man/man3/FFI::Platypus::Lang::Win32.3pm.gz -rw-r--r-- root/root 1626 2020-11-09 11:43 ./usr/share/man/man3/FFI::Platypus::Legacy.3pm.gz -rw-r--r-- root/root 2714 2020-11-09 11:43 ./usr/share/man/man3/FFI::Platypus::Memory.3pm.gz -rw-r--r-- root/root 4430 2020-11-09 11:43 ./usr/share/man/man3/FFI::Platypus::Record.3pm.gz -rw-r--r-- root/root 1674 2020-11-09 11:43 ./usr/share/man/man3/FFI::Platypus::Record::Meta.3pm.gz -rw-r--r-- root/root 2139 2020-11-09 11:43 ./usr/share/man/man3/FFI::Platypus::Record::TieArray.3pm.gz -rw-r--r-- root/root 15237 2020-11-09 11:43 ./usr/share/man/man3/FFI::Platypus::Type.3pm.gz -rw-r--r-- root/root 2061 2020-11-09 11:43 ./usr/share/man/man3/FFI::Platypus::Type::PointerSizeBuffer.3pm.gz -rw-r--r-- root/root 2900 2020-11-09 11:43 ./usr/share/man/man3/FFI::Platypus::Type::StringArray.3pm.gz -rw-r--r-- root/root 2070 2020-11-09 11:43 ./usr/share/man/man3/FFI::Platypus::Type::StringPointer.3pm.gz -rw-r--r-- root/root 1655 2020-11-09 11:43 ./usr/share/man/man3/FFI::Platypus::TypeParser.3pm.gz -rw-r--r-- root/root 2373 2020-11-09 11:43 ./usr/share/man/man3/FFI::Platypus::TypeParser::Version0.3pm.gz -rw-r--r-- root/root 1974 2020-11-09 11:43 ./usr/share/man/man3/FFI::Platypus::TypeParser::Version1.3pm.gz -rw-r--r-- root/root 2456 2020-11-09 11:43 ./usr/share/man/man3/FFI::Probe.3pm.gz -rw-r--r-- root/root 2115 2020-11-09 11:43 ./usr/share/man/man3/FFI::Probe::Runner.3pm.gz -rw-r--r-- root/root 2493 2020-11-09 11:43 ./usr/share/man/man3/FFI::Probe::Runner::Builder.3pm.gz -rw-r--r-- root/root 1814 2020-11-09 11:43 ./usr/share/man/man3/FFI::Probe::Runner::Result.3pm.gz -rw-r--r-- root/root 1625 2020-11-09 11:43 ./usr/share/man/man3/FFI::Temp.3pm.gz +------------------------------------------------------------------------------+ | Post Build | +------------------------------------------------------------------------------+ +------------------------------------------------------------------------------+ | Cleanup | +------------------------------------------------------------------------------+ Purging /<> Not removing build depends: as requested +------------------------------------------------------------------------------+ | Summary | +------------------------------------------------------------------------------+ Build Architecture: s390x Build Type: any Build-Space: n/a Build-Time: 28 Distribution: hirsute-proposed Host Architecture: s390x Install-Time: 7 Job: libffi-platypus-perl_1.34-1build1.dsc Machine Architecture: s390x Package: libffi-platypus-perl Package-Time: 35 Source-Version: 1.34-1build1 Space: n/a Status: successful Version: 1.34-1build1 -------------------------------------------------------------------------------- Finished at 2020-11-09T14:23:15Z Build needed 00:00:35, no disk space RUN: /usr/share/launchpad-buildd/bin/in-target scan-for-processes --backend=chroot --series=hirsute --arch=s390x PACKAGEBUILD-20269127 Scanning for processes to kill in build PACKAGEBUILD-20269127