tests: Add multiplextest

Add a test that exercises the multiplex system, as well
as the system to access parameters passed to the test
(self.params).
Signed-off-by: NLucas Meneghel Rodrigues <lmr@redhat.com>
上级 18d2f7bb
variants:
-multiplextest:
variants:
- env:
variants:
- production:
malloc_perturb = no
gcc_flags = -O3
- debug:
malloc_perturb = yes
gcc_flags = -g
variants:
- host:
variants:
- kernel_config:
variants:
- huge_pages:
huge_pages = yes
- numa_ballance_aggressive:
numa_balancing = 1
numa_balancing_migrate_deferred = 32
numa_balancing_scan_size_mb = 512
- numa_ballance_light:
numa_balancing = 1
numa_balancing_migrate_deferred = 8
numa_balancing_scan_size_mb = 32
variants:
- guest:
variants:
- os:
variants:
- windows:
os_type = windows
variants:
- xp:
win = xp
- 2k12:
win = 2k12
- 7:
win = 7
- linux:
os_type = linux
variants:
- fedora:
distro = fedora
- ubuntu:
distro = ubuntu
variants:
- hardware:
variants:
- disks:
variants:
- ide:
drive_format = ide
- scsi:
drive_format = scsi
- network:
variants:
- rtl_8139:
nic_model = rtl8139
- e1000:
nic_model = e1000
- virtio_net:
nic_model = virtio
enable_msix_vectors = yes
variants:
- tests:
variants:
- sync_test:
variants:
- standard:
sync_timeout = 30
sync_tries = 10
- aggressive:
sync_timeout = 10
sync_tries = 20
- ping_test:
variants:
- standard:
ping_tries = 10
ping_timeout = 20
- aggressive:
ping_flags = -f
ping_tries = 100
ping_timeout = 5
#!/usr/bin/python
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
#
# See LICENSE for more details.
#
# Copyright: Red Hat Inc. 2014
# Author: Ruda Moura <rmoura@redhat.com>
from avocado import test
from avocado import job
class multiplextest(test.Test):
"""
Execute the Linux Build test.
"""
def setup(self):
self.compile_code()
self.set_hugepages()
self.set_numa_balance()
self.assembly_vm()
if self.params.os_type == 'windows':
self.log.info('Preparing VM with Windows (%s)', self.params.win)
if self.params.os_type == 'linux':
self.log.info('Preparing VM with Linux (%s)', self.params.distro)
def compile_code(self):
self.log.info('Compile code')
self.log.info('gcc %s %s', self.params.gcc_flags, 'code.c')
def set_hugepages(self):
if self.params.huge_pages == 'yes':
self.log.info('Setting hugepages')
def set_numa_balance(self):
if self.params.numa_balance:
self.log.info('Numa balancing: %s', self.params.numa_balance)
if self.params.numa_balancing_migrate_deferred:
self.log.info('Numa balancing migrate deferred: %s',
self.params.numa_balancing_migrate_deferred)
def assembly_vm(self):
self.log.info('Assembling VM')
if self.params.drive_format:
self.log.info('Drive format: %s', self.params.drive_format)
if self.params.nic_model:
self.log.info('NIC model: %s', self.params.nic_model)
if self.params.enable_msx_vectors == 'yes':
self.log.info('Enabling msx models')
def action(self):
self.log.info('Executing synctest...')
self.log.info('synctest --timeout %s --tries %s',
self.params.sync_timeout,
self.params.sync_tries)
self.log.info('Executing ping test...')
cmdline = 'ping --timeout %s --tries %s' % (self.params.ping_timeout,
self.params.ping_tries)
if self.params.ping_flags:
cmdline += ' %s' % self.params.ping_flags
self.log.info(cmdline)
if __name__ == "__main__":
job.main()
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册