#!/bin/bash # vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # # runtest.sh of /tools/glibc/Regression/bz1563046-getlogin-r-return-early-when-linux-sentinel-value # Description: Test for BZ#1563046 (getlogin_r return early when linux sentinel value) # Author: Sergey Kolosov # # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # # Copyright (c) 2018 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/share/beakerlib/beakerlib.sh || exit 1 PACKAGE="glibc" TESTPROG="tst-getlogin_r" rlJournalStart rlPhaseStartSetup rlAssertRpm $PACKAGE rlAssertRpm ${PACKAGE}-debuginfo rlRun -l "gcc --version" rlRun "TESTTMPDIR=$(mktemp -d)" rlRun "cp ${TESTPROG}.c $TESTTMPDIR" rlRun "cp list.gdb $TESTTMPDIR" rlRun "pushd $TESTTMPDIR" rlPhaseEnd rlPhaseStartTest "${TESTPROG}" rlRun -c "gcc -g ${TESTPROG}.c -o ${TESTPROG}" rlAssertExists "${TESTPROG}" rlRun -c "./${TESTPROG}" rlRun -l "gdb --batch --command=list.gdb ./${TESTPROG} > gdb_log" rlAssertGrep "if (uid == (uid_t) -1)" gdb_log rlFileSubmit gdb_log rlPhaseEnd rlPhaseStartCleanup rlRun "popd" rlRun "rm -r $TESTTMPDIR" rlPhaseEnd rlJournalPrintText rlJournalEnd