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