debian-forge/test/mod
Michael Vogt 4026d4dc10 test: add test that ensures mount output is part of the exception
While debugging a failure of osbuild-composer [0] on fc39 it was
noticed that a mount failure does not include the output of
the mount command:
```
  File "/usr/lib/python3.12/site-packages/osbuild/mounts.py", line 78, in mount
    path = client.call("mount", args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/osbuild/host.py", line 348, in call
    ret, _ = self.call_with_fds(method, args)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/osbuild/host.py", line 384, in call_with_fds
    raise error
osbuild.host.RemoteError: CalledProcessError: Command '['mount', '-t', 'xfs', '-o', 'ro,norecovery', '--source', '/dev/rootvg/applv', '--target', '/tmp/tmpjtfmth56/app']' returned non-zero exit status 32.
   File "/usr/lib/python3.12/site-packages/osbuild/host.py", line 268, in serve
    reply, reply_fds = self._handle_message(msg, fds)
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/osbuild/host.py", line 301, in _handle_message
    ret, fds = self.dispatch(name, args, fds)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/osbuild/mounts.py", line 111, in dispatch
    r = self.mount(args)
        ^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/osbuild/mounts.py", line 160, in mount
    subprocess.run(
  File "/usr/lib64/python3.12/subprocess.py", line 571, in run
    raise CalledProcessError(retcode, process.args,
```
which makes diagnostic errors harder of course. This commit adds
a test that ensures that mount output is visbile and also changes
the code to include it.

[0] https://github.com/osbuild/osbuild-composer/pull/3820
2023-12-11 11:24:17 +01:00
..
__init__.py test: '{. -> ./mod}/test_util_selinux.py' 2020-04-24 15:50:44 +02:00
test_api.py pipeline,api: write metadata directly 2022-12-09 12:03:40 +01:00
test_buildroot.py test: this test requires to be able to bindmount 2023-03-20 16:32:47 +01:00
test_fmt_v1.py objectstore: direct path i/o for Object 2022-11-21 17:26:53 +01:00
test_fmt_v2.py osbuild: auto-detect best available runner 2022-10-11 12:49:16 +02:00
test_host.py host: add support for emitting signals 2022-02-22 10:38:43 +01:00
test_loop.py osbuild: ensure loop.Loop() has the required device node 2023-11-24 16:05:52 +01:00
test_meta.py tests: remove custom tempdir_fixture 2023-11-22 12:46:19 +01:00
test_monitor.py osbuild: auto-detect best available runner 2022-10-11 12:49:16 +02:00
test_objectstore.py tests: remove custom tmpdir() fixtures and use tmp_path 2023-11-23 13:09:25 +01:00
test_osbuild.py test/osbuild: use proper object in stage run test 2022-12-09 12:03:40 +01:00
test_testutil_imports.py osbuild: add new testutil.imports module to help test stages 2023-11-07 15:12:08 +01:00
test_util_checksum.py osbuild: run isort on all files 2022-09-12 13:32:51 +02:00
test_util_ctx.py util/ctx: extract suppress_oserror() 2020-05-11 18:05:12 +02:00
test_util_fscache.py util: tweak _calculate_size() to _calculate_space() 2023-11-22 10:28:08 +01:00
test_util_fscache_coherency.py test/fscache-coherency: add coherency tests 2022-12-20 16:56:32 +01:00
test_util_jsoncomm.py util/jsoncomm: add send_and_recv helper 2021-06-09 18:37:47 +01:00
test_util_linux.py linux: add Libc accessor with renameat2(2) 2022-12-06 09:48:38 +01:00
test_util_lorax.py osbuild: run isort on all files 2022-09-12 13:32:51 +02:00
test_util_lvm2.py autopep8: Update with changes to make autopep8 -a -a -a happy 2023-08-10 13:04:14 +02:00
test_util_mnt.py test: add test that ensures mount output is part of the exception 2023-12-11 11:24:17 +01:00
test_util_osrelease.py test: make TestBase inherit unittest.TestCase 2020-06-05 09:27:40 +02:00
test_util_ostree.py Test: some tests depending on rpm-ostree were not checking its presence 2023-04-28 22:02:35 +02:00
test_util_parsing.py util: add helper to parse size strings 2022-12-09 12:03:40 +01:00
test_util_path.py util/path: new clamp mtime function 2022-12-15 13:10:35 +00:00
test_util_pe32p.py util: add module to parse PE32+ files 2022-11-14 20:10:59 +01:00
test_util_rhsm.py global: fix PEP-8 formatting 2022-08-05 09:41:05 +02:00
test_util_rmrf.py test: convert to shared helpers 2020-05-13 14:26:05 +02:00
test_util_selinux.py util/selinux: add setfilecon method 2022-03-18 20:36:10 +01:00
test_util_udev.py devices: add custom udev rule inhibitor mechanism 2021-12-09 00:44:21 +00:00