diff options
-rw-r--r-- | meta/lib/oeqa/targetcontrol.py | 5 | ||||
-rw-r--r-- | meta/lib/oeqa/utils/commands.py | 5 | ||||
-rw-r--r-- | meta/lib/oeqa/utils/qemurunner.py | 2 |
3 files changed, 7 insertions, 5 deletions
diff --git a/meta/lib/oeqa/targetcontrol.py b/meta/lib/oeqa/targetcontrol.py index 6e8b781973..cdf382ee21 100644 --- a/meta/lib/oeqa/targetcontrol.py +++ b/meta/lib/oeqa/targetcontrol.py | |||
@@ -88,7 +88,7 @@ class QemuTarget(BaseTarget): | |||
88 | 88 | ||
89 | supported_image_fstypes = ['ext3', 'ext4', 'cpio.gz', 'wic'] | 89 | supported_image_fstypes = ['ext3', 'ext4', 'cpio.gz', 'wic'] |
90 | 90 | ||
91 | def __init__(self, d, logger, image_fstype=None): | 91 | def __init__(self, d, logger, image_fstype=None, boot_patterns=None): |
92 | 92 | ||
93 | import oe.types | 93 | import oe.types |
94 | 94 | ||
@@ -141,7 +141,8 @@ class QemuTarget(BaseTarget): | |||
141 | dump_dir = dump_dir, | 141 | dump_dir = dump_dir, |
142 | logger = logger, | 142 | logger = logger, |
143 | tmpfsdir = d.getVar("RUNQEMU_TMPFS_DIR"), | 143 | tmpfsdir = d.getVar("RUNQEMU_TMPFS_DIR"), |
144 | serial_ports = len(d.getVar("SERIAL_CONSOLES").split())) | 144 | serial_ports = len(d.getVar("SERIAL_CONSOLES").split()), |
145 | boot_patterns = boot_patterns) | ||
145 | 146 | ||
146 | self.monitor_dumper = MonitorDumper(dump_monitor_cmds, dump_dir, self.runner) | 147 | self.monitor_dumper = MonitorDumper(dump_monitor_cmds, dump_dir, self.runner) |
147 | if (self.monitor_dumper): | 148 | if (self.monitor_dumper): |
diff --git a/meta/lib/oeqa/utils/commands.py b/meta/lib/oeqa/utils/commands.py index bf2f49d0c0..ca22d69f29 100644 --- a/meta/lib/oeqa/utils/commands.py +++ b/meta/lib/oeqa/utils/commands.py | |||
@@ -312,7 +312,7 @@ def create_temp_layer(templayerdir, templayername, priority=999, recipepathspec= | |||
312 | f.write('LAYERSERIES_COMPAT_%s = "%s"\n' % (templayername, corenames)) | 312 | f.write('LAYERSERIES_COMPAT_%s = "%s"\n' % (templayername, corenames)) |
313 | 313 | ||
314 | @contextlib.contextmanager | 314 | @contextlib.contextmanager |
315 | def runqemu(pn, ssh=True, runqemuparams='', image_fstype=None, launch_cmd=None, qemuparams=None, overrides={}, discard_writes=True): | 315 | def runqemu(pn, ssh=True, runqemuparams='', image_fstype=None, launch_cmd=None, qemuparams=None, overrides={}, boot_patterns = {}, discard_writes=True): |
316 | """ | 316 | """ |
317 | Starts a context manager for a 'oeqa.targetcontrol.QemuTarget' resource. | 317 | Starts a context manager for a 'oeqa.targetcontrol.QemuTarget' resource. |
318 | The underlying Qemu will be booted into a shell when the generator yields | 318 | The underlying Qemu will be booted into a shell when the generator yields |
@@ -330,6 +330,7 @@ def runqemu(pn, ssh=True, runqemuparams='', image_fstype=None, launch_cmd=None, | |||
330 | image_fstype (str): IMAGE_FSTYPE to use | 330 | image_fstype (str): IMAGE_FSTYPE to use |
331 | launch_cmd (str): directly run this command and bypass automatic runqemu parameter generation | 331 | launch_cmd (str): directly run this command and bypass automatic runqemu parameter generation |
332 | overrides (dict): dict of "'<bitbake-variable>': value" pairs that allows overriding bitbake variables | 332 | overrides (dict): dict of "'<bitbake-variable>': value" pairs that allows overriding bitbake variables |
333 | boot_patterns (dict): dict of "'<pattern-name>': value" pairs to override default boot patterns, e.g. when not booting Linux | ||
333 | discard_writes (boolean): enables qemu -snapshot feature to prevent modifying original image | 334 | discard_writes (boolean): enables qemu -snapshot feature to prevent modifying original image |
334 | """ | 335 | """ |
335 | 336 | ||
@@ -361,7 +362,7 @@ def runqemu(pn, ssh=True, runqemuparams='', image_fstype=None, launch_cmd=None, | |||
361 | 362 | ||
362 | logdir = recipedata.getVar("TEST_LOG_DIR") | 363 | logdir = recipedata.getVar("TEST_LOG_DIR") |
363 | 364 | ||
364 | qemu = oeqa.targetcontrol.QemuTarget(recipedata, targetlogger, image_fstype) | 365 | qemu = oeqa.targetcontrol.QemuTarget(recipedata, targetlogger, image_fstype, boot_patterns=boot_patterns) |
365 | finally: | 366 | finally: |
366 | # We need to shut down tinfoil early here in case we actually want | 367 | # We need to shut down tinfoil early here in case we actually want |
367 | # to run tinfoil-using utilities with the running QEMU instance. | 368 | # to run tinfoil-using utilities with the running QEMU instance. |
diff --git a/meta/lib/oeqa/utils/qemurunner.py b/meta/lib/oeqa/utils/qemurunner.py index 63fc6f6b53..5c3a8e5999 100644 --- a/meta/lib/oeqa/utils/qemurunner.py +++ b/meta/lib/oeqa/utils/qemurunner.py | |||
@@ -103,7 +103,7 @@ class QemuRunner: | |||
103 | 103 | ||
104 | # Only override patterns that were set e.g. login user TESTIMAGE_BOOT_PATTERNS[send_login_user] = "webserver\n" | 104 | # Only override patterns that were set e.g. login user TESTIMAGE_BOOT_PATTERNS[send_login_user] = "webserver\n" |
105 | for pattern in accepted_patterns: | 105 | for pattern in accepted_patterns: |
106 | if not self.boot_patterns[pattern]: | 106 | if pattern not in self.boot_patterns or not self.boot_patterns[pattern]: |
107 | self.boot_patterns[pattern] = default_boot_patterns[pattern] | 107 | self.boot_patterns[pattern] = default_boot_patterns[pattern] |
108 | 108 | ||
109 | def create_socket(self): | 109 | def create_socket(self): |