public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Alice Ferrazzi <alice.ferrazzi@gmail.com>
To: Petr Mladek <pmladek@suse.com>
Cc: Jiri Kosina <jikos@kernel.org>,
	Josh Poimboeuf <jpoimboe@redhat.com>,
	Miroslav Benes <mbenes@suse.cz>, Jason Baron <jbaron@akamai.com>,
	Joe Lawrence <joe.lawrence@redhat.com>,
	Evgenii Shatokhin <eshatokhin@virtuozzo.com>,
	live-patching@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v14 11/11] selftests/livepatch: introduce tests
Date: Sun, 9 Dec 2018 01:54:10 +0900	[thread overview]
Message-ID: <20181208165410.GA19464@magata> (raw)
In-Reply-To: <20181129094431.7801-12-pmladek@suse.com>

On 29-11-2018 10:44, Petr Mladek wrote:
> From: Joe Lawrence <joe.lawrence@redhat.com>
> 
> Add a few livepatch modules and simple target modules that the included
> regression suite can run tests against:
> 
>   - basic livepatching (multiple patches, atomic replace)
>   - pre/post (un)patch callbacks
>   - shadow variable API
> 
> Signed-off-by: Joe Lawrence <joe.lawrence@redhat.com>
> Signed-off-by: Petr Mladek <pmladek@suse.com>
> ---
>  Documentation/livepatch/callbacks.txt              | 489 +----------------
>  MAINTAINERS                                        |   1 +
>  lib/Kconfig.debug                                  |  21 +
>  lib/Makefile                                       |   2 +
>  lib/livepatch/Makefile                             |  15 +
>  lib/livepatch/test_klp_atomic_replace.c            |  57 ++
>  lib/livepatch/test_klp_callbacks_busy.c            |  43 ++
>  lib/livepatch/test_klp_callbacks_demo.c            | 121 +++++
>  lib/livepatch/test_klp_callbacks_demo2.c           |  93 ++++
>  lib/livepatch/test_klp_callbacks_mod.c             |  24 +
>  lib/livepatch/test_klp_livepatch.c                 |  51 ++
>  lib/livepatch/test_klp_shadow_vars.c               | 236 +++++++++
>  tools/testing/selftests/Makefile                   |   1 +
>  tools/testing/selftests/livepatch/Makefile         |   8 +
>  tools/testing/selftests/livepatch/README           |  43 ++
>  tools/testing/selftests/livepatch/config           |   1 +
>  tools/testing/selftests/livepatch/functions.sh     | 203 +++++++
>  .../testing/selftests/livepatch/test-callbacks.sh  | 587 +++++++++++++++++++++
>  .../testing/selftests/livepatch/test-livepatch.sh  | 168 ++++++
>  .../selftests/livepatch/test-shadow-vars.sh        |  60 +++
>  20 files changed, 1740 insertions(+), 484 deletions(-)
>  create mode 100644 lib/livepatch/Makefile
>  create mode 100644 lib/livepatch/test_klp_atomic_replace.c
>  create mode 100644 lib/livepatch/test_klp_callbacks_busy.c
>  create mode 100644 lib/livepatch/test_klp_callbacks_demo.c
>  create mode 100644 lib/livepatch/test_klp_callbacks_demo2.c
>  create mode 100644 lib/livepatch/test_klp_callbacks_mod.c
>  create mode 100644 lib/livepatch/test_klp_livepatch.c
>  create mode 100644 lib/livepatch/test_klp_shadow_vars.c
>  create mode 100644 tools/testing/selftests/livepatch/Makefile
>  create mode 100644 tools/testing/selftests/livepatch/README
>  create mode 100644 tools/testing/selftests/livepatch/config
>  create mode 100644 tools/testing/selftests/livepatch/functions.sh
>  create mode 100755 tools/testing/selftests/livepatch/test-callbacks.sh
>  create mode 100755 tools/testing/selftests/livepatch/test-livepatch.sh
>  create mode 100755 tools/testing/selftests/livepatch/test-shadow-vars.sh

I tested the livepatch selftest and it works for me:

```
gentoo_07 linux-dev (alice/livepatch) # make -C tools/testing/selftests
TARGETS=livepatch run_tests
make: Entering directory '/root/linux-dev/tools/testing/selftests'
make[1]: Entering directory
'/root/linux-dev/tools/testing/selftests/livepatch'
make[1]: Nothing to be done for 'all'.
make[1]: Leaving directory
'/root/linux-dev/tools/testing/selftests/livepatch'
make[1]: Entering directory
'/root/linux-dev/tools/testing/selftests/livepatch'
TAP version 13
selftests: livepatch: test-livepatch.sh
========================================
TEST: basic function patching ... ok
TEST: multiple livepatches ... ok
TEST: atomic replace livepatch ... ok
ok 1..1 selftests: livepatch: test-livepatch.sh [PASS]
selftests: livepatch: test-callbacks.sh
========================================
TEST: target module before livepatch ... ok
TEST: module_coming notifier ... ok
TEST: module_going notifier ... ok
TEST: module_coming and module_going notifiers ... ok
TEST: target module not present ... ok
TEST: pre-patch callback -ENODEV ... ok
TEST: module_coming + pre-patch callback -ENODEV ... ok
TEST: multiple target modules ... ok
TEST: busy target module ... ok
TEST: multiple livepatches ... ok
TEST: atomic replace ... ok
ok 1..2 selftests: livepatch: test-callbacks.sh [PASS]
selftests: livepatch: test-shadow-vars.sh
========================================
TEST: basic shadow variable API ... ok
ok 1..3 selftests: livepatch: test-shadow-vars.sh [PASS]
make[1]: Leaving directory
'/root/linux-dev/tools/testing/selftests/livepatch'
make: Leaving directory '/root/linux-dev/tools/testing/selftests'
```

Tested-by: Alice Ferrazzi <alice.ferrazzi@gmail.com>


  parent reply	other threads:[~2018-12-08 16:54 UTC|newest]

Thread overview: 77+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-29  9:44 [PATCH v14 00/11] livepatch: Atomic replace feature Petr Mladek
2018-11-29  9:44 ` [PATCH v14 01/11] livepatch: Change unsigned long old_addr -> void *old_func in struct klp_func Petr Mladek
2018-12-03 13:24   ` Miroslav Benes
2018-12-05 18:45   ` Joe Lawrence
2018-12-06 11:08   ` Alice Ferrazzi
2018-11-29  9:44 ` [PATCH v14 02/11] livepatch: Shuffle klp_enable_patch()/klp_disable_patch() code Petr Mladek
2018-12-03 13:36   ` Miroslav Benes
2018-12-05 18:45   ` Joe Lawrence
2018-11-29  9:44 ` [PATCH v14 03/11] livepatch: Consolidate klp_free functions Petr Mladek
2018-12-03 14:59   ` Miroslav Benes
2018-12-04 14:00     ` Petr Mladek
2018-12-13 22:35     ` Josh Poimboeuf
2018-12-14  9:37       ` Miroslav Benes
2018-12-05 19:02   ` Joe Lawrence
2018-12-06  8:15     ` Petr Mladek
2018-12-06 14:23       ` Joe Lawrence
2018-12-13 22:10   ` Josh Poimboeuf
2018-12-14  9:32     ` Petr Mladek
2018-12-14 14:23       ` Josh Poimboeuf
2018-11-29  9:44 ` [PATCH v14 04/11] livepatch: Refuse to unload only livepatches available during a forced transition Petr Mladek
2018-12-03 15:29   ` Miroslav Benes
2018-12-06  8:46     ` Petr Mladek
2018-12-06  9:18       ` Miroslav Benes
2018-12-05 19:05   ` Joe Lawrence
2018-12-13 22:17   ` Josh Poimboeuf
2018-11-29  9:44 ` [PATCH v14 05/11] livepatch: Simplify API by removing registration step Petr Mladek
2018-12-04 12:54   ` Miroslav Benes
2018-12-04 14:47     ` Petr Mladek
2018-12-04 15:32       ` Miroslav Benes
2018-12-05 19:32   ` Joe Lawrence
2018-12-06  8:28     ` Petr Mladek
2018-12-06  9:23       ` Miroslav Benes
2018-12-06 10:14         ` Petr Mladek
2018-12-06 14:36           ` Joe Lawrence
2018-12-13 22:29             ` Josh Poimboeuf
2018-12-14  9:40               ` Petr Mladek
2018-12-14 14:24                 ` Josh Poimboeuf
2019-01-03 11:47     ` Petr Mladek
2018-12-13 22:46   ` Josh Poimboeuf
2018-12-14 10:02     ` Petr Mladek
2018-12-14 14:27       ` Josh Poimboeuf
2018-11-29  9:44 ` [PATCH v14 06/11] livepatch: Use lists to manage patches, objects and functions Petr Mladek
2018-12-04 14:13   ` Miroslav Benes
2018-12-05 19:34   ` Joe Lawrence
2018-11-29  9:44 ` [PATCH v14 07/11] livepatch: Add atomic replace Petr Mladek
2018-12-04 15:27   ` Miroslav Benes
2018-12-05 19:37   ` Joe Lawrence
2018-12-13 22:55   ` Josh Poimboeuf
2018-12-17 15:27     ` Petr Mladek
2019-01-03 12:47       ` Petr Mladek
2019-01-03 13:37         ` Josh Poimboeuf
2018-11-29  9:44 ` [PATCH v14 08/11] livepatch: Remove Nop structures when unused Petr Mladek
2018-12-04 16:08   ` Miroslav Benes
2018-12-05 20:17   ` Joe Lawrence
2018-12-13 23:00   ` Josh Poimboeuf
2018-12-17 15:54     ` Petr Mladek
2018-12-17 16:11       ` Josh Poimboeuf
2018-11-29  9:44 ` [PATCH v14 09/11] livepatch: Atomic replace and cumulative patches documentation Petr Mladek
2018-12-04 16:12   ` Miroslav Benes
2018-12-05 20:20   ` Joe Lawrence
2018-11-29  9:44 ` [PATCH v14 10/11] livepatch: Remove ordering and refuse loading conflicting patches Petr Mladek
2018-12-05 10:27   ` Miroslav Benes
2018-12-05 20:24   ` Joe Lawrence
2018-12-13 23:06   ` Josh Poimboeuf
2018-12-17 16:07     ` Petr Mladek
2018-12-17 16:27       ` Josh Poimboeuf
2018-12-18  8:51         ` Petr Mladek
2018-11-29  9:44 ` [PATCH v14 11/11] selftests/livepatch: introduce tests Petr Mladek
2018-12-05 11:38   ` Miroslav Benes
2018-12-05 20:27   ` Joe Lawrence
2018-12-08 16:54   ` Alice Ferrazzi [this message]
2018-12-05 20:49 ` [PATCH v14 00/11] livepatch: Atomic replace feature Joe Lawrence
2018-12-06  7:54   ` Petr Mladek
2018-12-06  9:32     ` Miroslav Benes
2018-12-06 10:15       ` Petr Mladek
2018-12-06 12:37         ` Petr Mladek
2018-12-06 14:29           ` Joe Lawrence

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=20181208165410.GA19464@magata \
    --to=alice.ferrazzi@gmail.com \
    --cc=eshatokhin@virtuozzo.com \
    --cc=jbaron@akamai.com \
    --cc=jikos@kernel.org \
    --cc=joe.lawrence@redhat.com \
    --cc=jpoimboe@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=live-patching@vger.kernel.org \
    --cc=mbenes@suse.cz \
    --cc=pmladek@suse.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox