Closed kloczek closed 2 years ago
Did this work with 3.3.2? 3.3.3 is a very small release with no changes in tests. We have quite a complicated structure of directories and symlinks in devicelibs_test/edd_data
that emulates sysfs
and it looks like pytest
isn't working correctly with this structure. I get the same infinite loop with pytest
even with older versions of blivet. Any reason for using pytest
instead of unittest
(which we are using)?
Did this work with 3.3.2? 3.3.3 is a very small release with no changes in tests
I have no idea. In Feb I've ackaged blivet module first time.
BTW IMO it would be good to add doc/
directory to release dist tar ball.
Just tested 3.4.2 and pytest now fails a bit different
+ PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-blivet-3.4.2-2.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-blivet-3.4.2-2.fc35.x86_64/usr/lib/python3.8/site-packages
+ /usr/bin/pytest -ra
=========================================================================== test session starts ============================================================================
platform linux -- Python 3.8.12, pytest-6.2.5, py-1.11.0, pluggy-1.0.0
rootdir: /home/tkloczko/rpmbuild/BUILD/blivet-3.4.2
plugins: cov-3.0.0, hypothesis-6.35.0
collected 0 items / 1 error
================================================================================== ERRORS ==================================================================================
______________________________________________________________________ ERROR collecting test session _______________________________________________________________________
/usr/lib/python3.8/site-packages/_pytest/runner.py:311: in from_call
result: Optional[TResult] = func()
/usr/lib/python3.8/site-packages/_pytest/runner.py:341: in <lambda>
call = CallInfo.from_call(lambda: list(collector.collect()), "collect")
/usr/lib/python3.8/site-packages/_pytest/main.py:690: in collect
for direntry in visit(str(argpath), self._recurse):
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:606: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:591: in visit
for entry in os.scandir(path):
E OSError: [Errno 40] Too many levels of symbolic links: '/home/tkloczko/rpmbuild/BUILD/blivet-3.4.2/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci0000:00/0000:00:01.1/ata7/host6/target6:0:0/6:0:0:0/block/sr0/device/block/sr0/device/block/sr0/device/block/sr0/device/block/sr0/device/block/sr0/device/block/sr0/device/block/sr0/device/block/sr0/device/block/sr0/device/block/sr0/device/block/sr0/device/block/sr0/device/block/sr0/device/block/sr0/device/block/sr0/device/block/sr0/device/block/sr0/device/block/sr0/device/block/sr0/device/block/sr0/device/block/sr0/device/block/sr0/device/block/sr0/device/block/sr0/device/block/sr0/device/block/sr0/device/block/sr0/device/block/sr0/device/block/sr0/device/block/sr0/device/block/sr0/device/block/sr0/device/block/sr0/device/block/sr0/device/block/sr0/device/block/sr0/device/block/sr0/device/block/sr0/device'
========================================================================= short test summary info ==========================================================================
ERROR - OSError: [Errno 40] Too many levels of symbolic links: '/home/tkloczko/rpmbuild/BUILD/blivet-3.4.2/tests/devicelibs_test/edd_data/absurd_virt/sys/devices/pci000...
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
============================================================================= 1 error in 4.93s =============================================================================
It is yet another issue. On using pep517 based build files are packaged in wrong location Here is the content of the generated .whl file
[tkloczko@ss-desktop dist]$ unzip -l blivet-3.4.2-py3-none-any.whl
Archive: blivet-3.4.2-py3-none-any.whl
Length Date Time Name
--------- ---------- ----- ----
4986 09-30-2021 11:10 blivet/__init__.py
14043 09-30-2021 11:10 blivet/actionlist.py
9563 09-30-2021 11:10 blivet/arch.py
46624 09-30-2021 11:10 blivet/blivet.py
9454 09-30-2021 11:10 blivet/callbacks.py
41652 09-30-2021 11:10 blivet/deviceaction.py
79792 09-30-2021 11:10 blivet/devicefactory.py
41238 09-30-2021 11:10 blivet/devicetree.py
6303 09-30-2021 11:10 blivet/errors.py
7768 09-30-2021 11:10 blivet/fcoe.py
3716 09-30-2021 11:10 blivet/flags.py
2436 09-30-2021 11:10 blivet/i18n.py
22052 09-30-2021 11:10 blivet/iscsi.py
6935 09-30-2021 11:10 blivet/mounts.py
84871 09-30-2021 11:10 blivet/partitioning.py
7233 09-30-2021 11:10 blivet/safe_dbus.py
7154 09-30-2021 11:10 blivet/size.py
2687 09-30-2021 11:10 blivet/storage_log.py
3751 09-30-2021 11:10 blivet/threads.py
3459 09-30-2021 11:10 blivet/tsort.py
31981 09-30-2021 11:10 blivet/udev.py
34721 09-30-2021 11:10 blivet/util.py
14451 09-30-2021 11:10 blivet/zfcp.py
1014 09-30-2021 11:10 blivet/dbus/__init__.py
1982 09-30-2021 11:10 blivet/dbus/action.py
10379 09-30-2021 11:10 blivet/dbus/blivet.py
1732 09-30-2021 11:10 blivet/dbus/constants.py
3154 09-30-2021 11:10 blivet/dbus/device.py
2451 09-30-2021 11:10 blivet/dbus/format.py
2971 09-30-2021 11:10 blivet/dbus/manager.py
4683 09-30-2021 11:10 blivet/dbus/object.py
0 09-30-2021 11:10 blivet/devicelibs/__init__.py
1429 09-30-2021 11:10 blivet/devicelibs/btrfs.py
2202 09-30-2021 11:10 blivet/devicelibs/crypto.py
3521 09-30-2021 11:10 blivet/devicelibs/disk.py
32101 09-30-2021 11:10 blivet/devicelibs/edd.py
7685 09-30-2021 11:10 blivet/devicelibs/lvm.py
1576 09-30-2021 11:10 blivet/devicelibs/mdraid.py
24513 09-30-2021 11:10 blivet/devicelibs/raid.py
1992 09-30-2021 11:10 blivet/devices/__init__.py
23642 09-30-2021 11:10 blivet/devices/btrfs.py
3726 09-30-2021 11:10 blivet/devices/cache.py
7659 09-30-2021 11:10 blivet/devices/container.py
12301 09-30-2021 11:10 blivet/devices/device.py
25634 09-30-2021 11:10 blivet/devices/disk.py
10118 09-30-2021 11:10 blivet/devices/dm.py
5287 09-30-2021 11:10 blivet/devices/file.py
6618 09-30-2021 11:10 blivet/devices/lib.py
4458 09-30-2021 11:10 blivet/devices/loop.py
8403 09-30-2021 11:10 blivet/devices/luks.py
104781 09-30-2021 11:10 blivet/devices/lvm.py
29633 09-30-2021 11:10 blivet/devices/md.py
2087 09-30-2021 11:10 blivet/devices/network.py
3031 09-30-2021 11:10 blivet/devices/nfs.py
3743 09-30-2021 11:10 blivet/devices/nodev.py
2871 09-30-2021 11:10 blivet/devices/optical.py
38653 09-30-2021 11:10 blivet/devices/partition.py
4820 09-30-2021 11:10 blivet/devices/raid.py
30792 09-30-2021 11:10 blivet/devices/storage.py
0 09-30-2021 11:10 blivet/events/__init__.py
4285 09-30-2021 11:10 blivet/events/changes.py
11201 09-30-2021 11:10 blivet/events/handler.py
11418 09-30-2021 11:10 blivet/events/manager.py
25419 09-30-2021 11:10 blivet/formats/__init__.py
2225 09-30-2021 11:10 blivet/formats/biosboot.py
22268 09-30-2021 11:10 blivet/formats/disklabel.py
4031 09-30-2021 11:10 blivet/formats/dmraid.py
48225 09-30-2021 11:10 blivet/formats/fs.py
1573 09-30-2021 11:10 blivet/formats/fslib.py
17959 09-30-2021 11:10 blivet/formats/luks.py
7171 09-30-2021 11:10 blivet/formats/lvmpv.py
4047 09-30-2021 11:10 blivet/formats/mdraid.py
2903 09-30-2021 11:10 blivet/formats/multipath.py
3619 09-30-2021 11:10 blivet/formats/prepboot.py
7795 09-30-2021 11:10 blivet/formats/swap.py
38 09-30-2021 11:10 blivet/populator/__init__.py
20284 09-30-2021 11:10 blivet/populator/populator.py
2493 09-30-2021 11:10 blivet/populator/helpers/__init__.py
2712 09-30-2021 11:10 blivet/populator/helpers/boot.py
4453 09-30-2021 11:10 blivet/populator/helpers/btrfs.py
2082 09-30-2021 11:10 blivet/populator/helpers/devicepopulator.py
9348 09-30-2021 11:10 blivet/populator/helpers/disk.py
6349 09-30-2021 11:10 blivet/populator/helpers/disklabel.py
2468 09-30-2021 11:10 blivet/populator/helpers/dm.py
3992 09-30-2021 11:10 blivet/populator/helpers/dmraid.py
4103 09-30-2021 11:10 blivet/populator/helpers/formatpopulator.py
2590 09-30-2021 11:10 blivet/populator/helpers/loop.py
6019 09-30-2021 11:10 blivet/populator/helpers/luks.py
19299 09-30-2021 11:10 blivet/populator/helpers/lvm.py
8471 09-30-2021 11:10 blivet/populator/helpers/mdraid.py
2566 09-30-2021 11:10 blivet/populator/helpers/multipath.py
2064 09-30-2021 11:10 blivet/populator/helpers/optical.py
4678 09-30-2021 11:10 blivet/populator/helpers/partition.py
2869 09-30-2021 11:10 blivet/populator/helpers/populatorhelper.py
149 09-30-2021 11:10 blivet/static_data/__init__.py
3523 09-30-2021 11:10 blivet/static_data/luks_data.py
4047 09-30-2021 11:10 blivet/static_data/lvm_info.py
2431 09-30-2021 11:10 blivet/static_data/mpath_info.py
5359 09-30-2021 11:10 blivet/static_data/nvdimm.py
0 09-30-2021 11:10 blivet/tasks/__init__.py
20368 09-30-2021 11:10 blivet/tasks/availability.py
1598 09-30-2021 11:10 blivet/tasks/dfresize.py
5413 09-30-2021 11:10 blivet/tasks/fsck.py
3085 09-30-2021 11:10 blivet/tasks/fsinfo.py
3186 09-30-2021 11:10 blivet/tasks/fslabeling.py
5790 09-30-2021 11:10 blivet/tasks/fsminsize.py
10426 09-30-2021 11:10 blivet/tasks/fsmkfs.py
6033 09-30-2021 11:10 blivet/tasks/fsmount.py
3723 09-30-2021 11:10 blivet/tasks/fsreadlabel.py
6128 09-30-2021 11:10 blivet/tasks/fsresize.py
4838 09-30-2021 11:10 blivet/tasks/fssize.py
2961 09-30-2021 11:10 blivet/tasks/fssync.py
1784 09-30-2021 11:10 blivet/tasks/fstask.py
2127 09-30-2021 11:10 blivet/tasks/fsuuid.py
3362 09-30-2021 11:10 blivet/tasks/fswritelabel.py
1949 09-30-2021 11:10 blivet/tasks/fswriteuuid.py
3355 09-30-2021 11:10 blivet/tasks/lukstasks.py
2885 09-30-2021 11:10 blivet/tasks/pvtask.py
3333 09-30-2021 11:10 blivet/tasks/task.py
400 09-30-2021 11:10 etc/dbus-1/system.d/blivet.conf
113 09-30-2021 11:10 usr/lib/systemd/system/blivet.service
364 09-30-2021 11:10 usr/libexec/blivetd
106 09-30-2021 11:10 usr/share/dbus-1/system-services/com.redhat.Blivet0.service
18092 01-11-2022 06:11 blivet-3.4.2.dist-info/COPYING
3978 01-11-2022 06:11 blivet-3.4.2.dist-info/METADATA
92 01-11-2022 06:11 blivet-3.4.2.dist-info/WHEEL
7 01-11-2022 06:11 blivet-3.4.2.dist-info/top_level.txt
10459 01-11-2022 06:11 blivet-3.4.2.dist-info/RECORD
--------- -------
1340993 128 files
On a side of the of blivet/ and blivet-3.4.2.dist-info/ are etc/ and usr/
gentle ping 😃
After apply changes from https://github.com/storaged-project/blivet/compare/blivet-3.4.3...3.4-devel Looks like pytest no longers is in infinite loop however it exits with error.
+ SETUPTOOLS_SCM_PRETEND_VERSION=3.4.3
+ PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-blivet-3.4.3-3.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-blivet-3.4.3-3.fc35.x86_64/usr/lib/python3.8/site-packages
+ /usr/bin/pytest -ra -vvv
=========================================================================== test session starts ============================================================================
platform linux -- Python 3.8.13, pytest-7.1.2, pluggy-1.0.0 -- /usr/bin/python3
cachedir: .pytest_cache
rootdir: /home/tkloczko/rpmbuild/BUILD/blivet-3.4.3
collected 0 items / 1 error
================================================================================== ERRORS ==================================================================================
______________________________________________________________________ ERROR collecting test session _______________________________________________________________________
/usr/lib/python3.8/site-packages/_pytest/runner.py:338: in from_call
result: Optional[TResult] = func()
/usr/lib/python3.8/site-packages/_pytest/runner.py:369: in <lambda>
call = CallInfo.from_call(lambda: list(collector.collect()), "collect")
/usr/lib/python3.8/site-packages/_pytest/main.py:711: in collect
for direntry in visit(str(argpath), self._recurse):
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:667: in visit
yield from visit(entry.path, recurse)
/usr/lib/python3.8/site-packages/_pytest/pathlib.py:652: in visit
for entry in os.scandir(path):
E FileNotFoundError: [Errno 2] No such file or directory: '/home/tkloczko/rpmbuild/BUILD/blivet-3.4.3/tests/devicelibs_test/edd_data/bad_sata_virt/sys/block/sda/device/block/sda/device/block/sda/device/block/sda/device/block/sda/device/block/sda/device/block/sda/device/block/sda/device/block/sda/device/block/sda/device/block/sda/device/block/sda/device/block/sda/device/block/sda/device/block/sda/device/block/sda/device/block/sda/device/block/sda/device/block/sda/device/block/sda/device/block/sda/device/block/sda/device/block/sda/device/block/sda/device/block/sda/device/block/sda/device/block/sda/device/block/sda/device/scsi_device/0:0:0:0/device/scsi_disk/0:0:0:0/device/scsi_device/0:0:0:0/device/block/sda/device/scsi_device/0:0:0:0/device/scsi_device/0:0:0:0/device/scsi_device/0:0:0:0/device/scsi_device/0:0:0:0/device/scsi_device/0:0:0:0/device/scsi_disk/0:0:0:0/device/scsi_disk/0:0:0:0'
========================================================================= short test summary info ==========================================================================
ERROR - FileNotFoundError: [Errno 2] No such file or directory: '/home/tkloczko/rpmbuild/BUILD/blivet-3.4.3/tests/devicelibs_test/edd_data/bad_sata_virt/sys/block/sda/d...
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Interrupted: 1 error during collection !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
====================================================================== 1 error in 4520.08s (1:15:20) =======================================================================
Just FTR: retested 3.5.0 and looks like test suite still is looping tha same way as I've reported this oppening ticket.
Is it anything what I can try to do to help diagnose that issue? 🤔 Is it possible to reproduce that issue?
My comment about the sysfs-like structure is still valid -- the symlinks there confuse pytest. I still don't see a reason to run tests with pytest, we use unittest and it works ok, but it looks like the it's not that complicated to tell pytest to ignore symlinks so I guess we can do that (see #1063). But I don't promise anything about keeping this working in the future or fixing other pytest related issues.
pytest has man advantages over unittest because it is extensible. I can perform as test build many additional tests of build packages only by adding pyetst extension to the build env. Other thing is that correctly written unittest test suite can be and is correctly handled by pytest.
[tkloczko@devel-g2v SPECS]$ ls -1 python-*.spec|wc -l; grep ^%pytest python-*.spec|wc -l
994
969
As you see I was able to use pytest with almost 97% of all my packages with python modules. That creates platform for may additional tests not initially designed by modules maintainers and prepare some comparative results on such massive scale (in +half year I'm going to publish such results).
For example by install black
module and redefine %pytest macro to add --black
param I can perform black
tests of all those modules which are using %pytest in rpm %check sestion.
All without touching even single line in rpm spec files.
I've been trying to strace python process and here is sample of two cycles in which pytest bounces: