[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] iotests: Skip read-only cases in 118 when run as root
From: |
Max Reitz |
Subject: |
Re: [PATCH] iotests: Skip read-only cases in 118 when run as root |
Date: |
Fri, 18 Oct 2019 17:00:02 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.1.0 |
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 <address@hidden>
>>> ---
>>> 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