lockdev/Sanity/basic/test.sh
2025-02-25 10:14:36 +01:00

41 lines
1.3 KiB
Bash
Executable file

#!/bin/bash
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
. /usr/share/beakerlib/beakerlib.sh || exit 1
rlJournalStart
rlPhaseStartSetup
rlAssertRpm lockdev
tmpDir=$(pwd)
rlIsRHEL && repos="--enablerepo=rhel-CRB --enablerepo=rhel-buildroot"
rlIsCentOS && repos="--enablerepo=crb"
rlIsRHELLike && rlRun "dnf install -y $(rlGetRecommended) $repos"
rlCheckDependencies
rlRun "tmp=\$(mktemp -d)" 0 "Create tmp directory"
rlRun "pushd $tmp"
rlRun "gcc -o test_lockdev $tmpDir/test_lockdev.c -llockdev"
rlRun "chmod +x test_lockdev"
rlPhaseEnd
rlPhaseStartTest
rlRun "./test_lockdev &> lockdev.log"
rlAssertNotGrep "No tty device found tty" lockdev.log
rlAssertGrep "Device in use" lockdev.log
rlAssertGrep "Device is locked" lockdev.log
rlAssertGrep "Device is unlocked" lockdev.log
rlPhaseEnd
# memory leaks not fixed on rhel8/c8s and fc42 and older
if rlIsRHEL '>=9.6' || rlIsCentOS '>=9' || rlIsFedora '>=43'; then
rlPhaseStartTest "memory leaks check"
rlRun "valgrind --leak-check=full --error-exitcode=1 ./test_lockdev"
rlPhaseEnd
fi
rlPhaseStartCleanup
rlRun "popd"
rlRun "rm -r $tmp" 0 "Remove tmp directory"
rlPhaseEnd
rlJournalEnd