diff --git a/qemu/tests/cfg/virtio_fs_share_data.cfg b/qemu/tests/cfg/virtio_fs_share_data.cfg index eaa99c20b87..0c12e73844d 100644 --- a/qemu/tests/cfg/virtio_fs_share_data.cfg +++ b/qemu/tests/cfg/virtio_fs_share_data.cfg @@ -232,11 +232,13 @@ - with_symbolic_link: only with_cache..default.default folder_test = 'no' - cmd_symblic_file = 'ln -s ${test_file} ${test_file}_link' - cmd_symblic_folder = 'ln -s ${test_folder} ${test_folder}_link' + file_link = ${test_file}_link + folder_link = ${test_folder}_link + cmd_symblic_file = 'ln -s ${test_file} ${file_link}' + cmd_symblic_folder = 'ln -s ${test_folder} ${folder_link}' Windows: - cmd_symblic_file = 'mklink ${test_file}_link ${test_file}' - cmd_symblic_folder = 'mklink /d ${test_folder}_link ${test_folder}' + cmd_symblic_file = 'mklink ${file_link} ${test_file}' + cmd_symblic_folder = 'mklink /d ${folder_link} ${test_folder}' - case_insensitive: only Windows only with_cache..default.default diff --git a/qemu/tests/virtio_fs_share_data.py b/qemu/tests/virtio_fs_share_data.py index bcb46e4e504..871e0273017 100644 --- a/qemu/tests/virtio_fs_share_data.py +++ b/qemu/tests/virtio_fs_share_data.py @@ -192,6 +192,8 @@ def start_multifs_instance(): # soft link config cmd_symblic_file = params.get('cmd_symblic_file') cmd_symblic_folder = params.get('cmd_symblic_folder') + file_link = params.get('file_link') + folder_link = params.get('folder_link') # pjdfs test config cmd_pjdfstest = params.get('cmd_pjdfstest') @@ -533,6 +535,24 @@ def file_check(cmd): if session.cmd_status(cmd_symblic_folder): test.fail("Creat symbolic folders failed.") if os_type == "linux": + error_context.context("Compare symbolic link info in " + "the host and guest", test.log.info) + + def __file_check(file, guest=None): + if guest: + o = session.cmd_output("ls -l %s" % file) + else: + o = process.run("ls -l %s" % file).stdout_text + return o.strip().split()[-1] + + if __file_check(file_link, 'guest') != \ + __file_check(os.path.join(fs_source, file_link)): + test.fail("Symbolic file configured in host " + "and guest are inconsistent") + if __file_check(folder_link, 'guest') != \ + __file_check(os.path.join(fs_source, folder_link)): + test.fail("Symbolic folder configured in " + "host and guest are inconsistent") session.cmd("cd -") else: session.cmd("cd /d C:\\")