[yum-git] test/yum-release-test.sh

Florian Festi ffesti at linux.duke.edu
Fri Jan 25 14:58:00 UTC 2008


 test/yum-release-test.sh |  254 +++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 254 insertions(+)

New commits:
commit b1a40f88312f73d7166cd70ac29c803b8a495c8e
Author: Florian Festi <ffesti at redhat.com>
Date:   Fri Jan 25 15:57:51 2008 +0100

    Added release test script

diff --git a/test/yum-release-test.sh b/test/yum-release-test.sh
new file mode 100755
index 0000000..fba02c5
--- /dev/null
+++ b/test/yum-release-test.sh
@@ -0,0 +1,254 @@
+#!/bin/bash
+
+#######################################################
+### Settings ##########################################
+#######################################################
+
+USE_LOCAL_YUM_CONF=0
+
+FIXWORKDIR=/tmp/yum-release-test
+
+#WORKDIR=$FIXWORKDIR  # always run on same directory 
+                     #  and don't do expensive tests
+WORKDIR=`mktemp -d` # always start from scratch
+                    #  and do full tests
+
+# path to executables
+YUMBINARY=/home/ffesti/CVS/yum/yummain.py
+YUMBINARY=yum
+YUMDOWNLOADER=(yumdownloader -d 0 --disablerepo=updates)
+YUMDOWNLOADERUPDATES=(yumdownloader -d 0 --enablerepo=updates)
+
+# for testing fedora releases
+YUM=($YUMBINARY -d 0 --installroot=$WORKDIR --disablerepo=updates )
+YUMUPDATES=($YUMBINARY -d 0 --installroot=$WORKDIR --enablerepo=updates )
+
+# for fedora devel
+# XXX TODO
+
+RPM=(rpm --root $WORKDIR)
+
+# Adjust size of base install
+#DEFAULTGROUPS=("Office/Productivity" "GNOME Desktop Environment" "Games and Entertainment" "Sound and Video" "Graphical Internet" "System Tools" Core Base Editors "X Window System" )
+DEFAULTGROUPS=(Base Core)
+
+
+
+#######################################################
+### end of settings ###################################
+#######################################################
+
+if [ `whoami` != root ] ; then
+  echo You must be root to run this script
+  exit 1
+fi
+
+mkdir -p $WORKDIR/var/cache/yum
+mkdir -p $WORKDIR/var/lib/yum
+mkdir -p $WORKDIR/var/log
+mkdir -p $WORKDIR/tmp
+mkdir -p $WORKDIR/etc/yum.repos.d
+
+
+if [ "$USE_LOCAL_YUM_CONF" == 1 ] ; then
+  # copy repos into build root to take advance of local mirrors
+  echo "Using local yum repos"
+  cp /etc/yum.repos.d/*.repo $WORKDIR/etc/yum.repos.d/
+else
+  echo "Not using local yum repos"
+  yumdownloader --destdir $WORKDIR/tmp fedora-release
+  rpm -i --nodeps --root $WORKDIR $WORKDIR/tmp/fedora-release\*.noarch.rpm
+  rm -f $WORKDIR/tmp/fedora-release\*.noarch.rpm
+fi
+
+echo "Using $WORKDIR"
+
+
+if [ ! -d $WORKDIR/usr/bin ]; then
+  echo
+  echo "yum groupinstall ${DEFAULTGROUPS[@]}"
+  "${YUM[@]}" -y groupinstall "${DEFAULTGROUPS[@]}"
+  if [ "X$?" == "X0" ] ; then echo " OK"; else echo " FAILED"; fi
+  echo "Check for vim-minimal"
+  "${RPM[@]}" -q vim-minimal > /dev/null
+  if [ "X$?" == "X0" ] ; then echo " OK"; else echo " FAILED"; fi
+else
+  echo Ommiting base install
+fi
+
+#"${YUMUPDATES[@]}" list updates
+#rm -rf $WORKDIR
+#exit 0
+
+echo
+echo "yum remove vim-minimal"
+"${YUM[@]}" -y remove vim-minimal
+if [ "X$?" == "X0" ] ; then echo " OK"; else echo " FAILED"; fi
+echo "Check if vim-minimal is removed"
+"${RPM[@]}" -q vim-minimal > /dev/null
+if [ "X$?" == "X1" ] ; then echo " OK"; else echo " FAILED"; fi
+
+echo
+echo "yum install vim-minimal | cat"
+"${YUM[@]}" -y install vim-minimal | cat
+if [ "X$?" == "X0" ] ; then echo " OK"; else echo " FAILED"; fi
+echo "Check vim-minimal"
+"${RPM[@]}" -q vim-minimal > /dev/null
+if [ "X$?" == "X0" ] ; then echo " OK"; else echo " FAILED"; fi
+
+echo
+echo "yum install bash (already installed)"
+"${YUM[@]}" install bash
+if [ "X$?" == "X0" ] ; then echo " OK"; else echo " FAILED"; fi
+
+echo
+echo "yum install fOObAr (not available)"
+"${YUM[@]}" install fOObAr
+if [ "X$?" == "X0" ] ; then echo " OK"; else echo " FAILED"; fi
+
+if [ $WORKDIR != $FIXWORKDIR ] ; then
+
+  echo
+  echo "yum groupinstall Graphics"
+  "${YUM[@]}" -y groupinstall Graphics
+  if [ "X$?" == "X0" ] ; then echo " OK"; else echo " FAILED"; fi
+  echo "Check gimp"
+  "${RPM[@]}" -q gimp > /dev/null
+  if [ "X$?" == "X0" ] ; then echo " OK"; else echo " FAILED"; fi
+
+  echo
+  echo "yum groupremove Graphics"
+  "${YUM[@]}" -y groupremove Graphics
+  if [ "X$?" == "X0" ] ; then echo " OK"; else echo " FAILED"; fi
+  echo "Check if gimp is removed"
+  "${RPM[@]}" -q gimp > /dev/null
+  if [ "X$?" == "X1" ] ; then echo " OK"; else echo " FAILED"; fi
+
+  echo
+  echo "yum clean all"
+  "${YUM[@]}" clean all
+  if [ "X$?" == "X0" ] ; then echo " OK"; else echo " FAILED"; fi
+
+fi 
+
+echo
+echo "yum makecache"
+"${YUM[@]}" makecache
+if [ "X$?" == "X0" ] ; then echo " OK"; else echo " FAILED"; fi
+
+echo
+echo yumdownloader emacs
+"${YUMDOWNLOADER[@]}" --destdir $WORKDIR/tmp --resolve emacs
+"${YUMDOWNLOADER[@]}" --destdir $WORKDIR/tmp --resolve emacs-common
+if [ "X$?" == "X0" ] ; then echo " OK"; else echo " FAILED"; fi
+echo yum localinstall emacs\*.rpm
+"${YUM[@]}" localinstall -y $WORKDIR/tmp/*.rpm
+if [ "X$?" == "X0" ] ; then echo " OK"; else echo " FAILED"; fi
+echo "Check emacs"
+"${RPM[@]}" -q emacs > /dev/null
+if [ "X$?" == "X0" ] ; then echo " OK"; else echo " FAILED"; fi
+
+rm -f $WORKDIR/tmp/*.rpm
+
+echo
+echo yumdownloader emacs
+"${YUMDOWNLOADERUPDATES[@]}" --destdir $WORKDIR/tmp --resolve emacs
+"${YUMDOWNLOADERUPDATES[@]}" --destdir $WORKDIR/tmp --resolve emacs-common
+echo yum localupdate emacs\*.rpm
+"${YUM[@]}" localupdate -y $WORKDIR/tmp/emacs*.rpm
+if [ "X$?" == "X0" ] ; then echo " OK"; else echo " FAILED"; fi
+
+echo
+echo "yum check-update # false"
+"${YUM[@]}" check-update
+if [ "X$?" == "X0" ] ; then echo " OK"; else echo " FAILED"; fi
+echo "yum check-update # true"
+"${YUMUPDATES[@]}" check-update > /dev/null
+if [ "X$?" == "X100" ] ; then echo " OK"; else echo " FAILED or uptodate"; fi
+
+echo
+echo yum update glibc
+GLIBC=`"${RPM[@]}" -q glibc`
+"${YUMUPDATES[@]}" -y update glibc
+UGLIBC=`"${RPM[@]}" -q glibc`
+if [ "$GLIBC" != "$UGLIBC" ] ; then 
+  echo " OK"; 
+else 
+  echo " FAILED or uptodate"; 
+fi
+
+echo 
+echo yum update
+KERNEL=`"${RPM[@]}" -q kernel`
+"${YUMUPDATES[@]}" -y update
+UKERNEL=`"${RPM[@]}" -q kernel` 
+if [ "$KERNEL" != "$UKERNEL" ] ; then 
+  echo " OK"; 
+else 
+  echo " FAILED or uptodate"; 
+fi
+
+echo
+echo "yum --version"
+"${YUM[@]}" --version
+if [ "X$?" == "X0" ] ; then echo " OK"; else echo " FAILED"; fi
+
+#"${YUM[@]}" shell
+#   repo
+#   config
+#   etc  
+
+echo
+echo "yum search kernel"
+"${YUM[@]}" search kernel > /dev/null
+if [ "X$?" == "X0" ] ; then echo " OK"; else echo " FAILED"; fi
+
+echo
+echo "yum provides kernel"
+"${YUM[@]}" provides kernel > /dev/null
+if [ "X$?" == "X0" ] ; then echo " OK"; else echo " FAILED"; fi
+
+echo
+echo "yum info kernel"
+"${YUM[@]}" info kernel > /dev/null
+if [ "X$?" == "X0" ] ; then echo " OK"; else echo " FAILED"; fi
+
+echo
+echo "yum groupinfo Core"
+"${YUM[@]}" groupinfo Core > /dev/null
+if [ "X$?" == "X0" ] ; then echo " OK"; else echo " FAILED"; fi
+
+echo
+echo "yum deplist bash"
+"${YUM[@]}" deplist bash > /dev/null
+if [ "X$?" == "X0" ] ; then echo " OK"; else echo " FAILED"; fi
+
+echo
+echo "yum grouplist"
+"${YUM[@]}" grouplist > /dev/null
+if [ "X$?" == "X0" ] ; then echo " OK"; else echo " FAILED"; fi
+
+echo
+echo "yum list updates"
+"${YUM[@]}" list updates > /dev/null
+if [ "X$?" == "X0" ] ; then echo " OK"; else echo " FAILED"; fi
+
+echo
+echo "yum list obsoletes"
+"${YUM[@]}" list obsoletes > /dev/null
+if [ "X$?" == "X0" ] ; then echo " OK"; else echo " FAILED"; fi
+
+echo
+echo "yum list available"
+"${YUM[@]}" list available > /dev/null
+if [ "X$?" == "X0" ] ; then echo " OK"; else echo " FAILED"; fi
+
+echo
+echo "yum list installed"
+"${YUM[@]}" list installed > /dev/null
+if [ "X$?" == "X0" ] ; then echo " OK"; else echo " FAILED"; fi
+
+if [ $WORKDIR != $FIXWORKDIR ] ; then
+  echo Deleting $WORKDIR
+  rm -rf $WORKDIR
+fi



More information about the Yum-cvs-commits mailing list