Thu May 9 08:57:43 UTC 2024 I: starting to build python-pycdlib/trixie/armhf on jenkins on '2024-05-09 08:57' Thu May 9 08:57:43 UTC 2024 I: The jenkins build log is/was available at https://jenkins.debian.net/userContent/reproducible/debian/build_service/armhf_35/2492/console.log Thu May 9 08:57:43 UTC 2024 I: Downloading source for trixie/python-pycdlib=1.12.0+ds1-6 --2024-05-09 08:57:43-- http://deb.debian.org/debian/pool/main/p/python-pycdlib/python-pycdlib_1.12.0%2bds1-6.dsc Connecting to 46.16.76.132:3128... connected. Proxy request sent, awaiting response... 200 OK Length: 2151 (2.1K) [text/prs.lines.tag] Saving to: ‘python-pycdlib_1.12.0+ds1-6.dsc’ 0K .. 100% 297M=0s 2024-05-09 08:57:43 (297 MB/s) - ‘python-pycdlib_1.12.0+ds1-6.dsc’ saved [2151/2151] Thu May 9 08:57:43 UTC 2024 I: python-pycdlib_1.12.0+ds1-6.dsc -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 Format: 3.0 (quilt) Source: python-pycdlib Binary: python3-pycdlib Architecture: all Version: 1.12.0+ds1-6 Maintainer: Debian OpenStack Uploaders: Thomas Goirand , Homepage: http://github.com/clalancette/pycdlib Standards-Version: 4.5.1 Vcs-Browser: https://salsa.debian.org/openstack-team/third-party/python-pycdlib Vcs-Git: https://salsa.debian.org/openstack-team/third-party/python-pycdlib.git Build-Depends: debhelper-compat (= 11), dh-python, openstack-pkg-tools, python3-all, python3-setuptools Build-Depends-Indep: genisoimage, python3-pytest Package-List: python3-pycdlib deb python optional arch=all Checksums-Sha1: f7a7d5e988ebe703cbb0ac296e7a224254ba68d1 247684 python-pycdlib_1.12.0+ds1.orig.tar.xz 5b06f5b385aa731ec787adddc93b581ff4fe0100 18756 python-pycdlib_1.12.0+ds1-6.debian.tar.xz Checksums-Sha256: c6ff577c5c01595ba1753a6bb6d825f93dac5291798be4bd43d82327dc5eb9d4 247684 python-pycdlib_1.12.0+ds1.orig.tar.xz 37a5d34bd1b02d9d314770294bc7ecf0beb5fc55209c1727bb8dd89749a9969b 18756 python-pycdlib_1.12.0+ds1-6.debian.tar.xz Files: 6a36c6b3e80cae945d658843fe542eac 247684 python-pycdlib_1.12.0+ds1.orig.tar.xz 537700b6a8916ae7a2bdd8972b6ce9d3 18756 python-pycdlib_1.12.0+ds1-6.debian.tar.xz -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEoLGp81CJVhMOekJc1BatFaxrQ/4FAmXiUDMACgkQ1BatFaxr Q/4haw//YCnGRctTPNoe4f+0Ql6q5UnkYihc1UsTHpVRnt/sYCImE5OCFmumkocE Edo7nAF+nmBKA7pLo7nkkcZa9Zi+csmytuVeCIfDuXLrTiaJe/locryEJrGJJ1lf Hoo71IF3jobhL6ocquFNQjaNpWKV8i1GG8bfLV2QvOCpeChp8nro17dH6drAvk1P dMkYG8y9Z0KiFQzI+JCVt+B2b+XpiT+4cmLem3ni64Ci9j348rjwXroULEXjT5Ms Cts7bzCFhspjgogZ809rbGHV5ox0jmagEPzlk1Sy7ub1eK07xSqj7/LvUilUGPpY wK4x1w7vI1kS4ZZJh9TJ+0sbwxyNySobmqbcZaEWdBkuusdDmS9OZ0L0WMUqSgAR yN8dUByDXwZC1m+WUxnHHDMbdTbcy5T+E6uGG7Vwx8UknQypzwafy8JKtLvfj0U6 KRuxa8NCJ2FIdSeuDGvLZHCoLpGziSuqvFsW4plg97nvZ+66kKwKNHIsruBx0dfU hlDlsM3VwF+vPMNTOMmOQsRhz+BLBNGP06FsJeh/+PkeAP54GE3nhRaGh4Bca++6 hg54x+t32yz3SwYaByksV/7F4Sv/beKOr0CNOZNnzuUaDtC0GXTcXVRkQgLO93bx EmVowIG+7VXDG4F7GIYQVUlV3k/lDhjKO+P1y8/krj/wvcL9c1M= =S1q/ -----END PGP SIGNATURE----- Thu May 9 08:57:43 UTC 2024 I: Checking whether the package is not for us Thu May 9 08:57:43 UTC 2024 I: Starting 1st build on remote node cbxi4pro0-armhf-rb.debian.net. Thu May 9 08:57:43 UTC 2024 I: Preparing to do remote build '1' on cbxi4pro0-armhf-rb.debian.net. Thu May 9 09:05:42 UTC 2024 I: Deleting $TMPDIR on cbxi4pro0-armhf-rb.debian.net. I: pbuilder: network access will be disabled during build I: Current time: Wed May 8 20:57:53 -12 2024 I: pbuilder-time-stamp: 1715245073 I: Building the build Environment I: extracting base tarball [/var/cache/pbuilder/trixie-reproducible-base.tgz] I: copying local configuration W: --override-config is not set; not updating apt.conf Read the manpage for details. I: mounting /proc filesystem I: mounting /sys filesystem I: creating /{dev,run}/shm I: mounting /dev/pts filesystem I: redirecting /dev/ptmx to /dev/pts/ptmx I: policy-rc.d already exists I: Copying source file I: copying [python-pycdlib_1.12.0+ds1-6.dsc] I: copying [./python-pycdlib_1.12.0+ds1.orig.tar.xz] I: copying [./python-pycdlib_1.12.0+ds1-6.debian.tar.xz] I: Extracting source gpgv: Signature made Fri Mar 1 22:01:23 2024 gpgv: using RSA key A0B1A9F3508956130E7A425CD416AD15AC6B43FE gpgv: Can't check signature: No public key dpkg-source: warning: cannot verify inline signature for ./python-pycdlib_1.12.0+ds1-6.dsc: no acceptable signature found dpkg-source: info: extracting python-pycdlib in python-pycdlib-1.12.0+ds1 dpkg-source: info: unpacking python-pycdlib_1.12.0+ds1.orig.tar.xz dpkg-source: info: unpacking python-pycdlib_1.12.0+ds1-6.debian.tar.xz dpkg-source: info: using patch list from debian/patches/series dpkg-source: info: applying remove-test_parse_rr_deeper_dir.patch dpkg-source: info: applying fix-getargspec-removed-from-py3.11.patch dpkg-source: info: applying Use-tmp_path-instead-of-tmpdir.patch I: Not using root during the build. I: Installing the build-deps I: user script /srv/workspace/pbuilder/30103/tmp/hooks/D02_print_environment starting I: set BUILDDIR='/build/reproducible-path' BUILDUSERGECOS='first user,first room,first work-phone,first home-phone,first other' BUILDUSERNAME='pbuilder1' BUILD_ARCH='armhf' DEBIAN_FRONTEND='noninteractive' DEB_BUILD_OPTIONS='buildinfo=+all reproducible=+all parallel=3 ' DISTRIBUTION='trixie' HOME='/root' HOST_ARCH='armhf' IFS=' ' INVOCATION_ID='6fcee23a1b544377b6e4120249f996d1' LANG='C' LANGUAGE='en_US:en' LC_ALL='C' MAIL='/var/mail/root' OPTIND='1' PATH='/usr/sbin:/usr/bin:/sbin:/bin:/usr/games' PBCURRENTCOMMANDLINEOPERATION='build' PBUILDER_OPERATION='build' PBUILDER_PKGDATADIR='/usr/share/pbuilder' PBUILDER_PKGLIBDIR='/usr/lib/pbuilder' PBUILDER_SYSCONFDIR='/etc' PPID='30103' PS1='# ' PS2='> ' PS4='+ ' PWD='/' SHELL='/bin/bash' SHLVL='2' SUDO_COMMAND='/usr/bin/timeout -k 18.1h 18h /usr/bin/ionice -c 3 /usr/bin/nice /usr/sbin/pbuilder --build --configfile /srv/reproducible-results/rbuild-debian/r-b-build.x7b3elk7/pbuilderrc_2a2m --distribution trixie --hookdir /etc/pbuilder/first-build-hooks --debbuildopts -b --basetgz /var/cache/pbuilder/trixie-reproducible-base.tgz --buildresult /srv/reproducible-results/rbuild-debian/r-b-build.x7b3elk7/b1 --logfile b1/build.log python-pycdlib_1.12.0+ds1-6.dsc' SUDO_GID='113' SUDO_UID='107' SUDO_USER='jenkins' TERM='unknown' TZ='/usr/share/zoneinfo/Etc/GMT+12' USER='root' _='/usr/bin/systemd-run' http_proxy='http://10.0.0.15:3142/' I: uname -a Linux cbxi4pro0 6.1.0-21-armmp #1 SMP Debian 6.1.90-1 (2024-05-03) armv7l GNU/Linux I: ls -l /bin lrwxrwxrwx 1 root root 7 May 6 11:26 /bin -> usr/bin I: user script /srv/workspace/pbuilder/30103/tmp/hooks/D02_print_environment finished -> Attempting to satisfy build-dependencies -> Creating pbuilder-satisfydepends-dummy package Package: pbuilder-satisfydepends-dummy Version: 0.invalid.0 Architecture: armhf Maintainer: Debian Pbuilder Team Description: Dummy package to satisfy dependencies with aptitude - created by pbuilder This package was created automatically by pbuilder to satisfy the build-dependencies of the package being currently built. Depends: debhelper-compat (= 11), dh-python, openstack-pkg-tools, python3-all, python3-setuptools, genisoimage, python3-pytest dpkg-deb: building package 'pbuilder-satisfydepends-dummy' in '/tmp/satisfydepends-aptitude/pbuilder-satisfydepends-dummy.deb'. Selecting previously unselected package pbuilder-satisfydepends-dummy. (Reading database ... 19445 files and directories currently installed.) Preparing to unpack .../pbuilder-satisfydepends-dummy.deb ... Unpacking pbuilder-satisfydepends-dummy (0.invalid.0) ... dpkg: pbuilder-satisfydepends-dummy: dependency problems, but configuring anyway as you requested: pbuilder-satisfydepends-dummy depends on debhelper-compat (= 11); however: Package debhelper-compat is not installed. pbuilder-satisfydepends-dummy depends on dh-python; however: Package dh-python is not installed. pbuilder-satisfydepends-dummy depends on openstack-pkg-tools; however: Package openstack-pkg-tools is not installed. pbuilder-satisfydepends-dummy depends on python3-all; however: Package python3-all is not installed. pbuilder-satisfydepends-dummy depends on python3-setuptools; however: Package python3-setuptools is not installed. pbuilder-satisfydepends-dummy depends on genisoimage; however: Package genisoimage is not installed. pbuilder-satisfydepends-dummy depends on python3-pytest; however: Package python3-pytest is not installed. Setting up pbuilder-satisfydepends-dummy (0.invalid.0) ... Reading package lists... Building dependency tree... Reading state information... Initializing package states... Writing extended state information... Building tag database... pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) pbuilder-satisfydepends-dummy is already installed at the requested version (0.invalid.0) The following NEW packages will be installed: autoconf{a} automake{a} autopoint{a} autotools-dev{a} bsdextrautils{a} ca-certificates{a} debhelper{a} dh-autoreconf{a} dh-python{a} dh-strip-nondeterminism{a} dwz{a} file{a} genisoimage{a} gettext{a} gettext-base{a} groff-base{a} intltool-debian{a} jq{a} libarchive-zip-perl{a} libdebhelper-perl{a} libelf1t64{a} libexpat1{a} libfile-stripnondeterminism-perl{a} libicu72{a} libjq1{a} libmagic-mgc{a} libmagic1t64{a} libonig5{a} libpipeline1{a} libpython3-stdlib{a} libpython3.11-minimal{a} libpython3.11-stdlib{a} libpython3.12-minimal{a} libpython3.12-stdlib{a} libreadline8t64{a} libsub-override-perl{a} libtool{a} libuchardet0{a} libxml2{a} m4{a} man-db{a} media-types{a} netbase{a} openssl{a} openstack-pkg-tools{a} po-debconf{a} python3{a} python3-all{a} python3-distutils{a} python3-iniconfig{a} python3-lib2to3{a} python3-minimal{a} python3-packaging{a} python3-pip{a} python3-pkg-resources{a} python3-pluggy{a} python3-pytest{a} python3-setuptools{a} python3-wheel{a} python3.11{a} python3.11-minimal{a} python3.12{a} python3.12-minimal{a} readline-common{a} sensible-utils{a} tzdata{a} The following packages are RECOMMENDED but will NOT be installed: autopkgtest curl libarchive-cpio-perl libjs-sphinxdoc libltdl-dev libmail-sendmail-perl lynx madison-lite pristine-tar python3-dev python3-pygments wget 0 packages upgraded, 66 newly installed, 0 to remove and 0 not upgraded. Need to get 34.0 MB of archives. After unpacking 131 MB will be used. Writing extended state information... Get: 1 http://deb.debian.org/debian trixie/main armhf libpython3.11-minimal armhf 3.11.9-1 [805 kB] Get: 2 http://deb.debian.org/debian trixie/main armhf libexpat1 armhf 2.6.2-1 [83.5 kB] Get: 3 http://deb.debian.org/debian trixie/main armhf python3.11-minimal armhf 3.11.9-1 [1600 kB] Get: 4 http://deb.debian.org/debian trixie/main armhf python3-minimal armhf 3.11.8-1 [26.3 kB] Get: 5 http://deb.debian.org/debian trixie/main armhf media-types all 10.1.0 [26.9 kB] Get: 6 http://deb.debian.org/debian trixie/main armhf netbase all 6.4 [12.8 kB] Get: 7 http://deb.debian.org/debian trixie/main armhf tzdata all 2024a-4 [255 kB] Get: 8 http://deb.debian.org/debian trixie/main armhf readline-common all 8.2-4 [69.3 kB] Get: 9 http://deb.debian.org/debian trixie/main armhf libreadline8t64 armhf 8.2-4 [145 kB] Get: 10 http://deb.debian.org/debian trixie/main armhf libpython3.11-stdlib armhf 3.11.9-1 [1704 kB] Get: 11 http://deb.debian.org/debian trixie/main armhf python3.11 armhf 3.11.9-1 [602 kB] Get: 12 http://deb.debian.org/debian trixie/main armhf libpython3-stdlib armhf 3.11.8-1 [9332 B] Get: 13 http://deb.debian.org/debian trixie/main armhf python3 armhf 3.11.8-1 [27.4 kB] Get: 14 http://deb.debian.org/debian trixie/main armhf libpython3.12-minimal armhf 3.12.3-1 [795 kB] Get: 15 http://deb.debian.org/debian trixie/main armhf python3.12-minimal armhf 3.12.3-1 [1783 kB] Get: 16 http://deb.debian.org/debian trixie/main armhf sensible-utils all 0.0.22 [22.4 kB] Get: 17 http://deb.debian.org/debian trixie/main armhf openssl armhf 3.2.1-3 [1326 kB] Get: 18 http://deb.debian.org/debian trixie/main armhf ca-certificates all 20240203 [158 kB] Get: 19 http://deb.debian.org/debian trixie/main armhf libmagic-mgc armhf 1:5.45-3 [314 kB] Get: 20 http://deb.debian.org/debian trixie/main armhf libmagic1t64 armhf 1:5.45-3 [98.1 kB] Get: 21 http://deb.debian.org/debian trixie/main armhf file armhf 1:5.45-3 [42.0 kB] Get: 22 http://deb.debian.org/debian trixie/main armhf gettext-base armhf 0.21-14+b1 [157 kB] Get: 23 http://deb.debian.org/debian trixie/main armhf libuchardet0 armhf 0.0.8-1+b1 [65.7 kB] Get: 24 http://deb.debian.org/debian trixie/main armhf groff-base armhf 1.23.0-4 [1090 kB] Get: 25 http://deb.debian.org/debian trixie/main armhf bsdextrautils armhf 2.40-8 [85.6 kB] Get: 26 http://deb.debian.org/debian trixie/main armhf libpipeline1 armhf 1.5.7-2 [33.3 kB] Get: 27 http://deb.debian.org/debian trixie/main armhf man-db armhf 2.12.1-1 [1375 kB] Get: 28 http://deb.debian.org/debian trixie/main armhf m4 armhf 1.4.19-4 [264 kB] Get: 29 http://deb.debian.org/debian trixie/main armhf autoconf all 2.71-3 [332 kB] Get: 30 http://deb.debian.org/debian trixie/main armhf autotools-dev all 20220109.1 [51.6 kB] Get: 31 http://deb.debian.org/debian trixie/main armhf automake all 1:1.16.5-1.3 [823 kB] Get: 32 http://deb.debian.org/debian trixie/main armhf autopoint all 0.21-14 [496 kB] Get: 33 http://deb.debian.org/debian trixie/main armhf libdebhelper-perl all 13.15.3 [88.0 kB] Get: 34 http://deb.debian.org/debian trixie/main armhf libtool all 2.4.7-7 [517 kB] Get: 35 http://deb.debian.org/debian trixie/main armhf dh-autoreconf all 20 [17.1 kB] Get: 36 http://deb.debian.org/debian trixie/main armhf libarchive-zip-perl all 1.68-1 [104 kB] Get: 37 http://deb.debian.org/debian trixie/main armhf libsub-override-perl all 0.10-1 [10.6 kB] Get: 38 http://deb.debian.org/debian trixie/main armhf libfile-stripnondeterminism-perl all 1.13.1-1 [19.4 kB] Get: 39 http://deb.debian.org/debian trixie/main armhf dh-strip-nondeterminism all 1.13.1-1 [8620 B] Get: 40 http://deb.debian.org/debian trixie/main armhf libelf1t64 armhf 0.191-1+b1 [183 kB] Get: 41 http://deb.debian.org/debian trixie/main armhf dwz armhf 0.15-1+b2 [106 kB] Get: 42 http://deb.debian.org/debian trixie/main armhf libicu72 armhf 72.1-4+b1 [9070 kB] Get: 43 http://deb.debian.org/debian trixie/main armhf libxml2 armhf 2.9.14+dfsg-1.3+b3 [598 kB] Get: 44 http://deb.debian.org/debian trixie/main armhf gettext armhf 0.21-14+b1 [1230 kB] Get: 45 http://deb.debian.org/debian trixie/main armhf intltool-debian all 0.35.0+20060710.6 [22.9 kB] Get: 46 http://deb.debian.org/debian trixie/main armhf po-debconf all 1.0.21+nmu1 [248 kB] Get: 47 http://deb.debian.org/debian trixie/main armhf debhelper all 13.15.3 [901 kB] Get: 48 http://deb.debian.org/debian trixie/main armhf python3-pkg-resources all 68.1.2-2 [241 kB] Get: 49 http://deb.debian.org/debian trixie/main armhf python3-lib2to3 all 3.12.3-1 [77.6 kB] Get: 50 http://deb.debian.org/debian trixie/main armhf python3-distutils all 3.12.3-1 [131 kB] Get: 51 http://deb.debian.org/debian trixie/main armhf python3-setuptools all 68.1.2-2 [468 kB] Get: 52 http://deb.debian.org/debian trixie/main armhf dh-python all 6.20240422 [107 kB] Get: 53 http://deb.debian.org/debian trixie/main armhf genisoimage armhf 9:1.1.11-3.5 [291 kB] Get: 54 http://deb.debian.org/debian trixie/main armhf libonig5 armhf 6.9.9-1 [167 kB] Get: 55 http://deb.debian.org/debian trixie/main armhf libjq1 armhf 1.7.1-3 [155 kB] Get: 56 http://deb.debian.org/debian trixie/main armhf jq armhf 1.7.1-3 [77.4 kB] Get: 57 http://deb.debian.org/debian trixie/main armhf libpython3.12-stdlib armhf 3.12.3-1 [1808 kB] Get: 58 http://deb.debian.org/debian trixie/main armhf python3-wheel all 0.43.0-1 [52.5 kB] Get: 59 http://deb.debian.org/debian trixie/main armhf python3-pip all 24.0+dfsg-2 [1517 kB] Get: 60 http://deb.debian.org/debian trixie/main armhf openstack-pkg-tools all 126 [94.2 kB] Get: 61 http://deb.debian.org/debian trixie/main armhf python3.12 armhf 3.12.3-1 [659 kB] Get: 62 http://deb.debian.org/debian trixie/main armhf python3-all armhf 3.11.8-1 [1056 B] Get: 63 http://deb.debian.org/debian trixie/main armhf python3-iniconfig all 1.1.1-2 [6396 B] Get: 64 http://deb.debian.org/debian trixie/main armhf python3-packaging all 24.0-1 [45.5 kB] Get: 65 http://deb.debian.org/debian trixie/main armhf python3-pluggy all 1.5.0-1 [26.9 kB] Get: 66 http://deb.debian.org/debian trixie/main armhf python3-pytest all 7.4.4-3 [239 kB] Fetched 34.0 MB in 2s (15.7 MB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libpython3.11-minimal:armhf. (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 ... 19445 files and directories currently installed.) Preparing to unpack .../libpython3.11-minimal_3.11.9-1_armhf.deb ... Unpacking libpython3.11-minimal:armhf (3.11.9-1) ... Selecting previously unselected package libexpat1:armhf. Preparing to unpack .../libexpat1_2.6.2-1_armhf.deb ... Unpacking libexpat1:armhf (2.6.2-1) ... Selecting previously unselected package python3.11-minimal. Preparing to unpack .../python3.11-minimal_3.11.9-1_armhf.deb ... Unpacking python3.11-minimal (3.11.9-1) ... Setting up libpython3.11-minimal:armhf (3.11.9-1) ... Setting up libexpat1:armhf (2.6.2-1) ... Setting up python3.11-minimal (3.11.9-1) ... Selecting previously unselected package python3-minimal. (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 ... 19761 files and directories currently installed.) Preparing to unpack .../0-python3-minimal_3.11.8-1_armhf.deb ... Unpacking python3-minimal (3.11.8-1) ... Selecting previously unselected package media-types. Preparing to unpack .../1-media-types_10.1.0_all.deb ... Unpacking media-types (10.1.0) ... Selecting previously unselected package netbase. Preparing to unpack .../2-netbase_6.4_all.deb ... Unpacking netbase (6.4) ... Selecting previously unselected package tzdata. Preparing to unpack .../3-tzdata_2024a-4_all.deb ... Unpacking tzdata (2024a-4) ... Selecting previously unselected package readline-common. Preparing to unpack .../4-readline-common_8.2-4_all.deb ... Unpacking readline-common (8.2-4) ... Selecting previously unselected package libreadline8t64:armhf. Preparing to unpack .../5-libreadline8t64_8.2-4_armhf.deb ... Adding 'diversion of /lib/arm-linux-gnueabihf/libhistory.so.8 to /lib/arm-linux-gnueabihf/libhistory.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/arm-linux-gnueabihf/libhistory.so.8.2 to /lib/arm-linux-gnueabihf/libhistory.so.8.2.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/arm-linux-gnueabihf/libreadline.so.8 to /lib/arm-linux-gnueabihf/libreadline.so.8.usr-is-merged by libreadline8t64' Adding 'diversion of /lib/arm-linux-gnueabihf/libreadline.so.8.2 to /lib/arm-linux-gnueabihf/libreadline.so.8.2.usr-is-merged by libreadline8t64' Unpacking libreadline8t64:armhf (8.2-4) ... Selecting previously unselected package libpython3.11-stdlib:armhf. Preparing to unpack .../6-libpython3.11-stdlib_3.11.9-1_armhf.deb ... Unpacking libpython3.11-stdlib:armhf (3.11.9-1) ... Selecting previously unselected package python3.11. Preparing to unpack .../7-python3.11_3.11.9-1_armhf.deb ... Unpacking python3.11 (3.11.9-1) ... Selecting previously unselected package libpython3-stdlib:armhf. Preparing to unpack .../8-libpython3-stdlib_3.11.8-1_armhf.deb ... Unpacking libpython3-stdlib:armhf (3.11.8-1) ... Setting up python3-minimal (3.11.8-1) ... Selecting previously unselected package python3. (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 ... 20753 files and directories currently installed.) Preparing to unpack .../00-python3_3.11.8-1_armhf.deb ... Unpacking python3 (3.11.8-1) ... Selecting previously unselected package libpython3.12-minimal:armhf. Preparing to unpack .../01-libpython3.12-minimal_3.12.3-1_armhf.deb ... Unpacking libpython3.12-minimal:armhf (3.12.3-1) ... Selecting previously unselected package python3.12-minimal. Preparing to unpack .../02-python3.12-minimal_3.12.3-1_armhf.deb ... Unpacking python3.12-minimal (3.12.3-1) ... Selecting previously unselected package sensible-utils. Preparing to unpack .../03-sensible-utils_0.0.22_all.deb ... Unpacking sensible-utils (0.0.22) ... Selecting previously unselected package openssl. Preparing to unpack .../04-openssl_3.2.1-3_armhf.deb ... Unpacking openssl (3.2.1-3) ... Selecting previously unselected package ca-certificates. Preparing to unpack .../05-ca-certificates_20240203_all.deb ... Unpacking ca-certificates (20240203) ... Selecting previously unselected package libmagic-mgc. Preparing to unpack .../06-libmagic-mgc_1%3a5.45-3_armhf.deb ... Unpacking libmagic-mgc (1:5.45-3) ... Selecting previously unselected package libmagic1t64:armhf. Preparing to unpack .../07-libmagic1t64_1%3a5.45-3_armhf.deb ... Unpacking libmagic1t64:armhf (1:5.45-3) ... Selecting previously unselected package file. Preparing to unpack .../08-file_1%3a5.45-3_armhf.deb ... Unpacking file (1:5.45-3) ... Selecting previously unselected package gettext-base. Preparing to unpack .../09-gettext-base_0.21-14+b1_armhf.deb ... Unpacking gettext-base (0.21-14+b1) ... Selecting previously unselected package libuchardet0:armhf. Preparing to unpack .../10-libuchardet0_0.0.8-1+b1_armhf.deb ... Unpacking libuchardet0:armhf (0.0.8-1+b1) ... Selecting previously unselected package groff-base. Preparing to unpack .../11-groff-base_1.23.0-4_armhf.deb ... Unpacking groff-base (1.23.0-4) ... Selecting previously unselected package bsdextrautils. Preparing to unpack .../12-bsdextrautils_2.40-8_armhf.deb ... Unpacking bsdextrautils (2.40-8) ... Selecting previously unselected package libpipeline1:armhf. Preparing to unpack .../13-libpipeline1_1.5.7-2_armhf.deb ... Unpacking libpipeline1:armhf (1.5.7-2) ... Selecting previously unselected package man-db. Preparing to unpack .../14-man-db_2.12.1-1_armhf.deb ... Unpacking man-db (2.12.1-1) ... Selecting previously unselected package m4. Preparing to unpack .../15-m4_1.4.19-4_armhf.deb ... Unpacking m4 (1.4.19-4) ... Selecting previously unselected package autoconf. Preparing to unpack .../16-autoconf_2.71-3_all.deb ... Unpacking autoconf (2.71-3) ... Selecting previously unselected package autotools-dev. Preparing to unpack .../17-autotools-dev_20220109.1_all.deb ... Unpacking autotools-dev (20220109.1) ... Selecting previously unselected package automake. Preparing to unpack .../18-automake_1%3a1.16.5-1.3_all.deb ... Unpacking automake (1:1.16.5-1.3) ... Selecting previously unselected package autopoint. Preparing to unpack .../19-autopoint_0.21-14_all.deb ... Unpacking autopoint (0.21-14) ... Selecting previously unselected package libdebhelper-perl. Preparing to unpack .../20-libdebhelper-perl_13.15.3_all.deb ... Unpacking libdebhelper-perl (13.15.3) ... Selecting previously unselected package libtool. Preparing to unpack .../21-libtool_2.4.7-7_all.deb ... Unpacking libtool (2.4.7-7) ... Selecting previously unselected package dh-autoreconf. Preparing to unpack .../22-dh-autoreconf_20_all.deb ... Unpacking dh-autoreconf (20) ... Selecting previously unselected package libarchive-zip-perl. Preparing to unpack .../23-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 .../24-libsub-override-perl_0.10-1_all.deb ... Unpacking libsub-override-perl (0.10-1) ... Selecting previously unselected package libfile-stripnondeterminism-perl. Preparing to unpack .../25-libfile-stripnondeterminism-perl_1.13.1-1_all.deb ... Unpacking libfile-stripnondeterminism-perl (1.13.1-1) ... Selecting previously unselected package dh-strip-nondeterminism. Preparing to unpack .../26-dh-strip-nondeterminism_1.13.1-1_all.deb ... Unpacking dh-strip-nondeterminism (1.13.1-1) ... Selecting previously unselected package libelf1t64:armhf. Preparing to unpack .../27-libelf1t64_0.191-1+b1_armhf.deb ... Unpacking libelf1t64:armhf (0.191-1+b1) ... Selecting previously unselected package dwz. Preparing to unpack .../28-dwz_0.15-1+b2_armhf.deb ... Unpacking dwz (0.15-1+b2) ... Selecting previously unselected package libicu72:armhf. Preparing to unpack .../29-libicu72_72.1-4+b1_armhf.deb ... Unpacking libicu72:armhf (72.1-4+b1) ... Selecting previously unselected package libxml2:armhf. Preparing to unpack .../30-libxml2_2.9.14+dfsg-1.3+b3_armhf.deb ... Unpacking libxml2:armhf (2.9.14+dfsg-1.3+b3) ... Selecting previously unselected package gettext. Preparing to unpack .../31-gettext_0.21-14+b1_armhf.deb ... Unpacking gettext (0.21-14+b1) ... Selecting previously unselected package intltool-debian. Preparing to unpack .../32-intltool-debian_0.35.0+20060710.6_all.deb ... Unpacking intltool-debian (0.35.0+20060710.6) ... Selecting previously unselected package po-debconf. Preparing to unpack .../33-po-debconf_1.0.21+nmu1_all.deb ... Unpacking po-debconf (1.0.21+nmu1) ... Selecting previously unselected package debhelper. Preparing to unpack .../34-debhelper_13.15.3_all.deb ... Unpacking debhelper (13.15.3) ... Selecting previously unselected package python3-pkg-resources. Preparing to unpack .../35-python3-pkg-resources_68.1.2-2_all.deb ... Unpacking python3-pkg-resources (68.1.2-2) ... Selecting previously unselected package python3-lib2to3. Preparing to unpack .../36-python3-lib2to3_3.12.3-1_all.deb ... Unpacking python3-lib2to3 (3.12.3-1) ... Selecting previously unselected package python3-distutils. Preparing to unpack .../37-python3-distutils_3.12.3-1_all.deb ... Unpacking python3-distutils (3.12.3-1) ... Selecting previously unselected package python3-setuptools. Preparing to unpack .../38-python3-setuptools_68.1.2-2_all.deb ... Unpacking python3-setuptools (68.1.2-2) ... Selecting previously unselected package dh-python. Preparing to unpack .../39-dh-python_6.20240422_all.deb ... Unpacking dh-python (6.20240422) ... Selecting previously unselected package genisoimage. Preparing to unpack .../40-genisoimage_9%3a1.1.11-3.5_armhf.deb ... Unpacking genisoimage (9:1.1.11-3.5) ... Selecting previously unselected package libonig5:armhf. Preparing to unpack .../41-libonig5_6.9.9-1_armhf.deb ... Unpacking libonig5:armhf (6.9.9-1) ... Selecting previously unselected package libjq1:armhf. Preparing to unpack .../42-libjq1_1.7.1-3_armhf.deb ... Unpacking libjq1:armhf (1.7.1-3) ... Selecting previously unselected package jq. Preparing to unpack .../43-jq_1.7.1-3_armhf.deb ... Unpacking jq (1.7.1-3) ... Selecting previously unselected package libpython3.12-stdlib:armhf. Preparing to unpack .../44-libpython3.12-stdlib_3.12.3-1_armhf.deb ... Unpacking libpython3.12-stdlib:armhf (3.12.3-1) ... Selecting previously unselected package python3-wheel. Preparing to unpack .../45-python3-wheel_0.43.0-1_all.deb ... Unpacking python3-wheel (0.43.0-1) ... Selecting previously unselected package python3-pip. Preparing to unpack .../46-python3-pip_24.0+dfsg-2_all.deb ... Unpacking python3-pip (24.0+dfsg-2) ... Selecting previously unselected package openstack-pkg-tools. Preparing to unpack .../47-openstack-pkg-tools_126_all.deb ... Unpacking openstack-pkg-tools (126) ... Selecting previously unselected package python3.12. Preparing to unpack .../48-python3.12_3.12.3-1_armhf.deb ... Unpacking python3.12 (3.12.3-1) ... Selecting previously unselected package python3-all. Preparing to unpack .../49-python3-all_3.11.8-1_armhf.deb ... Unpacking python3-all (3.11.8-1) ... Selecting previously unselected package python3-iniconfig. Preparing to unpack .../50-python3-iniconfig_1.1.1-2_all.deb ... Unpacking python3-iniconfig (1.1.1-2) ... Selecting previously unselected package python3-packaging. Preparing to unpack .../51-python3-packaging_24.0-1_all.deb ... Unpacking python3-packaging (24.0-1) ... Selecting previously unselected package python3-pluggy. Preparing to unpack .../52-python3-pluggy_1.5.0-1_all.deb ... Unpacking python3-pluggy (1.5.0-1) ... Selecting previously unselected package python3-pytest. Preparing to unpack .../53-python3-pytest_7.4.4-3_all.deb ... Unpacking python3-pytest (7.4.4-3) ... Setting up media-types (10.1.0) ... Setting up libpipeline1:armhf (1.5.7-2) ... Setting up libicu72:armhf (72.1-4+b1) ... Setting up bsdextrautils (2.40-8) ... Setting up libmagic-mgc (1:5.45-3) ... Setting up libarchive-zip-perl (1.68-1) ... Setting up libdebhelper-perl (13.15.3) ... Setting up libmagic1t64:armhf (1:5.45-3) ... Setting up libpython3.12-minimal:armhf (3.12.3-1) ... Setting up gettext-base (0.21-14+b1) ... Setting up m4 (1.4.19-4) ... Setting up file (1:5.45-3) ... Setting up libelf1t64:armhf (0.191-1+b1) ... Setting up tzdata (2024a-4) ... Current default time zone: 'Etc/UTC' Local time is now: Thu May 9 08:59:33 UTC 2024. Universal Time is now: Thu May 9 08:59:33 UTC 2024. Run 'dpkg-reconfigure tzdata' if you wish to change it. Setting up autotools-dev (20220109.1) ... Setting up autopoint (0.21-14) ... Setting up autoconf (2.71-3) ... Setting up dwz (0.15-1+b2) ... Setting up sensible-utils (0.0.22) ... Setting up libuchardet0:armhf (0.0.8-1+b1) ... Setting up libsub-override-perl (0.10-1) ... Setting up netbase (6.4) ... Setting up openssl (3.2.1-3) ... Setting up readline-common (8.2-4) ... Setting up libxml2:armhf (2.9.14+dfsg-1.3+b3) ... Setting up libonig5:armhf (6.9.9-1) ... Setting up automake (1:1.16.5-1.3) ... update-alternatives: using /usr/bin/automake-1.16 to provide /usr/bin/automake (automake) in auto mode Setting up genisoimage (9:1.1.11-3.5) ... Setting up libfile-stripnondeterminism-perl (1.13.1-1) ... Setting up python3.12-minimal (3.12.3-1) ... Setting up gettext (0.21-14+b1) ... Setting up libtool (2.4.7-7) ... Setting up libjq1:armhf (1.7.1-3) ... Setting up intltool-debian (0.35.0+20060710.6) ... Setting up dh-autoreconf (20) ... Setting up ca-certificates (20240203) ... Updating certificates in /etc/ssl/certs... 146 added, 0 removed; done. Setting up libreadline8t64:armhf (8.2-4) ... Setting up dh-strip-nondeterminism (1.13.1-1) ... Setting up groff-base (1.23.0-4) ... Setting up jq (1.7.1-3) ... Setting up libpython3.12-stdlib:armhf (3.12.3-1) ... Setting up po-debconf (1.0.21+nmu1) ... Setting up libpython3.11-stdlib:armhf (3.11.9-1) ... Setting up python3.12 (3.12.3-1) ... Setting up man-db (2.12.1-1) ... Not building database; man-db/auto-update is not 'true'. Setting up libpython3-stdlib:armhf (3.11.8-1) ... Setting up python3.11 (3.11.9-1) ... Setting up debhelper (13.15.3) ... Setting up python3 (3.11.8-1) ... Setting up python3-wheel (0.43.0-1) ... Setting up python3-packaging (24.0-1) ... Setting up python3-pip (24.0+dfsg-2) ... Setting up python3-pluggy (1.5.0-1) ... Setting up python3-lib2to3 (3.12.3-1) ... Setting up python3-pkg-resources (68.1.2-2) ... Setting up python3-distutils (3.12.3-1) ... python3.12: can't get files for byte-compilation Setting up python3-iniconfig (1.1.1-2) ... Setting up python3-setuptools (68.1.2-2) ... Setting up python3-pytest (7.4.4-3) ... Setting up python3-all (3.11.8-1) ... Setting up openstack-pkg-tools (126) ... Setting up dh-python (6.20240422) ... Processing triggers for libc-bin (2.38-7) ... Processing triggers for ca-certificates (20240203) ... Updating certificates in /etc/ssl/certs... 0 added, 0 removed; done. Running hooks in /etc/ca-certificates/update.d... done. Reading package lists... Building dependency tree... Reading state information... Reading extended state information... Initializing package states... Writing extended state information... Building tag database... -> Finished parsing the build-deps I: Building the package I: Running cd /build/reproducible-path/python-pycdlib-1.12.0+ds1/ && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-buildpackage -us -uc -b && env PATH="/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" HOME="/nonexistent/first-build" dpkg-genchanges -S > ../python-pycdlib_1.12.0+ds1-6_source.changes dpkg-buildpackage: info: source package python-pycdlib dpkg-buildpackage: info: source version 1.12.0+ds1-6 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Thomas Goirand dpkg-source --before-build . dpkg-buildpackage: info: host architecture armhf dpkg-source: info: using options from python-pycdlib-1.12.0+ds1/debian/source/options: --extend-diff-ignore=^[^/]*[.]egg-info/ --extend-diff-ignore=.*cdrkit-.*.tar.gz debian/rules clean make: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions dh clean --with python3 debian/rules override_dh_auto_clean make[1]: Entering directory '/build/reproducible-path/python-pycdlib-1.12.0+ds1' make[1]: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions rm -rf build .stestr *.egg-info .pytest_cache find . -iname '*.pyc' -delete for i in $(find . -type d -iname __pycache__) ; do rm -rf $i ; done make[1]: Leaving directory '/build/reproducible-path/python-pycdlib-1.12.0+ds1' dh_clean debian/rules binary make: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions dh binary --with python3 dh_update_autotools_config dh_autoreconf dh_auto_configure debian/rules override_dh_auto_build make[1]: Entering directory '/build/reproducible-path/python-pycdlib-1.12.0+ds1' make[1]: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions echo "Do nothing..." Do nothing... make[1]: Leaving directory '/build/reproducible-path/python-pycdlib-1.12.0+ds1' debian/rules override_dh_auto_test make[1]: Entering directory '/build/reproducible-path/python-pycdlib-1.12.0+ds1' make[1]: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions echo "Do nothing..." Do nothing... make[1]: Leaving directory '/build/reproducible-path/python-pycdlib-1.12.0+ds1' create-stamp debian/debhelper-build-stamp dh_prep debian/rules override_dh_auto_install make[1]: Entering directory '/build/reproducible-path/python-pycdlib-1.12.0+ds1' make[1]: pyversions: No such file or directory py3versions: no X-Python3-Version in control file, using supported versions pkgos-dh_auto_install --no-py2 --in-tmp + PKGOS_IN_TMP=no + echo WARNING: --no-py2 is deprecated and always on. WARNING: --no-py2 is deprecated and always on. + shift + PKGOS_IN_TMP=yes + shift + dpkg-parsechangelog -SSource + SRC_PKG_NAME=python-pycdlib + echo python-pycdlib + sed s/python-// + PY_MODULE_NAME=pycdlib + py3versions -vr + PYTHON3S=3.12 3.11 + [ yes = yes ] + TARGET_DIR=tmp + pwd + python3.12 setup.py install --install-layout=deb --root /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp running install /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated. !! ******************************************************************************** Please avoid running ``setup.py`` directly. Instead, use pypa/build, pypa/installer or other standards-based tools. See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details. ******************************************************************************** !! self.initialize_options() running build running build_py creating build creating build/lib creating build/lib/pycdlib copying pycdlib/pycdlibio.py -> build/lib/pycdlib copying pycdlib/backport_functools.py -> build/lib/pycdlib copying pycdlib/path_table_record.py -> build/lib/pycdlib copying pycdlib/utils.py -> build/lib/pycdlib copying pycdlib/headervd.py -> build/lib/pycdlib copying pycdlib/udf.py -> build/lib/pycdlib copying pycdlib/rockridge.py -> build/lib/pycdlib copying pycdlib/inode.py -> build/lib/pycdlib copying pycdlib/pycdlib.py -> build/lib/pycdlib copying pycdlib/isohybrid.py -> build/lib/pycdlib copying pycdlib/pycdlibexception.py -> build/lib/pycdlib copying pycdlib/facade.py -> build/lib/pycdlib copying pycdlib/eltorito.py -> build/lib/pycdlib copying pycdlib/dates.py -> build/lib/pycdlib copying pycdlib/__init__.py -> build/lib/pycdlib copying pycdlib/dr.py -> build/lib/pycdlib running build_scripts creating build/scripts-3.12 copying and adjusting tools/pycdlib-explorer -> build/scripts-3.12 copying and adjusting tools/pycdlib-extract-files -> build/scripts-3.12 copying and adjusting tools/pycdlib-genisoimage -> build/scripts-3.12 changing mode of build/scripts-3.12/pycdlib-explorer from 644 to 755 changing mode of build/scripts-3.12/pycdlib-extract-files from 644 to 755 changing mode of build/scripts-3.12/pycdlib-genisoimage from 644 to 755 running install_lib creating /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp creating /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr creating /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib creating /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3 creating /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages creating /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib copying build/lib/pycdlib/pycdlibio.py -> /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib copying build/lib/pycdlib/backport_functools.py -> /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib copying build/lib/pycdlib/path_table_record.py -> /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib copying build/lib/pycdlib/utils.py -> /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib copying build/lib/pycdlib/headervd.py -> /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib copying build/lib/pycdlib/udf.py -> /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib copying build/lib/pycdlib/rockridge.py -> /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib copying build/lib/pycdlib/inode.py -> /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib copying build/lib/pycdlib/pycdlib.py -> /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib copying build/lib/pycdlib/isohybrid.py -> /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib copying build/lib/pycdlib/pycdlibexception.py -> /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib copying build/lib/pycdlib/facade.py -> /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib copying build/lib/pycdlib/eltorito.py -> /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib copying build/lib/pycdlib/dates.py -> /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib copying build/lib/pycdlib/__init__.py -> /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib copying build/lib/pycdlib/dr.py -> /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib byte-compiling /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib/pycdlibio.py to pycdlibio.cpython-312.pyc byte-compiling /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib/backport_functools.py to backport_functools.cpython-312.pyc byte-compiling /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib/path_table_record.py to path_table_record.cpython-312.pyc byte-compiling /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib/utils.py to utils.cpython-312.pyc byte-compiling /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib/headervd.py to headervd.cpython-312.pyc byte-compiling /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib/udf.py to udf.cpython-312.pyc byte-compiling /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib/rockridge.py to rockridge.cpython-312.pyc byte-compiling /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib/inode.py to inode.cpython-312.pyc byte-compiling /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib/pycdlib.py to pycdlib.cpython-312.pyc byte-compiling /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib/isohybrid.py to isohybrid.cpython-312.pyc byte-compiling /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib/pycdlibexception.py to pycdlibexception.cpython-312.pyc byte-compiling /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib/facade.py to facade.cpython-312.pyc byte-compiling /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib/eltorito.py to eltorito.cpython-312.pyc byte-compiling /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib/dates.py to dates.cpython-312.pyc byte-compiling /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib/__init__.py to __init__.cpython-312.pyc byte-compiling /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib/dr.py to dr.cpython-312.pyc running install_data creating /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/share creating /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/share/man creating /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/share/man/man1 copying man/pycdlib-explorer.1 -> /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/share/man/man1 copying man/pycdlib-extract-files.1 -> /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/share/man/man1 copying man/pycdlib-genisoimage.1 -> /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/share/man/man1 running install_egg_info running egg_info creating pycdlib.egg-info writing pycdlib.egg-info/PKG-INFO writing dependency_links to pycdlib.egg-info/dependency_links.txt writing top-level names to pycdlib.egg-info/top_level.txt writing manifest file 'pycdlib.egg-info/SOURCES.txt' reading manifest file 'pycdlib.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' adding license file 'COPYING' writing manifest file 'pycdlib.egg-info/SOURCES.txt' Copying pycdlib.egg-info to /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib-1.12.0.egg-info Skipping SOURCES.txt running install_scripts creating /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/bin copying build/scripts-3.12/pycdlib-genisoimage -> /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/bin copying build/scripts-3.12/pycdlib-explorer -> /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/bin copying build/scripts-3.12/pycdlib-extract-files -> /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/bin changing mode of /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/bin/pycdlib-genisoimage to 755 changing mode of /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/bin/pycdlib-explorer to 755 changing mode of /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/bin/pycdlib-extract-files to 755 + pwd + python3.11 setup.py install --install-layout=deb --root /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp running install /usr/lib/python3/dist-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated. !! ******************************************************************************** Please avoid running ``setup.py`` directly. Instead, use pypa/build, pypa/installer or other standards-based tools. See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details. ******************************************************************************** !! self.initialize_options() running build running build_py running build_scripts creating build/scripts-3.11 copying and adjusting tools/pycdlib-explorer -> build/scripts-3.11 copying and adjusting tools/pycdlib-extract-files -> build/scripts-3.11 copying and adjusting tools/pycdlib-genisoimage -> build/scripts-3.11 changing mode of build/scripts-3.11/pycdlib-explorer from 644 to 755 changing mode of build/scripts-3.11/pycdlib-extract-files from 644 to 755 changing mode of build/scripts-3.11/pycdlib-genisoimage from 644 to 755 running install_lib byte-compiling /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib/pycdlibio.py to pycdlibio.cpython-311.pyc byte-compiling /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib/backport_functools.py to backport_functools.cpython-311.pyc byte-compiling /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib/path_table_record.py to path_table_record.cpython-311.pyc byte-compiling /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib/utils.py to utils.cpython-311.pyc byte-compiling /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib/headervd.py to headervd.cpython-311.pyc byte-compiling /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib/udf.py to udf.cpython-311.pyc byte-compiling /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib/rockridge.py to rockridge.cpython-311.pyc byte-compiling /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib/inode.py to inode.cpython-311.pyc byte-compiling /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib/pycdlib.py to pycdlib.cpython-311.pyc byte-compiling /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib/isohybrid.py to isohybrid.cpython-311.pyc byte-compiling /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib/pycdlibexception.py to pycdlibexception.cpython-311.pyc byte-compiling /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib/facade.py to facade.cpython-311.pyc byte-compiling /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib/eltorito.py to eltorito.cpython-311.pyc byte-compiling /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib/dates.py to dates.cpython-311.pyc byte-compiling /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib/__init__.py to __init__.cpython-311.pyc byte-compiling /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib/dr.py to dr.cpython-311.pyc running install_data running install_egg_info running egg_info writing pycdlib.egg-info/PKG-INFO writing dependency_links to pycdlib.egg-info/dependency_links.txt writing top-level names to pycdlib.egg-info/top_level.txt reading manifest file 'pycdlib.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' adding license file 'COPYING' writing manifest file 'pycdlib.egg-info/SOURCES.txt' removing '/build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib-1.12.0.egg-info' (and everything under it) Copying pycdlib.egg-info to /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages/pycdlib-1.12.0.egg-info Skipping SOURCES.txt running install_scripts copying build/scripts-3.11/pycdlib-genisoimage -> /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/bin copying build/scripts-3.11/pycdlib-explorer -> /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/bin copying build/scripts-3.11/pycdlib-extract-files -> /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/bin changing mode of /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/bin/pycdlib-genisoimage to 755 changing mode of /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/bin/pycdlib-explorer to 755 changing mode of /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/bin/pycdlib-extract-files to 755 + pwd + rm -rf /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/python*/usr/lib/python*/dist-packages/*.pth + pwd + rm -rf /build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python*/dist-packages/*.pth set -e ; set -x ; for pyvers in 3.12 3.11; do \ PATH=$PATH:/build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/bin PYTHONPATH=/build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages python$pyvers -m pytest tests -k 'not test_volumedescdate_new_nonzero and not test_gmtoffset_from_tm'; \ done + PATH=/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/bin PYTHONPATH=/build/reproducible-path/python-pycdlib-1.12.0+ds1/debian/tmp/usr/lib/python3/dist-packages python3.12 -m pytest tests -k not test_volumedescdate_new_nonzero and not test_gmtoffset_from_tm ============================= test session starts ============================== platform linux -- Python 3.12.3, pytest-7.4.4, pluggy-1.5.0 rootdir: /build/reproducible-path/python-pycdlib-1.12.0+ds1 configfile: pytest.ini collected 1721 items / 3 deselected / 1718 selected tests/integration/test_facade.py ....................................... [ 2%] .................. [ 3%] tests/integration/test_hybrid.py .....................................F. [ 5%] ........F.FF........s.....F...F....F.................................... [ 9%] .........s..................... [ 11%] tests/integration/test_new.py .......................................... [ 14%] ........................................................................ [ 18%] ........................................................................ [ 22%] ........................................................................ [ 26%] ......................................................ssss.............. [ 30%] ........................................................................ [ 34%] ..................................................................s [ 38%] tests/integration/test_parse.py .......................FF.F..........F.. [ 41%] F...sss..FFFF...F.......F..F.F..................F....................... [ 45%] ...................................F.s...........FFFF................... [ 49%] ......s........FF..FF... [ 50%] tests/tools/test_pycdlib_genisoimage.py .ssss. [ 51%] tests/unit/test_dates.py ........................ [ 52%] tests/unit/test_dr.py ......................................... [ 55%] tests/unit/test_eltorito.py ............................... [ 56%] tests/unit/test_headervd.py ............................................ [ 59%] ....... [ 59%] tests/unit/test_inode.py ....... [ 60%] tests/unit/test_isohybrid.py ........................................... [ 62%] [ 62%] tests/unit/test_ptr.py ........ [ 63%] tests/unit/test_rockridge.py ........................................... [ 65%] ........................................................................ [ 69%] ........................................................................ [ 74%] ..................................................... [ 77%] tests/unit/test_udf.py ................................................. [ 80%] ........................................................................ [ 84%] ........................................................................ [ 88%] ........................................................................ [ 92%] ........................................................................ [ 96%] ................ [ 97%] tests/unit/test_utils.py ...................................... [100%] =================================== FAILURES =================================== _____________________ test_hybrid_rr_onefileonedirwithfile _____________________ tmp_path = PosixPath('/tmp/pytest-of-pbuilder1/pytest-0/test_hybrid_rr_onefileonedirwi0') def test_hybrid_rr_onefileonedirwithfile(tmp_path): # First set things up, and generate the ISO with genisoimage. indir = tmp_path / 'rronefileonedirwithfile' indir.mkdir() outfile = str(indir)+'.iso' newdir = indir / 'dir1' newdir.mkdir() subprocess.call(['genisoimage', '-v', '-v', '-iso-level', '1', '-no-pad', '-rational-rock', '-o', str(outfile), str(indir)]) # Now open up the ISO with pycdlib and check some things out. iso = pycdlib.PyCdlib() iso.open(str(outfile)) foostr = b'foo\n' iso.add_fp(BytesIO(foostr), len(foostr), '/FOO.;1', rr_name='foo') barstr = b'bar\n' iso.add_fp(BytesIO(barstr), len(barstr), '/DIR1/BAR.;1', rr_name='bar') > do_a_test(iso, check_rr_onefileonedirwithfile) tests/integration/test_hybrid.py:875: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/integration/test_hybrid.py:21: in do_a_test check_func(iso, len(out.getvalue())) tests/integration/test_common.py:1481: in check_rr_onefileonedirwithfile internal_check_root_dir_record(iso.pvd.root_dir_record, num_children=4, data_length=2048, extent_location=23, rr=True, rr_nlinks=3, xa=False, rr_onetwelve=False) tests/integration/test_common.py:289: in internal_check_root_dir_record internal_check_dotdot_dir_record(root_dir_record.children[1], rr=rr, rr_nlinks=rr_nlinks, xa=xa, rr_onetwelve=rr_onetwelve) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dotdot_record = , rr = True rr_nlinks = 3, xa = False, rr_onetwelve = False def internal_check_dotdot_dir_record(dotdot_record, rr, rr_nlinks, xa, rr_onetwelve): # The file identifier for the 'dotdot' directory entry should be the byte 1. assert(dotdot_record.file_ident == b'\x01') # The 'dotdot' directory entry should be a directory. assert(dotdot_record.isdir == True) # The 'dotdot' directory record length should be exactly 34 with no extensions. if rr: if rr_onetwelve: expected_dr_len = 104 else: expected_dr_len = 102 else: expected_dr_len = 34 if xa: expected_dr_len += 14 assert(dotdot_record.dr_len == expected_dr_len) # The 'dotdot' directory record is not the root. assert(dotdot_record.is_root == False) # The 'dotdot' directory record should have no children. assert(len(dotdot_record.children) == 0) assert(dotdot_record.file_flags == 2) if rr: assert(dotdot_record.rock_ridge._initialized == True) assert(dotdot_record.rock_ridge.dr_entries.sp_record == None) if not rr_onetwelve: assert(dotdot_record.rock_ridge.dr_entries.rr_record != None) assert(dotdot_record.rock_ridge.dr_entries.rr_record.rr_flags == 0x81) assert(dotdot_record.rock_ridge.dr_entries.ce_record == None) assert(dotdot_record.rock_ridge.dr_entries.px_record != None) assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_mode == 0o040555) > assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_links == rr_nlinks) E assert 2 == 3 E + where 2 = .posix_file_links E + where = .px_record E + where = .dr_entries E + where = .rock_ridge tests/integration/test_common.py:416: AssertionError ----------------------------- Captured stderr call ----------------------------- genisoimage 1.1.11 (Linux) Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_hybrid_rr_onefileonedirwi0/rronefileonedirwithfile Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_hybrid_rr_onefileonedirwi0/rronefileonedirwithfile/dir1 23 352 24 204 dir1 Cache hit for 'dir1/.' Cache hit for 'dir1/..' Writing: Initial Padblock Start Block 0 Done with: Initial Padblock Block(s) 16 Writing: Primary Volume Descriptor Start Block 16 Done with: Primary Volume Descriptor Block(s) 1 Writing: End Volume Descriptor Start Block 17 Done with: End Volume Descriptor Block(s) 1 Writing: Version block Start Block 18 Done with: Version block Block(s) 1 Writing: Path table Start Block 19 Done with: Path table Block(s) 4 Writing: Directory tree Start Block 23 Done with: Directory tree Block(s) 2 Writing: Directory tree cleanup Start Block 25 Done with: Directory tree cleanup Block(s) 0 Writing: Extension record Start Block 25 Done with: Extension record Block(s) 1 Writing: The File(s) Start Block 26 Total extents scheduled to be written = 26 Total translation table size: 0 Total rockridge attributes bytes: 379 Total directory bytes: 2400 Path table size(bytes): 22 Done with: The File(s) Block(s) 0 Max brk space used 0 26 extents written (0 MB) _____________________ test_hybrid_rr_and_eltorito_onedir3 ______________________ tmp_path = PosixPath('/tmp/pytest-of-pbuilder1/pytest-0/test_hybrid_rr_and_eltorito_on5') def test_hybrid_rr_and_eltorito_onedir3(tmp_path): # First set things up, and generate the ISO with genisoimage. indir = tmp_path / 'rreltoritoonedir3' indir.mkdir() outfile = str(indir)+'.iso' newdir = indir / 'dir1' newdir.mkdir() subprocess.call(['genisoimage', '-v', '-v', '-iso-level', '1', '-no-pad', '-rational-rock', '-o', str(outfile), str(indir)]) # Now open up the ISO with pycdlib and check some things out. iso = pycdlib.PyCdlib() iso.open(str(outfile)) bootstr = b'boot\n' iso.add_fp(BytesIO(bootstr), len(bootstr), '/BOOT.;1', rr_name='boot') iso.add_eltorito('/BOOT.;1', '/BOOT.CAT;1') > do_a_test(iso, check_rr_and_eltorito_onedir) tests/integration/test_hybrid.py:1097: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/integration/test_hybrid.py:21: in do_a_test check_func(iso, len(out.getvalue())) tests/integration/test_common.py:1879: in check_rr_and_eltorito_onedir internal_check_root_dir_record(iso.pvd.root_dir_record, num_children=5, data_length=2048, extent_location=24, rr=True, rr_nlinks=3, xa=False, rr_onetwelve=False) tests/integration/test_common.py:289: in internal_check_root_dir_record internal_check_dotdot_dir_record(root_dir_record.children[1], rr=rr, rr_nlinks=rr_nlinks, xa=xa, rr_onetwelve=rr_onetwelve) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dotdot_record = , rr = True rr_nlinks = 3, xa = False, rr_onetwelve = False def internal_check_dotdot_dir_record(dotdot_record, rr, rr_nlinks, xa, rr_onetwelve): # The file identifier for the 'dotdot' directory entry should be the byte 1. assert(dotdot_record.file_ident == b'\x01') # The 'dotdot' directory entry should be a directory. assert(dotdot_record.isdir == True) # The 'dotdot' directory record length should be exactly 34 with no extensions. if rr: if rr_onetwelve: expected_dr_len = 104 else: expected_dr_len = 102 else: expected_dr_len = 34 if xa: expected_dr_len += 14 assert(dotdot_record.dr_len == expected_dr_len) # The 'dotdot' directory record is not the root. assert(dotdot_record.is_root == False) # The 'dotdot' directory record should have no children. assert(len(dotdot_record.children) == 0) assert(dotdot_record.file_flags == 2) if rr: assert(dotdot_record.rock_ridge._initialized == True) assert(dotdot_record.rock_ridge.dr_entries.sp_record == None) if not rr_onetwelve: assert(dotdot_record.rock_ridge.dr_entries.rr_record != None) assert(dotdot_record.rock_ridge.dr_entries.rr_record.rr_flags == 0x81) assert(dotdot_record.rock_ridge.dr_entries.ce_record == None) assert(dotdot_record.rock_ridge.dr_entries.px_record != None) assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_mode == 0o040555) > assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_links == rr_nlinks) E assert 2 == 3 E + where 2 = .posix_file_links E + where = .px_record E + where = .dr_entries E + where = .rock_ridge tests/integration/test_common.py:416: AssertionError ----------------------------- Captured stderr call ----------------------------- genisoimage 1.1.11 (Linux) Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_hybrid_rr_and_eltorito_on5/rreltoritoonedir3 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_hybrid_rr_and_eltorito_on5/rreltoritoonedir3/dir1 23 352 24 204 dir1 Cache hit for 'dir1/.' Cache hit for 'dir1/..' Writing: Initial Padblock Start Block 0 Done with: Initial Padblock Block(s) 16 Writing: Primary Volume Descriptor Start Block 16 Done with: Primary Volume Descriptor Block(s) 1 Writing: End Volume Descriptor Start Block 17 Done with: End Volume Descriptor Block(s) 1 Writing: Version block Start Block 18 Done with: Version block Block(s) 1 Writing: Path table Start Block 19 Done with: Path table Block(s) 4 Writing: Directory tree Start Block 23 Done with: Directory tree Block(s) 2 Writing: Directory tree cleanup Start Block 25 Done with: Directory tree cleanup Block(s) 0 Writing: Extension record Start Block 25 Done with: Extension record Block(s) 1 Writing: The File(s) Start Block 26 Total extents scheduled to be written = 26 Total translation table size: 0 Total rockridge attributes bytes: 379 Total directory bytes: 2400 Path table size(bytes): 22 Done with: The File(s) Block(s) 0 Max brk space used 0 26 extents written (0 MB) ______________________ test_hybrid_rr_and_eltorito_rmdir _______________________ tmp_path = PosixPath('/tmp/pytest-of-pbuilder1/pytest-0/test_hybrid_rr_and_eltorito_rm0') def test_hybrid_rr_and_eltorito_rmdir(tmp_path): # First set things up, and generate the ISO with genisoimage. indir = tmp_path / 'rreltoritormdir' indir.mkdir() outfile = str(indir)+'.iso' with open(os.path.join(str(indir), 'boot'), 'wb') as outfp: outfp.write(b'boot\n') newdir = indir / 'dir1' newdir.mkdir() subprocess.call(['genisoimage', '-v', '-v', '-iso-level', '1', '-no-pad', '-c', 'boot.cat', '-b', 'boot', '-no-emul-boot', '-rational-rock', '-o', str(outfile), str(indir)]) # Now open up the ISO with pycdlib and check some things out. iso = pycdlib.PyCdlib() iso.open(str(outfile)) iso.rm_directory('/DIR1', rr_name='dir1') > do_a_test(iso, check_rr_and_eltorito_nofiles) tests/integration/test_hybrid.py:1143: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/integration/test_hybrid.py:21: in do_a_test check_func(iso, len(out.getvalue())) tests/integration/test_common.py:1840: in check_rr_and_eltorito_nofiles internal_check_root_dir_record(iso.pvd.root_dir_record, num_children=4, data_length=2048, extent_location=24, rr=True, rr_nlinks=2, xa=False, rr_onetwelve=False) tests/integration/test_common.py:289: in internal_check_root_dir_record internal_check_dotdot_dir_record(root_dir_record.children[1], rr=rr, rr_nlinks=rr_nlinks, xa=xa, rr_onetwelve=rr_onetwelve) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dotdot_record = , rr = True rr_nlinks = 2, xa = False, rr_onetwelve = False def internal_check_dotdot_dir_record(dotdot_record, rr, rr_nlinks, xa, rr_onetwelve): # The file identifier for the 'dotdot' directory entry should be the byte 1. assert(dotdot_record.file_ident == b'\x01') # The 'dotdot' directory entry should be a directory. assert(dotdot_record.isdir == True) # The 'dotdot' directory record length should be exactly 34 with no extensions. if rr: if rr_onetwelve: expected_dr_len = 104 else: expected_dr_len = 102 else: expected_dr_len = 34 if xa: expected_dr_len += 14 assert(dotdot_record.dr_len == expected_dr_len) # The 'dotdot' directory record is not the root. assert(dotdot_record.is_root == False) # The 'dotdot' directory record should have no children. assert(len(dotdot_record.children) == 0) assert(dotdot_record.file_flags == 2) if rr: assert(dotdot_record.rock_ridge._initialized == True) assert(dotdot_record.rock_ridge.dr_entries.sp_record == None) if not rr_onetwelve: assert(dotdot_record.rock_ridge.dr_entries.rr_record != None) assert(dotdot_record.rock_ridge.dr_entries.rr_record.rr_flags == 0x81) assert(dotdot_record.rock_ridge.dr_entries.ce_record == None) assert(dotdot_record.rock_ridge.dr_entries.px_record != None) assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_mode == 0o040555) > assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_links == rr_nlinks) E assert 1 == 2 E + where 1 = .posix_file_links E + where = .px_record E + where = .dr_entries E + where = .rock_ridge tests/integration/test_common.py:416: AssertionError ----------------------------- Captured stderr call ----------------------------- genisoimage 1.1.11 (Linux) Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_hybrid_rr_and_eltorito_rm0/rreltoritormdir Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_hybrid_rr_and_eltorito_rm0/rreltoritormdir/dir1 24 592 25 204 dir1 Cache hit for 'dir1/.' Cache hit for 'dir1/..' 24 24 /tmp/pytest-of-pbuilder1/pytest-0/test_hybrid_rr_and_eltorito_rm0/rreltoritormdir/. 24 24 (null) 28 28 /tmp/pytest-of-pbuilder1/pytest-0/test_hybrid_rr_and_eltorito_rm0/rreltoritormdir/boot 27 27 /TRANS.TBL 25 25 /tmp/pytest-of-pbuilder1/pytest-0/test_hybrid_rr_and_eltorito_rm0/rreltoritormdir/dir1 Writing: Initial Padblock Start Block 0 Done with: Initial Padblock Block(s) 16 Writing: Primary Volume Descriptor Start Block 16 Done with: Primary Volume Descriptor Block(s) 1 Writing: Eltorito Volume Descriptor Start Block 17 Size of boot image is 4 sectors -> No emulation Done with: Eltorito Volume Descriptor Block(s) 1 Writing: End Volume Descriptor Start Block 18 Done with: End Volume Descriptor Block(s) 1 Writing: Version block Start Block 19 Done with: Version block Block(s) 1 Writing: Path table Start Block 20 Done with: Path table Block(s) 4 Writing: Directory tree Start Block 24 Done with: Directory tree Block(s) 2 Writing: Directory tree cleanup Start Block 26 Done with: Directory tree cleanup Block(s) 0 Writing: Extension record Start Block 26 Done with: Extension record Block(s) 1 Writing: The File(s) Start Block 27 Total extents scheduled to be written = 29 Total translation table size: 2048 Total rockridge attributes bytes: 535 Total directory bytes: 2640 Path table size(bytes): 22 Done with: The File(s) Block(s) 2 Max brk space used 0 29 extents written (0 MB) ______________________ test_hybrid_rr_and_eltorito_rmdir2 ______________________ tmp_path = PosixPath('/tmp/pytest-of-pbuilder1/pytest-0/test_hybrid_rr_and_eltorito_rm1') def test_hybrid_rr_and_eltorito_rmdir2(tmp_path): # First set things up, and generate the ISO with genisoimage. indir = tmp_path / 'rreltoritormdir2' indir.mkdir() outfile = str(indir)+'.iso' with open(os.path.join(str(indir), 'boot'), 'wb') as outfp: outfp.write(b'boot\n') dir1 = indir / 'dir1' dir1.mkdir() subdir = dir1 / 'subdir1' subdir.mkdir() subprocess.call(['genisoimage', '-v', '-v', '-iso-level', '1', '-no-pad', '-c', 'boot.cat', '-b', 'boot', '-no-emul-boot', '-rational-rock', '-o', str(outfile), str(indir)]) # Now open up the ISO with pycdlib and check some things out. iso = pycdlib.PyCdlib() iso.open(str(outfile)) iso.rm_directory('/DIR1/SUBDIR1', rr_name='subdir1') > do_a_test(iso, check_rr_and_eltorito_onedir) tests/integration/test_hybrid.py:1169: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/integration/test_hybrid.py:21: in do_a_test check_func(iso, len(out.getvalue())) tests/integration/test_common.py:1879: in check_rr_and_eltorito_onedir internal_check_root_dir_record(iso.pvd.root_dir_record, num_children=5, data_length=2048, extent_location=24, rr=True, rr_nlinks=3, xa=False, rr_onetwelve=False) tests/integration/test_common.py:289: in internal_check_root_dir_record internal_check_dotdot_dir_record(root_dir_record.children[1], rr=rr, rr_nlinks=rr_nlinks, xa=xa, rr_onetwelve=rr_onetwelve) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dotdot_record = , rr = True rr_nlinks = 3, xa = False, rr_onetwelve = False def internal_check_dotdot_dir_record(dotdot_record, rr, rr_nlinks, xa, rr_onetwelve): # The file identifier for the 'dotdot' directory entry should be the byte 1. assert(dotdot_record.file_ident == b'\x01') # The 'dotdot' directory entry should be a directory. assert(dotdot_record.isdir == True) # The 'dotdot' directory record length should be exactly 34 with no extensions. if rr: if rr_onetwelve: expected_dr_len = 104 else: expected_dr_len = 102 else: expected_dr_len = 34 if xa: expected_dr_len += 14 assert(dotdot_record.dr_len == expected_dr_len) # The 'dotdot' directory record is not the root. assert(dotdot_record.is_root == False) # The 'dotdot' directory record should have no children. assert(len(dotdot_record.children) == 0) assert(dotdot_record.file_flags == 2) if rr: assert(dotdot_record.rock_ridge._initialized == True) assert(dotdot_record.rock_ridge.dr_entries.sp_record == None) if not rr_onetwelve: assert(dotdot_record.rock_ridge.dr_entries.rr_record != None) assert(dotdot_record.rock_ridge.dr_entries.rr_record.rr_flags == 0x81) assert(dotdot_record.rock_ridge.dr_entries.ce_record == None) assert(dotdot_record.rock_ridge.dr_entries.px_record != None) assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_mode == 0o040555) > assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_links == rr_nlinks) E assert 2 == 3 E + where 2 = .posix_file_links E + where = .px_record E + where = .dr_entries E + where = .rock_ridge tests/integration/test_common.py:416: AssertionError ----------------------------- Captured stderr call ----------------------------- genisoimage 1.1.11 (Linux) Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_hybrid_rr_and_eltorito_rm1/rreltoritormdir2 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_hybrid_rr_and_eltorito_rm1/rreltoritormdir2/dir1 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_hybrid_rr_and_eltorito_rm1/rreltoritormdir2/dir1/subdir1 24 592 25 324 dir1 26 204 subdir1 Cache hit for 'dir1/.' Cache hit for 'dir1/..' Cache hit for 'subdir1/.' Cache hit for 'subdir1/..' 24 24 /tmp/pytest-of-pbuilder1/pytest-0/test_hybrid_rr_and_eltorito_rm1/rreltoritormdir2/. 24 24 (null) 29 29 /tmp/pytest-of-pbuilder1/pytest-0/test_hybrid_rr_and_eltorito_rm1/rreltoritormdir2/boot 28 28 /TRANS.TBL 25 25 /tmp/pytest-of-pbuilder1/pytest-0/test_hybrid_rr_and_eltorito_rm1/rreltoritormdir2/dir1 26 26 /tmp/pytest-of-pbuilder1/pytest-0/test_hybrid_rr_and_eltorito_rm1/rreltoritormdir2/dir1/subdir1 Writing: Initial Padblock Start Block 0 Done with: Initial Padblock Block(s) 16 Writing: Primary Volume Descriptor Start Block 16 Done with: Primary Volume Descriptor Block(s) 1 Writing: Eltorito Volume Descriptor Start Block 17 Size of boot image is 4 sectors -> No emulation Done with: Eltorito Volume Descriptor Block(s) 1 Writing: End Volume Descriptor Start Block 18 Done with: End Volume Descriptor Block(s) 1 Writing: Version block Start Block 19 Done with: Version block Block(s) 1 Writing: Path table Start Block 20 Done with: Path table Block(s) 4 Writing: Directory tree Start Block 24 Done with: Directory tree Block(s) 3 Writing: Directory tree cleanup Start Block 27 Done with: Directory tree cleanup Block(s) 0 Writing: Extension record Start Block 27 Done with: Extension record Block(s) 1 Writing: The File(s) Start Block 28 Total extents scheduled to be written = 30 Total translation table size: 2048 Total rockridge attributes bytes: 748 Total directory bytes: 4688 Path table size(bytes): 38 Done with: The File(s) Block(s) 2 Max brk space used 0 30 extents written (0 MB) __________________ test_hybrid_joliet_rr_and_eltorito_onedir ___________________ tmp_path = PosixPath('/tmp/pytest-of-pbuilder1/pytest-0/test_hybrid_joliet_rr_and_elto5') def test_hybrid_joliet_rr_and_eltorito_onedir(tmp_path): # First set things up, and generate the ISO with genisoimage. indir = tmp_path / 'jolietrreltoritoonedir' indir.mkdir() outfile = str(indir)+'.iso' newdir = indir / 'dir1' newdir.mkdir() subprocess.call(['genisoimage', '-v', '-v', '-iso-level', '1', '-no-pad', '-J', '-rational-rock', '-o', str(outfile), str(indir)]) # Now open up the ISO with pycdlib and check some things out. iso = pycdlib.PyCdlib() iso.open(str(outfile)) bootstr = b'boot\n' iso.add_fp(BytesIO(bootstr), len(bootstr), '/BOOT.;1', rr_name='boot', joliet_path='/boot') iso.add_eltorito('/BOOT.;1', '/BOOT.CAT;1') > do_a_test(iso, check_joliet_rr_and_eltorito_onedir) tests/integration/test_hybrid.py:1529: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/integration/test_hybrid.py:21: in do_a_test check_func(iso, len(out.getvalue())) tests/integration/test_common.py:2203: in check_joliet_rr_and_eltorito_onedir internal_check_root_dir_record(iso.pvd.root_dir_record, num_children=5, data_length=2048, extent_location=29, rr=True, rr_nlinks=3, xa=False, rr_onetwelve=False) tests/integration/test_common.py:289: in internal_check_root_dir_record internal_check_dotdot_dir_record(root_dir_record.children[1], rr=rr, rr_nlinks=rr_nlinks, xa=xa, rr_onetwelve=rr_onetwelve) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dotdot_record = , rr = True rr_nlinks = 3, xa = False, rr_onetwelve = False def internal_check_dotdot_dir_record(dotdot_record, rr, rr_nlinks, xa, rr_onetwelve): # The file identifier for the 'dotdot' directory entry should be the byte 1. assert(dotdot_record.file_ident == b'\x01') # The 'dotdot' directory entry should be a directory. assert(dotdot_record.isdir == True) # The 'dotdot' directory record length should be exactly 34 with no extensions. if rr: if rr_onetwelve: expected_dr_len = 104 else: expected_dr_len = 102 else: expected_dr_len = 34 if xa: expected_dr_len += 14 assert(dotdot_record.dr_len == expected_dr_len) # The 'dotdot' directory record is not the root. assert(dotdot_record.is_root == False) # The 'dotdot' directory record should have no children. assert(len(dotdot_record.children) == 0) assert(dotdot_record.file_flags == 2) if rr: assert(dotdot_record.rock_ridge._initialized == True) assert(dotdot_record.rock_ridge.dr_entries.sp_record == None) if not rr_onetwelve: assert(dotdot_record.rock_ridge.dr_entries.rr_record != None) assert(dotdot_record.rock_ridge.dr_entries.rr_record.rr_flags == 0x81) assert(dotdot_record.rock_ridge.dr_entries.ce_record == None) assert(dotdot_record.rock_ridge.dr_entries.px_record != None) assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_mode == 0o040555) > assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_links == rr_nlinks) E assert 2 == 3 E + where 2 = .posix_file_links E + where = .px_record E + where = .dr_entries E + where = .rock_ridge tests/integration/test_common.py:416: AssertionError ----------------------------- Captured stderr call ----------------------------- genisoimage 1.1.11 (Linux) Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_hybrid_joliet_rr_and_elto5/jolietrreltoritoonedir Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_hybrid_joliet_rr_and_elto5/jolietrreltoritoonedir/dir1 28 352 29 204 dir1 Cache hit for 'dir1/.' Cache hit for 'dir1/..' Writing: Initial Padblock Start Block 0 Done with: Initial Padblock Block(s) 16 Writing: Primary Volume Descriptor Start Block 16 Done with: Primary Volume Descriptor Block(s) 1 Writing: Joliet Volume Descriptor Start Block 17 Done with: Joliet Volume Descriptor Block(s) 1 Writing: End Volume Descriptor Start Block 18 Done with: End Volume Descriptor Block(s) 1 Writing: Version block Start Block 19 Done with: Version block Block(s) 1 Writing: Path table Start Block 20 Done with: Path table Block(s) 4 Writing: Joliet path table Start Block 24 Done with: Joliet path table Block(s) 4 Writing: Directory tree Start Block 28 Done with: Directory tree Block(s) 2 Writing: Joliet directory tree Start Block 30 Done with: Joliet directory tree Block(s) 2 Writing: Directory tree cleanup Start Block 32 Done with: Directory tree cleanup Block(s) 0 Writing: Extension record Start Block 32 Done with: Extension record Block(s) 1 Writing: The File(s) Start Block 33 Total extents scheduled to be written = 33 Total translation table size: 0 Total rockridge attributes bytes: 379 Total directory bytes: 2400 Path table size(bytes): 22 Done with: The File(s) Block(s) 0 Max brk space used 0 33 extents written (0 MB) _____________________________ test_hybrid_rr_rmdir _____________________________ tmp_path = PosixPath('/tmp/pytest-of-pbuilder1/pytest-0/test_hybrid_rr_rmdir0') def test_hybrid_rr_rmdir(tmp_path): # First set things up, and generate the ISO with genisoimage. indir = tmp_path / 'rrrmfile2' indir.mkdir() outfile = str(indir)+'.iso' newdir = indir / 'dir1' newdir.mkdir() subprocess.call(['genisoimage', '-v', '-v', '-iso-level', '1', '-no-pad', '-rational-rock', '-o', str(outfile), str(indir)]) # Now open up the ISO with pycdlib and check some things out. iso = pycdlib.PyCdlib() iso.open(str(outfile)) iso.rm_directory('/DIR1', rr_name='dir1') > do_a_test(iso, check_rr_nofiles) tests/integration/test_hybrid.py:1617: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/integration/test_hybrid.py:21: in do_a_test check_func(iso, len(out.getvalue())) tests/integration/test_common.py:1401: in check_rr_nofiles internal_check_root_dir_record(iso.pvd.root_dir_record, num_children=2, data_length=2048, extent_location=23, rr=True, rr_nlinks=2, xa=False, rr_onetwelve=False) tests/integration/test_common.py:289: in internal_check_root_dir_record internal_check_dotdot_dir_record(root_dir_record.children[1], rr=rr, rr_nlinks=rr_nlinks, xa=xa, rr_onetwelve=rr_onetwelve) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dotdot_record = , rr = True rr_nlinks = 2, xa = False, rr_onetwelve = False def internal_check_dotdot_dir_record(dotdot_record, rr, rr_nlinks, xa, rr_onetwelve): # The file identifier for the 'dotdot' directory entry should be the byte 1. assert(dotdot_record.file_ident == b'\x01') # The 'dotdot' directory entry should be a directory. assert(dotdot_record.isdir == True) # The 'dotdot' directory record length should be exactly 34 with no extensions. if rr: if rr_onetwelve: expected_dr_len = 104 else: expected_dr_len = 102 else: expected_dr_len = 34 if xa: expected_dr_len += 14 assert(dotdot_record.dr_len == expected_dr_len) # The 'dotdot' directory record is not the root. assert(dotdot_record.is_root == False) # The 'dotdot' directory record should have no children. assert(len(dotdot_record.children) == 0) assert(dotdot_record.file_flags == 2) if rr: assert(dotdot_record.rock_ridge._initialized == True) assert(dotdot_record.rock_ridge.dr_entries.sp_record == None) if not rr_onetwelve: assert(dotdot_record.rock_ridge.dr_entries.rr_record != None) assert(dotdot_record.rock_ridge.dr_entries.rr_record.rr_flags == 0x81) assert(dotdot_record.rock_ridge.dr_entries.ce_record == None) assert(dotdot_record.rock_ridge.dr_entries.px_record != None) assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_mode == 0o040555) > assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_links == rr_nlinks) E assert 1 == 2 E + where 1 = .posix_file_links E + where = .px_record E + where = .dr_entries E + where = .rock_ridge tests/integration/test_common.py:416: AssertionError ----------------------------- Captured stderr call ----------------------------- genisoimage 1.1.11 (Linux) Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_hybrid_rr_rmdir0/rrrmfile2 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_hybrid_rr_rmdir0/rrrmfile2/dir1 23 352 24 204 dir1 Cache hit for 'dir1/.' Cache hit for 'dir1/..' Writing: Initial Padblock Start Block 0 Done with: Initial Padblock Block(s) 16 Writing: Primary Volume Descriptor Start Block 16 Done with: Primary Volume Descriptor Block(s) 1 Writing: End Volume Descriptor Start Block 17 Done with: End Volume Descriptor Block(s) 1 Writing: Version block Start Block 18 Done with: Version block Block(s) 1 Writing: Path table Start Block 19 Done with: Path table Block(s) 4 Writing: Directory tree Start Block 23 Done with: Directory tree Block(s) 2 Writing: Directory tree cleanup Start Block 25 Done with: Directory tree cleanup Block(s) 0 Writing: Extension record Start Block 25 Done with: Extension record Block(s) 1 Writing: The File(s) Start Block 26 Total extents scheduled to be written = 26 Total translation table size: 0 Total rockridge attributes bytes: 379 Total directory bytes: 2400 Path table size(bytes): 22 Done with: The File(s) Block(s) 0 Max brk space used 0 26 extents written (0 MB) __________________________ test_hybrid_sevendeepdirs ___________________________ tmp_path = PosixPath('/tmp/pytest-of-pbuilder1/pytest-0/test_hybrid_sevendeepdirs0') def test_hybrid_sevendeepdirs(tmp_path): # First set things up, and generate the ISO with genisoimage. indir = tmp_path / 'sevendeepdirs' indir.mkdir() outfile = str(indir)+'.iso' numdirs = 8 x = indir for i in range(1, 1+numdirs): x = x / ('dir%d' % i) x.mkdir(parents=True) subprocess.call(['genisoimage', '-v', '-v', '-iso-level', '1', '-no-pad', '-rational-rock', '-o', str(outfile), str(indir)]) # Now open up the ISO with pycdlib and check some things out. iso = pycdlib.PyCdlib() iso.open(str(outfile)) iso.rm_directory('/DIR1/DIR2/DIR3/DIR4/DIR5/DIR6/DIR7/DIR8', rr_name='dir8') > do_a_test(iso, check_sevendeepdirs) tests/integration/test_hybrid.py:1722: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/integration/test_hybrid.py:21: in do_a_test check_func(iso, len(out.getvalue())) tests/integration/test_common.py:2340: in check_sevendeepdirs internal_check_root_dir_record(iso.pvd.root_dir_record, num_children=3, data_length=2048, extent_location=23, rr=True, rr_nlinks=3, xa=False, rr_onetwelve=False) tests/integration/test_common.py:289: in internal_check_root_dir_record internal_check_dotdot_dir_record(root_dir_record.children[1], rr=rr, rr_nlinks=rr_nlinks, xa=xa, rr_onetwelve=rr_onetwelve) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dotdot_record = , rr = True rr_nlinks = 3, xa = False, rr_onetwelve = False def internal_check_dotdot_dir_record(dotdot_record, rr, rr_nlinks, xa, rr_onetwelve): # The file identifier for the 'dotdot' directory entry should be the byte 1. assert(dotdot_record.file_ident == b'\x01') # The 'dotdot' directory entry should be a directory. assert(dotdot_record.isdir == True) # The 'dotdot' directory record length should be exactly 34 with no extensions. if rr: if rr_onetwelve: expected_dr_len = 104 else: expected_dr_len = 102 else: expected_dr_len = 34 if xa: expected_dr_len += 14 assert(dotdot_record.dr_len == expected_dr_len) # The 'dotdot' directory record is not the root. assert(dotdot_record.is_root == False) # The 'dotdot' directory record should have no children. assert(len(dotdot_record.children) == 0) assert(dotdot_record.file_flags == 2) if rr: assert(dotdot_record.rock_ridge._initialized == True) assert(dotdot_record.rock_ridge.dr_entries.sp_record == None) if not rr_onetwelve: assert(dotdot_record.rock_ridge.dr_entries.rr_record != None) assert(dotdot_record.rock_ridge.dr_entries.rr_record.rr_flags == 0x81) assert(dotdot_record.rock_ridge.dr_entries.ce_record == None) assert(dotdot_record.rock_ridge.dr_entries.px_record != None) assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_mode == 0o040555) > assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_links == rr_nlinks) E assert 2 == 3 E + where 2 = .posix_file_links E + where = .px_record E + where = .dr_entries E + where = .rock_ridge tests/integration/test_common.py:416: AssertionError ----------------------------- Captured stderr call ----------------------------- genisoimage 1.1.11 (Linux) Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_hybrid_sevendeepdirs0/sevendeepdirs Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_hybrid_sevendeepdirs0/sevendeepdirs/dir1 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_hybrid_sevendeepdirs0/sevendeepdirs/dir1/dir2 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_hybrid_sevendeepdirs0/sevendeepdirs/dir1/dir2/dir3 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_hybrid_sevendeepdirs0/sevendeepdirs/dir1/dir2/dir3/dir4 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_hybrid_sevendeepdirs0/sevendeepdirs/dir1/dir2/dir3/dir4/dir5 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_hybrid_sevendeepdirs0/sevendeepdirs/dir1/dir2/dir3/dir4/dir5/dir6 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_hybrid_sevendeepdirs0/sevendeepdirs/dir1/dir2/dir3/dir4/dir5/dir6/dir7 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_hybrid_sevendeepdirs0/sevendeepdirs/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8 23 474 24 322 rr_moved 25 216 dir8 26 318 dir1 27 318 dir2 28 318 dir3 29 318 dir4 30 318 dir5 31 318 dir6 32 330 dir7 Cache hit for 'dir8/.' Cache hit for 'dir1/.' Cache hit for 'dir1/..' Cache hit for 'dir2/.' Cache hit for 'dir2/..' Cache hit for 'dir3/.' Cache hit for 'dir3/..' Cache hit for 'dir4/.' Cache hit for 'dir4/..' Cache hit for 'dir5/.' Cache hit for 'dir5/..' Cache hit for 'dir6/.' Cache hit for 'dir6/..' Cache hit for 'dir7/.' Cache hit for 'dir7/..' Writing: Initial Padblock Start Block 0 Done with: Initial Padblock Block(s) 16 Writing: Primary Volume Descriptor Start Block 16 Done with: Primary Volume Descriptor Block(s) 1 Writing: End Volume Descriptor Start Block 17 Done with: End Volume Descriptor Block(s) 1 Writing: Version block Start Block 18 Done with: Version block Block(s) 1 Writing: Path table Start Block 19 Done with: Path table Block(s) 4 Writing: Directory tree Start Block 23 Done with: Directory tree Block(s) 10 Writing: Directory tree cleanup Start Block 33 Done with: Directory tree cleanup Block(s) 0 Writing: Extension record Start Block 33 Done with: Extension record Block(s) 1 Writing: The File(s) Start Block 34 Total extents scheduled to be written = 34 Total translation table size: 0 Total rockridge attributes bytes: 2167 Total directory bytes: 18906 Path table size(bytes): 122 Done with: The File(s) Block(s) 0 Max brk space used 42000 34 extents written (0 MB) _________________________ test_parse_rr_onefileonedir __________________________ tmp_path = PosixPath('/tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_onefileonedir0') def test_parse_rr_onefileonedir(tmp_path): # First set things up, and generate the ISO with genisoimage. indir = tmp_path / 'rronefileonedir' indir.mkdir() outfile = str(indir)+'.iso' with open(os.path.join(str(indir), 'foo'), 'wb') as outfp: outfp.write(b'foo\n') newdir = indir / 'dir1' newdir.mkdir() subprocess.call(['genisoimage', '-v', '-v', '-iso-level', '1', '-no-pad', '-rational-rock', '-o', str(outfile), str(indir)]) > do_a_test(tmp_path, outfile, check_rr_onefileonedir) tests/integration/test_parse.py:345: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/integration/test_parse.py:21: in do_a_test check_func(iso, os.stat(str(outfile)).st_size) tests/integration/test_common.py:1459: in check_rr_onefileonedir internal_check_root_dir_record(iso.pvd.root_dir_record, num_children=4, data_length=2048, extent_location=23, rr=True, rr_nlinks=3, xa=False, rr_onetwelve=False) tests/integration/test_common.py:289: in internal_check_root_dir_record internal_check_dotdot_dir_record(root_dir_record.children[1], rr=rr, rr_nlinks=rr_nlinks, xa=xa, rr_onetwelve=rr_onetwelve) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dotdot_record = , rr = True rr_nlinks = 3, xa = False, rr_onetwelve = False def internal_check_dotdot_dir_record(dotdot_record, rr, rr_nlinks, xa, rr_onetwelve): # The file identifier for the 'dotdot' directory entry should be the byte 1. assert(dotdot_record.file_ident == b'\x01') # The 'dotdot' directory entry should be a directory. assert(dotdot_record.isdir == True) # The 'dotdot' directory record length should be exactly 34 with no extensions. if rr: if rr_onetwelve: expected_dr_len = 104 else: expected_dr_len = 102 else: expected_dr_len = 34 if xa: expected_dr_len += 14 assert(dotdot_record.dr_len == expected_dr_len) # The 'dotdot' directory record is not the root. assert(dotdot_record.is_root == False) # The 'dotdot' directory record should have no children. assert(len(dotdot_record.children) == 0) assert(dotdot_record.file_flags == 2) if rr: assert(dotdot_record.rock_ridge._initialized == True) assert(dotdot_record.rock_ridge.dr_entries.sp_record == None) if not rr_onetwelve: assert(dotdot_record.rock_ridge.dr_entries.rr_record != None) assert(dotdot_record.rock_ridge.dr_entries.rr_record.rr_flags == 0x81) assert(dotdot_record.rock_ridge.dr_entries.ce_record == None) assert(dotdot_record.rock_ridge.dr_entries.px_record != None) assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_mode == 0o040555) > assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_links == rr_nlinks) E assert 2 == 3 E + where 2 = .posix_file_links E + where = .px_record E + where = .dr_entries E + where = .rock_ridge tests/integration/test_common.py:416: AssertionError ----------------------------- Captured stderr call ----------------------------- genisoimage 1.1.11 (Linux) Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_onefileonedir0/rronefileonedir Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_onefileonedir0/rronefileonedir/dir1 23 468 24 204 dir1 26 26 /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_onefileonedir0/rronefileonedir/foo Cache hit for 'dir1/.' Cache hit for 'dir1/..' Writing: Initial Padblock Start Block 0 Done with: Initial Padblock Block(s) 16 Writing: Primary Volume Descriptor Start Block 16 Done with: Primary Volume Descriptor Block(s) 1 Writing: End Volume Descriptor Start Block 17 Done with: End Volume Descriptor Block(s) 1 Writing: Version block Start Block 18 Done with: Version block Block(s) 1 Writing: Path table Start Block 19 Done with: Path table Block(s) 4 Writing: Directory tree Start Block 23 Done with: Directory tree Block(s) 2 Writing: Directory tree cleanup Start Block 25 Done with: Directory tree cleanup Block(s) 0 Writing: Extension record Start Block 25 Done with: Extension record Block(s) 1 Writing: The File(s) Start Block 26 Total extents scheduled to be written = 27 Total translation table size: 0 Total rockridge attributes bytes: 454 Total directory bytes: 2516 Path table size(bytes): 22 Done with: The File(s) Block(s) 1 Max brk space used 0 27 extents written (0 MB) _____________________ test_parse_rr_onefileonedirwithfile ______________________ tmp_path = PosixPath('/tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_onefileonedirwit0') def test_parse_rr_onefileonedirwithfile(tmp_path): # First set things up, and generate the ISO with genisoimage. indir = tmp_path / 'rronefileonedirwithfile' indir.mkdir() outfile = str(indir)+'.iso' with open(os.path.join(str(indir), 'foo'), 'wb') as outfp: outfp.write(b'foo\n') dir1 = newdir = indir / 'dir1' newdir.mkdir() with open(os.path.join(str(dir1), 'bar'), 'wb') as outfp: outfp.write(b'bar\n') subprocess.call(['genisoimage', '-v', '-v', '-iso-level', '1', '-no-pad', '-rational-rock', '-o', str(outfile), str(indir)]) > do_a_test(tmp_path, outfile, check_rr_onefileonedirwithfile) tests/integration/test_parse.py:361: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/integration/test_parse.py:21: in do_a_test check_func(iso, os.stat(str(outfile)).st_size) tests/integration/test_common.py:1481: in check_rr_onefileonedirwithfile internal_check_root_dir_record(iso.pvd.root_dir_record, num_children=4, data_length=2048, extent_location=23, rr=True, rr_nlinks=3, xa=False, rr_onetwelve=False) tests/integration/test_common.py:289: in internal_check_root_dir_record internal_check_dotdot_dir_record(root_dir_record.children[1], rr=rr, rr_nlinks=rr_nlinks, xa=xa, rr_onetwelve=rr_onetwelve) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dotdot_record = , rr = True rr_nlinks = 3, xa = False, rr_onetwelve = False def internal_check_dotdot_dir_record(dotdot_record, rr, rr_nlinks, xa, rr_onetwelve): # The file identifier for the 'dotdot' directory entry should be the byte 1. assert(dotdot_record.file_ident == b'\x01') # The 'dotdot' directory entry should be a directory. assert(dotdot_record.isdir == True) # The 'dotdot' directory record length should be exactly 34 with no extensions. if rr: if rr_onetwelve: expected_dr_len = 104 else: expected_dr_len = 102 else: expected_dr_len = 34 if xa: expected_dr_len += 14 assert(dotdot_record.dr_len == expected_dr_len) # The 'dotdot' directory record is not the root. assert(dotdot_record.is_root == False) # The 'dotdot' directory record should have no children. assert(len(dotdot_record.children) == 0) assert(dotdot_record.file_flags == 2) if rr: assert(dotdot_record.rock_ridge._initialized == True) assert(dotdot_record.rock_ridge.dr_entries.sp_record == None) if not rr_onetwelve: assert(dotdot_record.rock_ridge.dr_entries.rr_record != None) assert(dotdot_record.rock_ridge.dr_entries.rr_record.rr_flags == 0x81) assert(dotdot_record.rock_ridge.dr_entries.ce_record == None) assert(dotdot_record.rock_ridge.dr_entries.px_record != None) assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_mode == 0o040555) > assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_links == rr_nlinks) E assert 2 == 3 E + where 2 = .posix_file_links E + where = .px_record E + where = .dr_entries E + where = .rock_ridge tests/integration/test_common.py:416: AssertionError ----------------------------- Captured stderr call ----------------------------- genisoimage 1.1.11 (Linux) Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_onefileonedirwit0/rronefileonedirwithfile Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_onefileonedirwit0/rronefileonedirwithfile/dir1 23 468 24 320 dir1 26 26 /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_onefileonedirwit0/rronefileonedirwithfile/foo Cache hit for 'dir1/.' Cache hit for 'dir1/..' 27 27 /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_onefileonedirwit0/rronefileonedirwithfile/dir1/bar Writing: Initial Padblock Start Block 0 Done with: Initial Padblock Block(s) 16 Writing: Primary Volume Descriptor Start Block 16 Done with: Primary Volume Descriptor Block(s) 1 Writing: End Volume Descriptor Start Block 17 Done with: End Volume Descriptor Block(s) 1 Writing: Version block Start Block 18 Done with: Version block Block(s) 1 Writing: Path table Start Block 19 Done with: Path table Block(s) 4 Writing: Directory tree Start Block 23 Done with: Directory tree Block(s) 2 Writing: Directory tree cleanup Start Block 25 Done with: Directory tree cleanup Block(s) 0 Writing: Extension record Start Block 25 Done with: Extension record Block(s) 1 Writing: The File(s) Start Block 26 Total extents scheduled to be written = 28 Total translation table size: 0 Total rockridge attributes bytes: 529 Total directory bytes: 2516 Path table size(bytes): 22 Done with: The File(s) Block(s) 2 Max brk space used 0 28 extents written (0 MB) ____________________________ test_parse_rr_symlink2 ____________________________ tmp_path = PosixPath('/tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_symlink20') def test_parse_rr_symlink2(tmp_path): # First set things up, and generate the ISO with genisoimage. indir = tmp_path / 'rrsymlink2' indir.mkdir() outfile = str(indir)+'.iso' dir1 = newdir = indir / 'dir1' newdir.mkdir() with open(os.path.join(str(dir1), 'foo'), 'wb') as outfp: outfp.write(b'foo\n') pwd = os.getcwd() os.chdir(str(indir)) os.symlink('dir1/foo', 'sym') os.chdir(pwd) subprocess.call(['genisoimage', '-v', '-v', '-iso-level', '1', '-no-pad', '-rational-rock', '-o', str(outfile), str(indir)]) > do_a_test(tmp_path, outfile, check_rr_symlink2) tests/integration/test_parse.py:395: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/integration/test_parse.py:21: in do_a_test check_func(iso, os.stat(str(outfile)).st_size) tests/integration/test_common.py:1538: in check_rr_symlink2 internal_check_root_dir_record(iso.pvd.root_dir_record, num_children=4, data_length=2048, extent_location=23, rr=True, rr_nlinks=3, xa=False, rr_onetwelve=False) tests/integration/test_common.py:289: in internal_check_root_dir_record internal_check_dotdot_dir_record(root_dir_record.children[1], rr=rr, rr_nlinks=rr_nlinks, xa=xa, rr_onetwelve=rr_onetwelve) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dotdot_record = , rr = True rr_nlinks = 3, xa = False, rr_onetwelve = False def internal_check_dotdot_dir_record(dotdot_record, rr, rr_nlinks, xa, rr_onetwelve): # The file identifier for the 'dotdot' directory entry should be the byte 1. assert(dotdot_record.file_ident == b'\x01') # The 'dotdot' directory entry should be a directory. assert(dotdot_record.isdir == True) # The 'dotdot' directory record length should be exactly 34 with no extensions. if rr: if rr_onetwelve: expected_dr_len = 104 else: expected_dr_len = 102 else: expected_dr_len = 34 if xa: expected_dr_len += 14 assert(dotdot_record.dr_len == expected_dr_len) # The 'dotdot' directory record is not the root. assert(dotdot_record.is_root == False) # The 'dotdot' directory record should have no children. assert(len(dotdot_record.children) == 0) assert(dotdot_record.file_flags == 2) if rr: assert(dotdot_record.rock_ridge._initialized == True) assert(dotdot_record.rock_ridge.dr_entries.sp_record == None) if not rr_onetwelve: assert(dotdot_record.rock_ridge.dr_entries.rr_record != None) assert(dotdot_record.rock_ridge.dr_entries.rr_record.rr_flags == 0x81) assert(dotdot_record.rock_ridge.dr_entries.ce_record == None) assert(dotdot_record.rock_ridge.dr_entries.px_record != None) assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_mode == 0o040555) > assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_links == rr_nlinks) E assert 2 == 3 E + where 2 = .posix_file_links E + where = .px_record E + where = .dr_entries E + where = .rock_ridge tests/integration/test_common.py:416: AssertionError ----------------------------- Captured stderr call ----------------------------- genisoimage 1.1.11 (Linux) Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_symlink20/rrsymlink2 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_symlink20/rrsymlink2/dir1 23 484 24 320 dir1 Cache hit for 'dir1/.' Cache hit for 'dir1/..' 26 26 /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_symlink20/rrsymlink2/dir1/foo Writing: Initial Padblock Start Block 0 Done with: Initial Padblock Block(s) 16 Writing: Primary Volume Descriptor Start Block 16 Done with: Primary Volume Descriptor Block(s) 1 Writing: End Volume Descriptor Start Block 17 Done with: End Volume Descriptor Block(s) 1 Writing: Version block Start Block 18 Done with: Version block Block(s) 1 Writing: Path table Start Block 19 Done with: Path table Block(s) 4 Writing: Directory tree Start Block 23 Done with: Directory tree Block(s) 2 Writing: Directory tree cleanup Start Block 25 Done with: Directory tree cleanup Block(s) 0 Writing: Extension record Start Block 25 Done with: Extension record Block(s) 1 Writing: The File(s) Start Block 26 Total extents scheduled to be written = 27 Total translation table size: 0 Total rockridge attributes bytes: 545 Total directory bytes: 2532 Path table size(bytes): 22 Done with: The File(s) Block(s) 1 Max brk space used 0 27 extents written (0 MB) _______________________ test_parse_joliet_and_rr_onedir ________________________ tmp_path = PosixPath('/tmp/pytest-of-pbuilder1/pytest-0/test_parse_joliet_and_rr_onedi0') def test_parse_joliet_and_rr_onedir(tmp_path): # First set things up, and generate the ISO with genisoimage. indir = tmp_path / 'jolietandrronedir' indir.mkdir() outfile = str(indir)+'.iso' newdir = indir / 'dir1' newdir.mkdir() subprocess.call(['genisoimage', '-v', '-v', '-iso-level', '1', '-no-pad', '-rational-rock', '-J', '-o', str(outfile), str(indir)]) > do_a_test(tmp_path, outfile, check_joliet_and_rr_onedir) tests/integration/test_parse.py:567: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/integration/test_parse.py:21: in do_a_test check_func(iso, os.stat(str(outfile)).st_size) tests/integration/test_common.py:1813: in check_joliet_and_rr_onedir internal_check_root_dir_record(iso.pvd.root_dir_record, num_children=3, data_length=2048, extent_location=28, rr=True, rr_nlinks=3, xa=False, rr_onetwelve=False) tests/integration/test_common.py:289: in internal_check_root_dir_record internal_check_dotdot_dir_record(root_dir_record.children[1], rr=rr, rr_nlinks=rr_nlinks, xa=xa, rr_onetwelve=rr_onetwelve) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dotdot_record = , rr = True rr_nlinks = 3, xa = False, rr_onetwelve = False def internal_check_dotdot_dir_record(dotdot_record, rr, rr_nlinks, xa, rr_onetwelve): # The file identifier for the 'dotdot' directory entry should be the byte 1. assert(dotdot_record.file_ident == b'\x01') # The 'dotdot' directory entry should be a directory. assert(dotdot_record.isdir == True) # The 'dotdot' directory record length should be exactly 34 with no extensions. if rr: if rr_onetwelve: expected_dr_len = 104 else: expected_dr_len = 102 else: expected_dr_len = 34 if xa: expected_dr_len += 14 assert(dotdot_record.dr_len == expected_dr_len) # The 'dotdot' directory record is not the root. assert(dotdot_record.is_root == False) # The 'dotdot' directory record should have no children. assert(len(dotdot_record.children) == 0) assert(dotdot_record.file_flags == 2) if rr: assert(dotdot_record.rock_ridge._initialized == True) assert(dotdot_record.rock_ridge.dr_entries.sp_record == None) if not rr_onetwelve: assert(dotdot_record.rock_ridge.dr_entries.rr_record != None) assert(dotdot_record.rock_ridge.dr_entries.rr_record.rr_flags == 0x81) assert(dotdot_record.rock_ridge.dr_entries.ce_record == None) assert(dotdot_record.rock_ridge.dr_entries.px_record != None) assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_mode == 0o040555) > assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_links == rr_nlinks) E assert 2 == 3 E + where 2 = .posix_file_links E + where = .px_record E + where = .dr_entries E + where = .rock_ridge tests/integration/test_common.py:416: AssertionError ----------------------------- Captured stderr call ----------------------------- genisoimage 1.1.11 (Linux) Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_joliet_and_rr_onedi0/jolietandrronedir Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_joliet_and_rr_onedi0/jolietandrronedir/dir1 28 352 29 204 dir1 Cache hit for 'dir1/.' Cache hit for 'dir1/..' Writing: Initial Padblock Start Block 0 Done with: Initial Padblock Block(s) 16 Writing: Primary Volume Descriptor Start Block 16 Done with: Primary Volume Descriptor Block(s) 1 Writing: Joliet Volume Descriptor Start Block 17 Done with: Joliet Volume Descriptor Block(s) 1 Writing: End Volume Descriptor Start Block 18 Done with: End Volume Descriptor Block(s) 1 Writing: Version block Start Block 19 Done with: Version block Block(s) 1 Writing: Path table Start Block 20 Done with: Path table Block(s) 4 Writing: Joliet path table Start Block 24 Done with: Joliet path table Block(s) 4 Writing: Directory tree Start Block 28 Done with: Directory tree Block(s) 2 Writing: Joliet directory tree Start Block 30 Done with: Joliet directory tree Block(s) 2 Writing: Directory tree cleanup Start Block 32 Done with: Directory tree cleanup Block(s) 0 Writing: Extension record Start Block 32 Done with: Extension record Block(s) 1 Writing: The File(s) Start Block 33 Total extents scheduled to be written = 33 Total translation table size: 0 Total rockridge attributes bytes: 379 Total directory bytes: 2400 Path table size(bytes): 22 Done with: The File(s) Block(s) 0 Max brk space used 0 33 extents written (0 MB) ______________________ test_parse_rr_and_eltorito_onedir _______________________ tmp_path = PosixPath('/tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_and_eltorito_one1') def test_parse_rr_and_eltorito_onedir(tmp_path): # First set things up, and generate the ISO with genisoimage. indir = tmp_path / 'rrandeltoritoonedir' indir.mkdir() outfile = str(indir)+'.iso' with open(os.path.join(str(indir), 'boot'), 'wb') as outfp: outfp.write(b'boot\n') newdir = indir / 'dir1' newdir.mkdir() subprocess.call(['genisoimage', '-v', '-v', '-iso-level', '1', '-no-pad', '-c', 'boot.cat', '-b', 'boot', '-no-emul-boot', '-rational-rock', '-o', str(outfile), str(indir)]) > do_a_test(tmp_path, outfile, check_rr_and_eltorito_onedir) tests/integration/test_parse.py:610: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/integration/test_parse.py:21: in do_a_test check_func(iso, os.stat(str(outfile)).st_size) tests/integration/test_common.py:1879: in check_rr_and_eltorito_onedir internal_check_root_dir_record(iso.pvd.root_dir_record, num_children=5, data_length=2048, extent_location=24, rr=True, rr_nlinks=3, xa=False, rr_onetwelve=False) tests/integration/test_common.py:289: in internal_check_root_dir_record internal_check_dotdot_dir_record(root_dir_record.children[1], rr=rr, rr_nlinks=rr_nlinks, xa=xa, rr_onetwelve=rr_onetwelve) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dotdot_record = , rr = True rr_nlinks = 3, xa = False, rr_onetwelve = False def internal_check_dotdot_dir_record(dotdot_record, rr, rr_nlinks, xa, rr_onetwelve): # The file identifier for the 'dotdot' directory entry should be the byte 1. assert(dotdot_record.file_ident == b'\x01') # The 'dotdot' directory entry should be a directory. assert(dotdot_record.isdir == True) # The 'dotdot' directory record length should be exactly 34 with no extensions. if rr: if rr_onetwelve: expected_dr_len = 104 else: expected_dr_len = 102 else: expected_dr_len = 34 if xa: expected_dr_len += 14 assert(dotdot_record.dr_len == expected_dr_len) # The 'dotdot' directory record is not the root. assert(dotdot_record.is_root == False) # The 'dotdot' directory record should have no children. assert(len(dotdot_record.children) == 0) assert(dotdot_record.file_flags == 2) if rr: assert(dotdot_record.rock_ridge._initialized == True) assert(dotdot_record.rock_ridge.dr_entries.sp_record == None) if not rr_onetwelve: assert(dotdot_record.rock_ridge.dr_entries.rr_record != None) assert(dotdot_record.rock_ridge.dr_entries.rr_record.rr_flags == 0x81) assert(dotdot_record.rock_ridge.dr_entries.ce_record == None) assert(dotdot_record.rock_ridge.dr_entries.px_record != None) assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_mode == 0o040555) > assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_links == rr_nlinks) E assert 2 == 3 E + where 2 = .posix_file_links E + where = .px_record E + where = .dr_entries E + where = .rock_ridge tests/integration/test_common.py:416: AssertionError ----------------------------- Captured stderr call ----------------------------- genisoimage 1.1.11 (Linux) Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_and_eltorito_one1/rrandeltoritoonedir Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_and_eltorito_one1/rrandeltoritoonedir/dir1 24 592 25 204 dir1 Cache hit for 'dir1/.' Cache hit for 'dir1/..' 24 24 /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_and_eltorito_one1/rrandeltoritoonedir/. 24 24 (null) 28 28 /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_and_eltorito_one1/rrandeltoritoonedir/boot 27 27 /TRANS.TBL 25 25 /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_and_eltorito_one1/rrandeltoritoonedir/dir1 Writing: Initial Padblock Start Block 0 Done with: Initial Padblock Block(s) 16 Writing: Primary Volume Descriptor Start Block 16 Done with: Primary Volume Descriptor Block(s) 1 Writing: Eltorito Volume Descriptor Start Block 17 Size of boot image is 4 sectors -> No emulation Done with: Eltorito Volume Descriptor Block(s) 1 Writing: End Volume Descriptor Start Block 18 Done with: End Volume Descriptor Block(s) 1 Writing: Version block Start Block 19 Done with: Version block Block(s) 1 Writing: Path table Start Block 20 Done with: Path table Block(s) 4 Writing: Directory tree Start Block 24 Done with: Directory tree Block(s) 2 Writing: Directory tree cleanup Start Block 26 Done with: Directory tree cleanup Block(s) 0 Writing: Extension record Start Block 26 Done with: Extension record Block(s) 1 Writing: The File(s) Start Block 27 Total extents scheduled to be written = 29 Total translation table size: 2048 Total rockridge attributes bytes: 535 Total directory bytes: 2640 Path table size(bytes): 22 Done with: The File(s) Block(s) 2 Max brk space used 0 29 extents written (0 MB) ___________________ test_parse_joliet_rr_and_eltorito_onedir ___________________ tmp_path = PosixPath('/tmp/pytest-of-pbuilder1/pytest-0/test_parse_joliet_rr_and_eltor2') def test_parse_joliet_rr_and_eltorito_onedir(tmp_path): # First set things up, and generate the ISO with genisoimage. indir = tmp_path / 'jolietrrandeltoritoonedir' indir.mkdir() outfile = str(indir)+'.iso' with open(os.path.join(str(indir), 'boot'), 'wb') as outfp: outfp.write(b'boot\n') newdir = indir / 'dir1' newdir.mkdir() subprocess.call(['genisoimage', '-v', '-v', '-iso-level', '1', '-no-pad', '-c', 'boot.cat', '-b', 'boot', '-no-emul-boot', '-J', '-rational-rock', '-o', str(outfile), str(indir)]) > do_a_test(tmp_path, outfile, check_joliet_rr_and_eltorito_onedir) tests/integration/test_parse.py:768: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/integration/test_parse.py:21: in do_a_test check_func(iso, os.stat(str(outfile)).st_size) tests/integration/test_common.py:2203: in check_joliet_rr_and_eltorito_onedir internal_check_root_dir_record(iso.pvd.root_dir_record, num_children=5, data_length=2048, extent_location=29, rr=True, rr_nlinks=3, xa=False, rr_onetwelve=False) tests/integration/test_common.py:289: in internal_check_root_dir_record internal_check_dotdot_dir_record(root_dir_record.children[1], rr=rr, rr_nlinks=rr_nlinks, xa=xa, rr_onetwelve=rr_onetwelve) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dotdot_record = , rr = True rr_nlinks = 3, xa = False, rr_onetwelve = False def internal_check_dotdot_dir_record(dotdot_record, rr, rr_nlinks, xa, rr_onetwelve): # The file identifier for the 'dotdot' directory entry should be the byte 1. assert(dotdot_record.file_ident == b'\x01') # The 'dotdot' directory entry should be a directory. assert(dotdot_record.isdir == True) # The 'dotdot' directory record length should be exactly 34 with no extensions. if rr: if rr_onetwelve: expected_dr_len = 104 else: expected_dr_len = 102 else: expected_dr_len = 34 if xa: expected_dr_len += 14 assert(dotdot_record.dr_len == expected_dr_len) # The 'dotdot' directory record is not the root. assert(dotdot_record.is_root == False) # The 'dotdot' directory record should have no children. assert(len(dotdot_record.children) == 0) assert(dotdot_record.file_flags == 2) if rr: assert(dotdot_record.rock_ridge._initialized == True) assert(dotdot_record.rock_ridge.dr_entries.sp_record == None) if not rr_onetwelve: assert(dotdot_record.rock_ridge.dr_entries.rr_record != None) assert(dotdot_record.rock_ridge.dr_entries.rr_record.rr_flags == 0x81) assert(dotdot_record.rock_ridge.dr_entries.ce_record == None) assert(dotdot_record.rock_ridge.dr_entries.px_record != None) assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_mode == 0o040555) > assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_links == rr_nlinks) E assert 2 == 3 E + where 2 = .posix_file_links E + where = .px_record E + where = .dr_entries E + where = .rock_ridge tests/integration/test_common.py:416: AssertionError ----------------------------- Captured stderr call ----------------------------- genisoimage 1.1.11 (Linux) Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_joliet_rr_and_eltor2/jolietrrandeltoritoonedir Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_joliet_rr_and_eltor2/jolietrrandeltoritoonedir/dir1 29 592 30 204 dir1 Cache hit for 'dir1/.' Cache hit for 'dir1/..' 29 29 /tmp/pytest-of-pbuilder1/pytest-0/test_parse_joliet_rr_and_eltor2/jolietrrandeltoritoonedir/. 29 29 (null) 35 35 /tmp/pytest-of-pbuilder1/pytest-0/test_parse_joliet_rr_and_eltor2/jolietrrandeltoritoonedir/boot 34 34 /TRANS.TBL 30 30 /tmp/pytest-of-pbuilder1/pytest-0/test_parse_joliet_rr_and_eltor2/jolietrrandeltoritoonedir/dir1 Writing: Initial Padblock Start Block 0 Done with: Initial Padblock Block(s) 16 Writing: Primary Volume Descriptor Start Block 16 Done with: Primary Volume Descriptor Block(s) 1 Writing: Eltorito Volume Descriptor Start Block 17 Size of boot image is 4 sectors -> No emulation Done with: Eltorito Volume Descriptor Block(s) 1 Writing: Joliet Volume Descriptor Start Block 18 Done with: Joliet Volume Descriptor Block(s) 1 Writing: End Volume Descriptor Start Block 19 Done with: End Volume Descriptor Block(s) 1 Writing: Version block Start Block 20 Done with: Version block Block(s) 1 Writing: Path table Start Block 21 Done with: Path table Block(s) 4 Writing: Joliet path table Start Block 25 Done with: Joliet path table Block(s) 4 Writing: Directory tree Start Block 29 Done with: Directory tree Block(s) 2 Writing: Joliet directory tree Start Block 31 Done with: Joliet directory tree Block(s) 2 Writing: Directory tree cleanup Start Block 33 Done with: Directory tree cleanup Block(s) 0 Writing: Extension record Start Block 33 Done with: Extension record Block(s) 1 Writing: The File(s) Start Block 34 Total extents scheduled to be written = 36 Total translation table size: 2048 Total rockridge attributes bytes: 535 Total directory bytes: 2640 Path table size(bytes): 22 Done with: The File(s) Block(s) 2 Max brk space used 0 36 extents written (0 MB) ____________________________ test_parse_rr_deep_dir ____________________________ tmp_path = PosixPath('/tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_deep_dir0') def test_parse_rr_deep_dir(tmp_path): # First set things up, and generate the ISO with genisoimage. indir = tmp_path / 'rrdeep' indir.mkdir() outfile = str(indir)+'.iso' newdir = indir / 'dir1' / 'dir2' / 'dir3' / 'dir4' / 'dir5' / 'dir6' / 'dir7' / 'dir8' newdir.mkdir(parents=True) subprocess.call(['genisoimage', '-v', '-v', '-iso-level', '1', '-no-pad', '-rational-rock', '-o', str(outfile), str(indir)]) > do_a_test(tmp_path, outfile, check_rr_deep_dir) tests/integration/test_parse.py:780: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/integration/test_parse.py:21: in do_a_test check_func(iso, os.stat(str(outfile)).st_size) tests/integration/test_common.py:2257: in check_rr_deep_dir internal_check_root_dir_record(iso.pvd.root_dir_record, num_children=4, data_length=2048, extent_location=23, rr=True, rr_nlinks=4, xa=False, rr_onetwelve=False) tests/integration/test_common.py:289: in internal_check_root_dir_record internal_check_dotdot_dir_record(root_dir_record.children[1], rr=rr, rr_nlinks=rr_nlinks, xa=xa, rr_onetwelve=rr_onetwelve) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dotdot_record = , rr = True rr_nlinks = 4, xa = False, rr_onetwelve = False def internal_check_dotdot_dir_record(dotdot_record, rr, rr_nlinks, xa, rr_onetwelve): # The file identifier for the 'dotdot' directory entry should be the byte 1. assert(dotdot_record.file_ident == b'\x01') # The 'dotdot' directory entry should be a directory. assert(dotdot_record.isdir == True) # The 'dotdot' directory record length should be exactly 34 with no extensions. if rr: if rr_onetwelve: expected_dr_len = 104 else: expected_dr_len = 102 else: expected_dr_len = 34 if xa: expected_dr_len += 14 assert(dotdot_record.dr_len == expected_dr_len) # The 'dotdot' directory record is not the root. assert(dotdot_record.is_root == False) # The 'dotdot' directory record should have no children. assert(len(dotdot_record.children) == 0) assert(dotdot_record.file_flags == 2) if rr: assert(dotdot_record.rock_ridge._initialized == True) assert(dotdot_record.rock_ridge.dr_entries.sp_record == None) if not rr_onetwelve: assert(dotdot_record.rock_ridge.dr_entries.rr_record != None) assert(dotdot_record.rock_ridge.dr_entries.rr_record.rr_flags == 0x81) assert(dotdot_record.rock_ridge.dr_entries.ce_record == None) assert(dotdot_record.rock_ridge.dr_entries.px_record != None) assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_mode == 0o040555) > assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_links == rr_nlinks) E assert 3 == 4 E + where 3 = .posix_file_links E + where = .px_record E + where = .dr_entries E + where = .rock_ridge tests/integration/test_common.py:416: AssertionError ----------------------------- Captured stderr call ----------------------------- genisoimage 1.1.11 (Linux) Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_deep_dir0/rrdeep Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_deep_dir0/rrdeep/dir1 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_deep_dir0/rrdeep/dir1/dir2 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_deep_dir0/rrdeep/dir1/dir2/dir3 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_deep_dir0/rrdeep/dir1/dir2/dir3/dir4 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_deep_dir0/rrdeep/dir1/dir2/dir3/dir4/dir5 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_deep_dir0/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_deep_dir0/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_deep_dir0/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8 23 474 24 322 rr_moved 25 216 dir8 26 318 dir1 27 318 dir2 28 318 dir3 29 318 dir4 30 318 dir5 31 318 dir6 32 330 dir7 Cache hit for 'dir8/.' Cache hit for 'dir1/.' Cache hit for 'dir1/..' Cache hit for 'dir2/.' Cache hit for 'dir2/..' Cache hit for 'dir3/.' Cache hit for 'dir3/..' Cache hit for 'dir4/.' Cache hit for 'dir4/..' Cache hit for 'dir5/.' Cache hit for 'dir5/..' Cache hit for 'dir6/.' Cache hit for 'dir6/..' Cache hit for 'dir7/.' Cache hit for 'dir7/..' Writing: Initial Padblock Start Block 0 Done with: Initial Padblock Block(s) 16 Writing: Primary Volume Descriptor Start Block 16 Done with: Primary Volume Descriptor Block(s) 1 Writing: End Volume Descriptor Start Block 17 Done with: End Volume Descriptor Block(s) 1 Writing: Version block Start Block 18 Done with: Version block Block(s) 1 Writing: Path table Start Block 19 Done with: Path table Block(s) 4 Writing: Directory tree Start Block 23 Done with: Directory tree Block(s) 10 Writing: Directory tree cleanup Start Block 33 Done with: Directory tree cleanup Block(s) 0 Writing: Extension record Start Block 33 Done with: Extension record Block(s) 1 Writing: The File(s) Start Block 34 Total extents scheduled to be written = 34 Total translation table size: 0 Total rockridge attributes bytes: 2167 Total directory bytes: 18906 Path table size(bytes): 122 Done with: The File(s) Block(s) 0 Max brk space used 42000 34 extents written (0 MB) ______________________________ test_parse_rr_deep ______________________________ tmp_path = PosixPath('/tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_deep0') def test_parse_rr_deep(tmp_path): # First set things up, and generate the ISO with genisoimage. indir = tmp_path / 'rrdeep' indir.mkdir() outfile = str(indir)+'.iso' newdir = indir / 'dir1' / 'dir2' / 'dir3' / 'dir4' / 'dir5' / 'dir6' / 'dir7' / 'dir8' newdir.mkdir(parents=True) with open(os.path.join(str(indir), 'dir1', 'dir2', 'dir3', 'dir4', 'dir5', 'dir6', 'dir7', 'dir8', 'foo'), 'wb') as outfp: outfp.write(b'foo\n') subprocess.call(['genisoimage', '-v', '-v', '-iso-level', '1', '-no-pad', '-rational-rock', '-o', str(outfile), str(indir)]) > do_a_test(tmp_path, outfile, check_rr_deep) tests/integration/test_parse.py:794: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/integration/test_parse.py:21: in do_a_test check_func(iso, os.stat(str(outfile)).st_size) tests/integration/test_common.py:2268: in check_rr_deep internal_check_root_dir_record(iso.pvd.root_dir_record, num_children=4, data_length=2048, extent_location=23, rr=True, rr_nlinks=4, xa=False, rr_onetwelve=False) tests/integration/test_common.py:289: in internal_check_root_dir_record internal_check_dotdot_dir_record(root_dir_record.children[1], rr=rr, rr_nlinks=rr_nlinks, xa=xa, rr_onetwelve=rr_onetwelve) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dotdot_record = , rr = True rr_nlinks = 4, xa = False, rr_onetwelve = False def internal_check_dotdot_dir_record(dotdot_record, rr, rr_nlinks, xa, rr_onetwelve): # The file identifier for the 'dotdot' directory entry should be the byte 1. assert(dotdot_record.file_ident == b'\x01') # The 'dotdot' directory entry should be a directory. assert(dotdot_record.isdir == True) # The 'dotdot' directory record length should be exactly 34 with no extensions. if rr: if rr_onetwelve: expected_dr_len = 104 else: expected_dr_len = 102 else: expected_dr_len = 34 if xa: expected_dr_len += 14 assert(dotdot_record.dr_len == expected_dr_len) # The 'dotdot' directory record is not the root. assert(dotdot_record.is_root == False) # The 'dotdot' directory record should have no children. assert(len(dotdot_record.children) == 0) assert(dotdot_record.file_flags == 2) if rr: assert(dotdot_record.rock_ridge._initialized == True) assert(dotdot_record.rock_ridge.dr_entries.sp_record == None) if not rr_onetwelve: assert(dotdot_record.rock_ridge.dr_entries.rr_record != None) assert(dotdot_record.rock_ridge.dr_entries.rr_record.rr_flags == 0x81) assert(dotdot_record.rock_ridge.dr_entries.ce_record == None) assert(dotdot_record.rock_ridge.dr_entries.px_record != None) assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_mode == 0o040555) > assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_links == rr_nlinks) E assert 3 == 4 E + where 3 = .posix_file_links E + where = .px_record E + where = .dr_entries E + where = .rock_ridge tests/integration/test_common.py:416: AssertionError ----------------------------- Captured stderr call ----------------------------- genisoimage 1.1.11 (Linux) Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_deep0/rrdeep Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_deep0/rrdeep/dir1 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_deep0/rrdeep/dir1/dir2 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_deep0/rrdeep/dir1/dir2/dir3 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_deep0/rrdeep/dir1/dir2/dir3/dir4 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_deep0/rrdeep/dir1/dir2/dir3/dir4/dir5 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_deep0/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_deep0/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_deep0/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8 23 474 24 322 rr_moved 25 332 dir8 26 318 dir1 27 318 dir2 28 318 dir3 29 318 dir4 30 318 dir5 31 318 dir6 32 330 dir7 Cache hit for 'dir8/.' 34 34 /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_deep0/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8/foo Cache hit for 'dir1/.' Cache hit for 'dir1/..' Cache hit for 'dir2/.' Cache hit for 'dir2/..' Cache hit for 'dir3/.' Cache hit for 'dir3/..' Cache hit for 'dir4/.' Cache hit for 'dir4/..' Cache hit for 'dir5/.' Cache hit for 'dir5/..' Cache hit for 'dir6/.' Cache hit for 'dir6/..' Cache hit for 'dir7/.' Cache hit for 'dir7/..' Writing: Initial Padblock Start Block 0 Done with: Initial Padblock Block(s) 16 Writing: Primary Volume Descriptor Start Block 16 Done with: Primary Volume Descriptor Block(s) 1 Writing: End Volume Descriptor Start Block 17 Done with: End Volume Descriptor Block(s) 1 Writing: Version block Start Block 18 Done with: Version block Block(s) 1 Writing: Path table Start Block 19 Done with: Path table Block(s) 4 Writing: Directory tree Start Block 23 Done with: Directory tree Block(s) 10 Writing: Directory tree cleanup Start Block 33 Done with: Directory tree cleanup Block(s) 0 Writing: Extension record Start Block 33 Done with: Extension record Block(s) 1 Writing: The File(s) Start Block 34 Total extents scheduled to be written = 35 Total translation table size: 0 Total rockridge attributes bytes: 2242 Total directory bytes: 18906 Path table size(bytes): 122 Done with: The File(s) Block(s) 1 Max brk space used 42000 35 extents written (0 MB) _____________________________ test_parse_rr_deep2 ______________________________ tmp_path = PosixPath('/tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_deep20') def test_parse_rr_deep2(tmp_path): # First set things up, and generate the ISO with genisoimage. indir = tmp_path / 'rrdeep' indir.mkdir() outfile = str(indir)+'.iso' newdir = indir / 'dir1' / 'dir2' / 'dir3' / 'dir4' / 'dir5' / 'dir6' / 'dir7' / 'dir8' / 'dir9' newdir.mkdir(parents=True) with open(os.path.join(str(indir), 'dir1', 'dir2', 'dir3', 'dir4', 'dir5', 'dir6', 'dir7', 'dir8', 'dir9', 'foo'), 'wb') as outfp: outfp.write(b'foo\n') subprocess.call(['genisoimage', '-v', '-v', '-iso-level', '1', '-no-pad', '-rational-rock', '-o', str(outfile), str(indir)]) > do_a_test(tmp_path, outfile, check_rr_deep2) tests/integration/test_parse.py:808: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/integration/test_parse.py:21: in do_a_test check_func(iso, os.stat(str(outfile)).st_size) tests/integration/test_common.py:2281: in check_rr_deep2 internal_check_root_dir_record(iso.pvd.root_dir_record, num_children=4, data_length=2048, extent_location=23, rr=True, rr_nlinks=4, xa=False, rr_onetwelve=False) tests/integration/test_common.py:289: in internal_check_root_dir_record internal_check_dotdot_dir_record(root_dir_record.children[1], rr=rr, rr_nlinks=rr_nlinks, xa=xa, rr_onetwelve=rr_onetwelve) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dotdot_record = , rr = True rr_nlinks = 4, xa = False, rr_onetwelve = False def internal_check_dotdot_dir_record(dotdot_record, rr, rr_nlinks, xa, rr_onetwelve): # The file identifier for the 'dotdot' directory entry should be the byte 1. assert(dotdot_record.file_ident == b'\x01') # The 'dotdot' directory entry should be a directory. assert(dotdot_record.isdir == True) # The 'dotdot' directory record length should be exactly 34 with no extensions. if rr: if rr_onetwelve: expected_dr_len = 104 else: expected_dr_len = 102 else: expected_dr_len = 34 if xa: expected_dr_len += 14 assert(dotdot_record.dr_len == expected_dr_len) # The 'dotdot' directory record is not the root. assert(dotdot_record.is_root == False) # The 'dotdot' directory record should have no children. assert(len(dotdot_record.children) == 0) assert(dotdot_record.file_flags == 2) if rr: assert(dotdot_record.rock_ridge._initialized == True) assert(dotdot_record.rock_ridge.dr_entries.sp_record == None) if not rr_onetwelve: assert(dotdot_record.rock_ridge.dr_entries.rr_record != None) assert(dotdot_record.rock_ridge.dr_entries.rr_record.rr_flags == 0x81) assert(dotdot_record.rock_ridge.dr_entries.ce_record == None) assert(dotdot_record.rock_ridge.dr_entries.px_record != None) assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_mode == 0o040555) > assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_links == rr_nlinks) E assert 3 == 4 E + where 3 = .posix_file_links E + where = .px_record E + where = .dr_entries E + where = .rock_ridge tests/integration/test_common.py:416: AssertionError ----------------------------- Captured stderr call ----------------------------- genisoimage 1.1.11 (Linux) Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_deep20/rrdeep Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_deep20/rrdeep/dir1 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_deep20/rrdeep/dir1/dir2 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_deep20/rrdeep/dir1/dir2/dir3 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_deep20/rrdeep/dir1/dir2/dir3/dir4 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_deep20/rrdeep/dir1/dir2/dir3/dir4/dir5 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_deep20/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_deep20/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_deep20/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_deep20/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8/dir9 23 474 24 322 rr_moved 25 330 dir8 26 320 dir9 27 318 dir1 28 318 dir2 29 318 dir3 30 318 dir4 31 318 dir5 32 318 dir6 33 330 dir7 Cache hit for 'dir8/.' Cache hit for 'dir9/.' Cache hit for 'dir9/..' 35 35 /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_deep20/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8/dir9/foo Cache hit for 'dir1/.' Cache hit for 'dir1/..' Cache hit for 'dir2/.' Cache hit for 'dir2/..' Cache hit for 'dir3/.' Cache hit for 'dir3/..' Cache hit for 'dir4/.' Cache hit for 'dir4/..' Cache hit for 'dir5/.' Cache hit for 'dir5/..' Cache hit for 'dir6/.' Cache hit for 'dir6/..' Cache hit for 'dir7/.' Cache hit for 'dir7/..' Writing: Initial Padblock Start Block 0 Done with: Initial Padblock Block(s) 16 Writing: Primary Volume Descriptor Start Block 16 Done with: Primary Volume Descriptor Block(s) 1 Writing: End Volume Descriptor Start Block 17 Done with: End Volume Descriptor Block(s) 1 Writing: Version block Start Block 18 Done with: Version block Block(s) 1 Writing: Path table Start Block 19 Done with: Path table Block(s) 4 Writing: Directory tree Start Block 23 Done with: Directory tree Block(s) 11 Writing: Directory tree cleanup Start Block 34 Done with: Directory tree cleanup Block(s) 0 Writing: Extension record Start Block 34 Done with: Extension record Block(s) 1 Writing: The File(s) Start Block 35 Total extents scheduled to be written = 36 Total translation table size: 0 Total rockridge attributes bytes: 2452 Total directory bytes: 20954 Path table size(bytes): 134 Done with: The File(s) Block(s) 1 Max brk space used 42000 36 extents written (0 MB) ___________________________ test_parse_sevendeepdirs ___________________________ tmp_path = PosixPath('/tmp/pytest-of-pbuilder1/pytest-0/test_parse_sevendeepdirs0') def test_parse_sevendeepdirs(tmp_path): # First set things up, and generate the ISO with genisoimage. indir = tmp_path / 'sevendeepdirs' indir.mkdir() outfile = str(indir)+'.iso' numdirs = 7 x = indir for i in range(1, 1+numdirs): x = x / ('dir%d' % i) x.mkdir() subprocess.call(['genisoimage', '-v', '-v', '-iso-level', '1', '-no-pad', '-rational-rock', '-o', str(outfile), str(indir)]) > do_a_test(tmp_path, outfile, check_sevendeepdirs) tests/integration/test_parse.py:857: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/integration/test_parse.py:21: in do_a_test check_func(iso, os.stat(str(outfile)).st_size) tests/integration/test_common.py:2340: in check_sevendeepdirs internal_check_root_dir_record(iso.pvd.root_dir_record, num_children=3, data_length=2048, extent_location=23, rr=True, rr_nlinks=3, xa=False, rr_onetwelve=False) tests/integration/test_common.py:289: in internal_check_root_dir_record internal_check_dotdot_dir_record(root_dir_record.children[1], rr=rr, rr_nlinks=rr_nlinks, xa=xa, rr_onetwelve=rr_onetwelve) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dotdot_record = , rr = True rr_nlinks = 3, xa = False, rr_onetwelve = False def internal_check_dotdot_dir_record(dotdot_record, rr, rr_nlinks, xa, rr_onetwelve): # The file identifier for the 'dotdot' directory entry should be the byte 1. assert(dotdot_record.file_ident == b'\x01') # The 'dotdot' directory entry should be a directory. assert(dotdot_record.isdir == True) # The 'dotdot' directory record length should be exactly 34 with no extensions. if rr: if rr_onetwelve: expected_dr_len = 104 else: expected_dr_len = 102 else: expected_dr_len = 34 if xa: expected_dr_len += 14 assert(dotdot_record.dr_len == expected_dr_len) # The 'dotdot' directory record is not the root. assert(dotdot_record.is_root == False) # The 'dotdot' directory record should have no children. assert(len(dotdot_record.children) == 0) assert(dotdot_record.file_flags == 2) if rr: assert(dotdot_record.rock_ridge._initialized == True) assert(dotdot_record.rock_ridge.dr_entries.sp_record == None) if not rr_onetwelve: assert(dotdot_record.rock_ridge.dr_entries.rr_record != None) assert(dotdot_record.rock_ridge.dr_entries.rr_record.rr_flags == 0x81) assert(dotdot_record.rock_ridge.dr_entries.ce_record == None) assert(dotdot_record.rock_ridge.dr_entries.px_record != None) assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_mode == 0o040555) > assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_links == rr_nlinks) E assert 2 == 3 E + where 2 = .posix_file_links E + where = .px_record E + where = .dr_entries E + where = .rock_ridge tests/integration/test_common.py:416: AssertionError ----------------------------- Captured stderr call ----------------------------- genisoimage 1.1.11 (Linux) Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_sevendeepdirs0/sevendeepdirs Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_sevendeepdirs0/sevendeepdirs/dir1 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_sevendeepdirs0/sevendeepdirs/dir1/dir2 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_sevendeepdirs0/sevendeepdirs/dir1/dir2/dir3 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_sevendeepdirs0/sevendeepdirs/dir1/dir2/dir3/dir4 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_sevendeepdirs0/sevendeepdirs/dir1/dir2/dir3/dir4/dir5 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_sevendeepdirs0/sevendeepdirs/dir1/dir2/dir3/dir4/dir5/dir6 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_sevendeepdirs0/sevendeepdirs/dir1/dir2/dir3/dir4/dir5/dir6/dir7 23 352 24 318 dir1 25 318 dir2 26 318 dir3 27 318 dir4 28 318 dir5 29 318 dir6 30 204 dir7 Cache hit for 'dir1/.' Cache hit for 'dir1/..' Cache hit for 'dir2/.' Cache hit for 'dir2/..' Cache hit for 'dir3/.' Cache hit for 'dir3/..' Cache hit for 'dir4/.' Cache hit for 'dir4/..' Cache hit for 'dir5/.' Cache hit for 'dir5/..' Cache hit for 'dir6/.' Cache hit for 'dir6/..' Cache hit for 'dir7/.' Cache hit for 'dir7/..' Writing: Initial Padblock Start Block 0 Done with: Initial Padblock Block(s) 16 Writing: Primary Volume Descriptor Start Block 16 Done with: Primary Volume Descriptor Block(s) 1 Writing: End Volume Descriptor Start Block 17 Done with: End Volume Descriptor Block(s) 1 Writing: Version block Start Block 18 Done with: Version block Block(s) 1 Writing: Path table Start Block 19 Done with: Path table Block(s) 4 Writing: Directory tree Start Block 23 Done with: Directory tree Block(s) 8 Writing: Directory tree cleanup Start Block 31 Done with: Directory tree cleanup Block(s) 0 Writing: Extension record Start Block 31 Done with: Extension record Block(s) 1 Writing: The File(s) Start Block 32 Total extents scheduled to be written = 32 Total translation table size: 0 Total rockridge attributes bytes: 1639 Total directory bytes: 14688 Path table size(bytes): 94 Done with: The File(s) Block(s) 0 Max brk space used 42000 32 extents written (0 MB) ____________________________ test_parse_everything _____________________________ tmp_path = PosixPath('/tmp/pytest-of-pbuilder1/pytest-0/test_parse_everything0') def test_parse_everything(tmp_path): # First set things up, and generate the ISO with genisoimage. indir = tmp_path / 'everything' indir.mkdir() outfile = str(indir)+'.iso' newdir = indir / 'dir1' / 'dir2' / 'dir3' / 'dir4' / 'dir5' / 'dir6' / 'dir7' / 'dir8' newdir.mkdir(parents=True) with open(os.path.join(str(indir), 'boot'), 'wb') as outfp: outfp.write(b'boot\n') with open(os.path.join(str(indir), 'foo'), 'wb') as outfp: outfp.write(b'foo\n') with open(os.path.join(str(indir), 'dir1', 'dir2', 'dir3', 'dir4', 'dir5', 'dir6', 'dir7', 'dir8', 'bar'), 'wb') as outfp: outfp.write(b'bar\n') pwd = os.getcwd() os.chdir(str(indir)) os.symlink('foo', 'sym') os.chdir(pwd) os.link(os.path.join(str(indir), 'foo'), os.path.join(str(indir), 'dir1', 'foo')) subprocess.call(['genisoimage', '-v', '-v', '-iso-level', '4', '-no-pad', '-c', 'boot.cat', '-b', 'boot', '-no-emul-boot', '-J', '-rational-rock', '-xa', '-boot-info-table', '-o', str(outfile), str(indir)]) > do_a_test(tmp_path, outfile, check_everything) tests/integration/test_parse.py:963: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/integration/test_parse.py:21: in do_a_test check_func(iso, os.stat(str(outfile)).st_size) tests/integration/test_common.py:2572: in check_everything internal_check_root_dir_record(iso.pvd.root_dir_record, num_children=7, data_length=2048, extent_location=30, rr=True, rr_nlinks=3, xa=True, rr_onetwelve=False) tests/integration/test_common.py:289: in internal_check_root_dir_record internal_check_dotdot_dir_record(root_dir_record.children[1], rr=rr, rr_nlinks=rr_nlinks, xa=xa, rr_onetwelve=rr_onetwelve) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dotdot_record = , rr = True rr_nlinks = 3, xa = True, rr_onetwelve = False def internal_check_dotdot_dir_record(dotdot_record, rr, rr_nlinks, xa, rr_onetwelve): # The file identifier for the 'dotdot' directory entry should be the byte 1. assert(dotdot_record.file_ident == b'\x01') # The 'dotdot' directory entry should be a directory. assert(dotdot_record.isdir == True) # The 'dotdot' directory record length should be exactly 34 with no extensions. if rr: if rr_onetwelve: expected_dr_len = 104 else: expected_dr_len = 102 else: expected_dr_len = 34 if xa: expected_dr_len += 14 assert(dotdot_record.dr_len == expected_dr_len) # The 'dotdot' directory record is not the root. assert(dotdot_record.is_root == False) # The 'dotdot' directory record should have no children. assert(len(dotdot_record.children) == 0) assert(dotdot_record.file_flags == 2) if rr: assert(dotdot_record.rock_ridge._initialized == True) assert(dotdot_record.rock_ridge.dr_entries.sp_record == None) if not rr_onetwelve: assert(dotdot_record.rock_ridge.dr_entries.rr_record != None) assert(dotdot_record.rock_ridge.dr_entries.rr_record.rr_flags == 0x81) assert(dotdot_record.rock_ridge.dr_entries.ce_record == None) assert(dotdot_record.rock_ridge.dr_entries.px_record != None) assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_mode == 0o040555) > assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_links == rr_nlinks) E assert 2 == 3 E + where 2 = .posix_file_links E + where = .px_record E + where = .dr_entries E + where = .rock_ridge tests/integration/test_common.py:416: AssertionError ----------------------------- Captured stderr call ----------------------------- Warning: Creating ISO-9660:1999 (version 2) filesystem. Warning: ISO-9660 filenames longer than 31 may cause buffer overflows in the OS. genisoimage 1.1.11 (Linux) Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_everything0/everything Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_everything0/everything/dir1 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_everything0/everything/dir1/dir2 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_everything0/everything/dir1/dir2/dir3 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_everything0/everything/dir1/dir2/dir3/dir4 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_everything0/everything/dir1/dir2/dir3/dir4/dir5 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_everything0/everything/dir1/dir2/dir3/dir4/dir5/dir6 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_everything0/everything/dir1/dir2/dir3/dir4/dir5/dir6/dir7 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_everything0/everything/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8 genisoimage: Found XA directory extension record. 30 920 31 486 dir1 32 360 dir2 33 360 dir3 34 360 dir4 35 360 dir5 36 360 dir6 37 360 dir7 38 358 dir8 Cache hit for 'dir1/.' Cache hit for 'dir1/..' Cache hit for 'dir1/foo' Cache hit for 'dir2/.' Cache hit for 'dir2/..' Cache hit for 'dir3/.' Cache hit for 'dir3/..' Cache hit for 'dir4/.' Cache hit for 'dir4/..' Cache hit for 'dir5/.' Cache hit for 'dir5/..' Cache hit for 'dir6/.' Cache hit for 'dir6/..' Cache hit for 'dir7/.' Cache hit for 'dir7/..' Cache hit for 'dir8/.' Cache hit for 'dir8/..' 30 30 /tmp/pytest-of-pbuilder1/pytest-0/test_parse_everything0/everything/. 30 30 (null) 50 50 /tmp/pytest-of-pbuilder1/pytest-0/test_parse_everything0/everything/boot 49 49 /TRANS.TBL 31 31 /tmp/pytest-of-pbuilder1/pytest-0/test_parse_everything0/everything/dir1 51 51 /tmp/pytest-of-pbuilder1/pytest-0/test_parse_everything0/everything/foo 32 32 /tmp/pytest-of-pbuilder1/pytest-0/test_parse_everything0/everything/dir1/dir2 51 51 /tmp/pytest-of-pbuilder1/pytest-0/test_parse_everything0/everything/dir1/foo 33 33 /tmp/pytest-of-pbuilder1/pytest-0/test_parse_everything0/everything/dir1/dir2/dir3 34 34 /tmp/pytest-of-pbuilder1/pytest-0/test_parse_everything0/everything/dir1/dir2/dir3/dir4 35 35 /tmp/pytest-of-pbuilder1/pytest-0/test_parse_everything0/everything/dir1/dir2/dir3/dir4/dir5 36 36 /tmp/pytest-of-pbuilder1/pytest-0/test_parse_everything0/everything/dir1/dir2/dir3/dir4/dir5/dir6 37 37 /tmp/pytest-of-pbuilder1/pytest-0/test_parse_everything0/everything/dir1/dir2/dir3/dir4/dir5/dir6/dir7 38 38 /tmp/pytest-of-pbuilder1/pytest-0/test_parse_everything0/everything/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8 52 52 /tmp/pytest-of-pbuilder1/pytest-0/test_parse_everything0/everything/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8/bar Writing: Initial Padblock Start Block 0 Done with: Initial Padblock Block(s) 16 Writing: Primary Volume Descriptor Start Block 16 Done with: Primary Volume Descriptor Block(s) 1 Writing: Eltorito Volume Descriptor Start Block 17 Size of boot image is 4 sectors -> No emulation Done with: Eltorito Volume Descriptor Block(s) 1 Writing: Enhanced Volume Descriptor Start Block 18 Done with: Enhanced Volume Descriptor Block(s) 1 Writing: Joliet Volume Descriptor Start Block 19 Done with: Joliet Volume Descriptor Block(s) 1 Writing: End Volume Descriptor Start Block 20 Done with: End Volume Descriptor Block(s) 1 Writing: Version block Start Block 21 Done with: Version block Block(s) 1 Writing: Path table Start Block 22 Done with: Path table Block(s) 4 Writing: Joliet path table Start Block 26 Done with: Joliet path table Block(s) 4 Writing: Directory tree Start Block 30 Done with: Directory tree Block(s) 9 Writing: Joliet directory tree Start Block 39 Done with: Joliet directory tree Block(s) 9 Writing: Directory tree cleanup Start Block 48 Done with: Directory tree cleanup Block(s) 0 Writing: Extension record Start Block 48 Done with: Extension record Block(s) 1 Writing: The File(s) Start Block 49 Total extents scheduled to be written = 53 Total translation table size: 2048 Total rockridge attributes bytes: 2763 Total directory bytes: 17304 Path table size(bytes): 106 Done with: The File(s) Block(s) 4 Max brk space used 43000 53 extents written (0 MB) ___________________________ test_parse_rr_xa_onedir ____________________________ tmp_path = PosixPath('/tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_xa_onedir0') def test_parse_rr_xa_onedir(tmp_path): # First set things up, and generate the ISO with genisoimage. indir = tmp_path / 'xarronefile' indir.mkdir() outfile = str(indir)+'.iso' newdir = indir / 'dir1' newdir.mkdir() subprocess.call(['genisoimage', '-v', '-v', '-iso-level', '1', '-no-pad', '-xa', '-rational-rock', '-o', str(outfile), str(indir)]) > do_a_test(tmp_path, outfile, check_rr_xa_onedir) tests/integration/test_parse.py:997: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/integration/test_parse.py:21: in do_a_test check_func(iso, os.stat(str(outfile)).st_size) tests/integration/test_common.py:2687: in check_rr_xa_onedir internal_check_root_dir_record(iso.pvd.root_dir_record, num_children=3, data_length=2048, extent_location=23, rr=True, rr_nlinks=3, xa=True, rr_onetwelve=False) tests/integration/test_common.py:289: in internal_check_root_dir_record internal_check_dotdot_dir_record(root_dir_record.children[1], rr=rr, rr_nlinks=rr_nlinks, xa=xa, rr_onetwelve=rr_onetwelve) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dotdot_record = , rr = True rr_nlinks = 3, xa = True, rr_onetwelve = False def internal_check_dotdot_dir_record(dotdot_record, rr, rr_nlinks, xa, rr_onetwelve): # The file identifier for the 'dotdot' directory entry should be the byte 1. assert(dotdot_record.file_ident == b'\x01') # The 'dotdot' directory entry should be a directory. assert(dotdot_record.isdir == True) # The 'dotdot' directory record length should be exactly 34 with no extensions. if rr: if rr_onetwelve: expected_dr_len = 104 else: expected_dr_len = 102 else: expected_dr_len = 34 if xa: expected_dr_len += 14 assert(dotdot_record.dr_len == expected_dr_len) # The 'dotdot' directory record is not the root. assert(dotdot_record.is_root == False) # The 'dotdot' directory record should have no children. assert(len(dotdot_record.children) == 0) assert(dotdot_record.file_flags == 2) if rr: assert(dotdot_record.rock_ridge._initialized == True) assert(dotdot_record.rock_ridge.dr_entries.sp_record == None) if not rr_onetwelve: assert(dotdot_record.rock_ridge.dr_entries.rr_record != None) assert(dotdot_record.rock_ridge.dr_entries.rr_record.rr_flags == 0x81) assert(dotdot_record.rock_ridge.dr_entries.ce_record == None) assert(dotdot_record.rock_ridge.dr_entries.px_record != None) assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_mode == 0o040555) > assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_links == rr_nlinks) E assert 2 == 3 E + where 2 = .posix_file_links E + where = .px_record E + where = .dr_entries E + where = .rock_ridge tests/integration/test_common.py:416: AssertionError ----------------------------- Captured stderr call ----------------------------- genisoimage 1.1.11 (Linux) Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_xa_onedir0/xarronefile Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_xa_onedir0/xarronefile/dir1 genisoimage: Found XA directory extension record. 23 394 24 232 dir1 Cache hit for 'dir1/.' Cache hit for 'dir1/..' Writing: Initial Padblock Start Block 0 Done with: Initial Padblock Block(s) 16 Writing: Primary Volume Descriptor Start Block 16 Done with: Primary Volume Descriptor Block(s) 1 Writing: End Volume Descriptor Start Block 17 Done with: End Volume Descriptor Block(s) 1 Writing: Version block Start Block 18 Done with: Version block Block(s) 1 Writing: Path table Start Block 19 Done with: Path table Block(s) 4 Writing: Directory tree Start Block 23 Done with: Directory tree Block(s) 2 Writing: Directory tree cleanup Start Block 25 Done with: Directory tree cleanup Block(s) 0 Writing: Extension record Start Block 25 Done with: Extension record Block(s) 1 Writing: The File(s) Start Block 26 Total extents scheduled to be written = 26 Total translation table size: 0 Total rockridge attributes bytes: 449 Total directory bytes: 2442 Path table size(bytes): 22 Done with: The File(s) Block(s) 0 Max brk space used 0 26 extents written (0 MB) __________________________ test_parse_rr_joliet_deep ___________________________ tmp_path = PosixPath('/tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_joliet_deep0') def test_parse_rr_joliet_deep(tmp_path): # First set things up, and generate the ISO with genisoimage. indir = tmp_path / 'rrjolietdeep' indir.mkdir() outfile = str(indir)+'.iso' newdir = indir / 'dir1' / 'dir2' / 'dir3' / 'dir4' / 'dir5' / 'dir6' / 'dir7' / 'dir8' newdir.mkdir(parents=True) subprocess.call(['genisoimage', '-v', '-v', '-iso-level', '1', '-no-pad', '-rational-rock', '-J', '-o', str(outfile), str(indir)]) > do_a_test(tmp_path, outfile, check_rr_joliet_deep) tests/integration/test_parse.py:1025: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/integration/test_parse.py:21: in do_a_test check_func(iso, os.stat(str(outfile)).st_size) tests/integration/test_common.py:2776: in check_rr_joliet_deep internal_check_root_dir_record(iso.pvd.root_dir_record, num_children=4, data_length=2048, extent_location=28, rr=True, rr_nlinks=4, xa=False, rr_onetwelve=False) tests/integration/test_common.py:289: in internal_check_root_dir_record internal_check_dotdot_dir_record(root_dir_record.children[1], rr=rr, rr_nlinks=rr_nlinks, xa=xa, rr_onetwelve=rr_onetwelve) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dotdot_record = , rr = True rr_nlinks = 4, xa = False, rr_onetwelve = False def internal_check_dotdot_dir_record(dotdot_record, rr, rr_nlinks, xa, rr_onetwelve): # The file identifier for the 'dotdot' directory entry should be the byte 1. assert(dotdot_record.file_ident == b'\x01') # The 'dotdot' directory entry should be a directory. assert(dotdot_record.isdir == True) # The 'dotdot' directory record length should be exactly 34 with no extensions. if rr: if rr_onetwelve: expected_dr_len = 104 else: expected_dr_len = 102 else: expected_dr_len = 34 if xa: expected_dr_len += 14 assert(dotdot_record.dr_len == expected_dr_len) # The 'dotdot' directory record is not the root. assert(dotdot_record.is_root == False) # The 'dotdot' directory record should have no children. assert(len(dotdot_record.children) == 0) assert(dotdot_record.file_flags == 2) if rr: assert(dotdot_record.rock_ridge._initialized == True) assert(dotdot_record.rock_ridge.dr_entries.sp_record == None) if not rr_onetwelve: assert(dotdot_record.rock_ridge.dr_entries.rr_record != None) assert(dotdot_record.rock_ridge.dr_entries.rr_record.rr_flags == 0x81) assert(dotdot_record.rock_ridge.dr_entries.ce_record == None) assert(dotdot_record.rock_ridge.dr_entries.px_record != None) assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_mode == 0o040555) > assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_links == rr_nlinks) E assert 3 == 4 E + where 3 = .posix_file_links E + where = .px_record E + where = .dr_entries E + where = .rock_ridge tests/integration/test_common.py:416: AssertionError ----------------------------- Captured stderr call ----------------------------- genisoimage 1.1.11 (Linux) Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_joliet_deep0/rrjolietdeep Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_joliet_deep0/rrjolietdeep/dir1 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_joliet_deep0/rrjolietdeep/dir1/dir2 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_joliet_deep0/rrjolietdeep/dir1/dir2/dir3 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_joliet_deep0/rrjolietdeep/dir1/dir2/dir3/dir4 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_joliet_deep0/rrjolietdeep/dir1/dir2/dir3/dir4/dir5 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_joliet_deep0/rrjolietdeep/dir1/dir2/dir3/dir4/dir5/dir6 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_joliet_deep0/rrjolietdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_joliet_deep0/rrjolietdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8 28 474 29 322 rr_moved 30 216 dir8 31 318 dir1 32 318 dir2 33 318 dir3 34 318 dir4 35 318 dir5 36 318 dir6 37 330 dir7 Cache hit for 'dir8/.' Cache hit for 'dir1/.' Cache hit for 'dir1/..' Cache hit for 'dir2/.' Cache hit for 'dir2/..' Cache hit for 'dir3/.' Cache hit for 'dir3/..' Cache hit for 'dir4/.' Cache hit for 'dir4/..' Cache hit for 'dir5/.' Cache hit for 'dir5/..' Cache hit for 'dir6/.' Cache hit for 'dir6/..' Cache hit for 'dir7/.' Cache hit for 'dir7/..' Writing: Initial Padblock Start Block 0 Done with: Initial Padblock Block(s) 16 Writing: Primary Volume Descriptor Start Block 16 Done with: Primary Volume Descriptor Block(s) 1 Writing: Joliet Volume Descriptor Start Block 17 Done with: Joliet Volume Descriptor Block(s) 1 Writing: End Volume Descriptor Start Block 18 Done with: End Volume Descriptor Block(s) 1 Writing: Version block Start Block 19 Done with: Version block Block(s) 1 Writing: Path table Start Block 20 Done with: Path table Block(s) 4 Writing: Joliet path table Start Block 24 Done with: Joliet path table Block(s) 4 Writing: Directory tree Start Block 28 Done with: Directory tree Block(s) 10 Writing: Joliet directory tree Start Block 38 Done with: Joliet directory tree Block(s) 9 Writing: Directory tree cleanup Start Block 47 Done with: Directory tree cleanup Block(s) 0 Writing: Extension record Start Block 47 Done with: Extension record Block(s) 1 Writing: The File(s) Start Block 48 Total extents scheduled to be written = 48 Total translation table size: 0 Total rockridge attributes bytes: 2167 Total directory bytes: 18906 Path table size(bytes): 122 Done with: The File(s) Block(s) 0 Max brk space used 42000 48 extents written (0 MB) ___________________ test_parse_same_dirname_different_parent ___________________ tmp_path = PosixPath('/tmp/pytest-of-pbuilder1/pytest-0/test_parse_same_dirname_differ0') def test_parse_same_dirname_different_parent(tmp_path): # First set things up, and generate the ISO with genisoimage. indir = tmp_path / 'samedirnamedifferentparent' indir.mkdir() outfile = str(indir)+'.iso' dir1 = newdir = indir / 'dir1' newdir.mkdir() dir2 = newdir = indir / 'dir2' newdir.mkdir() boot1 = dir1 / 'boot' boot2 = dir2 / 'boot' boot1.mkdir() boot2.mkdir() subprocess.call(['genisoimage', '-v', '-v', '-iso-level', '1', '-no-pad', '-J', '-rational-rock', '-o', str(outfile), str(indir)]) > do_a_test(tmp_path, outfile, check_same_dirname_different_parent) tests/integration/test_parse.py:1393: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/integration/test_parse.py:21: in do_a_test check_func(iso, os.stat(str(outfile)).st_size) tests/integration/test_common.py:2933: in check_same_dirname_different_parent internal_check_root_dir_record(iso.pvd.root_dir_record, num_children=4, data_length=2048, extent_location=28, rr=True, rr_nlinks=4, xa=False, rr_onetwelve=False) tests/integration/test_common.py:289: in internal_check_root_dir_record internal_check_dotdot_dir_record(root_dir_record.children[1], rr=rr, rr_nlinks=rr_nlinks, xa=xa, rr_onetwelve=rr_onetwelve) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dotdot_record = , rr = True rr_nlinks = 4, xa = False, rr_onetwelve = False def internal_check_dotdot_dir_record(dotdot_record, rr, rr_nlinks, xa, rr_onetwelve): # The file identifier for the 'dotdot' directory entry should be the byte 1. assert(dotdot_record.file_ident == b'\x01') # The 'dotdot' directory entry should be a directory. assert(dotdot_record.isdir == True) # The 'dotdot' directory record length should be exactly 34 with no extensions. if rr: if rr_onetwelve: expected_dr_len = 104 else: expected_dr_len = 102 else: expected_dr_len = 34 if xa: expected_dr_len += 14 assert(dotdot_record.dr_len == expected_dr_len) # The 'dotdot' directory record is not the root. assert(dotdot_record.is_root == False) # The 'dotdot' directory record should have no children. assert(len(dotdot_record.children) == 0) assert(dotdot_record.file_flags == 2) if rr: assert(dotdot_record.rock_ridge._initialized == True) assert(dotdot_record.rock_ridge.dr_entries.sp_record == None) if not rr_onetwelve: assert(dotdot_record.rock_ridge.dr_entries.rr_record != None) assert(dotdot_record.rock_ridge.dr_entries.rr_record.rr_flags == 0x81) assert(dotdot_record.rock_ridge.dr_entries.ce_record == None) assert(dotdot_record.rock_ridge.dr_entries.px_record != None) assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_mode == 0o040555) > assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_links == rr_nlinks) E assert 2 == 4 E + where 2 = .posix_file_links E + where = .px_record E + where = .dr_entries E + where = .rock_ridge tests/integration/test_common.py:416: AssertionError ----------------------------- Captured stderr call ----------------------------- genisoimage 1.1.11 (Linux) Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_same_dirname_differ0/samedirnamedifferentparent Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_same_dirname_differ0/samedirnamedifferentparent/dir2 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_same_dirname_differ0/samedirnamedifferentparent/dir2/boot Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_same_dirname_differ0/samedirnamedifferentparent/dir1 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_same_dirname_differ0/samedirnamedifferentparent/dir1/boot 28 466 29 318 dir2 30 204 boot 31 318 dir1 32 204 boot Cache hit for 'dir2/.' Cache hit for 'dir2/..' Cache hit for 'boot/.' Cache hit for 'boot/..' Cache hit for 'dir1/.' Cache hit for 'dir1/..' Cache hit for 'boot/.' Cache hit for 'boot/..' Writing: Initial Padblock Start Block 0 Done with: Initial Padblock Block(s) 16 Writing: Primary Volume Descriptor Start Block 16 Done with: Primary Volume Descriptor Block(s) 1 Writing: Joliet Volume Descriptor Start Block 17 Done with: Joliet Volume Descriptor Block(s) 1 Writing: End Volume Descriptor Start Block 18 Done with: End Volume Descriptor Block(s) 1 Writing: Version block Start Block 19 Done with: Version block Block(s) 1 Writing: Path table Start Block 20 Done with: Path table Block(s) 4 Writing: Joliet path table Start Block 24 Done with: Joliet path table Block(s) 4 Writing: Directory tree Start Block 28 Done with: Directory tree Block(s) 5 Writing: Joliet directory tree Start Block 33 Done with: Joliet directory tree Block(s) 5 Writing: Directory tree cleanup Start Block 38 Done with: Directory tree cleanup Block(s) 0 Writing: Extension record Start Block 38 Done with: Extension record Block(s) 1 Writing: The File(s) Start Block 39 Total extents scheduled to be written = 39 Total translation table size: 0 Total rockridge attributes bytes: 1009 Total directory bytes: 8658 Path table size(bytes): 58 Done with: The File(s) Block(s) 0 Max brk space used 0 39 extents written (0 MB) ______________________ test_parse_duplicate_rrmoved_name _______________________ tmp_path = PosixPath('/tmp/pytest-of-pbuilder1/pytest-0/test_parse_duplicate_rrmoved_n0') def test_parse_duplicate_rrmoved_name(tmp_path): iso = pycdlib.PyCdlib() iso.new(rock_ridge='1.09') # First set things up, and generate the ISO with genisoimage. indir = tmp_path / 'eltoritonofiles' indir.mkdir() outfile = str(indir)+'.iso' fdir = indir / 'A' / 'B' / 'C' / 'D' / 'E' / 'F' fdir.mkdir(parents=True) newdir = fdir / 'G' / '1' newdir.mkdir(parents=True) newdir = fdir / 'H' / '1' newdir.mkdir(parents=True) with open(os.path.join(str(indir), 'A', 'B', 'C', 'D', 'E', 'F', 'G', '1', 'first'), 'wb') as outfp: outfp.write(b'first\n') with open(os.path.join(str(indir), 'A', 'B', 'C', 'D', 'E', 'F', 'H', '1', 'second'), 'wb') as outfp: outfp.write(b'second\n') subprocess.call(['genisoimage', '-v', '-v', '-iso-level', '1', '-no-pad', '-rational-rock', '-o', str(outfile), str(indir)]) > do_a_test(tmp_path, outfile, check_rr_two_dirs_same_level) tests/integration/test_parse.py:2499: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/integration/test_parse.py:21: in do_a_test check_func(iso, os.stat(str(outfile)).st_size) tests/integration/test_common.py:3567: in check_rr_two_dirs_same_level internal_check_root_dir_record(iso.pvd.root_dir_record, num_children=4, data_length=2048, extent_location=23, rr=True, rr_nlinks=4, xa=False, rr_onetwelve=False) tests/integration/test_common.py:289: in internal_check_root_dir_record internal_check_dotdot_dir_record(root_dir_record.children[1], rr=rr, rr_nlinks=rr_nlinks, xa=xa, rr_onetwelve=rr_onetwelve) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dotdot_record = , rr = True rr_nlinks = 4, xa = False, rr_onetwelve = False def internal_check_dotdot_dir_record(dotdot_record, rr, rr_nlinks, xa, rr_onetwelve): # The file identifier for the 'dotdot' directory entry should be the byte 1. assert(dotdot_record.file_ident == b'\x01') # The 'dotdot' directory entry should be a directory. assert(dotdot_record.isdir == True) # The 'dotdot' directory record length should be exactly 34 with no extensions. if rr: if rr_onetwelve: expected_dr_len = 104 else: expected_dr_len = 102 else: expected_dr_len = 34 if xa: expected_dr_len += 14 assert(dotdot_record.dr_len == expected_dr_len) # The 'dotdot' directory record is not the root. assert(dotdot_record.is_root == False) # The 'dotdot' directory record should have no children. assert(len(dotdot_record.children) == 0) assert(dotdot_record.file_flags == 2) if rr: assert(dotdot_record.rock_ridge._initialized == True) assert(dotdot_record.rock_ridge.dr_entries.sp_record == None) if not rr_onetwelve: assert(dotdot_record.rock_ridge.dr_entries.rr_record != None) assert(dotdot_record.rock_ridge.dr_entries.rr_record.rr_flags == 0x81) assert(dotdot_record.rock_ridge.dr_entries.ce_record == None) assert(dotdot_record.rock_ridge.dr_entries.px_record != None) assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_mode == 0o040555) > assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_links == rr_nlinks) E assert 3 == 4 E + where 3 = .posix_file_links E + where = .px_record E + where = .dr_entries E + where = .rock_ridge tests/integration/test_common.py:416: AssertionError ----------------------------- Captured stderr call ----------------------------- genisoimage 1.1.11 (Linux) Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_duplicate_rrmoved_n0/eltoritonofiles Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_duplicate_rrmoved_n0/eltoritonofiles/A Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_duplicate_rrmoved_n0/eltoritonofiles/A/B Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_duplicate_rrmoved_n0/eltoritonofiles/A/B/C Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_duplicate_rrmoved_n0/eltoritonofiles/A/B/C/D Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_duplicate_rrmoved_n0/eltoritonofiles/A/B/C/D/E Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_duplicate_rrmoved_n0/eltoritonofiles/A/B/C/D/E/F Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_duplicate_rrmoved_n0/eltoritonofiles/A/B/C/D/E/F/H Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_duplicate_rrmoved_n0/eltoritonofiles/A/B/C/D/E/F/H/1 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_duplicate_rrmoved_n0/eltoritonofiles/A/B/C/D/E/F/G Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_duplicate_rrmoved_n0/eltoritonofiles/A/B/C/D/E/F/G/1 Using 1000 for ./rr_moved/1 (1) 23 468 24 432 rr_moved 25 336 1 26 336 1 27 312 A 28 312 B 29 312 C 30 312 D 31 312 E 32 420 F 33 324 H 34 324 G Cache hit for '1/.' 36 36 /tmp/pytest-of-pbuilder1/pytest-0/test_parse_duplicate_rrmoved_n0/eltoritonofiles/A/B/C/D/E/F/H/1/second Cache hit for '1/.' 37 37 /tmp/pytest-of-pbuilder1/pytest-0/test_parse_duplicate_rrmoved_n0/eltoritonofiles/A/B/C/D/E/F/G/1/first Cache hit for 'A/.' Cache hit for 'A/..' Cache hit for 'B/.' Cache hit for 'B/..' Cache hit for 'C/.' Cache hit for 'C/..' Cache hit for 'D/.' Cache hit for 'D/..' Cache hit for 'E/.' Cache hit for 'E/..' Cache hit for 'F/.' Cache hit for 'F/..' Cache hit for 'H/.' Cache hit for 'H/..' Cache hit for 'G/.' Cache hit for 'G/..' Writing: Initial Padblock Start Block 0 Done with: Initial Padblock Block(s) 16 Writing: Primary Volume Descriptor Start Block 16 Done with: Primary Volume Descriptor Block(s) 1 Writing: End Volume Descriptor Start Block 17 Done with: End Volume Descriptor Block(s) 1 Writing: Version block Start Block 18 Done with: Version block Block(s) 1 Writing: Path table Start Block 19 Done with: Path table Block(s) 4 Writing: Directory tree Start Block 23 Done with: Directory tree Block(s) 12 Writing: Directory tree cleanup Start Block 35 Done with: Directory tree cleanup Block(s) 0 Writing: Extension record Start Block 35 Done with: Extension record Block(s) 1 Writing: The File(s) Start Block 36 Total extents scheduled to be written = 38 Total translation table size: 0 Total rockridge attributes bytes: 2810 Total directory bytes: 22996 Path table size(bytes): 128 Done with: The File(s) Block(s) 2 Max brk space used 42000 38 extents written (0 MB) __________________________ test_parse_deep_rr_symlink __________________________ tmp_path = PosixPath('/tmp/pytest-of-pbuilder1/pytest-0/test_parse_deep_rr_symlink0') def test_parse_deep_rr_symlink(tmp_path): # First set things up, and generate the ISO with genisoimage. indir = tmp_path / 'sevendeepdirs' indir.mkdir() outfile = str(indir)+'.iso' dir7 = indir / 'dir1' / 'dir2' / 'dir3' / 'dir4' / 'dir5' / 'dir6' / 'dir7' dir7.mkdir(parents=True) pwd = os.getcwd() os.chdir(str(dir7)) os.symlink('/usr/share/foo', 'sym') os.chdir(pwd) subprocess.call(['genisoimage', '-v', '-v', '-iso-level', '1', '-no-pad', '-rational-rock', '-o', str(outfile), str(indir)]) > do_a_test(tmp_path, outfile, check_deep_rr_symlink) tests/integration/test_parse.py:2700: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/integration/test_parse.py:21: in do_a_test check_func(iso, os.stat(str(outfile)).st_size) tests/integration/test_common.py:3962: in check_deep_rr_symlink internal_check_root_dir_record(iso.pvd.root_dir_record, num_children=3, data_length=2048, extent_location=23, rr=True, rr_nlinks=3, xa=False, rr_onetwelve=False) tests/integration/test_common.py:289: in internal_check_root_dir_record internal_check_dotdot_dir_record(root_dir_record.children[1], rr=rr, rr_nlinks=rr_nlinks, xa=xa, rr_onetwelve=rr_onetwelve) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dotdot_record = , rr = True rr_nlinks = 3, xa = False, rr_onetwelve = False def internal_check_dotdot_dir_record(dotdot_record, rr, rr_nlinks, xa, rr_onetwelve): # The file identifier for the 'dotdot' directory entry should be the byte 1. assert(dotdot_record.file_ident == b'\x01') # The 'dotdot' directory entry should be a directory. assert(dotdot_record.isdir == True) # The 'dotdot' directory record length should be exactly 34 with no extensions. if rr: if rr_onetwelve: expected_dr_len = 104 else: expected_dr_len = 102 else: expected_dr_len = 34 if xa: expected_dr_len += 14 assert(dotdot_record.dr_len == expected_dr_len) # The 'dotdot' directory record is not the root. assert(dotdot_record.is_root == False) # The 'dotdot' directory record should have no children. assert(len(dotdot_record.children) == 0) assert(dotdot_record.file_flags == 2) if rr: assert(dotdot_record.rock_ridge._initialized == True) assert(dotdot_record.rock_ridge.dr_entries.sp_record == None) if not rr_onetwelve: assert(dotdot_record.rock_ridge.dr_entries.rr_record != None) assert(dotdot_record.rock_ridge.dr_entries.rr_record.rr_flags == 0x81) assert(dotdot_record.rock_ridge.dr_entries.ce_record == None) assert(dotdot_record.rock_ridge.dr_entries.px_record != None) assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_mode == 0o040555) > assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_links == rr_nlinks) E assert 2 == 3 E + where 2 = .posix_file_links E + where = .px_record E + where = .dr_entries E + where = .rock_ridge tests/integration/test_common.py:416: AssertionError ----------------------------- Captured stderr call ----------------------------- genisoimage 1.1.11 (Linux) Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_deep_rr_symlink0/sevendeepdirs Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_deep_rr_symlink0/sevendeepdirs/dir1 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_deep_rr_symlink0/sevendeepdirs/dir1/dir2 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_deep_rr_symlink0/sevendeepdirs/dir1/dir2/dir3 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_deep_rr_symlink0/sevendeepdirs/dir1/dir2/dir3/dir4 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_deep_rr_symlink0/sevendeepdirs/dir1/dir2/dir3/dir4/dir5 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_deep_rr_symlink0/sevendeepdirs/dir1/dir2/dir3/dir4/dir5/dir6 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_deep_rr_symlink0/sevendeepdirs/dir1/dir2/dir3/dir4/dir5/dir6/dir7 23 352 24 318 dir1 25 318 dir2 26 318 dir3 27 318 dir4 28 318 dir5 29 318 dir6 30 344 dir7 Cache hit for 'dir1/.' Cache hit for 'dir1/..' Cache hit for 'dir2/.' Cache hit for 'dir2/..' Cache hit for 'dir3/.' Cache hit for 'dir3/..' Cache hit for 'dir4/.' Cache hit for 'dir4/..' Cache hit for 'dir5/.' Cache hit for 'dir5/..' Cache hit for 'dir6/.' Cache hit for 'dir6/..' Cache hit for 'dir7/.' Cache hit for 'dir7/..' Writing: Initial Padblock Start Block 0 Done with: Initial Padblock Block(s) 16 Writing: Primary Volume Descriptor Start Block 16 Done with: Primary Volume Descriptor Block(s) 1 Writing: End Volume Descriptor Start Block 17 Done with: End Volume Descriptor Block(s) 1 Writing: Version block Start Block 18 Done with: Version block Block(s) 1 Writing: Path table Start Block 19 Done with: Path table Block(s) 4 Writing: Directory tree Start Block 23 Done with: Directory tree Block(s) 8 Writing: Directory tree cleanup Start Block 31 Done with: Directory tree cleanup Block(s) 0 Writing: Extension record Start Block 31 Done with: Extension record Block(s) 1 Writing: The File(s) Start Block 32 Total extents scheduled to be written = 32 Total translation table size: 0 Total rockridge attributes bytes: 1738 Total directory bytes: 14688 Path table size(bytes): 94 Done with: The File(s) Block(s) 0 Max brk space used 42000 32 extents written (0 MB) _______________________ test_parse_rr_deep_weird_layout ________________________ tmp_path = PosixPath('/tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_deep_weird_layou0') def test_parse_rr_deep_weird_layout(tmp_path): indir = tmp_path / 'rrdeepweird' indir.mkdir() outfile = str(indir) + '.iso' absimp = indir / 'astroid' / 'astroid' / 'tests' / 'testdata' / 'python3' / 'data' / 'absimp' absimp.mkdir(parents=True) sidepackage = absimp / 'sidepackage' sidepackage.mkdir() with open(os.path.join(str(absimp), 'string.py'), 'wb') as outfp: outfp.write(b'from __future__ import absolute_import, print_functino\nimport string\nprint(string)\n') with open(os.path.join(str(sidepackage), '__init__.py'), 'wb') as outfp: outfp.write(b'"""a side package with nothing in it\n"""\n') subprocess.call(['genisoimage', '-v', '-v', '-iso-level', '1', '-no-pad', '-rational-rock', '-o', str(outfile), str(indir)]) > do_a_test(tmp_path, outfile, check_rr_deep_weird_layout) tests/integration/test_parse.py:2718: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/integration/test_parse.py:21: in do_a_test check_func(iso, os.stat(str(outfile)).st_size) tests/integration/test_common.py:3986: in check_rr_deep_weird_layout internal_check_root_dir_record(iso.pvd.root_dir_record, num_children=4, data_length=2048, extent_location=23, rr=True, rr_nlinks=4, xa=False, rr_onetwelve=False) tests/integration/test_common.py:289: in internal_check_root_dir_record internal_check_dotdot_dir_record(root_dir_record.children[1], rr=rr, rr_nlinks=rr_nlinks, xa=xa, rr_onetwelve=rr_onetwelve) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dotdot_record = , rr = True rr_nlinks = 4, xa = False, rr_onetwelve = False def internal_check_dotdot_dir_record(dotdot_record, rr, rr_nlinks, xa, rr_onetwelve): # The file identifier for the 'dotdot' directory entry should be the byte 1. assert(dotdot_record.file_ident == b'\x01') # The 'dotdot' directory entry should be a directory. assert(dotdot_record.isdir == True) # The 'dotdot' directory record length should be exactly 34 with no extensions. if rr: if rr_onetwelve: expected_dr_len = 104 else: expected_dr_len = 102 else: expected_dr_len = 34 if xa: expected_dr_len += 14 assert(dotdot_record.dr_len == expected_dr_len) # The 'dotdot' directory record is not the root. assert(dotdot_record.is_root == False) # The 'dotdot' directory record should have no children. assert(len(dotdot_record.children) == 0) assert(dotdot_record.file_flags == 2) if rr: assert(dotdot_record.rock_ridge._initialized == True) assert(dotdot_record.rock_ridge.dr_entries.sp_record == None) if not rr_onetwelve: assert(dotdot_record.rock_ridge.dr_entries.rr_record != None) assert(dotdot_record.rock_ridge.dr_entries.rr_record.rr_flags == 0x81) assert(dotdot_record.rock_ridge.dr_entries.ce_record == None) assert(dotdot_record.rock_ridge.dr_entries.px_record != None) assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_mode == 0o040555) > assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_links == rr_nlinks) E assert 3 == 4 E + where 3 = .posix_file_links E + where = .px_record E + where = .dr_entries E + where = .rock_ridge tests/integration/test_common.py:416: AssertionError ----------------------------- Captured stderr call ----------------------------- genisoimage 1.1.11 (Linux) Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_deep_weird_layou0/rrdeepweird Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_deep_weird_layou0/rrdeepweird/astroid Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_deep_weird_layou0/rrdeepweird/astroid/astroid Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_deep_weird_layou0/rrdeepweird/astroid/astroid/tests Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_deep_weird_layou0/rrdeepweird/astroid/astroid/tests/testdata Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_deep_weird_layou0/rrdeepweird/astroid/astroid/tests/testdata/python3 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_deep_weird_layou0/rrdeepweird/astroid/astroid/tests/testdata/python3/data Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_deep_weird_layou0/rrdeepweird/astroid/astroid/tests/testdata/python3/data/absimp Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_deep_weird_layou0/rrdeepweird/astroid/astroid/tests/testdata/python3/data/absimp/sidepackage 23 480 24 334 rr_moved 25 346 sidepackage 26 324 astroid 27 320 astroid 28 326 tests 29 324 testdata 30 318 python3 31 322 data 32 468 absimp Cache hit for 'sidepackage/.' 34 34 /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_deep_weird_layou0/rrdeepweird/astroid/astroid/tests/testdata/python3/data/absimp/sidepackage/__init__.py Cache hit for 'astroid/.' Cache hit for 'astroid/..' Cache hit for 'astroid/.' Cache hit for 'astroid/..' Cache hit for 'tests/.' Cache hit for 'tests/..' Cache hit for 'testdata/.' Cache hit for 'testdata/..' Cache hit for 'python3/.' Cache hit for 'python3/..' Cache hit for 'data/.' Cache hit for 'data/..' Cache hit for 'absimp/.' Cache hit for 'absimp/..' 35 35 /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_deep_weird_layou0/rrdeepweird/astroid/astroid/tests/testdata/python3/data/absimp/string.py Writing: Initial Padblock Start Block 0 Done with: Initial Padblock Block(s) 16 Writing: Primary Volume Descriptor Start Block 16 Done with: Primary Volume Descriptor Block(s) 1 Writing: End Volume Descriptor Start Block 17 Done with: End Volume Descriptor Block(s) 1 Writing: Version block Start Block 18 Done with: Version block Block(s) 1 Writing: Path table Start Block 19 Done with: Path table Block(s) 4 Writing: Directory tree Start Block 23 Done with: Directory tree Block(s) 10 Writing: Directory tree cleanup Start Block 33 Done with: Directory tree cleanup Block(s) 0 Writing: Extension record Start Block 33 Done with: Extension record Block(s) 1 Writing: The File(s) Start Block 34 Total extents scheduled to be written = 36 Total translation table size: 0 Total rockridge attributes bytes: 2361 Total directory bytes: 18912 Path table size(bytes): 146 Done with: The File(s) Block(s) 2 Max brk space used 43000 36 extents written (0 MB) _________________________ test_parse_rr_long_dir_name __________________________ tmp_path = PosixPath('/tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_long_dir_name0') def test_parse_rr_long_dir_name(tmp_path): indir = tmp_path / 'rrlongdirname' indir.mkdir() outfile = str(indir) + '.iso' newdir = indir / ('a'*RR_MAX_FILENAME_LENGTH) newdir.mkdir() subprocess.call(['genisoimage', '-v', '-v', '-iso-level', '1', '-no-pad', '-rational-rock', '-o', str(outfile), str(indir)]) > do_a_test(tmp_path, outfile, check_rr_long_dir_name) tests/integration/test_parse.py:2729: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/integration/test_parse.py:21: in do_a_test check_func(iso, os.stat(str(outfile)).st_size) tests/integration/test_common.py:4029: in check_rr_long_dir_name internal_check_root_dir_record(iso.pvd.root_dir_record, num_children=3, data_length=2048, extent_location=23, rr=True, rr_nlinks=3, xa=False, rr_onetwelve=False) tests/integration/test_common.py:289: in internal_check_root_dir_record internal_check_dotdot_dir_record(root_dir_record.children[1], rr=rr, rr_nlinks=rr_nlinks, xa=xa, rr_onetwelve=rr_onetwelve) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dotdot_record = , rr = True rr_nlinks = 3, xa = False, rr_onetwelve = False def internal_check_dotdot_dir_record(dotdot_record, rr, rr_nlinks, xa, rr_onetwelve): # The file identifier for the 'dotdot' directory entry should be the byte 1. assert(dotdot_record.file_ident == b'\x01') # The 'dotdot' directory entry should be a directory. assert(dotdot_record.isdir == True) # The 'dotdot' directory record length should be exactly 34 with no extensions. if rr: if rr_onetwelve: expected_dr_len = 104 else: expected_dr_len = 102 else: expected_dr_len = 34 if xa: expected_dr_len += 14 assert(dotdot_record.dr_len == expected_dr_len) # The 'dotdot' directory record is not the root. assert(dotdot_record.is_root == False) # The 'dotdot' directory record should have no children. assert(len(dotdot_record.children) == 0) assert(dotdot_record.file_flags == 2) if rr: assert(dotdot_record.rock_ridge._initialized == True) assert(dotdot_record.rock_ridge.dr_entries.sp_record == None) if not rr_onetwelve: assert(dotdot_record.rock_ridge.dr_entries.rr_record != None) assert(dotdot_record.rock_ridge.dr_entries.rr_record.rr_flags == 0x81) assert(dotdot_record.rock_ridge.dr_entries.ce_record == None) assert(dotdot_record.rock_ridge.dr_entries.px_record != None) assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_mode == 0o040555) > assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_links == rr_nlinks) E assert 2 == 3 E + where 2 = .posix_file_links E + where = .px_record E + where = .dr_entries E + where = .rock_ridge tests/integration/test_common.py:416: AssertionError ----------------------------- Captured stderr call ----------------------------- genisoimage 1.1.11 (Linux) Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_long_dir_name0/rrlongdirname Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_long_dir_name0/rrlongdirname/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 23 464 25 204 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa Cache hit for 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/.' Cache hit for 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/..' Writing: Initial Padblock Start Block 0 Done with: Initial Padblock Block(s) 16 Writing: Primary Volume Descriptor Start Block 16 Done with: Primary Volume Descriptor Block(s) 1 Writing: End Volume Descriptor Start Block 17 Done with: End Volume Descriptor Block(s) 1 Writing: Version block Start Block 18 Done with: Version block Block(s) 1 Writing: Path table Start Block 19 Done with: Path table Block(s) 4 Writing: Directory tree Start Block 23 Done with: Directory tree Block(s) 3 Writing: Directory tree cleanup Start Block 26 Done with: Directory tree cleanup Block(s) 0 Writing: Extension record Start Block 26 Done with: Extension record Block(s) 1 Writing: The File(s) Start Block 27 Total extents scheduled to be written = 27 Total translation table size: 0 Total rockridge attributes bytes: 656 Total directory bytes: 2512 Path table size(bytes): 26 Done with: The File(s) Block(s) 0 Max brk space used 0 27 extents written (0 MB) ________________________ test_parse_rr_hidden_relocated ________________________ tmp_path = PosixPath('/tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_hidden_relocated0') def test_parse_rr_hidden_relocated(tmp_path): # First set things up, and generate the ISO with genisoimage. indir = tmp_path / 'rrdeep' indir.mkdir() outfile = str(indir)+'.iso' newdir = indir / 'dir1' / 'dir2' / 'dir3' / 'dir4' / 'dir5' / 'dir6' / 'dir7' / 'dir8' / 'dir9' newdir.mkdir(parents=True) with open(os.path.join(str(indir), 'dir1', 'dir2', 'dir3', 'dir4', 'dir5', 'dir6', 'dir7', 'dir8', 'dir9', 'foo'), 'wb') as outfp: outfp.write(b'foo\n') subprocess.call(['genisoimage', '-v', '-v', '-iso-level', '1', '-no-pad', '-rational-rock', '-hide-rr-moved', '-o', str(outfile), str(indir)]) > do_a_test(tmp_path, outfile, check_rr_relocated_hidden) tests/integration/test_parse.py:2743: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/integration/test_parse.py:21: in do_a_test check_func(iso, os.stat(str(outfile)).st_size) tests/integration/test_common.py:4098: in check_rr_relocated_hidden internal_check_root_dir_record(iso.pvd.root_dir_record, num_children=4, data_length=2048, extent_location=23, rr=True, rr_nlinks=4, xa=False, rr_onetwelve=False) tests/integration/test_common.py:289: in internal_check_root_dir_record internal_check_dotdot_dir_record(root_dir_record.children[1], rr=rr, rr_nlinks=rr_nlinks, xa=xa, rr_onetwelve=rr_onetwelve) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dotdot_record = , rr = True rr_nlinks = 4, xa = False, rr_onetwelve = False def internal_check_dotdot_dir_record(dotdot_record, rr, rr_nlinks, xa, rr_onetwelve): # The file identifier for the 'dotdot' directory entry should be the byte 1. assert(dotdot_record.file_ident == b'\x01') # The 'dotdot' directory entry should be a directory. assert(dotdot_record.isdir == True) # The 'dotdot' directory record length should be exactly 34 with no extensions. if rr: if rr_onetwelve: expected_dr_len = 104 else: expected_dr_len = 102 else: expected_dr_len = 34 if xa: expected_dr_len += 14 assert(dotdot_record.dr_len == expected_dr_len) # The 'dotdot' directory record is not the root. assert(dotdot_record.is_root == False) # The 'dotdot' directory record should have no children. assert(len(dotdot_record.children) == 0) assert(dotdot_record.file_flags == 2) if rr: assert(dotdot_record.rock_ridge._initialized == True) assert(dotdot_record.rock_ridge.dr_entries.sp_record == None) if not rr_onetwelve: assert(dotdot_record.rock_ridge.dr_entries.rr_record != None) assert(dotdot_record.rock_ridge.dr_entries.rr_record.rr_flags == 0x81) assert(dotdot_record.rock_ridge.dr_entries.ce_record == None) assert(dotdot_record.rock_ridge.dr_entries.px_record != None) assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_mode == 0o040555) > assert(dotdot_record.rock_ridge.dr_entries.px_record.posix_file_links == rr_nlinks) E assert 3 == 4 E + where 3 = .posix_file_links E + where = .px_record E + where = .dr_entries E + where = .rock_ridge tests/integration/test_common.py:416: AssertionError ----------------------------- Captured stderr call ----------------------------- genisoimage 1.1.11 (Linux) Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_hidden_relocated0/rrdeep Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_hidden_relocated0/rrdeep/dir1 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_hidden_relocated0/rrdeep/dir1/dir2 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_hidden_relocated0/rrdeep/dir1/dir2/dir3 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_hidden_relocated0/rrdeep/dir1/dir2/dir3/dir4 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_hidden_relocated0/rrdeep/dir1/dir2/dir3/dir4/dir5 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_hidden_relocated0/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_hidden_relocated0/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_hidden_relocated0/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8 Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_hidden_relocated0/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8/dir9 23 476 24 322 .rr_moved 25 330 dir8 26 320 dir9 27 318 dir1 28 318 dir2 29 318 dir3 30 318 dir4 31 318 dir5 32 318 dir6 33 330 dir7 Cache hit for 'dir8/.' Cache hit for 'dir9/.' Cache hit for 'dir9/..' 35 35 /tmp/pytest-of-pbuilder1/pytest-0/test_parse_rr_hidden_relocated0/rrdeep/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8/dir9/foo Cache hit for 'dir1/.' Cache hit for 'dir1/..' Cache hit for 'dir2/.' Cache hit for 'dir2/..' Cache hit for 'dir3/.' Cache hit for 'dir3/..' Cache hit for 'dir4/.' Cache hit for 'dir4/..' Cache hit for 'dir5/.' Cache hit for 'dir5/..' Cache hit for 'dir6/.' Cache hit for 'dir6/..' Cache hit for 'dir7/.' Cache hit for 'dir7/..' Writing: Initial Padblock Start Block 0 Done with: Initial Padblock Block(s) 16 Writing: Primary Volume Descriptor Start Block 16 Done with: Primary Volume Descriptor Block(s) 1 Writing: End Volume Descriptor Start Block 17 Done with: End Volume Descriptor Block(s) 1 Writing: Version block Start Block 18 Done with: Version block Block(s) 1 Writing: Path table Start Block 19 Done with: Path table Block(s) 4 Writing: Directory tree Start Block 23 Done with: Directory tree Block(s) 11 Writing: Directory tree cleanup Start Block 34 Done with: Directory tree cleanup Block(s) 0 Writing: Extension record Start Block 34 Done with: Extension record Block(s) 1 Writing: The File(s) Start Block 35 Total extents scheduled to be written = 36 Total translation table size: 0 Total rockridge attributes bytes: 2453 Total directory bytes: 20956 Path table size(bytes): 134 Done with: The File(s) Block(s) 1 Max brk space used 42000 36 extents written (0 MB) ________________________ test_parse_unicode_name_joliet ________________________ tmp_path = PosixPath('/tmp/pytest-of-pbuilder1/pytest-0/test_parse_unicode_name_joliet0') def test_parse_unicode_name_joliet(tmp_path): indir = tmp_path / 'unicodejoliet' indir.mkdir() outfile = str(indir)+'.iso' with open(os.path.join(str(indir), 'föo'), 'wb') as outfp: outfp.write(b'foo\n') subprocess.call(['genisoimage', '-v', '-v', '-iso-level', '1', '-J', '-no-pad', '-o', str(outfile), str(indir)]) > do_a_test(tmp_path, outfile, check_unicode_name_joliet) tests/integration/test_parse.py:3237: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/integration/test_parse.py:21: in do_a_test check_func(iso, os.stat(str(outfile)).st_size) tests/integration/test_common.py:5437: in check_unicode_name_joliet internal_check_file(iso.joliet_vd.root_dir_record.children[2], name=b'\x00f\x00\xf6\x00o', dr_len=40, loc=30, datalen=4, hidden=False, multi_extent=False) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dirrecord = name = b'\x00f\x00\xf6\x00o', dr_len = 40, loc = 30, datalen = 4, hidden = False multi_extent = False def internal_check_file(dirrecord, name, dr_len, loc, datalen, hidden, multi_extent=False): assert(len(dirrecord.children) == 0) assert(dirrecord.isdir == False) assert(dirrecord.is_root == False) > assert(dirrecord.file_ident == name) E AssertionError: assert b'\x00f\x00\xc3\x00\xb6\x00o' == b'\x00f\x00\xf6\x00o' E At index 3 diff: b'\xc3' != b'\xf6' E Use -v to get more diff tests/integration/test_common.py:470: AssertionError ----------------------------- Captured stderr call ----------------------------- Warning: creating filesystem with Joliet extensions but without Rock Ridge extensions. It is highly recommended to add Rock Ridge. genisoimage 1.1.11 (Linux) Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_unicode_name_joliet0/unicodejoliet 28 108 30 30 /tmp/pytest-of-pbuilder1/pytest-0/test_parse_unicode_name_joliet0/unicodejoliet/föo Writing: Initial Padblock Start Block 0 Done with: Initial Padblock Block(s) 16 Writing: Primary Volume Descriptor Start Block 16 Done with: Primary Volume Descriptor Block(s) 1 Writing: Joliet Volume Descriptor Start Block 17 Done with: Joliet Volume Descriptor Block(s) 1 Writing: End Volume Descriptor Start Block 18 Done with: End Volume Descriptor Block(s) 1 Writing: Version block Start Block 19 Done with: Version block Block(s) 1 Writing: Path table Start Block 20 Done with: Path table Block(s) 4 Writing: Joliet path table Start Block 24 Done with: Joliet path table Block(s) 4 Writing: Directory tree Start Block 28 Done with: Directory tree Block(s) 1 Writing: Joliet directory tree Start Block 29 Done with: Joliet directory tree Block(s) 1 Writing: Directory tree cleanup Start Block 30 Done with: Directory tree cleanup Block(s) 0 Writing: The File(s) Start Block 30 Total extents scheduled to be written = 31 Total translation table size: 0 Total rockridge attributes bytes: 0 Total directory bytes: 108 Path table size(bytes): 10 Done with: The File(s) Block(s) 1 Max brk space used 0 31 extents written (0 MB) _________________________ test_parse_unicode_name_udf __________________________ tmp_path = PosixPath('/tmp/pytest-of-pbuilder1/pytest-0/test_parse_unicode_name_udf0') def test_parse_unicode_name_udf(tmp_path): indir = tmp_path / 'unicodeudf' indir.mkdir() outfile = str(indir)+'.iso' with open(os.path.join(str(indir), 'föo'), 'wb') as outfp: outfp.write(b'foo\n') subprocess.call(['genisoimage', '-v', '-v', '-iso-level', '1', '-udf', '-no-pad', '-o', str(outfile), str(indir)]) > do_a_test(tmp_path, outfile, check_unicode_name_udf) tests/integration/test_parse.py:3249: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/integration/test_parse.py:21: in do_a_test check_func(iso, os.stat(str(outfile)).st_size) tests/integration/test_common.py:5461: in check_unicode_name_udf internal_check_udf_file_ident_desc(foo_file_ident, extent=260, tag_location=3, characteristics=0, blocknum=4, abs_blocknum=261, name=b'f\xf6o', isparent=False, isdir=False) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ fi_desc = extent = 260, tag_location = 3, characteristics = 0, blocknum = 4 abs_blocknum = 261, name = b'f\xf6o', isparent = False, isdir = False def internal_check_udf_file_ident_desc(fi_desc, extent, tag_location, characteristics, blocknum, abs_blocknum, name, isparent, isdir): if extent is not None: assert(fi_desc.extent_location() == extent) internal_check_udf_tag(fi_desc.desc_tag, ident=257, location=tag_location) assert(fi_desc.file_characteristics == characteristics) namelen = len(name) if namelen > 0: namelen += 1 > assert(fi_desc.len_fi == namelen) E assert 5 == 4 E + where 5 = .len_fi tests/integration/test_common.py:973: AssertionError ----------------------------- Captured stderr call ----------------------------- genisoimage 1.1.11 (Linux) Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_unicode_name_udf0/unicodeudf 266 108 267 267 /tmp/pytest-of-pbuilder1/pytest-0/test_parse_unicode_name_udf0/unicodeudf/föo Writing: Initial Padblock Start Block 0 Done with: Initial Padblock Block(s) 16 Writing: Primary Volume Descriptor Start Block 16 Done with: Primary Volume Descriptor Block(s) 1 Writing: End Volume Descriptor Start Block 17 Done with: End Volume Descriptor Block(s) 1 Writing: UDF volume recognition area Start Block 18 Done with: UDF volume recognition area Block(s) 3 Writing: Version block Start Block 21 Done with: Version block Block(s) 1 Writing: UDF pad to sector 32 Start Block 22 Done with: UDF pad to sector 32 Block(s) 10 Writing: UDF main seq Start Block 32 Done with: UDF main seq Block(s) 16 Writing: UDF second seq Start Block 48 Done with: UDF second seq Block(s) 16 Writing: UDF integ seq Start Block 64 Done with: UDF integ seq Block(s) 2 Writing: UDF pad to sector 256 Start Block 66 Done with: UDF pad to sector 256 Block(s) 190 Writing: UDF Anchor volume Start Block 256 Done with: UDF Anchor volume Block(s) 1 Writing: UDF file set Start Block 257 Done with: UDF file set Block(s) 2 Writing: UDF directory tree Start Block 259 Done with: UDF directory tree Block(s) 2 Writing: UDF file entries Start Block 261 Done with: UDF file entries Block(s) 1 Writing: Path table Start Block 262 Done with: Path table Block(s) 4 Writing: Directory tree Start Block 266 Done with: Directory tree Block(s) 1 Writing: Directory tree cleanup Start Block 267 Done with: Directory tree cleanup Block(s) 0 Writing: The File(s) Start Block 267 Total extents scheduled to be written = 269 Total translation table size: 0 Total rockridge attributes bytes: 0 Total directory bytes: 108 Path table size(bytes): 10 Done with: The File(s) Block(s) 1 Writing: UDF Anchor end volume Start Block 268 Done with: UDF Anchor end volume Block(s) 1 Max brk space used 0 269 extents written (0 MB) ___________________ test_parse_unicode_name_two_byte_joliet ____________________ tmp_path = PosixPath('/tmp/pytest-of-pbuilder1/pytest-0/test_parse_unicode_name_two_by2') def test_parse_unicode_name_two_byte_joliet(tmp_path): indir = tmp_path / 'unicodetwobytejoliet' indir.mkdir() outfile = str(indir)+'.iso' with open(os.path.join(str(indir), 'fᴔo'), 'wb') as outfp: outfp.write(b'foo\n') subprocess.call(['genisoimage', '-v', '-v', '-iso-level', '1', '-J', '-no-pad', '-o', str(outfile), str(indir)]) > do_a_test(tmp_path, outfile, check_unicode_name_two_byte_joliet) tests/integration/test_parse.py:3297: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/integration/test_parse.py:21: in do_a_test check_func(iso, os.stat(str(outfile)).st_size) tests/integration/test_common.py:5516: in check_unicode_name_two_byte_joliet internal_check_file(iso.joliet_vd.root_dir_record.children[2], name=b'\x00f\x1d\x14\x00o', dr_len=40, loc=30, datalen=4, hidden=False, multi_extent=False) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ dirrecord = name = b'\x00f\x1d\x14\x00o', dr_len = 40, loc = 30, datalen = 4, hidden = False multi_extent = False def internal_check_file(dirrecord, name, dr_len, loc, datalen, hidden, multi_extent=False): assert(len(dirrecord.children) == 0) assert(dirrecord.isdir == False) assert(dirrecord.is_root == False) > assert(dirrecord.file_ident == name) E AssertionError: assert b'\x00f\x00\x...xb4\x00_\x00o' == b'\x00f\x1d\x14\x00o' E At index 2 diff: b'\x00' != b'\x1d' E Use -v to get more diff tests/integration/test_common.py:470: AssertionError ----------------------------- Captured stderr call ----------------------------- Warning: creating filesystem with Joliet extensions but without Rock Ridge extensions. It is highly recommended to add Rock Ridge. genisoimage 1.1.11 (Linux) Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_unicode_name_two_by2/unicodetwobytejoliet 28 110 30 30 /tmp/pytest-of-pbuilder1/pytest-0/test_parse_unicode_name_two_by2/unicodetwobytejoliet/fᴔo Writing: Initial Padblock Start Block 0 Done with: Initial Padblock Block(s) 16 Writing: Primary Volume Descriptor Start Block 16 Done with: Primary Volume Descriptor Block(s) 1 Writing: Joliet Volume Descriptor Start Block 17 Done with: Joliet Volume Descriptor Block(s) 1 Writing: End Volume Descriptor Start Block 18 Done with: End Volume Descriptor Block(s) 1 Writing: Version block Start Block 19 Done with: Version block Block(s) 1 Writing: Path table Start Block 20 Done with: Path table Block(s) 4 Writing: Joliet path table Start Block 24 Done with: Joliet path table Block(s) 4 Writing: Directory tree Start Block 28 Done with: Directory tree Block(s) 1 Writing: Joliet directory tree Start Block 29 Done with: Joliet directory tree Block(s) 1 Writing: Directory tree cleanup Start Block 30 Done with: Directory tree cleanup Block(s) 0 Writing: The File(s) Start Block 30 Total extents scheduled to be written = 31 Total translation table size: 0 Total rockridge attributes bytes: 0 Total directory bytes: 110 Path table size(bytes): 10 Done with: The File(s) Block(s) 1 Max brk space used 0 31 extents written (0 MB) _____________________ test_parse_unicode_name_two_byte_udf _____________________ tmp_path = PosixPath('/tmp/pytest-of-pbuilder1/pytest-0/test_parse_unicode_name_two_by3') def test_parse_unicode_name_two_byte_udf(tmp_path): indir = tmp_path / 'unicodeudftwobyte' indir.mkdir() outfile = str(indir)+'.iso' with open(os.path.join(str(indir), 'fᴔo'), 'wb') as outfp: outfp.write(b'foo\n') subprocess.call(['genisoimage', '-v', '-v', '-iso-level', '1', '-udf', '-no-pad', '-o', str(outfile), str(indir)]) > do_a_test(tmp_path, outfile, check_unicode_name_two_byte_udf) tests/integration/test_parse.py:3309: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tests/integration/test_parse.py:21: in do_a_test check_func(iso, os.stat(str(outfile)).st_size) tests/integration/test_common.py:5535: in check_unicode_name_two_byte_udf internal_check_udf_file_entry(iso.udf_root, location=259, tag_location=2, num_links=1, info_len=88, num_blocks_recorded=1, num_fi_descs=2, file_type='dir', num_alloc_descs=1) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ file_entry = , location = 259 tag_location = 2, num_links = 1, info_len = 88, num_blocks_recorded = 1 num_fi_descs = 2, file_type = 'dir', num_alloc_descs = 1 def internal_check_udf_file_entry(file_entry, location, tag_location, num_links, info_len, num_blocks_recorded, num_fi_descs, file_type, num_alloc_descs): if location is not None: assert(file_entry.extent_location() == location) internal_check_udf_tag(file_entry.desc_tag, ident=261, location=tag_location) assert(file_entry.icb_tag.prior_num_direct_entries == 0) assert(file_entry.icb_tag.strategy_type == 4) assert(file_entry.icb_tag.strategy_param == 0) assert(file_entry.icb_tag.max_num_entries == 1) if file_type == 'dir': assert(file_entry.icb_tag.file_type == 4) elif file_type == 'symlink': assert(file_entry.icb_tag.file_type == 12) else: assert(file_entry.icb_tag.file_type == 5) assert(file_entry.icb_tag.parent_icb.logical_block_num == 0) assert(file_entry.icb_tag.parent_icb.part_ref_num == 0) assert(file_entry.icb_tag.flags == 560) assert(file_entry.uid == 4294967295) assert(file_entry.gid == 4294967295) if file_type == 'dir': assert(file_entry.perms == 5285) else: assert(file_entry.perms == 4228) assert(file_entry.file_link_count == num_links) > assert(file_entry.info_len == info_len) E assert 84 == 88 E + where 84 = .info_len tests/integration/test_common.py:955: AssertionError ----------------------------- Captured stderr call ----------------------------- genisoimage 1.1.11 (Linux) Scanning /tmp/pytest-of-pbuilder1/pytest-0/test_parse_unicode_name_two_by3/unicodeudftwobyte 266 110 267 267 /tmp/pytest-of-pbuilder1/pytest-0/test_parse_unicode_name_two_by3/unicodeudftwobyte/fᴔo Writing: Initial Padblock Start Block 0 Done with: Initial Padblock Block(s) 16 Writing: Primary Volume Descriptor Start Block 16 Done with: Primary Volume Descriptor Block(s) 1 Writing: End Volume Descriptor Start Block 17 Done with: End Volume Descriptor Block(s) 1 Writing: UDF volume recognition area Start Block 18 Done with: UDF volume recognition area Block(s) 3 Writing: Version block Start Block 21 Done with: Version block Block(s) 1 Writing: UDF pad to sector 32 Start Block 22 Done with: UDF pad to sector 32 Block(s) 10 Writing: UDF main seq Start Block 32 Done with: UDF main seq Block(s) 16 Writing: UDF second seq Start Block 48 Done with: UDF second seq Block(s) 16 Writing: UDF integ seq Start Block 64 Done with: UDF integ seq Block(s) 2 Writing: UDF pad to sector 256 Start Block 66 Done with: UDF pad to sector 256 Block(s) 190 Writing: UDF Anchor volume Start Block 256 Done with: UDF Anchor volume Block(s) 1 Writing: UDF file set Start Block 257 Done with: UDF file set Block(s) 2 Writing: UDF directory tree Start Block 259 Done with: UDF directory tree Block(s) 2 Writing: UDF file entries Start Block 261 Done with: UDF file entries Block(s) 1 Writing: Path table Start Block 262 Done with: Path table Block(s) 4 Writing: Directory tree Start Block 266 Done with: Directory tree Block(s) 1 Writing: Directory tree cleanup Start Block 267 Done with: Directory tree cleanup Block(s) 0 Writing: The File(s) Start Block 267 Total extents scheduled to be written = 269 Total translation table size: 0 Total rockridge attributes bytes: 0 Total directory bytes: 110 Path table size(bytes): 10 Done with: The File(s) Block(s) 1 Writing: UDF Anchor end volume Start Block 268 Done with: UDF Anchor end volume Block(s) 1 Max brk space used 0 269 extents written (0 MB) =========================== short test summary info ============================ FAILED tests/integration/test_hybrid.py::test_hybrid_rr_onefileonedirwithfile FAILED tests/integration/test_hybrid.py::test_hybrid_rr_and_eltorito_onedir3 FAILED tests/integration/test_hybrid.py::test_hybrid_rr_and_eltorito_rmdir - ... FAILED tests/integration/test_hybrid.py::test_hybrid_rr_and_eltorito_rmdir2 FAILED tests/integration/test_hybrid.py::test_hybrid_joliet_rr_and_eltorito_onedir FAILED tests/integration/test_hybrid.py::test_hybrid_rr_rmdir - assert 1 == 2 FAILED tests/integration/test_hybrid.py::test_hybrid_sevendeepdirs - assert 2... FAILED tests/integration/test_parse.py::test_parse_rr_onefileonedir - assert ... FAILED tests/integration/test_parse.py::test_parse_rr_onefileonedirwithfile FAILED tests/integration/test_parse.py::test_parse_rr_symlink2 - assert 2 == 3 FAILED tests/integration/test_parse.py::test_parse_joliet_and_rr_onedir - ass... FAILED tests/integration/test_parse.py::test_parse_rr_and_eltorito_onedir - a... FAILED tests/integration/test_parse.py::test_parse_joliet_rr_and_eltorito_onedir FAILED tests/integration/test_parse.py::test_parse_rr_deep_dir - assert 3 == 4 FAILED tests/integration/test_parse.py::test_parse_rr_deep - assert 3 == 4 FAILED tests/integration/test_parse.py::test_parse_rr_deep2 - assert 3 == 4 FAILED tests/integration/test_parse.py::test_parse_sevendeepdirs - assert 2 == 3 FAILED tests/integration/test_parse.py::test_parse_everything - assert 2 == 3 FAILED tests/integration/test_parse.py::test_parse_rr_xa_onedir - assert 2 == 3 FAILED tests/integration/test_parse.py::test_parse_rr_joliet_deep - assert 3 ... FAILED tests/integration/test_parse.py::test_parse_same_dirname_different_parent FAILED tests/integration/test_parse.py::test_parse_duplicate_rrmoved_name - a... FAILED tests/integration/test_parse.py::test_parse_deep_rr_symlink - assert 2... FAILED tests/integration/test_parse.py::test_parse_rr_deep_weird_layout - ass... FAILED tests/integration/test_parse.py::test_parse_rr_long_dir_name - assert ... FAILED tests/integration/test_parse.py::test_parse_rr_hidden_relocated - asse... FAILED tests/integration/test_parse.py::test_parse_unicode_name_joliet - Asse... FAILED tests/integration/test_parse.py::test_parse_unicode_name_udf - assert ... FAILED tests/integration/test_parse.py::test_parse_unicode_name_two_byte_joliet FAILED tests/integration/test_parse.py::test_parse_unicode_name_two_byte_udf ==== 30 failed, 1672 passed, 16 skipped, 3 deselected in 219.47s (0:03:39) ===== make[1]: *** [debian/rules:19: override_dh_auto_install] Error 1 make[1]: Leaving directory '/build/reproducible-path/python-pycdlib-1.12.0+ds1' make: *** [debian/rules:7: binary] Error 2 dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 I: copying local configuration E: Failed autobuilding of package I: unmounting dev/ptmx filesystem I: unmounting dev/pts filesystem I: unmounting dev/shm filesystem I: unmounting proc filesystem I: unmounting sys filesystem I: cleaning the build env I: removing directory /srv/workspace/pbuilder/30103 and its subdirectories Thu May 9 09:05:45 UTC 2024 W: No second build log, what happened?