From patchwork Wed Aug 21 13:33:51 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: 820984 Delivered-To: patch@linaro.org Received: by 2002:adf:e98a:0:b0:367:895a:4699 with SMTP id h10csp706434wrm; Wed, 21 Aug 2024 06:34:12 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWBV39/GrITdO0yjgmo2j4/LDK9PDYb+TAkzaYlsYafJyfkmv/pft58Y2iGQytJf9PXS5Klig==@linaro.org X-Google-Smtp-Source: AGHT+IFeFkeLDluQ3TZBw7sEmqAk9+neD7+DKzBZIiiibXR6wKvfz1w3oviMZDjW40an9eZQIT6a X-Received: by 2002:ac8:678e:0:b0:454:f384:41e7 with SMTP id d75a77b69052e-454f3844288mr17525821cf.8.1724247251767; Wed, 21 Aug 2024 06:34:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1724247251; cv=none; d=google.com; s=arc-20160816; b=0fuX6X4WcZ9mcpz6wq3iybnZ/8fMQ3J8/tX0ZfCuZ9TQ8x/EMHY9agwa1qFxv7Z4v7 qFZvAt4WHYzomAeGv6bIZh4/OlodDi/XvF/rbKgTTZK6QjqNBlspWnGs6uefSPb//bm2 YqaHx6NkJ9femg/gFV3mQtt6qP6ZxxcciWnZR1eVfRROOwD0R5TOrXiRguE5OSixZwXD 0r/KUx3OTSMl5JphmD8DaKj6lmJJJ+PT52GJWdF/bY3U1RBF8kaXJ3jepPi5Sizeq6cd 6l9GYQAnOrrlP4SrSHjgawJ7UtWSzTx43UdnELKY+hg9Fznf/dWwh/VR8Z1ABlIReEbw t1ZQ== 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=Z/5CVPorpmlvV8ktBAwbQAoMuBJIzpihC/1ejoYbbYU=; fh=UVP3FlUHzQumxildddvnXy8LHWyJG8WrJ7hb/DkNYRA=; b=R0ExFfnHrmM+jT965Opr8/14fXogkDiAVMukc9eFBDDlo+GI9dh+OstZlJHgZI/Dzp sRu/IoxY/1gpTeZwF3Q/YZKMP+de8QyVAiW3odQXzr4CduRtksjuEjkEdUOL94kubwU0 FV5gbnuXkGv+4zg7gxHdD9o8NPBQzrAdPyDhwAN2akEQJglyhbIpPWhmG41TRKmuO85Z PBtYgIkdqHcFESyMcbVEspIN9h9KFnJlQdBJIjJXNwGK9O7sYoHPzd8HP0a/iiX4meM+ 4j3g23adNASU/6jqXsDrH5+XMyiabil3Sp5U1Y0vZG+NVe15cnQzPysJKg3wWiU6quRJ 6BmA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=hVATqWsC; 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 d75a77b69052e-4536ca3b82dsi142071591cf.62.2024.08.21.06.34.11 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 21 Aug 2024 06:34:11 -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=hVATqWsC; 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 1sglTV-0002Lt-KT; Wed, 21 Aug 2024 09:34:09 -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 1sglTV-0002Jq-3Q for qemu-devel@nongnu.org; Wed, 21 Aug 2024 09:34:09 -0400 Received: from mail-wr1-x42c.google.com ([2a00:1450:4864:20::42c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sglTT-0005zU-60 for qemu-devel@nongnu.org; Wed, 21 Aug 2024 09:34:08 -0400 Received: by mail-wr1-x42c.google.com with SMTP id ffacd0b85a97d-3719753d365so3845259f8f.2 for ; Wed, 21 Aug 2024 06:34:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1724247245; x=1724852045; 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=Z/5CVPorpmlvV8ktBAwbQAoMuBJIzpihC/1ejoYbbYU=; b=hVATqWsC/GK3Dwk14l6eSgvG9p9DgiNcO0DJGuUw/eF7+ZE+TTswtHgiLmtiNhV0nE 9dTaGtskpHXYwtC78FMteLgKsY5lY/9VG2/UHs9dWrTwAq1Nwlh9vJWPaIev0fp5MikR 7Y0qbzWXCxaRk3zSAgOS2R8GcpJhwb0Bhp7MEfpSSeBhzVC0lT1SQVQU58Na/eQm27mZ gyHKOGf/95yLuPJc/PWLYNL7J5koAD8dYKqnVGAFHPyTOUHJBvWIya4hvHlxqVzK/c7F 51IqcdiyiLYzk75X1uPorcIbMDSCsdcwHQcqqSV7+j9lCPy5i9r0duUzjzgr6JG7W3I/ Iwuw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1724247245; x=1724852045; 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=Z/5CVPorpmlvV8ktBAwbQAoMuBJIzpihC/1ejoYbbYU=; b=TCyRcmDe7hoBV4y/mQ3Cv4SJOdbS1ws7CyoHaSuTt2qdMT+IQNLbiq6QsRgDhz2HnM xsTYYUJzpkv0yPitf6w9GxSTnqzpPTyrQ9hmsgc9Vx/fqx8KeAaU5R6sMe35wOCEaiXp xLwfeLQgmv30X2P5Fir151BXpvZNLNAWpfR2IVWsOTnbGNNGNcT57DhxTe/ojLD1ikQ4 lAeWbzQBEvJPvKtFEE8LhKr9lsebbDmvjs0H6RjE+An4/sk77C4gVPEDhNK1nTNtkdqs 25GdlnmWCjacFXFz+cD9uc1hAUpO8XzZcl9wMIMYq39QJDdH8z64c88yaRbXoxkncBF/ XnKA== X-Gm-Message-State: AOJu0YxbF3qWKUdybP0LZs5XapLCtRGwNoXf5TnpEqFdolSFIiermEoA knEPibUORyqfunSZu7easyCWFZN6h1r5dt2YWvUZaJJZ2I6V18dgeGzkCWogNh9amwJljt8XzOM BFKk= X-Received: by 2002:a5d:6650:0:b0:371:7e3f:6c7 with SMTP id ffacd0b85a97d-372fd5ca80fmr1708306f8f.36.1724247245118; Wed, 21 Aug 2024 06:34:05 -0700 (PDT) Received: from m1x-phil.lan ([176.187.218.99]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3719f0a089fsm12616686f8f.0.2024.08.21.06.34.02 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 21 Aug 2024 06:34:04 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Huacai Chen , Aurelien Jarno , Thomas Huth , Jiaxun Yang , Wainer dos Santos Moschetta , =?utf-8?q?Philippe_Mathi?= =?utf-8?q?eu-Daud=C3=A9?= , Cleber Rosa , Beraldo Leal Subject: [PATCH v2 1/3] tests/functional: Convert mips fuloong2e avocado test Date: Wed, 21 Aug 2024 15:33:51 +0200 Message-ID: <20240821133353.65903-2-philmd@linaro.org> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240821133353.65903-1-philmd@linaro.org> References: <20240821133353.65903-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::42c; envelope-from=philmd@linaro.org; helo=mail-wr1-x42c.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, T_SCC_BODY_TEXT_LINE=-0.01 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 Straight forward conversion. Update the SHA1 hashes to SHA256 hashes since SHA1 should not be used anymore nowadays. Since the asset is expected locally and the test is guarded with QEMU_TEST_ALLOW_UNTRUSTED_CODE, keep it under the 'quick' category. $ RESCUE_YL_PATH=/path/to/rescue-yl QEMU_TEST_ALLOW_UNTRUSTED_CODE=1 \ make check-functional-mips64el 1/4 qemu:func-quick+func-mips64el / func-mips64el-empty_cpu_model OK 0.12s 1 subtests passed 2/4 qemu:func-quick+func-mips64el / func-mips64el-version OK 0.13s 1 subtests passed 3/4 qemu:func-quick+func-mips64el / func-mips64el-info_usernet OK 0.15s 1 subtests passed 4/4 qemu:func-quick+func-mips64el / func-mips64el-mips64el_fuloong2e OK 0.19s 1 subtests passed Signed-off-by: Philippe Mathieu-Daudé --- Based-on: <20240821082748.65853-1-thuth@redhat.com> --- MAINTAINERS | 2 +- tests/functional/meson.build | 4 +++ .../test_mips64el_fuloong2e.py} | 30 ++++++++++--------- 3 files changed, 21 insertions(+), 15 deletions(-) rename tests/{avocado/machine_mips_fuloong2e.py => functional/test_mips64el_fuloong2e.py} (61%) mode change 100644 => 100755 diff --git a/MAINTAINERS b/MAINTAINERS index 25e71ac14c..77fbb5d42e 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1384,7 +1384,7 @@ S: Odd Fixes F: hw/mips/fuloong2e.c F: hw/pci-host/bonito.c F: include/hw/pci-host/bonito.h -F: tests/avocado/machine_mips_fuloong2e.py +F: tests/functional/test_mips64el_fuloong2e.py Loongson-3 virtual platforms M: Huacai Chen diff --git a/tests/functional/meson.build b/tests/functional/meson.build index 12e08e365b..8d28313a65 100644 --- a/tests/functional/meson.build +++ b/tests/functional/meson.build @@ -51,6 +51,10 @@ tests_microblazeel_thorough = [ 'microblazeel_s3adsp1800' ] +tests_mips64el_quick = [ + 'mips64el_fuloong2e', +] + tests_mips64el_thorough = [ 'mips64el_loongson3v', ] diff --git a/tests/avocado/machine_mips_fuloong2e.py b/tests/functional/test_mips64el_fuloong2e.py old mode 100644 new mode 100755 similarity index 61% rename from tests/avocado/machine_mips_fuloong2e.py rename to tests/functional/test_mips64el_fuloong2e.py index 89291f47b2..b1b46b187f --- a/tests/avocado/machine_mips_fuloong2e.py +++ b/tests/functional/test_mips64el_fuloong2e.py @@ -1,3 +1,5 @@ +#!/usr/bin/env python3 +# # Functional tests for the Lemote Fuloong-2E machine. # # Copyright (c) 2019 Philippe Mathieu-Daudé @@ -8,35 +10,35 @@ # SPDX-License-Identifier: GPL-2.0-or-later import os +import subprocess -from avocado import skipUnless -from avocado_qemu import QemuSystemTest -from avocado_qemu import wait_for_console_pattern +from qemu_test import QemuSystemTest +from qemu_test import wait_for_console_pattern +from unittest import skipUnless class MipsFuloong2e(QemuSystemTest): timeout = 60 - @skipUnless(os.getenv('AVOCADO_ALLOW_UNTRUSTED_CODE'), 'untrusted code') + @skipUnless(os.getenv('QEMU_TEST_ALLOW_UNTRUSTED_CODE'), 'untrusted code') @skipUnless(os.getenv('RESCUE_YL_PATH'), 'RESCUE_YL_PATH not available') def test_linux_kernel_isa_serial(self): - """ - :avocado: tags=arch:mips64el - :avocado: tags=machine:fuloong2e - :avocado: tags=endian:little - :avocado: tags=device:bonito64 - :avocado: tags=device:via686b - """ # Recovery system for the Yeeloong laptop # (enough to test the fuloong2e southbridge, accessing its ISA bus) # http://dev.lemote.com/files/resource/download/rescue/rescue-yl - kernel_hash = 'ec4d1bd89a8439c41033ca63db60160cc6d6f09a' - kernel_path = self.fetch_asset('file://' + os.getenv('RESCUE_YL_PATH'), - asset_hash=kernel_hash) + sha = 'ab588d3316777c62cc81baa20ac92e98b01955c244dff3794b711bc34e26e51d' + kernel_path = os.getenv('RESCUE_YL_PATH') + output = subprocess.check_output(['sha256sum', kernel_path]) + checksum = output.split()[0] + assert checksum.decode("utf-8") == sha + self.set_machine('fuloong2e') self.vm.set_console() self.vm.add_args('-kernel', kernel_path) self.vm.launch() wait_for_console_pattern(self, 'Linux version 2.6.27.7lemote') cpu_revision = 'CPU revision is: 00006302 (ICT Loongson-2)' wait_for_console_pattern(self, cpu_revision) + +if __name__ == '__main__': + QemuSystemTest.main() From patchwork Wed Aug 21 13:33:52 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: 820986 Delivered-To: patch@linaro.org Received: by 2002:adf:e98a:0:b0:367:895a:4699 with SMTP id h10csp706686wrm; Wed, 21 Aug 2024 06:34:43 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWggyUpq9ZeVUF6g3Da7oy2ZPcPgsITV/esI4KapYRq761KPG8dVEvAuDS0aGQ7lHFgCOspoA==@linaro.org X-Google-Smtp-Source: AGHT+IHuHol5x//T+JwD37QUA6Pq+wsUaJqi5tDwX1UPCrv03U9X4s1cQSKhXhbLgaBLO/BL8kNl X-Received: by 2002:a05:6214:3105:b0:6b5:df48:bc6e with SMTP id 6a1803df08f44-6c155df4232mr26843126d6.39.1724247283690; Wed, 21 Aug 2024 06:34:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1724247283; cv=none; d=google.com; s=arc-20160816; b=RNId7IfDI/1HVbscmAMf62N3uxou7GSxuKIe9MnooMisVNac9e3r2LrpwwhByX7mCd P057CBbANvb4nexoWmfdfzYQKbKUEGIpQAj97UmGmue31KhqqBmiSdPVf9EI/fT5hl1h 80cpnmu/ctCkjPIJAD7/E2bBBNU23h9I0JEMcfbdazf0w92FQlwvY0MJ9OAJSBerIEmn mDKufG0QDuHSZ/Q8o1CnqPF2WZ/lArgjHaCVvOiX5GNQttHFuHq3WKkcmA5Tb9a784f1 kS1r1nP0873hsaiMJ+hBXre2DQH/JQKqaqGO+KMwN3of4agP4hZqdbjSArdwcjvzZfNO CheA== 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=c7/Y7/lBLXE9FyePaqxwotN83mnpsX2vN2kMgbhA74k=; fh=UVP3FlUHzQumxildddvnXy8LHWyJG8WrJ7hb/DkNYRA=; b=ykQZjG8e7F1//KqGnCUGYy109KxQTJfo8sbhqLO+8mWYPhcS65xV8Ai33k8m67JpbA 0ulSO8BeKIdmWV0ypH7w0FalCuFsnYLFNtM+NErNfMtTxiHZtizh9reEWxFdirZTafHp nlTVITE+wAxdSRpxnufD3oQfX0YYCDhrkVBZcUZxIIOPHQIsztZav89F2OED48+/n6mS EGUIZ4X6h96nt2B0sSpgHStFGOM78b2VhXlKyyWJv+nGLkoyGbuqyazG6/x+Da/wSr6k GOj8JwYb9CDdwSyEY6e8Qg70ttqstyNranoRKDDy+V8FDbvEdRK5TjqIG5YoHejxH4nx SA0w==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=GImgtMHa; 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 6a1803df08f44-6bf6fef2df4si34887926d6.372.2024.08.21.06.34.43 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 21 Aug 2024 06:34:43 -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=GImgtMHa; 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 1sglTj-0003I8-8U; Wed, 21 Aug 2024 09:34:23 -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 1sglTh-0003Al-CW for qemu-devel@nongnu.org; Wed, 21 Aug 2024 09:34:22 -0400 Received: from mail-wm1-x333.google.com ([2a00:1450:4864:20::333]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sglTe-000643-UW for qemu-devel@nongnu.org; Wed, 21 Aug 2024 09:34:21 -0400 Received: by mail-wm1-x333.google.com with SMTP id 5b1f17b1804b1-4280c55e488so4631005e9.0 for ; Wed, 21 Aug 2024 06:34:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1724247253; x=1724852053; 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=c7/Y7/lBLXE9FyePaqxwotN83mnpsX2vN2kMgbhA74k=; b=GImgtMHa8fKAZN4PkD5/8S35gFunOrPxCzCwTmiUS+FVQrd0gNhMwmimZ/k/17uRo0 9dy2+cLq+4Wc5iXycbKf6whov37WYSnIeUcSfDkuJXd2Q1nCxCAQcqKm5oV+NSYyH37F BMl6UB/TeRNU61D+wTTdU0bEMCAu1454GMVUwtmEFNtb8OLJJqtusnz8dUw4GxxkeC4c dQc0yHQM4/orcuxxu4YOhF7vyKSkukzB3OmGqA/ZKIiCofwVI1dXGrZpFBdTfbf0yHKE Y+1YJ8IjlA/tVvq2VUw07EMl8/etNK5JttQmGQXoeE6MAJxPomkXh2CwP1h+JSJOT6O0 VcUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1724247253; x=1724852053; 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=c7/Y7/lBLXE9FyePaqxwotN83mnpsX2vN2kMgbhA74k=; b=IevfAh361EiLD4lH8UwwEtTKAey4fz0NzaxJQgHAgnUzdMCSN/WHpyM4UZ49xrImKQ yNmWObCMtrdXhXKXetLP4hyeLG86T0QnLB30T94p75s41c5OxT3mxFdWAMCze4bQCMPF 2KBFEsfR9fmhQVHXO4QziBuGHgxybpruuZP4z2qaB5egcL78wxLiu7NwVlbCx3Bnnzdi YDuZ05dzRtELIZWuTAtj4kiFd0CEbQPTDlkhCw9w8n2UmD6sEsOj+6lcKl9UB4MTAe6T vVrVLzxtYcnAQBtNH80YofV+cMeLzf/bHH/qZRu0o9P35pe2xCgbhQR9cA86PJrLwuDS J/OQ== X-Gm-Message-State: AOJu0YxasJiZHVk9m/r1cWLmzMAAVfBhltbuPWTbAKYtqD9Jx5tEqQ8H ptsJAlHEz3lqOQJFk9iM0s9EmkPQoolLGRuFBORvQVJk2xTMahTJL25aH8PwNTmF9nAE2tZMiOd 04us= X-Received: by 2002:a05:600c:4749:b0:42a:a749:e6 with SMTP id 5b1f17b1804b1-42abe667051mr14807115e9.10.1724247252546; Wed, 21 Aug 2024 06:34:12 -0700 (PDT) Received: from m1x-phil.lan ([176.187.218.99]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-37195c57d48sm13628794f8f.53.2024.08.21.06.34.09 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 21 Aug 2024 06:34:12 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Huacai Chen , Aurelien Jarno , Thomas Huth , Jiaxun Yang , Wainer dos Santos Moschetta , =?utf-8?q?Philippe_Mathi?= =?utf-8?q?eu-Daud=C3=A9?= , Cleber Rosa , Beraldo Leal Subject: [PATCH v2 2/3] tests/functional: Convert mips64el Malta I6400 avocado tests Date: Wed, 21 Aug 2024 15:33:52 +0200 Message-ID: <20240821133353.65903-3-philmd@linaro.org> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240821133353.65903-1-philmd@linaro.org> References: <20240821133353.65903-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::333; envelope-from=philmd@linaro.org; helo=mail-wm1-x333.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, T_SCC_BODY_TEXT_LINE=-0.01 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 Straight forward conversion. Update the SHA1 hashes to SHA256 hashes since SHA1 should not be used anymore nowadays. Reviewed-by: Thomas Huth Signed-off-by: Philippe Mathieu-Daudé --- MAINTAINERS | 1 + tests/avocado/machine_mips_malta.py | 108 ----------------------- tests/functional/meson.build | 1 + tests/functional/test_mips64el_malta.py | 111 ++++++++++++++++++++++++ 4 files changed, 113 insertions(+), 108 deletions(-) create mode 100755 tests/functional/test_mips64el_malta.py diff --git a/MAINTAINERS b/MAINTAINERS index 77fbb5d42e..3a91017979 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1369,6 +1369,7 @@ F: hw/pci-host/gt64120.c F: include/hw/southbridge/piix.h F: tests/avocado/linux_ssh_mips_malta.py F: tests/avocado/machine_mips_malta.py +F: tests/functional/test_mips64el_malta.py Mipssim R: Aleksandar Rikalo diff --git a/tests/avocado/machine_mips_malta.py b/tests/avocado/machine_mips_malta.py index 07a80633b5..05c64e18c4 100644 --- a/tests/avocado/machine_mips_malta.py +++ b/tests/avocado/machine_mips_malta.py @@ -8,121 +8,13 @@ # SPDX-License-Identifier: GPL-2.0-or-later import os -import gzip -import logging -from avocado import skipUnless -from avocado import skipUnless from avocado.utils import archive from avocado_qemu import QemuSystemTest -from avocado_qemu import exec_command_and_wait_for_pattern from avocado_qemu import interrupt_interactive_console_until_pattern from avocado_qemu import wait_for_console_pattern -NUMPY_AVAILABLE = True -try: - import numpy as np -except ImportError: - NUMPY_AVAILABLE = False - -CV2_AVAILABLE = True -try: - import cv2 -except ImportError: - CV2_AVAILABLE = False - - -@skipUnless(NUMPY_AVAILABLE, 'Python NumPy not installed') -@skipUnless(CV2_AVAILABLE, 'Python OpenCV not installed') -class MaltaMachineFramebuffer(QemuSystemTest): - - timeout = 30 - - KERNEL_COMMON_COMMAND_LINE = 'printk.time=0 ' - - def do_test_i6400_framebuffer_logo(self, cpu_cores_count): - """ - Boot Linux kernel and check Tux logo is displayed on the framebuffer. - """ - screendump_path = os.path.join(self.workdir, 'screendump.pbm') - - kernel_url = ('https://github.com/philmd/qemu-testing-blob/raw/' - 'a5966ca4b5/mips/malta/mips64el/' - 'vmlinux-4.7.0-rc1.I6400.gz') - kernel_hash = '096f50c377ec5072e6a366943324622c312045f6' - kernel_path_gz = self.fetch_asset(kernel_url, asset_hash=kernel_hash) - kernel_path = self.workdir + "vmlinux" - archive.gzip_uncompress(kernel_path_gz, kernel_path) - - tuxlogo_url = ('https://github.com/torvalds/linux/raw/v2.6.12/' - 'drivers/video/logo/logo_linux_vga16.ppm') - tuxlogo_hash = '3991c2ddbd1ddaecda7601f8aafbcf5b02dc86af' - tuxlogo_path = self.fetch_asset(tuxlogo_url, asset_hash=tuxlogo_hash) - - self.vm.set_console() - kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE + - 'clocksource=GIC console=tty0 console=ttyS0') - self.vm.add_args('-kernel', kernel_path, - '-smp', '%u' % cpu_cores_count, - '-vga', 'std', - '-append', kernel_command_line) - self.vm.launch() - framebuffer_ready = 'Console: switching to colour frame buffer device' - wait_for_console_pattern(self, framebuffer_ready, - failure_message='Kernel panic - not syncing') - self.vm.cmd('human-monitor-command', command_line='stop') - self.vm.cmd('human-monitor-command', - command_line='screendump %s' % screendump_path) - logger = logging.getLogger('framebuffer') - - match_threshold = 0.95 - screendump_bgr = cv2.imread(screendump_path, cv2.IMREAD_COLOR) - tuxlogo_bgr = cv2.imread(tuxlogo_path, cv2.IMREAD_COLOR) - result = cv2.matchTemplate(screendump_bgr, tuxlogo_bgr, - cv2.TM_CCOEFF_NORMED) - loc = np.where(result >= match_threshold) - tuxlogo_count = 0 - h, w = tuxlogo_bgr.shape[:2] - debug_png = os.getenv('AVOCADO_CV2_SCREENDUMP_PNG_PATH') - for tuxlogo_count, pt in enumerate(zip(*loc[::-1]), start=1): - logger.debug('found Tux at position (x, y) = %s', pt) - cv2.rectangle(screendump_bgr, pt, - (pt[0] + w, pt[1] + h), (0, 0, 255), 2) - if debug_png: - cv2.imwrite(debug_png, screendump_bgr) - self.assertGreaterEqual(tuxlogo_count, cpu_cores_count) - - def test_mips_malta_i6400_framebuffer_logo_1core(self): - """ - :avocado: tags=arch:mips64el - :avocado: tags=machine:malta - :avocado: tags=cpu:I6400 - """ - self.do_test_i6400_framebuffer_logo(1) - - @skipUnless(os.getenv('QEMU_TEST_FLAKY_TESTS'), 'Test is unstable on GitLab') - def test_mips_malta_i6400_framebuffer_logo_7cores(self): - """ - :avocado: tags=arch:mips64el - :avocado: tags=machine:malta - :avocado: tags=cpu:I6400 - :avocado: tags=mips:smp - :avocado: tags=flaky - """ - self.do_test_i6400_framebuffer_logo(7) - - @skipUnless(os.getenv('QEMU_TEST_FLAKY_TESTS'), 'Test is unstable on GitLab') - def test_mips_malta_i6400_framebuffer_logo_8cores(self): - """ - :avocado: tags=arch:mips64el - :avocado: tags=machine:malta - :avocado: tags=cpu:I6400 - :avocado: tags=mips:smp - :avocado: tags=flaky - """ - self.do_test_i6400_framebuffer_logo(8) - class MaltaMachine(QemuSystemTest): def do_test_yamon(self): diff --git a/tests/functional/meson.build b/tests/functional/meson.build index 8d28313a65..a82dbd43bb 100644 --- a/tests/functional/meson.build +++ b/tests/functional/meson.build @@ -57,6 +57,7 @@ tests_mips64el_quick = [ tests_mips64el_thorough = [ 'mips64el_loongson3v', + 'mips64el_malta', ] tests_ppc_quick = [ diff --git a/tests/functional/test_mips64el_malta.py b/tests/functional/test_mips64el_malta.py new file mode 100755 index 0000000000..05d2c5f85b --- /dev/null +++ b/tests/functional/test_mips64el_malta.py @@ -0,0 +1,111 @@ +#!/usr/bin/env python3 +# +# Functional tests for the little-endian 64-bit MIPS Malta board +# +# Copyright (c) Philippe Mathieu-Daudé +# +# This work is licensed under the terms of the GNU GPL, version 2 or later. +# See the COPYING file in the top-level directory. +# +# SPDX-License-Identifier: GPL-2.0-or-later + +import os +import logging + +from qemu_test import QemuSystemTest, Asset +from qemu_test import wait_for_console_pattern +from qemu_test.utils import gzip_uncompress +from unittest import skipUnless + +NUMPY_AVAILABLE = True +try: + import numpy as np +except ImportError: + NUMPY_AVAILABLE = False + +CV2_AVAILABLE = True +try: + import cv2 +except ImportError: + CV2_AVAILABLE = False + + +@skipUnless(NUMPY_AVAILABLE, 'Python NumPy not installed') +@skipUnless(CV2_AVAILABLE, 'Python OpenCV not installed') +class MaltaMachineFramebuffer(QemuSystemTest): + + timeout = 30 + + ASSET_KERNEL = Asset( + ('https://github.com/philmd/qemu-testing-blob/raw/a5966ca4b5/' + 'mips/malta/mips64el/vmlinux-4.7.0-rc1.I6400.gz'), + '1f64efc59968a3c328672e6b10213fe574bb2308d9d2ed44e75e40be59e9fbc2') + + ASSET_TUXLOGO = Asset( + ('https://github.com/torvalds/linux/raw/v2.6.12/' + 'drivers/video/logo/logo_linux_vga16.ppm'), + 'b762f0d91ec018887ad1b334543c2fdf9be9fdfc87672b409211efaa3ea0ef79') + + KERNEL_COMMON_COMMAND_LINE = 'printk.time=0 ' + + def do_test_i6400_framebuffer_logo(self, cpu_cores_count): + """ + Boot Linux kernel and check Tux logo is displayed on the framebuffer. + """ + screendump_path = os.path.join(self.workdir, 'screendump.pbm') + + kernel_path_gz = self.ASSET_KERNEL.fetch() + kernel_path = self.workdir + "vmlinux" + gzip_uncompress(kernel_path_gz, kernel_path) + + tuxlogo_path = self.ASSET_TUXLOGO.fetch() + + self.set_machine('malta') + self.vm.set_console() + kernel_command_line = (self.KERNEL_COMMON_COMMAND_LINE + + 'clocksource=GIC console=tty0 console=ttyS0') + self.vm.add_args('-kernel', kernel_path, + '-cpu', 'I6400', + '-smp', '%u' % cpu_cores_count, + '-vga', 'std', + '-append', kernel_command_line) + self.vm.launch() + framebuffer_ready = 'Console: switching to colour frame buffer device' + wait_for_console_pattern(self, framebuffer_ready, + failure_message='Kernel panic - not syncing') + self.vm.cmd('human-monitor-command', command_line='stop') + self.vm.cmd('human-monitor-command', + command_line='screendump %s' % screendump_path) + logger = logging.getLogger('framebuffer') + + match_threshold = 0.95 + screendump_bgr = cv2.imread(screendump_path, cv2.IMREAD_COLOR) + tuxlogo_bgr = cv2.imread(tuxlogo_path, cv2.IMREAD_COLOR) + result = cv2.matchTemplate(screendump_bgr, tuxlogo_bgr, + cv2.TM_CCOEFF_NORMED) + loc = np.where(result >= match_threshold) + tuxlogo_count = 0 + h, w = tuxlogo_bgr.shape[:2] + debug_png = os.getenv('AVOCADO_CV2_SCREENDUMP_PNG_PATH') + for tuxlogo_count, pt in enumerate(zip(*loc[::-1]), start=1): + logger.debug('found Tux at position (x, y) = %s', pt) + cv2.rectangle(screendump_bgr, pt, + (pt[0] + w, pt[1] + h), (0, 0, 255), 2) + if debug_png: + cv2.imwrite(debug_png, screendump_bgr) + self.assertGreaterEqual(tuxlogo_count, cpu_cores_count) + + def test_mips_malta_i6400_framebuffer_logo_1core(self): + self.do_test_i6400_framebuffer_logo(1) + + @skipUnless(os.getenv('QEMU_TEST_FLAKY_TESTS'), 'Test is unstable on GitLab') + def test_mips_malta_i6400_framebuffer_logo_7cores(self): + self.do_test_i6400_framebuffer_logo(7) + + @skipUnless(os.getenv('QEMU_TEST_FLAKY_TESTS'), 'Test is unstable on GitLab') + def test_mips_malta_i6400_framebuffer_logo_8cores(self): + self.do_test_i6400_framebuffer_logo(8) + + +if __name__ == '__main__': + QemuSystemTest.main() From patchwork Wed Aug 21 13:33:53 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: 820985 Delivered-To: patch@linaro.org Received: by 2002:adf:e98a:0:b0:367:895a:4699 with SMTP id h10csp706607wrm; Wed, 21 Aug 2024 06:34:35 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCU9d5XbHESkrHmK729gGrOM3g0w7GgdJQ0l+54tTv/b3GiR9EXIGpYHwYF2EqSYqkQGqTVXZA==@linaro.org X-Google-Smtp-Source: AGHT+IEpE+Fc1oEkr98GiGnV4d9pNHIX4ylxJ9NR+8ysfSyL1RurEkLuioTKWr9kMxpiYpo6+IDM X-Received: by 2002:a05:6214:4285:b0:6b5:9439:f048 with SMTP id 6a1803df08f44-6c155d66826mr34730646d6.19.1724247275129; Wed, 21 Aug 2024 06:34:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1724247275; cv=none; d=google.com; s=arc-20160816; b=zw7lLiivrXXJsg2cfUrYas64fK9kmcwCBPfb6fm1y+ef06JZB7tRpKNHevEmlqjJof WQiD2qioQVWYc/EXQK7s/Gegsn1MOFTJ3W8p++sq9gjRghwOfuLv4kngmNoeRDx8QHMH w8DCwsfVs1/YZhFuihwprZz/gAogS+o56kaUKisvp4SLXx2szFedLRFMz4jbOcIUQcRP TeIUEylCYiWOBvKYbp4H1qwBA1bs2pYMJ3GsAcrf8E4rVEWsVHUprLgE6SeywWM03X/P t3UX6dt4IUK0rcDfwbxq1sMT0OJpD23piNgnNonehw9Ayu/UVrBa+PkaaiNKBWcj7+Zq LiNQ== 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=8NjdAtMRp7ilYUGG2qzAmReO370u/Wu9KAWsK2CzfN8=; fh=UVP3FlUHzQumxildddvnXy8LHWyJG8WrJ7hb/DkNYRA=; b=gDo99wCE4+O7k3EOntuDFaCFRLVUzdg5EuMycrh/aOAnMpgAqWFB6lGX5ysQVv1Qbv cQlK98VF4dRNoUakHyzSMqObrxc92s0wwbGYk/9Pb1Q0Rg/0ofsWiNtrIb2l+BvlkRKG FRQjfOu9GPLn0qXMUBAzaZz9PEHoO8bGdujZDta6gLMN6skZa4e97VWBWg9VXC42i7Th tTAb1Sjc/BmDRXU1/6ikQNSb0zm6mrm6GQ+6dfXRWTMQDeCGZtBp9fLlOSNTuB9724zJ pWIfiyOlXdSXRmY+4T5iVyjU/NHm7ntxLGPLJ3+NOaFdEtNVvlgJjTNJ5zEBp2s9SKZO d6PA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=DuggOBPU; 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 6a1803df08f44-6bf6fdc8e6asi152190226d6.96.2024.08.21.06.34.34 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 21 Aug 2024 06:34:35 -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=DuggOBPU; 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 1sglTs-0004B1-V2; Wed, 21 Aug 2024 09:34:32 -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 1sglTr-00046P-Jx for qemu-devel@nongnu.org; Wed, 21 Aug 2024 09:34:31 -0400 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sglTj-00067G-Ju for qemu-devel@nongnu.org; Wed, 21 Aug 2024 09:34:31 -0400 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-42817f1eb1fso54289175e9.1 for ; Wed, 21 Aug 2024 06:34:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1724247262; x=1724852062; 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=8NjdAtMRp7ilYUGG2qzAmReO370u/Wu9KAWsK2CzfN8=; b=DuggOBPUyY33/pCnVoy9UF4cWR2fllLORCKjkE83rA0aN96p8xW4Zd1XSlvHuTpVjB J8hoPQu2f1Suy4oduK6nweUcsoKHM2bl4OeRqiIaI1ejsAXxiX/iSS184M648jGOBe8T tAGyB1buzkpjpP+/ornHEeDS06yNmy7XgKbgpKPmdp7C0r97qid2LXFNe4unqoQvef5X t5YkCf7aaZmpHPRvGVWP+1kLKIIFARdwVB652UcH/31R8J+Tojjr+Jdet5WVhVnND4nQ G+DsOOwJOz7PemTfOZhLo7tssjmS+xeGisV08gmry7stl1Kj8saZHJwgPW48IvYEJPVc UuZg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1724247262; x=1724852062; 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=8NjdAtMRp7ilYUGG2qzAmReO370u/Wu9KAWsK2CzfN8=; b=oLEajOqfWKUrOZ72X7jBQGCHxHgT90dfW+6HXy+u/uAZX25Bg+BFok3AIJ3h1xIYH1 evsU/NXKxCh5mK5ofvIh4zlHkc3DfQx2F//nu7pW7AKr+uJ7Fk2YMuUqzfN5ID92iHm7 kNzKNG5CzHV+UsRENMZsj5PrclD9fqvqyfPDW0/G0DZBReY9U0RZa1vyc8bIZgteCIqg BF+IbKDyKMdyz1VFXmR60Z1GPmxR2k7spGAtoYjtlWXsIoh0aOA2iU35DOQC+r+iggPP 47nHMDKN59DI3tR6DHxWLiYUkrsYZsNKcTqbZ+S9KRp6UgtSo0xWDZ5I/xDAXJuNbR7B FSQg== X-Gm-Message-State: AOJu0Yw6UInlQwYiuSLUdr7VIIgP5E369PZkDf9rpDglxY3Gj9IRNUpb TkOr2v4WZ006ecYVggDuP3zofrzqAqO9Rpksf0rjPG3YGyZQmdoQL1SmFQqmGo6NfEfailVOG07 RKq0= X-Received: by 2002:a05:600c:1911:b0:426:59fc:cdec with SMTP id 5b1f17b1804b1-42abf065a48mr17420805e9.21.1724247261625; Wed, 21 Aug 2024 06:34:21 -0700 (PDT) Received: from m1x-phil.lan ([176.187.218.99]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-42abef98da1sm26467505e9.27.2024.08.21.06.34.18 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Wed, 21 Aug 2024 06:34:21 -0700 (PDT) From: =?utf-8?q?Philippe_Mathieu-Daud=C3=A9?= To: qemu-devel@nongnu.org Cc: Huacai Chen , Aurelien Jarno , Thomas Huth , Jiaxun Yang , Wainer dos Santos Moschetta , =?utf-8?q?Philippe_Mathi?= =?utf-8?q?eu-Daud=C3=A9?= , Cleber Rosa , Beraldo Leal Subject: [PATCH v2 3/3] tests/functional: Convert mipsel Malta YAMON avocado test Date: Wed, 21 Aug 2024 15:33:53 +0200 Message-ID: <20240821133353.65903-4-philmd@linaro.org> X-Mailer: git-send-email 2.45.2 In-Reply-To: <20240821133353.65903-1-philmd@linaro.org> References: <20240821133353.65903-1-philmd@linaro.org> MIME-Version: 1.0 Received-SPF: pass client-ip=2a00:1450:4864:20::32a; envelope-from=philmd@linaro.org; helo=mail-wm1-x32a.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, T_SCC_BODY_TEXT_LINE=-0.01 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 Straight forward conversion using the Python standard zipfile module instead of avocado.utils package. Update the SHA1 hashes to SHA256 hashes since SHA1 should not be used anymore nowadays. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Thomas Huth --- MAINTAINERS | 2 +- tests/avocado/machine_mips_malta.py | 54 ------------------------- tests/functional/meson.build | 4 ++ tests/functional/test_mips64el_malta.py | 3 ++ tests/functional/test_mipsel_malta.py | 46 +++++++++++++++++++++ 5 files changed, 54 insertions(+), 55 deletions(-) delete mode 100644 tests/avocado/machine_mips_malta.py create mode 100755 tests/functional/test_mipsel_malta.py diff --git a/MAINTAINERS b/MAINTAINERS index 3a91017979..4b480135f6 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -1368,7 +1368,7 @@ F: hw/mips/malta.c F: hw/pci-host/gt64120.c F: include/hw/southbridge/piix.h F: tests/avocado/linux_ssh_mips_malta.py -F: tests/avocado/machine_mips_malta.py +F: tests/functional/test_mipsel_malta.py F: tests/functional/test_mips64el_malta.py Mipssim diff --git a/tests/avocado/machine_mips_malta.py b/tests/avocado/machine_mips_malta.py deleted file mode 100644 index 05c64e18c4..0000000000 --- a/tests/avocado/machine_mips_malta.py +++ /dev/null @@ -1,54 +0,0 @@ -# Functional tests for the MIPS Malta board -# -# Copyright (c) Philippe Mathieu-Daudé -# -# This work is licensed under the terms of the GNU GPL, version 2 or later. -# See the COPYING file in the top-level directory. -# -# SPDX-License-Identifier: GPL-2.0-or-later - -import os - -from avocado.utils import archive -from avocado_qemu import QemuSystemTest -from avocado_qemu import interrupt_interactive_console_until_pattern -from avocado_qemu import wait_for_console_pattern - - -class MaltaMachine(QemuSystemTest): - - def do_test_yamon(self): - rom_url = ('https://s3-eu-west-1.amazonaws.com/' - 'downloads-mips/mips-downloads/' - 'YAMON/yamon-bin-02.22.zip') - rom_hash = '8da7ecddbc5312704b8b324341ee238189bde480' - zip_path = self.fetch_asset(rom_url, asset_hash=rom_hash) - - archive.extract(zip_path, self.workdir) - yamon_path = os.path.join(self.workdir, 'yamon-02.22.bin') - - self.vm.set_console() - self.vm.add_args('-bios', yamon_path) - self.vm.launch() - - prompt = 'YAMON>' - pattern = 'YAMON ROM Monitor' - interrupt_interactive_console_until_pattern(self, pattern, prompt) - wait_for_console_pattern(self, prompt) - self.vm.shutdown() - - def test_mipsel_malta_yamon(self): - """ - :avocado: tags=arch:mipsel - :avocado: tags=machine:malta - :avocado: tags=endian:little - """ - self.do_test_yamon() - - def test_mips64el_malta_yamon(self): - """ - :avocado: tags=arch:mips64el - :avocado: tags=machine:malta - :avocado: tags=endian:little - """ - self.do_test_yamon() diff --git a/tests/functional/meson.build b/tests/functional/meson.build index a82dbd43bb..f8e482a87c 100644 --- a/tests/functional/meson.build +++ b/tests/functional/meson.build @@ -51,6 +51,10 @@ tests_microblazeel_thorough = [ 'microblazeel_s3adsp1800' ] +tests_mipsel_thorough = [ + 'mipsel_malta', +] + tests_mips64el_quick = [ 'mips64el_fuloong2e', ] diff --git a/tests/functional/test_mips64el_malta.py b/tests/functional/test_mips64el_malta.py index 05d2c5f85b..fd5aeb982e 100755 --- a/tests/functional/test_mips64el_malta.py +++ b/tests/functional/test_mips64el_malta.py @@ -107,5 +107,8 @@ def test_mips_malta_i6400_framebuffer_logo_8cores(self): self.do_test_i6400_framebuffer_logo(8) +from test_mipsel_malta import MaltaMachineYAMON + + if __name__ == '__main__': QemuSystemTest.main() diff --git a/tests/functional/test_mipsel_malta.py b/tests/functional/test_mipsel_malta.py new file mode 100755 index 0000000000..5d2a7a5493 --- /dev/null +++ b/tests/functional/test_mipsel_malta.py @@ -0,0 +1,46 @@ +#!/usr/bin/env python3 +# +# Functional tests for the little-endian 32-bit MIPS Malta board +# +# Copyright (c) Philippe Mathieu-Daudé +# +# This work is licensed under the terms of the GNU GPL, version 2 or later. +# See the COPYING file in the top-level directory. +# +# SPDX-License-Identifier: GPL-2.0-or-later + +import os + +from qemu_test import QemuSystemTest, Asset +from qemu_test import interrupt_interactive_console_until_pattern +from qemu_test import wait_for_console_pattern +from zipfile import ZipFile + + +class MaltaMachineYAMON(QemuSystemTest): + + ASSET_YAMON_ROM = Asset( + ('https://s3-eu-west-1.amazonaws.com/downloads-mips/mips-downloads/' + 'YAMON/yamon-bin-02.22.zip'), + 'eef86f0eed0ef554f041dcd47b87eebea0e6f9f1184ed31f7e9e8b4a803860ab') + + def test_mipsel_malta_yamon(self): + zip_path = self.ASSET_YAMON_ROM.fetch() + with ZipFile(zip_path, 'r') as zf: + zf.extractall(path=self.workdir) + yamon_path = os.path.join(self.workdir, 'yamon-02.22.bin') + + self.set_machine('malta') + self.vm.set_console() + self.vm.add_args('-bios', yamon_path) + self.vm.launch() + + prompt = 'YAMON>' + pattern = 'YAMON ROM Monitor' + interrupt_interactive_console_until_pattern(self, pattern, prompt) + wait_for_console_pattern(self, prompt) + self.vm.shutdown() + + +if __name__ == '__main__': + QemuSystemTest.main()