Acceptance tests: use linux-3.6 and set vm memory to 4GiB

QEMU have already supported to load up to 4G initrd if the sepcified memory is
enough and XLF_CAN_BE_LOADED_ABOVE_4G is set by guest kernel

linux-3.6 kernel shipped by Fedora-18 cannot support xldflags so that it
cannot support loading more than 2GiB initrd

CC: Wainer dos Santos Moschetta <wainersm@redhat.com>
CC: Caio Carrara <ccarrara@redhat.com>
CC: Cleber Rosa <crosa@redhat.com>
CC: Eduardo Habkost <ehabkost@redhat.com>
CC: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Li Zhijian <lizhijian@cn.fujitsu.com>
Reviewed-by: Wainer dos Santos Moschetta <wainersm@redhat.com>
Reviewed-by: Cleber Rosa <crosa@redhat.com>
Message-Id: <1548638112-31101-1-git-send-email-lizhijian@cn.fujitsu.com>
Signed-off-by: Cleber Rosa <crosa@redhat.com>
This commit is contained in:
Li Zhijian 2019-01-28 09:15:11 +08:00 committed by Cleber Rosa
parent a7abb53765
commit 3c7156fd3e
1 changed files with 8 additions and 6 deletions

View File

@ -23,14 +23,16 @@ class LinuxInitrd(Test):
timeout = 60 timeout = 60
def test_with_2gib_file_should_exit_error_msg(self): def test_with_2gib_file_should_exit_error_msg_with_linux_v3_6(self):
""" """
Pretends to boot QEMU with an initrd file with size of 2GiB Pretends to boot QEMU with an initrd file with size of 2GiB
and expect it exits with error message. and expect it exits with error message.
Fedora-18 shipped with linux-3.6 which have not supported xloadflags
cannot support more than 2GiB initrd.
""" """
kernel_url = ('https://mirrors.kernel.org/fedora/releases/28/' kernel_url = ('https://archives.fedoraproject.org/pub/archive/fedora/li'
'Everything/x86_64/os/images/pxeboot/vmlinuz') 'nux/releases/18/Fedora/x86_64/os/images/pxeboot/vmlinuz')
kernel_hash = '238e083e114c48200f80d889f7e32eeb2793e02a' kernel_hash = '41464f68efe42b9991250bed86c7081d2ccdbb21'
kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash) kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash)
max_size = 2 * (1024 ** 3) - 1 max_size = 2 * (1024 ** 3) - 1
@ -38,8 +40,8 @@ class LinuxInitrd(Test):
initrd.seek(max_size) initrd.seek(max_size)
initrd.write(b'\0') initrd.write(b'\0')
initrd.flush() initrd.flush()
cmd = "%s -kernel %s -initrd %s" % (self.qemu_bin, kernel_path, cmd = "%s -kernel %s -initrd %s -m 4096" % (
initrd.name) self.qemu_bin, kernel_path, initrd.name)
res = run(cmd, ignore_status=True) res = run(cmd, ignore_status=True)
self.assertEqual(res.exit_status, 1) self.assertEqual(res.exit_status, 1)
expected_msg = r'.*initrd is too large.*max: \d+, need %s.*' % ( expected_msg = r'.*initrd is too large.*max: \d+, need %s.*' % (