Input buildinfo: https://buildinfos.debian.net/buildinfo-pool/r/ruby-nio4r/ruby-nio4r_2.5.8-1_amd64.buildinfo Use metasnap for getting required timestamps New buildinfo file: /tmp/ruby-nio4r-2.5.8-100opemut/ruby-nio4r_2.5.8-1_amd64.buildinfo Get source package info: ruby-nio4r=2.5.8-1 Source URL: http://snapshot.notset.fr/mr/package/ruby-nio4r/2.5.8-1/srcfiles?fileinfo=1 env -i PATH=/usr/sbin:/usr/bin:/sbin:/bin TMPDIR=/tmp mmdebstrap --arch=amd64 --include=adduser=3.118 autoconf=2.71-2 automake=1:1.16.4-2 autopoint=0.21-4 autotools-dev=20180224.1+nmu1 base-files=12 base-passwd=3.5.51 bash=5.1-3+b1 binutils=2.37-5 binutils-common=2.37-5 binutils-x86-64-linux-gnu=2.37-5 bsdextrautils=2.37.2-2 bsdutils=1:2.37.2-2 build-essential=12.9 bzip2=1.0.8-4 ca-certificates=20210119 coreutils=8.32-4+b1 cpp=4:10.2.1-1 cpp-10=10.3.0-10 dash=0.5.11+git20210120+802ebd4-1 debconf=1.5.77 debhelper=13.5.1 debianutils=5.4-4 devscripts=2.21.4 dh-autoreconf=20 dh-strip-nondeterminism=1.12.0-1 diffutils=1:3.7-5 dirmngr=2.2.27-2 dpkg=1.20.9 dpkg-dev=1.20.9 dwz=0.14-1 fakeroot=1.26-1 file=1:5.39-3 findutils=4.8.0-1 g++=4:10.2.1-1 g++-10=10.3.0-10 gcc=4:10.2.1-1 gcc-10=10.3.0-10 gcc-10-base=10.3.0-10 gcc-11-base=11.2.0-5 gem2deb=1.4 gem2deb-test-runner=1.4 gettext=0.21-4 gettext-base=0.21-4 gnupg=2.2.27-2 gnupg-l10n=2.2.27-2 gnupg-utils=2.2.27-2 gpg=2.2.27-2 gpg-agent=2.2.27-2 gpg-wks-client=2.2.27-2 gpg-wks-server=2.2.27-2 gpgconf=2.2.27-2 gpgsm=2.2.27-2 gpgv=2.2.27-2 grep=3.7-1 groff-base=1.22.4-7 gzip=1.10-4 hostname=3.23 init-system-helpers=1.60 intltool-debian=0.35.0+20060710.5 javascript-common=11+nmu1 libacl1=2.3.1-1 libarchive-zip-perl=1.68-1 libasan6=11.2.0-5 libassuan0=2.5.5-1 libatomic1=11.2.0-5 libattr1=1:2.5.1-1 libaudit-common=1:3.0.5-1 libaudit1=1:3.0.5-1 libb-hooks-op-check-perl=0.22-1+b3 libbinutils=2.37-5 libblkid1=2.37.2-2 libbsd0=0.11.3-1 libbz2-1.0=1.0.8-4 libc-bin=2.32-2 libc-dev-bin=2.32-2 libc6=2.32-2 libc6-dev=2.32-2 libcap-ng0=0.7.9-2.2+b1 libcc1-0=11.2.0-5 libclass-method-modifiers-perl=2.13-1 libcom-err2=1.46.4-1 libcrypt-dev=1:4.4.25-2 libcrypt1=1:4.4.25-2 libctf-nobfd0=2.37-5 libctf0=2.37-5 libdb5.3=5.3.28+dfsg1-0.8 libdebconfclient0=0.260 libdebhelper-perl=13.5.1 libdevel-callchecker-perl=0.008-1+b2 libdpkg-perl=1.20.9 libdynaloader-functions-perl=0.003-1.1 libedit2=3.1-20210910-1 libelf1=0.185-2 libencode-locale-perl=1.05-1.1 libexpat1=2.4.1-2 libfakeroot=1.26-1 libffi7=3.3-6 libfile-dirlist-perl=0.05-2 libfile-homedir-perl=1.006-1 libfile-listing-perl=6.14-1 libfile-stripnondeterminism-perl=1.12.0-1 libfile-touch-perl=0.12-1 libfile-which-perl=1.23-1 libgcc-10-dev=10.3.0-10 libgcc-s1=11.2.0-5 libgcrypt20=1.9.4-3 libgdbm-compat4=1.21-1 libgdbm6=1.21-1 libgmp-dev=2:6.2.1+dfsg-2 libgmp10=2:6.2.1+dfsg-2 libgmpxx4ldbl=2:6.2.1+dfsg-2 libgnutls30=3.7.2-2 libgomp1=11.2.0-5 libgpg-error0=1.42-3 libgssapi-krb5-2=1.18.3-7 libhogweed6=3.7.3-1 libhtml-parser-perl=3.76-1 libhtml-tagset-perl=3.20-4 libhtml-tree-perl=5.07-2 libhttp-cookies-perl=6.10-1 libhttp-date-perl=6.05-1 libhttp-message-perl=6.33-1 libhttp-negotiate-perl=6.01-1 libicu67=67.1-7 libidn2-0=2.3.2-2 libimport-into-perl=1.002005-1 libio-html-perl=1.004-2 libio-pty-perl=1:1.15-2 libio-socket-ssl-perl=2.072-1 libipc-run-perl=20200505.0-1 libisl23=0.23-1 libitm1=11.2.0-5 libjs-jquery=3.5.1+dfsg+~3.5.5-7 libjs-jquery-easing=12-3 libjs-jquery-fancybox=12-3 libjs-jquery-mousewheel=1:3.1.13-3 libjs-jquery-ui=1.12.1+dfsg-8 libk5crypto3=1.18.3-7 libkeyutils1=1.6.1-2 libkrb5-3=1.18.3-7 libkrb5support0=1.18.3-7 libksba8=1.6.0-2 libldap-2.4-2=2.4.59+dfsg-1 liblsan0=11.2.0-5 liblwp-mediatypes-perl=6.04-1 liblwp-protocol-https-perl=6.10-1 liblz4-1=1.9.3-2 liblzma5=5.2.5-2 libmagic-mgc=1:5.39-3 libmagic1=1:5.39-3 libmd0=1.0.3-3 libmodule-runtime-perl=0.016-1 libmoo-perl=2.005004-2 libmount1=2.37.2-2 libmpc3=1.2.0-1 libmpdec3=2.5.1-2 libmpfr6=4.1.0-3 libncursesw6=6.2+20210905-1 libnet-http-perl=6.21-1 libnet-ssleay-perl=1.88-3+b1 libnettle8=3.7.3-1 libnpth0=1.6-3 libnsl-dev=1.3.0-2 libnsl2=1.3.0-2 libp11-kit0=0.24.0-2 libpam-modules=1.4.0-10 libpam-modules-bin=1.4.0-10 libpam-runtime=1.4.0-10 libpam0g=1.4.0-10 libparams-classify-perl=0.015-1+b3 libpcre2-8-0=10.36-2 libpcre3=2:8.39-13 libperl5.32=5.32.1-5 libpipeline1=1.5.3-1 libpython3-stdlib=3.9.2-3 libpython3.9-minimal=3.9.7-2 libpython3.9-stdlib=3.9.7-2 libquadmath0=11.2.0-5 libreadline8=8.1-2 librole-tiny-perl=2.002004-1 libruby2.7=2.7.4-1 libsasl2-2=2.1.27+dfsg-2.1 libsasl2-modules-db=2.1.27+dfsg-2.1 libseccomp2=2.5.2-1 libselinux1=3.1-3 libsemanage-common=3.1-1 libsemanage1=3.1-1+b2 libsepol1=3.1-1 libsigsegv2=2.13-1 libsmartcols1=2.37.2-2 libsqlite3-0=3.36.0-2 libssl1.1=1.1.1l-1 libstdc++-10-dev=10.3.0-10 libstdc++6=11.2.0-5 libsub-override-perl=0.09-2 libsub-quote-perl=2.006006-1 libsystemd0=247.9-1 libtasn1-6=4.17.0-2 libtimedate-perl=2.3300-2 libtinfo6=6.2+20210905-1 libtirpc-common=1.3.2-2 libtirpc-dev=1.3.2-2 libtirpc3=1.3.2-2 libtool=2.4.6-15 libtry-tiny-perl=0.30-1 libtsan0=11.2.0-5 libubsan1=11.2.0-5 libuchardet0=0.0.7-1 libudev1=247.9-1 libunistring2=0.9.10-6 liburi-perl=5.08-1 libuuid1=2.37.2-2 libwww-perl=6.53-1 libwww-robotrules-perl=6.02-1 libxml2=2.9.12+dfsg-4 libyaml-0-2=0.2.2-1 libzstd1=1.4.8+dfsg-2.1 linux-libc-dev=5.10.46-4 login=1:4.8.1-1 lsb-base=11.1.0 m4=1.4.18-5 make=4.3-4.1 man-db=2.9.4-2 mawk=1.3.4.20200120-2 media-types=4.0.0 ncurses-base=6.2+20210905-1 ncurses-bin=6.2+20210905-1 netbase=6.3 openssl=1.1.1l-1 passwd=1:4.8.1-1 patch=2.7.6-7 patchutils=0.4.2-1 perl=5.32.1-5 perl-base=5.32.1-5 perl-modules-5.32=5.32.1-5 perl-openssl-defaults=5 pinentry-curses=1.1.0-4 po-debconf=1.0.21+nmu1 python3=3.9.2-3 python3-minimal=3.9.2-3 python3.9=3.9.7-2 python3.9-minimal=3.9.7-2 rake=13.0.3-1 rake-compiler=1.1.1-1 readline-common=8.1-2 rpcsvc-proto=1.4.2-4 rubocop=0.89.1+dfsg-1 ruby=1:2.7+2 ruby-all-dev=1:2.7+2 ruby-ast=2.4.1-1 ruby-coveralls=0.8.23-2 ruby-diff-lcs=1.4.4-1 ruby-docile=1.1.5-2 ruby-domain-name=0.5.20190701-1 ruby-http-accept=1.7.0-2 ruby-http-cookie=1.0.3-1 ruby-mime-types=3.3.1-1 ruby-mime-types-data=3.2015.1120-1.1 ruby-minitest=5.13.0-1 ruby-multi-json=1.14.1-1 ruby-net-telnet=0.1.1-2 ruby-netrc=0.11.0-3 ruby-parallel=1.20.2-1 ruby-power-assert=1.1.7-2 ruby-progressbar=1.10.1-1 ruby-rainbow=3.0.0-3 ruby-regexp-parser=1.7.1-1 ruby-rest-client=2.1.0-1 ruby-rspec=3.9.0c2e2m1s3-2 ruby-rspec-core=3.9.0c2e2m1s3-2 ruby-rspec-expectations=3.9.0c2e2m1s3-2 ruby-rspec-mocks=3.9.0c2e2m1s3-2 ruby-rspec-retry=0.6.2-1 ruby-rspec-support=3.9.0c2e2m1s3-2 ruby-rubocop-ast=0.3.0+dfsg-1 ruby-rubygems=3.2.5-2 ruby-simplecov=0.19.1-1 ruby-simplecov-html=0.12.3-1 ruby-sync=0.5.0-2 ruby-term-ansicolor=1.3.0-1.1 ruby-test-unit=3.3.9-1 ruby-thor=1.0.1-1 ruby-tins=1.1.0-2 ruby-unf=0.1.4-2 ruby-unf-ext=0.0.7.6-1+b3 ruby-unicode-display-width=1.6.1-1 ruby-whitequark-parser=2.7.1.4-2 ruby-xmlrpc=0.3.0-2 ruby2.7=2.7.4-1 ruby2.7-dev=2.7.4-1 rubygems-integration=1.18 sed=4.8-1 sensible-utils=0.0.17 sysvinit-utils=2.96-7 tar=1.34+dfsg-1 tzdata=2021a-1 util-linux=2.37.2-2 wdiff=1.2.2-2+b1 xz-utils=5.2.5-2 zlib1g=1:1.2.11.dfsg-2 --variant=apt --aptopt=Acquire::Check-Valid-Until "false" --aptopt=Acquire::http::Dl-Limit "1000"; --aptopt=Acquire::https::Dl-Limit "1000"; --aptopt=Acquire::Retries "5"; --aptopt=APT::Get::allow-downgrades "true"; --keyring=/usr/share/keyrings/ --essential-hook=chroot "$1" sh -c "apt-get --yes install fakeroot util-linux" --essential-hook=copy-in /usr/share/keyrings/debian-archive-bullseye-automatic.gpg /usr/share/keyrings/debian-archive-bullseye-security-automatic.gpg /usr/share/keyrings/debian-archive-bullseye-stable.gpg /usr/share/keyrings/debian-archive-buster-automatic.gpg /usr/share/keyrings/debian-archive-buster-security-automatic.gpg /usr/share/keyrings/debian-archive-buster-stable.gpg /usr/share/keyrings/debian-archive-keyring.gpg /usr/share/keyrings/debian-archive-removed-keys.gpg /usr/share/keyrings/debian-archive-stretch-automatic.gpg /usr/share/keyrings/debian-archive-stretch-security-automatic.gpg /usr/share/keyrings/debian-archive-stretch-stable.gpg /usr/share/keyrings/debian-ports-archive-keyring-removed.gpg /usr/share/keyrings/debian-ports-archive-keyring.gpg /usr/share/keyrings/debian-keyring.gpg /etc/apt/trusted.gpg.d/ --essential-hook=chroot "$1" sh -c "rm /etc/apt/sources.list && echo 'deb http://snapshot.notset.fr/archive/debian/20210922T025414Z/ bookworm main deb-src http://snapshot.notset.fr/archive/debian/20210922T025414Z/ bookworm main deb http://snapshot.notset.fr/archive/debian/20210913T203753Z/ unstable main' >> /etc/apt/sources.list && apt-get update" --customize-hook=chroot "$1" useradd --no-create-home -d /nonexistent -p "" builduser -s /bin/bash --customize-hook=chroot "$1" env sh -c "apt-get source --only-source -d ruby-nio4r=2.5.8-1 && mkdir -p /build/ruby-nio4r-pUhdxm && dpkg-source --no-check -x /*.dsc /build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8 && chown -R builduser:builduser /build/ruby-nio4r-pUhdxm" --customize-hook=chroot "$1" env --unset=TMPDIR runuser builduser -c "cd /build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8 && env DEB_BUILD_OPTIONS="parallel=4" LC_ALL="C.UTF-8" LC_COLLATE="C.UTF-8" SOURCE_DATE_EPOCH="1631563662" dpkg-buildpackage -uc -a amd64 --build=any" --customize-hook=sync-out /build/ruby-nio4r-pUhdxm /tmp/ruby-nio4r-2.5.8-100opemut bookworm /dev/null deb http://snapshot.notset.fr/archive/debian/20210913T203753Z unstable main I: automatically chosen mode: root I: chroot architecture amd64 is equal to the host's architecture I: automatically chosen format: tar I: using /tmp/mmdebstrap.gKRnWng3uV as tempdir I: running apt-get update... I: downloading packages with apt... I: extracting archives... I: installing essential packages... I: running --essential-hook in shell: sh -c 'chroot "$1" sh -c "apt-get --yes install fakeroot util-linux"' exec /tmp/mmdebstrap.gKRnWng3uV Reading package lists... Building dependency tree... util-linux is already the newest version (2.37.2-2). The following NEW packages will be installed: fakeroot libfakeroot 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. Need to get 134 kB of archives. After this operation, 397 kB of additional disk space will be used. Get:1 http://snapshot.notset.fr/archive/debian/20210913T203753Z unstable/main amd64 libfakeroot amd64 1.26-1 [47.3 kB] Get:2 http://snapshot.notset.fr/archive/debian/20210913T203753Z unstable/main amd64 fakeroot amd64 1.26-1 [87.1 kB] debconf: delaying package configuration, since apt-utils is not installed Fetched 134 kB in 0s (790 kB/s) Selecting previously unselected package libfakeroot:amd64. (Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 4664 files and directories currently installed.) Preparing to unpack .../libfakeroot_1.26-1_amd64.deb ... Unpacking libfakeroot:amd64 (1.26-1) ... Selecting previously unselected package fakeroot. Preparing to unpack .../fakeroot_1.26-1_amd64.deb ... Unpacking fakeroot (1.26-1) ... Setting up libfakeroot:amd64 (1.26-1) ... Setting up fakeroot (1.26-1) ... update-alternatives: using /usr/bin/fakeroot-sysv to provide /usr/bin/fakeroot (fakeroot) in auto mode Processing triggers for libc-bin (2.32-2) ... I: running special hook: copy-in /usr/share/keyrings/debian-archive-bullseye-automatic.gpg /usr/share/keyrings/debian-archive-bullseye-security-automatic.gpg /usr/share/keyrings/debian-archive-bullseye-stable.gpg /usr/share/keyrings/debian-archive-buster-automatic.gpg /usr/share/keyrings/debian-archive-buster-security-automatic.gpg /usr/share/keyrings/debian-archive-buster-stable.gpg /usr/share/keyrings/debian-archive-keyring.gpg /usr/share/keyrings/debian-archive-removed-keys.gpg /usr/share/keyrings/debian-archive-stretch-automatic.gpg /usr/share/keyrings/debian-archive-stretch-security-automatic.gpg /usr/share/keyrings/debian-archive-stretch-stable.gpg /usr/share/keyrings/debian-ports-archive-keyring-removed.gpg /usr/share/keyrings/debian-ports-archive-keyring.gpg /usr/share/keyrings/debian-keyring.gpg /etc/apt/trusted.gpg.d/ I: running --essential-hook in shell: sh -c 'chroot "$1" sh -c "rm /etc/apt/sources.list && echo 'deb http://snapshot.notset.fr/archive/debian/20210922T025414Z/ bookworm main deb-src http://snapshot.notset.fr/archive/debian/20210922T025414Z/ bookworm main deb http://snapshot.notset.fr/archive/debian/20210913T203753Z/ unstable main' >> /etc/apt/sources.list && apt-get update"' exec /tmp/mmdebstrap.gKRnWng3uV Get:1 http://snapshot.notset.fr/archive/debian/20210922T025414Z bookworm InRelease [128 kB] Hit:2 http://snapshot.notset.fr/archive/debian/20210913T203753Z unstable InRelease Ign:3 http://snapshot.notset.fr/archive/debian/20210922T025414Z bookworm/main Sources Ign:4 http://snapshot.notset.fr/archive/debian/20210922T025414Z bookworm/main amd64 Packages Ign:3 http://snapshot.notset.fr/archive/debian/20210922T025414Z bookworm/main Sources Ign:4 http://snapshot.notset.fr/archive/debian/20210922T025414Z bookworm/main amd64 Packages Ign:3 http://snapshot.notset.fr/archive/debian/20210922T025414Z bookworm/main Sources Ign:4 http://snapshot.notset.fr/archive/debian/20210922T025414Z bookworm/main amd64 Packages Get:3 http://snapshot.notset.fr/archive/debian/20210922T025414Z bookworm/main Sources [11.6 MB] Get:4 http://snapshot.notset.fr/archive/debian/20210922T025414Z bookworm/main amd64 Packages [11.2 MB] Fetched 23.0 MB in 19s (1183 kB/s) Reading package lists... I: installing remaining packages inside the chroot... I: running --customize-hook in shell: sh -c 'chroot "$1" useradd --no-create-home -d /nonexistent -p "" builduser -s /bin/bash' exec /tmp/mmdebstrap.gKRnWng3uV I: running --customize-hook in shell: sh -c 'chroot "$1" env sh -c "apt-get source --only-source -d ruby-nio4r=2.5.8-1 && mkdir -p /build/ruby-nio4r-pUhdxm && dpkg-source --no-check -x /*.dsc /build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8 && chown -R builduser:builduser /build/ruby-nio4r-pUhdxm"' exec /tmp/mmdebstrap.gKRnWng3uV Reading package lists... NOTICE: 'ruby-nio4r' packaging is maintained in the 'Git' version control system at: https://salsa.debian.org/ruby-team/ruby-nio4r.git Please use: git clone https://salsa.debian.org/ruby-team/ruby-nio4r.git to retrieve the latest (possibly unreleased) updates to the package. Need to get 126 kB of source archives. Get:1 http://snapshot.notset.fr/archive/debian/20210922T025414Z bookworm/main ruby-nio4r 2.5.8-1 (dsc) [2074 B] Get:2 http://snapshot.notset.fr/archive/debian/20210922T025414Z bookworm/main ruby-nio4r 2.5.8-1 (tar) [119 kB] Get:3 http://snapshot.notset.fr/archive/debian/20210922T025414Z bookworm/main ruby-nio4r 2.5.8-1 (diff) [4636 B] Fetched 126 kB in 0s (696 kB/s) Download complete and in download only mode W: Download is performed unsandboxed as root as file 'ruby-nio4r_2.5.8-1.dsc' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied) dpkg-source: info: extracting ruby-nio4r in /build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8 dpkg-source: info: unpacking ruby-nio4r_2.5.8.orig.tar.gz dpkg-source: info: unpacking ruby-nio4r_2.5.8-1.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying 01_disable_bundler_and_rubygems.diff dpkg-source: info: applying 03_skip_selectable_example_38.patch dpkg-source: info: applying 02_larger_key_for_tests.patch I: running --customize-hook in shell: sh -c 'chroot "$1" env --unset=TMPDIR runuser builduser -c "cd /build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8 && env DEB_BUILD_OPTIONS="parallel=4" LC_ALL="C.UTF-8" LC_COLLATE="C.UTF-8" SOURCE_DATE_EPOCH="1631563662" dpkg-buildpackage -uc -a amd64 --build=any"' exec /tmp/mmdebstrap.gKRnWng3uV dpkg-buildpackage: info: source package ruby-nio4r dpkg-buildpackage: info: source version 2.5.8-1 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Pirate Praveen dpkg-source --before-build . dpkg-buildpackage: info: host architecture amd64 fakeroot debian/rules clean dh clean --buildsystem=ruby --with ruby debian/rules override_dh_auto_clean make[1]: Entering directory '/build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8' dh_auto_clean dh_ruby --clean dh_ruby --clean rm -rf coverage make[1]: Leaving directory '/build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8' dh_autoreconf_clean -O--buildsystem=ruby dh_clean -O--buildsystem=ruby debian/rules build-arch dh build-arch --buildsystem=ruby --with ruby dh_update_autotools_config -a -O--buildsystem=ruby dh_autoreconf -a -O--buildsystem=ruby dh_auto_configure -a -O--buildsystem=ruby dh_ruby --configure dh_auto_build -a -O--buildsystem=ruby dh_ruby --build dh_ruby --build dh_auto_test -a -O--buildsystem=ruby dh_ruby --test create-stamp debian/debhelper-build-stamp fakeroot debian/rules binary-arch dh binary-arch --buildsystem=ruby --with ruby dh_testroot -a -O--buildsystem=ruby dh_prep -a -O--buildsystem=ruby dh_auto_install --destdir=debian/ruby-nio4r/ -a -O--buildsystem=ruby dh_ruby --install /build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8/debian/ruby-nio4r dh_ruby --install ┌──────────────────────────────────────────────────────────────────────────────┐ │ Install files │ └──────────────────────────────────────────────────────────────────────────────┘ install -d /build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8/debian/ruby-nio4r/usr/lib/ruby/vendor_ruby install -D -m644 /build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8/lib/nio.rb /build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8/debian/ruby-nio4r/usr/lib/ruby/vendor_ruby/nio.rb install -D -m644 /build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8/lib/nio/version.rb /build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8/debian/ruby-nio4r/usr/lib/ruby/vendor_ruby/nio/version.rb install -D -m644 /build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8/lib/nio/monitor.rb /build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8/debian/ruby-nio4r/usr/lib/ruby/vendor_ruby/nio/monitor.rb install -D -m644 /build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8/lib/nio/selector.rb /build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8/debian/ruby-nio4r/usr/lib/ruby/vendor_ruby/nio/selector.rb install -D -m644 /build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8/lib/nio/bytebuffer.rb /build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8/debian/ruby-nio4r/usr/lib/ruby/vendor_ruby/nio/bytebuffer.rb ┌──────────────────────────────────────────────────────────────────────────────┐ │ Build native extensions for ruby2.7 │ └──────────────────────────────────────────────────────────────────────────────┘ /usr/bin/ruby2.7 /usr/lib/ruby/vendor_ruby/gem2deb/extension_builder.rb /build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8 debian/ruby-nio4r current directory: /build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8/ext/nio4r ["/usr/bin/ruby2.7", "-I", "/usr/lib/ruby/vendor_ruby", "-r", "./siteconf20211031-2517482-1xsdghq.rb", "extconf.rb"] checking for unistd.h... yes checking for linux/aio_abi.h... yes checking for linux/io_uring.h... yes checking for sys/select.h... yes checking for port_event_t in poll.h... no checking for sys/epoll.h... yes checking for sys/event.h... no checking for port_event_t in port.h... no checking for sys/resource.h... yes creating Makefile current directory: /build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8/ext/nio4r ["make", "V=1", "CC=gcc -fdebug-prefix-map=/build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8=.", "CXX=g++ -fdebug-prefix-map=/build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8=.", "DESTDIR=", "clean"] make[1]: Entering directory '/build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8/ext/nio4r' rm -f rm -f nio4r_ext.so *.o *.bak mkmf.log .*.time make[1]: Leaving directory '/build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8/ext/nio4r' current directory: /build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8/ext/nio4r ["make", "V=1", "CC=gcc -fdebug-prefix-map=/build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8=.", "CXX=g++ -fdebug-prefix-map=/build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8=.", "DESTDIR="] make[1]: Entering directory '/build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8/ext/nio4r' gcc -fdebug-prefix-map=/build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8=. -I. -I/usr/include/x86_64-linux-gnu/ruby-2.7.0 -I/usr/include/ruby-2.7.0/ruby/backward -I/usr/include/ruby-2.7.0 -I. -DHAVE_UNISTD_H -DHAVE_LINUX_AIO_ABI_H -DEV_USE_LINUXAIO -DHAVE_LINUX_IO_URING_H -DEV_USE_IOURING -DHAVE_SYS_SELECT_H -DEV_USE_SELECT -DHAVE_SYS_EPOLL_H -DEV_USE_EPOLL -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_RESOURCE_H -DEV_STANDALONE -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -g -O2 -ffile-prefix-map=/build/ruby2.7-Zp7I7j/ruby2.7-2.7.4=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -o bytebuffer.o -c bytebuffer.c gcc -fdebug-prefix-map=/build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8=. -I. -I/usr/include/x86_64-linux-gnu/ruby-2.7.0 -I/usr/include/ruby-2.7.0/ruby/backward -I/usr/include/ruby-2.7.0 -I. -DHAVE_UNISTD_H -DHAVE_LINUX_AIO_ABI_H -DEV_USE_LINUXAIO -DHAVE_LINUX_IO_URING_H -DEV_USE_IOURING -DHAVE_SYS_SELECT_H -DEV_USE_SELECT -DHAVE_SYS_EPOLL_H -DEV_USE_EPOLL -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_RESOURCE_H -DEV_STANDALONE -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -g -O2 -ffile-prefix-map=/build/ruby2.7-Zp7I7j/ruby2.7-2.7.4=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -o monitor.o -c monitor.c gcc -fdebug-prefix-map=/build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8=. -I. -I/usr/include/x86_64-linux-gnu/ruby-2.7.0 -I/usr/include/ruby-2.7.0/ruby/backward -I/usr/include/ruby-2.7.0 -I. -DHAVE_UNISTD_H -DHAVE_LINUX_AIO_ABI_H -DEV_USE_LINUXAIO -DHAVE_LINUX_IO_URING_H -DEV_USE_IOURING -DHAVE_SYS_SELECT_H -DEV_USE_SELECT -DHAVE_SYS_EPOLL_H -DEV_USE_EPOLL -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_RESOURCE_H -DEV_STANDALONE -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -g -O2 -ffile-prefix-map=/build/ruby2.7-Zp7I7j/ruby2.7-2.7.4=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -o nio4r_ext.o -c nio4r_ext.c In file included from nio4r_ext.c:6: ../libev/ev.c:2136:31: warning: ‘ev_default_loop_ptr’ initialized and declared ‘extern’ 2136 | EV_API_DECL struct ev_loop *ev_default_loop_ptr = 0; /* needs to be initialised to make it a definition despite extern */ | ^~~~~~~~~~~~~~~~~~~ ../libev/ev.c: In function ‘evpipe_write’: ../libev/ev.c:2798:11: warning: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 2798 | write (evpipe [1], &counter, sizeof (uint64_t)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.c:2810:11: warning: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 2810 | write (evpipe [1], &(evpipe [1]), 1); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.c: In function ‘pipecb’: ../libev/ev.c:2831:11: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 2831 | read (evpipe [1], &counter, sizeof (uint64_t)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../libev/ev.c:2845:11: warning: ignoring return value of ‘read’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 2845 | read (evpipe [0], &dummy, sizeof (dummy)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gcc -fdebug-prefix-map=/build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8=. -I. -I/usr/include/x86_64-linux-gnu/ruby-2.7.0 -I/usr/include/ruby-2.7.0/ruby/backward -I/usr/include/ruby-2.7.0 -I. -DHAVE_UNISTD_H -DHAVE_LINUX_AIO_ABI_H -DEV_USE_LINUXAIO -DHAVE_LINUX_IO_URING_H -DEV_USE_IOURING -DHAVE_SYS_SELECT_H -DEV_USE_SELECT -DHAVE_SYS_EPOLL_H -DEV_USE_EPOLL -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_RESOURCE_H -DEV_STANDALONE -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -g -O2 -ffile-prefix-map=/build/ruby2.7-Zp7I7j/ruby2.7-2.7.4=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -o selector.o -c selector.c selector.c: In function ‘NIO_Selector_synchronize’: selector.c:301:26: warning: passing argument 1 of ‘rb_ensure’ from incompatible pointer type [-Wincompatible-pointer-types] 301 | return rb_ensure(func, (VALUE)args, NIO_Selector_unlock, self); | ^~~~ | | | VALUE (*)(VALUE *) {aka long unsigned int (*)(long unsigned int *)} In file included from /usr/include/ruby-2.7.0/ruby.h:33, from nio4r.h:10, from selector.c:6: /usr/include/ruby-2.7.0/ruby/ruby.h:1990:17: note: expected ‘VALUE (*)(VALUE)’ {aka ‘long unsigned int (*)(long unsigned int)’} but argument is of type ‘VALUE (*)(VALUE *)’ {aka ‘long unsigned int (*)(long unsigned int *)’} 1990 | VALUE rb_ensure(VALUE(*)(VALUE),VALUE,VALUE(*)(VALUE),VALUE); | ^~~~~~~~~~~~~~~ selector.c: In function ‘NIO_Selector_wakeup’: selector.c:499:5: warning: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 499 | write(selector->wakeup_writer, "\0", 1); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ rm -f nio4r_ext.so gcc -fdebug-prefix-map=/build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8=. -shared -o nio4r_ext.so bytebuffer.o monitor.o nio4r_ext.o selector.o -L. -L/usr/lib/x86_64-linux-gnu -L. -Wl,-z,relro -Wl,-z,now -fstack-protector-strong -rdynamic -Wl,-export-dynamic -Wl,-z,relro -Wl,-z,now -lruby-2.7 -lm -lc make[1]: Leaving directory '/build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8/ext/nio4r' current directory: /build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8/ext/nio4r ["make", "V=1", "CC=gcc -fdebug-prefix-map=/build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8=.", "CXX=g++ -fdebug-prefix-map=/build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8=.", "DESTDIR=", "install"] make[1]: Entering directory '/build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8/ext/nio4r' /bin/mkdir -p . ./.gem.20211031-2517482-1g8jegf exit > .sitearchdir.time /usr/bin/install -c -m 0755 nio4r_ext.so ./.gem.20211031-2517482-1g8jegf make[1]: Leaving directory '/build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8/ext/nio4r' current directory: /build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8/ext/nio4r /usr/bin/ruby2.7 -I /usr/lib/ruby/vendor_ruby -r ./siteconf20211031-2517482-1xsdghq.rb extconf.rb current directory: /build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8/ext/nio4r make V\=1 CC\=gcc\ -fdebug-prefix-map\=/build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8\=. CXX\=g++\ -fdebug-prefix-map\=/build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8\=. DESTDIR\= clean current directory: /build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8/ext/nio4r make V\=1 CC\=gcc\ -fdebug-prefix-map\=/build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8\=. CXX\=g++\ -fdebug-prefix-map\=/build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8\=. DESTDIR\= current directory: /build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8/ext/nio4r make V\=1 CC\=gcc\ -fdebug-prefix-map\=/build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8\=. CXX\=g++\ -fdebug-prefix-map\=/build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8\=. DESTDIR\= install rm -f /build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8/debian/ruby-nio4r/usr/lib/x86_64-linux-gnu/ruby/vendor_ruby/2.7.0/mkmf.log ┌──────────────────────────────────────────────────────────────────────────────┐ │ Install Rubygems integration metadata │ └──────────────────────────────────────────────────────────────────────────────┘ generating gemspec at /build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8/debian/ruby-nio4r/usr/share/rubygems-integration/2.7.0/specifications/nio4r-2.5.8.gemspec /usr/bin/ruby2.7 /usr/bin/gem2deb-test-runner ┌──────────────────────────────────────────────────────────────────────────────┐ │ Checking Rubygems dependency resolution on ruby2.7 │ └──────────────────────────────────────────────────────────────────────────────┘ GEM_PATH=/build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8/debian/ruby-nio4r/usr/share/rubygems-integration/2.7.0:/build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8/debian/.debhelper/generated/_source/home/.local/share/gem/ruby/2.7.0:/var/lib/gems/2.7.0:/usr/local/lib/ruby/gems/2.7.0:/usr/lib/ruby/gems/2.7.0:/usr/lib/x86_64-linux-gnu/ruby/gems/2.7.0:/usr/share/rubygems-integration/2.7.0:/usr/share/rubygems-integration/all:/usr/lib/x86_64-linux-gnu/rubygems-integration/2.7.0 ruby2.7 -e gem\ \"nio4r\" ┌──────────────────────────────────────────────────────────────────────────────┐ │ Run tests for ruby2.7 from debian/ruby-tests.rake │ └──────────────────────────────────────────────────────────────────────────────┘ RUBYLIB=/build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8/debian/ruby-nio4r/usr/lib/x86_64-linux-gnu/ruby/vendor_ruby/2.7.0:/build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8/debian/ruby-nio4r/usr/lib/ruby/vendor_ruby:. GEM_PATH=/build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8/debian/ruby-nio4r/usr/share/rubygems-integration/2.7.0:/build/ruby-nio4r-pUhdxm/ruby-nio4r-2.5.8/debian/.debhelper/generated/_source/home/.local/share/gem/ruby/2.7.0:/var/lib/gems/2.7.0:/usr/local/lib/ruby/gems/2.7.0:/usr/lib/ruby/gems/2.7.0:/usr/lib/x86_64-linux-gnu/ruby/gems/2.7.0:/usr/share/rubygems-integration/2.7.0:/usr/share/rubygems-integration/all:/usr/lib/x86_64-linux-gnu/rubygems-integration/2.7.0 ruby2.7 -S rake -f debian/ruby-tests.rake WARNING: rake-compiler found compiled files in 'ext/nio4r' directory. Please remove them. /usr/bin/ruby2.7 -I/usr/share/rubygems-integration/all/gems/rspec-support-3.9.3/lib:/usr/share/rubygems-integration/all/gems/rspec-core-3.9.2/lib /usr/share/rubygems-integration/all/gems/rspec-core-3.9.2/exe/rspec --pattern ./spec/\*\*/\*_spec.rb [Coveralls] Set up the SimpleCov formatter. [Coveralls] Using SimpleCov's default settings. Randomized with seed 41041 IO.pipe behaves like an NIO selectable selects writable objects does not select unreadable objects selects readable objects does not select unwritable objects behaves like an NIO selectable stream selects readable when the other end closes (PENDING: Temporarily skipped with xit) NIO acceptables TCPServer behaves like an NIO acceptable selects for read readiness NIO::Monitor #remove_interest removes an interest from the set raises ArgumentError if given a bogus option can clear the last interest acts idempotently #value= stores arbitrary values #selector knows its selector #interests knows its interests #add_interest raises ArgumentError if given a bogus option sets a new interest if it isn't currently registered acts idempotently #interests= changes the interest set raises EOFError if interests are changed after the monitor is closed can set interests to nil #close closes even if the selector has been shutdown closes #io knows its IO object #readiness knows what operations IO objects are ready for TCPSocket connect selects writable when connected behaves like an NIO bidirectional stream keeps readiness after the selectable has been closed selects readable and writable behaves like an NIO selectable does not select unreadable objects selects readable objects selects writable objects does not select unwritable objects behaves like an NIO selectable stream selects readable when the other end closes (PENDING: Temporarily skipped with xit) OpenSSL::SSL::SSLSocket using TLS 1.3 behaves like an NIO selectable stream selects readable when the other end closes (PENDING: Temporarily skipped with xit) behaves like an NIO selectable does not select unreadable objects selects readable objects selects writable objects does not select unwritable objects using TLS 1.2 behaves like an NIO selectable stream selects readable when the other end closes (PENDING: Temporarily skipped with xit) behaves like an NIO selectable selects readable objects does not select unreadable objects selects writable objects does not select unwritable objects UDPSocket behaves like an NIO selectable selects writable objects does not select unwritable objects (PENDING: come up with a UDPSocket that's blocked on writing) does not select unreadable objects selects readable objects NIO::Selector knows which IO objects are registered reports if it is empty allows reregistration of the same IO object across select calls allows deregistering closed IO objects deregisters IO objects closes select raises IOError if asked to select on a closed selector selects IO objects does not block on super small precision intervals selects closed IO objects iterates across selected objects with a block register registers IO objects raises TypeError if asked to register non-IO objects raises when asked to register after closing backend knows its backend Current backend: epoll wakeup raises IOError if asked to wake up a closed selector wakes up if signaled to from another thread .backends knows all supported backends timeouts waits for a timeout when selecting with reader waits for timeout when selecting from empty selector raises ArgumentError if given a negative timeout #initialize raises TypeError if given a non-Symbol parameter automatically selects a backend if none or nil is specified raises ArgumentError if given an invalid backend allows explicitly specifying a backend Supported backends: [:epoll, :poll, :select, :linuxaio, :io_uring] NIO::ByteBuffer #capacity has the requested capacity #position= raises ArgumentError if the specified position exceeds the limit sets the buffer's position to a valid value raises ArgumentError if the specified position is less than zero #position defaults to zero #[] raises ArgumentError if the index is less than zero obtains bytes at a given index without altering position raises ArgumentError if the index exceeds the limit #clear clears the buffer #reset raises NIO::ByteBuffer::MarkUnsetError unless mark has been set returns to a previously marked position #<< raises NIO::ByteBuffer::OverflowError if the buffer is full raises TypeError if given a non-String type adds strings to the buffer #limit= raises ArgumentError if specified limit exceeds capacity clears the mark if the new limit is before the current mark raises ArgumentError if specified limit is less than zero sets the buffer's limit to a valid value preserves position and mark if they're less than the new limit sets position to the new limit if the previous position is beyond the limit #full? returns false when there is space remaining in the buffer returns true when the buffer is full #compact copies data from the current position to the beginning of the buffer #inspect inspects the buffer offsets #initialize raises TypeError if given a bogus argument #flip flips the bytebuffer sets remaining to the previous position sets limit to the previous position #remaining calculates the number of bytes remaining #limit defaults to the buffer's capacity #rewind rewinds the buffer leaving the limit intact #mark returns self #each iterates over data in the buffer #get advances position as data is read reads all remaining data if no length is given reads zeroes from a newly initialized buffer raises NIO::ByteBuffer::UnderflowError if there is not enough data in the buffer I/O #write_to raises NIO::ByteBuffer::UnderflowError if the buffer is out of data writes data from the buffer #read_from returns 0 if no data is available raises NIO::ByteBuffer::OverflowError if the buffer is already full reads data into the buffer Pending: (Failures listed here are expected and do not affect your suite's status) 1) IO.pipe behaves like an NIO selectable stream selects readable when the other end closes # Temporarily skipped with xit # ./spec/support/selectable_examples.rb:48 2) TCPSocket behaves like an NIO selectable stream selects readable when the other end closes # Temporarily skipped with xit # ./spec/support/selectable_examples.rb:48 3) OpenSSL::SSL::SSLSocket using TLS 1.3 behaves like an NIO selectable stream selects readable when the other end closes # Temporarily skipped with xit # ./spec/support/selectable_examples.rb:48 4) OpenSSL::SSL::SSLSocket using TLS 1.2 behaves like an NIO selectable stream selects readable when the other end closes # Temporarily skipped with xit # ./spec/support/selectable_examples.rb:48 5) UDPSocket behaves like an NIO selectable does not select unwritable objects # come up with a UDPSocket that's blocked on writing Failure/Error: selector.register(unwritable_subject, :w) TypeError: no implicit conversion of false into IO Shared Example Group: "an NIO selectable" called from ./spec/nio/selectables/udp_socket_spec.rb:47 # ./spec/support/selectable_examples.rb:36:in `initialize' # ./spec/support/selectable_examples.rb:36:in `register' # ./spec/support/selectable_examples.rb:36:in `block (2 levels) in ' Finished in 10.91 seconds (files took 0.52765 seconds to load) 112 examples, 0 failures, 5 pending Randomized with seed 41041 [Coveralls] Outside the CI environment, not sending data. /usr/bin/ruby2.7 -I/usr/share/rubygems-integration/all/gems/rspec-support-3.9.3/lib:/usr/share/rubygems-integration/all/gems/rspec-core-3.9.2/lib /usr/share/rubygems-integration/all/gems/rspec-core-3.9.2/exe/rspec --pattern spec/\*\*\{,/\*/\*\*\}/\*_spec.rb [Coveralls] Set up the SimpleCov formatter. [Coveralls] Using SimpleCov's default settings. Randomized with seed 14589 NIO::ByteBuffer #inspect inspects the buffer offsets #limit defaults to the buffer's capacity #reset returns to a previously marked position raises NIO::ByteBuffer::MarkUnsetError unless mark has been set #<< raises NIO::ByteBuffer::OverflowError if the buffer is full adds strings to the buffer raises TypeError if given a non-String type #compact copies data from the current position to the beginning of the buffer #flip flips the bytebuffer sets remaining to the previous position sets limit to the previous position #[] raises ArgumentError if the index is less than zero obtains bytes at a given index without altering position raises ArgumentError if the index exceeds the limit #mark returns self #limit= preserves position and mark if they're less than the new limit clears the mark if the new limit is before the current mark raises ArgumentError if specified limit is less than zero sets position to the new limit if the previous position is beyond the limit raises ArgumentError if specified limit exceeds capacity sets the buffer's limit to a valid value #full? returns false when there is space remaining in the buffer returns true when the buffer is full #position= raises ArgumentError if the specified position is less than zero raises ArgumentError if the specified position exceeds the limit sets the buffer's position to a valid value #position defaults to zero #remaining calculates the number of bytes remaining #rewind rewinds the buffer leaving the limit intact #each iterates over data in the buffer #get advances position as data is read reads zeroes from a newly initialized buffer raises NIO::ByteBuffer::UnderflowError if there is not enough data in the buffer reads all remaining data if no length is given #initialize raises TypeError if given a bogus argument I/O #write_to raises NIO::ByteBuffer::UnderflowError if the buffer is out of data writes data from the buffer #read_from reads data into the buffer raises NIO::ByteBuffer::OverflowError if the buffer is already full returns 0 if no data is available #clear clears the buffer #capacity has the requested capacity UDPSocket behaves like an NIO selectable selects readable objects selects writable objects does not select unwritable objects (PENDING: come up with a UDPSocket that's blocked on writing) does not select unreadable objects NIO::Monitor #readiness knows what operations IO objects are ready for #add_interest acts idempotently raises ArgumentError if given a bogus option sets a new interest if it isn't currently registered #close closes even if the selector has been shutdown closes #io knows its IO object #interests knows its interests #remove_interest raises ArgumentError if given a bogus option can clear the last interest acts idempotently removes an interest from the set #selector knows its selector #value= stores arbitrary values #interests= can set interests to nil changes the interest set raises EOFError if interests are changed after the monitor is closed TCPSocket connect selects writable when connected behaves like an NIO selectable stream selects readable when the other end closes (PENDING: Temporarily skipped with xit) behaves like an NIO bidirectional stream selects readable and writable keeps readiness after the selectable has been closed behaves like an NIO selectable selects writable objects does not select unwritable objects selects readable objects does not select unreadable objects NIO::Selector reports if it is empty allows deregistering closed IO objects knows which IO objects are registered deregisters IO objects allows reregistration of the same IO object across select calls closes wakeup wakes up if signaled to from another thread raises IOError if asked to wake up a closed selector .backends knows all supported backends select iterates across selected objects with a block raises IOError if asked to select on a closed selector selects closed IO objects selects IO objects does not block on super small precision intervals #initialize allows explicitly specifying a backend Supported backends: [:epoll, :poll, :select, :linuxaio, :io_uring] raises ArgumentError if given an invalid backend automatically selects a backend if none or nil is specified raises TypeError if given a non-Symbol parameter backend knows its backend Current backend: epoll timeouts raises ArgumentError if given a negative timeout waits for timeout when selecting from empty selector waits for a timeout when selecting with reader register raises TypeError if asked to register non-IO objects raises when asked to register after closing registers IO objects OpenSSL::SSL::SSLSocket using TLS 1.3 behaves like an NIO selectable does not select unreadable objects does not select unwritable objects selects writable objects selects readable objects behaves like an NIO selectable stream selects readable when the other end closes (PENDING: Temporarily skipped with xit) using TLS 1.2 behaves like an NIO selectable does not select unreadable objects selects readable objects does not select unwritable objects selects writable objects behaves like an NIO selectable stream selects readable when the other end closes (PENDING: Temporarily skipped with xit) NIO acceptables TCPServer behaves like an NIO acceptable selects for read readiness IO.pipe behaves like an NIO selectable stream selects readable when the other end closes (PENDING: Temporarily skipped with xit) behaves like an NIO selectable selects readable objects does not select unwritable objects does not select unreadable objects selects writable objects Pending: (Failures listed here are expected and do not affect your suite's status) 1) UDPSocket behaves like an NIO selectable does not select unwritable objects # come up with a UDPSocket that's blocked on writing Failure/Error: selector.register(unwritable_subject, :w) TypeError: no implicit conversion of false into IO Shared Example Group: "an NIO selectable" called from ./spec/nio/selectables/udp_socket_spec.rb:47 # ./spec/support/selectable_examples.rb:36:in `initialize' # ./spec/support/selectable_examples.rb:36:in `register' # ./spec/support/selectable_examples.rb:36:in `block (2 levels) in ' 2) TCPSocket behaves like an NIO selectable stream selects readable when the other end closes # Temporarily skipped with xit # ./spec/support/selectable_examples.rb:48 3) OpenSSL::SSL::SSLSocket using TLS 1.3 behaves like an NIO selectable stream selects readable when the other end closes # Temporarily skipped with xit # ./spec/support/selectable_examples.rb:48 4) OpenSSL::SSL::SSLSocket using TLS 1.2 behaves like an NIO selectable stream selects readable when the other end closes # Temporarily skipped with xit # ./spec/support/selectable_examples.rb:48 5) IO.pipe behaves like an NIO selectable stream selects readable when the other end closes # Temporarily skipped with xit # ./spec/support/selectable_examples.rb:48 Finished in 8.37 seconds (files took 0.80854 seconds to load) 112 examples, 0 failures, 5 pending Randomized with seed 14589 [Coveralls] Outside the CI environment, not sending data. ┌──────────────────────────────────────────────────────────────────────────────┐ │ dh_ruby --install finished │ └──────────────────────────────────────────────────────────────────────────────┘ dh_installdocs -a -O--buildsystem=ruby dh_ruby_fixdocs -a -O--buildsystem=ruby dh_installchangelogs -a -O--buildsystem=ruby dh_installexamples -a -O--buildsystem=ruby dh_installsystemduser -a -O--buildsystem=ruby dh_perl -a -O--buildsystem=ruby dh_link -a -O--buildsystem=ruby dh_strip_nondeterminism -a -O--buildsystem=ruby dh_compress -X.rb -a -O--buildsystem=ruby dh_fixperms -a -O--buildsystem=ruby dh_missing -a -O--buildsystem=ruby dh_dwz -a -a -O--buildsystem=ruby dh_strip -a -a -O--buildsystem=ruby dh_makeshlibs -a -a -O--buildsystem=ruby dh_shlibdeps -a -a -O--buildsystem=ruby dh_ruby_fixdepends -a -O--buildsystem=ruby dh_installdeb -a -O--buildsystem=ruby dh_gencontrol -a -O--buildsystem=ruby dh_md5sums -a -O--buildsystem=ruby dh_builddeb -a -O--buildsystem=ruby dpkg-deb: building package 'ruby-nio4r' in '../ruby-nio4r_2.5.8-1_amd64.deb'. dpkg-deb: building package 'ruby-nio4r-dbgsym' in '../ruby-nio4r-dbgsym_2.5.8-1_amd64.deb'. dpkg-genbuildinfo --build=any dpkg-genchanges --build=any >../ruby-nio4r_2.5.8-1_amd64.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) I: running special hook: sync-out /build/ruby-nio4r-pUhdxm /tmp/ruby-nio4r-2.5.8-100opemut I: cleaning package lists and apt cache... I: creating tarball... I: done I: removing tempdir /tmp/mmdebstrap.gKRnWng3uV... I: success in 495.1160 seconds md5: ruby-nio4r-dbgsym_2.5.8-1_amd64.deb: OK md5: ruby-nio4r_2.5.8-1_amd64.deb: OK sha1: ruby-nio4r-dbgsym_2.5.8-1_amd64.deb: OK sha1: ruby-nio4r_2.5.8-1_amd64.deb: OK sha256: ruby-nio4r-dbgsym_2.5.8-1_amd64.deb: OK sha256: ruby-nio4r_2.5.8-1_amd64.deb: OK Checksums: OK