brintos

brintos / linux-shallow public Read only

0
0
Text · 1.1 KiB · 6c5db8e Raw
59 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2/*3 * Copyright (c) 2023 Meta Platforms, Inc. and affiliates.4 * Copyright (c) 2023 David Vernet <dvernet@meta.com>5 * Copyright (c) 2023 Tejun Heo <tj@kernel.org>6 */7#include <bpf/bpf.h>8#include <scx/common.h>9#include <sys/wait.h>10#include <unistd.h>11#include "minimal.bpf.skel.h"12#include "scx_test.h"13 14static enum scx_test_status setup(void **ctx)15{16	struct minimal *skel;17 18	skel = minimal__open_and_load();19	if (!skel) {20		SCX_ERR("Failed to open and load skel");21		return SCX_TEST_FAIL;22	}23	*ctx = skel;24 25	return SCX_TEST_PASS;26}27 28static enum scx_test_status run(void *ctx)29{30	struct minimal *skel = ctx;31	struct bpf_link *link;32 33	link = bpf_map__attach_struct_ops(skel->maps.minimal_ops);34	if (!link) {35		SCX_ERR("Failed to attach scheduler");36		return SCX_TEST_FAIL;37	}38 39	bpf_link__destroy(link);40 41	return SCX_TEST_PASS;42}43 44static void cleanup(void *ctx)45{46	struct minimal *skel = ctx;47 48	minimal__destroy(skel);49}50 51struct scx_test minimal = {52	.name = "minimal",53	.description = "Verify we can load a fully minimal scheduler",54	.setup = setup,55	.run = run,56	.cleanup = cleanup,57};58REGISTER_SCX_TEST(&minimal)59