diff options
Diffstat (limited to 'meta/lib')
-rw-r--r-- | meta/lib/oeqa/selftest/case.py | 30 | ||||
-rw-r--r-- | meta/lib/oeqa/selftest/context.py | 47 |
2 files changed, 4 insertions, 73 deletions
diff --git a/meta/lib/oeqa/selftest/case.py b/meta/lib/oeqa/selftest/case.py index ac3308d8a4..dcad4f76ec 100644 --- a/meta/lib/oeqa/selftest/case.py +++ b/meta/lib/oeqa/selftest/case.py | |||
@@ -6,7 +6,6 @@ | |||
6 | 6 | ||
7 | import sys | 7 | import sys |
8 | import os | 8 | import os |
9 | import shutil | ||
10 | import glob | 9 | import glob |
11 | import errno | 10 | import errno |
12 | from unittest.util import safe_repr | 11 | from unittest.util import safe_repr |
@@ -30,9 +29,7 @@ class OESelftestTestCase(OETestCase): | |||
30 | cls.builddir = cls.tc.config_paths['builddir'] | 29 | cls.builddir = cls.tc.config_paths['builddir'] |
31 | 30 | ||
32 | cls.localconf_path = cls.tc.config_paths['localconf'] | 31 | cls.localconf_path = cls.tc.config_paths['localconf'] |
33 | cls.localconf_backup = cls.tc.config_paths['localconf_class_backup'] | ||
34 | cls.local_bblayers_path = cls.tc.config_paths['bblayers'] | 32 | cls.local_bblayers_path = cls.tc.config_paths['bblayers'] |
35 | cls.local_bblayers_backup = cls.tc.config_paths['bblayers_class_backup'] | ||
36 | 33 | ||
37 | cls.testinc_path = os.path.join(cls.tc.config_paths['builddir'], | 34 | cls.testinc_path = os.path.join(cls.tc.config_paths['builddir'], |
38 | "conf/selftest.inc") | 35 | "conf/selftest.inc") |
@@ -43,8 +40,7 @@ class OESelftestTestCase(OETestCase): | |||
43 | 40 | ||
44 | cls._track_for_cleanup = [ | 41 | cls._track_for_cleanup = [ |
45 | cls.testinc_path, cls.testinc_bblayers_path, | 42 | cls.testinc_path, cls.testinc_bblayers_path, |
46 | cls.machineinc_path, cls.localconf_backup, | 43 | cls.machineinc_path] |
47 | cls.local_bblayers_backup] | ||
48 | 44 | ||
49 | cls.add_include() | 45 | cls.add_include() |
50 | 46 | ||
@@ -102,30 +98,6 @@ class OESelftestTestCase(OETestCase): | |||
102 | def setUp(self): | 98 | def setUp(self): |
103 | super(OESelftestTestCase, self).setUp() | 99 | super(OESelftestTestCase, self).setUp() |
104 | os.chdir(self.builddir) | 100 | os.chdir(self.builddir) |
105 | # Check if local.conf or bblayers.conf files backup exists | ||
106 | # from a previous failed test and restore them | ||
107 | if os.path.isfile(self.localconf_backup) or os.path.isfile( | ||
108 | self.local_bblayers_backup): | ||
109 | self.logger.debug("\ | ||
110 | Found a local.conf and/or bblayers.conf backup from a previously aborted test.\ | ||
111 | Restoring these files now, but tests should be re-executed from a clean environment\ | ||
112 | to ensure accurate results.") | ||
113 | try: | ||
114 | shutil.copyfile(self.localconf_backup, self.localconf_path) | ||
115 | except OSError as e: | ||
116 | if e.errno != errno.ENOENT: | ||
117 | raise | ||
118 | try: | ||
119 | shutil.copyfile(self.local_bblayers_backup, | ||
120 | self.local_bblayers_path) | ||
121 | except OSError as e: | ||
122 | if e.errno != errno.ENOENT: | ||
123 | raise | ||
124 | else: | ||
125 | # backup local.conf and bblayers.conf | ||
126 | shutil.copyfile(self.localconf_path, self.localconf_backup) | ||
127 | shutil.copyfile(self.local_bblayers_path, self.local_bblayers_backup) | ||
128 | self.logger.debug("Creating local.conf and bblayers.conf backups.") | ||
129 | # we don't know what the previous test left around in config or inc files | 101 | # we don't know what the previous test left around in config or inc files |
130 | # if it failed so we need a fresh start | 102 | # if it failed so we need a fresh start |
131 | try: | 103 | try: |
diff --git a/meta/lib/oeqa/selftest/context.py b/meta/lib/oeqa/selftest/context.py index cd893261d3..409698d57c 100644 --- a/meta/lib/oeqa/selftest/context.py +++ b/meta/lib/oeqa/selftest/context.py | |||
@@ -9,9 +9,7 @@ import time | |||
9 | import glob | 9 | import glob |
10 | import sys | 10 | import sys |
11 | import importlib | 11 | import importlib |
12 | import signal | ||
13 | import subprocess | 12 | import subprocess |
14 | from shutil import copyfile | ||
15 | from random import choice | 13 | from random import choice |
16 | 14 | ||
17 | import oeqa | 15 | import oeqa |
@@ -185,26 +183,10 @@ class OESelftestTestContextExecutor(OETestContextExecutor): | |||
185 | 183 | ||
186 | builddir = os.environ.get("BUILDDIR") | 184 | builddir = os.environ.get("BUILDDIR") |
187 | self.tc_kwargs['init']['config_paths'] = {} | 185 | self.tc_kwargs['init']['config_paths'] = {} |
188 | self.tc_kwargs['init']['config_paths']['testlayer_path'] = \ | 186 | self.tc_kwargs['init']['config_paths']['testlayer_path'] = get_test_layer() |
189 | get_test_layer() | ||
190 | self.tc_kwargs['init']['config_paths']['builddir'] = builddir | 187 | self.tc_kwargs['init']['config_paths']['builddir'] = builddir |
191 | self.tc_kwargs['init']['config_paths']['localconf'] = \ | 188 | self.tc_kwargs['init']['config_paths']['localconf'] = os.path.join(builddir, "conf/local.conf") |
192 | os.path.join(builddir, "conf/local.conf") | 189 | self.tc_kwargs['init']['config_paths']['bblayers'] = os.path.join(builddir, "conf/bblayers.conf") |
193 | self.tc_kwargs['init']['config_paths']['localconf_backup'] = \ | ||
194 | os.path.join(builddir, "conf/local.conf.orig") | ||
195 | self.tc_kwargs['init']['config_paths']['localconf_class_backup'] = \ | ||
196 | os.path.join(builddir, "conf/local.conf.bk") | ||
197 | self.tc_kwargs['init']['config_paths']['bblayers'] = \ | ||
198 | os.path.join(builddir, "conf/bblayers.conf") | ||
199 | self.tc_kwargs['init']['config_paths']['bblayers_backup'] = \ | ||
200 | os.path.join(builddir, "conf/bblayers.conf.orig") | ||
201 | self.tc_kwargs['init']['config_paths']['bblayers_class_backup'] = \ | ||
202 | os.path.join(builddir, "conf/bblayers.conf.bk") | ||
203 | |||
204 | copyfile(self.tc_kwargs['init']['config_paths']['localconf'], | ||
205 | self.tc_kwargs['init']['config_paths']['localconf_backup']) | ||
206 | copyfile(self.tc_kwargs['init']['config_paths']['bblayers'], | ||
207 | self.tc_kwargs['init']['config_paths']['bblayers_backup']) | ||
208 | 190 | ||
209 | def tag_filter(tags): | 191 | def tag_filter(tags): |
210 | if args.exclude_tags: | 192 | if args.exclude_tags: |
@@ -329,18 +311,9 @@ class OESelftestTestContextExecutor(OETestContextExecutor): | |||
329 | 311 | ||
330 | return rc | 312 | return rc |
331 | 313 | ||
332 | def _signal_clean_handler(self, signum, frame): | ||
333 | if self.ourpid == os.getpid(): | ||
334 | sys.exit(1) | ||
335 | |||
336 | def run(self, logger, args): | 314 | def run(self, logger, args): |
337 | self._process_args(logger, args) | 315 | self._process_args(logger, args) |
338 | 316 | ||
339 | # Setup a SIGTERM handler to allow restoration of files like local.conf and bblayers.conf | ||
340 | # but don't interfer with other processes | ||
341 | self.ourpid = os.getpid() | ||
342 | signal.signal(signal.SIGTERM, self._signal_clean_handler) | ||
343 | |||
344 | rc = None | 317 | rc = None |
345 | try: | 318 | try: |
346 | if args.machine: | 319 | if args.machine: |
@@ -369,20 +342,6 @@ class OESelftestTestContextExecutor(OETestContextExecutor): | |||
369 | rc = self._internal_run(logger, args) | 342 | rc = self._internal_run(logger, args) |
370 | finally: | 343 | finally: |
371 | config_paths = self.tc_kwargs['init']['config_paths'] | 344 | config_paths = self.tc_kwargs['init']['config_paths'] |
372 | if os.path.exists(config_paths['localconf_backup']): | ||
373 | copyfile(config_paths['localconf_backup'], | ||
374 | config_paths['localconf']) | ||
375 | os.remove(config_paths['localconf_backup']) | ||
376 | |||
377 | if os.path.exists(config_paths['bblayers_backup']): | ||
378 | copyfile(config_paths['bblayers_backup'], | ||
379 | config_paths['bblayers']) | ||
380 | os.remove(config_paths['bblayers_backup']) | ||
381 | |||
382 | if os.path.exists(config_paths['localconf_class_backup']): | ||
383 | os.remove(config_paths['localconf_class_backup']) | ||
384 | if os.path.exists(config_paths['bblayers_class_backup']): | ||
385 | os.remove(config_paths['bblayers_class_backup']) | ||
386 | 345 | ||
387 | output_link = os.path.join(os.path.dirname(args.output_log), | 346 | output_link = os.path.join(os.path.dirname(args.output_log), |
388 | "%s-results.log" % self.name) | 347 | "%s-results.log" % self.name) |