Add %patch usage to hello.spec testcase
[platform/upstream/rpm.git] / tests / rpmbuild.at
1 #    rpmbuild.at: test rpmbuild
2 #
3 #    Copyright (C) 2007  Ralf Corsépius <corsepiu@fedoraproject.org>
4 #
5 #    This program is free software; you can redistribute it and/or modify
6 #    it under the terms of the GNU General Public License as published by
7 #    the Free Software Foundation; either version 2 of the License, or
8 #    (at your option) any later version.
9 #
10 #    This program is distributed in the hope that it will be useful,
11 #    but WITHOUT ANY WARRANTY; without even the implied warranty of
12 #    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 #    GNU General Public License for more details.
14 #
15 #    You should have received a copy of the GNU General Public License
16 #    along with this program; if not, write to the Free Software
17 #    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
18
19 AT_BANNER([RPM build])
20
21 # ------------------------------
22 # Check if rpmbuild -ba *.spec works
23 AT_SETUP([rpmbuild -ba *.spec])
24 AT_KEYWORDS([build])
25 AT_CHECK([
26 rm -rf ${TOPDIR}
27 AS_MKDIR_P(${TOPDIR}/SOURCES)
28
29 cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz "${abs_srcdir}"/data/SOURCES/hello-1.0-modernize.patch ${TOPDIR}/SOURCES
30
31 run rpmbuild \
32   -ba "${abs_srcdir}"/data/SPECS/hello.spec
33 ],
34 [0],
35 [ignore],
36 [ignore])
37 AT_CLEANUP
38
39 # ------------------------------
40 # Check if rpmbuild -ba *.spec 
41 # honours a relative topdir with --root
42 #AT_SETUP([rpmbuild --root=... -ba *.spec])
43 #AT_KEYWORDS([build])
44 #AT_XFAIL_IF([test $RPM_XFAIL -gt 0])
45 #AT_CHECK([
46 #rm -rf ${TOPDIR}
47 #AS_MKDIR_P(${TOPDIR}/SOURCES)
48 #
49 #cp "${abs_srcdir}"/data/SOURCES/hello-1.0.tar.gz ${TOPDIR}/SOURCES
50 #
51 #run rpmbuild \
52 #  --root="${abs_builddir}"/testing \
53 #  -ba "${abs_srcdir}"/data/SPECS/hello.spec
54 #],
55 #[0],
56 #[ignore],
57 #[ignore])
58 #AT_CLEANUP
59
60 # ------------------------------
61 # Check if rpmbuild --rebuild *.src.rpm works
62 AT_SETUP([rpmbuild --rebuild])
63 AT_KEYWORDS([build])
64 AT_CHECK([
65 rm -rf ${TOPDIR}
66
67 run rpmbuild \
68   --rebuild "${abs_srcdir}"/data/SRPMS/hello-1.0-1.src.rpm
69 ],
70 [0],
71 [ignore],
72 [ignore])
73 AT_CLEANUP
74
75 # ------------------------------
76 # Check if rpmbuild --rebuild *.src.rpm
77 # honours a relative topdir with --root
78 #AT_SETUP([rpmbuild --root=... --rebuild])
79 #AT_KEYWORDS([build])
80 #AT_XFAIL_IF([test $RPM_XFAIL -gt 0])
81 #AT_CHECK([
82 #rm -rf ${TOPDIR}
83 #
84 #run rpmbuild \
85 #  --root="${abs_builddir}"/testing \
86 #  --rebuild "${abs_srcdir}"/data/SRPMS/hello-1.0-1.src.rpm
87 #],
88 #[0],
89 #[ignore],
90 #[ignore])
91 #AT_CLEANUP
92
93 # ------------------------------
94 # Check if tar unpacking works
95 AT_SETUP([rpmbuild -tb <tar with bad spec>])
96 AT_KEYWORDS([build])
97 AT_CHECK([
98 rm -rf ${TOPDIR}
99
100 run rpmbuild \
101   -tb "${RPMDATA}/SOURCES/hello-1.0.tar.gz"
102 ],
103 [1],
104 [ignore],
105 [error: line 5: Unknown tag: Serial:    1
106 ])
107 AT_CLEANUP
108
109 # ------------------------------
110 # Check if tar build works
111 # TODO: test that the rpms are actually created...
112 AT_SETUP([rpmbuild -tb])
113 AT_KEYWORDS([build])
114 AT_CHECK([
115 rm -rf ${TOPDIR}
116
117 run rpmbuild \
118   -ta "${RPMDATA}/SOURCES/hello-2.0.tar.gz"
119 ],
120 [0],
121 [ignore],
122 [ignore])
123 AT_CLEANUP