On Wed, Apr 24, 2019 at 12:00 PM Masayoshi Mizuma msys.mizuma@gmail.com wrote:
On Thu, Apr 04, 2019 at 03:06:46PM -0700, Brendan Higgins wrote:
From: Avinash Kondareddy akndr41@gmail.com
Tests how tests interact with test managed resources in their lifetime.
Signed-off-by: Avinash Kondareddy akndr41@gmail.com Signed-off-by: Brendan Higgins brendanhiggins@google.com
kunit/test-test.c | 122 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 122 insertions(+)
diff --git a/kunit/test-test.c b/kunit/test-test.c index 4bd7a34d0a6cb..54add8ca418a0 100644 --- a/kunit/test-test.c +++ b/kunit/test-test.c @@ -135,3 +135,125 @@ static struct kunit_module kunit_try_catch_test_module = { .test_cases = kunit_try_catch_test_cases, }; module_test(kunit_try_catch_test_module);
+/*
- Context for testing test managed resources
- is_resource_initialized is used to test arbitrary resources
- */
+struct kunit_test_resource_context {
struct kunit test;bool is_resource_initialized;+};
+static int fake_resource_init(struct kunit_resource *res, void *context) +{
struct kunit_test_resource_context *ctx = context;res->allocation = &ctx->is_resource_initialized;ctx->is_resource_initialized = true;return 0;+}
+static void fake_resource_free(struct kunit_resource *res) +{
bool *is_resource_initialized = res->allocation;*is_resource_initialized = false;+}
+static void kunit_resource_test_init_resources(struct kunit *test) +{
struct kunit_test_resource_context *ctx = test->priv;kunit_init_test(&ctx->test, "testing_test_init_test");KUNIT_EXPECT_TRUE(test, list_empty(&ctx->test.resources));+}
+static void kunit_resource_test_alloc_resource(struct kunit *test) +{
struct kunit_test_resource_context *ctx = test->priv;struct kunit_resource *res;kunit_resource_free_t free = fake_resource_free;res = kunit_alloc_resource(&ctx->test,fake_resource_init,fake_resource_free,ctx);
KUNIT_ASSERT_NOT_ERR_OR_NULL(test, res);KUNIT_EXPECT_NOT_ERR_OR_NULL(test, res);
See my reply to your email on the 14/17 patch.