* [LTP] [PATCH] doc: Add basic shell test description
@ 2025-11-10 10:24 Cyril Hrubis
2025-11-12 12:50 ` Avinesh Kumar
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Cyril Hrubis @ 2025-11-10 10:24 UTC (permalink / raw)
To: ltp
Signed-off-by: Cyril Hrubis <chrubis@suse.cz>
---
doc/developers/api_shell_tests.rst | 91 ++++++++++++++++++++++++++++++
1 file changed, 91 insertions(+)
diff --git a/doc/developers/api_shell_tests.rst b/doc/developers/api_shell_tests.rst
index b6e8560d9..bad9f1f4b 100644
--- a/doc/developers/api_shell_tests.rst
+++ b/doc/developers/api_shell_tests.rst
@@ -2,3 +2,94 @@
LTP shell API
=============
+
+Shell API overview
+------------------
+
+First lines of the shell test should be a shebang, a license, and copyrights.
+
+.. code-block:: shell
+
+ #!/bin/sh
+ # SPDX-License-Identifier: GPL-2.0-or-later
+ # Copyright 2099 Foo Bar <foo.bar@email.com>
+
+A documentation comment block formatted in ReStructuredText should follow right
+after these lines. This comment is parsed and exported into the LTP
+documentation at https://linux-test-project.readthedocs.io/en/latest/users/test_catalog.html
+
+.. code-block:: shell
+
+ # ---
+ # doc
+ # Test for a foo bar.
+ #
+ # This test is testing foo by checking that bar is doing xyz.
+ # ---
+
+The shell loader test library uses the C test library internally by parsing a
+special JSON formatted comment and initializing it accordingly. The JSON format
+is nearly 1:1 serialization of the C tst_test structure into a JSON. The
+environment must be always preset even when it's empty.
+
+.. code-block:: shell
+
+ # ---
+ # env
+ # {
+ # "needs_root": true,
+ # "needs_tmpdir": true,
+ # "needs_kconfigs": ["CONFIG_NUMA=y"],
+ # "tags": {
+ # ["linux-git", "432fd03240fa"]
+ # }
+ # }
+
+After the documentation and environment has been laid out we finally import the
+`tst_loader.sh`. This will, among other things, start the `tst_run_shell`
+binary, that will parse the shell test environment comment and initialize the C
+test library accordingly.
+
+.. code-block:: shell
+
+ . tst_loader.sh
+
+At this point everything has been set up and we can finally write the test
+function. The test results are reported by the usual functions `tst_res` and
+`tst_brk`. As in the C API these functions store results into a piece of shared
+memory as soon as they return so there is no need to propagate results event
+from child processes.
+
+.. code-block:: shell
+
+ tst_test()
+ {
+ tst_res TPASS "Bar enabled Foo"
+ }
+
+In order for the test to be actually executed the very last line of the script
+must source the `tst_run.sh` script.
+
+.. code-block:: shell
+
+ . tst_run.sh
+
+In order to run a test from a LTP tree a few directories has to be added to the
+`$PATH`. Note that the number of `../` may depend on the depth of the current
+directory relative to the LTP root.
+
+.. code-block:: shell
+
+ $ PATH=$PATH:$PWD:$PWD/../../lib/ ./foo01.sh
+
+
+Test setup and cleanup
+----------------------
+
+The test setup and cleanup functions are optioinal and passed via variables.
+Similarily to the C API the setup is executed exactly once at the start of the
+test and the test cleanup is executed at the test end or when test was
+interrupted by `tst_brk`.
+
+.. literalinclude:: ../../testcases/lib/tests/shell_loader_setup_cleanup.sh
+ :language: shell
--
2.51.0
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply related [flat|nested] 8+ messages in thread* Re: [LTP] [PATCH] doc: Add basic shell test description
2025-11-10 10:24 [LTP] [PATCH] doc: Add basic shell test description Cyril Hrubis
@ 2025-11-12 12:50 ` Avinesh Kumar
2025-11-12 14:06 ` Petr Vorel
2025-11-12 14:19 ` Petr Vorel
2 siblings, 0 replies; 8+ messages in thread
From: Avinesh Kumar @ 2025-11-12 12:50 UTC (permalink / raw)
To: Cyril Hrubis; +Cc: ltp
Hi Cyril,
> +Test setup and cleanup
> +----------------------
> +
> +The test setup and cleanup functions are optioinal and passed via variables.
s/optioinal/optional
Reviewed-by: Avinesh Kumar <akumar@suse.de>
Thanks,
Avinesh
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [LTP] [PATCH] doc: Add basic shell test description
2025-11-10 10:24 [LTP] [PATCH] doc: Add basic shell test description Cyril Hrubis
2025-11-12 12:50 ` Avinesh Kumar
@ 2025-11-12 14:06 ` Petr Vorel
2025-11-12 15:18 ` Cyril Hrubis
2025-11-12 14:19 ` Petr Vorel
2 siblings, 1 reply; 8+ messages in thread
From: Petr Vorel @ 2025-11-12 14:06 UTC (permalink / raw)
To: Cyril Hrubis; +Cc: ltp
Hi Cyril,
Thanks for this!
Reviewed-by: Petr Vorel <pvorel@suse.cz>
Few notes below.
> diff --git a/doc/developers/api_shell_tests.rst b/doc/developers/api_shell_tests.rst
> index b6e8560d9..bad9f1f4b 100644
> --- a/doc/developers/api_shell_tests.rst
> +++ b/doc/developers/api_shell_tests.rst
> @@ -2,3 +2,94 @@
> LTP shell API
> =============
> +
> +Shell API overview
> +------------------
> +
> +First lines of the shell test should be a shebang, a license, and copyrights.
> +
> +.. code-block:: shell
> +
> + #!/bin/sh
> + # SPDX-License-Identifier: GPL-2.0-or-later
> + # Copyright 2099 Foo Bar <foo.bar@email.com>
> +
> +A documentation comment block formatted in ReStructuredText should follow right
> +after these lines. This comment is parsed and exported into the LTP
> +documentation at https://linux-test-project.readthedocs.io/en/latest/users/test_catalog.html
+1. Great, I did not realize it's ok to use at least #doc part for normal shell
tests (i.e. these without shell loader).
> +
> +.. code-block:: shell
> +
> + # ---
> + # doc
> + # Test for a foo bar.
> + #
> + # This test is testing foo by checking that bar is doing xyz.
> + # ---
> +
I would frankly link the old API doc (and link :master:`testcases/lib/tst_test.sh`)...
https://github.com/linux-test-project/ltp/blob/master/doc/old/Shell-Test-API.asciidoc
> +The shell loader test library uses the C test library internally by parsing a
> +special JSON formatted comment and initializing it accordingly. The JSON format
> +is nearly 1:1 serialization of the C tst_test structure into a JSON. The
> +environment must be always preset even when it's empty.
And here would have subtitle "shell loader test library". Why? It'd be good to
admit we have plain shell (which uses tst_test.sh) and shell loader. Of course,
shell loader could be a mentioned first, then old API:
Shell Loader Test Library
-------------------------
The shell loader test library uses the C test library internally by parsing a
special JSON formatted comment and initializing it accordingly. The JSON format
is nearly 1:1 serialization of the C tst_test structure into a JSON. The
environment must be always preset even when it's empty.
Legacy Shell Test Library
-------------------------
See :master:`testcases/lib/tst_test.sh`) and
https://github.com/linux-test-project/ltp/blob/master/doc/old/Shell-Test-API.asciidoc
.. warning::
:master:`testcases/lib/tst_test.sh` is deprecated, please use Shell Loader
Test Library.
> +
> +.. code-block:: shell
> +
> + # ---
> + # env
> + # {
> + # "needs_root": true,
> + # "needs_tmpdir": true,
> + # "needs_kconfigs": ["CONFIG_NUMA=y"],
> + # "tags": {
> + # ["linux-git", "432fd03240fa"]
> + # }
> + # }
> +
> +After the documentation and environment has been laid out we finally import the
> +`tst_loader.sh`. This will, among other things, start the `tst_run_shell`
Could we please instead `` use :master:`relative path` format which convert
source to the link:
:master:`testcases/lib/tst_loader.sh`. This will, among other things, start the
:master:`testcases/lib/tst_run_shell.c` ...
This will help people to look at the sources which is always helpful.
> +binary, that will parse the shell test environment comment and initialize the C
> +test library accordingly.
> +
> +.. code-block:: shell
> +
> + . tst_loader.sh
> +
> +At this point everything has been set up and we can finally write the test
> +function. The test results are reported by the usual functions `tst_res` and
> +`tst_brk`. As in the C API these functions store results into a piece of shared
> +memory as soon as they return so there is no need to propagate results event
> +from child processes.
> +
> +.. code-block:: shell
> +
> + tst_test()
> + {
> + tst_res TPASS "Bar enabled Foo"
> + }
> +
> +In order for the test to be actually executed the very last line of the script
> +must source the `tst_run.sh` script.
> +
> +.. code-block:: shell
> +
> + . tst_run.sh
> +
> +In order to run a test from a LTP tree a few directories has to be added to the
> +`$PATH`. Note that the number of `../` may depend on the depth of the current
> +directory relative to the LTP root.
> +
> +.. code-block:: shell
> +
> + $ PATH=$PATH:$PWD:$PWD/../../lib/ ./foo01.sh
> +
> +
> +Test setup and cleanup
> +----------------------
> +
> +The test setup and cleanup functions are optioinal and passed via variables.
> +Similarily to the C API the setup is executed exactly once at the start of the
> +test and the test cleanup is executed at the test end or when test was
> +interrupted by `tst_brk`.
> +
> +.. literalinclude:: ../../testcases/lib/tests/shell_loader_setup_cleanup.sh
> + :language: shell
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: [LTP] [PATCH] doc: Add basic shell test description
2025-11-12 14:06 ` Petr Vorel
@ 2025-11-12 15:18 ` Cyril Hrubis
2025-11-12 19:00 ` Petr Vorel
0 siblings, 1 reply; 8+ messages in thread
From: Cyril Hrubis @ 2025-11-12 15:18 UTC (permalink / raw)
To: Petr Vorel; +Cc: ltp
> > +Shell API overview
> > +------------------
> > +
> > +First lines of the shell test should be a shebang, a license, and copyrights.
> > +
> > +.. code-block:: shell
> > +
> > + #!/bin/sh
> > + # SPDX-License-Identifier: GPL-2.0-or-later
> > + # Copyright 2099 Foo Bar <foo.bar@email.com>
> > +
> > +A documentation comment block formatted in ReStructuredText should follow right
> > +after these lines. This comment is parsed and exported into the LTP
> > +documentation at https://linux-test-project.readthedocs.io/en/latest/users/test_catalog.html
>
> +1. Great, I did not realize it's ok to use at least #doc part for normal shell
> tests (i.e. these without shell loader).
That should indeed work fine. You can have a doc block in old shell test
and it would be picked up by the metadata parser.
> > +
> > +.. code-block:: shell
> > +
> > + # ---
> > + # doc
> > + # Test for a foo bar.
> > + #
> > + # This test is testing foo by checking that bar is doing xyz.
> > + # ---
> > +
>
> I would frankly link the old API doc (and link :master:`testcases/lib/tst_test.sh`)...
> https://github.com/linux-test-project/ltp/blob/master/doc/old/Shell-Test-API.asciidoc
>
> > +The shell loader test library uses the C test library internally by parsing a
> > +special JSON formatted comment and initializing it accordingly. The JSON format
> > +is nearly 1:1 serialization of the C tst_test structure into a JSON. The
> > +environment must be always preset even when it's empty.
>
> And here would have subtitle "shell loader test library". Why? It'd be good to
> admit we have plain shell (which uses tst_test.sh) and shell loader. Of course,
> shell loader could be a mentioned first, then old API:
Generally I would like to avoid mixing documentation for different APIs.
I'm afraid that would make things unnecessarily confusing.
--
Cyril Hrubis
chrubis@suse.cz
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [LTP] [PATCH] doc: Add basic shell test description
2025-11-12 15:18 ` Cyril Hrubis
@ 2025-11-12 19:00 ` Petr Vorel
2025-11-13 10:21 ` Cyril Hrubis
0 siblings, 1 reply; 8+ messages in thread
From: Petr Vorel @ 2025-11-12 19:00 UTC (permalink / raw)
To: Cyril Hrubis; +Cc: ltp
> > > +Shell API overview
> > > +------------------
> > > +
> > > +First lines of the shell test should be a shebang, a license, and copyrights.
> > > +
> > > +.. code-block:: shell
> > > +
> > > + #!/bin/sh
> > > + # SPDX-License-Identifier: GPL-2.0-or-later
> > > + # Copyright 2099 Foo Bar <foo.bar@email.com>
> > > +
> > > +A documentation comment block formatted in ReStructuredText should follow right
> > > +after these lines. This comment is parsed and exported into the LTP
> > > +documentation at https://linux-test-project.readthedocs.io/en/latest/users/test_catalog.html
> > +1. Great, I did not realize it's ok to use at least #doc part for normal shell
> > tests (i.e. these without shell loader).
> That should indeed work fine. You can have a doc block in old shell test
> and it would be picked up by the metadata parser.
Yeah, it works (I tested it). I looked into metadata/parse.sh and it's due it
searches for both *.c and *.sh without checking what library they use. Which is
good (no side effects so far and we can include docs). I'll probably convert
some of network tests docs into docparse to update the test catalog.
> > > +
> > > +.. code-block:: shell
> > > +
> > > + # ---
> > > + # doc
> > > + # Test for a foo bar.
> > > + #
> > > + # This test is testing foo by checking that bar is doing xyz.
> > > + # ---
> > > +
> > I would frankly link the old API doc (and link :master:`testcases/lib/tst_test.sh`)...
> > https://github.com/linux-test-project/ltp/blob/master/doc/old/Shell-Test-API.asciidoc
> > > +The shell loader test library uses the C test library internally by parsing a
Could we instead "the C test library" just use link:
:doc:`../developers/api_c_tests`
NOTE: I would avoid it, but you can set a custom text via <>
https://www.sphinx-doc.org/en/master/usage/referencing.html
> > > +special JSON formatted comment and initializing it accordingly. The JSON format
> > > +is nearly 1:1 serialization of the C tst_test structure into a JSON. The
And "C tst_test structure" as:
:ref:`struct tst_test`
The shell loader test library uses the :doc:`../developers/api_c_tests`
internally by parsing a special JSON formatted comment and initializing it
accordingly. The JSON format is nearly 1:1 serialization of the :ref:`struct
tst_test` into a JSON. The environment must be always preset even when it's
empty.
> > > +environment must be always preset even when it's empty.
> > And here would have subtitle "shell loader test library". Why? It'd be good to
> > admit we have plain shell (which uses tst_test.sh) and shell loader. Of course,
> > shell loader could be a mentioned first, then old API:
> Generally I would like to avoid mixing documentation for different APIs.
> I'm afraid that would make things unnecessarily confusing.
OK, no problem (I did not get you want to document only Shell Loader). But
hiding the fact that vast majority of the shell tests use tst_test.h is not
optimal (it might be confusing for new users).
Also, Shell Loader does not have useful functions from tst_test.h, e.g.
ROD(), EXPECT_PASS(). But ok, nobody needs them so far (although ROD() could be
useful) and I would also ask people to use C API if possible.
Could we decide that tst_test.sh becomes "legacy/old" shell API which could be
on a separate page doc/developers/legacy_api_shell_tests.rst which would just
mention it's deprecated and linked:
https://github.com/linux-test-project/ltp/blob/master/doc/old/Shell-Test-API.asciidoc
(AI would convert it quickly to RST, but I'd be ok to keep just a link.)
And test.h becomes undocumented "legacy legacy" shell API (test.h is still used
by few tests).
Kind regards,
Petr
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [LTP] [PATCH] doc: Add basic shell test description
2025-11-12 19:00 ` Petr Vorel
@ 2025-11-13 10:21 ` Cyril Hrubis
2025-11-14 9:22 ` Petr Vorel
0 siblings, 1 reply; 8+ messages in thread
From: Cyril Hrubis @ 2025-11-13 10:21 UTC (permalink / raw)
To: Petr Vorel; +Cc: ltp
Hi!
> > > And here would have subtitle "shell loader test library". Why? It'd be good to
> > > admit we have plain shell (which uses tst_test.sh) and shell loader. Of course,
> > > shell loader could be a mentioned first, then old API:
>
> > Generally I would like to avoid mixing documentation for different APIs.
> > I'm afraid that would make things unnecessarily confusing.
>
> OK, no problem (I did not get you want to document only Shell Loader). But
> hiding the fact that vast majority of the shell tests use tst_test.h is not
> optimal (it might be confusing for new users).
I'm not trying to hide it. I'm trying to write at least some
documentation for the shell loader, that is independed task from
converting the documentation we have for the older shell library into
rst and putting it in it's own menu item.
> Also, Shell Loader does not have useful functions from tst_test.h, e.g.
> ROD(), EXPECT_PASS(). But ok, nobody needs them so far (although ROD() could be
> useful) and I would also ask people to use C API if possible.
Indeed the shell loader is currently under construction, but it allows
us to write a simple tests already and should be good enough for simple
enough tests.
> Could we decide that tst_test.sh becomes "legacy/old" shell API which could be
> on a separate page doc/developers/legacy_api_shell_tests.rst which would just
> mention it's deprecated and linked:
> https://github.com/linux-test-project/ltp/blob/master/doc/old/Shell-Test-API.asciidoc
> (AI would convert it quickly to RST, but I'd be ok to keep just a link.)
Yes, that is what I think would be ideal solution, much better than
mixing the two APIs in a single page.
> And test.h becomes undocumented "legacy legacy" shell API (test.h is still used
> by few tests).
You mean 'test.sh' I suppose, yes there are a few tests using it. We
should clean that up eventually.
--
Cyril Hrubis
chrubis@suse.cz
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [LTP] [PATCH] doc: Add basic shell test description
2025-11-13 10:21 ` Cyril Hrubis
@ 2025-11-14 9:22 ` Petr Vorel
0 siblings, 0 replies; 8+ messages in thread
From: Petr Vorel @ 2025-11-14 9:22 UTC (permalink / raw)
To: Cyril Hrubis; +Cc: ltp
> Hi!
> > > > And here would have subtitle "shell loader test library". Why? It'd be good to
> > > > admit we have plain shell (which uses tst_test.sh) and shell loader. Of course,
> > > > shell loader could be a mentioned first, then old API:
> > > Generally I would like to avoid mixing documentation for different APIs.
> > > I'm afraid that would make things unnecessarily confusing.
> > OK, no problem (I did not get you want to document only Shell Loader). But
> > hiding the fact that vast majority of the shell tests use tst_test.h is not
> > optimal (it might be confusing for new users).
> I'm not trying to hide it. I'm trying to write at least some
> documentation for the shell loader, that is independed task from
> converting the documentation we have for the older shell library into
> rst and putting it in it's own menu item.
Go ahead and merge as is. Actually the only my objections were
that previously "Shell API" was tst_test.sh, now it's shell loader.
I wanted to have the same name "Shell Loader" we have used in git commit logs
to match the docs to not confuse users which API we mean (we now have 3 shell
APIs). But I'm ok with the current version.
> > Also, Shell Loader does not have useful functions from tst_test.h, e.g.
> > ROD(), EXPECT_PASS(). But ok, nobody needs them so far (although ROD() could be
> > useful) and I would also ask people to use C API if possible.
> Indeed the shell loader is currently under construction, but it allows
> us to write a simple tests already and should be good enough for simple
> enough tests.
Sure. I just realized that we might need slightly extend the API during rewrite,
but that's of course not a problem.
> > Could we decide that tst_test.sh becomes "legacy/old" shell API which could be
> > on a separate page doc/developers/legacy_api_shell_tests.rst which would just
> > mention it's deprecated and linked:
> > https://github.com/linux-test-project/ltp/blob/master/doc/old/Shell-Test-API.asciidoc
> > (AI would convert it quickly to RST, but I'd be ok to keep just a link.)
> Yes, that is what I think would be ideal solution, much better than
> mixing the two APIs in a single page.
OK, I'll try to convert it soon, under doc/developers/legacy_api_shell_tests.rst.
There will be a warning - use new "Shell API (which is Shell loader).
> > And test.h becomes undocumented "legacy legacy" shell API (test.h is still used
> > by few tests).
> You mean 'test.sh' I suppose, yes there are a few tests using it. We
> should clean that up eventually.
Yes, I'm sorry, I meant test.sh.
FYI we need to rewrite 52 tests:
$ git grep -l -e ' test\.sh' -e TST_USE_LEGACY_API=1 |wc -l
52
Some of them are very obsolete tests, e.g. power_management, smack, ftrace, ...
I guess that is what holds the rewrite.
9 of them are network tests (ftp/http should be rewritten:
https://github.com/linux-test-project/ltp/issues/1207),
the rest would be trivial to convert even to shell loader.
$ git grep -l TST_USE_LEGACY_API=1
testcases/network/multicast/mc_cmds/mc_cmds.sh
testcases/network/multicast/mc_commo/mc_commo.sh
testcases/network/multicast/mc_member/mc_member.sh
testcases/network/multicast/mc_opts/mc_opts.sh
testcases/network/stress/dns/dns-stress.sh
testcases/network/stress/ftp/ftp-download-stress.sh
testcases/network/stress/ftp/ftp-upload-stress.sh
testcases/network/stress/http/http-stress.sh
testcases/network/tcp_cmds/tcpdump/tcpdump01.sh
Kind regards,
Petr
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [LTP] [PATCH] doc: Add basic shell test description
2025-11-10 10:24 [LTP] [PATCH] doc: Add basic shell test description Cyril Hrubis
2025-11-12 12:50 ` Avinesh Kumar
2025-11-12 14:06 ` Petr Vorel
@ 2025-11-12 14:19 ` Petr Vorel
2 siblings, 0 replies; 8+ messages in thread
From: Petr Vorel @ 2025-11-12 14:19 UTC (permalink / raw)
To: Cyril Hrubis; +Cc: ltp
> Signed-off-by: Cyril Hrubis <chrubis@suse.cz>
> ---
> doc/developers/api_shell_tests.rst | 91 ++++++++++++++++++++++++++++++
> 1 file changed, 91 insertions(+)
> diff --git a/doc/developers/api_shell_tests.rst b/doc/developers/api_shell_tests.rst
> index b6e8560d9..bad9f1f4b 100644
> --- a/doc/developers/api_shell_tests.rst
> +++ b/doc/developers/api_shell_tests.rst
> @@ -2,3 +2,94 @@
> LTP shell API
> =============
> +
> +Shell API overview
> +------------------
> +
> +First lines of the shell test should be a shebang, a license, and copyrights.
> +
> +.. code-block:: shell
> +
> + #!/bin/sh
> + # SPDX-License-Identifier: GPL-2.0-or-later
> + # Copyright 2099 Foo Bar <foo.bar@email.com>
very nit: maybe foo.bar@example.org?
...
> +At this point everything has been set up and we can finally write the test
> +function. The test results are reported by the usual functions `tst_res` and
> +`tst_brk`. As in the C API these functions store results into a piece of shared
> +memory as soon as they return so there is no need to propagate results event
> +from child processes.
> +
> +.. code-block:: shell
> +
> + tst_test()
> + {
> + tst_res TPASS "Bar enabled Foo"
> + }
> +
> +In order for the test to be actually executed the very last line of the script
> +must source the `tst_run.sh` script.
Also this could be :master:`testcases/lib/tst_run.sh`.
Of course, all the changes can be done before merging (no need to post v2).
Kind regards,
Petr
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2025-11-14 9:22 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-10 10:24 [LTP] [PATCH] doc: Add basic shell test description Cyril Hrubis
2025-11-12 12:50 ` Avinesh Kumar
2025-11-12 14:06 ` Petr Vorel
2025-11-12 15:18 ` Cyril Hrubis
2025-11-12 19:00 ` Petr Vorel
2025-11-13 10:21 ` Cyril Hrubis
2025-11-14 9:22 ` Petr Vorel
2025-11-12 14:19 ` Petr Vorel
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.