[LTP] [PATCH v4] Remove TODO
    Andrea Cervesato 
    andrea.cervesato@suse.de
       
    Tue Oct 14 09:22:04 CEST 2025
    
    
  
From: Andrea Cervesato <andrea.cervesato@suse.com>
TODO file is not updated and it talks about goals we already reached via
new LTP documentation. In general, it contains generic and random topics
which none is updating anymore, so it's better to remove it in order to
create less confusion for newcomers.
Instead, we create a todo list in the new documentation, providing a
more clear intention of what are the current LTP goals.
Acked-by: Petr Vorel <pvorel@suse.cz>
Signed-off-by: Andrea Cervesato <andrea.cervesato@suse.com>
---
Changes in v4:
- fix commit message
- point to tst_run_shell.c
- moved to developers
- fix git grep command
- Link to v3: https://lore.kernel.org/r/20251013-remove_todo-v3-1-533e47439a94@suse.com
Changes in v3:
- fix typo
- update command to generate test with old API
- add kirk link in TODO
- shell loader reference
- Link to v2: https://lore.kernel.org/r/20251013-remove_todo-v2-1-d0a46ad14e34@suse.com
Changes in v2:
- add doc/users/todo.rst section
- Link to v1: https://lore.kernel.org/r/20251006-remove_todo-v1-1-5bab5f6f77f5@suse.com
---
 TODO                    | 39 --------------------------
 doc/developers/todo.rst | 73 +++++++++++++++++++++++++++++++++++++++++++++++++
 doc/index.rst           |  4 +++
 3 files changed, 77 insertions(+), 39 deletions(-)
diff --git a/TODO b/TODO
deleted file mode 100644
index fe0a3ab9b..000000000
--- a/TODO
+++ /dev/null
@@ -1,39 +0,0 @@
-LTP TODO
---------
-
-
-Write more syscall tests
-~~~~~~~~~~~~~~~~~~~~~~~~
-
-Syscalls and new syscall flags are added to Linux kernel each development cycle
-and LTP still falls behind. Unfortunately there is no single place that would
-store comprehensive list of syscalls, but there are a few places to look at:
-
-One of the options would be looking at changes in man-pages git[1] in man2/
-directory to find out newly documented functionality.
-
-Another good source of information are kernel pages in LWN[2] weekly
-editions.
-
-Then there is linux-api mailing list[3] where changes in kernel userspace API
-should be discussed.
-
-[1] http://git.kernel.org/cgit/docs/man-pages/man-pages.git
-[2] http://lwn.net
-[3] http://dir.gmane.org/gmane.linux.kernel.api
-
-
-Rewrite old and add new controller testcases
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-We already started working on this with rewriting cgroup_fj testcases and
-newly added pids testcases. Have a look at testcases/kernel/controllers/.
-
-
-Shell tests cleanups
-~~~~~~~~~~~~~~~~~~~~
-
-There are numerous testcases written in shell that does not follow single style
-and use the broken-by-design binaries from tools/apicmds. These should be
-cleaned up and fixed to use the test.sh test library. These include most of
-tests in testcases/commands/ for example.
diff --git a/doc/developers/todo.rst b/doc/developers/todo.rst
new file mode 100644
index 000000000..f0adeec27
--- /dev/null
+++ b/doc/developers/todo.rst
@@ -0,0 +1,73 @@
+.. SPDX-License-Identifier: GPL-2.0-or-later
+
+List of ongoing tasks
+=====================
+
+This is a comprehensive list of tasks where LTP maintainers are currently
+working on. Priorities might change over time, but these are the most important
+points which are currently being achieved.
+
+Fade out old tests runner
+-------------------------
+
+``runltp`` script is old and unmaintaned. We are slowly shifting to
+`kirk <https://github.com/linux-test-project/kirk>`_, that will be our official
+tests runner in the next future.
+
+kirk provides support for remote testing via Qemu, SSH, LTX, parallel
+execution and much more.
+
+Test new syscalls
+-----------------
+
+Syscalls and new syscalls flags are added to Linux kernel each development
+cycle and LTP still falls behind. Unfortunately there is no single place that
+would store comprehensive list of syscalls, but there are a few places to look
+at:
+
+- `man-pages repository <http://git.kernel.org/cgit/docs/man-pages/man-pages.git>`_
+  or the ``man2`` directory, where it's possible to find newly documented
+  functionalities.
+- `LWN <http://lwn.net>`_ weekly editions.
+- `linux-api mailing list <https://lore.kernel.org/linux-api/>`_ where
+  changes in kernel userspace API are discussed.
+- `LTP Github issues <https://github.com/linux-test-project/ltp/issues>`_
+
+Rewrite old API tests
+---------------------
+
+LTP has a long story and, at certain point of its development, new API were
+introduced to make kernel testing easier and more efficient. This happened when
+lots of tests were still using old, messy API.
+
+Some of these tests have been converted to the new API, but this process is
+still ongoing for many others. To have an overview of the tests using old API,
+please run the following command inside the LTP root folder:
+
+.. code-block:: bash
+
+        git --no-pager grep -l 'include "test\.h"' testcases/
+
+Fade out shell scripts
+----------------------
+
+LTP was initially thought as a generic framework for running tests with both
+shell and plain-C languages. Even if writing tests in shell script might seem
+easy, the reality is that debugging and maintaining certain test cases is
+difficult and slow down the whole validation process. This is particularly
+visible for cgroup tests, since shell doesn't add enough control over race
+conditions.
+
+LTP maintainers are working on converting shell scripts to plain-C tests, in
+order to reduce the impact that shell scripts might have on the overall kernel
+testing.
+
+For a complete list of shell tests, please run the following command inside the
+LTP root folder:
+
+.. code-block:: bash
+
+        git --no-pager grep -l -e '^\. .*_lib\.sh' -e '^\. .*test.sh'
+
+LTP also provides a shell loader implementation for plain-C tests using
+:master:`testcases/lib/tst_run_shell.c`.
diff --git a/doc/index.rst b/doc/index.rst
index acd16cdbf..06b75616f 100644
--- a/doc/index.rst
+++ b/doc/index.rst
@@ -30,6 +30,7 @@
    developers/build_system
    developers/debugging
    developers/documentation
+   developers/todo
 
 .. toctree::
    :maxdepth: 3
@@ -97,6 +98,9 @@ For developers
 :doc:`developers/documentation`
    How to use and develop LTP documentation
 
+:doc:`developers/todo`
+   List of tasks maintainers are working on
+
 For maintainers
 ---------------
 
---
base-commit: 79b7f212b3e56f1a4c33af3f61f66502b574cf1e
change-id: 20251006-remove_todo-c29a585e8b01
Best regards,
-- 
Andrea Cervesato <andrea.cervesato@suse.com>
    
    
More information about the ltp
mailing list