blob: 73adcada44163fd8cd86acef28590c5664840ab6 (
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
|
#!/usr/bin/perl
use strict;
use lib '.', 't';
use helper;
use Test::More 'no_plan';
my $medium_name = 'failing-scriptlets';
need_root_and_prepare();
test_install_rpm_fail('pre');
test_install_rpm_fail('pretrans');
test_install_rpm('post');
require urpm::select;
if (urpm::select::_rpm_version() lt 4.13.0 && -e '/etc/mageia-release') {
test_install_rpm('preun');
} else {
test_install_rpm_but_uninstall_fail('preun');
}
test_install_rpm('postun');
test_install_rpm('posttrans');
test_install_upgrade_rpm('triggerprein');
test_install_upgrade_rpm('triggerin');
test_install_upgrade_rpm('triggerun');
test_install_upgrade_rpm('triggerpostun');
sub test_install_rpm {
my ($name) = @_;
test_install_rpm_no_remove('sh');
system_("rpm --root $::pwd/root -i media/$medium_name/$name-*.rpm");
check_installed_fullnames_and_remove("$name-1-1", "sh-1-1");
}
sub test_install_rpm_no_remove {
my ($name) = @_;
system_("rpm --root $::pwd/root -i media/$medium_name/$name-*.rpm");
check_installed_fullnames("$name-1-1");
}
sub test_install_rpm_fail {
my ($name) = @_;
test_install_rpm_no_remove('sh');
system_should_fail("rpm --root $::pwd/root -i media/$medium_name/$name-*.rpm");
check_installed_fullnames_and_remove("sh-1-1");
}
sub test_install_rpm_but_uninstall_fail {
my ($name) = @_;
test_install_rpm_no_remove('sh');
system_("rpm --root $::pwd/root -i media/$medium_name/$name-*.rpm");
check_installed_fullnames("$name-1-1", "sh-1-1");
system_should_fail("rpm --root $::pwd/root -e $name");
system_("rpm --root $::pwd/root -e $name --nopreun");
check_installed_fullnames_and_remove("sh-1-1");
}
sub test_install_upgrade_rpm {
my ($name) = @_;
test_install_rpm_no_remove('sh');
system_("rpm --root $::pwd/root -i media/$medium_name/$name-1-*.rpm");
check_installed_fullnames("$name-1-1", "sh-1-1");
system_("rpm --root $::pwd/root -U media/$medium_name/$name-2-*.rpm");
check_installed_fullnames_and_remove("$name-2-1", "sh-1-1");
}
|