144 lines
4.7 KiB
Python
Executable file
144 lines
4.7 KiB
Python
Executable file
#!/usr/bin/python
|
|
|
|
import unittest
|
|
from kernelexpand import decompose_kernel
|
|
from kernelexpand import mirror_kernel_components
|
|
|
|
km = 'http://www.kernel.org/pub/linux/kernel/'
|
|
akpm = km + 'people/akpm/patches/'
|
|
|
|
kml = 'http://www.example.com/mirror/kernel.org/'
|
|
akpml = 'http://www.example.com/mirror/akpm/'
|
|
|
|
mirrorA = [
|
|
[ akpm, akpml ],
|
|
[ km, kml ],
|
|
]
|
|
|
|
class kernelexpandTest(unittest.TestCase):
|
|
def test_decompose_simple(self):
|
|
correct = [ [ km + 'v2.6/linux-2.6.23.tar.bz2' ] ]
|
|
sample = decompose_kernel('2.6.23')
|
|
self.assertEqual(sample, correct)
|
|
|
|
|
|
def test_decompose_fail(self):
|
|
success = False
|
|
try:
|
|
sample = decompose_kernel('1.0.0.0.0')
|
|
success = True
|
|
except NameError:
|
|
pass
|
|
except Exception, e:
|
|
self.fail('expected NameError, got something else')
|
|
|
|
if success:
|
|
self.fail('expected NameError, was successful')
|
|
|
|
|
|
def test_decompose_rcN(self):
|
|
correct = [
|
|
[ km + 'v2.6/testing/v2.6.23/linux-2.6.23-rc1.tar.bz2',
|
|
km + 'v2.6/testing/linux-2.6.23-rc1.tar.bz2']
|
|
]
|
|
sample = decompose_kernel('2.6.23-rc1')
|
|
self.assertEqual(sample, correct)
|
|
|
|
|
|
def test_decompose_mmN(self):
|
|
correct = [
|
|
[ km + 'v2.6/linux-2.6.23.tar.bz2' ],
|
|
[ akpm + '2.6/2.6.23/2.6.23-mm1/2.6.23-mm1.bz2' ]
|
|
]
|
|
sample = decompose_kernel('2.6.23-mm1')
|
|
self.assertEqual(sample, correct)
|
|
|
|
|
|
def test_decompose_gitN(self):
|
|
correct = [
|
|
[ km + 'v2.6/linux-2.6.23.tar.bz2' ],
|
|
[ km + 'v2.6/snapshots/old/patch-2.6.23-git1.bz2',
|
|
km + 'v2.6/snapshots/patch-2.6.23-git1.bz2']
|
|
]
|
|
sample = decompose_kernel('2.6.23-git1')
|
|
self.assertEqual(sample, correct)
|
|
|
|
|
|
def test_decompose_rcN_mmN(self):
|
|
correct = [
|
|
[ km + 'v2.6/testing/v2.6.23/linux-2.6.23-rc1.tar.bz2',
|
|
km + 'v2.6/testing/linux-2.6.23-rc1.tar.bz2' ],
|
|
[ akpm + '2.6/2.6.23-rc1/2.6.23-rc1-mm1/2.6.23-rc1-mm1.bz2']
|
|
]
|
|
sample = decompose_kernel('2.6.23-rc1-mm1')
|
|
self.assertEqual(sample, correct)
|
|
|
|
|
|
def test_mirrorA_simple(self):
|
|
correct = [
|
|
[ kml + 'v2.6/linux-2.6.23.tar.bz2',
|
|
km + 'v2.6/linux-2.6.23.tar.bz2' ]
|
|
]
|
|
sample = decompose_kernel('2.6.23')
|
|
sample = mirror_kernel_components(mirrorA, sample)
|
|
|
|
self.assertEqual(sample, correct)
|
|
|
|
|
|
def test_mirrorA_rcN(self):
|
|
correct = [
|
|
[ kml + 'v2.6/testing/v2.6.23/linux-2.6.23-rc1.tar.bz2',
|
|
kml + 'v2.6/testing/linux-2.6.23-rc1.tar.bz2',
|
|
km + 'v2.6/testing/v2.6.23/linux-2.6.23-rc1.tar.bz2',
|
|
km + 'v2.6/testing/linux-2.6.23-rc1.tar.bz2' ]
|
|
]
|
|
sample = decompose_kernel('2.6.23-rc1')
|
|
sample = mirror_kernel_components(mirrorA, sample)
|
|
self.assertEqual(sample, correct)
|
|
|
|
|
|
def test_mirrorA_mmN(self):
|
|
correct = [
|
|
[ kml + 'v2.6/linux-2.6.23.tar.bz2',
|
|
km + 'v2.6/linux-2.6.23.tar.bz2'],
|
|
[ akpml + '2.6/2.6.23/2.6.23-mm1/2.6.23-mm1.bz2',
|
|
kml + 'people/akpm/patches/2.6/2.6.23/2.6.23-mm1/2.6.23-mm1.bz2',
|
|
akpm + '2.6/2.6.23/2.6.23-mm1/2.6.23-mm1.bz2' ]
|
|
]
|
|
|
|
sample = decompose_kernel('2.6.23-mm1')
|
|
sample = mirror_kernel_components(mirrorA, sample)
|
|
self.assertEqual(sample, correct)
|
|
|
|
|
|
def test_mirrorA_gitN(self):
|
|
correct = [
|
|
[ kml + 'v2.6/linux-2.6.23.tar.bz2',
|
|
km + 'v2.6/linux-2.6.23.tar.bz2'],
|
|
[ kml + 'v2.6/snapshots/old/patch-2.6.23-git1.bz2',
|
|
kml + 'v2.6/snapshots/patch-2.6.23-git1.bz2',
|
|
km + 'v2.6/snapshots/old/patch-2.6.23-git1.bz2',
|
|
km + 'v2.6/snapshots/patch-2.6.23-git1.bz2' ]
|
|
]
|
|
sample = decompose_kernel('2.6.23-git1')
|
|
sample = mirror_kernel_components(mirrorA, sample)
|
|
self.assertEqual(sample, correct)
|
|
|
|
|
|
def test_mirrorA_rcN_mmN(self):
|
|
correct = [
|
|
[ kml + 'v2.6/testing/v2.6.23/linux-2.6.23-rc1.tar.bz2',
|
|
kml + 'v2.6/testing/linux-2.6.23-rc1.tar.bz2',
|
|
km + 'v2.6/testing/v2.6.23/linux-2.6.23-rc1.tar.bz2',
|
|
km + 'v2.6/testing/linux-2.6.23-rc1.tar.bz2'],
|
|
[ akpml + '2.6/2.6.23-rc1/2.6.23-rc1-mm1/2.6.23-rc1-mm1.bz2',
|
|
kml + 'people/akpm/patches/2.6/2.6.23-rc1/2.6.23-rc1-mm1/2.6.23-rc1-mm1.bz2',
|
|
akpm + '2.6/2.6.23-rc1/2.6.23-rc1-mm1/2.6.23-rc1-mm1.bz2' ]
|
|
]
|
|
sample = decompose_kernel('2.6.23-rc1-mm1')
|
|
sample = mirror_kernel_components(mirrorA, sample)
|
|
self.assertEqual(sample, correct)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|