Re: [PATCHv6 30/36] selftest/timens: Add Time Namespace test for supported clocks

From: Andrei Vagin
Date: Fri Aug 16 2019 - 02:20:44 EST


On Thu, Aug 15, 2019 at 05:18:21PM -0600, shuah wrote:
> Hi Dmitry,
>
> Thanks for the patch.
>
> On 8/15/19 10:38 AM, Dmitry Safonov wrote:
> > A test to check that all supported clocks work on host and inside
> > a new time namespace. Use both ways to get time: through VDSO and
> > by entering the kernel with implicit syscall.
> >
> > Introduce a new timens directory in selftests framework for
> > the next timens tests.
> >
> > Co-developed-by: Andrei Vagin <avagin@xxxxxxxxxx>
> > Signed-off-by: Andrei Vagin <avagin@xxxxxxxxxx>
> > Signed-off-by: Dmitry Safonov <dima@xxxxxxxxxx>
> > ---
> > tools/testing/selftests/Makefile | 1 +
> > tools/testing/selftests/timens/.gitignore | 1 +
> > tools/testing/selftests/timens/Makefile | 5 +
> > tools/testing/selftests/timens/config | 1 +
> > tools/testing/selftests/timens/log.h | 26 +++
> > tools/testing/selftests/timens/timens.c | 185 ++++++++++++++++++++++
> > tools/testing/selftests/timens/timens.h | 63 ++++++++
> > 7 files changed, 282 insertions(+)
> > create mode 100644 tools/testing/selftests/timens/.gitignore
> > create mode 100644 tools/testing/selftests/timens/Makefile
> > create mode 100644 tools/testing/selftests/timens/config
> > create mode 100644 tools/testing/selftests/timens/log.h
> > create mode 100644 tools/testing/selftests/timens/timens.c
> > create mode 100644 tools/testing/selftests/timens/timens.h
> >
> > diff --git a/tools/testing/selftests/Makefile b/tools/testing/selftests/Makefile
> > index 25b43a8c2b15..6fc63b84a857 100644
> > --- a/tools/testing/selftests/Makefile
> > +++ b/tools/testing/selftests/Makefile
> > @@ -47,6 +47,7 @@ TARGETS += splice
> > TARGETS += static_keys
> > TARGETS += sync
> > TARGETS += sysctl
> > +TARGETS += timens
>
> How long does this test run for?

On my laptop, it needs 30 miliseconds.

> Does this test need to be run
> as root? If yes, please add a root check and skip the test.

Yes, it needs to be as root. We will add this check. Thanks.

>
> What does the test output looks like for skip and pass/fail cases?

[avagin@laptop timens]$ ./timens
not ok 1 # SKIP Time namespaces are not supported

[root@fc24 timens]# ./timens
1..10
ok 1 Passed for CLOCK_BOOTTIME (syscall)
ok 2 Passed for CLOCK_BOOTTIME (vdso)
ok 3 Passed for CLOCK_BOOTTIME_ALARM (syscall)
ok 4 Passed for CLOCK_BOOTTIME_ALARM (vdso)
ok 5 Passed for CLOCK_MONOTONIC (syscall)
ok 6 Passed for CLOCK_MONOTONIC (vdso)
ok 7 Passed for CLOCK_MONOTONIC_COARSE (syscall)
ok 8 Passed for CLOCK_MONOTONIC_COARSE (vdso)
ok 9 Passed for CLOCK_MONOTONIC_RAW (syscall)
ok 10 Passed for CLOCK_MONOTONIC_RAW (vdso)
# Pass 10 Fail 0 Xfail 0 Xpass 0 Skip 0 Error 0

Thanks,
Andrei

>
> thanks,
> -- Shuah