File: Linux-KernelSort.t

package info (click to toggle)
liblinux-kernelsort-perl 0.01-4
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, forky, sid, trixie
  • size: 164 kB
  • sloc: perl: 225; sh: 114; makefile: 2
file content (119 lines) | stat: -rw-r--r-- 4,058 bytes parent folder | download | duplicates (3)
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
# Before `make install' is performed this script should be runnable with
# `make test'. After `make install' it should work as `perl Linux-KernelSort.t'

use Test::More tests => 20;
BEGIN { use_ok('Linux::KernelSort') };

#########################

use Linux::KernelSort;
my $kernel = new Linux::KernelSort;

$kernel->{debug} = 0;
my $version1 = "2.6.19";
my $version2 = "2.6.19-rc2-git7";
my $bad_version = "bad-2.6.19-version";

ok ($kernel->version_check($version1) eq 0, "Valid:  $version1");
ok ($kernel->version_check($version2) eq 0, "Valid:  $version2");
ok ($kernel->version_check($bad_version) eq 1, "Invalid:  $version2");

ok ($kernel->rank("2.6.19") eq '2619.0.0.0.0.0', "Rank 2.6.19");
ok ($kernel->rank("2.6.19-mm1") eq '2619.0.0.0.0.1', "Rank 2.6.19-mm1");
ok ($kernel->rank("2.6.19-rc1") eq '2618.1.0.0.0.0', "Rank 2.6.19-rc1");
ok ($kernel->rank("2.6.19-rc1-git7") eq '2618.1.7.0.0.0', "Rank 2.6.19-rc1-git7");
ok ($kernel->rank("2.6.19-rc1-mm2") eq '2618.1.0.0.0.2', "Rank 2.6.19-rc1-mm2");
ok ($kernel->rank("2.6.19-rc1-scsi-misc2") eq '2618.1.0.2.0.0', "Rank 2.6.19-rc1-scsi-misc2");
ok ($kernel->rank("2.6.19-rc1-scsi-rc-fixes5") eq '2618.1.0.0.5.0', "Rank 2.6.19-rc1-scsi-rc-fixes5");
ok ( !defined ($kernel->rank($bad_version)), "Invalid Kernel");

ok ($kernel->compare($version1, $version2) == 1, "$version1 > $version2");
ok ($kernel->compare($version2, $version1) == -1, "$version2 < $version1");
ok ($kernel->compare($version1, $version1) == 0, "$version1 == $version2");
ok ($kernel->compare($bad_version, $version1) == -1, "$bad_version < $version1");
ok ($kernel->compare($version1, $bad_version) == 1, "$version1 > $bad_version");
ok ($kernel->compare($bad_version, $bad_version) == 0, "$bad_version == $bad_version");


my @kernel_list = ( '2.6.19',
                    '2.6.15',
                    '2.6.18',
                    '2.6.18-mm2',
                    '2.6.19-mm2',
                    '2.6.18-rc2',
                    '2.6.18-rc2-mm2',
                    '2.6.18-rc2-git2',
                    '2.6.18-rc2-git1',
                    '2.6.18-rc2-git35',
                    '2.6.18-rc10',
                    '2.6.18-mm1',
                    '2.6.18-rc2-mm1' );

my @kernel_sorted = ( '2.6.15',
                      '2.6.18-rc2',
                      '2.6.18-rc2-mm1',
                      '2.6.18-rc2-mm2',
                      '2.6.18-rc2-git1',
                      '2.6.18-rc2-git2',
                      '2.6.18-rc2-git35',
                      '2.6.18-rc10',
                      '2.6.18',
                      '2.6.18-mm1',
                      '2.6.18-mm2',
                      '2.6.19',
                      '2.6.19-mm2' );

my @sorted_list = $kernel->sort(@kernel_list);

my $size1 = @sorted_list;
my $size2 = @kernel_sorted;

if ($size1 != $size2) {
    fail("Kernel Sort (containing only valid kernel names)");
}

my $i;
for ($i = 0; $i < $size1; $i++) {
    if ($kernel_sorted[$i] ne $sorted_list[$i]) {
        fail ("Kernel Sort (containing only valid kernel names)");
        last;
    }
}

if ($i == $size1) {
    pass ("Kernel Sort (containing only valid kernel names)");
}

my @bad_kernel_list = ( '2.6.19',
                        '2.6.18-mm2',
                        '2.6.0',
                        'bad-2.6.0',
                        '2.6.0-foo',
                        '2.bad.version' );

my @bad_kernel_sorted = ( 'bad-2.6.0',
                          '2.6.0-foo',
                          '2.bad.version',
                          '2.6.0',
                          '2.6.18-mm2',
                          '2.6.19' );

@sorted_list = $kernel->sort (@bad_kernel_list);

$size1 = @sorted_list;
$size2 = @bad_kernel_sorted;

if ($size1 != $size2) {
    fail("Kernel Sort (containing invalid kernel names)");
}

for ($i = 0; $i < $size1; $i++) {
    if ($bad_kernel_sorted[$i] ne $sorted_list[$i]) {
        fail ("Kernel Sort (containing invalid kernel names)");
        last;
    }
}

if ($i == $size1) {
    pass ("Kernel Sort (containing invalid kernel names)");
}