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-01-11 10:39:09 +0000
commitc856ed29dfd84ada1da9c403f53593b4ed653f6b (patch)
tree59f8c95ba4565e598ccda0d60bb6f5251cd85464 /meta
parentc5f7615505b2a51125932065014edbf272bd6798 (diff)
downloadpoky-c856ed29dfd84ada1da9c403f53593b4ed653f6b.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) 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>
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 73cd375dcb..cb8c12acce 100644
--- a/meta/classes/testimage.bbclass
+++ b/meta/classes/testimage.bbclass
@@ -77,7 +77,7 @@ TESTIMAGEDEPENDS += "${@bb.utils.contains('IMAGE_PKGTYPE', 'deb', 'apt-native:do
77TESTIMAGELOCK = "${TMPDIR}/testimage.lock" 77TESTIMAGELOCK = "${TMPDIR}/testimage.lock"
78TESTIMAGELOCK_qemuall = "" 78TESTIMAGELOCK_qemuall = ""
79 79
80TESTIMAGE_DUMP_DIR ?= "/tmp/oe-saved-tests/" 80TESTIMAGE_DUMP_DIR ?= "${LOG_DIR}/runtime-hostdump/"
81 81
82TESTIMAGE_UPDATE_VARS ?= "DL_DIR WORKDIR DEPLOY_DIR" 82TESTIMAGE_UPDATE_VARS ?= "DL_DIR WORKDIR DEPLOY_DIR"
83 83
@@ -249,6 +249,7 @@ def testimage_main(d):
249 'bootlog' : bootlog, 249 'bootlog' : bootlog,
250 'kvm' : kvm, 250 'kvm' : kvm,
251 'slirp' : slirp, 251 'slirp' : slirp,
252 'dump_dir' : d.getVar("TESTIMAGE_DUMP_DIR"),
252 } 253 }
253 254
254 # TODO: Currently BBPATH is needed for custom loading of targets. 255 # 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 943e29b0d9..db0482d68d 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