From bd659d518b0ae2a1602e489a9356df6f38d559ad Mon Sep 17 00:00:00 2001 From: Adam Samalik Date: Thu, 29 Jun 2023 10:08:23 +0200 Subject: [PATCH] re-import sources as agreed with the maintainer --- .gitignore | 7 +- README.md | 3 + tests/sanity/Makefile | 93 ++++++++++++++++++++++ tests/sanity/_env | 9 +++ tests/sanity/common-tests.sh | 148 +++++++++++++++++++++++++++++++++++ tests/sanity/runtest.sh | 131 +++++++++++++++++++++++++++++++ tests/sanity/test-kabi-dw.sh | 49 ++++++++++++ tests/sanity/testsuite.tar | Bin 0 -> 61440 bytes tests/tests.yml | 18 +++++ 9 files changed, 457 insertions(+), 1 deletion(-) create mode 100644 README.md create mode 100644 tests/sanity/Makefile create mode 100644 tests/sanity/_env create mode 100644 tests/sanity/common-tests.sh create mode 100755 tests/sanity/runtest.sh create mode 100644 tests/sanity/test-kabi-dw.sh create mode 100644 tests/sanity/testsuite.tar create mode 100644 tests/tests.yml diff --git a/.gitignore b/.gitignore index 3286374..452ac56 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,7 @@ -SOURCES/kabi-dw-b52ac13.tar.gz +/kabi-dw-2ef3f81.tar.gz +/kabi-dw-e6af311.tar.gz +/kabi-dw-a6bced6.tar.gz +/kabi-dw-545535a.tar.gz +/kabi-dw-b8863d0.tar.gz +/kabi-dw-6fbd644.tar.gz /kabi-dw-b52ac13.tar.gz diff --git a/README.md b/README.md new file mode 100644 index 0000000..29aaf94 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +# kabi-dw + +The [kabi-dw](https://github.com/skozina/kabi-dw) package is a tool to detect any changes in the ABI between the successive builds of the Linux kernel. This is done by dumping the DWARF type information (the .debug_info section) for the specific symbols into the text files and later comparing the text files. diff --git a/tests/sanity/Makefile b/tests/sanity/Makefile new file mode 100644 index 0000000..4c6b661 --- /dev/null +++ b/tests/sanity/Makefile @@ -0,0 +1,93 @@ +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Makefile of kabi-dw/sanity +# Description: kabi-dw test +# +# 2019-04-01 +# Author: Čestmír Kalina +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +# +# Copyright (c) 2019 Red Hat, Inc. +# +# 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. +# +# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +TENV=_env +ifeq ($(PKG_TOP_DIR),) + export PKG_TOP_DIR := $(shell p=$$PWD; while :; do \ + [ -e $$p/env.mk -o -z "$$p" ] && { echo $$p; break; }; p=$${p%/*}; done) + export _TOP_DIR := $(shell p=$$PWD; while :; do \ + [ -d $$p/.git -o -z "$$p" ] && { echo $$p; break; }; p=$${p%/*}; done) + -include $(PKG_TOP_DIR)/env.mk +endif +include $(TENV) +ifeq ($(_TOP_DIR),) + _TOP_DIR=/mnt/tests/$(TOPLEVEL_NAMESPACE) +endif + +export TESTVERSION=1.0 + +BUILT_FILES= + +FILES=$(TENV) $(METADATA) Makefile common-tests.sh runtest.sh test-kabi-dw.sh testsuite.tar + +.PHONY: all install download clean + +run: $(FILES) build + ( set +o posix; . /usr/bin/rhts_environment.sh; \ + . /usr/share/beakerlib/beakerlib.sh; \ + . runtest.sh ) + +build: $(BUILT_FILES) + test -x runtest.sh || chmod a+x runtest.sh + +clean: + rm -fr *~ $(BUILT_FILES) + +include /usr/share/rhts/lib/rhts-make.include + +$(METADATA): Makefile + @echo "Owner: Čestmír Kalina " > $(METADATA) + @echo "Name: $(TEST)" >> $(METADATA) + @echo "TestVersion: $(TESTVERSION)" >> $(METADATA) + @echo "Path: $(TEST_DIR)" >> $(METADATA) + @echo "Description: kabi-dw tests">> $(METADATA) + @echo "Type: Regression" >> $(METADATA) + @echo "TestTime: 1h" >> $(METADATA) + @echo "RunFor: kabi-dw" >> $(METADATA) + @echo "Requires: bash" >> $(METADATA) + @echo "Requires: coreutils" >> $(METADATA) + @echo "Requires: make" >> $(METADATA) + @echo "Requires: kernel" >> $(METADATA) + @echo "Requires: kmod" >> $(METADATA) + @echo "Requires: grep" >> $(METADATA) + @echo "Requires: tar" >> $(METADATA) + @echo "Requires: findutils" >> $(METADATA) + @echo "Requires: kernel-devel" >> $(METADATA) + @echo "Requires: kernel-modules" >> $(METADATA) + @echo "Requires: kernel-abi-whitelists" >> $(METADATA) + @echo "Requires: xz" >> $(METADATA) + @echo "Requires: bzip2" >> $(METADATA) + @echo "Requires: gzip" >> $(METADATA) + @echo "Requires: $(PACKAGE_NAME) rpm wget" >> $(METADATA) + @echo "Priority: Normal" >> $(METADATA) + @echo "License: GPLv2" >> $(METADATA) + @echo "Confidential: no" >> $(METADATA) + @echo "Destructive: no" >> $(METADATA) + rhts-lint $(METADATA) + + diff --git a/tests/sanity/_env b/tests/sanity/_env new file mode 100644 index 0000000..ff831d8 --- /dev/null +++ b/tests/sanity/_env @@ -0,0 +1,9 @@ +#This file was generated automatically,do not manually change it. +export TOPLEVEL_NAMESPACE=kernel +export PKG_NAMESPACE=kernel/general +export RELATIVE_PATH=kabi-dw/sanity +export PACKAGE=general +export PACKAGE_NAME=general +export PKG_LIST= +export TEST=/kernel/general/kabi-dw/sanity + diff --git a/tests/sanity/common-tests.sh b/tests/sanity/common-tests.sh new file mode 100644 index 0000000..6d2ec7e --- /dev/null +++ b/tests/sanity/common-tests.sh @@ -0,0 +1,148 @@ +if test -z "$MANUAL" +then + export COLOR_NC= + export COLOR_WHITE= + export COLOR_BLACK= + export COLOR_BLUE= + export COLOR_LIGHT_BLUE= + export COLOR_GREEN= + export COLOR_LIGHT_GREEN= + export COLOR_CYAN= + export COLOR_LIGHT_CYAN= + export COLOR_RED= + export COLOR_LIGHT_RED= + export COLOR_PURPLE= + export COLOR_LIGHT_PURPLE= + export COLOR_BROWN= + export COLOR_YELLOW= + export COLOR_GRAY= + export COLOR_LIGHT_GRAY= +else + export COLOR_NC='\e[0m' + export COLOR_WHITE='\e[1;37m' + export COLOR_BLACK='\e[0;30m' + export COLOR_BLUE='\e[0;34m' + export COLOR_LIGHT_BLUE='\e[1;34m' + export COLOR_GREEN='\e[0;32m' + export COLOR_LIGHT_GREEN='\e[1;32m' + export COLOR_CYAN='\e[0;36m' + export COLOR_LIGHT_CYAN='\e[1;36m' + export COLOR_RED='\e[0;31m' + export COLOR_LIGHT_RED='\e[1;31m' + export COLOR_PURPLE='\e[0;35m' + export COLOR_LIGHT_PURPLE='\e[1;35m' + export COLOR_BROWN='\e[0;33m' + export COLOR_YELLOW='\e[1;33m' + export COLOR_GRAY='\e[0;30m' + export COLOR_LIGHT_GRAY='\e[0;37m' +fi + +function pass() +{ + if ! test -z "$MANUAL" + then + echo -en " $COLOR_GRAY$(printf "%0.s-" {1..35})" + echo -en "[ ${COLOR_GREEN}PASS ]" + echo -e "$COLOR_GRAY$(printf "%0.s-" {1..36})$COLOR_NC" + else + rlPass + fi +} + +function fail() +{ + if ! test -z "$MANUAL" + then + echo -en " $COLOR_GRAY$(printf "%0.s-" {1..35})" + echo -en "[ ${COLOR_RED}FAIL ]" + echo -e "$COLOR_GRAY$(printf "%0.s-" {1..36})$COLOR_NC" + else + rlFail + fi +} + +function print_test_case() +{ + if test -z "$MANUAL" + then + return 0 + fi + echo + local msg=" $COLOR_GRAY[${COLOR_BLUE}TEST $1$COLOR_GRAY]" + eval msg="\$msg\$(printf "%0.s-" {1..$[80-${#msg}+${#COLOR_BLUE}+2*${#COLOR_GRAY}]})" + echo -e "$msg$COLOR_NC" +} + +function print_description() +{ + desc=() + eval desc=\(\"\${DESCRIPTION_$1[@]}\"\) + for desc_line in "${desc[@]}" + do + echo " $desc_line" + done + echo +} + +# +# Perform a test +# +# $1 test function +# +function run_test() +{ + rlPhaseStartTest "$1" + + if test $# -eq 0 -o -z $1 + then + rlFail "ERROR: Expected test name to be passed to run_test" \ + "function." >&2 + exit 1 + fi + + local stdout_log="$2" + local stderr_log="$3" + + if test -z $stdout_log -o ! -e $stdout_log + then + rlFail "ERROR: Test inconsistency, STDOUT log file missing or" \ + "non-existent." >&2 + exit 1 + fi + + if test -z $stderr_log -o ! -e $stderr_log + then + rlFail "ERROR: Test inconsistency, STDERR log file missing or" \ + "non-existent." >&2 + exit 1 + fi + + echo > $stdout_log + echo > $stderr_log + + print_test_case "$1" + + $1 "$stdout_log" "$stderr_log" + ret=$? + + print_description "$1" + + if test $ret -eq 0 + then + pass + else + fail + + echo "STDOUT {" + cat $stdout_log + echo "}" + + echo "STDERR {" + cat $stderr_log + echo "}" + + return 1 + fi + + rlPhaseEnd +} diff --git a/tests/sanity/runtest.sh b/tests/sanity/runtest.sh new file mode 100755 index 0000000..4f7565e --- /dev/null +++ b/tests/sanity/runtest.sh @@ -0,0 +1,131 @@ +#!/usr/bin/env bash + +function cleanup() +{ + rlPhaseStartCleanup + rm -rf "${TEMPFILES[@]}" + rlPhaseEnd +} +trap cleanup 0 1 9 15 + +# --- Globals ----------------------------------------------------------------- + +SCRIPT_ROOT="$(dirname "$(realpath "${BASH_SOURCE[0]}")")" + +# A list of temporary files; used by cleanup to delete on signals 0 1 9 15. +TEMPFILES=() + +# A list of dependencies to include. +INCLUDES=() + +# A list of files containing test definitions. +# These are auto-discovered using test-*.sh pattern. +TESTS_FILES=() + +# A list of tests to run. +# These are automatically added by test files. +TESTS=() + +# --- Initialization ---------------------------------------------------------- + +# Requires: restraint-rhts +. /usr/bin/rhts-environment.sh || exit 1 +# Requires: beakerlib +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +INCLUDES+=("$SCRIPT_ROOT/common-tests.sh") + +TESTS_FILES+=("$SCRIPT_ROOT/test-"*".sh") + +# --- bkr journal ------------------------------------------------------------- + +rlJournalStart + +rlPhaseStartSetup + +# --- Load dependencies ------------------------------------------------------- + +for path in ${INCLUDES[@]} ${TESTS_FILES[@]} +do + if ! test -r $path + then + rlFail "Path \`$path' does not exist or is not readable" + exit 1 + fi + source $path && { + rlPass "File \`$(basename "$path")' loaded." + } || { + rlFail "Unable to load \`$path'." + exit 1 + } +done + +# --- Temporary files --------------------------------------------------------- + +echo ":: Initialization: Temporary files." + +__stdout_log=$(mktemp -p /tmp kabidw-test-stdout.XXXXX) +TEMPFILES+=("$__stdout_log") + +__stderr_log=$(mktemp -p /tmp kabidw-test-stderr.XXXXX) +TEMPFILES+=("$__stderr_log") + +# --- Evaluate RPM-specific macros -------------------------------------------- +# This is required not to hardcode kabidw install location should %{_bindir} and +# %{_datadir} be changed. + +echo ":: Initialization: Evaluating RPM macros." + +if test -z "$RPM_BIN_DIR" +then + RPM_BIN_DIR="$(rpm --eval '%{_bindir}')" + echo " * RPM %{_bindir} determined as: $RPM_BIN_DIR" +fi + +if test -z "$RPM_DATA_DIR" +then + RPM_DATA_DIR="$(rpm --eval '%{_datadir}')" + echo " * RPM %{_datadir} determined as: $RPM_DATA_DIR" +fi + +# --- Determine kabidw location -------------------------------------------------- + +if test -z "$KABI_DW_BIN" +then + KABI_DW_BIN="$RPM_BIN_DIR/kabi-dw" + echo ":: kabidw path determined as: $KABI_DW_BIN" +fi + +rlPass "Initialization passed." + +rlPhaseEnd + +# --- Run tests --------------------------------------------------------------- + +overall_status=0 +for test in ${TESTS[@]} +do + run_test $test "$__stdout_log" "$__stderr_log" + if test $? -gt 0 + then + overall_status=1 + fi +done + +rlPhaseStartTest + +if test $overall_status -gt 0 +then + rlFail "Some tests failed." + exit 1 +else + rlPass "All tests passed." +fi +echo + +rlPhaseEnd + +rlJournalPrintText + +rlJournalEnd + diff --git a/tests/sanity/test-kabi-dw.sh b/tests/sanity/test-kabi-dw.sh new file mode 100644 index 0000000..d78c370 --- /dev/null +++ b/tests/sanity/test-kabi-dw.sh @@ -0,0 +1,49 @@ +#!/usr/bin/env sh + +TESTS+=(test_kabidw) + +DESCRIPTION_test_kabidw=( + "Invoke kabi-dw test suite." +) + +function test_kabidw() +{ + local stdout_log="$1" + local stderr_log="$2" + shift 2 + + OLDCWD="$(pwd)" + + tar xf testsuite.tar + cd testsuite + + make clean all KABI_DW="$KABI_DW_BIN" 2> $stderr_log | tee $stdout_log + + # Strip away paths + sed -i 's/^File:.*$//' $(find . -path "*/output/*" -type f -iname "*.txt") + + comm -12 \ + <(find . -type d -iname "output" -exec dirname {} \; | sort | uniq) \ + <(find . -type d -iname "reference" -exec dirname {} \; | sort | uniq) \ + | xargs -I% bash -c '[[ $(grep -rh "^Version:" %/{output,reference}/ | sort | uniq | wc -l) != 1 ]] && { echo "[VERSION MISMATCH] Test Case: $(basename %)"; exit; } ; diff -qr %/{output,reference}/ || false' + + if test $? -gt 0 + then + echo + echo "$? ERROR: failed with non-zero code." + + echo "STDOUT {" + cat $stdout_log + echo "}" + + echo "STDERR {" + cat $stderr_log + echo "}" + + return 1 + fi + + cd "$CWD" + + return 0 +} diff --git a/tests/sanity/testsuite.tar b/tests/sanity/testsuite.tar new file mode 100644 index 0000000000000000000000000000000000000000..010693b9d1af0c629612536234311dab4203cf74 GIT binary patch literal 61440 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 literal 0 HcmV?d00001 diff --git a/tests/tests.yml b/tests/tests.yml new file mode 100644 index 0000000..ba7cb19 --- /dev/null +++ b/tests/tests.yml @@ -0,0 +1,18 @@ +- hosts: localhost + tags: + - classic + roles: + - role: standard-test-beakerlib + tests: + - sanity + required_packages: + - bash + - coreutils + - kernel + - kernel-devel + - kernel-modules + - kernel-abi-whitelists + - xz + - bzip2 + - gzip +