Mercurial > hg > xemacs-beta
view etc/bundled-packages/test.sh @ 5602:c9e5612f5424
Support the MP library on recent FreeBSD, have it pass relevant tests.
src/ChangeLog addition:
2011-11-26 Aidan Kehoe <kehoea@parhasard.net>
* number-mp.c (bignum_to_string):
Don't overwrite the accumulator we've just set up for this
function.
* number-mp.c (BIGNUM_TO_TYPE):
mp_itom() doesn't necessarily do what this code used to think with
negative numbers, it can treat them as unsigned ints. Subtract
numbers from bignum_zero instead of multiplying them by -1 to
convert them to their negative equivalents.
* number-mp.c (bignum_to_int):
* number-mp.c (bignum_to_uint):
* number-mp.c (bignum_to_long):
* number-mp.c (bignum_to_ulong):
* number-mp.c (bignum_to_double):
Use the changed BIGNUM_TO_TYPE() in these functions.
* number-mp.c (bignum_ceil):
* number-mp.c (bignum_floor):
In these functions, be more careful about rounding to positive and
negative infinity, respectively. Don't use the sign of QUOTIENT
when working out out whether to add or subtract one, rather use
the sign QUOTIENT would have if arbitrary-precision division were
done.
* number-mp.h:
* number-mp.h (MP_GCD):
Wrap #include <mp.h> in BEGIN_C_DECLS/END_C_DECLS.
* number.c (Fbigfloat_get_precision):
* number.c (Fbigfloat_set_precision):
Don't attempt to call XBIGFLOAT_GET_PREC if this build doesn't
support big floats.
author | Aidan Kehoe <kehoea@parhasard.net> |
---|---|
date | Sat, 26 Nov 2011 17:59:14 +0000 |
parents | 90dcf2376909 |
children |
line wrap: on
line source
# tests for the bundled packages feature # Copyright 2007 Free Software Foundation # This file is part of XEmacs. # XEmacs 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 3 of the License, or (at your # option) any later version. # XEmacs 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 XEmacs. If not, see <http://www.gnu.org/licenses/>. # 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