tests/ssh_linux_malta: Refactor how to get image/kernel info
The qcow and kernel images use a similar pattern regarding they are for big/little endianess, or 32/64 bit. Refactor using more dictionary keys. Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by: Aleksandar Markovic <amarkovic@wavecomp.com> Reviewed-by: Aleksandar Markovic <amarkovic@wavecomp.com> Message-Id: <20191019153437.9820-11-f4bug@amsat.org>
This commit is contained in:
parent
848149ad59
commit
a7b198ed7d
@ -25,15 +25,44 @@ class LinuxSSH(Test):
|
||||
KERNEL_COMMON_COMMAND_LINE = 'printk.time=0 '
|
||||
VM_IP = '127.0.0.1'
|
||||
|
||||
BASE_URL = 'https://people.debian.org/~aurel32/qemu/'
|
||||
IMAGE_INFO = {
|
||||
'be': {'image_url': ('https://people.debian.org/~aurel32/qemu/mips/'
|
||||
'debian_wheezy_mips_standard.qcow2'),
|
||||
'image_hash': '8987a63270df67345b2135a6b7a4885a35e392d5'},
|
||||
'le': {'image_url': ('https://people.debian.org/~aurel32/qemu/mipsel/'
|
||||
'debian_wheezy_mipsel_standard.qcow2'),
|
||||
'image_hash': '7866764d9de3ef536ffca24c9fb9f04ffdb45802'}
|
||||
'be': {'base_url': 'mips',
|
||||
'image_name': 'debian_wheezy_mips_standard.qcow2',
|
||||
'image_hash': '8987a63270df67345b2135a6b7a4885a35e392d5',
|
||||
'kernel_hash': {
|
||||
32: '592e384a4edc16dade52a6cd5c785c637bcbc9ad',
|
||||
64: 'db6eea7de35d36c77d8c165b6bcb222e16eb91db'}
|
||||
},
|
||||
'le': {'base_url': 'mipsel',
|
||||
'image_name': 'debian_wheezy_mipsel_standard.qcow2',
|
||||
'image_hash': '7866764d9de3ef536ffca24c9fb9f04ffdb45802',
|
||||
'kernel_hash': {
|
||||
32: 'a66bea5a8adaa2cb3d36a1d4e0ccdb01be8f6c2a',
|
||||
64: '6a7f77245acf231415a0e8b725d91ed2f3487794'}
|
||||
}
|
||||
}
|
||||
CPU_INFO = {
|
||||
32: {'kernel_release': '3.2.0-4-4kc-malta'},
|
||||
64: {'kernel_release': '3.2.0-4-5kc-malta'}
|
||||
}
|
||||
|
||||
def get_url(self, endianess, path=''):
|
||||
qkey = {'le': 'el', 'be': ''}
|
||||
return '%s/mips%s/%s' % (self.BASE_URL, qkey[endianess], path)
|
||||
|
||||
def get_image_info(self, endianess):
|
||||
dinfo = self.IMAGE_INFO[endianess]
|
||||
image_url = self.get_url(endianess, dinfo['image_name'])
|
||||
image_hash = dinfo['image_hash']
|
||||
return (image_url, image_hash)
|
||||
|
||||
def get_kernel_info(self, endianess, wordsize):
|
||||
minfo = self.CPU_INFO[wordsize]
|
||||
kernel_url = self.get_url(endianess,
|
||||
'vmlinux-%s' % minfo['kernel_release'])
|
||||
kernel_hash = self.IMAGE_INFO[endianess]['kernel_hash'][wordsize]
|
||||
return kernel_url, kernel_hash
|
||||
|
||||
@skipUnless(ssh.SSH_CLIENT_BINARY, 'No SSH client available')
|
||||
@skipUnless(os.getenv('AVOCADO_TIMEOUT_EXPECTED'), 'Test might timeout')
|
||||
@ -91,8 +120,7 @@ class LinuxSSH(Test):
|
||||
return stdout_lines, stderr_lines
|
||||
|
||||
def boot_debian_wheezy_image_and_ssh_login(self, endianess, kernel_path):
|
||||
image_url = self.IMAGE_INFO[endianess]['image_url']
|
||||
image_hash = self.IMAGE_INFO[endianess]['image_hash']
|
||||
image_url, image_hash = self.get_image_info(endianess)
|
||||
image_path = self.fetch_asset(image_url, asset_hash=image_hash)
|
||||
|
||||
self.vm.set_machine('malta')
|
||||
@ -184,7 +212,10 @@ class LinuxSSH(Test):
|
||||
'md5sum /dev/mtd2ro',
|
||||
'0dfbe8aa4c20b52e1b8bf3cb6cbdf193')
|
||||
|
||||
def check_mips_malta(self, endianess, kernel_path, uname_m):
|
||||
def check_mips_malta(self, uname_m, endianess):
|
||||
wordsize = 64 if '64' in uname_m else 32
|
||||
kernel_url, kernel_hash = self.get_kernel_info(endianess, wordsize)
|
||||
kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
|
||||
self.boot_debian_wheezy_image_and_ssh_login(endianess, kernel_path)
|
||||
|
||||
stdout, _ = self.ssh_command('uname -a')
|
||||
@ -200,12 +231,7 @@ class LinuxSSH(Test):
|
||||
:avocado: tags=endian:big
|
||||
:avocado: tags=device:pcnet32
|
||||
"""
|
||||
kernel_url = ('https://people.debian.org/~aurel32/qemu/mips/'
|
||||
'vmlinux-3.2.0-4-4kc-malta')
|
||||
kernel_hash = '592e384a4edc16dade52a6cd5c785c637bcbc9ad'
|
||||
kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
|
||||
|
||||
self.check_mips_malta('be', kernel_path, 'mips')
|
||||
self.check_mips_malta('mips', 'be')
|
||||
|
||||
def test_mips_malta32el_kernel3_2_0(self):
|
||||
"""
|
||||
@ -214,12 +240,7 @@ class LinuxSSH(Test):
|
||||
:avocado: tags=endian:little
|
||||
:avocado: tags=device:pcnet32
|
||||
"""
|
||||
kernel_url = ('https://people.debian.org/~aurel32/qemu/mipsel/'
|
||||
'vmlinux-3.2.0-4-4kc-malta')
|
||||
kernel_hash = 'a66bea5a8adaa2cb3d36a1d4e0ccdb01be8f6c2a'
|
||||
kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
|
||||
|
||||
self.check_mips_malta('le', kernel_path, 'mips')
|
||||
self.check_mips_malta('mips', 'le')
|
||||
|
||||
def test_mips_malta64eb_kernel3_2_0(self):
|
||||
"""
|
||||
@ -228,11 +249,7 @@ class LinuxSSH(Test):
|
||||
:avocado: tags=endian:big
|
||||
:avocado: tags=device:pcnet32
|
||||
"""
|
||||
kernel_url = ('https://people.debian.org/~aurel32/qemu/mips/'
|
||||
'vmlinux-3.2.0-4-5kc-malta')
|
||||
kernel_hash = 'db6eea7de35d36c77d8c165b6bcb222e16eb91db'
|
||||
kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
|
||||
self.check_mips_malta('be', kernel_path, 'mips64')
|
||||
self.check_mips_malta('mips64', 'be')
|
||||
|
||||
def test_mips_malta64el_kernel3_2_0(self):
|
||||
"""
|
||||
@ -241,8 +258,4 @@ class LinuxSSH(Test):
|
||||
:avocado: tags=endian:little
|
||||
:avocado: tags=device:pcnet32
|
||||
"""
|
||||
kernel_url = ('https://people.debian.org/~aurel32/qemu/mipsel/'
|
||||
'vmlinux-3.2.0-4-5kc-malta')
|
||||
kernel_hash = '6a7f77245acf231415a0e8b725d91ed2f3487794'
|
||||
kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
|
||||
self.check_mips_malta('le', kernel_path, 'mips64')
|
||||
self.check_mips_malta('mips64', 'le')
|
||||
|
Loading…
Reference in New Issue
Block a user