aboutsummaryrefslogtreecommitdiffstats
path: root/t/set.t
blob: ae44e3a1eb12831d50c82f590ea6ac054211ef46 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
#!/usr/bin/perl
# $Id: /local/youri/soft/submit/trunk/t/tags.t 3062 2007-06-28T16:21:35.624871Z guillaume  $

use Test::More tests => 7;
use Test::Exception;
use Youri::Package::RPM::Test;
use Youri::Submit::Test::Set;

my $test = Youri::Submit::Test::Set->new(
    skip => [ 'bar' ]
);

lives_ok {
    $test->run(
        undef,
        undef,
        undef,
        [
            Youri::Package::RPM::Test->new(tags => {
                arch => 'noarch'
            }),
            Youri::Package::RPM::Test->new(tags => {
                arch => 'src',
            })
        ]
    )
} 'one source and one binary package from the same source succeed';

throws_ok {
    $test->run(
        undef,
        undef,
        undef,
        [
            Youri::Package::RPM::Test->new(tags => {
                arch => 'src'
            }),
            Youri::Package::RPM::Test->new(tags => {
                arch      => 'noarch',
                sourcerpm => 'other-1-1.src.rpm',
            })
        ]
    )
} qr/not a canonical package set/,
'one source and one binary packages from different sources fails';

throws_ok {
    $test->run(
        undef,
        undef,
        undef,
        [
            Youri::Package::RPM::Test->new(tags => {
                arch => 'noarch'
            })
        ]
    )
} qr/number of source packages < 1/,
'just one source binary fails';

throws_ok {
    $test->run(
        undef,
        undef,
        undef,
        [
            Youri::Package::RPM::Test->new(tags => {
                arch => 'src'
            })
        ]
    )
} qr/number of binary packages < 1/,
'just one source binary fails';

throws_ok {
    $test->run(
        undef,
        undef,
        undef,
        [
            Youri::Package::RPM::Test->new(tags => {
                arch => 'src'
            }),
            Youri::Package::RPM::Test->new(tags => {
                arch => 'src'
            }),
        ]
    )
} qr/number of source packages > 1/,
'two source packages fails';

lives_ok {
    $test->run(
        undef,
        undef,
        undef,
        [
            Youri::Package::RPM::Test->new(tags => {
                arch => 'src'
            }),
            Youri::Package::RPM::Test->new(tags => {
                arch => 'noarch'
            }),
            Youri::Package::RPM::Test->new(tags => {
                arch => 'noarch'
            })
        ]
    )
}
'one source and two binary packages succedd';

lives_ok {
    $test->run(
        undef,
        undef,
        undef,
        [
            Youri::Package::RPM::Test->new(tags => {
                name    => 'bar',
                release => '1mdk'
            })
        ]
    )
} 'non-compliant package with exception succeed';