#!/usr/bin/python import unittest import common from autotest_lib.client.common_lib.test_utils import mock from autotest_lib.server import source_kernel, autotest, hosts class TestSourceKernel(unittest.TestCase): def setUp(self): self.god = mock.mock_god() self.host = self.god.create_mock_class(hosts.RemoteHost, "host") self.god.stub_class(source_kernel.autotest, "Autotest") self.kernel_autotest = source_kernel.autotest.Autotest.expect_new() self.k = "kernel" self.source_kernel = source_kernel.SourceKernel(self.k) # call configure to set config_file self.config = "config_file" self.source_kernel.configure(self.config) def tearDown(self): self.god.unstub_all() def test_install(self): # setup ctlfile = ("testkernel = job.kernel('%s')\n" "testkernel.install()\n" "testkernel.add_to_bootloader()\n" %(self.k)) # record self.kernel_autotest.install.expect_call(self.host) self.host.get_tmp_dir.expect_call().and_return("tmpdir") self.kernel_autotest.run.expect_call(ctlfile, "tmpdir", self.host) # run and check self.source_kernel.install(self.host) self.god.check_playback() def test_build(self): # setup patches = "patches" self.source_kernel.patch(patches) ctlfile = ("testkernel = job.kernel('%s')\n" "testkernel.patch('%s')\n" "testkernel.config('%s')\n" "testkernel.build()\n" % (self.k, patches, self.config)) # record self.host.get_tmp_dir.expect_call().and_return("tmpdir") self.kernel_autotest.run.expect_call(ctlfile, "tmpdir", self.host) # run and check self.source_kernel.build(self.host) self.god.check_playback() if __name__ == "__main__": unittest.main()