
On Mon, May 17, 2021 at 04:24:46PM +0200, Heinrich Schuchardt wrote:
On 17.05.21 15:21, Heinrich Schuchardt wrote:
On 17.05.21 13:44, Andy Shevchenko wrote:
On Mon, May 17, 2021 at 2:35 PM Heinrich Schuchardt xypron.glpk@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.glpk@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:
- using sudo for mounting
- 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?
Best regards
Heinrich
Here are the test results with guestfs-tools removed:
with origin/master
test/py/tests/test_efi_secboot/test_unsigned.py sss test/py/tests/test_fs/test_basic.py [sudo] password for user: sssssssssssssssssssssssssssssssssssssss
Which means it runs for nopassword groups in sudo, which can be a reasonable thing to do in some cases / machine configurations.