blob: a157efe313e3e50129fa80ebbee4a185ebbb5d97 (
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
|
#!/usr/bin/perl
# a-1 requires b-1
# a-2 requires b-2
#
# c requires d
# d1-1 provides d, but not d1-2
# d2-2 provides d, but not d2-1
#
# e-2 conflicts with f-1
#
# g-2 conflicts with h-1
#
use strict;
use lib '.', 't';
use helper;
use urpm::util;
use Test::More 'no_plan';
need_root_and_prepare();
my $name = 'split-transactions--promote';
urpmi_addmedia("$name-1 $::pwd/media/$name-1");
urpmi_addmedia("$name-2 $::pwd/media/$name-2");
test('--split-length 0');
test('--split-level 1');
sub test {
my ($split) = @_;
test_ab("$split --auto-select");
#- below need the promotion of "a-2" (upgraded from "a-1") to work
test_ab("$split b");
#- below need the promotion of "d2" (new installed package) to work
test_cd("$split d1");
#- below need the promotion of "f-2" (upgraded from "f-1") to work
test_ef("$split e");
#- below need the promotion of "h-2" (upgraded from "h-1") to work
test_gh("$split g");
}
sub test_ab {
my ($para) = @_;
urpmi("--media $name-1 --auto a b");
check_installed_names('a', 'b');
urpmi("--media $name-2 --auto $para");
check_installed_fullnames_and_remove('a-2-1', 'b-2-1');
}
sub test_cd {
my ($para) = @_;
urpmi("--media $name-1 --auto c");
check_installed_names('c', 'd1');
urpmi("--media $name-2 --auto $para");
check_installed_fullnames_and_remove('c-1-1', 'd1-2-1', 'd2-2-1');
}
sub test_ef {
my ($para) = @_;
urpmi("--media $name-1 --auto e f");
check_installed_names('f', 'e');
urpmi("--media $name-2 --auto $para");
check_installed_fullnames_and_remove('e-2-1', 'f-2-1');
}
sub test_gh {
my ($para) = @_;
urpmi("--media $name-1 --auto g h");
check_installed_names('g', 'h');
urpmi("--media $name-2 --auto $para");
check_installed_fullnames_and_remove('g-2-1', 'h-2-1');
}
|