libtool/tests/functests.at

104 lines
3.1 KiB
Plaintext
Raw Normal View History

# Hand crafted tests for GNU Libtool. -*- Autotest -*-
# Copyright 2004 Free Software Foundation, Inc.
# This program 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 2, or (at your option)
# any later version.
# This program 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 this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
AT_BANNER([Libtool's shell function tests.])
AT_SETUP([func_extract_archives tests])
sed -n -e '/^# TEST SUITE MARKER ## BEGIN SOURCABLE$/,/^# TEST SUITE MARKER ## NON-FUNCTION$/p' < ${abs_top_builddir}/libtool > ltdefs
AT_DATA(func_extract_archives,
[[#! /bin/sh
# func_extract_archives
. ./ltdefs
SED=${SED-sed}
Xsed="$SED -e s/^X//"
progname=libtool
mode=testing
case $host in
*darwin*)
for afile in baz foobar foobaz
do
echo "ppc $afile" > $afile.ppc.o
echo "m68k $afile" > $afile.m68k.o
echo "i386 $afile" > $afile.i386.o
lipo -create -output $afile.o -arch ppc $afile.ppc.o -arch m68k \
$afile.m68k.o -arch i386 $afile.i386.o
rm -f $afile.*.o
ar -q libfoo.a $afile.o
rm -f $afile.o
done
for anum in 1 2 3 4 5 6 7 8 9 10 11 12
do
echo "ppc foo $anum" > foo.ppc.o
echo "m68k foo $anum" > foo.m68k.o
echo "i386 foo $anum" > foo.i386.o
lipo -create -output foo.o -arch ppc foo.ppc.o -arch m68k foo.m68k.o \
-arch i386 foo.i386.o
ar -q libfoo.a foo.o
rm -f foo.o foo.*.o
echo "ppc bar $anum" > bar.ppc.o
echo "m68k bar $anum" > bar.m68k.o
echo "i386 bar $anum" > bar.i386.o
lipo -create -output bar.o -arch ppc bar.ppc.o -arch m68k bar.m68k.o \
-arch i386 bar.i386.o
ar -q libfoo.a bar.o
done
test -d .libs || mkdir .libs
func_extract_archives ".libs/libfoo" "libfoo.a"
for anum in 1 2 3 4 5 6 7 8 9 10 11 12
do
test -f ".libs/libfoo/libfoo.a/foo-$anum.o" || exit 1
$EGREP -v "foo-$anum" ".libs/libfoo/libfoo.a/foo-$anum.o" || exit 1
rm -f ".libs/libfoo/libfoo.a/foo-$anum.o"
done
esac
rm -f foo.o bar.o libfoo.a
for afile in baz foobar foobaz
do
echo "$afile" > $afile.o
ar -q libfoo.a $afile.o
rm -f $afile.o
done
for anum in 1 2 3 4 5 6 7 8 9 10 11 12
do
echo "foo $anum" > foo.o
echo "bar $anum" > bar.o
ar -q libfoo.a foo.o bar.o
done
test -d .libs || mkdir .libs
func_extract_archives ".libs/libfoo" "libfoo.a"
for anum in 1 2 3 4 5 6 7 8 9 10 11 12
do
test -f ".libs/libfoo/libfoo.a/foo-$anum.o" || exit 1
$EGREP -v "foo-$anum" ".libs/libfoo/libfoo.a/foo-$anum.o" || exit 1
rm -f ".libs/libfoo/libfoo.a/foo-$anum.o"
done
rm -rf ".libs/libfoo"
exit 0
]])
chmod +x func_extract_archives
AT_CHECK([./func_extract_archives],[0],[ignore],[ignore])
AT_CLEANUP