summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorRobert Yang <liezhi.yang@windriver.com>2019-01-10 15:49:49 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-02-25 22:27:45 +0000
commite8b9772ab83e432f3fab2be61d2b39f2c0bac0b9 (patch)
tree92609e6a02e942be3da279de2467622fe7283974 /meta
parent75bcf06098905a30aac56865c276780fee92a32b (diff)
downloadpoky-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>
Diffstat (limited to 'meta')
-rw-r--r--meta/classes/testimage.bbclass3
-rw-r--r--meta/lib/oeqa/runtime/context.py5
-rw-r--r--meta/lib/oeqa/targetcontrol.py2
-rw-r--r--meta/lib/oeqa/utils/dump.py2
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-
74TESTIMAGELOCK = "${TMPDIR}/testimage.lock" 74TESTIMAGELOCK = "${TMPDIR}/testimage.lock"
75TESTIMAGELOCK_qemuall = "" 75TESTIMAGELOCK_qemuall = ""
76 76
77TESTIMAGE_DUMP_DIR ?= "/tmp/oe-saved-tests/" 77TESTIMAGE_DUMP_DIR ?= "${LOG_DIR}/runtime-hostdump/"
78 78
79TESTIMAGE_UPDATE_VARS ?= "DL_DIR WORKDIR DEPLOY_DIR" 79TESTIMAGE_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