On Mon, May 17, 2021 at 03:21:41PM +0200, Heinrich Schuchardt wrote:
> On 17.05.21 13:44, Andy Shevchenko wrote:
> > On Mon, May 17, 2021 at 2:35 PM Heinrich Schuchardt <xypron.g...@gmx.de> 
> > wrote:
> >>
> >> On 17.05.21 13:16, Andy Shevchenko wrote:
> >>> On Mon, May 17, 2021 at 10:48:33AM +0200, Heinrich Schuchardt wrote:
> >>>> On 17.05.21 08:33, Andy Shevchenko wrote:
> >>>>> On Thu, May 13, 2021 at 2:41 PM Heinrich Schuchardt 
> >>>>> <xypron.g...@gmx.de> wrote:
> >>>>>>
> >>>>>> Since commit 1ba21bb06b08 ("test: Don't unmount not (yet) mounted 
> >>>>>> system")
> >>>>>> the following tests are skipped:
> >>>>>>
> >>>>>> test/py/tests/test_fs/test_basic.py
> >>>>>> test/py/tests/test_fs/test_ext.py
> >>>>>>
> >>>>>> SKIPPED [13] test/py/tests/test_fs/conftest.py:350: Setup failed for
> >>>>>> filesystem: ext4. Command 'guestmount -a
> >>>>>> build-sandbox/persistent-data/3GB.ext4.img -m /dev/sda
> >>>>>> build-sandbox/persistent-data/mnt' returned non-zero exit status 1.
> >>>>>>
> >>>>>> Let's revert the patch to get our tests back.
> >>>>>
> >>>>> Probably we may understand first what is the root cause of this issue?
> >>>>>
> >>>>> In my case I can't allow this to happen, because it will annoy system
> >>>>> administrators as I mentioned earlier in the commit message.
> >>>>>
> >>>>> So, NAK from me and let's investigate.
> >>>>> Can you provide a command line that I may run on my environment w/o 
> >>>>> root access?
> >>>>
> >>>> Hello Andy,
> >>>>
> >>>> The tests don't require root access if you have installed the
> >>>> libguestfs-tools package and a Linux kernel.
> >>>>
> >>>> How can I reproduce the problem with duplicate umount?
> >>>
> >>> I was running this 2+ times in a row (*)
> >>>
> >>> ./test/py/test.py --bd sandbox --build
> >
> > (1)
> >
> >>>
> >>> *) I can't run tests right now due to they are more or less constantly 
> >>> broken
> >>> one way or the other, now
> >>>
> >>> ============================================== test session starts 
> >>> ==============================================
> >>> platform linux -- Python 3.9.2, pytest-6.0.2, py-1.10.0, pluggy-0.13.0
> >>> rootdir: /home/andy/prj/u-boot/test/py, configfile: pytest.ini
> >>> collected 810 items / 1 error / 809 selected
> >>>
> >>> ___________________________________ ERROR collecting 
> >>> tests/test_fit_ecdsa.py ____________________________________
> >>> E   ModuleNotFoundError: No module named 'Cryptodome'
> >>
> >> The missing package is available via
> >>
> >>     apt-get install python3-pycryptodome # Debian/Ubuntu
> >>
> >> or
> >>
> >>     dnf install python3-pycryptodomex # Fedora
> >
> > Thanks.
> >
> > So, I have run above mentioned line (1) with current U-Boot (see
> > above), everything is fine, then I have reverted the commit (as your
> > patch does, correct), and oops
> >
> > test/py/tests/test_efi_secboot/test_unsigned.py sss
> >                                    [ 88%]
> > test/py/tests/test_fs/test_basic.py [sudo] password for andy:
> 
> If you are asked for a sudo password, you have not install libguestfs.
> 
> Please, install the missing package.
> 
> > Sorry, try again.
> > [sudo] password for andy:
> > Sorry, try again.
> > [sudo] password for andy:
> > sssssssssssss[sudo] password for andy:
> >
> > Now I'm waiting for a punishment from the admin, thanks to this test round.
> 
> make tests (on my local machine)
> 
> with origin/master:
> 
> test/py/tests/test_efi_secboot/test_unsigned.py ...
> test/py/tests/test_fs/test_basic.py sssssssssssssssssssssssssssssssssssssss
> test/py/tests/test_fs/test_ext.py ssssssssssssssssssssss
> test/py/tests/test_fs/test_fs_cmd.py .
> test/py/tests/test_fs/test_mkdir.py ............
> test/py/tests/test_fs/test_symlink.py ssss
> test/py/tests/test_fs/test_unlink.py ssssssssssssss
> 
> with your patch reverted
> 
> test/py/tests/test_efi_secboot/test_unsigned.py ...
> test/py/tests/test_fs/test_basic.py F............F.........................
> test/py/tests/test_fs/test_ext.py ......................
> test/py/tests/test_fs/test_fs_cmd.py .
> test/py/tests/test_fs/test_mkdir.py ............
> test/py/tests/test_fs/test_symlink.py ....
> test/py/tests/test_fs/test_unlink.py ..............
> 
> The failures are caused by dd being called with conv=fsync before
> mounting with guestfs.
> 
> Obviously we have two scenarios to test separately:
> 
> 1) using sudo for mounting
> 2) using guestfs for mounting
> 
> >
> > I'm not going to repeat this again, please understand me correctly.
> 
> I assume that you possess a private laptop where your are the admin.
> Where is the problem?

The problem here is that we have a number of different development /
testing scenarios that we need to support.  Tests need to run in CI.
They need to run in developer-controlled machines.  They need to run in
corporate-IT controlled machines.

The next problem is that as Andy has said, our python logic to handle
these cases is, to be polite, not working.  Check CI, we're skipping the
tests again, which I had missed.

Once we get these the fs tests working finally in all cases, we need to
update the relevant EFI tests too.

Finally, my python skills are not up to getting all of this correct, so
help greatly appreciated here.

-- 
Tom

Attachment: signature.asc
Description: PGP signature

Reply via email to