diff --git a/gating.yaml b/gating.yaml new file mode 100644 index 0000000..4ca9235 --- /dev/null +++ b/gating.yaml @@ -0,0 +1,6 @@ +--- !Policy +product_versions: + - rhel-10 +decision_context: osci_compose_gate +rules: + - !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional} diff --git a/tests/sanity/Makefile b/tests/sanity/Makefile new file mode 100644 index 0000000..3c8520b --- /dev/null +++ b/tests/sanity/Makefile @@ -0,0 +1,62 @@ +#!/bin/bash +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Description: Gating test for libbpf +# Author: Ziqian SUN (Zamir) +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2022 Red Hat, Inc. All rights reserved. +# +# This copyrighted material is made available to anyone wishing +# to use, modify, copy, or redistribute it subject to the terms +# and conditions of the GNU General Public License version 2. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +TOPLEVEL_NAMESPACE=kernel +PACKAGE_NAME=libbpf +RELATIVE_PATH=general/ebpf-tracing/libbpf/gating + +export TESTVERSION=1.0 +export TEST=/$(TOPLEVEL_NAMESPACE)/$(RELATIVE_PATH) + +.PHONY: all install download clean + +BUILT_FILES= + +FILES=$(METADATA) runtest.sh Makefile PURPOSE libbpf-test.c + +run: $(FILES) build + ./runtest.sh + +build: $(BUILT_FILES) + chmod a+x ./runtest.sh + +clean: + rm -f *~ *.rpm $(BUILT_FILES) + +include /usr/share/rhts/lib/rhts-make.include + +$(METADATA): Makefile + @touch $(METADATA) + @echo "Owner: Ziqian SUN (Zamir) " > $(METADATA) + @echo "Name: $(TEST)" >> $(METADATA) + @echo "Path: $(TEST_DIR)" >> $(METADATA) + @echo "License: GPLv2" >> $(METADATA) + @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) + @echo "Description: libbpf gating test">> $(METADATA) + @echo "TestTime: 90m" >> $(METADATA) + @echo "RunFor: $(PACKAGE_NAME)" >> $(METADATA) + @echo "Requires: gcc libbpf" >> $(METADATA) + @echo "RhtsRequires: " >> $(METADATA) diff --git a/tests/sanity/PURPOSE b/tests/sanity/PURPOSE new file mode 100644 index 0000000..5094cae --- /dev/null +++ b/tests/sanity/PURPOSE @@ -0,0 +1 @@ +Gating test for libbpf diff --git a/tests/sanity/libbpf-test.c b/tests/sanity/libbpf-test.c new file mode 100644 index 0000000..656e19d --- /dev/null +++ b/tests/sanity/libbpf-test.c @@ -0,0 +1,9 @@ +#include + +int main(){ + int ver1=libbpf_major_version(); + int ver2=libbpf_major_version(); + printf("libbpf major version: %d\n", ver1); + printf("libbpf minor version: %d\n", ver2); + return 0; +} diff --git a/tests/sanity/metadata b/tests/sanity/metadata new file mode 100644 index 0000000..6f2424a --- /dev/null +++ b/tests/sanity/metadata @@ -0,0 +1,13 @@ +[General] +name=libbpf +owner= Ziqian SUN (Zamir) +description=Gating test for libbpf +license=GPLv2 +confidential=no +destructive=no + +[restraint] +entry_point=./runtest.sh +max_time=90m +dependencies=libbpf-devel,gcc +repoRequires= diff --git a/tests/sanity/runtest.sh b/tests/sanity/runtest.sh new file mode 100755 index 0000000..cf72c52 --- /dev/null +++ b/tests/sanity/runtest.sh @@ -0,0 +1,42 @@ +#!/bin/bash +# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# runtest.sh for libbpf gating test. +# Author: Ziqian SUN (Zamir) +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2024 Red Hat, Inc. +# +# This program is free software: you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation, either version 2 of +# the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied +# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR +# PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see http://www.gnu.org/licenses/. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +# Include Beaker environment +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +rlJournalStart + rlPhaseStartTest "Test" + rlRun -l "gcc libbpf-test.c -l bpf -o libbpf-test" + rlRun -l "./libbpf-test | grep major" + rlRun -l "./libbpf-test | grep minor" + rlPhaseEnd + + rlPhaseStartCleanup + rm libbpf-test + rlPhaseEnd + + rlJournalPrintText +rlJournalEnd diff --git a/tests/tests.yml b/tests/tests.yml new file mode 100644 index 0000000..1381f04 --- /dev/null +++ b/tests/tests.yml @@ -0,0 +1,11 @@ +- hosts: localhost + tags: + - classic + roles: + - role: standard-test-beakerlib + tests: + - sanity + required_packages: + - libbpf-devel + - libbpf + - gcc