msm: consistency for equally ranked keys
[platform/upstream/rpm.git] / tests / Makefile.am
1 ## Process this file with automake to produce Makefile.in.
2
3 include $(top_srcdir)/rpm.am
4
5 EXTRA_DIST =
6 CLEANFILES =
7
8 # HACK: This should not be here.
9 rpmbindir = `echo $(bindir) | sed -e s,usr/bin,bin,`
10
11 ##
12 TESTSUITE = $(srcdir)/rpmtests
13 EXTRA_DIST += local.at $(TESTSUITE)
14
15 ## testsuite components
16 TESTSUITE_AT = rpmtests.at
17 TESTSUITE_AT += rpmgeneral.at
18 TESTSUITE_AT += rpmquery.at
19 TESTSUITE_AT += rpmverify.at
20 TESTSUITE_AT += rpmdb.at
21 TESTSUITE_AT += rpmbuild.at
22 TESTSUITE_AT += rpmi.at
23 TESTSUITE_AT += rpmvercmp.at
24 TESTSUITE_AT += rpmdeps.at
25 TESTSUITE_AT += rpmconflict.at
26 TESTSUITE_AT += rpmconfig.at
27 TESTSUITE_AT += rpmconfig2.at
28 TESTSUITE_AT += rpmconfig3.at
29 TESTSUITE_AT += rpmreplace.at
30 TESTSUITE_AT += rpmmacro.at
31 TESTSUITE_AT += rpmpython.at
32 TESTSUITE_AT += rpmdepmatch.at
33 TESTSUITE_AT += rpmscript.at
34 EXTRA_DIST += $(TESTSUITE_AT)
35
36 ## testsuite data
37 EXTRA_DIST += data/SPECS/attrtest.spec
38 EXTRA_DIST += data/SPECS/hello.spec
39 EXTRA_DIST += data/SPECS/hello-script.spec
40 EXTRA_DIST += data/SPECS/foo.spec
41 EXTRA_DIST += data/SPECS/globtest.spec
42 EXTRA_DIST += data/SPECS/versiontest.spec
43 EXTRA_DIST += data/SPECS/conflicttest.spec
44 EXTRA_DIST += data/SPECS/configtest.spec
45 EXTRA_DIST += data/SPECS/flangtest.spec
46 EXTRA_DIST += data/SPECS/hlinktest.spec
47 EXTRA_DIST += data/SPECS/symlinktest.spec
48 EXTRA_DIST += data/SPECS/deptest.spec
49 EXTRA_DIST += data/SPECS/verifyscript.spec
50 EXTRA_DIST += data/SPECS/fakeshell.spec
51 EXTRA_DIST += data/SPECS/scripts.spec
52 EXTRA_DIST += data/SPECS/selfconflict.spec
53 EXTRA_DIST += data/SPECS/replacetest.spec
54 EXTRA_DIST += data/SOURCES/hello-1.0-modernize.patch
55 EXTRA_DIST += data/SOURCES/hello-1.0.tar.gz
56 EXTRA_DIST += data/SOURCES/hello-2.0.tar.gz
57 EXTRA_DIST += data/RPMS/foo-1.0-1.noarch.rpm
58 EXTRA_DIST += data/RPMS/hello-1.0-1.i386.rpm
59 EXTRA_DIST += data/RPMS/hello-1.0-1.ppc64.rpm
60 EXTRA_DIST += data/RPMS/hello-2.0-1.i686.rpm
61 EXTRA_DIST += data/RPMS/hello-2.0-1.x86_64.rpm
62 EXTRA_DIST += data/SRPMS/foo-1.0-1.src.rpm
63 EXTRA_DIST += data/SRPMS/hello-1.0-1.src.rpm
64
65 # testsuite voodoo
66 AUTOTEST = $(AUTOM4TE) --language=autotest
67 $(TESTSUITE): $(srcdir)/package.m4 local.at $(TESTSUITE_AT)
68         $(AUTOTEST) -I '$(srcdir)' -o $@.tmp $@.at
69         mv $@.tmp $@
70
71 $(srcdir)/package.m4: $(top_srcdir)/configure.ac
72         @{ \
73         echo '# Signature of the current package.'; \
74         echo 'm4_define([AT_PACKAGE_NAME],      [@PACKAGE_NAME@])'; \
75         echo 'm4_define([AT_PACKAGE_TARNAME],   [@PACKAGE_TARNAME@])'; \
76         echo 'm4_define([AT_PACKAGE_VERSION],   [@PACKAGE_VERSION@])'; \
77         echo 'm4_define([AT_PACKAGE_STRING],    [@PACKAGE_STRING@])'; \
78         echo 'm4_define([AT_PACKAGE_BUGREPORT], [@PACKAGE_BUGREPORT@])'; \
79         } >'$(srcdir)/package.m4'
80 EXTRA_DIST += package.m4
81
82 atconfig: ${top_builddir}/config.status
83         (cd ${top_builddir} && ./config.status ${subdir}/atconfig)
84 CLEANFILES += atconfig
85
86
87 atlocal:        atlocal.in Makefile
88         @sed \
89           -e "s,[@]rpmbindir[@],$(rpmbindir)," \
90           -e "s,[@]usrbindir[@],$(bindir)," \
91           -e "s,[@]usrlibdir[@],$(libdir)," \
92           -e "s,[@]RPMCONFIGDIR[@],$(rpmconfigdir)," \
93         < $(srcdir)/atlocal.in > atlocal
94 DISTCLEANFILES = atlocal
95 EXTRA_DIST += atlocal.in
96
97 # Hack: Abusing testing$(bindir)/rpmbuild as stamp file
98 testing$(bindir)/rpmbuild: ../rpmbuild
99         rm -rf testing
100         mkdir -p testing/$(bindir)
101         ln -s ./$(bindir) testing/bin
102         (cd ${top_builddir} && \
103                   $(MAKE) DESTDIR=`pwd`/${subdir}/testing install)
104         cp -r data/ testing/
105         mkdir testing/{dev,etc,magic,tmp}
106         for node in stdin stderr stdout null; do ln -s /dev/$${node} testing/dev/$${node}; done
107         for cf in hosts resolv.conf passwd shadow group gshadow mtab fstab; do [ -f /etc/$${cf} ] && ln -s /etc/$${cf} testing/etc/$${cf}; done
108         for prog in gzip cat patch tar sh ln chmod rm mkdir uname grep sed find file mktemp cut sort diff; do p=`which $${prog}`; ln -s $${p} testing/$${p}; done
109         for d in /proc /sys /selinux /etc/selinux; do if [ -d $${d} ]; then ln -s $${d} testing/$${d}; fi; done
110         (cd testing/magic && file -C)
111
112 check_DATA = atconfig atlocal $(TESTSUITE)
113 check_DATA += testing$(bindir)/rpmbuild
114
115 if HAVE_FAKECHROOT
116 check-local: $(check_DATA)
117         $(SHELL) '$(TESTSUITE)' $(TESTSUITEFLAGS) ||:
118 else
119 check-local:
120         echo "you need to have fakechroot installed"
121         exit 1
122 endif !HAVE_FAKECHROOT
123
124 installcheck-local: $(check_DATA)
125         $(SHELL) '$(TESTSUITE)' AUTOTEST_PATH='$(bindir)' \
126         $(TESTSUITEFLAGS) ||:
127
128 clean-local:
129         test ! -f '$(TESTSUITE)' || $(SHELL) '$(TESTSUITE)' --clean
130         rm -f *.tmp
131         rm -rf testing