#!/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()