[gparted] Exclude unit tests needing losetup in Docker CI image (!59)
- From: Curtis Gedak <gedakc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gparted] Exclude unit tests needing losetup in Docker CI image (!59)
- Date: Sat, 14 Mar 2020 15:59:51 +0000 (UTC)
commit 39fdfe51da4bddecb2c99a9b544b270130423e72
Author: Mike Fleetwood <mike fleetwood googlemail com>
Date: Wed Mar 11 07:55:53 2020 +0000
Exclude unit tests needing losetup in Docker CI image (!59)
test_SupportedFileSystems is another unit test that has been failing
since 23-Feb-2020 in GNOME GitLab Continuous Integration test jobs.
Fragments from tests/test-suite.log from a failed test CI job:
FAIL: test_SupportedFileSystems
===============================
...
[ RUN ] My/SupportedFileSystemsTest.Create/lvm2pv
test_SupportedFileSystems.cc:387: Failure
Failed
create_loopdev(): Execute: losetup --find --show 'test_SupportedFileSystems.img'
losetup: test_SupportedFileSystems.img: failed to set up loop device: No such file or directory
create_loopdev(): Losetup failed with exit status 1
create_loopdev(): Failed to create required loop device
Error: Could not stat device - No such file or directory.
test_SupportedFileSystems.cc:446: Failure
Value of: lp_device != NULL
Actual: false
Expected: true
test_SupportedFileSystems.cc:490: Failure
Value of: m_fs_object->create(m_partition, m_operation_detail)
Actual: false
Expected: true
Operation details:
lvm pvcreate -M 2 '' 00:00:00 (ERROR)
WARNING: Failed to connect to lvmetad. Falling back to device scanning.
Device not found.
detach_loopdev(): Execute: losetup --detach ''
losetup: /dev/: detach failed: Inappropriate ioctl for device
detach_loopdev(): Losetup failed with exit status 1
detach_loopdev(): Failed to detach loop device. Test NOT affected
[ FAILED ] My/SupportedFileSystemsTest.Create/lvm2pv, where GetParam() = 20 (64 ms)
...
[ RUN ] My/SupportedFileSystemsTest.CreateAndReadUsage/btrfs
test_SupportedFileSystems.cc:387: Failure
Failed
create_loopdev(): Execute: losetup --find --show 'test_SupportedFileSystems.img'
losetup: test_SupportedFileSystems.img: failed to set up loop device: No such file or directory
create_loopdev(): Losetup failed with exit status 1
create_loopdev(): Failed to create required loop device
Error: Could not stat device - No such file or directory.
test_SupportedFileSystems.cc:446: Failure
Value of: lp_device != NULL
Actual: false
Expected: true
test_SupportedFileSystems.cc:503: Failure
Value of: m_fs_object->create(m_partition, m_operation_detail)
Actual: false
Expected: true
Operation details:
mkfs.btrfs -L '' '' 00:00:00 (ERROR)
btrfs-progs v4.9.1
See http://btrfs.wiki.kernel.org for more information.
ERROR: failed to check size for : No such file or directory
detach_loopdev(): Execute: losetup --detach ''
losetup: /dev/: detach failed: Inappropriate ioctl for device
detach_loopdev(): Losetup failed with exit status 1
detach_loopdev(): Failed to detach loop device. Test NOT affected
[ FAILED ] My/SupportedFileSystemsTest.CreateAndReadUsage/btrfs, where GetParam() = 7 (11 ms)
All the test_SupportedFileSystems unit tests which need a loop device
are failing when running losetup like this:
losetup: <IMAGE_NAME>: failed to setup loop device: No such file or directory
losetup uses /dev/loop-control [1][2] which no longer exists in the
Docker image. However even after creating /dev/loop-control in the
image, losetup continues to fail. Also tried stracing losetup but that
fails like this, presumably because it is not allowed inside the Docker
image:
$ strace losetup --find --show /tmp/disk.img
strace: ptrace(PTRACE_TRACEME, ...): Operation not permitted
+++ exited with 1 +++
For now I have run out of ways to investigate and resolve this, so just
exclude the 12 tests which required loop devices. All the tests still
execute when run locally outside the restricted GNOME GitLab CI Docker
setup.
Closes !59 - Fix GNOME GitLab CI test job failures because of missing
/dev entries
.gitlab-ci.yml | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
---
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index fab4241f..37632bb9 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -60,6 +60,25 @@ stages:
- make -j $nproc
# Exclude specific unit test which fails without /dev/disk in Docker images.
- export GTEST_FILTER='-BlockSpecialTest.NamedBlockSpecialObjectBySymlinkMatches'
+ # Exclude specific unit tests which fail without being able to create
+ # loop devices in Docker images.
+ - GTEST_FILTER+=':My/SupportedFileSystemsTest.Create/lvm2pv'
+ - GTEST_FILTER+=':My/SupportedFileSystemsTest.CreateAndReadUsage/btrfs'
+ - GTEST_FILTER+=':My/SupportedFileSystemsTest.CreateAndReadUsage/lvm2pv'
+ - GTEST_FILTER+=':My/SupportedFileSystemsTest.CreateAndReadUsage/nilfs2'
+ - GTEST_FILTER+=':My/SupportedFileSystemsTest.CreateAndReadLabel/btrfs'
+ - GTEST_FILTER+=':My/SupportedFileSystemsTest.CreateAndReadLabel/nilfs2'
+ - GTEST_FILTER+=':My/SupportedFileSystemsTest.CreateAndReadUUID/btrfs'
+ - GTEST_FILTER+=':My/SupportedFileSystemsTest.CreateAndReadUUID/nilfs2'
+ - GTEST_FILTER+=':My/SupportedFileSystemsTest.CreateAndWriteLabel/nilfs2'
+ - GTEST_FILTER+=':My/SupportedFileSystemsTest.CreateAndWriteUUID/nilfs2'
+ - GTEST_FILTER+=':My/SupportedFileSystemsTest.CreateAndCheck/lvm2pv'
+ - GTEST_FILTER+=':My/SupportedFileSystemsTest.CreateAndRemove/lvm2pv'
+ - GTEST_FILTER+=':My/SupportedFileSystemsTest.CreateAndGrow/btrfs'
+ - GTEST_FILTER+=':My/SupportedFileSystemsTest.CreateAndGrow/lvm2pv'
+ - GTEST_FILTER+=':My/SupportedFileSystemsTest.CreateAndGrow/xfs'
+ - GTEST_FILTER+=':My/SupportedFileSystemsTest.CreateAndShrink/btrfs'
+ - GTEST_FILTER+=':My/SupportedFileSystemsTest.CreateAndShrink/lvm2pv'
# Create needed /dev entries for unit tests in Docker images.
- tests/makedev.sh
- make check
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]