• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#!/usr/bin/python
2
3import unittest
4import common
5from autotest_lib.client.common_lib.test_utils import mock
6from autotest_lib.server import source_kernel, autotest, hosts
7
8
9class TestSourceKernel(unittest.TestCase):
10    def setUp(self):
11        self.god = mock.mock_god()
12        self.host = self.god.create_mock_class(hosts.RemoteHost, "host")
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
61if __name__ == "__main__":
62    unittest.main()
63