| |
@@ -0,0 +1,112 @@
|
| |
+ #!/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
|
| |
+ }
|
| |
+
|
| |
This PR adds the internal acpica-tools test suite (misc, aslts and templates). Tests have been confirmed to pass with latest acpica-tools builds, some of which I believe already run during the build of the rpm.