mbligh | 421a4f0 | 2008-07-16 20:38:22 +0000 | [diff] [blame] | 1 | #!/usr/bin/python |
| 2 | |
| 3 | import unittest |
| 4 | import common |
| 5 | from autotest_lib.client.common_lib.test_utils import mock |
jadmanski | 8d631c9 | 2008-08-18 21:12:40 +0000 | [diff] [blame] | 6 | from autotest_lib.server import source_kernel, autotest, hosts |
mbligh | 421a4f0 | 2008-07-16 20:38:22 +0000 | [diff] [blame] | 7 | |
| 8 | |
| 9 | class TestSourceKernel(unittest.TestCase): |
| 10 | def setUp(self): |
| 11 | self.god = mock.mock_god() |
jadmanski | 8d631c9 | 2008-08-18 21:12:40 +0000 | [diff] [blame] | 12 | self.host = self.god.create_mock_class(hosts.RemoteHost, "host") |
mbligh | 421a4f0 | 2008-07-16 20:38:22 +0000 | [diff] [blame] | 13 | self.god.stub_class(source_kernel.autotest, "Autotest") |
| 14 | self.kernel_autotest = source_kernel.autotest.Autotest.expect_new() |
| 15 | self.k = "kernel" |
| 16 | self.source_kernel = source_kernel.SourceKernel(self.k) |
| 17 | |
| 18 | # call configure to set config_file |
| 19 | self.config = "config_file" |
| 20 | self.source_kernel.configure(self.config) |
| 21 | |
| 22 | |
| 23 | def tearDown(self): |
| 24 | self.god.unstub_all() |
| 25 | |
| 26 | |
| 27 | def test_install(self): |
| 28 | # setup |
| 29 | ctlfile = ("testkernel = job.kernel('%s')\n" |
| 30 | "testkernel.install()\n" |
| 31 | "testkernel.add_to_bootloader()\n" %(self.k)) |
| 32 | |
| 33 | # record |
| 34 | self.kernel_autotest.install.expect_call(self.host) |
| 35 | self.host.get_tmp_dir.expect_call().and_return("tmpdir") |
| 36 | self.kernel_autotest.run.expect_call(ctlfile, "tmpdir", self.host) |
| 37 | |
| 38 | # run and check |
| 39 | self.source_kernel.install(self.host) |
| 40 | self.god.check_playback() |
| 41 | |
| 42 | |
| 43 | def test_build(self): |
| 44 | # setup |
| 45 | patches = "patches" |
| 46 | self.source_kernel.patch(patches) |
| 47 | ctlfile = ("testkernel = job.kernel('%s')\n" |
| 48 | "testkernel.patch('%s')\n" |
| 49 | "testkernel.config('%s')\n" |
| 50 | "testkernel.build()\n" % (self.k, patches, self.config)) |
| 51 | |
| 52 | # record |
| 53 | self.host.get_tmp_dir.expect_call().and_return("tmpdir") |
| 54 | self.kernel_autotest.run.expect_call(ctlfile, "tmpdir", self.host) |
| 55 | |
| 56 | # run and check |
| 57 | self.source_kernel.build(self.host) |
| 58 | self.god.check_playback() |
| 59 | |
| 60 | |
| 61 | if __name__ == "__main__": |
| 62 | unittest.main() |