mirror of
https://git.kernel.org/pub/scm/network/wireless/iwd.git
synced 2025-02-16 15:20:42 +01:00
test-runner: Unify QEMU/UML logging code
The MountInfo tuple was changed to explicitly take a source string. This is redundant for UML and system mounts since the fstype/source are the same, but it allows QEMU to specify the '9p' fstype and use MountInfo rather than calling mount() explicitly. This also moves logging cleanup into _prepare_mounts so both UML and QEMU can use it.
This commit is contained in:
parent
1a903001f9
commit
5710cc097b
@ -24,19 +24,19 @@ MS_STRICTATIME = 1 << 24
|
|||||||
STDIN_FILENO = 0
|
STDIN_FILENO = 0
|
||||||
TIOCSTTY = 0x540E
|
TIOCSTTY = 0x540E
|
||||||
|
|
||||||
MountInfo = namedtuple('MountInfo', 'fstype target options flags')
|
MountInfo = namedtuple('MountInfo', 'fstype source target options flags')
|
||||||
DevInfo = namedtuple('DevInfo', 'target linkpath')
|
DevInfo = namedtuple('DevInfo', 'target linkpath')
|
||||||
|
|
||||||
mounts_common = [
|
mounts_common = [
|
||||||
MountInfo('sysfs', '/sys', '', MS_NOSUID|MS_NOEXEC|MS_NODEV),
|
MountInfo('sysfs', 'sysfs', '/sys', '', MS_NOSUID|MS_NOEXEC|MS_NODEV),
|
||||||
MountInfo('proc', '/proc', '', MS_NOSUID|MS_NOEXEC|MS_NODEV),
|
MountInfo('proc', 'proc', '/proc', '', MS_NOSUID|MS_NOEXEC|MS_NODEV),
|
||||||
MountInfo('devpts', '/dev/pts', 'mode=0620', MS_NOSUID|MS_NOEXEC),
|
MountInfo('devpts', 'devpts', '/dev/pts', 'mode=0620', MS_NOSUID|MS_NOEXEC),
|
||||||
MountInfo('tmpfs', '/dev/shm', 'mode=1777',
|
MountInfo('tmpfs', 'tmpfs', '/dev/shm', 'mode=1777',
|
||||||
MS_NOSUID|MS_NODEV|MS_STRICTATIME),
|
MS_NOSUID|MS_NODEV|MS_STRICTATIME),
|
||||||
MountInfo('tmpfs', '/run', 'mode=0755',
|
MountInfo('tmpfs', 'tmpfs', '/run', 'mode=0755',
|
||||||
MS_NOSUID|MS_NODEV|MS_STRICTATIME),
|
MS_NOSUID|MS_NODEV|MS_STRICTATIME),
|
||||||
MountInfo('tmpfs', '/tmp', '', 0),
|
MountInfo('tmpfs', 'tmpfs', '/tmp', '', 0),
|
||||||
MountInfo('tmpfs', '/usr/share/dbus-1', 'mode=0755',
|
MountInfo('tmpfs', 'tmpfs', '/usr/share/dbus-1', 'mode=0755',
|
||||||
MS_NOSUID|MS_NOEXEC|MS_NODEV|MS_STRICTATIME),
|
MS_NOSUID|MS_NOEXEC|MS_NODEV|MS_STRICTATIME),
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -267,6 +267,16 @@ class RunnerAbstract:
|
|||||||
copytree(self.args.testhome + '/autotests/misc/secrets', '/tmp/secrets')
|
copytree(self.args.testhome + '/autotests/misc/secrets', '/tmp/secrets')
|
||||||
copy(self.args.testhome + '/autotests/misc/phonesim/phonesim.conf', '/tmp')
|
copy(self.args.testhome + '/autotests/misc/phonesim/phonesim.conf', '/tmp')
|
||||||
|
|
||||||
|
# Clear out any log files from other test runs
|
||||||
|
if self.args.log:
|
||||||
|
for f in [os.path.join(self.args.log, file) for file in os.listdir(self.args.log)]:
|
||||||
|
print("removing %s" % f)
|
||||||
|
|
||||||
|
if os.path.isdir(f):
|
||||||
|
rmtree(f)
|
||||||
|
else:
|
||||||
|
os.remove(f)
|
||||||
|
|
||||||
def cleanup_environment(self):
|
def cleanup_environment(self):
|
||||||
rmtree('/tmp/iwd')
|
rmtree('/tmp/iwd')
|
||||||
rmtree('/tmp/certs')
|
rmtree('/tmp/certs')
|
||||||
@ -283,7 +293,7 @@ class RunnerAbstract:
|
|||||||
except:
|
except:
|
||||||
os.mkdir(entry.target, 755)
|
os.mkdir(entry.target, 755)
|
||||||
|
|
||||||
mount(entry.fstype, entry.target, entry.fstype, entry.flags,
|
mount(entry.source, entry.target, entry.fstype, entry.flags,
|
||||||
entry.options)
|
entry.options)
|
||||||
|
|
||||||
for entry in dev_table:
|
for entry in dev_table:
|
||||||
@ -451,7 +461,19 @@ class QemuRunner(RunnerAbstract):
|
|||||||
self.cmdline = qemu_cmdline
|
self.cmdline = qemu_cmdline
|
||||||
|
|
||||||
def prepare_environment(self):
|
def prepare_environment(self):
|
||||||
mounts = [ MountInfo('debugfs', '/sys/kernel/debug', '', 0) ]
|
mounts = [ MountInfo('debugfs', 'debugfs', '/sys/kernel/debug', '', 0) ]
|
||||||
|
|
||||||
|
if self.args.log:
|
||||||
|
mounts.append(MountInfo('9p', 'logdir', self.args.log,
|
||||||
|
'trans=virtio,version=9p2000.L,msize=10240', 0))
|
||||||
|
|
||||||
|
if self.args.monitor:
|
||||||
|
mounts.append(MountInfo('9p', 'mondir', self.args.monitor_parent,
|
||||||
|
'trans=virtio,version=9p2000.L,msize=10240', 0))
|
||||||
|
|
||||||
|
if self.args.result:
|
||||||
|
mounts.append(MountInfo('9p', 'resultdir', self.args.result_parent,
|
||||||
|
'trans=virtio,version=9p2000.L,msize=10240', 0))
|
||||||
|
|
||||||
self._prepare_mounts(extra=mounts)
|
self._prepare_mounts(extra=mounts)
|
||||||
|
|
||||||
@ -459,25 +481,6 @@ class QemuRunner(RunnerAbstract):
|
|||||||
|
|
||||||
fcntl.ioctl(STDIN_FILENO, TIOCSTTY, 1)
|
fcntl.ioctl(STDIN_FILENO, TIOCSTTY, 1)
|
||||||
|
|
||||||
if self.args.log:
|
|
||||||
mount('logdir', self.args.log, '9p', 0,
|
|
||||||
'trans=virtio,version=9p2000.L,msize=10240')
|
|
||||||
# Clear out any log files from other test runs
|
|
||||||
for f in glob('%s/*' % self.args.log):
|
|
||||||
print("removing %s" % f)
|
|
||||||
|
|
||||||
if os.path.isdir(f):
|
|
||||||
rmtree(f)
|
|
||||||
else:
|
|
||||||
os.remove(f)
|
|
||||||
if self.args.monitor:
|
|
||||||
mount('mondir', self.args.monitor_parent, '9p', 0,
|
|
||||||
'trans=virtio,version=9p2000.L,msize=10240')
|
|
||||||
|
|
||||||
if self.args.result:
|
|
||||||
mount('resultdir', self.args.result_parent, '9p', 0,
|
|
||||||
'trans=virtio,version=9p2000.L,msize=10240')
|
|
||||||
|
|
||||||
def stop(self):
|
def stop(self):
|
||||||
RB_AUTOBOOT = 0x01234567
|
RB_AUTOBOOT = 0x01234567
|
||||||
#
|
#
|
||||||
@ -513,16 +516,16 @@ class UmlRunner(RunnerAbstract):
|
|||||||
mounts = []
|
mounts = []
|
||||||
|
|
||||||
if self.args.log:
|
if self.args.log:
|
||||||
mounts.append(MountInfo('hostfs', self.args.log,
|
mounts.append(MountInfo('hostfs', 'hostfs', self.args.log,
|
||||||
self.args.log, 0))
|
self.args.log, 0))
|
||||||
|
|
||||||
if self.args.monitor:
|
if self.args.monitor:
|
||||||
mounts.append(MountInfo('hostfs', self.args.monitor_parent,
|
mounts.append(MountInfo('hostfs', 'hostfs', self.args.monitor_parent,
|
||||||
self.args.monitor_parent, 0))
|
self.args.monitor_parent, 0))
|
||||||
|
|
||||||
if self.args.result:
|
if self.args.result:
|
||||||
mounts.append(MountInfo('hostfs', self.args.result_parent,
|
mounts.append(MountInfo('hostfs', 'hostfs', self.args.result_parent,
|
||||||
self.args.result_parent, 0))
|
self.args.result_parent, 0))
|
||||||
|
|
||||||
self._prepare_mounts(extra=mounts)
|
self._prepare_mounts(extra=mounts)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user