Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2231)

Unified Diff: client/bin/kernel_unittest.py

Issue 3554003: Merge remote branch 'cros/upstream' into tempbranch3 (Closed) Base URL: http://git.chromium.org/git/autotest.git
Patch Set: Created 10 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « client/bin/kernel.py ('k') | client/bin/partition.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: client/bin/kernel_unittest.py
diff --git a/client/bin/kernel_unittest.py b/client/bin/kernel_unittest.py
index 88d822de001542bca0f195c1647b300da0164165..fe40e6a1ab7cb452cefc3b4e05f8e68b99a97dc8 100755
--- a/client/bin/kernel_unittest.py
+++ b/client/bin/kernel_unittest.py
@@ -6,6 +6,94 @@ from autotest_lib.client.common_lib.test_utils import mock
from autotest_lib.client.bin import kernel, job, utils, kernelexpand
from autotest_lib.client.bin import kernel_config, boottool, os_dep
+
+class TestAddKernelToBootLoader(unittest.TestCase):
+
+ def add_to_bootloader(self, base_args, args, bootloader_args,
+ bootloader_root, tag='image', image='image',
+ initrd='initrd'):
+ god = mock.mock_god()
+ bootloader = god.create_mock_class(boottool.boottool, "boottool")
+
+ # record
+ bootloader.remove_kernel.expect_call(tag)
+ bootloader.add_kernel.expect_call(image, tag, initrd=initrd,
+ args=bootloader_args,
+ root=bootloader_root)
+
+ # run and check
+ kernel._add_kernel_to_bootloader(bootloader, base_args, tag, args,
+ image, initrd)
+ god.check_playback()
+
+
+ def test_add_kernel_to_bootloader(self):
+ self.add_to_bootloader(base_args='baseargs', args='',
+ bootloader_args='baseargs', bootloader_root=None)
+ self.add_to_bootloader(base_args='arg1 root=/dev/oldroot arg2',
+ args='root=/dev/newroot arg3',
+ bootloader_args='arg1 arg2 arg3',
+ bootloader_root='/dev/newroot')
+
+
+class TestBootableKernel(unittest.TestCase):
+
+ def setUp(self):
+ self.god = mock.mock_god()
+ self.god.stub_function(time, "time")
+ self.god.stub_function(utils, "system")
+ self.god.stub_function(kernel, "_add_kernel_to_bootloader")
+ job_ = self.god.create_mock_class(job.job, "job")
+ self.kernel = kernel.BootableKernel(job_)
+ self.kernel.job.bootloader = self.god.create_mock_class(
+ boottool.boottool, "boottool")
+
+
+ def tearDown(self):
+ # note: time.time() can only be unstubbed via tearDown()
+ self.god.unstub_all()
+
+
+ def boot_kernel(self, ident_check):
+ notes = "applied_patches"
+ when = 1
+ args = ''
+ base_args = 'base_args'
+ tag = 'ident'
+ subdir = 'subdir'
+ self.kernel.image = 'image'
+ self.kernel.initrd = 'initrd'
+ self.kernel.installed_as = tag
+
+ # record
+ args_ = args
+ if ident_check:
+ time.time.expect_call().and_return(when)
+ args_ += " IDENT=%d" % when
+ status = ["job.end_reboot_and_verify", when, tag, subdir, notes]
+ else:
+ status = ["job.end_reboot", subdir, tag, notes]
+ self.kernel.job.next_step_prepend.expect_call(status)
+ self.kernel.job.config_get.expect_call(
+ 'boot.default_args').and_return(base_args)
+ kernel._add_kernel_to_bootloader.expect_call(
+ self.kernel.job.bootloader, base_args, tag,
+ args_, self.kernel.image, self.kernel.initrd)
+ utils.system.expect_call('touch /fastboot')
+ self.kernel.job.start_reboot.expect_call()
+ self.kernel.job.reboot.expect_call(tag=tag)
+
+ # run and check
+ self.kernel._boot_kernel(args=args, ident_check=ident_check,
+ expected_ident=tag, subdir=subdir, notes=notes)
+ self.god.check_playback()
+
+
+ def test_boot_kernel(self):
+ self.boot_kernel(ident_check=False)
+ self.boot_kernel(ident_check=True)
+
+
class TestKernel(unittest.TestCase):
def setUp(self):
self.god = mock.mock_god()
@@ -473,47 +561,6 @@ class TestKernel(unittest.TestCase):
self.god.check_playback()
- def _setup_add_to_bootloader(self, tag='autotest', args='', image='image',
- initrd='initrd', base_args='baseargs',
- bootloader_args='baseargs',
- bootloader_root=None):
- self.construct_kernel()
-
- # setup
- self.kernel.image = image
- self.kernel.initrd = initrd
-
- # record
- self.job.config_get.expect_call(
- 'boot.default_args').and_return(base_args)
- self.job.bootloader.remove_kernel.expect_call(tag)
- self.job.bootloader.add_kernel.expect_call(
- image, tag, initrd=initrd, args=bootloader_args,
- root=bootloader_root)
-
-
- def test_add_to_bootloader(self):
- # setup
- self._setup_add_to_bootloader()
-
- # run and check
- self.kernel.add_to_bootloader()
- self.god.check_playback()
-
-
- def test_add_to_bootloader_root_args(self):
- # setup
- args = 'root=/dev/newroot arg3'
- self._setup_add_to_bootloader(args=args,
- base_args='arg1 root=/dev/oldroot arg2',
- bootloader_args='arg1 arg2 arg3',
- bootloader_root='/dev/newroot')
-
- # run and check
- self.kernel.add_to_bootloader(args=args)
- self.god.check_playback()
-
-
def test_get_kernel_build_arch1(self):
self.construct_kernel()
@@ -573,51 +620,23 @@ class TestKernel(unittest.TestCase):
self.construct_kernel()
self.god.stub_function(self.kernel, "get_kernel_build_ident")
self.god.stub_function(self.kernel, "install")
- self.god.stub_function(self.kernel, "add_to_bootloader")
+ self.god.stub_function(self.kernel, "_boot_kernel")
self.kernel.applied_patches = "applied_patches"
- when = 1
- args = ''
- self.kernel.installed_as = False
-
- # record
- self.kernel.get_kernel_build_ident.expect_call().and_return("ident")
- time.time.expect_call().and_return(when)
- args += " IDENT=%d" % (when)
- self.job.next_step_prepend.expect_call(["job.end_reboot_and_verify",
- when, "ident", self.subdir, self.kernel.applied_patches])
- self.kernel.install.expect_call()
- self.kernel.add_to_bootloader.expect_call(args=args,
- tag=False)
- self.job.start_reboot.expect_call()
- self.job.reboot.expect_call(tag=False)
-
- # run and check
- self.kernel.boot()
- self.god.check_playback()
-
-
- def test_boot_without_ident(self):
- self.construct_kernel()
- self.god.stub_function(self.kernel, "get_kernel_build_ident")
- self.god.stub_function(self.kernel, "install")
- self.god.stub_function(self.kernel, "add_to_bootloader")
- self.kernel.applied_patches = "applied_patches"
- when = 1
+ self.kernel.installed_as = None
args = ''
- self.kernel.installed_as = False
+ expected_ident = 'ident'
+ ident = True
# record
- self.kernel.get_kernel_build_ident.expect_call().and_return("ident")
- self.job.next_step_prepend.expect_call(["job.end_reboot",
- self.subdir, "ident", self.kernel.applied_patches])
self.kernel.install.expect_call()
- self.kernel.add_to_bootloader.expect_call(args=args,
- tag=False)
- self.job.start_reboot.expect_call()
- self.job.reboot.expect_call(tag=False)
+ self.kernel.get_kernel_build_ident.expect_call(
+ ).and_return(expected_ident)
+ self.kernel._boot_kernel.expect_call(
+ args, ident, expected_ident,
+ self.subdir, self.kernel.applied_patches)
# run and check
- self.kernel.boot(ident=False)
+ self.kernel.boot(args=args, ident=ident)
self.god.check_playback()
« no previous file with comments | « client/bin/kernel.py ('k') | client/bin/partition.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698