aboutsummaryrefslogtreecommitdiff
path: root/tests/acceptance
diff options
context:
space:
mode:
Diffstat (limited to 'tests/acceptance')
-rw-r--r--tests/acceptance/linux_ssh_mips_malta.py106
1 files changed, 58 insertions, 48 deletions
diff --git a/tests/acceptance/linux_ssh_mips_malta.py b/tests/acceptance/linux_ssh_mips_malta.py
index 25a1df5098..aa12001942 100644
--- a/tests/acceptance/linux_ssh_mips_malta.py
+++ b/tests/acceptance/linux_ssh_mips_malta.py
@@ -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: {'cpu': 'MIPS 24Kc', 'kernel_release': '3.2.0-4-4kc-malta'},
+ 64: {'cpu': 'MIPS 20Kc', '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')
@@ -102,7 +130,7 @@ class LinuxSSH(Test):
self.vm.add_args('-no-reboot',
'-kernel', kernel_path,
'-append', kernel_command_line,
- '-hda', image_path,
+ '-drive', 'file=%s,snapshot=on' % image_path,
'-netdev', 'user,id=vnet,hostfwd=:127.0.0.1:0-:22',
'-device', 'pcnet,netdev=vnet')
self.vm.launch()
@@ -127,34 +155,31 @@ class LinuxSSH(Test):
else:
self.fail('"%s" output does not contain "%s"' % (cmd, exp))
- def run_common_commands(self):
+ def run_common_commands(self, wordsize):
self.ssh_command_output_contains(
'cat /proc/cpuinfo',
- '24Kc')
+ self.CPU_INFO[wordsize]['cpu'])
self.ssh_command_output_contains(
'uname -m',
'mips')
self.ssh_command_output_contains(
'uname -r',
- '3.2.0-4-4kc-malta')
+ self.CPU_INFO[wordsize]['kernel_release'])
self.ssh_command_output_contains(
'cat /proc/interrupts',
- 'timer')
+ 'XT-PIC timer')
self.ssh_command_output_contains(
'cat /proc/interrupts',
- 'i8042')
+ 'XT-PIC i8042')
self.ssh_command_output_contains(
'cat /proc/interrupts',
- 'serial')
+ 'XT-PIC serial')
self.ssh_command_output_contains(
'cat /proc/interrupts',
- 'ata_piix')
+ 'XT-PIC ata_piix')
self.ssh_command_output_contains(
'cat /proc/interrupts',
- 'eth0')
- self.ssh_command_output_contains(
- 'cat /proc/interrupts',
- 'eth0')
+ 'XT-PIC eth0')
self.ssh_command_output_contains(
'cat /proc/devices',
'input')
@@ -166,13 +191,13 @@ class LinuxSSH(Test):
'fb')
self.ssh_command_output_contains(
'cat /proc/ioports',
- 'serial')
+ ' : serial')
self.ssh_command_output_contains(
'cat /proc/ioports',
- 'ata_piix')
+ ' : ata_piix')
self.ssh_command_output_contains(
'cat /proc/ioports',
- 'piix4_smbus')
+ ' : piix4_smbus')
self.ssh_command_output_contains(
'lspci -d 11ab:4620',
'GT-64120')
@@ -182,18 +207,21 @@ class LinuxSSH(Test):
self.ssh_command_output_contains(
'cat /proc/mtd',
'YAMON')
- # Empty 'Board Config'
+ # Empty 'Board Config' (64KB)
self.ssh_command_output_contains(
'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')
self.assertIn(True, [uname_m + " GNU/Linux" in line for line in stdout])
- self.run_common_commands()
+ self.run_common_commands(wordsize)
self.shutdown_via_ssh()
def test_mips_malta32eb_kernel3_2_0(self):
@@ -203,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):
"""
@@ -217,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):
"""
@@ -231,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):
"""
@@ -244,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')