diff options
| author | Robert Yang <liezhi.yang@windriver.com> | 2019-01-10 15:49:49 +0800 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-02-25 22:27:45 +0000 |
| commit | e8b9772ab83e432f3fab2be61d2b39f2c0bac0b9 (patch) | |
| tree | 92609e6a02e942be3da279de2467622fe7283974 | |
| parent | 75bcf06098905a30aac56865c276780fee92a32b (diff) | |
| download | poky-e8b9772ab83e432f3fab2be61d2b39f2c0bac0b9.tar.gz | |
oeqa: make it work for multiple users
There are failures when multiple users run oe-selftest on the same
host:
PermissionError: [Errno 13] Permission denied: '/tmp/oe-saved-
tests/201812250324_qemu'
This is because /tmp/oe-saved-tests was created by user A, while user B tries
to write data in it, then the error will happen. This patch can fix the
problem.
Move the dumped data to ${LOG_DIR}/runtime-hostdump/ rather than
/tmp/oe-saved-tests/ to fix the problem.
(From OE-Core rev: e219fe5329599cd6c3682f521eaee3852a2c8980)
(From OE-Core rev: 872c6e5101f4f27dcfc63d141d1b6568f46d2b5f)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
| -rw-r--r-- | meta/classes/testimage.bbclass | 3 | ||||
| -rw-r--r-- | meta/lib/oeqa/runtime/context.py | 5 | ||||
| -rw-r--r-- | meta/lib/oeqa/targetcontrol.py | 2 | ||||
| -rw-r--r-- | meta/lib/oeqa/utils/dump.py | 2 |
4 files changed, 6 insertions, 6 deletions
diff --git a/meta/classes/testimage.bbclass b/meta/classes/testimage.bbclass index d77f8e6862..ff7176b8ad 100644 --- a/meta/classes/testimage.bbclass +++ b/meta/classes/testimage.bbclass | |||
| @@ -74,7 +74,7 @@ TESTIMAGEDEPENDS += "${@bb.utils.contains('IMAGE_PKGTYPE', 'rpm', 'createrepo-c- | |||
| 74 | TESTIMAGELOCK = "${TMPDIR}/testimage.lock" | 74 | TESTIMAGELOCK = "${TMPDIR}/testimage.lock" |
| 75 | TESTIMAGELOCK_qemuall = "" | 75 | TESTIMAGELOCK_qemuall = "" |
| 76 | 76 | ||
| 77 | TESTIMAGE_DUMP_DIR ?= "/tmp/oe-saved-tests/" | 77 | TESTIMAGE_DUMP_DIR ?= "${LOG_DIR}/runtime-hostdump/" |
| 78 | 78 | ||
| 79 | TESTIMAGE_UPDATE_VARS ?= "DL_DIR WORKDIR DEPLOY_DIR" | 79 | TESTIMAGE_UPDATE_VARS ?= "DL_DIR WORKDIR DEPLOY_DIR" |
| 80 | 80 | ||
| @@ -246,6 +246,7 @@ def testimage_main(d): | |||
| 246 | 'bootlog' : bootlog, | 246 | 'bootlog' : bootlog, |
| 247 | 'kvm' : kvm, | 247 | 'kvm' : kvm, |
| 248 | 'slirp' : slirp, | 248 | 'slirp' : slirp, |
| 249 | 'dump_dir' : d.getVar("TESTIMAGE_DUMP_DIR"), | ||
| 249 | } | 250 | } |
| 250 | 251 | ||
| 251 | # TODO: Currently BBPATH is needed for custom loading of targets. | 252 | # TODO: Currently BBPATH is needed for custom loading of targets. |
diff --git a/meta/lib/oeqa/runtime/context.py b/meta/lib/oeqa/runtime/context.py index 0294003fc7..f3341b2e33 100644 --- a/meta/lib/oeqa/runtime/context.py +++ b/meta/lib/oeqa/runtime/context.py | |||
| @@ -49,7 +49,6 @@ class OERuntimeTestContextExecutor(OETestContextExecutor): | |||
| 49 | default_manifest = 'data/manifest' | 49 | default_manifest = 'data/manifest' |
| 50 | default_server_ip = '192.168.7.1' | 50 | default_server_ip = '192.168.7.1' |
| 51 | default_target_ip = '192.168.7.2' | 51 | default_target_ip = '192.168.7.2' |
| 52 | default_host_dumper_dir = '/tmp/oe-saved-tests' | ||
| 53 | default_extract_dir = 'packages/extracted' | 52 | default_extract_dir = 'packages/extracted' |
| 54 | 53 | ||
| 55 | def register_commands(self, logger, subparsers): | 54 | def register_commands(self, logger, subparsers): |
| @@ -71,9 +70,7 @@ class OERuntimeTestContextExecutor(OETestContextExecutor): | |||
| 71 | % self.default_server_ip) | 70 | % self.default_server_ip) |
| 72 | 71 | ||
| 73 | runtime_group.add_argument('--host-dumper-dir', action='store', | 72 | runtime_group.add_argument('--host-dumper-dir', action='store', |
| 74 | default=self.default_host_dumper_dir, | 73 | help="Directory where host status is dumped, if tests fails") |
| 75 | help="Directory where host status is dumped, if tests fails, default: %s" \ | ||
| 76 | % self.default_host_dumper_dir) | ||
| 77 | 74 | ||
| 78 | runtime_group.add_argument('--packages-manifest', action='store', | 75 | runtime_group.add_argument('--packages-manifest', action='store', |
| 79 | default=self.default_manifest, | 76 | default=self.default_manifest, |
diff --git a/meta/lib/oeqa/targetcontrol.py b/meta/lib/oeqa/targetcontrol.py index 97d67adbde..1868ad3206 100644 --- a/meta/lib/oeqa/targetcontrol.py +++ b/meta/lib/oeqa/targetcontrol.py | |||
| @@ -107,6 +107,8 @@ class QemuTarget(BaseTarget): | |||
| 107 | dump_target_cmds = d.getVar("testimage_dump_target") | 107 | dump_target_cmds = d.getVar("testimage_dump_target") |
| 108 | dump_host_cmds = d.getVar("testimage_dump_host") | 108 | dump_host_cmds = d.getVar("testimage_dump_host") |
| 109 | dump_dir = d.getVar("TESTIMAGE_DUMP_DIR") | 109 | dump_dir = d.getVar("TESTIMAGE_DUMP_DIR") |
| 110 | if not dump_dir: | ||
| 111 | dump_dir = os.path.join(d.getVar('LOG_DIR'), 'runtime-hostdump') | ||
| 110 | use_kvm = oe.types.qemu_use_kvm(d.getVar('QEMU_USE_KVM'), d.getVar('TARGET_ARCH')) | 112 | use_kvm = oe.types.qemu_use_kvm(d.getVar('QEMU_USE_KVM'), d.getVar('TARGET_ARCH')) |
| 111 | 113 | ||
| 112 | # Log QemuRunner log output to a file | 114 | # Log QemuRunner log output to a file |
diff --git a/meta/lib/oeqa/utils/dump.py b/meta/lib/oeqa/utils/dump.py index 5a7edc1a86..79c22b75c4 100644 --- a/meta/lib/oeqa/utils/dump.py +++ b/meta/lib/oeqa/utils/dump.py | |||
| @@ -12,7 +12,7 @@ class BaseDumper(object): | |||
| 12 | self.cmds = [] | 12 | self.cmds = [] |
| 13 | # Some testing doesn't inherit testimage, so it is needed | 13 | # Some testing doesn't inherit testimage, so it is needed |
| 14 | # to set some defaults. | 14 | # to set some defaults. |
| 15 | self.parent_dir = parent_dir or "/tmp/oe-saved-tests" | 15 | self.parent_dir = parent_dir |
| 16 | dft_cmds = """ top -bn1 | 16 | dft_cmds = """ top -bn1 |
| 17 | iostat -x -z -N -d -p ALL 20 2 | 17 | iostat -x -z -N -d -p ALL 20 2 |
| 18 | ps -ef | 18 | ps -ef |
