strerror() represents ETIMEDOUT a bit different in Linux and macOS / FreeBSD. Let's support the latter too.
Fixes: 9d05a87b77 ("iotests: copy-before-write: add cases for cbw-timeout option") Signed-off-by: Vladimir Sementsov-Ogievskiy <vsement...@yandex-team.ru> --- As John and Thomas noted, the new iotests fails for FreeBSD and maxOS. Here is a fix. Would be great if someone can test it. I tried to push it by git push --force -o ci.variable="QEMU_CI=1" to my block branch, I get a blocked pipeline https://gitlab.com/vsementsov/qemu/-/pipelines/580573238 but it doesn't have neither freebsd nor macos jobs.. How to get them? tests/qemu-iotests/tests/copy-before-write | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests/qemu-iotests/tests/copy-before-write b/tests/qemu-iotests/tests/copy-before-write index 16efebbf8f..56937b9dff 100755 --- a/tests/qemu-iotests/tests/copy-before-write +++ b/tests/qemu-iotests/tests/copy-before-write @@ -192,6 +192,11 @@ read 1048576/1048576 bytes at offset 0 def test_timeout_break_guest(self): log = self.do_cbw_timeout('break-guest-write') + # macOS and FreeBSD tend to represent ETIMEDOUT as + # "Operation timed out", when Linux prefer + # "Connection timed out" + log = log.replace('Operation timed out', + 'Connection timed out') self.assertEqual(log, """\ wrote 524288/524288 bytes at offset 0 512 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -- 2.25.1