native-extension: test installs gem under non-root user and cleans up better

native-extension: easier obtaining of user installation path

Change USER to TEST_USER

Don't use tmp file
This commit is contained in:
Iveta Wiedermann 2023-01-23 14:46:32 +01:00
commit 9ab7b3ef3a

View file

@ -2,19 +2,25 @@
# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
. /usr/share/beakerlib/beakerlib.sh || exit 1
TEST_USER="rubyuser"
rlJournalStart
rlPhaseStartSetup
rlRun "tmp=\$(mktemp -d)" 0 "Create tmp directory"
rlRun "pushd $tmp"
rlRun "set -o pipefail"
id $TEST_USER && rlRun "userdel -r $TEST_USER"
rlRun "useradd $TEST_USER" 0 "Adding user '$TEST_USER' to the system"
rlRun "chown -R $TEST_USER:$TEST_USER $tmp" 0 "$TEST_USER can (un)install gems in $tmp"
rlPhaseEnd
rlPhaseStartTest
rlRun "gem install byebug" 0 "Try to install byebug gem"
rlRun "su -c 'gem install byebug' $TEST_USER" 0 "Try to install byebug gem under $TEST_USER"
rlPhaseEnd
rlPhaseStartCleanup
rlRun "gem uninstall byebug" 0 "Uninstalling gem byebug"
rlRun "su -c 'gem env user_gemhome | xargs rm -rf' $TEST_USER" 0 "Delete installed files"
rlRun "userdel -r $TEST_USER"
rlRun "popd"
rlRun "rm -r $tmp" 0 "Remove tmp directory"
rlPhaseEnd