psss / rpms / libselinux

Forked from rpms/libselinux 5 years ago
Clone
aba7ab1
#!/bin/bash
aba7ab1
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
aba7ab1
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
aba7ab1
#
aba7ab1
#   runtest.sh of /CoreOS/libselinux/Sanity/selinux_restorecon-functions
aba7ab1
#   Description: Test functions in selinux_restorecon.c
aba7ab1
#   Author: Jan Zarsky <jzarsky@redhat.com>
aba7ab1
#
aba7ab1
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
aba7ab1
#
aba7ab1
#   Copyright (c) 2016 Red Hat, Inc.
aba7ab1
#
aba7ab1
#   This program is free software: you can redistribute it and/or
aba7ab1
#   modify it under the terms of the GNU General Public License as
aba7ab1
#   published by the Free Software Foundation, either version 2 of
aba7ab1
#   the License, or (at your option) any later version.
aba7ab1
#
aba7ab1
#   This program is distributed in the hope that it will be
aba7ab1
#   useful, but WITHOUT ANY WARRANTY; without even the implied
aba7ab1
#   warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
aba7ab1
#   PURPOSE.  See the GNU General Public License for more details.
aba7ab1
#
aba7ab1
#   You should have received a copy of the GNU General Public License
aba7ab1
#   along with this program. If not, see http://www.gnu.org/licenses/.
aba7ab1
#
aba7ab1
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
aba7ab1
aba7ab1
# Include Beaker environment
aba7ab1
. /usr/bin/rhts-environment.sh || exit 1
aba7ab1
. /usr/share/beakerlib/beakerlib.sh || exit 1
aba7ab1
aba7ab1
PACKAGE="libselinux"
aba7ab1
aba7ab1
function createTestFiles {
aba7ab1
    rlLogInfo "Creating testing files"
aba7ab1
aba7ab1
    TmpDir="/home/user/testdir"
aba7ab1
    rlRun "mkdir $TmpDir"
aba7ab1
aba7ab1
    rlRun "pushd $TmpDir"
aba7ab1
aba7ab1
    rlRun "mkdir -p a/b"
aba7ab1
aba7ab1
    rlRun "touch afile"
aba7ab1
    rlRun "touch a/bfile"
aba7ab1
    rlRun "touch a/b/cfile"
aba7ab1
    
aba7ab1
    rlRun "popd"
aba7ab1
}
aba7ab1
aba7ab1
function changeContext {
aba7ab1
    rlLogInfo "Changing context of testing files"
aba7ab1
aba7ab1
    rlRun "pushd $TmpDir"
aba7ab1
aba7ab1
    rlRun "chcon -t var_log_t ." 
aba7ab1
    rlRun "chcon -t var_log_t a"
aba7ab1
    rlRun "chcon -t var_log_t a/b"
aba7ab1
    rlRun "chcon -t var_log_t afile"
aba7ab1
    rlRun "chcon -t var_log_t a/bfile"
aba7ab1
    rlRun "chcon -t var_log_t a/b/cfile"
aba7ab1
    
aba7ab1
    rlRun "popd"
aba7ab1
}
aba7ab1
aba7ab1
function deleteTestFiles {
aba7ab1
    rlLogInfo "Deleting testing files"
aba7ab1
aba7ab1
    rlRun "rm -rf $TmpDir"
aba7ab1
}
aba7ab1
aba7ab1
rlJournalStart
aba7ab1
    rlPhaseStartSetup
aba7ab1
        rlAssertRpm ${PACKAGE}
aba7ab1
        rlAssertRpm ${PACKAGE}-devel
aba7ab1
        rlAssertRpm "glibc"
aba7ab1
        rlAssertRpm "strace"
aba7ab1
aba7ab1
        rlRun -l "gcc test_restorecon.c -o test_restorecon -lselinux -pedantic -Wall -Wextra -std=c99"
aba7ab1
        rlRun -l "gcc test_exclude_list.c -o test_exclude_list -lselinux -pedantic -Wall -Wextra -std=c99"
aba7ab1
        rlRun -l "gcc test_sehandle.c -o test_sehandle -lselinux -pedantic -Wall -Wextra -std=c99"
aba7ab1
aba7ab1
        rlRun "useradd user"
aba7ab1
    rlPhaseEnd
aba7ab1
aba7ab1
    rlPhaseStartTest "test call"
aba7ab1
        createTestFiles
aba7ab1
aba7ab1
        rlRun "./test_restorecon $TmpDir" 0 "Calling selinux_restorecon"
aba7ab1
aba7ab1
        deleteTestFiles
aba7ab1
    rlPhaseEnd
aba7ab1
aba7ab1
    rlPhaseStartTest "test call with flags"
aba7ab1
        createTestFiles
aba7ab1
aba7ab1
        rlRun "./test_restorecon $TmpDir IGNORE_DIGEST IGNORE_DIGEST NOCHANGE VERBOSE PROGRESS RECURSE \
aba7ab1
            SET_SPECFILE_CTX REALPATH XDEV" 0 "Calling selinux_restorecon with all flags"
aba7ab1
aba7ab1
        deleteTestFiles
aba7ab1
    rlPhaseEnd
aba7ab1
aba7ab1
    rlPhaseStartTest "invalid path"
aba7ab1
        rlRun "./test_restorecon EMPTY" 255 "Calling selinux_restorecon with empty path"
aba7ab1
aba7ab1
        # should probably return both 139 (segfault) or 255, but it is not so important
aba7ab1
        rlRun "./test_restorecon NULL" 139,255 "Calling selinux_restorecon with null as path"
aba7ab1
        rlRun "./test_restorecon NULL REALPATH" 139,255 "Calling selinux_restorecon with null as path and REALPATH flag"
aba7ab1
        
aba7ab1
        rlRun "./test_restorecon /nonexistent" 255 "Calling selinux_restorecon with nonexisting path"
aba7ab1
    rlPhaseEnd
aba7ab1
aba7ab1
    rlPhaseStartTest "no flags"
aba7ab1
        createTestFiles
aba7ab1
        changeContext
aba7ab1
aba7ab1
        rlRun "strace -ostrace.out -s 64 ./test_restorecon $TmpDir" 0 "Calling selinux_restorecon"
aba7ab1
aba7ab1
        rlLogInfo "Checking lgetxattr calls"
aba7ab1
        rlRun "grep lgetxattr strace.out | grep security.selinux > strace_xattr.out"
aba7ab1
aba7ab1
        rlRun "grep \"\\\"$TmpDir\\\"\"             strace_xattr.out | grep var_log_t"
aba7ab1
        rlRun "grep \"\\\"$TmpDir/a\\\"\"           strace_xattr.out | grep var_log_t" 1
aba7ab1
        rlRun "grep \"\\\"$TmpDir/afile\\\"\"       strace_xattr.out | grep var_log_t" 1
aba7ab1
        rlRun "grep \"\\\"$TmpDir/a/b\\\"\"         strace_xattr.out | grep var_log_t" 1
aba7ab1
        rlRun "grep \"\\\"$TmpDir/a/bfile\\\"\"     strace_xattr.out | grep var_log_t" 1
aba7ab1
        rlRun "grep \"\\\"$TmpDir/a/b/cfile\\\"\"   strace_xattr.out | grep var_log_t" 1
aba7ab1
        
aba7ab1
        rlLogInfo "Checking lsetxattr calls"
aba7ab1
        rlRun "grep lsetxattr strace.out | grep security.selinux > strace_xattr.out"
aba7ab1
aba7ab1
        rlRun "grep \"\\\"$TmpDir\\\"\"             strace_xattr.out | grep user_home_t"
aba7ab1
        rlRun "grep \"\\\"$TmpDir/a\\\"\"           strace_xattr.out | grep user_home_t" 1
aba7ab1
        rlRun "grep \"\\\"$TmpDir/afile\\\"\"       strace_xattr.out | grep user_home_t" 1
aba7ab1
        rlRun "grep \"\\\"$TmpDir/a/b\\\"\"         strace_xattr.out | grep user_home_t" 1
aba7ab1
        rlRun "grep \"\\\"$TmpDir/a/bfile\\\"\"     strace_xattr.out | grep user_home_t" 1
aba7ab1
        rlRun "grep \"\\\"$TmpDir/a/b/cfile\\\"\"   strace_xattr.out | grep user_home_t" 1
aba7ab1
aba7ab1
        rlRun "rm -f strace.out"
aba7ab1
        rlRun "rm -f strace_xattr.out"
aba7ab1
aba7ab1
        deleteTestFiles
aba7ab1
    rlPhaseEnd
aba7ab1
aba7ab1
    rlPhaseStartTest "RECURSE flag"
aba7ab1
        createTestFiles
aba7ab1
        changeContext
aba7ab1
aba7ab1
        rlRun "strace -ostrace.out -s 64 ./test_restorecon $TmpDir RECURSE" 0 "Calling selinux_restorecon with RECURSE flag"
aba7ab1
aba7ab1
        rlLogInfo "Checking lgetxattr calls"
aba7ab1
        rlRun "grep lgetxattr strace.out | grep security.selinux > strace_xattr.out"
aba7ab1
aba7ab1
        rlRun "grep \"\\\"$TmpDir\\\"\"             strace_xattr.out | grep var_log_t"
aba7ab1
        rlRun "grep \"\\\"$TmpDir/a\\\"\"           strace_xattr.out | grep var_log_t"
aba7ab1
        rlRun "grep \"\\\"$TmpDir/afile\\\"\"       strace_xattr.out | grep var_log_t"
aba7ab1
        rlRun "grep \"\\\"$TmpDir/a/b\\\"\"         strace_xattr.out | grep var_log_t"
aba7ab1
        rlRun "grep \"\\\"$TmpDir/a/bfile\\\"\"     strace_xattr.out | grep var_log_t"
aba7ab1
        rlRun "grep \"\\\"$TmpDir/a/b/cfile\\\"\"   strace_xattr.out | grep var_log_t"
aba7ab1
aba7ab1
        rlLogInfo "Checking lsetxattr calls"
aba7ab1
        rlRun "grep lsetxattr strace.out | grep security.selinux > strace_xattr.out"
aba7ab1
aba7ab1
        rlRun "grep \"\\\"$TmpDir\\\"\"             strace_xattr.out | grep user_home_t"
aba7ab1
        rlRun "grep \"\\\"$TmpDir/a\\\"\"           strace_xattr.out | grep user_home_t"
aba7ab1
        rlRun "grep \"\\\"$TmpDir/afile\\\"\"       strace_xattr.out | grep user_home_t"
aba7ab1
        rlRun "grep \"\\\"$TmpDir/a/b\\\"\"         strace_xattr.out | grep user_home_t"
aba7ab1
        rlRun "grep \"\\\"$TmpDir/a/bfile\\\"\"     strace_xattr.out | grep user_home_t"
aba7ab1
        rlRun "grep \"\\\"$TmpDir/a/b/cfile\\\"\"   strace_xattr.out | grep user_home_t"
aba7ab1
aba7ab1
        rlRun "rm -f strace.out"
aba7ab1
        rlRun "rm -f strace_xattr.out"
aba7ab1
aba7ab1
        deleteTestFiles
aba7ab1
    rlPhaseEnd
aba7ab1
aba7ab1
    rlPhaseStartTest "NOCHANGE flag"
aba7ab1
        createTestFiles
aba7ab1
        changeContext
aba7ab1
aba7ab1
        rlRun "strace -ostrace.out -s 64 ./test_restorecon $TmpDir RECURSE NOCHANGE" 0 "Calling selinux_restorecon with NOCHANGE flag"
aba7ab1
aba7ab1
        rlLogInfo "Checking lsetxattr calls"
aba7ab1
        rlRun "grep lsetxattr strace.out" 1
aba7ab1
aba7ab1
        rlRun "rm -f strace.out"
aba7ab1
aba7ab1
        deleteTestFiles
aba7ab1
    rlPhaseEnd
aba7ab1
aba7ab1
    rlPhaseStartTest "/sys directory"
aba7ab1
        # directory that supports security.restorecon_last xattr
aba7ab1
        rlRun "strace -ostrace.out -s 64 ./test_restorecon /var/log RECURSE NOCHANGE" 0 "Calling selinux_restorecon on /tmp"
aba7ab1
aba7ab1
        rlRun "grep security.restorecon_last strace.out" 0
aba7ab1
aba7ab1
        # directory that does not supports security.restorecon_last xattr
aba7ab1
        rlRun "strace -ostrace.out -s 64 ./test_restorecon /sys RECURSE NOCHANGE" 0 "Calling selinux_restorecon on /sys"
aba7ab1
aba7ab1
        rlRun "grep security.restorecon_last strace.out" 1
aba7ab1
aba7ab1
        rlRun "rm -f strace.out"
aba7ab1
    rlPhaseEnd
aba7ab1
aba7ab1
    rlPhaseStartTest "no IGNORE_DIGEST flag"
aba7ab1
        createTestFiles
aba7ab1
aba7ab1
        # run restorecon first time
aba7ab1
        rlRun "strace -ostrace.out -s 64 ./test_restorecon $TmpDir RECURSE" 0 "Calling selinux_restorecon for the first time"
aba7ab1
aba7ab1
        rlLogInfo "Checking lgetxattr calls"
aba7ab1
        rlRun "grep lgetxattr strace.out | grep security.selinux > strace_xattr.out"
aba7ab1
aba7ab1
        rlRun "grep \"\\\"$TmpDir\\\"\"             strace_xattr.out"
aba7ab1
        rlRun "grep \"\\\"$TmpDir/a\\\"\"           strace_xattr.out"
aba7ab1
        rlRun "grep \"\\\"$TmpDir/afile\\\"\"       strace_xattr.out"
aba7ab1
        rlRun "grep \"\\\"$TmpDir/a/b\\\"\"         strace_xattr.out"
aba7ab1
        rlRun "grep \"\\\"$TmpDir/a/bfile\\\"\"     strace_xattr.out"
aba7ab1
        rlRun "grep \"\\\"$TmpDir/a/b/cfile\\\"\"   strace_xattr.out"
aba7ab1
aba7ab1
        # run restorecon second time
aba7ab1
        rlRun "strace -ostrace.out -s 64 ./test_restorecon $TmpDir RECURSE" 0 "Calling selinux_restorecon for the second time"
aba7ab1
aba7ab1
        rlLogInfo "Checking lgetxattr calls"
aba7ab1
        rlRun "grep lgetxattr strace.out | grep security.selinux" 1
aba7ab1
aba7ab1
        rlRun "rm -f strace.out"
aba7ab1
        rlRun "rm -f strace_xattr.out"
aba7ab1
aba7ab1
        deleteTestFiles
aba7ab1
    rlPhaseEnd
aba7ab1
aba7ab1
    rlPhaseStartTest "IGNORE_DIGEST flag"
aba7ab1
        createTestFiles
aba7ab1
aba7ab1
        # run restorecon first time
aba7ab1
        rlRun "strace -ostrace.out -s 64 ./test_restorecon $TmpDir RECURSE" 0 "Calling selinux_restorecon for the first time"
aba7ab1
aba7ab1
        rlLogInfo "Checking lgetxattr calls"
aba7ab1
        rlRun "grep lgetxattr strace.out | grep security.selinux > strace_xattr.out"
aba7ab1
aba7ab1
        rlRun "grep \"\\\"$TmpDir\\\"\"             strace_xattr.out"
aba7ab1
        rlRun "grep \"\\\"$TmpDir/a\\\"\"           strace_xattr.out"
aba7ab1
        rlRun "grep \"\\\"$TmpDir/afile\\\"\"       strace_xattr.out"
aba7ab1
        rlRun "grep \"\\\"$TmpDir/a/b\\\"\"         strace_xattr.out"
aba7ab1
        rlRun "grep \"\\\"$TmpDir/a/bfile\\\"\"     strace_xattr.out"
aba7ab1
        rlRun "grep \"\\\"$TmpDir/a/b/cfile\\\"\"   strace_xattr.out"
aba7ab1
aba7ab1
        # run restorecon second time
aba7ab1
        rlRun "strace -ostrace.out -s 64 ./test_restorecon $TmpDir RECURSE IGNORE_DIGEST" 0 "Calling selinux_restorecon for the second time"
aba7ab1
aba7ab1
        rlLogInfo "Checking lgetxattr calls"
aba7ab1
        rlRun "grep lgetxattr strace.out | grep security.selinux > strace_xattr.out"
aba7ab1
aba7ab1
        rlRun "grep \"\\\"$TmpDir\\\"\"             strace_xattr.out"
aba7ab1
        rlRun "grep \"\\\"$TmpDir/a\\\"\"           strace_xattr.out"
aba7ab1
        rlRun "grep \"\\\"$TmpDir/afile\\\"\"       strace_xattr.out"
aba7ab1
        rlRun "grep \"\\\"$TmpDir/a/b\\\"\"         strace_xattr.out"
aba7ab1
        rlRun "grep \"\\\"$TmpDir/a/bfile\\\"\"     strace_xattr.out"
aba7ab1
        rlRun "grep \"\\\"$TmpDir/a/b/cfile\\\"\"   strace_xattr.out"
aba7ab1
aba7ab1
        rlRun "rm -f strace.out"
aba7ab1
        rlRun "rm -f strace_xattr.out"
aba7ab1
aba7ab1
        deleteTestFiles
aba7ab1
    rlPhaseEnd
aba7ab1
aba7ab1
    rlPhaseStartTest "selinux_restorecon_set_exclude_list"
aba7ab1
        createTestFiles
aba7ab1
aba7ab1
        # empty exclude list
aba7ab1
        rlRun "strace -ostrace.out -s 64 ./test_exclude_list EMPTY $TmpDir" 0 "Calling selinux_restorecon_set_exclude_list with empty list"
aba7ab1
aba7ab1
        rlLogInfo "Checking lgetxattr calls"
aba7ab1
        rlRun "grep lgetxattr strace.out | grep security.selinux > strace_xattr.out"
aba7ab1
aba7ab1
        rlRun "grep \"\\\"$TmpDir\\\"\"             strace_xattr.out"
aba7ab1
        rlRun "grep \"\\\"$TmpDir/a\\\"\"           strace_xattr.out"
aba7ab1
        rlRun "grep \"\\\"$TmpDir/afile\\\"\"       strace_xattr.out"
aba7ab1
        rlRun "grep \"\\\"$TmpDir/a/b\\\"\"         strace_xattr.out"
aba7ab1
        rlRun "grep \"\\\"$TmpDir/a/bfile\\\"\"     strace_xattr.out"
aba7ab1
        rlRun "grep \"\\\"$TmpDir/a/b/cfile\\\"\"   strace_xattr.out"
aba7ab1
aba7ab1
        # null as list
aba7ab1
        if rlIsFedora ">=26"; then
aba7ab1
            rlRun "strace -ostrace.out -s 64 ./test_exclude_list NULL $TmpDir" 139 "Calling selinux_restorecon_set_exclude_list with null as list"
aba7ab1
        else
aba7ab1
            rlRun "strace -ostrace.out -s 64 ./test_exclude_list NULL $TmpDir" 0 "Calling selinux_restorecon_set_exclude_list with null as list"
aba7ab1
aba7ab1
            rlLogInfo "Checking lgetxattr calls"
aba7ab1
            rlRun "grep lgetxattr strace.out | grep security.selinux > strace_xattr.out"
aba7ab1
aba7ab1
            rlRun "grep \"\\\"$TmpDir\\\"\"             strace_xattr.out"
aba7ab1
            rlRun "grep \"\\\"$TmpDir/a\\\"\"           strace_xattr.out"
aba7ab1
            rlRun "grep \"\\\"$TmpDir/afile\\\"\"       strace_xattr.out"
aba7ab1
            rlRun "grep \"\\\"$TmpDir/a/b\\\"\"         strace_xattr.out"
aba7ab1
            rlRun "grep \"\\\"$TmpDir/a/bfile\\\"\"     strace_xattr.out"
aba7ab1
            rlRun "grep \"\\\"$TmpDir/a/b/cfile\\\"\"   strace_xattr.out"
aba7ab1
        fi
aba7ab1
aba7ab1
        # exclude $TmpDir/a
aba7ab1
        rlRun "strace -ostrace.out -s 64 ./test_exclude_list $TmpDir/a $TmpDir" 0 "Calling selinux_restorecon_set_exclude_list"
aba7ab1
aba7ab1
        rlLogInfo "Checking lgetxattr calls"
aba7ab1
        rlRun "grep lgetxattr strace.out | grep security.selinux > strace_xattr.out"
aba7ab1
aba7ab1
        rlRun "grep \"\\\"$TmpDir\\\"\"             strace_xattr.out"
aba7ab1
        rlRun "grep \"\\\"$TmpDir/a\\\"\"           strace_xattr.out" 1
aba7ab1
        rlRun "grep \"\\\"$TmpDir/afile\\\"\"       strace_xattr.out"
aba7ab1
        rlRun "grep \"\\\"$TmpDir/a/b\\\"\"         strace_xattr.out" 1
aba7ab1
        rlRun "grep \"\\\"$TmpDir/a/bfile\\\"\"     strace_xattr.out" 1
aba7ab1
        rlRun "grep \"\\\"$TmpDir/a/b/cfile\\\"\"   strace_xattr.out" 1
aba7ab1
aba7ab1
        rlRun "rm -f strace.out"
aba7ab1
        rlRun "rm -f strace_xattr.out"
aba7ab1
aba7ab1
        deleteTestFiles
aba7ab1
    rlPhaseEnd
aba7ab1
aba7ab1
    rlPhaseStartTest "selinux_restorecon_set_sehandle"
aba7ab1
        createTestFiles
aba7ab1
aba7ab1
        # null sehandle
aba7ab1
        rlRun "./test_sehandle NULL $TmpDir" 139,255 "Calling selinux_restorecon_set_sehandle with null handle"
aba7ab1
aba7ab1
        # invalid sehandle
aba7ab1
        rlRun "./test_sehandle INVALID $TmpDir" 139,255 "Calling selinux_restorecon_set_sehandle with invalid handle"
aba7ab1
aba7ab1
        # default sehandle
aba7ab1
        rlRun "strace -ostrace.out -s 64 ./test_sehandle DEFAULT $TmpDir" 0 "Calling selinux_restorecon_set_sehandle with default handle"
aba7ab1
aba7ab1
        rlLogInfo "Checking lgetxattr calls"
aba7ab1
        rlRun "grep lgetxattr strace.out | grep security.selinux > strace_xattr.out"
aba7ab1
aba7ab1
        rlRun "grep \"\\\"$TmpDir\\\"\"             strace_xattr.out"
aba7ab1
        rlRun "grep \"\\\"$TmpDir/a\\\"\"           strace_xattr.out"
aba7ab1
        rlRun "grep \"\\\"$TmpDir/afile\\\"\"       strace_xattr.out"
aba7ab1
        rlRun "grep \"\\\"$TmpDir/a/b\\\"\"         strace_xattr.out"
aba7ab1
        rlRun "grep \"\\\"$TmpDir/a/bfile\\\"\"     strace_xattr.out"
aba7ab1
        rlRun "grep \"\\\"$TmpDir/a/b/cfile\\\"\"   strace_xattr.out"
aba7ab1
aba7ab1
        # custom sehandle
aba7ab1
        rlRun "strace -ostrace.out -s 64 ./test_sehandle CUSTOM $TmpDir" 0 "Calling selinux_restorecon_set_sehandle with custom handle"
aba7ab1
aba7ab1
        rlLogInfo "Checking lgetxattr calls"
aba7ab1
        rlRun "grep lgetxattr strace.out | grep security.selinux > strace_xattr.out"
aba7ab1
aba7ab1
        rlRun "grep \"\\\"$TmpDir\\\"\"             strace_xattr.out"
aba7ab1
        rlRun "grep \"\\\"$TmpDir/a\\\"\"           strace_xattr.out"
aba7ab1
        rlRun "grep \"\\\"$TmpDir/afile\\\"\"       strace_xattr.out"
aba7ab1
        rlRun "grep \"\\\"$TmpDir/a/b\\\"\"         strace_xattr.out"
aba7ab1
        rlRun "grep \"\\\"$TmpDir/a/bfile\\\"\"     strace_xattr.out"
aba7ab1
        rlRun "grep \"\\\"$TmpDir/a/b/cfile\\\"\"   strace_xattr.out"
aba7ab1
aba7ab1
        rlRun "rm -f strace.out"
aba7ab1
        rlRun "rm -f strace_xattr.out"
aba7ab1
aba7ab1
        deleteTestFiles
aba7ab1
    rlPhaseEnd
aba7ab1
aba7ab1
    rlPhaseStartCleanup
aba7ab1
        rlRun "rm -f test_restorecon test_exclude_list test_sehandle"
aba7ab1
aba7ab1
        rlRun "userdel -r user"
aba7ab1
    rlPhaseEnd
aba7ab1
rlJournalPrintText
aba7ab1
rlJournalEnd