On 18.10.19 16:27, Kevin Wolf wrote: > Am 18.10.2019 um 14:59 hat Philippe Mathieu-Daudé geschrieben: >> Hi Kevin, >> >> On 10/18/19 1:51 PM, Kevin Wolf wrote: >>> Some tests in 118 use chmod to remove write permissions from the file >>> and assume that the image can indeed not be opened read-write >>> afterwards. This doesn't work when the test is run as root, because root >>> can still open the file as writable even when the permission bit isn't >>> set. >>> >>> Introduce a @skip_if_root decorator and use it in 118 to skip the tests >>> in question when the script is run as root. >>> >>> Signed-off-by: Kevin Wolf <kw...@redhat.com> >>> --- >>> tests/qemu-iotests/118 | 3 +++ >>> tests/qemu-iotests/iotests.py | 10 ++++++++++ >>> 2 files changed, 13 insertions(+) >>> >>> diff --git a/tests/qemu-iotests/118 b/tests/qemu-iotests/118 >>> index ea0b326ae0..9eff46d189 100755 >>> --- a/tests/qemu-iotests/118 >>> +++ b/tests/qemu-iotests/118 >>> @@ -446,6 +446,7 @@ class TestChangeReadOnly(ChangeBaseClass): >>> self.assert_qmp(result, 'return[0]/inserted/ro', True) >>> self.assert_qmp(result, 'return[0]/inserted/image/filename', >>> new_img) >>> + @iotests.skip_if_root >> >> Why not have case_notrun() return 'reason' and use: >> >> @unittest.skipIf(os.getuid() == 0, case_notrun("cannot be run as root")) > > Because we can't skip test cases using unittest functionality, it > results in different output (the test is marked as 's' instead of '.' > and a message '(skipped=n)' is added), which means failure for > qemu-iotests.
Not arguing that we should use unittest skipping here, but my “Selfish patches” series allows it: https://lists.nongnu.org/archive/html/qemu-devel/2019-09/msg03423.html The advantage is that using unittest skipping works in setUp, too. Max
signature.asc
Description: OpenPGP digital signature