From: Richard Palethorpe <rpalethorpe@suse.de>
To: Cyril Hrubis <chrubis@suse.cz>
Cc: ltp@lists.linux.it, automated-testing@lists.yoctoproject.org
Subject: Re: [LTP] [Automated-testing] [PATCH v2 00/30] Introduce runtime and conver tests
Date: Thu, 05 May 2022 09:13:09 +0100 [thread overview]
Message-ID: <875ymke631.fsf@suse.de> (raw)
In-Reply-To: <20220503174718.21205-1-chrubis@suse.cz>
Hello, Cyril,
"Cyril Hrubis" <chrubis@suse.cz> writes:
> This patchset introduces a concept of runtime, which is described well
> enough in the first patch of the series and converts all tests that were
> previously using timeout API to runtime API.
>
> The main change to the v1 of the patchset is that the runtime is now per
> iteration, e.g. if we run the test for all_filesystem the runtime
> applies to a single filesystem only. And at the same time the overall
> test timeout is a sum of static timeout and runtime. The static part of
> the timeout is meant to cover test teardown and any inaccuracy in the
> test runtime accounting.
>
> The patches that convert tests to runtime API fall into these classes:
>
> - fzsync tests
> - faster timeout tests
> - I/O tests
> - timer precision tests
> - oom tests
> - misc tests that run for some time (controlled by command line
> parameter)
>
> fzsync tests
> ============
>
> These tests previously defined their runtime based on scale factor that
> used slice of the default timeout (300s) for the test runtime.
>
> Now the runtime is explicitly encoded in the test, which I find much
> more user friendly because it's clear how long will the test run.
>
> faster timeout tests
> ====================
>
> There were several tests that set low timeout becuase the test may lock
> up. In these cases the timeout was simply removed because the default
> value (30s) should be small enough.
>
> I/O tests
> =========
>
> The aiodio tests were modified so that their runtime is capped to
> 30 minutes by default. That means that even on very slow machine they
> finish in a reasonable time.
>
> timer precision tests
> =====================
>
> These test simply set the test timeout to be 110% of the sum of the
> sleep_time * samples. That is to accomodate for the context switches and
> upkeeping between the calls in the timer library.
>
>
> oom tests
> =========
>
> Here we just set the .max_iteration_runtime to TST_RUNTIME_UNLIMITED,
> which has the very same effect as .timeout = -1 previously had.
>
> misc test
> =========
>
> In this case the test code was simplified quite a lot since the runtime
> is now passed in a unified way and parsed in the test library.
>
> TODO:
>
> This patchset is reasonably complete in a sense that it removes the
> timeout API at the end. Still there are a few things to consider:
>
> - is reusing the -I parameter a good idea? Wouldn't adding new parameter
> (-r) be better?
Perhaps we could deprecate -I, but convert it to use the new mechanism
while trying to keep the behaviour similar.
I'm not sure we need a global -r option, but unlike -i it's not much
effort to support. It would not surprise me if there are existing tests
which don't work with -i.
>
> - there are quite likely tests that run for more than a second or a two
> and should be made runtime aware
>
> - anything else?
>
> Cyril Hrubis (30):
> Introduce a concept of max runtime
> mtest06/mmap1: Convert to runtime
> mtest06/mmap3: Convert to runtime
> mtest01/mtest01: Convert to runtime
> cve/cve-2015-3290: Convert to runtime
> crypto/af_alg02: Convert to runtime.
> crypto/pcrypt_aead01: Convert to runtime
> syscalls/clock_gettime01: Remove useless timeout
> syscalls/fanotify22: Remove useless timeout
> syscalls/gettimeofday02: Convert to runtime.
> syscalls/inotify06: Convert to runtime.
> syscalls/inotify01: Remove now useless timeout
> syscalls/perf_event_open03: Convert to runtime
> syscalls/readv01: Remove now useless timeout
> syscalls/tgkill03: Remove now unused timeout
> syscalls/setsockopt09: Remove now useless timeout
> syscalls/userfaultfd01: Remove now useless timeout
> syscalls/move_pages12: Convert to runtime
> syscalls/rt_sigqueueinfo01: Remove now useless timeout
> mem/mallocstress: Convert to runtime
> mem/{oom,min_free_kbytes}: Convert to runtime
> crypto/af_alg02: Convert to runtime
> fuzzy_sync: Convert to runtime
> ltp-aiodio/dio_sparse,aiodio_sparse: Convert to runtime.
> ltp-aiodio/read_checkzero: Remove
> ltp-aiodio/dio_{truncate,append}: Convert to runtime
> ltp-aiodio/dio_read: Convert to runtime
> ltp-aiodio/aiodio_append: Convert to runtime
> timer_test: Convert to runtime
> tst_test: Remove timeout stubs
>
> doc/user-guide.txt | 4 +
> include/tst_fuzzy_sync.h | 19 +--
> include/tst_test.h | 31 +++-
> lib/newlib_tests/.gitignore | 5 +-
> lib/newlib_tests/test10.c | 22 ---
> lib/newlib_tests/test12.c | 21 ---
> lib/newlib_tests/test13.c | 1 -
> lib/newlib_tests/test_children_cleanup.c | 1 -
> .../{test18.c => test_runtime01.c} | 10 +-
> lib/newlib_tests/test_runtime02.c | 31 ++++
> lib/tst_test.c | 144 +++++++++++++-----
> lib/tst_timer_test.c | 12 +-
> runtest/ltp-aiodio.part4 | 2 -
> testcases/cve/cve-2015-3290.c | 8 +-
> testcases/kernel/crypto/af_alg02.c | 4 +-
> testcases/kernel/crypto/af_alg07.c | 1 +
> testcases/kernel/crypto/pcrypt_aead01.c | 3 +-
> testcases/kernel/io/ltp-aiodio/.gitignore | 1 -
> .../kernel/io/ltp-aiodio/aiodio_append.c | 25 ++-
> .../kernel/io/ltp-aiodio/aiodio_sparse.c | 26 +++-
> testcases/kernel/io/ltp-aiodio/common.h | 12 +-
> testcases/kernel/io/ltp-aiodio/dio_append.c | 4 +
> testcases/kernel/io/ltp-aiodio/dio_read.c | 9 ++
> testcases/kernel/io/ltp-aiodio/dio_sparse.c | 6 +-
> testcases/kernel/io/ltp-aiodio/dio_truncate.c | 6 +
> .../kernel/io/ltp-aiodio/read_checkzero.c | 84 ----------
> testcases/kernel/mem/mtest01/mtest01.c | 14 +-
> testcases/kernel/mem/mtest06/mmap1.c | 24 +--
> testcases/kernel/mem/mtest06/mmap3.c | 12 +-
> testcases/kernel/mem/mtest07/mallocstress.c | 11 +-
> testcases/kernel/mem/oom/oom01.c | 2 +-
> testcases/kernel/mem/oom/oom02.c | 2 +-
> testcases/kernel/mem/oom/oom03.c | 2 +-
> testcases/kernel/mem/oom/oom04.c | 2 +-
> testcases/kernel/mem/oom/oom05.c | 2 +-
> testcases/kernel/mem/thp/thp04.c | 1 +
> .../kernel/mem/tunable/min_free_kbytes.c | 2 +-
> testcases/kernel/pty/pty03.c | 2 +-
> testcases/kernel/pty/pty05.c | 1 +
> testcases/kernel/pty/pty06.c | 1 +
> testcases/kernel/pty/pty07.c | 1 +
> testcases/kernel/sound/snd_seq01.c | 2 +-
> testcases/kernel/sound/snd_timer01.c | 1 +
> testcases/kernel/syscalls/bind/bind06.c | 2 +-
> .../syscalls/clock_gettime/clock_gettime01.c | 1 -
> .../kernel/syscalls/fanotify/fanotify22.c | 1 -
> .../syscalls/gettimeofday/gettimeofday02.c | 15 +-
> testcases/kernel/syscalls/inotify/inotify06.c | 7 +-
> testcases/kernel/syscalls/inotify/inotify09.c | 1 +
> testcases/kernel/syscalls/inotify/inotify11.c | 1 -
> .../kernel/syscalls/ipc/shmctl/shmctl05.c | 2 +-
> .../kernel/syscalls/move_pages/move_pages12.c | 4 +-
> .../perf_event_open/perf_event_open03.c | 15 +-
> testcases/kernel/syscalls/readv/readv01.c | 1 -
> .../rt_sigqueueinfo/rt_sigqueueinfo01.c | 1 -
> testcases/kernel/syscalls/sendmsg/sendmsg03.c | 1 +
> .../kernel/syscalls/setsockopt/setsockopt06.c | 2 +-
> .../kernel/syscalls/setsockopt/setsockopt07.c | 1 +
> .../kernel/syscalls/setsockopt/setsockopt09.c | 1 -
> testcases/kernel/syscalls/tgkill/tgkill03.c | 1 -
> .../syscalls/timerfd/timerfd_settime02.c | 1 +
> .../syscalls/userfaultfd/userfaultfd01.c | 1 -
> testcases/kernel/syscalls/writev/writev03.c | 2 +-
> 63 files changed, 339 insertions(+), 296 deletions(-)
> delete mode 100644 lib/newlib_tests/test10.c
> delete mode 100644 lib/newlib_tests/test12.c
> rename lib/newlib_tests/{test18.c => test_runtime01.c} (58%)
> create mode 100644 lib/newlib_tests/test_runtime02.c
> delete mode 100644 testcases/kernel/io/ltp-aiodio/read_checkzero.c
--
Thank you,
Richard.
--
Mailing list info: https://lists.linux.it/listinfo/ltp
next prev parent reply other threads:[~2022-05-05 8:28 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-03 17:46 [LTP] [PATCH v2 00/30] Introduce runtime and conver tests Cyril Hrubis
2022-05-03 17:46 ` [LTP] [PATCH v2 01/30] Introduce a concept of max runtime Cyril Hrubis
2022-05-03 21:10 ` [LTP] [Automated-testing] " Petr Vorel
[not found] ` <16EBB49075039E76.23911@lists.yoctoproject.org>
2022-05-03 21:21 ` Petr Vorel
2022-05-05 7:11 ` Richard Palethorpe
2022-05-05 9:48 ` Cyril Hrubis
2022-05-05 10:09 ` Richard Palethorpe
2022-05-10 13:15 ` Li Wang
2022-05-11 11:47 ` Cyril Hrubis
2022-05-12 12:19 ` Cyril Hrubis
2022-05-05 11:12 ` [LTP] " Jan Stancek
2022-05-05 11:19 ` Cyril Hrubis
2022-05-10 14:03 ` Li Wang
2022-05-11 11:55 ` Cyril Hrubis
2022-05-03 17:46 ` [LTP] [PATCH v2 02/30] mtest06/mmap1: Convert to runtime Cyril Hrubis
2022-05-03 17:46 ` [LTP] [PATCH v2 03/30] mtest06/mmap3: " Cyril Hrubis
2022-05-03 17:46 ` [LTP] [PATCH v2 04/30] mtest01/mtest01: " Cyril Hrubis
2022-05-03 17:46 ` [LTP] [PATCH v2 05/30] cve/cve-2015-3290: " Cyril Hrubis
2022-05-03 17:46 ` [LTP] [PATCH v2 06/30] crypto/af_alg02: " Cyril Hrubis
2022-05-05 8:33 ` [LTP] [Automated-testing] " Richard Palethorpe
2022-05-03 17:46 ` [LTP] [PATCH v2 07/30] crypto/pcrypt_aead01: " Cyril Hrubis
2022-05-03 17:46 ` [LTP] [PATCH v2 08/30] syscalls/clock_gettime01: Remove useless timeout Cyril Hrubis
2022-05-03 17:46 ` [LTP] [PATCH v2 09/30] syscalls/fanotify22: " Cyril Hrubis
2022-05-03 17:46 ` [LTP] [PATCH v2 10/30] syscalls/gettimeofday02: Convert to runtime Cyril Hrubis
2022-05-03 17:46 ` [LTP] [PATCH v2 11/30] syscalls/inotify06: " Cyril Hrubis
2022-05-03 17:47 ` [LTP] [PATCH v2 12/30] syscalls/inotify01: Remove now useless timeout Cyril Hrubis
2022-05-03 17:47 ` [LTP] [PATCH v2 13/30] syscalls/perf_event_open03: Convert to runtime Cyril Hrubis
2022-05-03 17:47 ` [LTP] [PATCH v2 14/30] syscalls/readv01: Remove now useless timeout Cyril Hrubis
2022-05-03 17:47 ` [LTP] [PATCH v2 15/30] syscalls/tgkill03: Remove now unused timeout Cyril Hrubis
2022-05-03 17:47 ` [LTP] [PATCH v2 16/30] syscalls/setsockopt09: Remove now useless timeout Cyril Hrubis
2022-05-03 17:47 ` [LTP] [PATCH v2 17/30] syscalls/userfaultfd01: " Cyril Hrubis
2022-05-03 17:47 ` [LTP] [PATCH v2 18/30] syscalls/move_pages12: Convert to runtime Cyril Hrubis
2022-05-03 17:47 ` [LTP] [PATCH v2 19/30] syscalls/rt_sigqueueinfo01: Remove now useless timeout Cyril Hrubis
2022-05-03 17:47 ` [LTP] [PATCH v2 20/30] mem/mallocstress: Convert to runtime Cyril Hrubis
2022-05-03 17:47 ` [LTP] [PATCH v2 21/30] mem/{oom, min_free_kbytes}: " Cyril Hrubis
2022-05-03 17:47 ` [LTP] [PATCH v2 22/30] crypto/af_alg02: " Cyril Hrubis
2022-05-05 8:37 ` [LTP] [Automated-testing] " Richard Palethorpe
2022-05-03 17:47 ` [LTP] [PATCH v2 23/30] fuzzy_sync: " Cyril Hrubis
2022-05-03 21:30 ` [LTP] [Automated-testing] " Petr Vorel
2022-05-05 8:51 ` Richard Palethorpe
2022-05-05 10:05 ` Cyril Hrubis
2022-05-05 8:47 ` [LTP] " Richard Palethorpe
2022-05-03 17:47 ` [LTP] [PATCH v2 24/30] ltp-aiodio/dio_sparse, aiodio_sparse: " Cyril Hrubis
2022-05-03 17:47 ` [LTP] [PATCH v2 25/30] ltp-aiodio/read_checkzero: Remove Cyril Hrubis
2022-05-03 17:47 ` [LTP] [PATCH v2 26/30] ltp-aiodio/dio_{truncate, append}: Convert to runtime Cyril Hrubis
2022-05-03 17:47 ` [LTP] [PATCH v2 27/30] ltp-aiodio/dio_read: " Cyril Hrubis
2022-05-03 17:47 ` [LTP] [PATCH v2 28/30] ltp-aiodio/aiodio_append: " Cyril Hrubis
2022-05-03 17:47 ` [LTP] [PATCH v2 29/30] timer_test: " Cyril Hrubis
2022-05-03 17:47 ` [LTP] [PATCH v2 30/30] tst_test: Remove timeout stubs Cyril Hrubis
2022-05-05 8:13 ` Richard Palethorpe [this message]
2022-05-05 8:47 ` [LTP] [Automated-testing] [PATCH v2 00/30] Introduce runtime and conver tests Petr Vorel
2022-05-05 9:53 ` Richard Palethorpe
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=875ymke631.fsf@suse.de \
--to=rpalethorpe@suse.de \
--cc=automated-testing@lists.yoctoproject.org \
--cc=chrubis@suse.cz \
--cc=ltp@lists.linux.it \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.