]> git.donarmstrong.com Git - wannabuild.git/blob - tests/qd.pl
WB::QD: handle case when arch=all-packages becomes arch=any (plus testcase)
[wannabuild.git] / tests / qd.pl
1 #!/usr/bin/perl -w -I lib
2
3 use Test::More tests => 1;
4
5 $src = <<EOF
6 Package: bash
7 Binary: bash, bash-static, bash-builtins, bash-doc, bashdb
8 Version: 4.1-3
9 Priority: required
10 Architecture: any
11 Section: shell
12
13 Package: test
14 Binary: test
15 Version: 4.1-3
16 Priority: optional
17 Architecture: any
18 Section: shell
19
20 Package: nfu
21 Binary: nfu
22 Version: 4.1-3
23 Priority: optional
24 Architecture: any
25 Section: shell
26
27 Package: all
28 Binary: all
29 Version: 4.1-3
30 Priority: optional
31 Architecture: all
32 Section: shell
33
34 Package: allbin
35 Binary: allbin
36 Version: 4.1-3
37 Priority: optional
38 Architecture: all
39 Section: shell
40
41 Package: e2fsprogs
42 Binary: e2fsck-static
43 Version: 1.41.12-1
44 Priority: required
45 Section: admin
46 Architecture: any
47
48 Package: e2fsprogs
49 Binary: e2fsck-static
50 Version: 1.41.11-1
51 Priority: required
52 Section: admin
53 Architecture: any
54
55 Package: base-files
56 Binary: base-files
57 Version: 5.7
58 Priority: required
59 Section: admin
60 Architecture: i386 all
61 Build-Depends: debhelper [i386 amd64], bash [!kfreebsd-i386], perl [!i386 !amd64]
62
63 Package: pbuilder
64 Binary: pbuilder, pbuilder-uml
65 Version: 0.196
66 Priority: extra
67 Section: devel
68 Build-Depends: debhelper (>= 7), docbook-xsl, ldp-docbook-xsl (>= 0.0.20040321-0.1), xsltproc, dpkg-dev (>= 1.13.19), dblatex, debconf | debconf-2.0, po-debconf, po4a
69 Build-Conflicts: dash
70 Architecture: all i386 amd64
71
72 Package: autonfu
73 Binary: autonfu
74 Version: 1.41.11-1
75 Priority: required
76 Section: admin
77 Architecture: amd64
78
79 Package: autonfu1
80 Binary: autonfu1
81 Version: 1.41.11-1
82 Priority: required
83 Section: admin
84 Architecture: linux-any
85
86 Package: lv2core
87 Binary: lv2core
88 Version: 4.0-5
89 Priority: optional
90 Section: sound
91 Architecture: any
92
93 EOF
94 ;
95
96 $bin = <<EOF
97 Package: base-files
98 Priority: required
99 Section: admin
100 Architecture: i386
101 Version: 5.6
102
103 Package: bash
104 Source: bash (4.1-3)
105 Priority: required
106 Section: shells
107 Architecture: i386
108 Version: 4.1-3+b2
109
110 Package: bash-static
111 Priority: required
112 Section: shells
113 Architecture: i386
114 Version: 4.1-3+b1
115
116 Package: e2fsprogs
117 Priority: required
118 Section: admin
119 Architecture: i386
120 Version: 1.41.11-1
121
122 Package: all
123 Version: 4.1-3
124 Priority: optional
125 Architecture: all
126 Section: shell
127
128 Package: pbuilder
129 Priority: extra
130 Section: devel
131 Architecture: all
132 Version: 0.196
133
134 Package: lv2core
135 Priority: optional
136 Section: sound
137 Installed-Size: 112
138 Architecture: all
139 Version: 3.0-3
140
141 EOF
142 ;
143
144 $pas = <<EOF
145 %nfu: amd64 # we fake to be i386 here
146 e2fsprogs: i386
147 pbuilder-uml: amd64                                              # depends on user-mode-linux
148 EOF
149 ;
150
151 use WB::QD;
152 my $srcs = WB::QD::readsourcebins('i386', \$pas, [\$src], [\$bin]);
153 use Data::Dumper;
154
155 #print Dumper $srcs;
156 is_deeply ($$srcs, {
157             'e2fsprogs' => {
158                              'priority' => 'required',
159                              'status' => 'out-of-date',
160                              'version' => '1.41.12-1',
161                              'name' => 'e2fsprogs',
162                              'section' => 'admin',
163                              'binary' => ['e2fsck-static', ],
164                            },
165             'bash' => {
166                         'priority' => 'required',
167                         'status' => 'installed',
168                         'version' => '4.1-3',
169                         'name' => 'bash',
170                         'section' => 'shell',
171                         'binnmu' => '2',
172                              'binary' => ['bash', 'bash-static', 'bash-builtins', 'bash-doc', 'bashdb'],
173                       },
174             'base-files' => {
175                               'priority' => 'required',
176                               'status' => 'out-of-date',
177                               'version' => '5.7',
178                               'name' => 'base-files',
179                               'section' => 'admin',
180                               'depends' => 'debhelper [i386 amd64], bash [!kfreebsd-i386], perl [!i386 !amd64]',
181                              'binary' => ['base-files'],
182                             },
183             'test' => {
184                         'priority' => 'optional',
185                         'status' => 'uncompiled',
186                         'version' => '4.1-3',
187                         'name' => 'test',
188                         'section' => 'shell',
189                              'binary' => ['test'],
190                       },
191             'nfu' => {
192                         'priority' => 'optional',
193                         'status' => 'not-for-us',
194                         'version' => '4.1-3',
195                         'name' => 'nfu',
196                         'section' => 'shell',
197                              'binary' => ['nfu'],
198                       },
199             'autonfu' => {
200                         'priority' => 'required',
201                         'status' => 'auto-not-for-us',
202                         'version' => '1.41.11-1',
203                         'name' => 'autonfu',
204                         'section' => 'admin',
205                              'binary' => ['autonfu'],
206                       },
207             'autonfu1' => {
208                         'priority' => 'required',
209                         'status' => 'uncompiled',
210                         'version' => '1.41.11-1',
211                         'name' => 'autonfu1',
212                         'section' => 'admin',
213                              'binary' => ['autonfu1'],
214                       },
215             'pbuilder' => {
216                             'priority' => 'extra',
217                             'status' => 'not-for-us',
218                             'version' => '0.196',
219                             'binary' => [
220                                           'pbuilder',
221                                           'pbuilder-uml'
222                                         ],
223                             'name' => 'pbuilder',
224                             'section' => 'devel',
225                             'depends' => 'debhelper (>= 7), docbook-xsl, ldp-docbook-xsl (>= 0.0.20040321-0.1), xsltproc, dpkg-dev (>= 1.13.19), dblatex, debconf | debconf-2.0, po-debconf, po4a',
226                             'conflicts' => 'dash'
227                           },
228             'lv2core' => {
229                 'priority' => 'optional',
230                 'status' => 'uncompiled',
231                 'version' => '4.0-5',
232                 'binary' => [
233                         'lv2core'
234                       ],
235                 'name' => 'lv2core',
236                 'section' => 'sound'
237             },
238             '_binary' => {
239                 'e2fsprogs' => {'version' => '1.41.11-1', 'arch' => 'i386'},
240                 'bash' => {'version' => '4.1-3', 'arch' => 'i386'},
241                 'base-files' => {'version' => '5.6', 'arch' => 'i386'},
242                 'bash-static' => {'version' => '4.1-3', 'arch' => 'i386'},
243                 'all' => {'version' => '4.1-3', 'arch' => 'all'},
244                 'pbuilder' => { 'arch' => 'all', 'version' => '0.196' },
245             },
246 }, 'reading packages');