Blob Blame History Raw
#!/bin/bash
# /Coreos/acpica-tools/acpica-tools-tests/include/include.sh
# Constants
########################################
# - debug turn off SELinux
#setenforce 0
########################################

# Source the common test script helpers
. /usr/bin/rhts_environment.sh
. /usr/share/beakerlib/beakerlib.sh

# Assume the test will fail.
DeBug=0 # Set to 1 to gather all logs from all tests.
packagename=acpica-tools
RPM_NAME=`rpm -q --queryformat '%{name}\n' $packagename`
RPM_VER=`rpm -q --queryformat '%{version}\n' $packagename`
RPM_REL=`rpm -q --queryformat '%{release}\n' $packagename`
#RPM_ARCH=`rpm -q --queryformat '%{arch}\n' $packagename`
OUTPUTDIR=/mnt/testarea/acpica-tools-tests

# Functions


# Make log and output directories if needed
function mk_test_dirs()
{
if test ! -d $OUTPUTDIR ; then
    echo "Creating $OUTPUTDIR" | tee -a $OUTPUTFILE
    mkdir -p $OUTPUTDIR || rlDie "Can't create directory ${OUTPUTDIR}!"
fi
log_dir=${OUTPUTDIR}/logs/${TESTNAME}-${$}
if test ! -d $log_dir ; then
    echo "Creating $log_dir" | tee -a $OUTPUTFILE 
    mkdir -p $log_dir || rlDie "Can't create directory ${log_dir}!"
fi
RPMBUILDDIR=${OUTPUTDIR}/rpmbuild
if test ! -d $RPMBUILDDIR ; then
    echo "Creating RPM build directorires" | tee -a $OUTPUTFILE
    mkdir -p $RPMBUILDDIR/{BUILD,BUILDROOT,RPMS,SPECS,SOURCES,SRPMS} || rlDie "Can't create RPM build directories"
fi
export OUTPUTDIR log_dir RPMBUILDDIR
}

# Grab src rpm from brew using wget requires package n v r  
function get_srpm_from_koji()
{
    local name=$1
    local version=$2
    local release=$3
    local wget_opts="-Nnv"
    local url2srcfile="http://kojipkgs.fedoraproject.org/packages/${name}/${version}/${release}/src/${name}-${version}-${release}.src.rpm"
    wget $wget_opts $url2srcfile >> $OUTPUTFILE 2>&1
    if [ "$?" -eq "0" ] ; then
        echo "***** Successfully downloaded ${name}-${version}-${release}.src.rpm from brewroot *****" | tee -a $OUTPUTFILE
    fi
}

# Install a src.rpm to a given buildroot
# Requires path to src.rpm and an existing buildroot directory to install to.
function install_srpm()
{
 local srpm=$1
 local buildroot=$2
 if [ -d "$buildroot" ] ; then
   if [ -e $srpm ] ; then
       rpm --define "_topdir $RPMBUILDDIR" -ivh $srpm
       if [ "$?" -eq "0" ] ; then
           echo "***** Successfully installed $srpm *****" | tee -a $OUTPUTFILE
       else
           echo "***** Unable to install $srpm *****" | tee -a $OUTPUTFILE
           return 1
       fi
   else
       echo "***** $srpm file not found *****" | tee -a $OUTPUTFILE
       return 1
   fi
 else 
    echo "***** $buildroot does not exist *****" | tee -a $OUTPUTFILE
       return 1
 fi 
}

# run rpm -bp on extracted acpi-tools src.rpm if needed
function rpmbp_acpica-tools()
{
  rpmbuild --define "_topdir $RPMBUILDDIR" -bp $RPMBUILDDIR/SPECS/acpica-tools.spec > ${log_dir}/rpm-bp-acpica-tools-${$}.log 2>&1
  [ $? -eq 0 ] && return 0 || return 1
}

function acpica-tools_prep()
{
  if [ ! -d ${RPMBUILDDIR}/BUILD/acpica-unix2-${RPM_VER} ] ; then
    rlRun "get_srpm_from_koji $RPM_NAME $RPM_VER $RPM_REL"
    rlRun "install_srpm ${RPM_NAME}-${RPM_VER}-${RPM_REL}.src.rpm $RPMBUILDDIR"
    rlRun rpmbp_acpica-tools
  else 
    rlLog "acpica-tools source tree is already prepared for testing, skipping acpica-tools_prep()"
  fi
}


# wrapper around rlFileSubmit to preserve path names of the log files and submit all files in the log directory
function submit_logs()
{
  for f in $log_dir/*; do
    if [ -f $f ] ; then
      rlFileSubmit $f
    fi
  done
}