* [PATCH 0/2] Few fixes I found when building QEMU with Rust @ 2025-08-01 14:59 Martin Kletzander 2025-08-01 14:59 ` [PATCH 1/2] rust: Add antoher variant for impl_vmstate_struct! macro Martin Kletzander 2025-08-01 14:59 ` [PATCH 2/2] tests/qemu-iotests: Indent expected error messages Martin Kletzander 0 siblings, 2 replies; 15+ messages in thread From: Martin Kletzander @ 2025-08-01 14:59 UTC (permalink / raw) To: qemu-devel Cc: qemu-block, Manos Pitsidianakis, Paolo Bonzini, qemu-rust, Hanna Reitz, Kevin Wolf I'm fairly sure the first one is alright, but I must admit I have no idea why is the second patch needed on my system. For both patches, please take them with a grain of salt and feel free to prove me wrong with anything. This used to be a bigger series until I rebased on top of Paolo's rust-next branch and basically got half of it for free. That's why these unrelated patches are bundled in a "series". Martin Kletzander (2): rust: Add antoher variant for impl_vmstate_struct! macro tests/qemu-iotests: Indent expected error messages rust/qemu-api/src/vmstate.rs | 11 +++++++++++ rust/qemu-api/tests/vmstate_tests.rs | 1 + tests/qemu-iotests/039.out | 10 +++++----- tests/qemu-iotests/061.out | 4 ++-- tests/qemu-iotests/137.out | 2 +- 5 files changed, 20 insertions(+), 8 deletions(-) -- 2.50.1 ^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 1/2] rust: Add antoher variant for impl_vmstate_struct! macro 2025-08-01 14:59 [PATCH 0/2] Few fixes I found when building QEMU with Rust Martin Kletzander @ 2025-08-01 14:59 ` Martin Kletzander 2025-08-01 21:44 ` Paolo Bonzini 2025-08-01 14:59 ` [PATCH 2/2] tests/qemu-iotests: Indent expected error messages Martin Kletzander 1 sibling, 1 reply; 15+ messages in thread From: Martin Kletzander @ 2025-08-01 14:59 UTC (permalink / raw) To: qemu-devel Cc: qemu-block, Manos Pitsidianakis, Paolo Bonzini, qemu-rust, Hanna Reitz, Kevin Wolf From: Martin Kletzander <mkletzan@redhat.com> In some cases (e.g. in vmstate_tests.rs) the second argument to impl_vmstate_struct! is actually an existing struct which is then copied (since VMStateDescription implements Copy) when saved into the static VMSD using .get(). That is not a problem because it is part of the data segment and the pointers are not being free'd since they point to static data. But it is a problem when tests rely on comparing the VMState descriptions as pointers rather than contents. And it also wastes space, more or less. Introduce second variant of the macro which can, instead of the expression, take an identifier or what looks like a reference. This second variant is added before the current variant so that it has preference, and only references the existing static data from it. This way tests are fixed and space is saved. And now that the VMStateDescription checking is fixed we can also check for the right value in test_vmstate_struct_varray_uint8_wrapper(). Signed-off-by: Martin Kletzander <mkletzan@redhat.com> --- I'm not sure whether this is caused by different utility on my system or bash version or whatever, but without this patch these three tests fail for me and this patch fixes it. rust/qemu-api/src/vmstate.rs | 11 +++++++++++ rust/qemu-api/tests/vmstate_tests.rs | 1 + 2 files changed, 12 insertions(+) diff --git a/rust/qemu-api/src/vmstate.rs b/rust/qemu-api/src/vmstate.rs index b5c6b764fbba..716e52afe740 100644 --- a/rust/qemu-api/src/vmstate.rs +++ b/rust/qemu-api/src/vmstate.rs @@ -449,6 +449,17 @@ macro_rules! vmstate_validate { /// description of the struct. #[macro_export] macro_rules! impl_vmstate_struct { + ($type:ty, $(&)?$vmsd:ident) => { + unsafe impl $crate::vmstate::VMState for $type { + const BASE: $crate::bindings::VMStateField = + $crate::bindings::VMStateField { + vmsd: $vmsd.as_ref(), + size: ::core::mem::size_of::<$type>(), + flags: $crate::bindings::VMStateFlags::VMS_STRUCT, + ..$crate::zeroable::Zeroable::ZERO + }; + } + }; ($type:ty, $vmsd:expr) => { unsafe impl $crate::vmstate::VMState for $type { const BASE: $crate::bindings::VMStateField = { diff --git a/rust/qemu-api/tests/vmstate_tests.rs b/rust/qemu-api/tests/vmstate_tests.rs index 2c0670ba0eed..7d3180e6c2ea 100644 --- a/rust/qemu-api/tests/vmstate_tests.rs +++ b/rust/qemu-api/tests/vmstate_tests.rs @@ -320,6 +320,7 @@ fn test_vmstate_struct_varray_uint8_wrapper() { b"arr_a_wrap\0" ); assert_eq!(foo_fields[5].num_offset, 228); + assert_eq!(foo_fields[5].vmsd, VMSTATE_FOOA.as_ref()); assert!(unsafe { foo_fields[5].field_exists.unwrap()(foo_b_p, 0) }); // The last VMStateField in VMSTATE_FOOB. -- 2.50.1 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH 1/2] rust: Add antoher variant for impl_vmstate_struct! macro 2025-08-01 14:59 ` [PATCH 1/2] rust: Add antoher variant for impl_vmstate_struct! macro Martin Kletzander @ 2025-08-01 21:44 ` Paolo Bonzini 2025-08-04 8:56 ` Martin Kletzander 0 siblings, 1 reply; 15+ messages in thread From: Paolo Bonzini @ 2025-08-01 21:44 UTC (permalink / raw) To: Martin Kletzander Cc: qemu-devel, open list:Block layer core, Manos Pitsidianakis, qemu-rust, Hanna Reitz, Kevin Wolf [-- Attachment #1: Type: text/plain, Size: 3438 bytes --] Il ven 1 ago 2025, 17:00 Martin Kletzander <mkletzan@redhat.com> ha scritto: > From: Martin Kletzander <mkletzan@redhat.com> > > In some cases (e.g. in vmstate_tests.rs) the second argument to > impl_vmstate_struct! is actually an existing struct which is then > copied (since VMStateDescription implements Copy) when saved into the > static VMSD using .get(). That is not a problem because it is part of > the data segment and the pointers are not being free'd since they point > to static data. But it is a problem when tests rely on comparing the > VMState descriptions as pointers rather than contents. And it also > wastes space, more or less. > > Introduce second variant of the macro which can, instead of the > expression, take an identifier or what looks like a reference. This > second variant is added before the current variant so that it has > preference, and only references the existing static data from it. > > This way tests are fixed and space is saved. > > And now that the VMStateDescription checking is fixed we can also check > for the right value in test_vmstate_struct_varray_uint8_wrapper(). > > Signed-off-by: Martin Kletzander <mkletzan@redhat.com> > --- > I'm not sure whether this is caused by different utility on my system or > bash > version or whatever, but without this patch these three tests fail for me > and > this patch fixes it. > I found something similar, though I wasn't sure if it was broken in master as well or only in the rust-next branch. If that works in master as well, I would remove completely the possibility of using &FOO, and always use .as_ref(). It's more efficient as you said, and there's no reason that I know to use the less efficient one. Paolo rust/qemu-api/src/vmstate.rs | 11 +++++++++++ > rust/qemu-api/tests/vmstate_tests.rs | 1 + > 2 files changed, 12 insertions(+) > > diff --git a/rust/qemu-api/src/vmstate.rs b/rust/qemu-api/src/vmstate.rs > index b5c6b764fbba..716e52afe740 100644 > --- a/rust/qemu-api/src/vmstate.rs > +++ b/rust/qemu-api/src/vmstate.rs > @@ -449,6 +449,17 @@ macro_rules! vmstate_validate { > /// description of the struct. > #[macro_export] > macro_rules! impl_vmstate_struct { > + ($type:ty, $(&)?$vmsd:ident) => { > + unsafe impl $crate::vmstate::VMState for $type { > + const BASE: $crate::bindings::VMStateField = > + $crate::bindings::VMStateField { > + vmsd: $vmsd.as_ref(), > + size: ::core::mem::size_of::<$type>(), > + flags: $crate::bindings::VMStateFlags::VMS_STRUCT, > + ..$crate::zeroable::Zeroable::ZERO > + }; > + } > + }; > ($type:ty, $vmsd:expr) => { > unsafe impl $crate::vmstate::VMState for $type { > const BASE: $crate::bindings::VMStateField = { > diff --git a/rust/qemu-api/tests/vmstate_tests.rs b/rust/qemu-api/tests/ > vmstate_tests.rs > index 2c0670ba0eed..7d3180e6c2ea 100644 > --- a/rust/qemu-api/tests/vmstate_tests.rs > +++ b/rust/qemu-api/tests/vmstate_tests.rs > @@ -320,6 +320,7 @@ fn test_vmstate_struct_varray_uint8_wrapper() { > b"arr_a_wrap\0" > ); > assert_eq!(foo_fields[5].num_offset, 228); > + assert_eq!(foo_fields[5].vmsd, VMSTATE_FOOA.as_ref()); > assert!(unsafe { foo_fields[5].field_exists.unwrap()(foo_b_p, 0) }); > > // The last VMStateField in VMSTATE_FOOB. > -- > 2.50.1 > > [-- Attachment #2: Type: text/html, Size: 5536 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 1/2] rust: Add antoher variant for impl_vmstate_struct! macro 2025-08-01 21:44 ` Paolo Bonzini @ 2025-08-04 8:56 ` Martin Kletzander 2025-08-04 10:08 ` Paolo Bonzini 0 siblings, 1 reply; 15+ messages in thread From: Martin Kletzander @ 2025-08-04 8:56 UTC (permalink / raw) To: Paolo Bonzini Cc: qemu-devel, open list:Block layer core, Manos Pitsidianakis, qemu-rust, Hanna Reitz, Kevin Wolf [-- Attachment #1: Type: text/plain, Size: 4566 bytes --] On Fri, Aug 01, 2025 at 11:44:03PM +0200, Paolo Bonzini wrote: >Il ven 1 ago 2025, 17:00 Martin Kletzander <mkletzan@redhat.com> ha scritto: > >> From: Martin Kletzander <mkletzan@redhat.com> >> >> In some cases (e.g. in vmstate_tests.rs) the second argument to >> impl_vmstate_struct! is actually an existing struct which is then >> copied (since VMStateDescription implements Copy) when saved into the >> static VMSD using .get(). That is not a problem because it is part of >> the data segment and the pointers are not being free'd since they point >> to static data. But it is a problem when tests rely on comparing the >> VMState descriptions as pointers rather than contents. And it also >> wastes space, more or less. >> >> Introduce second variant of the macro which can, instead of the >> expression, take an identifier or what looks like a reference. This >> second variant is added before the current variant so that it has >> preference, and only references the existing static data from it. >> >> This way tests are fixed and space is saved. >> >> And now that the VMStateDescription checking is fixed we can also check >> for the right value in test_vmstate_struct_varray_uint8_wrapper(). >> >> Signed-off-by: Martin Kletzander <mkletzan@redhat.com> >> --- >> I'm not sure whether this is caused by different utility on my system or >> bash >> version or whatever, but without this patch these three tests fail for me >> and >> this patch fixes it. >> > >I found something similar, though I wasn't sure if it was broken in master >as well or only in the rust-next branch. > It is not broken on master, but it *was* broken on rust-next. >If that works in master as well, I would remove completely the possibility >of using &FOO, and always use .as_ref(). It's more efficient as you said, >and there's no reason that I know to use the less efficient one. > That would mean that you cannot do what's done in e.g. pl011 impl_vmstate_struct!( PL011Registers, VMStateDescriptionBuilder::<PL011Registers>::new() ... .build() ); requiring you to always do: static/const VMSTATE_PL011_REGISTERS: VMStateDescription<PL011Registers> = VMStateDescriptionBuilder::<PL011Registers>::new() ... .build(); impl_vmstate_struct!(PL011Registers, VMSTATE_PL011_REGISTERS); *BUT* of course I had to rebase the patches on top of current rust-next on Friday and there were some of your commits from Thursday which I now see actually fix all what I tried fixing before as well. I tried finding the previous commit on which I saw all the issues and after some rebuilding I could not. So it is now not even broken on rust-next. This way I completely wasted your time, but at least learned something that's happening in the code. Sorry for that. Martin >Paolo > > rust/qemu-api/src/vmstate.rs | 11 +++++++++++ >> rust/qemu-api/tests/vmstate_tests.rs | 1 + >> 2 files changed, 12 insertions(+) >> >> diff --git a/rust/qemu-api/src/vmstate.rs b/rust/qemu-api/src/vmstate.rs >> index b5c6b764fbba..716e52afe740 100644 >> --- a/rust/qemu-api/src/vmstate.rs >> +++ b/rust/qemu-api/src/vmstate.rs >> @@ -449,6 +449,17 @@ macro_rules! vmstate_validate { >> /// description of the struct. >> #[macro_export] >> macro_rules! impl_vmstate_struct { >> + ($type:ty, $(&)?$vmsd:ident) => { >> + unsafe impl $crate::vmstate::VMState for $type { >> + const BASE: $crate::bindings::VMStateField = >> + $crate::bindings::VMStateField { >> + vmsd: $vmsd.as_ref(), >> + size: ::core::mem::size_of::<$type>(), >> + flags: $crate::bindings::VMStateFlags::VMS_STRUCT, >> + ..$crate::zeroable::Zeroable::ZERO >> + }; >> + } >> + }; >> ($type:ty, $vmsd:expr) => { >> unsafe impl $crate::vmstate::VMState for $type { >> const BASE: $crate::bindings::VMStateField = { >> diff --git a/rust/qemu-api/tests/vmstate_tests.rs b/rust/qemu-api/tests/ >> vmstate_tests.rs >> index 2c0670ba0eed..7d3180e6c2ea 100644 >> --- a/rust/qemu-api/tests/vmstate_tests.rs >> +++ b/rust/qemu-api/tests/vmstate_tests.rs >> @@ -320,6 +320,7 @@ fn test_vmstate_struct_varray_uint8_wrapper() { >> b"arr_a_wrap\0" >> ); >> assert_eq!(foo_fields[5].num_offset, 228); >> + assert_eq!(foo_fields[5].vmsd, VMSTATE_FOOA.as_ref()); >> assert!(unsafe { foo_fields[5].field_exists.unwrap()(foo_b_p, 0) }); >> >> // The last VMStateField in VMSTATE_FOOB. >> -- >> 2.50.1 >> >> [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 1/2] rust: Add antoher variant for impl_vmstate_struct! macro 2025-08-04 8:56 ` Martin Kletzander @ 2025-08-04 10:08 ` Paolo Bonzini 2025-08-04 12:04 ` Martin Kletzander 0 siblings, 1 reply; 15+ messages in thread From: Paolo Bonzini @ 2025-08-04 10:08 UTC (permalink / raw) To: Martin Kletzander Cc: qemu-devel, open list:Block layer core, Manos Pitsidianakis, qemu-rust, Hanna Reitz, Kevin Wolf [-- Attachment #1: Type: text/plain, Size: 2489 bytes --] Il lun 4 ago 2025, 10:56 Martin Kletzander <mkletzan@redhat.com> ha scritto: > *BUT* of course I had to rebase the patches on top of current rust-next > on Friday and there were some of your commits from Thursday which I now > see actually fix all what I tried fixing before as well. I tried > finding the previous commit on which I saw all the issues and after some > rebuilding I could not. So it is now not even broken on rust-next. > > This way I completely wasted your time, but at least learned something > that's happening in the code. Sorry for that. > Uh no you didn't. It was broken. Paolo Martin > > >Paolo > > > > rust/qemu-api/src/vmstate.rs | 11 +++++++++++ > >> rust/qemu-api/tests/vmstate_tests.rs | 1 + > >> 2 files changed, 12 insertions(+) > >> > >> diff --git a/rust/qemu-api/src/vmstate.rs b/rust/qemu-api/src/ > vmstate.rs > >> index b5c6b764fbba..716e52afe740 100644 > >> --- a/rust/qemu-api/src/vmstate.rs > >> +++ b/rust/qemu-api/src/vmstate.rs > >> @@ -449,6 +449,17 @@ macro_rules! vmstate_validate { > >> /// description of the struct. > >> #[macro_export] > >> macro_rules! impl_vmstate_struct { > >> + ($type:ty, $(&)?$vmsd:ident) => { > >> + unsafe impl $crate::vmstate::VMState for $type { > >> + const BASE: $crate::bindings::VMStateField = > >> + $crate::bindings::VMStateField { > >> + vmsd: $vmsd.as_ref(), > >> + size: ::core::mem::size_of::<$type>(), > >> + flags: $crate::bindings::VMStateFlags::VMS_STRUCT, > >> + ..$crate::zeroable::Zeroable::ZERO > >> + }; > >> + } > >> + }; > >> ($type:ty, $vmsd:expr) => { > >> unsafe impl $crate::vmstate::VMState for $type { > >> const BASE: $crate::bindings::VMStateField = { > >> diff --git a/rust/qemu-api/tests/vmstate_tests.rs > b/rust/qemu-api/tests/ > >> vmstate_tests.rs > >> index 2c0670ba0eed..7d3180e6c2ea 100644 > >> --- a/rust/qemu-api/tests/vmstate_tests.rs > >> +++ b/rust/qemu-api/tests/vmstate_tests.rs > >> @@ -320,6 +320,7 @@ fn test_vmstate_struct_varray_uint8_wrapper() { > >> b"arr_a_wrap\0" > >> ); > >> assert_eq!(foo_fields[5].num_offset, 228); > >> + assert_eq!(foo_fields[5].vmsd, VMSTATE_FOOA.as_ref()); > >> assert!(unsafe { foo_fields[5].field_exists.unwrap()(foo_b_p, 0) > }); > >> > >> // The last VMStateField in VMSTATE_FOOB. > >> -- > >> 2.50.1 > >> > >> > [-- Attachment #2: Type: text/html, Size: 4499 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 1/2] rust: Add antoher variant for impl_vmstate_struct! macro 2025-08-04 10:08 ` Paolo Bonzini @ 2025-08-04 12:04 ` Martin Kletzander 2025-08-04 13:06 ` Paolo Bonzini 0 siblings, 1 reply; 15+ messages in thread From: Martin Kletzander @ 2025-08-04 12:04 UTC (permalink / raw) To: Paolo Bonzini Cc: qemu-devel, open list:Block layer core, Manos Pitsidianakis, qemu-rust, Hanna Reitz, Kevin Wolf [-- Attachment #1: Type: text/plain, Size: 3782 bytes --] On Mon, Aug 04, 2025 at 12:08:15PM +0200, Paolo Bonzini wrote: >Il lun 4 ago 2025, 10:56 Martin Kletzander <mkletzan@redhat.com> ha scritto: > >> *BUT* of course I had to rebase the patches on top of current rust-next >> on Friday and there were some of your commits from Thursday which I now >> see actually fix all what I tried fixing before as well. I tried >> finding the previous commit on which I saw all the issues and after some >> rebuilding I could not. So it is now not even broken on rust-next. >> >> This way I completely wasted your time, but at least learned something >> that's happening in the code. Sorry for that. >> > >Uh no you didn't. It was broken. > But it is not now, neither master, nor rust-next, nor anything I tried from the reflog, which makes me suspicious about what I was developing this on. I distinctly remember the `$vmsd.get()` call in the macro which I presume was causing the copying due to VMStateDescription automatically implementing the Copy trait due to the bindgen invocation. But that's nowhere to be found, including git log --walk-reflog and manually searching various history trees. And I doubted that you rewrote the history of the rust-next branch. Neither do I remember changing the macro until I found out that other in code changes did not help to fix it. After some time I now managed to find it. It was the previous version of a commit 4cb0670e12c4, and that is nowhere to be found in rust-next at the moment, I guess fixes were incorporated while rebasing the branch on current master. That was a wild ride, but I'm glad it all works (apart from the bash version indentation) on rust-next. I'll try to read up on what's next to help with, if anything. Have a nice day, Martin >Paolo > >Martin >> >> >Paolo >> > >> > rust/qemu-api/src/vmstate.rs | 11 +++++++++++ >> >> rust/qemu-api/tests/vmstate_tests.rs | 1 + >> >> 2 files changed, 12 insertions(+) >> >> >> >> diff --git a/rust/qemu-api/src/vmstate.rs b/rust/qemu-api/src/ >> vmstate.rs >> >> index b5c6b764fbba..716e52afe740 100644 >> >> --- a/rust/qemu-api/src/vmstate.rs >> >> +++ b/rust/qemu-api/src/vmstate.rs >> >> @@ -449,6 +449,17 @@ macro_rules! vmstate_validate { >> >> /// description of the struct. >> >> #[macro_export] >> >> macro_rules! impl_vmstate_struct { >> >> + ($type:ty, $(&)?$vmsd:ident) => { >> >> + unsafe impl $crate::vmstate::VMState for $type { >> >> + const BASE: $crate::bindings::VMStateField = >> >> + $crate::bindings::VMStateField { >> >> + vmsd: $vmsd.as_ref(), >> >> + size: ::core::mem::size_of::<$type>(), >> >> + flags: $crate::bindings::VMStateFlags::VMS_STRUCT, >> >> + ..$crate::zeroable::Zeroable::ZERO >> >> + }; >> >> + } >> >> + }; >> >> ($type:ty, $vmsd:expr) => { >> >> unsafe impl $crate::vmstate::VMState for $type { >> >> const BASE: $crate::bindings::VMStateField = { >> >> diff --git a/rust/qemu-api/tests/vmstate_tests.rs >> b/rust/qemu-api/tests/ >> >> vmstate_tests.rs >> >> index 2c0670ba0eed..7d3180e6c2ea 100644 >> >> --- a/rust/qemu-api/tests/vmstate_tests.rs >> >> +++ b/rust/qemu-api/tests/vmstate_tests.rs >> >> @@ -320,6 +320,7 @@ fn test_vmstate_struct_varray_uint8_wrapper() { >> >> b"arr_a_wrap\0" >> >> ); >> >> assert_eq!(foo_fields[5].num_offset, 228); >> >> + assert_eq!(foo_fields[5].vmsd, VMSTATE_FOOA.as_ref()); >> >> assert!(unsafe { foo_fields[5].field_exists.unwrap()(foo_b_p, 0) >> }); >> >> >> >> // The last VMStateField in VMSTATE_FOOB. >> >> -- >> >> 2.50.1 >> >> >> >> >> [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 1/2] rust: Add antoher variant for impl_vmstate_struct! macro 2025-08-04 12:04 ` Martin Kletzander @ 2025-08-04 13:06 ` Paolo Bonzini 0 siblings, 0 replies; 15+ messages in thread From: Paolo Bonzini @ 2025-08-04 13:06 UTC (permalink / raw) To: Martin Kletzander Cc: qemu-devel, open list:Block layer core, Manos Pitsidianakis, qemu-rust, Hanna Reitz, Kevin Wolf [-- Attachment #1: Type: text/plain, Size: 439 bytes --] Il lun 4 ago 2025, 14:04 Martin Kletzander <mkletzan@redhat.com> ha scritto: > But that's nowhere to be found, including git log --walk-reflog and > manually searching various history trees. And I doubted that you > rewrote the history of the rust-next branch Yes, rust-next has its history rewritten. By the way the bug was probably related to some compiler changes, because I am almost certain it worked a couple months ago. Paolo [-- Attachment #2: Type: text/html, Size: 903 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* [PATCH 2/2] tests/qemu-iotests: Indent expected error messages 2025-08-01 14:59 [PATCH 0/2] Few fixes I found when building QEMU with Rust Martin Kletzander 2025-08-01 14:59 ` [PATCH 1/2] rust: Add antoher variant for impl_vmstate_struct! macro Martin Kletzander @ 2025-08-01 14:59 ` Martin Kletzander 2025-08-01 15:48 ` Daniel P. Berrangé 1 sibling, 1 reply; 15+ messages in thread From: Martin Kletzander @ 2025-08-01 14:59 UTC (permalink / raw) To: qemu-devel Cc: qemu-block, Manos Pitsidianakis, Paolo Bonzini, qemu-rust, Hanna Reitz, Kevin Wolf From: Martin Kletzander <mkletzan@redhat.com> When running all tests the expected "killed" messages are indented differently than the actual ones, by three more spaces. Change it so that the messages match and tests pass. Signed-off-by: Martin Kletzander <mkletzan@redhat.com> --- tests/qemu-iotests/039.out | 10 +++++----- tests/qemu-iotests/061.out | 4 ++-- tests/qemu-iotests/137.out | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/tests/qemu-iotests/039.out b/tests/qemu-iotests/039.out index e52484d4be1b..87809c534ba3 100644 --- a/tests/qemu-iotests/039.out +++ b/tests/qemu-iotests/039.out @@ -11,7 +11,7 @@ No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 wrote 512/512 bytes at offset 0 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) +./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) incompatible_features [0] ERROR cluster 5 refcount=0 reference=1 ERROR OFLAG_COPIED data cluster: l2_entry=8000000000050000 refcount=0 @@ -46,7 +46,7 @@ read 512/512 bytes at offset 0 Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 wrote 512/512 bytes at offset 0 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) +./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) incompatible_features [0] ERROR cluster 5 refcount=0 reference=1 Rebuilding refcount structure @@ -60,7 +60,7 @@ incompatible_features [] Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 wrote 512/512 bytes at offset 0 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) +./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) incompatible_features [] No errors were found on the image. @@ -79,7 +79,7 @@ No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 wrote 512/512 bytes at offset 0 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) +./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) incompatible_features [0] ERROR cluster 5 refcount=0 reference=1 ERROR OFLAG_COPIED data cluster: l2_entry=8000000000050000 refcount=0 @@ -89,7 +89,7 @@ Data may be corrupted, or further writes to the image may corrupt it. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 wrote 512/512 bytes at offset 0 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) +./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) incompatible_features [] No errors were found on the image. *** done diff --git a/tests/qemu-iotests/061.out b/tests/qemu-iotests/061.out index 24c33add7ce6..ae4c0d37bbbe 100644 --- a/tests/qemu-iotests/061.out +++ b/tests/qemu-iotests/061.out @@ -118,7 +118,7 @@ No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 wrote 131072/131072 bytes at offset 0 128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) +./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) magic 0x514649fb version 3 backing_file_offset 0x0 @@ -304,7 +304,7 @@ No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 wrote 131072/131072 bytes at offset 0 128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) +./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) magic 0x514649fb version 3 backing_file_offset 0x0 diff --git a/tests/qemu-iotests/137.out b/tests/qemu-iotests/137.out index 86377c80cde6..f3b12fbb04b0 100644 --- a/tests/qemu-iotests/137.out +++ b/tests/qemu-iotests/137.out @@ -35,7 +35,7 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 qemu-io: Unsupported value 'blubb' for qcow2 option 'overlap-check'. Allowed are any of the following: none, constant, cached, all wrote 512/512 bytes at offset 0 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) +./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) OK: Dirty bit not set Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 qemu-io: Parameter 'lazy-refcounts' expects 'on' or 'off' -- 2.50.1 ^ permalink raw reply related [flat|nested] 15+ messages in thread
* Re: [PATCH 2/2] tests/qemu-iotests: Indent expected error messages 2025-08-01 14:59 ` [PATCH 2/2] tests/qemu-iotests: Indent expected error messages Martin Kletzander @ 2025-08-01 15:48 ` Daniel P. Berrangé 2025-08-01 19:09 ` Fabiano Rosas 0 siblings, 1 reply; 15+ messages in thread From: Daniel P. Berrangé @ 2025-08-01 15:48 UTC (permalink / raw) To: Martin Kletzander Cc: qemu-devel, qemu-block, Manos Pitsidianakis, Paolo Bonzini, qemu-rust, Hanna Reitz, Kevin Wolf On Fri, Aug 01, 2025 at 04:59:50PM +0200, Martin Kletzander wrote: > From: Martin Kletzander <mkletzan@redhat.com> > > When running all tests the expected "killed" messages are indented > differently than the actual ones, by three more spaces. Change it so > that the messages match and tests pass. This would break the tests on my system and CI too. What distro are you seeing this on ? I'm guessing this is a different in either valgrind or C library ? > > Signed-off-by: Martin Kletzander <mkletzan@redhat.com> > --- > tests/qemu-iotests/039.out | 10 +++++----- > tests/qemu-iotests/061.out | 4 ++-- > tests/qemu-iotests/137.out | 2 +- > 3 files changed, 8 insertions(+), 8 deletions(-) > > diff --git a/tests/qemu-iotests/039.out b/tests/qemu-iotests/039.out > index e52484d4be1b..87809c534ba3 100644 > --- a/tests/qemu-iotests/039.out > +++ b/tests/qemu-iotests/039.out > @@ -11,7 +11,7 @@ No errors were found on the image. > Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 > wrote 512/512 bytes at offset 0 > 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) > -./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) > +./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) > incompatible_features [0] > ERROR cluster 5 refcount=0 reference=1 > ERROR OFLAG_COPIED data cluster: l2_entry=8000000000050000 refcount=0 > @@ -46,7 +46,7 @@ read 512/512 bytes at offset 0 > Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 > wrote 512/512 bytes at offset 0 > 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) > -./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) > +./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) > incompatible_features [0] > ERROR cluster 5 refcount=0 reference=1 > Rebuilding refcount structure > @@ -60,7 +60,7 @@ incompatible_features [] > Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 > wrote 512/512 bytes at offset 0 > 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) > -./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) > +./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) > incompatible_features [] > No errors were found on the image. > > @@ -79,7 +79,7 @@ No errors were found on the image. > Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 > wrote 512/512 bytes at offset 0 > 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) > -./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) > +./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) > incompatible_features [0] > ERROR cluster 5 refcount=0 reference=1 > ERROR OFLAG_COPIED data cluster: l2_entry=8000000000050000 refcount=0 > @@ -89,7 +89,7 @@ Data may be corrupted, or further writes to the image may corrupt it. > Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 > wrote 512/512 bytes at offset 0 > 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) > -./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) > +./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) > incompatible_features [] > No errors were found on the image. > *** done > diff --git a/tests/qemu-iotests/061.out b/tests/qemu-iotests/061.out > index 24c33add7ce6..ae4c0d37bbbe 100644 > --- a/tests/qemu-iotests/061.out > +++ b/tests/qemu-iotests/061.out > @@ -118,7 +118,7 @@ No errors were found on the image. > Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 > wrote 131072/131072 bytes at offset 0 > 128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) > -./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) > +./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) > magic 0x514649fb > version 3 > backing_file_offset 0x0 > @@ -304,7 +304,7 @@ No errors were found on the image. > Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 > wrote 131072/131072 bytes at offset 0 > 128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) > -./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) > +./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) > magic 0x514649fb > version 3 > backing_file_offset 0x0 > diff --git a/tests/qemu-iotests/137.out b/tests/qemu-iotests/137.out > index 86377c80cde6..f3b12fbb04b0 100644 > --- a/tests/qemu-iotests/137.out > +++ b/tests/qemu-iotests/137.out > @@ -35,7 +35,7 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 > qemu-io: Unsupported value 'blubb' for qcow2 option 'overlap-check'. Allowed are any of the following: none, constant, cached, all > wrote 512/512 bytes at offset 0 > 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) > -./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) > +./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) > OK: Dirty bit not set > Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 > qemu-io: Parameter 'lazy-refcounts' expects 'on' or 'off' > -- > 2.50.1 > > With regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :| ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 2/2] tests/qemu-iotests: Indent expected error messages 2025-08-01 15:48 ` Daniel P. Berrangé @ 2025-08-01 19:09 ` Fabiano Rosas 2025-08-04 8:20 ` Martin Kletzander 2025-08-04 11:33 ` Kevin Wolf 0 siblings, 2 replies; 15+ messages in thread From: Fabiano Rosas @ 2025-08-01 19:09 UTC (permalink / raw) To: Daniel P. Berrangé, Martin Kletzander Cc: qemu-devel, qemu-block, Manos Pitsidianakis, Paolo Bonzini, qemu-rust, Hanna Reitz, Kevin Wolf Daniel P. Berrangé <berrange@redhat.com> writes: > On Fri, Aug 01, 2025 at 04:59:50PM +0200, Martin Kletzander wrote: >> From: Martin Kletzander <mkletzan@redhat.com> >> >> When running all tests the expected "killed" messages are indented >> differently than the actual ones, by three more spaces. Change it so >> that the messages match and tests pass. > > This would break the tests on my system and CI too. > > What distro are you seeing this on ? > > I'm guessing this is a different in either valgrind or C library ? > It's bash, we have an open issue about it: https://gitlab.com/qemu-project/qemu/-/issues/3050 ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 2/2] tests/qemu-iotests: Indent expected error messages 2025-08-01 19:09 ` Fabiano Rosas @ 2025-08-04 8:20 ` Martin Kletzander 2025-08-04 11:33 ` Kevin Wolf 1 sibling, 0 replies; 15+ messages in thread From: Martin Kletzander @ 2025-08-04 8:20 UTC (permalink / raw) To: Fabiano Rosas Cc: Daniel P. Berrangé, qemu-devel, qemu-block, Manos Pitsidianakis, Paolo Bonzini, qemu-rust, Hanna Reitz, Kevin Wolf [-- Attachment #1: Type: text/plain, Size: 853 bytes --] On Fri, Aug 01, 2025 at 04:09:34PM -0300, Fabiano Rosas wrote: >Daniel P. Berrangé <berrange@redhat.com> writes: > >> On Fri, Aug 01, 2025 at 04:59:50PM +0200, Martin Kletzander wrote: >>> From: Martin Kletzander <mkletzan@redhat.com> >>> >>> When running all tests the expected "killed" messages are indented >>> differently than the actual ones, by three more spaces. Change it so >>> that the messages match and tests pass. >> >> This would break the tests on my system and CI too. >> >> What distro are you seeing this on ? >> >> I'm guessing this is a different in either valgrind or C library ? >> > >It's bash, we have an open issue about it: > >https://gitlab.com/qemu-project/qemu/-/issues/3050 > Ah, good to know, thanks. That's what I suspected, but haven't thought of checking gitlab issues. Sorry for the noise. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 2/2] tests/qemu-iotests: Indent expected error messages 2025-08-01 19:09 ` Fabiano Rosas 2025-08-04 8:20 ` Martin Kletzander @ 2025-08-04 11:33 ` Kevin Wolf 2025-08-06 6:54 ` Dr. Werner Fink 1 sibling, 1 reply; 15+ messages in thread From: Kevin Wolf @ 2025-08-04 11:33 UTC (permalink / raw) To: Fabiano Rosas Cc: Daniel P. Berrangé, Martin Kletzander, qemu-devel, qemu-block, Manos Pitsidianakis, Paolo Bonzini, qemu-rust, Hanna Reitz, werner Am 01.08.2025 um 21:09 hat Fabiano Rosas geschrieben: > Daniel P. Berrangé <berrange@redhat.com> writes: > > > On Fri, Aug 01, 2025 at 04:59:50PM +0200, Martin Kletzander wrote: > >> From: Martin Kletzander <mkletzan@redhat.com> > >> > >> When running all tests the expected "killed" messages are indented > >> differently than the actual ones, by three more spaces. Change it so > >> that the messages match and tests pass. > > > > This would break the tests on my system and CI too. > > > > What distro are you seeing this on ? > > > > I'm guessing this is a different in either valgrind or C library ? > > It's bash, we have an open issue about it: > > https://gitlab.com/qemu-project/qemu/-/issues/3050 I see a patch has been posted to that bug, the most important part of which is this added filtering: --- a/tests/qemu-iotests/common.filter +++ b/tests/qemu-iotests/common.filter 2025-07-25 11:39:22.419665788 +0000 @@ -75,7 +75,7 @@ _filter_qemu_io() _filter_win32 | \ gsed -e "s/[0-9]* ops\; [0-9/:. sec]* ([0-9/.inf]* [EPTGMKiBbytes]*\/sec and [0-9/.inf]* ops\/sec)/X ops\; XX:XX:XX.X (XXX YYY\/sec and XXX ops\/sec)/" \ -e "s/: line [0-9][0-9]*: *[0-9][0-9]*\( Aborted\| Killed\)/:\1/" \ - -e "s/qemu-io> //g" + -e "s/qemu-io> //g" -e '/Killed/{ s/ \{2,\}/ /}' } # replace occurrences of QEMU_PROG with "qemu" This approach makes sense to me, though I would have kept each sed expression on a separate line. And given that the context line above includes "Aborted" as well, maybe have it here, too, though none of the actual test outputs have an Aborted message any more since commit 3f39447. Or we could have a cleanup patch first that removes the unused "Abort" above, just to keep things consistent. Either way, please post this as a proper patch on the mailing list. Kevin ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 2/2] tests/qemu-iotests: Indent expected error messages 2025-08-04 11:33 ` Kevin Wolf @ 2025-08-06 6:54 ` Dr. Werner Fink 2025-08-11 9:05 ` Martin Kletzander 0 siblings, 1 reply; 15+ messages in thread From: Dr. Werner Fink @ 2025-08-06 6:54 UTC (permalink / raw) To: Kevin Wolf Cc: Fabiano Rosas, Daniel P. Berrangé, Martin Kletzander, qemu-devel, qemu-block, Manos Pitsidianakis, Paolo Bonzini, qemu-rust, Hanna Reitz [-- Attachment #1.1: Type: text/plain, Size: 2236 bytes --] On 2025/08/04 13:33:53 +0200, Kevin Wolf wrote: > Am 01.08.2025 um 21:09 hat Fabiano Rosas geschrieben: > > Daniel P. Berrangé <berrange@redhat.com> writes: > > > > > On Fri, Aug 01, 2025 at 04:59:50PM +0200, Martin Kletzander wrote: > > >> From: Martin Kletzander <mkletzan@redhat.com> > > >> > > >> When running all tests the expected "killed" messages are indented > > >> differently than the actual ones, by three more spaces. Change it so > > >> that the messages match and tests pass. > > > > > > This would break the tests on my system and CI too. > > > > > > What distro are you seeing this on ? > > > > > > I'm guessing this is a different in either valgrind or C library ? > > > > It's bash, we have an open issue about it: > > > > https://gitlab.com/qemu-project/qemu/-/issues/3050 > > I see a patch has been posted to that bug, the most important part of > which is this added filtering: > > --- a/tests/qemu-iotests/common.filter > +++ b/tests/qemu-iotests/common.filter 2025-07-25 11:39:22.419665788 +0000 > @@ -75,7 +75,7 @@ _filter_qemu_io() > _filter_win32 | \ > gsed -e "s/[0-9]* ops\; [0-9/:. sec]* ([0-9/.inf]* [EPTGMKiBbytes]*\/sec and [0-9/.inf]* ops\/sec)/X ops\; XX:XX:XX.X (XXX YYY\/sec and XXX ops\/sec)/" \ > -e "s/: line [0-9][0-9]*: *[0-9][0-9]*\( Aborted\| Killed\)/:\1/" \ > - -e "s/qemu-io> //g" > + -e "s/qemu-io> //g" -e '/Killed/{ s/ \{2,\}/ /}' > } > > # replace occurrences of QEMU_PROG with "qemu" > > This approach makes sense to me, though I would have kept each sed > expression on a separate line. > > And given that the context line above includes "Aborted" as well, maybe > have it here, too, though none of the actual test outputs have an > Aborted message any more since commit 3f39447. Or we could have a > cleanup patch first that removes the unused "Abort" above, just to keep > things consistent. > > Either way, please post this as a proper patch on the mailing list. Just next try in tha attached patch with a fixed version of the sed command. Werner -- "Having a smoking section in a restaurant is like having a peeing section in a swimming pool." -- Edward Burr [-- Attachment #1.2: padding.patch --] [-- Type: text/x-patch, Size: 6323 bytes --] From: Werner Fink <werner@suse.de> Date: Fri, 08 Aug 06:41:23 +0000 Subject: [PATCH 1/1] Avoid dependency on padding on signal messages New bash 5.3 uses a different padding for reporting job status. Resolves: boo#1246830 Signed-off-by: Werner Fink <werner@suse.de> --- tests/qemu-iotests/039.out | 10 +++++----- tests/qemu-iotests/061.out | 4 ++-- tests/qemu-iotests/137.out | 2 +- tests/qemu-iotests/common.filter | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) --- a/tests/qemu-iotests/039.out +++ b/tests/qemu-iotests/039.out 2025-07-25 11:36:51.949026116 +0000 @@ -11,7 +11,7 @@ No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 wrote 512/512 bytes at offset 0 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) +./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) incompatible_features [0] ERROR cluster 5 refcount=0 reference=1 ERROR OFLAG_COPIED data cluster: l2_entry=8000000000050000 refcount=0 @@ -46,7 +46,7 @@ read 512/512 bytes at offset 0 Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 wrote 512/512 bytes at offset 0 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) +./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) incompatible_features [0] ERROR cluster 5 refcount=0 reference=1 Rebuilding refcount structure @@ -60,7 +60,7 @@ incompatible_features [] Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 wrote 512/512 bytes at offset 0 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) +./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) incompatible_features [] No errors were found on the image. @@ -79,7 +79,7 @@ No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 wrote 512/512 bytes at offset 0 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) +./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) incompatible_features [0] ERROR cluster 5 refcount=0 reference=1 ERROR OFLAG_COPIED data cluster: l2_entry=8000000000050000 refcount=0 @@ -89,7 +89,7 @@ Data may be corrupted, or further writes Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 wrote 512/512 bytes at offset 0 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) +./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) incompatible_features [] No errors were found on the image. *** done --- a/tests/qemu-iotests/061.out +++ b/tests/qemu-iotests/061.out 2025-07-25 11:36:51.949026116 +0000 @@ -118,7 +118,7 @@ No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 wrote 131072/131072 bytes at offset 0 128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) +./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) magic 0x514649fb version 3 backing_file_offset 0x0 @@ -304,7 +304,7 @@ No errors were found on the image. Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 wrote 131072/131072 bytes at offset 0 128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) +./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) magic 0x514649fb version 3 backing_file_offset 0x0 --- a/tests/qemu-iotests/137.out +++ b/tests/qemu-iotests/137.out 2025-07-25 11:36:51.949026116 +0000 @@ -35,7 +35,7 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGF qemu-io: Unsupported value 'blubb' for qcow2 option 'overlap-check'. Allowed are any of the following: none, constant, cached, all wrote 512/512 bytes at offset 0 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) +./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) OK: Dirty bit not set Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 qemu-io: Parameter 'lazy-refcounts' expects 'on' or 'off' --- a/tests/qemu-iotests/common.filter +++ b/tests/qemu-iotests/common.filter 2025-08-06 06:41:23.649980764 +0000 @@ -74,7 +74,7 @@ _filter_qemu_io() { _filter_win32 | \ gsed -e "s/[0-9]* ops\; [0-9/:. sec]* ([0-9/.inf]* [EPTGMKiBbytes]*\/sec and [0-9/.inf]* ops\/sec)/X ops\; XX:XX:XX.X (XXX YYY\/sec and XXX ops\/sec)/" \ - -e "s/: line [0-9][0-9]*: *[0-9][0-9]*\( Aborted\| Killed\)/:\1/" \ + -e "s/: line [0-9][0-9]*: *[0-9][0-9]*\( Aborted\| Killed\) \{2,\}/:\1 /" \ -e "s/qemu-io> //g" } [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 894 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 2/2] tests/qemu-iotests: Indent expected error messages 2025-08-06 6:54 ` Dr. Werner Fink @ 2025-08-11 9:05 ` Martin Kletzander 2025-08-12 15:35 ` Kevin Wolf 0 siblings, 1 reply; 15+ messages in thread From: Martin Kletzander @ 2025-08-11 9:05 UTC (permalink / raw) To: Dr. Werner Fink Cc: Kevin Wolf, Fabiano Rosas, Daniel P. Berrangé, qemu-devel, qemu-block, Manos Pitsidianakis, Paolo Bonzini, qemu-rust, Hanna Reitz [-- Attachment #1: Type: text/plain, Size: 8975 bytes --] On Wed, Aug 06, 2025 at 08:54:51AM +0200, Dr. Werner Fink wrote: >On 2025/08/04 13:33:53 +0200, Kevin Wolf wrote: >> Am 01.08.2025 um 21:09 hat Fabiano Rosas geschrieben: >> > Daniel P. Berrangé <berrange@redhat.com> writes: >> > >> > > On Fri, Aug 01, 2025 at 04:59:50PM +0200, Martin Kletzander wrote: >> > >> From: Martin Kletzander <mkletzan@redhat.com> >> > >> >> > >> When running all tests the expected "killed" messages are indented >> > >> differently than the actual ones, by three more spaces. Change it so >> > >> that the messages match and tests pass. >> > > >> > > This would break the tests on my system and CI too. >> > > >> > > What distro are you seeing this on ? >> > > >> > > I'm guessing this is a different in either valgrind or C library ? >> > >> > It's bash, we have an open issue about it: >> > >> > https://gitlab.com/qemu-project/qemu/-/issues/3050 >> >> I see a patch has been posted to that bug, the most important part of >> which is this added filtering: >> >> --- a/tests/qemu-iotests/common.filter >> +++ b/tests/qemu-iotests/common.filter 2025-07-25 11:39:22.419665788 +0000 >> @@ -75,7 +75,7 @@ _filter_qemu_io() >> _filter_win32 | \ >> gsed -e "s/[0-9]* ops\; [0-9/:. sec]* ([0-9/.inf]* [EPTGMKiBbytes]*\/sec and [0-9/.inf]* ops\/sec)/X ops\; XX:XX:XX.X (XXX YYY\/sec and XXX ops\/sec)/" \ >> -e "s/: line [0-9][0-9]*: *[0-9][0-9]*\( Aborted\| Killed\)/:\1/" \ >> - -e "s/qemu-io> //g" >> + -e "s/qemu-io> //g" -e '/Killed/{ s/ \{2,\}/ /}' >> } >> >> # replace occurrences of QEMU_PROG with "qemu" >> >> This approach makes sense to me, though I would have kept each sed >> expression on a separate line. >> >> And given that the context line above includes "Aborted" as well, maybe >> have it here, too, though none of the actual test outputs have an >> Aborted message any more since commit 3f39447. Or we could have a >> cleanup patch first that removes the unused "Abort" above, just to keep >> things consistent. >> >> Either way, please post this as a proper patch on the mailing list. > >Just next try in tha attached patch with a fixed version of >the sed command. > >Werner > >-- > "Having a smoking section in a restaurant is like having > a peeing section in a swimming pool." -- Edward Burr >From: Werner Fink <werner@suse.de> >Date: Fri, 08 Aug 06:41:23 +0000 >Subject: [PATCH 1/1] Avoid dependency on padding on signal messages > >New bash 5.3 uses a different padding for reporting job status. > >Resolves: boo#1246830 Not sure you meant that or Resolves: https://gitlab.com/qemu-project/qemu/-/issues/3050 >Signed-off-by: Werner Fink <werner@suse.de> but, FWIW, if that makes any difference, Tested-by: Martin Kletzander <mkletzan@redhat.com> >--- > tests/qemu-iotests/039.out | 10 +++++----- > tests/qemu-iotests/061.out | 4 ++-- > tests/qemu-iotests/137.out | 2 +- > tests/qemu-iotests/common.filter | 2 +- > 4 files changed, 9 insertions(+), 9 deletions(-) > >--- a/tests/qemu-iotests/039.out >+++ b/tests/qemu-iotests/039.out 2025-07-25 11:36:51.949026116 +0000 >@@ -11,7 +11,7 @@ No errors were found on the image. > Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 > wrote 512/512 bytes at offset 0 > 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) >-./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) >+./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) > incompatible_features [0] > ERROR cluster 5 refcount=0 reference=1 > ERROR OFLAG_COPIED data cluster: l2_entry=8000000000050000 refcount=0 >@@ -46,7 +46,7 @@ read 512/512 bytes at offset 0 > Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 > wrote 512/512 bytes at offset 0 > 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) >-./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) >+./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) > incompatible_features [0] > ERROR cluster 5 refcount=0 reference=1 > Rebuilding refcount structure >@@ -60,7 +60,7 @@ incompatible_features [] > Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 > wrote 512/512 bytes at offset 0 > 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) >-./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) >+./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) > incompatible_features [] > No errors were found on the image. > >@@ -79,7 +79,7 @@ No errors were found on the image. > Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 > wrote 512/512 bytes at offset 0 > 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) >-./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) >+./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) > incompatible_features [0] > ERROR cluster 5 refcount=0 reference=1 > ERROR OFLAG_COPIED data cluster: l2_entry=8000000000050000 refcount=0 >@@ -89,7 +89,7 @@ Data may be corrupted, or further writes > Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 > wrote 512/512 bytes at offset 0 > 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) >-./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) >+./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) > incompatible_features [] > No errors were found on the image. > *** done >--- a/tests/qemu-iotests/061.out >+++ b/tests/qemu-iotests/061.out 2025-07-25 11:36:51.949026116 +0000 >@@ -118,7 +118,7 @@ No errors were found on the image. > Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 > wrote 131072/131072 bytes at offset 0 > 128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) >-./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) >+./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) > magic 0x514649fb > version 3 > backing_file_offset 0x0 >@@ -304,7 +304,7 @@ No errors were found on the image. > Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 > wrote 131072/131072 bytes at offset 0 > 128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) >-./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) >+./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) > magic 0x514649fb > version 3 > backing_file_offset 0x0 >--- a/tests/qemu-iotests/137.out >+++ b/tests/qemu-iotests/137.out 2025-07-25 11:36:51.949026116 +0000 >@@ -35,7 +35,7 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGF > qemu-io: Unsupported value 'blubb' for qcow2 option 'overlap-check'. Allowed are any of the following: none, constant, cached, all > wrote 512/512 bytes at offset 0 > 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) >-./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) >+./common.rc: Killed ( VALGRIND_QEMU="${VALGRIND_QEMU_IO}" _qemu_proc_exec "${VALGRIND_LOGFILE}" "$QEMU_IO_PROG" $QEMU_IO_ARGS "$@" ) > OK: Dirty bit not set > Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 > qemu-io: Parameter 'lazy-refcounts' expects 'on' or 'off' >--- a/tests/qemu-iotests/common.filter >+++ b/tests/qemu-iotests/common.filter 2025-08-06 06:41:23.649980764 +0000 >@@ -74,7 +74,7 @@ _filter_qemu_io() > { > _filter_win32 | \ > gsed -e "s/[0-9]* ops\; [0-9/:. sec]* ([0-9/.inf]* [EPTGMKiBbytes]*\/sec and [0-9/.inf]* ops\/sec)/X ops\; XX:XX:XX.X (XXX YYY\/sec and XXX ops\/sec)/" \ >- -e "s/: line [0-9][0-9]*: *[0-9][0-9]*\( Aborted\| Killed\)/:\1/" \ >+ -e "s/: line [0-9][0-9]*: *[0-9][0-9]*\( Aborted\| Killed\) \{2,\}/:\1 /" \ > -e "s/qemu-io> //g" > } > [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: [PATCH 2/2] tests/qemu-iotests: Indent expected error messages 2025-08-11 9:05 ` Martin Kletzander @ 2025-08-12 15:35 ` Kevin Wolf 0 siblings, 0 replies; 15+ messages in thread From: Kevin Wolf @ 2025-08-12 15:35 UTC (permalink / raw) To: Martin Kletzander Cc: Dr. Werner Fink, Fabiano Rosas, Daniel P. Berrangé, qemu-devel, qemu-block, Manos Pitsidianakis, Paolo Bonzini, qemu-rust, Hanna Reitz [-- Attachment #1: Type: text/plain, Size: 3197 bytes --] Am 11.08.2025 um 11:05 hat Martin Kletzander geschrieben: > On Wed, Aug 06, 2025 at 08:54:51AM +0200, Dr. Werner Fink wrote: > > On 2025/08/04 13:33:53 +0200, Kevin Wolf wrote: > > > Am 01.08.2025 um 21:09 hat Fabiano Rosas geschrieben: > > > > Daniel P. Berrangé <berrange@redhat.com> writes: > > > > > > > > > On Fri, Aug 01, 2025 at 04:59:50PM +0200, Martin Kletzander wrote: > > > > >> From: Martin Kletzander <mkletzan@redhat.com> > > > > >> > > > > >> When running all tests the expected "killed" messages are indented > > > > >> differently than the actual ones, by three more spaces. Change it so > > > > >> that the messages match and tests pass. > > > > > > > > > > This would break the tests on my system and CI too. > > > > > > > > > > What distro are you seeing this on ? > > > > > > > > > > I'm guessing this is a different in either valgrind or C library ? > > > > > > > > It's bash, we have an open issue about it: > > > > > > > > https://gitlab.com/qemu-project/qemu/-/issues/3050 > > > > > > I see a patch has been posted to that bug, the most important part of > > > which is this added filtering: > > > > > > --- a/tests/qemu-iotests/common.filter > > > +++ b/tests/qemu-iotests/common.filter 2025-07-25 11:39:22.419665788 +0000 > > > @@ -75,7 +75,7 @@ _filter_qemu_io() > > > _filter_win32 | \ > > > gsed -e "s/[0-9]* ops\; [0-9/:. sec]* ([0-9/.inf]* [EPTGMKiBbytes]*\/sec and [0-9/.inf]* ops\/sec)/X ops\; XX:XX:XX.X (XXX YYY\/sec and XXX ops\/sec)/" \ > > > -e "s/: line [0-9][0-9]*: *[0-9][0-9]*\( Aborted\| Killed\)/:\1/" \ > > > - -e "s/qemu-io> //g" > > > + -e "s/qemu-io> //g" -e '/Killed/{ s/ \{2,\}/ /}' > > > } > > > > > > # replace occurrences of QEMU_PROG with "qemu" > > > > > > This approach makes sense to me, though I would have kept each sed > > > expression on a separate line. > > > > > > And given that the context line above includes "Aborted" as well, maybe > > > have it here, too, though none of the actual test outputs have an > > > Aborted message any more since commit 3f39447. Or we could have a > > > cleanup patch first that removes the unused "Abort" above, just to keep > > > things consistent. > > > > > > Either way, please post this as a proper patch on the mailing list. > > > > Just next try in tha attached patch with a fixed version of > > the sed command. > > > > Werner > > > > -- > > "Having a smoking section in a restaurant is like having > > a peeing section in a swimming pool." -- Edward Burr > > > From: Werner Fink <werner@suse.de> > > Date: Fri, 08 Aug 06:41:23 +0000 > > Subject: [PATCH 1/1] Avoid dependency on padding on signal messages > > > > New bash 5.3 uses a different padding for reporting job status. > > > > Resolves: boo#1246830 > > Not sure you meant that or > Resolves: https://gitlab.com/qemu-project/qemu/-/issues/3050 I just updated the commit message to contain both. > > Signed-off-by: Werner Fink <werner@suse.de> > > but, FWIW, if that makes any difference, > > Tested-by: Martin Kletzander <mkletzan@redhat.com> Thanks, applied to the block branch. Kevin [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2025-08-12 15:36 UTC | newest] Thread overview: 15+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-08-01 14:59 [PATCH 0/2] Few fixes I found when building QEMU with Rust Martin Kletzander 2025-08-01 14:59 ` [PATCH 1/2] rust: Add antoher variant for impl_vmstate_struct! macro Martin Kletzander 2025-08-01 21:44 ` Paolo Bonzini 2025-08-04 8:56 ` Martin Kletzander 2025-08-04 10:08 ` Paolo Bonzini 2025-08-04 12:04 ` Martin Kletzander 2025-08-04 13:06 ` Paolo Bonzini 2025-08-01 14:59 ` [PATCH 2/2] tests/qemu-iotests: Indent expected error messages Martin Kletzander 2025-08-01 15:48 ` Daniel P. Berrangé 2025-08-01 19:09 ` Fabiano Rosas 2025-08-04 8:20 ` Martin Kletzander 2025-08-04 11:33 ` Kevin Wolf 2025-08-06 6:54 ` Dr. Werner Fink 2025-08-11 9:05 ` Martin Kletzander 2025-08-12 15:35 ` Kevin Wolf
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).