]> git.donarmstrong.com Git - wannabuild.git/blob - tests/qd.pl
fix binNMU detection of installed packages, and fix testsuite and logging
[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 EOF
73 ;
74
75 $bin = <<EOF
76 Package: base-files
77 Priority: required
78 Section: admin
79 Architecture: i386
80 Version: 5.6
81
82 Package: bash
83 Source: bash (4.1-3)
84 Priority: required
85 Section: shells
86 Architecture: i386
87 Version: 4.1-3+b2
88
89 Package: bash-static
90 Priority: required
91 Section: shells
92 Architecture: i386
93 Version: 4.1-3+b1
94
95 Package: e2fsprogs
96 Priority: required
97 Section: admin
98 Architecture: i386
99 Version: 1.41.11-1
100
101 Package: all
102 Version: 4.1-3
103 Priority: optional
104 Architecture: all
105 Section: shell
106
107 Package: pbuilder
108 Priority: extra
109 Section: devel
110 Architecture: all
111 Version: 0.196
112
113 EOF
114 ;
115
116 $pas = <<EOF
117 %nfu: amd64 # we fake to be i386 here
118 e2fsprogs: i386
119 pbuilder-uml: amd64                                              # depends on user-mode-linux
120 EOF
121 ;
122
123 use WB::QD;
124 my $srcs = WB::QD::readsourcebins('i386', \$pas, [\$src], [\$bin]);
125 use Data::Dumper;
126
127 #print Dumper $srcs;
128 is_deeply ($$srcs, {
129             'e2fsprogs' => {
130                              'priority' => 'required',
131                              'status' => 'out-of-date',
132                              'version' => '1.41.12-1',
133                              'name' => 'e2fsprogs',
134                              'section' => 'admin',
135                              'binary' => ['e2fsck-static', ],
136                            },
137             'bash' => {
138                         'priority' => 'required',
139                         'status' => 'installed',
140                         'version' => '4.1-3',
141                         'name' => 'bash',
142                         'section' => 'shell',
143                         'binnmu' => '2',
144                              'binary' => ['bash', 'bash-static', 'bash-builtins', 'bash-doc', 'bashdb'],
145                       },
146             'base-files' => {
147                               'priority' => 'required',
148                               'status' => 'out-of-date',
149                               'version' => '5.7',
150                               'name' => 'base-files',
151                               'section' => 'admin',
152                               'depends' => 'debhelper [i386 amd64], bash [!kfreebsd-i386], perl [!i386 !amd64]',
153                              'binary' => ['base-files'],
154                             },
155             'test' => {
156                         'priority' => 'optional',
157                         'status' => 'uncompiled',
158                         'version' => '4.1-3',
159                         'name' => 'test',
160                         'section' => 'shell',
161                              'binary' => ['test'],
162                       },
163             'nfu' => {
164                         'priority' => 'optional',
165                         'status' => 'not-for-us',
166                         'version' => '4.1-3',
167                         'name' => 'nfu',
168                         'section' => 'shell',
169                              'binary' => ['nfu'],
170                       },
171             'pbuilder' => {
172                             'priority' => 'extra',
173                             'status' => 'not-for-us',
174                             'version' => '0.196',
175                             'binary' => [
176                                           'pbuilder',
177                                           'pbuilder-uml'
178                                         ],
179                             'name' => 'pbuilder',
180                             'section' => 'devel',
181                             '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',
182                             'conflicts' => 'dash'
183                           },
184             '_binary' => {
185                 'e2fsprogs' => {'version' => '1.41.11-1', 'arch' => 'i386'},
186                 'bash' => {'version' => '4.1-3', 'arch' => 'i386'},
187                 'base-files' => {'version' => '5.6', 'arch' => 'i386'},
188                 'bash-static' => {'version' => '4.1-3', 'arch' => 'i386'},
189                 'all' => {'version' => '4.1-3', 'arch' => 'all'},
190                 'pbuilder' => { 'arch' => 'all', 'version' => '0.196' },
191             },
192 }, 'reading packages');