kunit: hide unexported try-catch interface in try-catch-impl.h

Define function as static inline in try-catch-impl.h to allow it to
be used in kunit itself and tests.  Also remove unused
kunit_generic_try_catch

Co-developed-by: Knut Omang <knut.omang@oracle.com>
Signed-off-by: Knut Omang <knut.omang@oracle.com>
Signed-off-by: Alan Maguire <alan.maguire@oracle.com>
Reviewed-by: Brendan Higgins <brendanhiggins@google.com>
Tested-by: Brendan Higgins <brendanhiggins@google.com>
Signed-off-by: Shuah Khan <skhan@linuxfoundation.org>
This commit is contained in:
Alan Maguire 2020-01-06 22:28:19 +00:00 committed by Shuah Khan
parent 109fb06fdc
commit 9bbb11c6be
5 changed files with 32 additions and 22 deletions

View File

@ -53,11 +53,6 @@ struct kunit_try_catch {
void *context; void *context;
}; };
void kunit_try_catch_init(struct kunit_try_catch *try_catch,
struct kunit *test,
kunit_try_catch_func_t try,
kunit_try_catch_func_t catch);
void kunit_try_catch_run(struct kunit_try_catch *try_catch, void *context); void kunit_try_catch_run(struct kunit_try_catch *try_catch, void *context);
void __noreturn kunit_try_catch_throw(struct kunit_try_catch *try_catch); void __noreturn kunit_try_catch_throw(struct kunit_try_catch *try_catch);
@ -67,9 +62,4 @@ static inline int kunit_try_catch_get_result(struct kunit_try_catch *try_catch)
return try_catch->try_result; return try_catch->try_result;
} }
/*
* Exposed for testing only.
*/
void kunit_generic_try_catch_init(struct kunit_try_catch *try_catch);
#endif /* _KUNIT_TRY_CATCH_H */ #endif /* _KUNIT_TRY_CATCH_H */

View File

@ -7,6 +7,8 @@
*/ */
#include <kunit/test.h> #include <kunit/test.h>
#include "try-catch-impl.h"
struct kunit_try_catch_test_context { struct kunit_try_catch_test_context {
struct kunit_try_catch *try_catch; struct kunit_try_catch *try_catch;
bool function_called; bool function_called;

View File

@ -7,11 +7,11 @@
*/ */
#include <kunit/test.h> #include <kunit/test.h>
#include <kunit/try-catch.h>
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/sched/debug.h> #include <linux/sched/debug.h>
#include "string-stream.h" #include "string-stream.h"
#include "try-catch-impl.h"
static void kunit_set_failure(struct kunit *test) static void kunit_set_failure(struct kunit *test)
{ {

View File

@ -0,0 +1,27 @@
/* SPDX-License-Identifier: GPL-2.0 */
/*
* Internal kunit try catch implementation to be shared with tests.
*
* Copyright (C) 2019, Google LLC.
* Author: Brendan Higgins <brendanhiggins@google.com>
*/
#ifndef _KUNIT_TRY_CATCH_IMPL_H
#define _KUNIT_TRY_CATCH_IMPL_H
#include <kunit/try-catch.h>
#include <linux/types.h>
struct kunit;
static inline void kunit_try_catch_init(struct kunit_try_catch *try_catch,
struct kunit *test,
kunit_try_catch_func_t try,
kunit_try_catch_func_t catch)
{
try_catch->test = test;
try_catch->try = try;
try_catch->catch = catch;
}
#endif /* _KUNIT_TRY_CATCH_IMPL_H */

View File

@ -8,12 +8,13 @@
*/ */
#include <kunit/test.h> #include <kunit/test.h>
#include <kunit/try-catch.h>
#include <linux/completion.h> #include <linux/completion.h>
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/kthread.h> #include <linux/kthread.h>
#include <linux/sched/sysctl.h> #include <linux/sched/sysctl.h>
#include "try-catch-impl.h"
void __noreturn kunit_try_catch_throw(struct kunit_try_catch *try_catch) void __noreturn kunit_try_catch_throw(struct kunit_try_catch *try_catch)
{ {
try_catch->try_result = -EFAULT; try_catch->try_result = -EFAULT;
@ -106,13 +107,3 @@ void kunit_try_catch_run(struct kunit_try_catch *try_catch, void *context)
try_catch->catch(try_catch->context); try_catch->catch(try_catch->context);
} }
void kunit_try_catch_init(struct kunit_try_catch *try_catch,
struct kunit *test,
kunit_try_catch_func_t try,
kunit_try_catch_func_t catch)
{
try_catch->test = test;
try_catch->try = try;
try_catch->catch = catch;
}