debian-forge/test/mod
Christian Kellner f8ca0cf4bc objectstore: direct path i/o for Object
The `Object.{read,write}` methods were introduced to implement
copy on write support. Calling `write` would trigger the copy,
if the object had a `base`. Additionally, a level of indirection
was introduced via bind mounts, which allowed to hide the actual
path of the object in the store and make sure that `read` really
returned a read-only path.
Support for copy-on-write was recently removed[1], and thus the
need for the `read` and `write` methods. We lose the benefits
of the indirection, but they are not really needed: the path to
the object is not really hidden since one can always use the
`resolve_ref` method to obtain the actual store object path.
The read only property of build trees is ensured via read only
bind mounts in the build root.
Instead of using `read` and `write`, `Object` now gained a new
`tree` property that is the path to the objects tree and also
is implementing `__fspath__` and so behaves like an `os.PathLike`
object and can thus transparently be used in many places, like
e.g. `os.path.join` or `pathlib.Path`.

[1] 5346025031
2022-11-21 17:26:53 +01:00
..
__init__.py test: '{. -> ./mod}/test_util_selinux.py' 2020-04-24 15:50:44 +02:00
test_api.py osbuild: run isort on all files 2022-09-12 13:32:51 +02:00
test_buildroot.py osbuild: auto-detect best available runner 2022-10-11 12:49:16 +02: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: run isort on all files 2022-09-12 13:32:51 +02:00
test_meta.py meta: cache list of runners 2022-10-11 12:49:16 +02:00
test_monitor.py osbuild: auto-detect best available runner 2022-10-11 12:49:16 +02:00
test_objectstore.py objectstore: direct path i/o for Object 2022-11-21 17:26:53 +01:00
test_osbuild.py osbuild: auto-detect best available runner 2022-10-11 12:49:16 +02: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_jsoncomm.py util/jsoncomm: add send_and_recv helper 2021-06-09 18:37:47 +01:00
test_util_linux.py test: explicit encodings for open() 2022-09-09 15:33:29 +02:00
test_util_lorax.py osbuild: run isort on all files 2022-09-12 13:32:51 +02:00
test_util_lvm2.py osbuild: run isort on all files 2022-09-12 13:32:51 +02:00
test_util_osrelease.py test: make TestBase inherit unittest.TestCase 2020-06-05 09:27:40 +02:00
test_util_ostree.py osbuild: run isort on all files 2022-09-12 13:32:51 +02:00
test_util_path.py global: fix PEP-8 formatting 2022-08-05 09:41:05 +02: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