diff options
author | Matus Fabian <matfabia@cisco.com> | 2024-07-19 16:04:09 +0200 |
---|---|---|
committer | Florin Coras <florin.coras@gmail.com> | 2024-07-22 17:44:42 +0000 |
commit | e99d266612b53163d460f3ceab96934b1d961ac8 (patch) | |
tree | b0bf01f2802f2a7c282ff268b48bd412edfd3c98 /src/plugins/unittest | |
parent | 7f163b682a57f42bd9b39a7f2d7e4c1c67df8386 (diff) |
hs-test: memory leak testing
add infra for memory leak testing
Type: test
Change-Id: I882e8dbb360597cdb82ad52682725f7d39b2df24
Signed-off-by: Matus Fabian <matfabia@cisco.com>
Diffstat (limited to 'src/plugins/unittest')
-rw-r--r-- | src/plugins/unittest/util_test.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/plugins/unittest/util_test.c b/src/plugins/unittest/util_test.c index 53384e55494..5b7e30bc21f 100644 --- a/src/plugins/unittest/util_test.c +++ b/src/plugins/unittest/util_test.c @@ -101,6 +101,36 @@ VLIB_CLI_COMMAND (test_hash_command, static) = .function = test_hash_command_fn, }; +static void * +leak_memory_fn (void *args) +{ + u8 *p = 0; + vec_validate (p, 100); + p = 0; + return 0; +} + +static clib_error_t * +test_mem_leak_command_fn (vlib_main_t *vm, unformat_input_t *input, + vlib_cli_command_t *cmd) +{ + /* do memory leak from thread, so no 'unix_cli' in traceback */ + pthread_t thread; + int rv = pthread_create (&thread, NULL, leak_memory_fn, 0); + if (rv) + { + return clib_error_return (0, "pthread_create failed"); + } + + return 0; +} + +VLIB_CLI_COMMAND (test_mem_leak_command, static) = { + .path = "test mem-leak", + .short_help = "leak some memory", + .function = test_mem_leak_command_fn, +}; + /* * fd.io coding-style-patch-verification: ON * |