#1 Add CI tests using the standard test interface
Closed 6 years ago by esakaiev. Opened 6 years ago by esakaiev.
git://fedorapeople.org/~esakaiev/kmod kmod_tests  into  master

Adding kmod tests to the kmod_tests branch
esakaiev • 6 years ago  
tests/sanity/Makefile
file added
+81
@@ -0,0 +1,81 @@

+ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

+ #

+ #   Makefile of general/kmod/sanity

+ #	Description: kmod test

+ #

+ #   2016-07-31

+ #   Author: Chunyu Hu <chuhu@redhat.com>

+ #

+ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

+ #

+ #   Copyright (c) 2016 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) _env  runtest.sh Makefile PURPOSE lib.sh

+ 

+ .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:           Chunyu Hu <chuhu@redhat.com>" > $(METADATA)

+ 	@echo "Name:            $(TEST)" >> $(METADATA)

+ 	@echo "TestVersion:     $(TESTVERSION)" >> $(METADATA)

+ 	@echo "Path:            $(TEST_DIR)" >> $(METADATA)

+ 	@echo "Description:     kmod kernel module check from kernel modules tools">> $(METADATA)

+ 	@echo "Type:            Regression" >> $(METADATA)

+ 	@echo "TestTime:        1h" >> $(METADATA)

+ 	@echo "RunFor:          kernel" >> $(METADATA)

+ 	@echo "Requires:        kernel" >> $(METADATA)

+ 	@echo "Requires:        sysstat perf trace-cmd" >> $(METADATA)

+ 	@echo "Requires:        $(PACKAGE_NAME) python rpm wget" >> $(METADATA)

+ 	@echo "Priority:        Normal" >> $(METADATA)

+ 	@echo "License:         GPLv2" >> $(METADATA)

+ 	@echo "Confidential:    no" >> $(METADATA)

+ 	@echo "Destructive:     no" >> $(METADATA)

+ 	@echo "RhtsRequires:    kernel-kernel-general-include" >> $(METADATA)

+ 	rhts-lint $(METADATA)

+ 

tests/sanity/PURPOSE
file added
+4
@@ -0,0 +1,4 @@

+ Defaults to testing currently running kernel modules tools on all architectures.

+ 

+ The test runs on any architecture, check normal kernel modules and compressed kernel modules for sanity

+ 

tests/sanity/_env
file added
+8
@@ -0,0 +1,8 @@

+ #This file was generated automatically,do not manually change it.

+ export TOPLEVEL_NAMESPACE=kernel

+ export PKG_NAMESPACE=kernel/general

+ export RELATIVE_PATH=kmod/sanity

+ export PACKAGE=general

+ export PACKAGE_NAME=general

+ export PKG_LIST=

+ export TEST=/kernel/general/kmod/sanity

tests/sanity/lib.sh
file added
+258
@@ -0,0 +1,258 @@

+ #!/bin/bash

+ 

+ dir_extra=/usr/lib/modules/$(uname -r)/extra

+ dir_updates=/usr/lib/modules/$(uname -r)/updates

+ dir_weak_updates=/usr/lib/modules/$(uname -r)/weak-updates

+ kmods=(base kmod_test_force kmod_test)

+ 

+ function kmod_log_warn()

+ {

+ 	echo "WARN: $*"

+ }

+ 

+ 

+ function kmod_log_pass()

+ {

+ 	echo "PASS: $*"

+ }

+ 

+ function kmod_log_fail()

+ {

+ 	echo "FAIL: $*"

+ }

+ 

+ function kmod_log_info()

+ {

+ 	echo "INFO: $*"

+ }

+ 

+ function kmod_log_err()

+ {

+ 	echo "ERR: $*"

+ }

+ 

+ function kmod_verify_exist()

+ {

+ 	local files=$*

+ 	local ret=0

+ 	local msg=0

+ 	local f=

+ 	for f in $files; do

+ 		if ! test -f $f; then

+ 			ret=$((ret + 1))

+ 			continue

+ 		fi

+ 	done

+ 	return $ret

+ }

+ 

+ function kmod_verify_loaded()

+ {

+ 	local kmods=$*

+ 	local ret=$?

+ 	for kmod in $kmods; do

+ 		lsmod | grep -w ${kmod/.ko/}

+ 		if [ $? -ne 0 ]; then

+ 			ret=$((ret+1))

+ 			continue

+ 		fi

+ 	done

+ 	return $ret

+ }

+ 

+ # tainted should be shown

+ function kmod_verify_dmesg()

+ {

+ 	local str="$1"

+ 	dmesg | grep -i "$str"

+ 	return $?

+ }

+ 

+ function kmod_verify_tainted()

+ {

+ 	local kmod=$1

+ 	shift

+ 	local taint_expect=$*

+ 	local ret=0

+ 	local checker=./parse_taint.sh

+ 	local tainted=$(cat /proc/sys/kernel/tainted)

+ 	kmod_log_info "Kernel taint value: $tainted"

+ 	local flag=

+ 	for flag in $taint_expect; do

+ 		$checker $tainted | grep -we $flag || ret=$((ret + 1))

+ 	done

+ 	return $ret

+ }

+ 

+ function kmod_verify_tainted_module()

+ {

+ 	local kmod=$1

+ 	shift

+ 	local taint_expect="$*"

+ 	local ret=0

+ 

+ 	if ! test -f /sys/module/$kmod/taint; then

+ 		kmod_log_info "Kmod taint value on module $kmod not supported"

+ 		kmod_log_info "$(ls /sys/module/$kmod/)"

+ 		return 0

+ 	fi

+ 

+ 	local kmod_tainted=$(cat /sys/module/$kmod/taint)

+ 	ret=$(( $ret + 1 ))

+ 	kmod_log_info "Kmod taint value: $kmod_tainted"

+ 

+ 	local flag=

+ 	local grep_exec="grep"

+ 	for flag in $*; do

+ 		grep_exec+=" -e $flag"

+ 	done

+ 

+ 	echo "$kmod_tainted" | $grep_exec

+ 	ret=$?

+ 	return $ret

+ }

+ 

+ function kmod_check_result()

+ {

+ 	local opt=$1

+ 	shift 1

+ 	local dir=$1

+ 	shift 1

+ 	local files=$*

+ 	case $opt in

+ 		compile)

+ 		for f in $files; do

+ 			if kmod_verify_exist $dir/$f; then

+ 				kmod_log_pass "File exist: $dir/$f"

+ 			else

+ 				kmod_log_fail "File does not exist: $dir/$f"

+ 				return 1

+ 			fi

+ 		done

+ 		;;

+ 		load)

+ 		for f in $files; do

+ 			if kmod_verify_loaded $f; then

+ 				kmod_log_fail $f not loaded

+ 				return 1

+ 			else

+ 				kmod_log_pass $f loaded

+ 			fi

+ 		done

+ 		;;

+ 		unload)

+ 		for f in $files; do

+ 			if ! kmod_verify_loaded $f; then

+ 				kmod_log_fail $f unloaded

+ 				return 1

+ 			else

+ 				kmod_log_pass $f not loaded

+ 			fi

+ 		done

+ 		;;

+ 		*)

+ 		;;

+ 	esac

+ 	return 0

+ }

+ 

+ # Locate the compiled kmods into several dirs for different

+ # tests.

+ function kmod_locate_extra()

+ {

+ 	local ret=0

+ 	if ! test -d $dir_extra; then

+ 		kmod_log_warn "$dir_extra does not exist."

+ 		return 1

+ 	fi

+ 	local f=

+ 	for f in $*; do

+ 		cp -f $f $dir_extra || ret=$((ret + 1))

+ 	done

+ 	depmod || ret=$((ret+1))

+ 	return $ret

+ }

+ 

+ function kmod_locate_updates()

+ {

+ 	local ret=0

+ 	if ! test -d $dir_updates; then

+ 		kmod_log_warn "$dir_updates does not exist."

+ 		return 1

+ 	fi

+ 	for f in $*; do

+ 		cp -f $f $dir_updates || ret=$((ret + 1))

+ 	done

+ 	depmod || ret=$((ret+1))

+ 	return $ret

+ }

+ 

+ function kmod_locate_weak_updates()

+ {

+ 	local ret=0

+ 	if ! test -d $dir_weak_updates; then

+ 		kmod_log_warn "$dir_weak_updates does not exist."

+ 		return 1

+ 	fi

+ 	for f in $*; do

+ 		cp -f $f $dir_weak_updates || ret=$((ret + 1))

+ 	done

+ 	depmod || ret=$((ret+1))

+ 	return $ret

+ }

+ 

+ function kmod_cleanup_all()

+ {

+ 	local ret=$?

+ 	for ko in ${kmod[*]}; do

+ 		test -f $dir_extra/${ko}.ko && rm -r $dir_extra/${ko}.ko

+ 		test -f $dir_weak_updates/${ko}.ko && rm -r $dir_weak_updates/${ko}.ko

+ 		test -f $dir_updates/${ko}.ko && rm -r $dir_extra/${ko}.ko

+ 	done

+ }

+ 

+ # The kmods should be loaded now.

+ function kmod_check_all_loaded()

+ {

+ 	local ret=$?

+ 	lsmod | grep base -w

+ 	ret=$(($ret + $?))

+ 	lsmod | grep -w kmod_test_dependency

+ 	ret=$(($ret + $?))

+ 	lsmod | grep -w kmod_test_force

+ 	ret=$(($ret + $?))

+ 	return $ret

+ }

+ 

+ function kmod_unload_all()

+ {

+ 	local ret=0

+ 	lsmod | grep -w kmod_test_force && rmmod kmod_test_force

+ 	lsmod | grep -w base && rmmod base

+ 	! lsmod | grep -w base

+ 	ret=$(($ret | $?))

+ 	! lsmod | grep -w kmod_test_force

+ 	ret=$(($ret | $?))

+ 	return $ret

+ }

+ 

+ 

+ function kmod_load_all()

+ {

+ 	local kmod=

+ 	kmod_unload_all || return $?

+ 	for kmod in $*; do

+ 		modprobe $kmod || return $?

+ 	done

+ }

+ 

+ function kmod_load_all_force()

+ {

+ 	local kmod=

+ 	kmod_unload_all || return $?

+ 	for kmod in $*; do

+ 		modprobe -f $kmod || return $?

+ 		dmesg | tail -n 10

+ 	done

+ }

+ 

tests/sanity/parse_taint.sh
file added
+70
@@ -0,0 +1,70 @@

+ # /bin/bash

+ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

+ #   Copyright (c) 2015 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.

+ #

+ #   Author: Chunyu Hu <chuhu@redhat.com>

+ #

+ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

+ 

+ taint_mask=(

+         [0]="P  (G=Gnu)TAINT_PROPRIETARY_MODULE"

+         [1]="F  TAINT_FORCED_MODULE"

+         [2]="S  TAINT_UNSAFE_SMP"

+         [3]="R  TAINT_FORCED_RMMOD"

+         [4]="M  TAINT_MACHINE_CHECK"

+         [5]="B  TAINT_BAD_PAGE"

+         [6]="U  TAINT_USER"

+         [7]="D  TAINT_DIE"

+         [8]="A  TAINT_OVERRIDDEN_ACPI_TABLE"

+         [9]="W  TAINT_WARN"

+         [10]="C TAINT_CRAP"

+         [11]="I TAINT_FIRMWARE_WORKAROUND"

+         [12]="O TAINT_OOT_MODULE [RHEL7 ONLY]"

+         [13]="E TAINT_UNSIGNED_MODULE"

+         [14]="L TAINT_SOFTLOCKUP"

+         [15]="K TAINT_LIVEPATCH"

+         [16]="? TAINT_16"

+         [17]="? TAINT_17"

+         [18]="? TAINT_18"

+         [19]="? TAINT_19"

+         [20]="? TAINT_20"

+         [21]="? TAINT_21"

+         [22]="? TAINT_22"

+         [23]="? TAINT_23"

+         [24]="? TAINT_24"

+         [25]="? TAINT_25"

+         [26]="? TAINT_26"

+         [27]="? TAINT_BIT_BY_ZOMBIE"

+         [28]="H TAINT_HARDWARE_UNSUPPORTED"

+         [29]="T TAINT_TECH_PREVIEW"

+         [30]="? TAINT_RESERVED30"

+         [31]="? TAINT_RESERVED31"

+ )

+ 

+ function parse_taint(){

+         for mask in ${!taint_mask[*]};do

+                 if (( ((1<<mask)) & taint_val )); then

+                         echo "bit$mask:         $((1<<mask))            ${taint_mask[$mask]}" |

+                         awk '{printf "%-7s %-13s %-5s %s\n", $1 ,$2, $3, $4, $5, $6}'

+                 fi

+         done

+ }

+ 

+ echo "Input: $taint_val"

+ taint_val=${1:-$(cat /proc/sys/kernel/tainted)}

+ parse_taint "$taint_val" | awk 'BEGIN{sum=0}{sum+=$2;print}END{printf "Sum: ";print sum}'

+ 

tests/sanity/runtest.sh
file added
+127
@@ -0,0 +1,127 @@

+ #!/bin/bash

+ # vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k

+ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

+ #

+ #   runtest.sh of kmod/sanity

+ #   Description: Checking the basic function of kmod

+ #   Author: Shaohui Deng <shdeng@redhat.com>

+ #   Author: Chunyu Hu <chuhu@redhat.com>

+ #   Update: Ziqian SUN <zsun@redhat.com>

+ #

+ # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

+ #

+ #   Copyright (c) 2015 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/bin/rhts-environment.sh || exit 1

+ . /usr/share/beakerlib/beakerlib.sh || exit 1

+ . lib.sh

+ 

+ PACKAGE="kmod"

+ if [ -z $TESTARGS ]; then

+ export TESTARGS=$(rpm -q --queryformat '%{version}-%{release}\n' -qf /boot/config-$(uname -r))

+ fi

+ name=kernel

+ version=$(echo $TESTARGS | awk 'BEGIN {FS="-"} {print $1 }')

+ release=$(echo $TESTARGS | awk 'BEGIN {FS="-"} {print $2 }')

+ DEBUG=0

+ result=FAIL

+ FAIL=0

+ PASS=0

+ arch=`uname -m`

+ 

+ export TESTS=${TESTS:-kmod_load_insmod kmod_load_modprobe kmod_modinfo}

+ 

+ # Functions

+ function kmod_load_insmod()

+ {

+     local m

+     for m in ${existed_unloaded}; do

+         #local m_name=$(basename ${m//.ko}) won't work for compressed kmod

+         local m_name=$(basename ${m} | sed "s/.ko//;s/.xz//;s/.gz//")

+         rlRun "insmod $mod_path/$m"

+         rlRun "lsmod | grep ${m_name}"

+         rlRun "rmmod ${m_name}"

+         rlRun "lsmod | grep ${m_name}" 1-255

+     done

+ }

+ 

+ function kmod_load_modprobe()

+ {

+     rlRun "modprobe tea"

+     rlRun "modprobe -r tea"

+ }

+ 

+ function kmod_modinfo()

+ {

+     for m in ${existed_unloaded}; do

+         local m_name=$(basename ${m} | sed "s/.ko//;s/.xz//;s/.gz//")

+         rlRun "modinfo -l $m_name"

+     done

+ }

+ 

+ RunKmod() {

+     local tests

+     for tests in $@; do

+         rlPhaseStartTest $tests

+         case $tests in

+             load_unload_kernel_modules)

+             load_unload_kernl_modules_func

+             ;;

+             load_unload_compressed_kernel_modules)

+             load_unload_compressed_kernel_module_func

+             ;;

+             *)

+             $tests

+             ;;

+         esac

+         rlPhaseEnd

+     done

+ }

+ 

+ rlJournalStart

+     rlPhaseStartSetup

+         mod_list="/kernel/crypto/tgr192.ko /kernel/net/wireless/lib80211.ko /kernel/net/wireless/ath/ath9k/ath9k.ko /kernel/crypto/tgr192.ko.xz /kernel/net/wireless/lib80211.ko.xz /kernel/net/wireless/ath/ath9k/ath9k.ko.xz"

+         if [[ -L /lib && -d /lib ]]; then

+             mod_path=/usr/lib/modules/`uname -r`/

+         else

+             mod_path=/lib/modules/`uname -r`/

+         fi

+         existed_unloaded=""

+         local m

+         for m in ${mod_list}; do

+             test -f $mod_path/$m && existed_unloaded+="$m "

+         done

+         [ -z "$existed_unloaded" ] && rlDie "There is no right module path to use : $mod_list"

+     rlPhaseEnd

+ 

+     rlPhaseStartTest

+         RunKmod $TESTS

+     rlPhaseEnd

+ 

+     rlPhaseStartTest "Modprobe with wrong parameter"

+         rlRun -l "modprobe $wparam BADPARAM=this_should_fail" 0-1

+         rlRun -l "dmesg | grep -i 'Unknown parameter' | grep 'BADPARAM' | grep '$wparam'"

+     rlPhaseEnd

+ 

+     rlPhaseStartCleanup

+     rlPhaseEnd

+ 

+     rlJournalPrintText

+ rlJournalEnd

+ 

tests/tests.yml
file added
+13
@@ -0,0 +1,13 @@

+ - hosts: localhost

+   tags:

+   - classic

+   roles:

+   - role: standard-test-beakerlib

+     tests:

+     - sanity

+     required_packages:

+     - kernel

+     - perf

+     - sysstat

+     - trace-cmd

+ 

no initial comment

Justification

Adds tests according to the CI wiki specifically the standard test interface in the spec.

The playbook includes Tier1 level test cases that have been tested in the following contexts and is passing reliably: Classic and Container Test logs are stored in the artifacts directory.

The following steps are used to execute the tests using the standard test interface:

There are 2 issues opened:
test requires kernel-kernel-general-include package that is not available
Commit fd10b3d (modprobe with wrong parameter) fails with Fedora, works on rhel 7

Test environment

Make sure you have installed packages from the spec

    # rpm -q ansible python2-dnf libselinux-python standard-test-roles \
    ansible-2.3.2.0-1.fc26.noarch \
    python2-dnf-2.6.3-11.fc26.noarch \
    libselinux-python-2.6-7.fc26.x86_64 \
    standard-test-roles-2.4-1.fc26.noarch

Run tests for Classic

    # export TEST_SUBJECTS=
    # sudo ansible-playbook --tags=classic tests.yml

Snip of the example test run for Classic tests:

    tests.yml includes required_packages: kernel-kernel-general-include, [issue](https://upstreamfirst.fedorainfracloud.org/kmod/issue/6)
    An exception occurred during task execution. To see the full traceback, use -vvv. The error was: dnf.exceptions.MarkingError: no package matched
    failed: [localhost] (item=kernel-kernel-general-include) => {"changed": false, "failed": true, "item": "kernel-kernel-general-include", "module_stderr": "Traceback (most recent call last):\n  File \"/tmp/    ansible_2RDmfq/ansible_module_dnf.py\", line 534, in <module>\n    main()\n  File \"/tmp/ansible_2RDmfq/ansible_module_dnf.py\", line 530, in main\n    ensure(module, base, params['state'], params    ['name'], params['autoremove'])\n  File \"/tmp/ansible_2RDmfq/ansible_module_dnf.py\", line 414, in ensure\n    base.install(pkg_spec)\n  File \"/usr/lib/python2.7/site-packages/dnf/base.py\", line 1720, in  install\n    raise dnf.exceptions.MarkingError(_('no package matched'), pkg_spec)\ndnf.exceptions.MarkingError: no package matched\n", "module_stdout": "", "msg": "MODULE FAILURE", "rc": 0}
    ok: [localhost] => (item=perf)
    ok: [localhost] => (item=sysstat)
    ok: [localhost] => (item=trace-cmd)
    to retry, use: --limit @/home/fedora/kmod/tests.retry

    PLAY RECAP ********************************************************************************************************************************************************************************************************
    localhost                  : ok=6    changed=1    unreachable=0    failed=1   


      - without ernel-kernel-general-include require package: 
    ASK [standard-test-beakerlib : Check the results] ****************************************************************************************************************************************************************
    fatal: [localhost]: FAILED! => {"changed": true, "cmd": "grep \"^FAIL\" /tmp/artifacts/test.log", "delta": "0:00:01.003278", "end": "2017-10-26 15:10:41.078857", "failed": true, "failed_when_result": true, "rc": 0, "start": "2017-10-26 15:10:40.075579", "stderr": "", "stderr_lines": [], "stdout": "FAIL sanity\nFAIL sanity\nFAIL sanity\nFAIL sanity", "stdout_lines": ["FAIL sanity", "FAIL sanity", "FAIL sanity", "FAIL sanity"]}
        to retry, use: --limit @/home/fedora/kmod/tests.retry

    PLAY RECAP ********************************************************************************************************************************************************************************************************
    localhost                  : ok=14   changed=7    unreachable=0    failed=1   

    cat test.sanity.log

    :: [   FAIL   ] :: Command 'modprobe arc4 BADPARAM=this_should_fail' (Expected 1, got 0)
    :: [   FAIL   ] :: RESULT: sanity

There are 2 issues opened:
https://upstreamfirst.fedorainfracloud.org/kmod/issues

Regards,
Eduard

1 new commit added

  • changed shebang for lib.sh
6 years ago

rebased onto b23e1a6

6 years ago

Kmod tests had been moved already from upstreamfirst, going to close the PR.
I have retested it and all tests passed under Fedora_27 and Rawhide.

Regards,
Eduard

Pull-Request has been closed by esakaiev

6 years ago