From patchwork Mon Jul 29 15:27:09 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= X-Patchwork-Id: 815044 Delivered-To: patch@linaro.org Received: by 2002:adf:b359:0:b0:367:895a:4699 with SMTP id k25csp1319510wrd; Mon, 29 Jul 2024 08:29:15 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXP96KSM5OWOw7zfzh3nXpwGo/B/WnkV32/gW4l19lsqAIg3yA5zWW3QX8LKqc/nlvFHcPonN48pf3sLPF6LZjU X-Google-Smtp-Source: AGHT+IHOCwT3J3iNnO4nEeNYlBGXH7WA6oxKSNVAwYlhBoY4Hp/E4A1TqmVyqjfwsQgTDzs7jdlE X-Received: by 2002:a05:6358:52c6:b0:1ac:65e9:1678 with SMTP id e5c5f4694b2df-1addf580c95mr899479055d.22.1722266955182; Mon, 29 Jul 2024 08:29:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1722266955; cv=none; d=google.com; s=arc-20160816; b=UBkRZVZ7b/DlCkqWK0PcQR++7H4aCHxFEg3iSgLkKzFaGNQ2wIasSXlS5ap4C2YiQQ sKyWYZaYkh9FXUqaAzg9JoiFdcAdQVyf20UstU+A8VXX8nyiXqJgakiPdrcFvkLJLSBx lfzESkf8J4utZ4aQzY2Chgqs4iUPn01YzQaAA6PPTdZEyn+L2y2rOLsFn/XGOsNgi1lV yNUWLnspZvqTa4YZ7fVg09qGmQWuqaeyQD6T/ygHhWjwL6oAhaP+9zJmUBanDuJ3wLjw 9p/9nQJiM6BmGj1x8FAOyoKHCj5uHbrGlUpFDTIfmfFJEo1DeBx42wtwWVnfUNe+8Lha YkYQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=nIHOLD5EbcXB4owPcPVKVliv892NjsZAXtrM5p8AqZ4=; fh=qi6M7+758Hm8qfC4GxHVnK55oMKkCiFOk69X0Z7vtIs=; b=G2M4wEJGo9YOnIxfql75IwdkWDlR6tHdXfsoeSA1QjHqIYBDmeWGHs02FweVpFW2u+ 7h1PGA68BLLg139c7k9q6RGD5E2upWUGUJw4dewOfGlTWOkItRnSqG12dPwR5NODU3vC AGY1dne+zRWqAhXny3GURrFddSDDuVqHjT11nzk3bImsLxiCb4nVFn5Pzg77pPeNF/yN 6vJK+WDV91M/V8VqK5w8KHUDnlXZFthZZOF5IMtMN+51gKkXHbCyOTIFSKSzydT3Lv/5 wdcnZpT2bGyW6pLM2ltkqj4IT2kDMYvg0VUKHHFBAlT3EJwfGh9t998Qo/NjlWNEzqrx 4u6w==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=AJNp2+KM; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id af79cd13be357-7a1d7474baesi1083315885a.601.2024.07.29.08.29.15 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Mon, 29 Jul 2024 08:29:15 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=AJNp2+KM; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org; dara=neutral header.i=@linaro.org Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sYSIN-0004dP-Sg; Mon, 29 Jul 2024 11:28:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sYSIK-0004DE-EC for qemu-devel@nongnu.org; Mon, 29 Jul 2024 11:28:16 -0400 Received: from mail-wm1-x32c.google.com ([2a00:1450:4864:20::32c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sYSIH-0008Me-Ke for qemu-devel@nongnu.org; Mon, 29 Jul 2024 11:28:16 -0400 Received: by mail-wm1-x32c.google.com with SMTP id 5b1f17b1804b1-4257d5fc9b7so22983185e9.2 for ; Mon, 29 Jul 2024 08:28:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1722266892; x=1722871692; darn=nongnu.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=nIHOLD5EbcXB4owPcPVKVliv892NjsZAXtrM5p8AqZ4=; b=AJNp2+KM3F9C4XT9WbsVo2/ltUTCdql3m2rePQwV7Eph/62CZsGsrpQr99O/2w+CDN huc5FF6WPpWt0UVsg2F6HB1C2YANs6+CpNvzzqqennYtc8oFQSQ0cQXKjzR54CIB1n/x JQ3wEOA4Z+7NoEiXWgJigu6Ktsi8dv+mJ4fngQDvq9K9jT8yjdYBErS58ooA+q+ITFXa CY/vlhinUjtX2KefaysFXTJ1pQ/NAh51QxtnM1+iRjQZjvEzXrjl+rDJAZP261WAAWrJ vsf9ZRhXzG5cRcyeWE4AhabZ4h36DfE+AmMRL6/YYq34Rmofvvb8V97JmuPZgmTY7Rcg J+ig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1722266892; x=1722871692; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=nIHOLD5EbcXB4owPcPVKVliv892NjsZAXtrM5p8AqZ4=; b=m4oya5MCPS3QQGHgI1ilqmQ1FYMOgm+wGYMyHupic4Xcu3KOaK1ZYicM4JoS6iohhi ElTMp84gdoPkZYrNERi9bzq/L7i8eSpr6LjlL5midyvTmccAUWOhhDBrv3nnH4CRvHtV 9NYiDwR3nOvPYzDq1M5OgqI0kDuyrtfCL6lEvmKA9DMB+vvjHBxT9DgasCeeRZrzNtda VuEDAXz3rA3Y7lfN65/tZWBINGS1jKfT5d7FVF+q3er6TMD95iCssM0nv9risQHNmdhL BqBtU1GPBFf/qFLH3c+0XYTxHs3F3zfifHSe3DPXJ1c44LyMV7GANYNXxJH01a1JuUWE cjOA== X-Gm-Message-State: AOJu0YyVpruOnbh+xPu648TrIwdA/eHCxPgdiZpilNQRiQH2RCFTcLxh kohTBKkozy4JaGjLRx7V5qTtWQzml+kp8bn/sq5dUj9lcKciHYcbL9p0dM6/ieQEyyWIjHVqkGO i X-Received: by 2002:a05:600c:33a3:b0:426:6e9a:7a1e with SMTP id 5b1f17b1804b1-42811e0b672mr64589275e9.35.1722266891871; Mon, 29 Jul 2024 08:28:11 -0700 (PDT) Received: from localhost.localdomain ([176.176.173.10]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-427fb7bdfa0sm212853785e9.14.2024.07.29.08.28.10 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Mon, 29 Jul 2024 08:28:11 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Thomas Huth , =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= Subject: [PULL 09/14] tests/functional: Convert the x86_cpu_model_versions test Date: Mon, 29 Jul 2024 17:27:09 +0200 Message-ID: <20240729152714.10225-10-philmd@linaro.org> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240729152714.10225-1-philmd@linaro.org> References: <20240729152714.10225-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32c; envelope-from=philmd@linaro.org; helo=mail-wm1-x32c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org From: Thomas Huth Nothing thrilling in here, it's just a straight forward conversion. Signed-off-by: Thomas Huth Reviewed-by: Philippe Mathieu-Daudé Tested-by: Philippe Mathieu-Daudé Message-ID: <20240724175248.1389201-14-thuth@redhat.com> [PMD: More uses of set_machine(), updated MAINTAINERS] Signed-off-by: Philippe Mathieu-Daudé --- MAINTAINERS | 1 + tests/functional/meson.build | 1 + .../test_x86_cpu_model_versions.py} | 63 ++++++------------- 3 files changed, 21 insertions(+), 44 deletions(-) rename tests/{avocado/x86_cpu_model_versions.py => functional/test_x86_cpu_model_versions.py} (92%) mode change 100644 => 100755 diff --git a/MAINTAINERS b/MAINTAINERS index 4c9a36dfd3..a768808a4a 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1833,6 +1833,7 @@ F: tests/unit/test-x86-topo.c F: tests/qtest/test-x86-cpuid-compat.c F: tests/functional/test_mem_addr_space.py F: tests/functional/test_pc_cpu_hotplug_props.py +F: tests/functional/test_x86_cpu_model_versions.py PC Chipset M: Michael S. Tsirkin diff --git a/tests/functional/meson.build b/tests/functional/meson.build index 8a8fa0ab99..48a617033e 100644 --- a/tests/functional/meson.build +++ b/tests/functional/meson.build @@ -28,6 +28,7 @@ tests_x86_64_quick = [ 'mem_addr_space', 'pc_cpu_hotplug_props', 'virtio_version', + 'x86_cpu_model_versions', ] tests_x86_64_thorough = [ diff --git a/tests/avocado/x86_cpu_model_versions.py b/tests/functional/test_x86_cpu_model_versions.py old mode 100644 new mode 100755 similarity index 92% rename from tests/avocado/x86_cpu_model_versions.py rename to tests/functional/test_x86_cpu_model_versions.py index 11101e02b9..a7294b4b92 --- a/tests/avocado/x86_cpu_model_versions.py +++ b/tests/functional/test_x86_cpu_model_versions.py @@ -1,3 +1,4 @@ +#!/usr/bin/env python3 # # Basic validation of x86 versioned CPU models and CPU model aliases # @@ -20,11 +21,11 @@ # License along with this library; if not, see . # - -import avocado_qemu import re -class X86CPUModelAliases(avocado_qemu.QemuSystemTest): +from qemu_test import QemuSystemTest + +class X86CPUModelAliases(QemuSystemTest): """ Validation of PC CPU model versions and CPU model aliases @@ -76,9 +77,8 @@ def validate_variant_aliases(self, cpus): def test_4_0_alias_compatibility(self): """ Check if pc-*-4.0 unversioned CPU model won't be reported as aliases - - :avocado: tags=machine:pc-i440fx-4.0 """ + self.set_machine('pc-i440fx-4.0') # pc-*-4.0 won't expose non-versioned CPU models as aliases # We do this to help management software to keep compatibility # with older QEMU versions that didn't have the versioned CPU model @@ -110,9 +110,8 @@ def test_4_0_alias_compatibility(self): def test_4_1_alias(self): """ Check if unversioned CPU model is an alias pointing to right version - - :avocado: tags=machine:pc-i440fx-4.1 """ + self.set_machine('pc-i440fx-4.1') self.vm.add_args('-S') self.vm.launch() @@ -217,9 +216,8 @@ def test_4_1_alias(self): def test_none_alias(self): """ Check if unversioned CPU model is an alias pointing to some version - - :avocado: tags=machine:none """ + self.set_machine('none') self.vm.add_args('-S') self.vm.launch() @@ -243,21 +241,16 @@ def test_none_alias(self): self.validate_aliases(cpus) -class CascadelakeArchCapabilities(avocado_qemu.QemuSystemTest): +class CascadelakeArchCapabilities(QemuSystemTest): """ Validation of Cascadelake arch-capabilities - - :avocado: tags=arch:x86_64 """ def get_cpu_prop(self, prop): cpu_path = self.vm.cmd('query-cpus-fast')[0].get('qom-path') return self.vm.cmd('qom-get', path=cpu_path, property=prop) def test_4_1(self): - """ - :avocado: tags=machine:pc-i440fx-4.1 - :avocado: tags=cpu:Cascadelake-Server - """ + self.set_machine('pc-i440fx-4.1') # machine-type only: self.vm.add_args('-S') self.set_vm_arg('-cpu', @@ -268,10 +261,7 @@ def test_4_1(self): 'pc-i440fx-4.1 + Cascadelake-Server should not have arch-capabilities') def test_4_0(self): - """ - :avocado: tags=machine:pc-i440fx-4.0 - :avocado: tags=cpu:Cascadelake-Server - """ + self.set_machine('pc-i440fx-4.0') self.vm.add_args('-S') self.set_vm_arg('-cpu', 'Cascadelake-Server,x-force-features=on,check=off,' @@ -281,10 +271,7 @@ def test_4_0(self): 'pc-i440fx-4.0 + Cascadelake-Server should not have arch-capabilities') def test_set_4_0(self): - """ - :avocado: tags=machine:pc-i440fx-4.0 - :avocado: tags=cpu:Cascadelake-Server - """ + self.set_machine('pc-i440fx-4.0') # command line must override machine-type if CPU model is not versioned: self.vm.add_args('-S') self.set_vm_arg('-cpu', @@ -295,10 +282,7 @@ def test_set_4_0(self): 'pc-i440fx-4.0 + Cascadelake-Server,+arch-capabilities should have arch-capabilities') def test_unset_4_1(self): - """ - :avocado: tags=machine:pc-i440fx-4.1 - :avocado: tags=cpu:Cascadelake-Server - """ + self.set_machine('pc-i440fx-4.1') self.vm.add_args('-S') self.set_vm_arg('-cpu', 'Cascadelake-Server,x-force-features=on,check=off,' @@ -308,10 +292,7 @@ def test_unset_4_1(self): 'pc-i440fx-4.1 + Cascadelake-Server,-arch-capabilities should not have arch-capabilities') def test_v1_4_0(self): - """ - :avocado: tags=machine:pc-i440fx-4.0 - :avocado: tags=cpu:Cascadelake-Server - """ + self.set_machine('pc-i440fx-4.0') # versioned CPU model overrides machine-type: self.vm.add_args('-S') self.set_vm_arg('-cpu', @@ -322,10 +303,7 @@ def test_v1_4_0(self): 'pc-i440fx-4.0 + Cascadelake-Server-v1 should not have arch-capabilities') def test_v2_4_0(self): - """ - :avocado: tags=machine:pc-i440fx-4.0 - :avocado: tags=cpu:Cascadelake-Server - """ + self.set_machine('pc-i440fx-4.0') self.vm.add_args('-S') self.set_vm_arg('-cpu', 'Cascadelake-Server-v2,x-force-features=on,check=off,' @@ -335,10 +313,7 @@ def test_v2_4_0(self): 'pc-i440fx-4.0 + Cascadelake-Server-v2 should have arch-capabilities') def test_v1_set_4_0(self): - """ - :avocado: tags=machine:pc-i440fx-4.0 - :avocado: tags=cpu:Cascadelake-Server - """ + self.set_machine('pc-i440fx-4.0') # command line must override machine-type and versioned CPU model: self.vm.add_args('-S') self.set_vm_arg('-cpu', @@ -349,10 +324,7 @@ def test_v1_set_4_0(self): 'pc-i440fx-4.0 + Cascadelake-Server-v1,+arch-capabilities should have arch-capabilities') def test_v2_unset_4_1(self): - """ - :avocado: tags=machine:pc-i440fx-4.1 - :avocado: tags=cpu:Cascadelake-Server - """ + self.set_machine('pc-i440fx-4.1') self.vm.add_args('-S') self.set_vm_arg('-cpu', 'Cascadelake-Server-v2,x-force-features=on,check=off,' @@ -360,3 +332,6 @@ def test_v2_unset_4_1(self): self.vm.launch() self.assertFalse(self.get_cpu_prop('arch-capabilities'), 'pc-i440fx-4.1 + Cascadelake-Server-v2,-arch-capabilities should not have arch-capabilities') + +if __name__ == '__main__': + QemuSystemTest.main()