49 lines · 1.0 KB · C
RawDownload
/* SPDX-License-Identifier: GPL-2.0 *//* * Copyright (c) 2024 Meta Platforms, Inc. and affiliates. * Copyright (c) 2024 Tejun Heo <tj@kernel.org> * Copyright (c) 2024 David Vernet <dvernet@meta.com> */#include <bpf/bpf.h>#include <scx/common.h>#include "scx_test.h" static bool setup_called = false;static bool run_called = false;static bool cleanup_called = false; static int context = 10; static enum scx_test_status setup(void **ctx){	setup_called = true;	*ctx = &context; 	return SCX_TEST_PASS;} static enum scx_test_status run(void *ctx){	int *arg = ctx; 	SCX_ASSERT(setup_called);	SCX_ASSERT(!run_called && !cleanup_called);	SCX_EQ(*arg, context); 	run_called = true;	return SCX_TEST_PASS;} static void cleanup (void *ctx){	SCX_BUG_ON(!run_called || cleanup_called, "Wrong callbacks invoked");} struct scx_test example = {	.name		= "example",	.description	= "Validate the basic function of the test suite itself",	.setup		= setup,	.run		= run,	.cleanup	= cleanup,};REGISTER_SCX_TEST(&example)