Mercurial > hg > xemacs-beta
diff etc/bundled-packages/test.sh @ 4354:232d873b9705
Add support for installing bundled patches.
author | Stephen J. Turnbull <stephen@xemacs.org> |
---|---|
date | Sun, 23 Dec 2007 20:32:16 -0800 |
parents | |
children | fd714e8ba81e |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/etc/bundled-packages/test.sh Sun Dec 23 20:32:16 2007 -0800 @@ -0,0 +1,105 @@ +# tests for the bundled packages feature + +# usage: sh etc/bundled-packages/tests.sh [TMP_TEST_DIR] + +# Always run this script from the top directory of the source tree. +# You need a mv that supports the -v for verbose flag, and a mkdir that +# supports the -p flag to make parents. +# Output from this script is preceded by 4 stars (****). + +# This test script is probably more fragile than the build process, but if +# it runs to completion things are probably OK. + +# configure the installation target + +if test -z "$1"; then + TMP_TEST_DIR=/tmp/test/bundled-packages +else + TMP_TEST_DIR=$1 +fi + +srcdir=`pwd` +blddir=${TMP_TEST_DIR}/build +pkgdir=${TMP_TEST_DIR}/lib/xemacs + +echo "**** srcdir = ${srcdir}" +echo "**** blddir = ${blddir}" +echo "**** pkgdir = ${pkgdir}" + +if test -e "${pkgdir}"; then + echo "**** pkgdir (${pkgdir}) exists; bailing out." + exit -1 +fi + +# mv existing tarballs out of harm's way and make a fake one + +echo "**** Moving existing tarballs to etc/bundled-packages/saved." +mkdir -p etc/bundled-packages/saved +cd etc/bundled-packages +echo "**** 'mv' may error because there are no files to move. It's harmless." +mv -v *.tar.gz saved/ +cd ../.. + +# configure in a temporary directory + +if test -e ${blddir}; then + echo "**** blddir (${blddir}) exists; bailing out." + exit -1 +fi +mkdir -p ${blddir} +cd ${blddir} +echo "**** Running 'configure'. This takes *several minutes*." +echo "**** Redirecting configure output to ${blddir}/beta.err." +${srcdir}/configure >beta.err 2>&1 + +# test check-available-packages + +echo "**** This test should produce no error and no output." +make check-available-packages +cd ${srcdir}/etc/bundled-packages +echo "**** This test should explain how to install bootstrap packages." +echo "This file pretends to be a bootstrap hierarchy." > xemacs-packages +tar czf bootstrap.tar.gz xemacs-packages +rm xemacs-packages +cd ${blddir} +make check-available-packages +echo "**** This test should explain how to install all three." +cd ${srcdir}/etc/bundled-packages +echo "This file pretends to be a xemacs-packages hierarchy." > xemacs-packages +echo "This file pretends to be a mule-packages hierarchy." > mule-packages +tar czf xemacs-sumo.tar.gz xemacs-packages +tar czf xemacs-mule-sumo.tar.gz mule-packages +rm xemacs-packages mule-packages +cd ${blddir} +make check-available-packages + +# test installation without package path given + +echo "**** Make the 'make-path' utility needed by the installation routine." +make -C lib-src make-path +echo "**** This test should error because --with-late-packages wasn't given." +make install-bootstrap-packages + +# test installation with package path given + +echo "**** Running 'configure'. This takes *several minutes*." +echo "**** Redirecting configure output to ${blddir}/beta.err." +${srcdir}/configure --with-late-packages=${pkgdir} >beta.err 2>&1 +echo "**** Make the 'make-path' utility needed by the installation routine." +make -C lib-src make-path +echo "**** Test install-bootstrap-packages." +make install-bootstrap-packages +echo "**** The following should list xemacs-packages in the right place." +ls ${pkgdir}/* + +#### no tests below this line #### + +# put tarballs back and clean up + +cd ${srcdir}/etc/bundled-packages +rm *.tar.gz +echo "**** 'mv' may error because there are no files to move. It's harmless." +mv -v saved/*.tar.gz ../ +rmdir saved +rm -rf ${blddir} ${pkgdir} +exit 0