From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.openvz.org (mail.openvz.org [69.168.225.77]) by lore.virtuozzo.com (Postfix) with ESMTPS id B68A28017D for ; Tue, 27 Oct 2026 17:36:30 +0000 (UTC) Received: from mail.openvz.org (localhost [127.0.0.1]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 69RHZHrh031822; Tue, 27 Oct 2026 20:35:18 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69RHZHrh031822 Authentication-Results: mail.openvz.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="uIIbElVz" Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 69RHZ30M031776 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Tue, 27 Oct 2026 20:35:03 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69RHZ30M031776 Received: by mail-wr1-f70.google.com with SMTP id ffacd0b85a97d-48afcecb035so33835f8f.0 for ; Tue, 27 Oct 2026 10:35:03 -0700 (PDT) X-Gm-Message-State: AFq9FYIf6TwfRogOfSeR/AwqtqWW/F8cZix+V79vPFhI1elVwRvzw/jC mjCjI/DaD6zX9NCS9otfTXGBdjIuokMCWM68Hjwyah95BGbxyVz2Ukpt0X7TEojjWKlXYFfMJrE MbySVQpjreXPqRr81Z129Tuzin5/fuCXY7pP+n9OOcnEtG+DcZgC/qw== X-Gm-Gg: AYBFou1FXG1wkjzKFwEcbi3ccFYmA8ptSkpqcDaisdAs1sTWbaZYz3SDr0rumsdtmUp IqBV+TauFePgkErUbjj5DSyZYzkQP95kJynjPfj8brlLWIOHD5foYa1R14bR8LzFHtuppp1MxDO hB1r6sCMlPJnGFIFfCXqZGnQH3v18xArJjFvEmhOT7Hh856RLuMz8iPVTdqfXl7Nh5jVkAJgNqQ SMfdfCyCcz35HNxtFsLG312C+r/fqMyjt1vu1KtBx9Gcn5QGqMf5Exutg5FPcYNNTd9Kf7rh2nQ bLQ3csjtPD/Ine3zNtOQrvsoAqVNkRz7E9mWIkmn6UUfkSY4P75WR6jYFnpgURs7ajlP3oAg7Oj fykkliXFrKySZ6gKhpBqsaIv4Vg== X-Received: by 2002:a05:6000:84:b0:48e:20ed:ce67 with SMTP id ffacd0b85a97d-48e55a50de3mr6524728f8f.23.1793122503318; Tue, 27 Oct 2026 10:35:03 -0700 (PDT) X-Received: by 2002:a05:6000:84:b0:48e:20ed:ce67 with SMTP id ffacd0b85a97d-48e55a50de3mr6524683f8f.23.1793122502796; Tue, 27 Oct 2026 10:35:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1793122502; cv=none; d=google.com; s=arc-20260327; b=QoAWoQ42rOtj2fDPx7GbZiImq8N8KhcfYf0UowP+w0m5+tTg5i40VV0e8vHIPgdpxn omj0O5X2WVVTGobp0V5dTgwUrYmUL0t67UZiKQVVjbIIFh8/hjBIg608SvI/y7bvot82 gGDnIQYwQT+Te9+7oEwwuW0dw4UHnh0379lZztlWitd2yN6Yw+dYOplfNQg4xJBy7Q44 UeXTQJfLSipytniX9HzRCyFq64Psp+4auwzSe/AxZ0SOk4E2o0t288LVuZAuoki2sz7A ZmTPL3zHK3U9n4mGkX04p6H8rhmDv0WNJIBQ9t++0tMKtW7cURVbE3QXfh2BmPII8Ay4 yXuw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=VF8v5YtyKtyur6KWABj95lETLSAFE+CTBe9VDl8qNTI=; fh=WpT6aB7RBAGHZeWZzqAr71yzRFbPTYkPWKsRagLn48Q=; b=q3k7cZR25MjhydC3aMleF8lLIW0irriRJkBZEyO15v08w5cnqCZbSPQl2toTpVLCND g25rVSnEzrRXEHa9h/W8G5igkXPvohXVXWojv3jmDcVvuA1d1MlCbXez4V6axmRYi9AM KIhKxyUo407k7QK3lQNdYFrFfp804eUojEVZOtBxsU8G2xmyxQWKCn800Jwq6WJ7SEYN lSo3oDql72OXf0BZsgFicAblkqgCNe0tqW5ewgOMSHqfjPxVxxw0DU2TUd6nI5BOR7cx 2FteOqhHbOyg8ywm6Lf5NdSIfGkq30g14u8EB/64XIgKkBcFzy4okIEkkHpz6AMoroR9 8HiA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=relay header.b=uIIbElVz; spf=pass (google.com: domain of eva.kurchatova@virtuozzo.com designates 130.117.225.111 as permitted sender) smtp.mailfrom=eva.kurchatova@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com Received: from relay.virtuozzo.com (relay.virtuozzo.com. [130.117.225.111]) by mx.google.com with ESMTPS id ffacd0b85a97d-48e3ecf6cc9si21572855f8f.244.2026.10.27.10.35.02 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Oct 2026 10:35:02 -0700 (PDT) Received-SPF: pass (google.com: domain of eva.kurchatova@virtuozzo.com designates 130.117.225.111 as permitted sender) client-ip=130.117.225.111; Authentication-Results: mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=relay header.b=uIIbElVz; spf=pass (google.com: domain of eva.kurchatova@virtuozzo.com designates 130.117.225.111 as permitted sender) smtp.mailfrom=eva.kurchatova@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=virtuozzo.com; s=relay; h=MIME-Version:Message-ID:Date:Subject:From: Content-Type; bh=VF8v5YtyKtyur6KWABj95lETLSAFE+CTBe9VDl8qNTI=; b=uIIbElVzAvmO PgEEopXrlJjfrDQkVF2JbxoXRRHK6Wj/YjSWZb6c4wtszUeseZOxac7Gw4IkXmXhQ3o/F5rcWK+5k VaGXZEtmw0CWo0PmjmF86x/YPl5Oq+IhdZEA13j/zuVePzK23ClLy85bdjEgCANuxsEISyodnynnD XegI1D8Zu/UWtdn2chazCKH96vjijansGrC/3M3TlLpTSiv1A9LvPkV4GFacRWNe+pWsJ0XgsJeD8 zcAhxixukllRlnl1AKk8sXop1CX7ULjuOHdYYEvAeG6uQMxn2gQ7px1uLEAnnItkXBliDKXMeG9dW Y/ivUuog9X+WxHnVMtEjtQ==; Received: from ch-vpn.virtuozzo.com ([130.117.225.6] helo=LekKit-T14) by relay.virtuozzo.com with esmtp (Exim 4.96) (envelope-from ) id 1xLl0v-000mai-1o; Tue, 27 Oct 2026 18:34:52 +0100 From: Eva Kurchatova To: khorenko@virtuozzo.com Date: Tue, 27 Oct 2026 19:34:20 +0200 Message-ID: <20261027173457.1261044-5-eva.kurchatova@virtuozzo.com> X-Mailer: git-send-email 2.56.0 In-Reply-To: <20261027173457.1261044-1-eva.kurchatova@virtuozzo.com> References: <20261027173457.1261044-1-eva.kurchatova@virtuozzo.com> MIME-Version: 1.0 X-OZ-Fwd: true Cc: devel@openvz.org Subject: [Devel] [PATCH hci-8.1 v3 4/7] selftests/zram: fail when a step fails X-BeenThere: devel@openvz.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: OpenVZ development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: devel-bounces@openvz.org Errors-To: devel-bounces@openvz.org The library prints FAIL for a step that fails and carries on, zram01 and zram02 print their verdict and exit 0 either way, and zram.sh exits with the status of zram02 alone, so no zram failure reached the runner. A step that reports FAIL now fails its test, and the suite takes the worst result of its two tests, a failure over a skip over a pass. A compression algorithm the kernel is built without, or a tool the tests need that is not installed, skips them instead of failing. https://virtuozzo.atlassian.net/browse/VSTOR-134205 Feature: fix selftests Signed-off-by: Eva Kurchatova --- tools/testing/selftests/zram/zram.sh | 11 ++++-- tools/testing/selftests/zram/zram01.sh | 8 +++++ tools/testing/selftests/zram/zram02.sh | 1 + tools/testing/selftests/zram/zram_lib.sh | 45 +++++++++++++++++++----- 4 files changed, 54 insertions(+), 11 deletions(-) diff --git a/tools/testing/selftests/zram/zram.sh b/tools/testing/selftests/zram/zram.sh index b0b91d9b0dc2..56adeb17768f 100755 --- a/tools/testing/selftests/zram/zram.sh +++ b/tools/testing/selftests/zram/zram.sh @@ -4,15 +4,22 @@ TCID="zram.sh" . ./zram_lib.sh +# A failure outranks a skip, a skip outranks a pass +result () { + [ $1 -eq $ksft_skip ] && [ $ret -ne 0 ] || ret=$1 +} + run_zram () { echo "--------------------" echo "running zram tests" echo "--------------------" -./zram01.sh +./zram01.sh || result $? echo "" -./zram02.sh +./zram02.sh || result $? } check_prereqs +ret=0 run_zram +exit $ret diff --git a/tools/testing/selftests/zram/zram01.sh b/tools/testing/selftests/zram/zram01.sh index 8f4affe34f3e..8f337e6adf8b 100755 --- a/tools/testing/selftests/zram/zram01.sh +++ b/tools/testing/selftests/zram/zram01.sh @@ -10,6 +10,7 @@ TCID="zram01" ERR_CODE=0 +SKIP_CODE=0 . ./zram_lib.sh @@ -33,6 +34,9 @@ zram_algs="lzo" zram_fill_fs() { + # An earlier step failed, and after a failed mount the directory + # would be filled on the host's filesystem + [ $ERR_CODE -ne 0 ] && return for i in $(seq $dev_start $dev_end); do echo "fill zram$i..." local b=0 @@ -70,6 +74,10 @@ zram_cleanup if [ $ERR_CODE -ne 0 ]; then echo "$TCID : [FAIL]" + exit 1 +elif [ $SKIP_CODE -ne 0 ]; then + echo "$TCID : [SKIP]" + exit $SKIP_CODE else echo "$TCID : [PASS]" fi diff --git a/tools/testing/selftests/zram/zram02.sh b/tools/testing/selftests/zram/zram02.sh index 2418b0c4ed13..54e17bbfdbb7 100755 --- a/tools/testing/selftests/zram/zram02.sh +++ b/tools/testing/selftests/zram/zram02.sh @@ -39,6 +39,7 @@ zram_cleanup if [ $ERR_CODE -ne 0 ]; then echo "$TCID : [FAIL]" + exit 1 else echo "$TCID : [PASS]" fi diff --git a/tools/testing/selftests/zram/zram_lib.sh b/tools/testing/selftests/zram/zram_lib.sh index 21ec1966de76..6d71022296e5 100755 --- a/tools/testing/selftests/zram/zram_lib.sh +++ b/tools/testing/selftests/zram/zram_lib.sh @@ -28,6 +28,13 @@ check_prereqs() echo $msg must be run as root >&2 exit $ksft_skip fi + + for cmd in mkfs.ext2 mkswap swapon swapoff; do + if ! command -v $cmd > /dev/null 2>&1; then + echo $msg $cmd is not installed >&2 + exit $ksft_skip + fi + done } kernel_gte() @@ -131,12 +138,14 @@ zram_max_streams() for max_s in $zram_max_streams; do local sys_path="/sys/block/zram${i}/max_comp_streams" echo $max_s > $sys_path || \ - echo "FAIL failed to set '$max_s' to $sys_path" + { echo "FAIL failed to set '$max_s' to $sys_path"; ERR_CODE=-1; } sleep 1 local max_streams=$(cat $sys_path) - [ "$max_s" -ne "$max_streams" ] && \ - echo "FAIL can't set max_streams '$max_s', get $max_stream" + if [ "$max_s" -ne "$max_streams" ]; then + echo "FAIL can't set max_streams '$max_s', get $max_streams" + ERR_CODE=-1 + fi i=$(($i + 1)) echo "$sys_path = '$max_streams'" @@ -152,11 +161,25 @@ zram_compress_alg() local i=$dev_start local algs=$(cat /sys/block/zram${i}/comp_algorithm) echo "supported algs: $algs" + if [ -z "$algs" ]; then + echo "FAIL can't read /sys/block/zram${i}/comp_algorithm" + ERR_CODE=-1 + fi for alg in $zram_algs; do local sys_path="/sys/block/zram${i}/comp_algorithm" + # A kernel built without the algorithm is not a zram failure + case " $(echo "$algs" | tr -d '[]') " in + *" $alg "*) ;; + *) + echo "SKIP '$alg' is not supported by this kernel" + SKIP_CODE=$ksft_skip + i=$(($i + 1)) + continue + ;; + esac echo "$alg" > $sys_path || \ - echo "FAIL can't set '$alg' to $sys_path" + { echo "FAIL can't set '$alg' to $sys_path"; ERR_CODE=-1; } i=$(($i + 1)) echo "$sys_path = '$alg'" done @@ -171,7 +194,7 @@ zram_set_disksizes() for ds in $zram_sizes; do local sys_path="/sys/block/zram${i}/disksize" echo "$ds" > $sys_path || \ - echo "FAIL can't set '$ds' to $sys_path" + { echo "FAIL can't set '$ds' to $sys_path"; ERR_CODE=-1; } i=$(($i + 1)) echo "$sys_path = '$ds'" @@ -188,7 +211,7 @@ zram_set_memlimit() for ds in $zram_mem_limits; do local sys_path="/sys/block/zram${i}/mem_limit" echo "$ds" > $sys_path || \ - echo "FAIL can't set '$ds' to $sys_path" + { echo "FAIL can't set '$ds' to $sys_path"; ERR_CODE=-1; } i=$(($i + 1)) echo "$sys_path = '$ds'" @@ -205,13 +228,15 @@ zram_makeswap() mkswap /dev/zram$i > err.log 2>&1 if [ $? -ne 0 ]; then cat err.log - echo "FAIL mkswap /dev/zram$1 failed" + echo "FAIL mkswap /dev/zram$i failed" + ERR_CODE=-1 fi swapon /dev/zram$i > err.log 2>&1 if [ $? -ne 0 ]; then cat err.log - echo "FAIL swapon /dev/zram$1 failed" + echo "FAIL swapon /dev/zram$i failed" + ERR_CODE=-1 fi echo "done with /dev/zram$i" @@ -229,6 +254,7 @@ zram_swapoff() if [ $? -ne 0 ]; then cat err.log echo "FAIL swapoff /dev/zram$i failed" + ERR_CODE=-1 fi done dev_makeswap=-1 @@ -248,6 +274,7 @@ zram_makefs() if [ $? -ne 0 ]; then cat err.log echo "FAIL failed to make $fs on /dev/zram$i" + ERR_CODE=-1 fi i=$(($i + 1)) echo "zram mkfs.$fs: OK" @@ -261,7 +288,7 @@ zram_mount() echo "mount /dev/zram$i" mkdir zram$i mount /dev/zram$i zram$i > /dev/null || \ - echo "FAIL mount /dev/zram$i failed" + { echo "FAIL mount /dev/zram$i failed"; ERR_CODE=-1; } dev_mounted=$i done -- 2.56.0 _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel