From patchwork Tue Jun 8 17:19:27 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Darrick J. Wong" X-Patchwork-Id: 12307669 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id B4803C47082 for ; Tue, 8 Jun 2021 17:19:29 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 9DD7E6135D for ; Tue, 8 Jun 2021 17:19:29 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232088AbhFHRVV (ORCPT ); Tue, 8 Jun 2021 13:21:21 -0400 Received: from mail.kernel.org ([198.145.29.99]:54560 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232263AbhFHRVV (ORCPT ); Tue, 8 Jun 2021 13:21:21 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 08D2361359; Tue, 8 Jun 2021 17:19:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1623172768; bh=Qa57kI1fGHkYAMkToh9ejc4GN8tRVM+CoTHt5jT/UKU=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=dT0B+RnjwBRIlEyf/sFlG6bvMtHOc2k6mXDda0BDs54+KXawrYT1TFz6pZ2hXq+bN P06uW50xZHzItyEcqrC9J6sgua3ChvM+/FL0j3fPUt4tH9c5uplhbGBNsSR6EIh1yU ral00v+lJQYSzCyj8gvfMCmsFslzzBBluGipbIbTiGsB/yMGBmogjQ9ACFuhFqBlUC UndgH+bzb6HjJnpV3pVspFU2/3yEkOJ9251vjFj/WWmh5yyAnuAC8qFbYQ9KytvAXr +S3q7axj8w1/X0jjeelpo/ojfM8nKl5H7fX2U+y5cSdf1y2AuCK/DICsBWuTfDcLdY 4vfQXYReOb5og== Subject: [PATCH 01/13] fstests: fix group check in new script From: "Darrick J. Wong" To: djwong@kernel.org, guaneryu@gmail.com Cc: linux-xfs@vger.kernel.org, fstests@vger.kernel.org, guan@eryu.me, amir73il@gmail.com, ebiggers@kernel.org Date: Tue, 08 Jun 2021 10:19:27 -0700 Message-ID: <162317276776.653489.15862429375974956030.stgit@locust> In-Reply-To: <162317276202.653489.13006238543620278716.stgit@locust> References: <162317276202.653489.13006238543620278716.stgit@locust> User-Agent: StGit/0.19 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: fstests@vger.kernel.org From: Darrick J. Wong In the tests/*/group files, group names are found in the Nth columns of the file, where N > 1. The grep expression to warn about unknown groups is not correct (since it currently checks column 1), so fix this. Signed-off-by: Darrick J. Wong Reviewed-by: Chandan Babu R Reviewed-by: Allison Henderson --- new | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/new b/new index bb427f0d..357983d9 100755 --- a/new +++ b/new @@ -243,10 +243,7 @@ else # for g in $* do - if grep "^$g[ ]" $tdir/group >/dev/null - then - : - else + if ! grep -q "[[:space:]]$g" "$tdir/group"; then echo "Warning: group \"$g\" not defined in $tdir/group" fi done From patchwork Tue Jun 8 17:19:33 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Darrick J. Wong" X-Patchwork-Id: 12307671 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D993EC47082 for ; Tue, 8 Jun 2021 17:19:34 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id BCE786135A for ; Tue, 8 Jun 2021 17:19:34 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232007AbhFHRV1 (ORCPT ); Tue, 8 Jun 2021 13:21:27 -0400 Received: from mail.kernel.org ([198.145.29.99]:54636 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232126AbhFHRV0 (ORCPT ); Tue, 8 Jun 2021 13:21:26 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 746BB61351; Tue, 8 Jun 2021 17:19:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1623172773; bh=D/BMXwROd6kHDetTs1ZdeOpLW7yhEGM6D/DMFoKmKaU=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=CdidKy7LGGEeT+d9Fa+0BmZ9H5O8INqFMAqgu7WBcbbubr0ZhPw+wLDSBDfY5/LB8 TLlz9rd6v+Pl2ILWtgiamFj9rAy/G6z+82fBcTV8r+2sxUX2/c6XjcXopFXhcARj8n XsblP5gnNuAzlxX45XNCcRXEaA0O5ttmkbEANRX12oygp0Xg0k8FjR7iDVYGms5yj6 zFQfnPi2jilcCZkHxe2hhr3mJ4tb8sLbLSCkcRlOhMv2/fTmkfTCoJANsGMiNbyGWH NtM0VX1cMZuohreN22jqjF7JYDBxjSZ2rJfWvd4lFtwx15IVt2qDvMl+tpdnz0H8bH CfnKrgEsOPGcA== Subject: [PATCH 02/13] misc: move exit status into trap handler From: "Darrick J. Wong" To: djwong@kernel.org, guaneryu@gmail.com Cc: linux-xfs@vger.kernel.org, fstests@vger.kernel.org, guan@eryu.me, amir73il@gmail.com, ebiggers@kernel.org Date: Tue, 08 Jun 2021 10:19:33 -0700 Message-ID: <162317277320.653489.6399691950820962617.stgit@locust> In-Reply-To: <162317276202.653489.13006238543620278716.stgit@locust> References: <162317276202.653489.13006238543620278716.stgit@locust> User-Agent: StGit/0.19 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: fstests@vger.kernel.org From: Darrick J. Wong Move the "exit $status" clause of the _cleanup function into the argument to the "trap" command so that we can standardize the registration of the atexit cleanup code in the next few patches. Signed-off-by: Darrick J. Wong Reviewed-by: Chandan Babu R Reviewed-by: Allison Henderson --- tests/generic/068 | 3 +-- tests/xfs/004 | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/tests/generic/068 b/tests/generic/068 index 932a8560..573fbd45 100755 --- a/tests/generic/068 +++ b/tests/generic/068 @@ -22,10 +22,9 @@ _cleanup() cd / trap 0 1 2 3 15 - exit $status } -trap "_cleanup" 0 1 2 3 15 +trap "_cleanup; exit \$status" 0 1 2 3 15 # get standard environment, filters and checks . ./common/rc diff --git a/tests/xfs/004 b/tests/xfs/004 index d3fb9c95..4d92a08e 100755 --- a/tests/xfs/004 +++ b/tests/xfs/004 @@ -18,9 +18,8 @@ _cleanup() { _scratch_unmount rm -f $tmp.* - exit $status } -trap "_cleanup" 0 1 2 3 15 +trap "_cleanup; exit \$status" 0 1 2 3 15 _populate_scratch() { From patchwork Tue Jun 8 17:19:38 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Darrick J. Wong" X-Patchwork-Id: 12307673 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 127CFC47082 for ; Tue, 8 Jun 2021 17:19:42 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id EC8CE61359 for ; Tue, 8 Jun 2021 17:19:41 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233009AbhFHRVd (ORCPT ); Tue, 8 Jun 2021 13:21:33 -0400 Received: from mail.kernel.org ([198.145.29.99]:54798 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232516AbhFHRVc (ORCPT ); Tue, 8 Jun 2021 13:21:32 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id E568161351; Tue, 8 Jun 2021 17:19:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1623172779; bh=3XNfN7uOTluRDYJzoDuYpGpAHdgau+Z6pxsp0ucDAZ4=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=mstGzaPAsNzK1wTfM4Q6WAIUUBqKFuqSoxy2NC0ewFWDNfCTWC9P/qKO3CoLIb2i+ Xce+X0hEfq7GtFfJWp/4Gg0BuEpKeMBm69zljxzF8yicFNFSBvHwNvAifekmz3uqps SfqBjQXPFnESVNlN+0NyC7RetPPdgKVHF/dJmPS+prdznNF48kv4ZmuaZFuquvmVKK QKzVD7HH20GCgftEl6GYzlIMeKtCRp+n6dMj5drLoAB0+I598BLpLZ4GNoxzVG/qz6 h6R7UBSPe943FsxqpEsbKURiMSfosbgWHtrFnEDr7MDruOSTjEBKES4+L1kkDUvQy4 CrHRMv4xkuOeQ== Subject: [PATCH 03/13] fstests: refactor test boilerplate code From: "Darrick J. Wong" To: djwong@kernel.org, guaneryu@gmail.com Cc: linux-xfs@vger.kernel.org, fstests@vger.kernel.org, guan@eryu.me, amir73il@gmail.com, ebiggers@kernel.org Date: Tue, 08 Jun 2021 10:19:38 -0700 Message-ID: <162317277866.653489.1612159248973350500.stgit@locust> In-Reply-To: <162317276202.653489.13006238543620278716.stgit@locust> References: <162317276202.653489.13006238543620278716.stgit@locust> User-Agent: StGit/0.19 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: fstests@vger.kernel.org From: Darrick J. Wong Create two new helper functions to deal with boilerplate test code: A helper function to set the seq and seqnum variables. We will expand on this in the next patch so that fstests can autogenerate group files from now on. A helper function to register cleanup code that will run if the test exits or trips over a standard range of signals. Signed-off-by: Darrick J. Wong Reviewed-by: Chandan Babu R Reviewed-by: Allison Henderson --- common/preamble | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ new | 33 ++++++++++++--------------------- 2 files changed, 61 insertions(+), 21 deletions(-) create mode 100644 common/preamble diff --git a/common/preamble b/common/preamble new file mode 100644 index 00000000..63f66957 --- /dev/null +++ b/common/preamble @@ -0,0 +1,49 @@ +#!/bin/bash +# SPDX-License-Identifier: GPL-2.0 +# Copyright (c) 2021 Oracle. All Rights Reserved. + +# Boilerplate fstests functionality + +# Standard cleanup function. Individual tests should override this. +_cleanup() +{ + cd / + rm -f $tmp.* +} + +# Install the supplied cleanup code as a signal handler for HUP, INT, QUIT, +# TERM, or when the test exits. Extra signals can be specified as subsequent +# parameters. +_register_cleanup() +{ + local cleanup="$1" + shift + + test -n "$cleanup" && cleanup="${cleanup}; " + trap "${cleanup}exit \$status" EXIT HUP INT QUIT TERM $* +} +# Initialize the global seq, seqres, here, tmp, and status variables to their +# defaults. Group memberships are the only arguments to this helper. +_begin_fstest() +{ + if [ -n "$seq" ]; then + echo "_begin_fstest can only be called once!" + exit 1 + fi + + seq=`basename $0` + seqres=$RESULT_DIR/$seq + echo "QA output created by $seq" + + here=`pwd` + tmp=/tmp/$$ + status=1 # failure is the default! + + _register_cleanup _cleanup + + . ./common/rc + + # remove previous $seqres.full before test + rm -f $seqres.full + +} diff --git a/new b/new index 357983d9..16e7c782 100755 --- a/new +++ b/new @@ -153,27 +153,18 @@ cat <$tdir/$id # # what am I here for? # -seq=\`basename \$0\` -seqres=\$RESULT_DIR/\$seq -echo "QA output created by \$seq" - -here=\`pwd\` -tmp=/tmp/\$\$ -status=1 # failure is the default! -trap "_cleanup; exit \\\$status" 0 1 2 3 15 - -_cleanup() -{ - cd / - rm -f \$tmp.* -} - -# get standard environment, filters and checks -. ./common/rc -. ./common/filter - -# remove previous \$seqres.full before test -rm -f \$seqres.full +. ./common/preamble +_begin_fstest group list here + +# Override the default cleanup function. +# _cleanup() +# { +# cd / +# rm -f \$tmp.* +# } + +# Import common functions. +# . ./common/filter # real QA test starts here From patchwork Tue Jun 8 17:19:44 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Darrick J. Wong" X-Patchwork-Id: 12307675 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id A04E0C4743D for ; Tue, 8 Jun 2021 17:19:46 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 7C59F61359 for ; Tue, 8 Jun 2021 17:19:46 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232634AbhFHRVi (ORCPT ); Tue, 8 Jun 2021 13:21:38 -0400 Received: from mail.kernel.org ([198.145.29.99]:54900 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232516AbhFHRVh (ORCPT ); Tue, 8 Jun 2021 13:21:37 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 5CCE861359; Tue, 8 Jun 2021 17:19:44 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1623172784; bh=YkUP0bsy1DYjSzvwt6C34unUNh66ehLYgYxXCSKthIc=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=K7lIyeC2VDAqV6UDllcaZRv7SDImYPXwQEmGnPvC6fJaZSaW6oW1qp1XbNmfHg64f op3O3f6t8H+kUBVMhmOV/vjvXWVNqhcIXN9D/tiJDA5rrL+I/d+t12HkiBColBJ0kg KGvu41GwQPnqm7Ws5F5ZkvqvVq1rG9Zg1xynhXeOn8O/ZylkNRWVIhjqkcEr7tlxLL JwGgGGYlvFGVDD/IcaolqgNrYUIeM14bnl26Z20OLtMR6Vb7EWVxqpkbETEkNXb1g0 5upCxFEZNSfUhJejS5EDWy9vi0tS/JhPUpB8KRAFb6r8wRYkBsPJZF5iM6FiXpXwDp zLJMcN/PJKczA== Subject: [PATCH 04/13] fstests: add tool migrate group membership data to test files From: "Darrick J. Wong" To: djwong@kernel.org, guaneryu@gmail.com Cc: linux-xfs@vger.kernel.org, fstests@vger.kernel.org, guan@eryu.me, amir73il@gmail.com, ebiggers@kernel.org Date: Tue, 08 Jun 2021 10:19:44 -0700 Message-ID: <162317278412.653489.8220326541398463657.stgit@locust> In-Reply-To: <162317276202.653489.13006238543620278716.stgit@locust> References: <162317276202.653489.13006238543620278716.stgit@locust> User-Agent: StGit/0.19 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: fstests@vger.kernel.org From: Darrick J. Wong Create a tool to migrate the mapping of tests <-> groups out of the group file and into the individual test file as a _begin_fstest call. In the next patches we'll rewrite all the test files and auto generate the group files from the tests. Signed-off-by: Darrick J. Wong Reviewed-by: Chandan Babu R Reviewed-by: Allison Henderson --- tools/convert-group | 131 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 131 insertions(+) create mode 100755 tools/convert-group diff --git a/tools/convert-group b/tools/convert-group new file mode 100755 index 00000000..42a99fe5 --- /dev/null +++ b/tools/convert-group @@ -0,0 +1,131 @@ +#!/bin/bash +# SPDX-License-Identifier: GPL-2.0 +# Copyright (c) 2021 Oracle. All Rights Reserved. + +# Move group tags from the groups file into the test files themselves. + +if [ -z "$1" ] || [ "$1" = "--help" ]; then + echo "Usage: $0 test_dir [test_dirs...]" + exit 1 +fi + +obliterate_group_file() { + sed -e 's/^#.*$//g' < group | while read test groups; do + if [ -z "$test" ]; then + continue; + elif [ ! -e "$test" ]; then + echo "Ignoring unknown test file \"$test\"." + continue + fi + + # Replace all the open-coded test preparation code with a + # single call to _begin_fstest. + sed -e '/^seqres=\$RESULT_DIR\/\$seq$/d' \ + -e '/^seqres=\"\$RESULT_DIR\/\$seq\"$/d' \ + -e '/^echo "QA output created by \$seq"$/d' \ + -e '/^here=`pwd`$/d' \ + -e '/^here=\$(pwd)$/d' \ + -e '/^here=\$PWD$/d' \ + -e '/^here=\"`pwd`\"$/d' \ + -e '/^tmp=\/tmp\/\$\$$/d' \ + -e '/^status=1.*failure.*is.*the.*default/d' \ + -e '/^status=1.*FAILure.*is.*the.*default/d' \ + -e '/^status=1.*success.*is.*the.*default/d' \ + -e '/^status=1.*default.*failure/d' \ + -e '/^echo.*QA output created by.*seq/d' \ + -e '/^# remove previous \$seqres.full before test/d' \ + -e '/^rm -f \$seqres.full/d' \ + -e 's|^# get standard environment, filters and checks|# Import common functions.|g' \ + -e '/^\. \.\/common\/rc/d' \ + -e '/^\. common\/rc/d' \ + -e 's|^seq=.*$|. ./common/preamble\n_begin_fstest '"$groups"'|g' \ + -i "$test" + + # Replace the open-coded trap calls that register cleanup code + # with a call to _register_cleanup. + # + # For tests that registered empty-string cleanups or open-coded + # calls to remove $tmp files, remove the _register_cleanup + # calls entirely because the default _cleanup does that for us. + # + # For tests that now have a _register_cleanup call for the + # _cleanup function, remove the explicit call because + # _begin_fstest already registers that for us. + # + # For tests that override _cleanup, insert a comment noting + # that it is overriding the default, to match the ./new + # template. + sed -e 's|^trap "exit \\\$status" 0 1 2 3 15|_register_cleanup ""|g' \ + -e 's|^trap "\(.*\)[[:space:]]*; exit \\\$status" 0 1 2 3 15|_register_cleanup "\1"|g' \ + -e 's|^trap "\(.*\)[[:space:]]*; exit \\\$status" 1 2 3 15|_register_cleanup "\1"|g' \ + -e 's|^trap '"'"'\(.*\)[[:space:]]*; exit \$status'"'"' 0 1 2 3 15|_register_cleanup "\1"|g' \ + -e 's|^trap "\(.*\)[[:space:]]*; exit \\\$status" 0 1 2 3 7 15|_register_cleanup "\1" BUS|g' \ + -e 's|^_register_cleanup "[[:space:]]*\([^[:space:]]*\)[[:space:]]*"|_register_cleanup "\1"|g' \ + -e '/^_register_cleanup ""$/d' \ + -e '/^_register_cleanup "rm -f \$tmp.*"$/d' \ + -e '/^_register_cleanup "_cleanup"$/d' \ + -e 's|^_cleanup()|# Override the default cleanup function.\n_cleanup()|g' \ + -i "$test" + + # If the test doesn't import any common functionality, + # get rid of the pointless comment. + if ! grep -q '^\. .*common' "$test"; then + sed -e '/^# Import common functions.$/d' -i "$test" + fi + + # Replace the "status=1" lines that don't have the usual + # "failure is the default" message if there's no other code + # between _begin_fstest and status=1. + if grep -q '^status=1$' "$test"; then + awk ' +BEGIN { + saw_groupinfo = 0; +} +{ + if ($0 ~ /^_begin_fstest/) { + saw_groupinfo = 1; + printf("%s\n", $0); + } else if ($0 ~ /^status=1$/) { + if (saw_groupinfo == 0) { + printf("%s\n", $0); + } + } else if ($0 == "") { + printf("\n"); + } else { + saw_groupinfo = 0; + printf("%s\n", $0); + } +} +' < "$test" > "$test.new" + cat "$test.new" > "$test" + rm -f "$test.new" + fi + + # Collapse sequences of blank lines to a single blank line. + awk ' +BEGIN { + saw_blank = 0; +} +{ + if ($0 ~ /^$/) { + if (saw_blank == 0) { + printf("\n"); + saw_blank = 1; + } + } else { + printf("%s\n", $0); + saw_blank = 0; + } +} +' < "$test" > "$test.new" + cat "$test.new" > "$test" + rm -f "$test.new" + done +} + +curr_dir="$PWD" +for tdir in "$@"; do + cd "tests/$tdir" + obliterate_group_file + cd "$curr_dir" +done From patchwork Tue Jun 8 17:19:49 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Darrick J. Wong" X-Patchwork-Id: 12307677 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id DDBD7C47082 for ; Tue, 8 Jun 2021 17:19:50 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id C91CA61360 for ; Tue, 8 Jun 2021 17:19:50 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233084AbhFHRVn (ORCPT ); Tue, 8 Jun 2021 13:21:43 -0400 Received: from mail.kernel.org ([198.145.29.99]:54960 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233005AbhFHRVm (ORCPT ); Tue, 8 Jun 2021 13:21:42 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id CDEBE61351; Tue, 8 Jun 2021 17:19:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1623172789; bh=WJ/52PV7jPHSVREjaQ72TU2RotOg9bwNThPV40DcTuM=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=QXwWj5Y5Qhka0Br6W4v3E3UPTvzwuMznRlIO6qdrENQh7VcC8kbd/XDqXfzZ6g+GC 0oQSlRaEXF40hMCHPOqnQyW4AWeuheCJtKAyvIuqKRjUNgRncan6XiviKqWTd0Qrzp 2gQqy/K6zCv8iCKsP+ycsmE8OCCBO5YqsxKdKs/MBnfPZ9wCJFTutdoM8mtGfARC3h chyMJ4hCNyu1gRdq4oZmTLWbFaTWLPF+SKGxfDZHTfdgtrl5VJMPMgWBctbi9g1vGa WojnVit0bfckoGt54f63bWRw7c081AoPpTt2Da6PzN6L6wHzagVPuAjsahcMsM44yR 2AzRrXm3iR3IA== Subject: [PATCH 05/13] fstests: move test group info to test files From: "Darrick J. Wong" To: djwong@kernel.org, guaneryu@gmail.com Cc: linux-xfs@vger.kernel.org, fstests@vger.kernel.org, guan@eryu.me, amir73il@gmail.com, ebiggers@kernel.org Date: Tue, 08 Jun 2021 10:19:49 -0700 Message-ID: <162317278957.653489.1221763643277904130.stgit@locust> In-Reply-To: <162317276202.653489.13006238543620278716.stgit@locust> References: <162317276202.653489.13006238543620278716.stgit@locust> User-Agent: StGit/0.19 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: fstests@vger.kernel.org From: Darrick J. Wong Refactor every test in the entire test suite to use the new boilerplate functions. This also migrates all the test group information into the test files. This patch has been autogenerated via the command: ./tools/convert-group btrfs ceph cifs ext4 f2fs generic nfs ocfs2 overlay perf shared udf xfs NOTE: This patch submission only contains diffs of the first seven btrfs tests because vger rejects 1.5MB patches. The full conversion is in the git branch linked from the cover letter. Signed-off-by: Darrick J. Wong Reviewed-by: Allison Henderson --- tests/btrfs/001 | 15 ++++----------- tests/btrfs/002 | 15 ++++----------- tests/btrfs/003 | 15 ++++----------- tests/btrfs/004 | 15 ++++----------- tests/btrfs/005 | 16 ++++------------ tests/btrfs/006 | 16 ++++------------ 6 files changed, 24 insertions(+), 68 deletions(-) diff --git a/tests/btrfs/001 b/tests/btrfs/001 index fb051e8a..5d5849f0 100755 --- a/tests/btrfs/001 +++ b/tests/btrfs/001 @@ -6,23 +6,16 @@ # # Test btrfs's subvolume and snapshot support # -seq=`basename $0` -seqres=$RESULT_DIR/$seq -echo "QA output created by $seq" - -here=`pwd` -tmp=/tmp/$$ -status=1 # failure is the default! +. ./common/preamble +_begin_fstest auto quick subvol snapshot +# Override the default cleanup function. _cleanup() { rm -f $tmp.* } -trap "_cleanup ; exit \$status" 0 1 2 3 15 - -# get standard environment, filters and checks -. ./common/rc +# Import common functions. . ./common/filter . ./common/filter.btrfs diff --git a/tests/btrfs/002 b/tests/btrfs/002 index 66775562..96332271 100755 --- a/tests/btrfs/002 +++ b/tests/btrfs/002 @@ -6,23 +6,16 @@ # # Extented btrfs snapshot test cases # -seq=`basename $0` -seqres=$RESULT_DIR/$seq -echo "QA output created by $seq" - -here=`pwd` -tmp=/tmp/$$ -status=1 # failure is the default! +. ./common/preamble +_begin_fstest auto snapshot +# Override the default cleanup function. _cleanup() { rm -f $tmp.* } -trap "_cleanup ; exit \$status" 0 1 2 3 15 - -# get standard environment, filters and checks -. ./common/rc +# Import common functions. . ./common/filter _supported_fs btrfs diff --git a/tests/btrfs/003 b/tests/btrfs/003 index fbb313fb..d241ec6e 100755 --- a/tests/btrfs/003 +++ b/tests/btrfs/003 @@ -6,16 +6,11 @@ # # btrfs vol tests # -seq=`basename $0` -seqres=$RESULT_DIR/$seq -echo "QA output created by $seq" +. ./common/preamble +_begin_fstest auto replace volume balance -here=`pwd` -tmp=/tmp/$$ -status=1 # failure is the default! dev_removed=0 removed_dev_htl="" -trap "_cleanup; exit \$status" 0 1 2 3 15 # Check if all scratch dev pools are deletable deletable_scratch_dev_pool() @@ -32,6 +27,7 @@ deletable_scratch_dev_pool() return 0 } +# Override the default cleanup function. _cleanup() { cd / @@ -42,8 +38,7 @@ _cleanup() fi } -# get standard environment, filters and checks -. ./common/rc +# Import common functions. . ./common/filter _supported_fs btrfs @@ -51,8 +46,6 @@ _require_scratch _require_scratch_dev_pool 4 _require_command "$WIPEFS_PROG" wipefs -rm -f $seqres.full - # Test cases related to raid in btrfs _test_raid0() { diff --git a/tests/btrfs/004 b/tests/btrfs/004 index 0458d2b6..4e767a2f 100755 --- a/tests/btrfs/004 +++ b/tests/btrfs/004 @@ -9,25 +9,20 @@ # run filefrag to get the extent mapping and follow the backrefs. # We check to end up back at the original file with the correct offset. # -seq=`basename $0` -seqres=$RESULT_DIR/$seq -echo "QA output created by $seq" +. ./common/preamble +_begin_fstest auto rw metadata -here=`pwd` -tmp=/tmp/$$ -status=1 noise_pid=0 +# Override the default cleanup function. _cleanup() { rm $tmp.running wait rm -f $tmp.* } -trap "_cleanup; exit \$status" 0 1 2 3 15 -# get standard environment, filters and checks -. ./common/rc +# Import common functions. . ./common/filter # real QA test starts here @@ -38,8 +33,6 @@ _require_btrfs_command inspect-internal logical-resolve _require_btrfs_command inspect-internal inode-resolve _require_command "$FILEFRAG_PROG" filefrag -rm -f $seqres.full - FILEFRAG_FILTER=' if (/blocks? of (\d+) bytes/) { $blocksize = $1; diff --git a/tests/btrfs/005 b/tests/btrfs/005 index ff20a638..ac9e8bfa 100755 --- a/tests/btrfs/005 +++ b/tests/btrfs/005 @@ -6,17 +6,12 @@ # # Btrfs Online defragmentation tests # -seq=`basename $0` -seqres=$RESULT_DIR/$seq -echo "QA output created by $seq" -here="`pwd`" -tmp=/tmp/$$ +. ./common/preamble +_begin_fstest auto defrag cnt=119 filesize=48000 -status=1 # failure is the default! -trap "_cleanup; exit \$status" 0 1 2 3 15 - +# Override the default cleanup function. _cleanup() { cd / @@ -111,8 +106,7 @@ _rundefrag() _check_scratch_fs } -# get standard environment, filters and checks -. ./common/rc +# Import common functions. . ./common/filter . ./common/defrag @@ -120,8 +114,6 @@ _rundefrag() _supported_fs btrfs _require_scratch -rm -f $seqres.full - _scratch_mkfs >/dev/null 2>&1 _scratch_mount _require_defrag diff --git a/tests/btrfs/006 b/tests/btrfs/006 index 67f1fcd8..c0f9541a 100755 --- a/tests/btrfs/006 +++ b/tests/btrfs/006 @@ -7,23 +7,17 @@ # run basic btrfs information commands in various ways # sanity tests: filesystem show, label, sync, and device stats # -seq=`basename $0` -seqres=$RESULT_DIR/$seq -echo "== QA output created by $seq" - -here=`pwd` -tmp=/tmp/$$ -status=1 # failure is the default! -trap "_cleanup; exit \$status" 0 1 2 3 15 +. ./common/preamble +_begin_fstest auto quick volume +# Override the default cleanup function. _cleanup() { cd / rm -f $tmp.* } -# get standard environment, filters and checks -. ./common/rc +# Import common functions. . ./common/filter.btrfs # real QA test starts here @@ -33,8 +27,6 @@ _supported_fs btrfs _require_scratch _require_scratch_dev_pool -rm -f $seqres.full - FIRST_POOL_DEV=`echo $SCRATCH_DEV_POOL | awk '{print $1}'` LAST_POOL_DEV=`echo $SCRATCH_DEV_POOL | awk '{print $NF}'` TOTAL_DEVS=`echo $SCRATCH_DEV_POOL | wc -w` From patchwork Tue Jun 8 17:19:55 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Darrick J. Wong" X-Patchwork-Id: 12307679 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 623A3C47082 for ; Tue, 8 Jun 2021 17:19:56 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 4F8EA61360 for ; Tue, 8 Jun 2021 17:19:56 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233241AbhFHRVs (ORCPT ); Tue, 8 Jun 2021 13:21:48 -0400 Received: from mail.kernel.org ([198.145.29.99]:55030 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233094AbhFHRVs (ORCPT ); Tue, 8 Jun 2021 13:21:48 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 4387761359; Tue, 8 Jun 2021 17:19:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1623172795; bh=YL/o1WyGAgqDY22nMhmz/PoqxP9YmmxmjN4nRAtvjN8=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=IvNe4fdCCQIcGBjvis8gBj3L7Is042SM+SKLjvjx7XIPYBveT0pFQ+BZhPouJoc+7 1VsbXD6+pfmX+Zs84/+TLDCOFS7OWBGLtrTEAgDLrHtV0pYBLZ+djaP4mQ8Tr9ulFi 2SH6Dbu0Y7qgo65JLKwho0SjLxv9kBW6DlsHyps8jnhITbf/5A6lZqZQj2DIo3EkH8 p7Vag7qj1+FhQ6SyTuFxNIFIQlkTdeEUtD5QODNCcN87Y3iQiKkqpxRqm4w9na0ZVo MQt/FWT51N95yTm193uTbuk0xr27W0rVxkNPxWUdk7LYc7DYmS738/mAskqpPRm/D+ nDghgnfU0b8Ig== Subject: [PATCH 06/13] fstests: clean up open-coded golden output From: "Darrick J. Wong" To: djwong@kernel.org, guaneryu@gmail.com Cc: linux-xfs@vger.kernel.org, fstests@vger.kernel.org, guan@eryu.me, amir73il@gmail.com, ebiggers@kernel.org Date: Tue, 08 Jun 2021 10:19:55 -0700 Message-ID: <162317279504.653489.6631181052382825481.stgit@locust> In-Reply-To: <162317276202.653489.13006238543620278716.stgit@locust> References: <162317276202.653489.13006238543620278716.stgit@locust> User-Agent: StGit/0.19 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: fstests@vger.kernel.org From: Darrick J. Wong Fix the handful of tests that open-coded 'QA output created by XXX'. Signed-off-by: Darrick J. Wong Reviewed-by: Chandan Babu R Reviewed-by: Allison Henderson --- tests/btrfs/006.out | 2 +- tests/btrfs/012.out | 2 +- tests/generic/184.out | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/btrfs/006.out b/tests/btrfs/006.out index a9769721..b7f29f96 100644 --- a/tests/btrfs/006.out +++ b/tests/btrfs/006.out @@ -1,4 +1,4 @@ -== QA output created by 006 +QA output created by 006 == Set filesystem label to TestLabel.006 == Get filesystem label TestLabel.006 diff --git a/tests/btrfs/012.out b/tests/btrfs/012.out index 2a41e7e4..7aa5ae94 100644 --- a/tests/btrfs/012.out +++ b/tests/btrfs/012.out @@ -1 +1 @@ -== QA output created by 012 +QA output created by 012 diff --git a/tests/generic/184.out b/tests/generic/184.out index 2d19691d..4c300543 100644 --- a/tests/generic/184.out +++ b/tests/generic/184.out @@ -1 +1 @@ -QA output created by 184 - silence is golden +QA output created by 184 From patchwork Tue Jun 8 17:20:00 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Darrick J. Wong" X-Patchwork-Id: 12307681 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2AC93C4743D for ; Tue, 8 Jun 2021 17:20:02 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 153DF61360 for ; Tue, 8 Jun 2021 17:20:02 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233033AbhFHRVy (ORCPT ); Tue, 8 Jun 2021 13:21:54 -0400 Received: from mail.kernel.org ([198.145.29.99]:55084 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233094AbhFHRVx (ORCPT ); Tue, 8 Jun 2021 13:21:53 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id AF5E461351; Tue, 8 Jun 2021 17:20:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1623172800; bh=BgXFEOXna1yigrn3pK6pGXGSB21BeeoLctSeCC+yQjo=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=k3fYomdnxzjnIMAIrA5NcUxopXDd+Xvrqqd/PkX3KaFTpzvj2TBT14Lty//eCY8Ua MA9mehwSBv5y1SwhjkNIZ/qIU1XI5CM19zS9hKg2g2F5TeJi5vDFueCS4tAZsV7uzU T31zrCD4QGQ/xvU2I+gi8n1hhGnIW1NyC0EJQzPW7iDOwnp44mplReudKVSqjE1vDw lKt+aT5fHz0kc0sWdX2EemqcReBu1QiS+4QmVT6TdWgyeVoQpyYVPuB0++9pVCrUqE +qv5RFJxqkRnr9rQMpzZ8aDHBuL40Ed7rSi1iAtunX8XY+ca0bZlHgPLFY4OTCm7lM ydyOdqRGVgWKw== Subject: [PATCH 07/13] fstests: automatically generate group files From: "Darrick J. Wong" To: djwong@kernel.org, guaneryu@gmail.com Cc: linux-xfs@vger.kernel.org, fstests@vger.kernel.org, guan@eryu.me, amir73il@gmail.com, ebiggers@kernel.org Date: Tue, 08 Jun 2021 10:20:00 -0700 Message-ID: <162317280046.653489.3322406175723320960.stgit@locust> In-Reply-To: <162317276202.653489.13006238543620278716.stgit@locust> References: <162317276202.653489.13006238543620278716.stgit@locust> User-Agent: StGit/0.19 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: fstests@vger.kernel.org From: Darrick J. Wong Now that we've moved the group membership details into the test case files themselves, automatically generate the group files during build. The autogenerated files are named "group.list" instead of "group" to avoid conflicts between generated and (stale) SCM files as everyone rebases. Signed-off-by: Darrick J. Wong Reviewed-by: Chandan Babu R --- .gitignore | 3 +++ common/preamble | 8 ++++++++ include/buildgrouplist | 8 ++++++++ tests/Makefile | 4 ++++ tests/btrfs/Makefile | 4 ++++ tests/ceph/Makefile | 4 ++++ tests/cifs/Makefile | 4 ++++ tests/ext4/Makefile | 4 ++++ tests/f2fs/Makefile | 4 ++++ tests/generic/Makefile | 4 ++++ tests/nfs/Makefile | 4 ++++ tests/ocfs2/Makefile | 4 ++++ tests/overlay/Makefile | 4 ++++ tests/perf/Makefile | 4 ++++ tests/shared/Makefile | 4 ++++ tests/udf/Makefile | 4 ++++ tests/xfs/Makefile | 4 ++++ tools/mkgroupfile | 42 ++++++++++++++++++++++++++++++++++++++++++ 18 files changed, 117 insertions(+) create mode 100644 include/buildgrouplist create mode 100755 tools/mkgroupfile diff --git a/.gitignore b/.gitignore index c62c1556..ab366961 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,9 @@ tags /local.config /results +# autogenerated group files +/tests/*/group.list + # autoconf generated files /aclocal.m4 /autom4te.cache diff --git a/common/preamble b/common/preamble index 63f66957..4fe8fd3f 100644 --- a/common/preamble +++ b/common/preamble @@ -32,6 +32,14 @@ _begin_fstest() fi seq=`basename $0` + + # If we're only running the test to generate a group.list file, + # spit out the group data and exit. + if [ -n "$GENERATE_GROUPS" ]; then + echo "$seq $@" + exit 0 + fi + seqres=$RESULT_DIR/$seq echo "QA output created by $seq" diff --git a/include/buildgrouplist b/include/buildgrouplist new file mode 100644 index 00000000..d898efa3 --- /dev/null +++ b/include/buildgrouplist @@ -0,0 +1,8 @@ +# SPDX-License-Identifier: GPL-2.0 +# Copyright (c) 2021 Oracle, Inc. All Rights Reserved. +# +.PHONY: group.list + +group.list: + @echo " [GROUP] $$PWD/$@" + $(Q)$(TOPDIR)/tools/mkgroupfile $@ diff --git a/tests/Makefile b/tests/Makefile index 8ce8f209..5c8f0b10 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -7,6 +7,10 @@ include $(TOPDIR)/include/builddefs TESTS_SUBDIRS = $(sort $(dir $(wildcard $(CURDIR)/[[:lower:]]*/))) +SUBDIRS = $(wildcard [[:lower:]]*) + +default: $(SUBDIRS) + include $(BUILDRULES) install: $(addsuffix -install,$(TESTS_SUBDIRS)) diff --git a/tests/btrfs/Makefile b/tests/btrfs/Makefile index 2d936421..cc2b2fc9 100644 --- a/tests/btrfs/Makefile +++ b/tests/btrfs/Makefile @@ -4,9 +4,13 @@ TOPDIR = ../.. include $(TOPDIR)/include/builddefs +include $(TOPDIR)/include/buildgrouplist BTRFS_DIR = btrfs TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(BTRFS_DIR) +DIRT = group.list + +default: $(DIRT) include $(BUILDRULES) diff --git a/tests/ceph/Makefile b/tests/ceph/Makefile index 55e35d77..61ab01d4 100644 --- a/tests/ceph/Makefile +++ b/tests/ceph/Makefile @@ -2,9 +2,13 @@ TOPDIR = ../.. include $(TOPDIR)/include/builddefs +include $(TOPDIR)/include/buildgrouplist CEPH_DIR = ceph TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(CEPH_DIR) +DIRT = group.list + +default: $(DIRT) include $(BUILDRULES) diff --git a/tests/cifs/Makefile b/tests/cifs/Makefile index 0c5cf3be..5356a682 100644 --- a/tests/cifs/Makefile +++ b/tests/cifs/Makefile @@ -4,9 +4,13 @@ TOPDIR = ../.. include $(TOPDIR)/include/builddefs +include $(TOPDIR)/include/buildgrouplist CIFS_DIR = cifs TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(CIFS_DIR) +DIRT = group.list + +default: $(DIRT) include $(BUILDRULES) diff --git a/tests/ext4/Makefile b/tests/ext4/Makefile index beb1541f..9c765497 100644 --- a/tests/ext4/Makefile +++ b/tests/ext4/Makefile @@ -4,9 +4,13 @@ TOPDIR = ../.. include $(TOPDIR)/include/builddefs +include $(TOPDIR)/include/buildgrouplist EXT4_DIR = ext4 TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(EXT4_DIR) +DIRT = group.list + +default: $(DIRT) include $(BUILDRULES) diff --git a/tests/f2fs/Makefile b/tests/f2fs/Makefile index d13bca3f..d2374018 100644 --- a/tests/f2fs/Makefile +++ b/tests/f2fs/Makefile @@ -5,9 +5,13 @@ TOPDIR = ../.. include $(TOPDIR)/include/builddefs +include $(TOPDIR)/include/buildgrouplist F2FS_DIR = f2fs TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(F2FS_DIR) +DIRT = group.list + +default: $(DIRT) include $(BUILDRULES) diff --git a/tests/generic/Makefile b/tests/generic/Makefile index 3878d05c..95cd403c 100644 --- a/tests/generic/Makefile +++ b/tests/generic/Makefile @@ -4,9 +4,13 @@ TOPDIR = ../.. include $(TOPDIR)/include/builddefs +include $(TOPDIR)/include/buildgrouplist GENERIC_DIR = generic TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(GENERIC_DIR) +DIRT = group.list + +default: $(DIRT) include $(BUILDRULES) diff --git a/tests/nfs/Makefile b/tests/nfs/Makefile index 754f2b25..e372b305 100644 --- a/tests/nfs/Makefile +++ b/tests/nfs/Makefile @@ -4,9 +4,13 @@ TOPDIR = ../.. include $(TOPDIR)/include/builddefs +include $(TOPDIR)/include/buildgrouplist NFS_DIR = nfs TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(NFS_DIR) +DIRT = group.list + +default: $(DIRT) include $(BUILDRULES) diff --git a/tests/ocfs2/Makefile b/tests/ocfs2/Makefile index e1337908..d85c4fd3 100644 --- a/tests/ocfs2/Makefile +++ b/tests/ocfs2/Makefile @@ -4,9 +4,13 @@ TOPDIR = ../.. include $(TOPDIR)/include/builddefs +include $(TOPDIR)/include/buildgrouplist OCFS2_DIR = ocfs2 TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(OCFS2_DIR) +DIRT = group.list + +default: $(DIRT) include $(BUILDRULES) diff --git a/tests/overlay/Makefile b/tests/overlay/Makefile index b07f8925..b995a6ec 100644 --- a/tests/overlay/Makefile +++ b/tests/overlay/Makefile @@ -4,9 +4,13 @@ TOPDIR = ../.. include $(TOPDIR)/include/builddefs +include $(TOPDIR)/include/buildgrouplist TEST_DIR = overlay TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(TEST_DIR) +DIRT = group.list + +default: $(DIRT) include $(BUILDRULES) diff --git a/tests/perf/Makefile b/tests/perf/Makefile index 620f1dbf..5d82cccc 100644 --- a/tests/perf/Makefile +++ b/tests/perf/Makefile @@ -4,9 +4,13 @@ TOPDIR = ../.. include $(TOPDIR)/include/builddefs +include $(TOPDIR)/include/buildgrouplist PERF_DIR = perf TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(PERF_DIR) +DIRT = group.list + +default: $(DIRT) include $(BUILDRULES) diff --git a/tests/shared/Makefile b/tests/shared/Makefile index 8a832782..6c6533c8 100644 --- a/tests/shared/Makefile +++ b/tests/shared/Makefile @@ -4,9 +4,13 @@ TOPDIR = ../.. include $(TOPDIR)/include/builddefs +include $(TOPDIR)/include/buildgrouplist SHARED_DIR = shared TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(SHARED_DIR) +DIRT = group.list + +default: $(DIRT) include $(BUILDRULES) diff --git a/tests/udf/Makefile b/tests/udf/Makefile index c9c9f1bd..bfaa1b0e 100644 --- a/tests/udf/Makefile +++ b/tests/udf/Makefile @@ -4,9 +4,13 @@ TOPDIR = ../.. include $(TOPDIR)/include/builddefs +include $(TOPDIR)/include/buildgrouplist UDF_DIR = udf TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(UDF_DIR) +DIRT = group.list + +default: $(DIRT) include $(BUILDRULES) diff --git a/tests/xfs/Makefile b/tests/xfs/Makefile index d64800ea..c2f0ba48 100644 --- a/tests/xfs/Makefile +++ b/tests/xfs/Makefile @@ -4,9 +4,13 @@ TOPDIR = ../.. include $(TOPDIR)/include/builddefs +include $(TOPDIR)/include/buildgrouplist XFS_DIR = xfs TARGET_DIR = $(PKG_LIB_DIR)/$(TESTS_DIR)/$(XFS_DIR) +DIRT = group.list + +default: $(DIRT) include $(BUILDRULES) diff --git a/tools/mkgroupfile b/tools/mkgroupfile new file mode 100755 index 00000000..0681e5d2 --- /dev/null +++ b/tools/mkgroupfile @@ -0,0 +1,42 @@ +#!/bin/bash + +# Generate a group file from the _begin_fstest call in each test. + +if [ "$1" = "--help" ]; then + echo "Usage: (cd tests/XXX/ ; ../../tools/mkgroupfile [output])" + exit 1 +fi + +test_dir="$PWD" +groupfile="$1" + +if [ ! -x ../../check ]; then + echo "$0: Run this from tests/XXX/." + exit 1 +fi + +generate_groupfile() { + cat << ENDL +# QA groups control file, automatically generated. +# See _begin_fstest in each test for details. + +ENDL + cd ../../ + export GENERATE_GROUPS=yes + grep -R -l "^_begin_fstest" "$test_dir/" 2>/dev/null | while read testfile; do + test -x "$testfile" && "$testfile" + done | sort -g + cd "$test_dir" +} + +if [ -z "$groupfile" ] || [ "$groupfile" = "-" ]; then + # Dump the group file to stdout and exit + generate_groupfile + exit 0 +fi + +# Otherwise, write the group file to disk somewhere. +ngroupfile="${groupfile}.new" +rm -f "$ngroupfile" +generate_groupfile >> "$ngroupfile" +mv "$ngroupfile" "$groupfile" From patchwork Tue Jun 8 17:20:05 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Darrick J. Wong" X-Patchwork-Id: 12307683 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 25038C47082 for ; Tue, 8 Jun 2021 17:20:07 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 0F31A61359 for ; Tue, 8 Jun 2021 17:20:07 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233295AbhFHRV7 (ORCPT ); Tue, 8 Jun 2021 13:21:59 -0400 Received: from mail.kernel.org ([198.145.29.99]:55146 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233094AbhFHRV7 (ORCPT ); Tue, 8 Jun 2021 13:21:59 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 2C0A26135D; Tue, 8 Jun 2021 17:20:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1623172806; bh=khHFOakyVAycf+dzTmFEyfVyWAUYUtbw+YMeiqeiJ9w=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=BfNHwXlW8Wne/MTnN3RfE5SVBkIGAlwNhRIgh9tBHlrsGbwfQOthBWEGCWmIpEv0U eqjvnjzx/F1K5sg2L0Yabpfj476HZRR6PpnWm36TN3KKJNfSGRn6XaUARae3HfvHWp gD9mYi63UrDx7VxRcxnwzv52sj3RszhaquosI2OB/k3N/Vx5E/sxn+WEKlU9xaQ/mi wh0D6a92eBWh37blBtXlgYJ/GdfFkwMmj7tUUMgkiNK9UOR65qiHj3WbgpwFcZREqk PN6+iWrcOSed0jbW0+RJBUdPjKlpA9yh6bPCRHCS06Gv2fcAFusKTwJX5nxvrb8Yxb wjPcekGde6omg== Subject: [PATCH 08/13] fstests: convert nextid to use automatic group generation From: "Darrick J. Wong" To: djwong@kernel.org, guaneryu@gmail.com Cc: linux-xfs@vger.kernel.org, fstests@vger.kernel.org, guan@eryu.me, amir73il@gmail.com, ebiggers@kernel.org Date: Tue, 08 Jun 2021 10:20:05 -0700 Message-ID: <162317280590.653489.10114638028601363399.stgit@locust> In-Reply-To: <162317276202.653489.13006238543620278716.stgit@locust> References: <162317276202.653489.13006238543620278716.stgit@locust> User-Agent: StGit/0.19 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: fstests@vger.kernel.org From: Darrick J. Wong Convert the nextid script to use the automatic group file generation to figure out the next available test id. Signed-off-by: Darrick J. Wong Reviewed-by: Chandan Babu R Reviewed-by: Allison Henderson --- tools/nextid | 1 - tools/nextid | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 1 deletion(-) delete mode 120000 tools/nextid create mode 100755 tools/nextid diff --git a/tools/nextid b/tools/nextid deleted file mode 120000 index 5c31d602..00000000 --- a/tools/nextid +++ /dev/null @@ -1 +0,0 @@ -sort-group \ No newline at end of file diff --git a/tools/nextid b/tools/nextid new file mode 100755 index 00000000..a65348e8 --- /dev/null +++ b/tools/nextid @@ -0,0 +1,39 @@ +#!/bin/bash + +# Compute the next available test id in a given test directory. + +if [ -z "$1" ] || [ "$1" = "--help" ] || [ -n "$2" ] || [ ! -d "tests/$1/" ]; then + echo "Usage: $0 test_dir" + exit 1 +fi + +. ./common/test_names + +line=0 +i=0 +eof=1 + +while read found other_junk; +do + line=$((line+1)) + if [ -z "$found" ] || [ "$found" == "#" ]; then + continue + elif ! echo "$found" | grep -q "^$VALID_TEST_NAME$"; then + # this one is for tests not named by a number + continue + fi + i=$((i+1)) + id=`printf "%03d" $i` + if [ "$id" != "$found" ]; then + eof=0 + break + fi +done < <(cd "tests/$1/" ; ../../tools/mkgroupfile | tr - ' ') + +if [ $eof -eq 1 ]; then + line=$((line+1)) + i=$((i+1)) + id=`printf "%03d" $i` +fi + +echo "$1/$id" From patchwork Tue Jun 8 17:20:11 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Darrick J. Wong" X-Patchwork-Id: 12307685 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id BB40EC47082 for ; Tue, 8 Jun 2021 17:20:12 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id A413A6135D for ; Tue, 8 Jun 2021 17:20:12 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233407AbhFHRWF (ORCPT ); Tue, 8 Jun 2021 13:22:05 -0400 Received: from mail.kernel.org ([198.145.29.99]:55206 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233005AbhFHRWE (ORCPT ); Tue, 8 Jun 2021 13:22:04 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 96B8A61351; Tue, 8 Jun 2021 17:20:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1623172811; bh=uexrAPdEV/eyPYb9Dn/votVKWIOE9QTNY6pH9KR3WaU=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=Oie7LTGuTa2l184/nvGy1x3pDX7CRkSg1qnDGmCu4mXEeV9yxmjMaBBxCIlPV6xbp VePH/m/IVAVrMT2FjjwdJda++Zru28Ffn20q45atxFsbmYB8XlbQwg1qekuVULvZNa +IILjZFinaYDLAnm6HPWym9eVnt6/oG4Nf1i0cb2+WG4lqOWbIa3yjK2tq9uV7KjOH P4zeB6qrM84nJqDDhhgDdsEfofketfcNurskE8Ph0KBYoRwY+8AusXfw1nuR509Wj7 xXxUdubKNcwbvy/gGnd8ZGrOt4Tb8p96QuxYsibRxVjRNwWysFn/jXrRnmBLZY53xz c1R4Xkkp4o5OQ== Subject: [PATCH 09/13] fstests: adapt the new test script to our new group tagging scheme From: "Darrick J. Wong" To: djwong@kernel.org, guaneryu@gmail.com Cc: linux-xfs@vger.kernel.org, fstests@vger.kernel.org, guan@eryu.me, amir73il@gmail.com, ebiggers@kernel.org Date: Tue, 08 Jun 2021 10:20:11 -0700 Message-ID: <162317281137.653489.16228043613270527911.stgit@locust> In-Reply-To: <162317276202.653489.13006238543620278716.stgit@locust> References: <162317276202.653489.13006238543620278716.stgit@locust> User-Agent: StGit/0.19 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: fstests@vger.kernel.org From: Darrick J. Wong Now that we autogenerate group files, adapt the new test creation script to use autogenerated group files and to set the group data in the new test. Signed-off-by: Darrick J. Wong Reviewed-by: Chandan Babu R Reviewed-by: Allison Henderson --- new | 179 ++++++++++++++++++++----------------------------------------------- 1 file changed, 54 insertions(+), 125 deletions(-) diff --git a/new b/new index 16e7c782..cdd909ad 100755 --- a/new +++ b/new @@ -9,7 +9,8 @@ iam=new . ./common/test_names -trap "rm -f /tmp/$$.; exit" 0 1 2 3 15 +tmpfile="/tmp/$$." +trap "rm -f $tmpfile; exit" 0 1 2 3 15 _cleanup() { @@ -26,71 +27,18 @@ usage() [ $# -eq 0 ] && usage tdir=tests/$1 -shift - -if [ ! -f $tdir/group ] -then - echo "Creating the $tdir/group index ..." - cat <<'End-of-File' >$tdir/group -# QA groups control -# -# define groups and default group owners -# do not start group name with a digit -# - -# catch-all -# -other some-user-login - -# test-group association ... one line per test -# -End-of-File -fi - -if [ ! -w $tdir/group ] -then - chmod u+w $tdir/group - echo "Warning: making the index file \"$tdir/group\" writeable" -fi - -if make -then - : -else - echo "Warning: make failed -- some tests may be missing" -fi i=0 line=0 eof=1 -[ -f "$tdir/group" ] || usage +[ -d "$tdir/" ] || usage export AWK_PROG="$(type -P awk)" [ "$AWK_PROG" = "" ] && { echo "awk not found"; exit; } -for found in `cat $tdir/group | tr - ' ' | $AWK_PROG '{ print $1 }'` -do - line=$((line+1)) - if [ -z "$found" ] || [ "$found" == "#" ]; then - continue - elif ! echo "$found" | grep -q "^$VALID_TEST_NAME$"; then - # this one is for tests not named by a number - continue - fi - i=$((i+1)) - id=`printf "%03d" $i` - if [ "$id" != "$found" ];then - eof=0 - break - fi -done -if [ $eof -eq 1 ]; then - line=$((line+1)) - i=$((i+1)) - id=`printf "%03d" $i` -fi - +id="$(basename "$(./tools/nextid "$1")")" echo "Next test id is $id" +shift read -p "Append a name to the ID? Test name will be $id-\$name. y,[n]: " -r if [[ $REPLY = [Yy] ]]; then @@ -113,24 +61,9 @@ if [[ $REPLY = [Yy] ]]; then fi done - # now find where to insert this name - eof=1 - for found in `tail -n +$line $tdir/group | $AWK_PROG '{ print $1 }'`; do - found_id=$(echo "$found" | cut -d "-" -f 1 - ) - line=$((line+1)) - if [ -z "$found" ] || [ "$found" == "#" ]; then - continue - elif [ $found_id -gt $id ]; then - eof=0 - break - fi - done - if [ $eof -eq 0 ]; then - # If place wasn't found, let $line be the end of the file - line=$((line-1)) - fi id="$id-$name" fi + echo "Creating test file '$id'" if [ -f $tdir/$id ] @@ -140,6 +73,53 @@ then exit 1 fi +if [ $# -eq 0 ] +then + + while true + do + echo -n "Add to group(s) [other] (separate by space, ? for list): " + read ans + [ -z "$ans" ] && ans=other + if [ "X$ans" = "X?" ] + then + for d in $SRC_GROUPS; do + (cd "tests/$d/" ; ../../tools/mkgroupfile "$tmpfile") + l=$(set -n < "$tmpfile" \ + -e 's/#.*//' \ + -e 's/$/ /' \ + -e 's;\(^[0-9][0-9][0-9]\)\(.*$\);\2;p') + grpl="$grpl $l" + done + lst=`for word in $grpl; do echo $word; done | sort| uniq ` + echo $lst + else + # only allow lower cases, spaces, digits and underscore in group + inval=`echo $ans | tr -d '[:lower:][:space:][:digit:]_'` + if [ "$inval" != "" ]; then + echo "Invalid characters in group(s): $inval" + echo "Only lower cases, digits and underscore are allowed in groups, separated by space" + continue + else + # remove redundant spaces/tabs + ans=`echo "$ans" | sed 's/\s\+/ /g'` + break + fi + fi + done +else + # expert mode, groups are on the command line + # + (cd "$tdir" ; ../../tools/mkgroupfile "$tmpfile") + for g in $* + do + if ! grep -q "[[:space:]]$g" "$tmpfile"; then + echo "Warning: group \"$g\" not defined in $tdir tests" + fi + done + ans="$*" +fi + echo -n "Creating skeletal script for you to edit ..." year=`date +%Y` @@ -154,7 +134,7 @@ cat <$tdir/$id # what am I here for? # . ./common/preamble -_begin_fstest group list here +_begin_fstest $ans # Override the default cleanup function. # _cleanup() @@ -196,56 +176,5 @@ QA output created by $id Silence is golden End-of-File -if [ $# -eq 0 ] -then - - while true - do - echo -n "Add to group(s) [other] (separate by space, ? for list): " - read ans - [ -z "$ans" ] && ans=other - if [ "X$ans" = "X?" ] - then - for d in $SRC_GROUPS; do - l=$(sed -n < tests/$d/group \ - -e 's/#.*//' \ - -e 's/$/ /' \ - -e 's;\(^[0-9][0-9][0-9]\)\(.*$\);\2;p') - grpl="$grpl $l" - done - lst=`for word in $grpl; do echo $word; done | sort| uniq ` - echo $lst - else - # only allow lower cases, spaces, digits and underscore in group - inval=`echo $ans | tr -d '[:lower:][:space:][:digit:]_'` - if [ "$inval" != "" ]; then - echo "Invalid characters in group(s): $inval" - echo "Only lower cases, digits and underscore are allowed in groups, separated by space" - continue - else - # remove redundant spaces/tabs - ans=`echo "$ans" | sed 's/\s\+/ /g'` - break - fi - fi - done -else - # expert mode, groups are on the command line - # - for g in $* - do - if ! grep -q "[[:space:]]$g" "$tdir/group"; then - echo "Warning: group \"$g\" not defined in $tdir/group" - fi - done - ans="$*" -fi - -echo -n "Adding $id to group index ..." -head -n $(($line-1)) $tdir/group > /tmp/$$.group -echo "$id $ans" >> /tmp/$$.group -tail -n +$((line)) $tdir/group >> /tmp/$$.group -mv /tmp/$$.group $tdir/group echo " done." - exit 0 From patchwork Tue Jun 8 17:20:16 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Darrick J. Wong" X-Patchwork-Id: 12307687 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1E6E4C47082 for ; Tue, 8 Jun 2021 17:20:19 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 00E916135D for ; Tue, 8 Jun 2021 17:20:18 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233437AbhFHRWL (ORCPT ); Tue, 8 Jun 2021 13:22:11 -0400 Received: from mail.kernel.org ([198.145.29.99]:55298 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232979AbhFHRWK (ORCPT ); Tue, 8 Jun 2021 13:22:10 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 101CE61351; Tue, 8 Jun 2021 17:20:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1623172817; bh=gzjW7I6IYs9pr6ogKmsePYbwlXpghFGsvsgKqDzGizA=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=HLMhCtLIFbV+81zWTI1oKzrmVvJ1tvqvpnm8lGHF9tJBnbaDCpOxnnCCkol1pKwPM kuXHlapd1jOzi8JimA+CxdrjBsnpqszpqE5jJqTuk9Q103GOk0QsgmdB6XcqczuzBb lAzP1A13sr5Wuw1usVEOnydvE6cbWmaM0E0bk/elyb+tkztFVXy1u3CcVRM9k8xElg zmqCuCRXlxqRHJblsyf4HWNguO9t/fLg68DZHpkxnqM/QUHoxncOXZQt3MzZFTnXUY pKV2sVAYUsG58L2a6CjW+O9xwh/TWaQw00ZP09sFIODQb/ggYkVP+AU31ODeS8VBr6 T+9Ro2PiB+C6Q== Subject: [PATCH 10/13] check: use generated group files From: "Darrick J. Wong" To: djwong@kernel.org, guaneryu@gmail.com Cc: linux-xfs@vger.kernel.org, fstests@vger.kernel.org, guan@eryu.me, amir73il@gmail.com, ebiggers@kernel.org Date: Tue, 08 Jun 2021 10:20:16 -0700 Message-ID: <162317281679.653489.1178774292862746443.stgit@locust> In-Reply-To: <162317276202.653489.13006238543620278716.stgit@locust> References: <162317276202.653489.13006238543620278716.stgit@locust> User-Agent: StGit/0.19 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: fstests@vger.kernel.org From: Darrick J. Wong Convert the ./check script to use the automatically generated group list membership files, as the transition is now complete. Signed-off-by: Darrick J. Wong Reviewed-by: Chandan Babu R Reviewed-by: Allison Henderson --- check | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/check b/check index ba192042..3dab7630 100755 --- a/check +++ b/check @@ -124,9 +124,9 @@ get_sub_group_list() local d=$1 local grp=$2 - test -s "$SRC_DIR/$d/group" || return 1 + test -s "$SRC_DIR/$d/group.list" || return 1 - local grpl=$(sed -n < $SRC_DIR/$d/group \ + local grpl=$(sed -n < $SRC_DIR/$d/group.list \ -e 's/#.*//' \ -e 's/$/ /' \ -e "s;^\($VALID_TEST_NAME\).* $grp .*;$SRC_DIR/$d/\1;p") @@ -384,7 +384,7 @@ if $have_test_arg; then test_dir=`dirname $t` test_dir=${test_dir#$SRC_DIR/*} test_name=`basename $t` - group_file=$SRC_DIR/$test_dir/group + group_file=$SRC_DIR/$test_dir/group.list if egrep -q "^$test_name" $group_file; then # in group file ... OK From patchwork Tue Jun 8 17:20:22 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Darrick J. Wong" X-Patchwork-Id: 12307689 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id BD9B9C47082 for ; Tue, 8 Jun 2021 17:20:24 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id A1AF961359 for ; Tue, 8 Jun 2021 17:20:24 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233067AbhFHRWQ (ORCPT ); Tue, 8 Jun 2021 13:22:16 -0400 Received: from mail.kernel.org ([198.145.29.99]:55360 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233539AbhFHRWP (ORCPT ); Tue, 8 Jun 2021 13:22:15 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 8241761351; Tue, 8 Jun 2021 17:20:22 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1623172822; bh=Jr8xLNbWIHwD1Ea4ygwq91a/3XxZ11mkXvEQ7ZumH8M=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=Npfvpfee02vjkHz2InIEH4KIccdrsKsjViXYLn1mt49vopMiiHBuplBpSrEdCuBei 4jK6MjB1lK6KNla5Y9XKi/xhNSSlCiCgheqHjCkZH6Dv6zKYMvskhIvKho4FbnsoV3 aBm2kASBvCorZAdrGYFzypgz5z/5jqVyaJSy2ALmgNFwWElg1GTRcT34LzT1xKMKVP DxokekaqP2N/YoOdb1DRWrN8PJ5O1F1Qm/pzv4pisxh0aZQauu+l30PiejqoeSAmkm IQuSnsV9ZVayrQLdWFbn9OTNTmC/nSnOi3XkHZPIyntv1anKl9tzbGS4gGLjg2SQ4a B0bkG9WvPqwJA== Subject: [PATCH 11/13] fstests: remove group files From: "Darrick J. Wong" To: djwong@kernel.org, guaneryu@gmail.com Cc: linux-xfs@vger.kernel.org, fstests@vger.kernel.org, guan@eryu.me, amir73il@gmail.com, ebiggers@kernel.org Date: Tue, 08 Jun 2021 10:20:22 -0700 Message-ID: <162317282225.653489.1537192803992898300.stgit@locust> In-Reply-To: <162317276202.653489.13006238543620278716.stgit@locust> References: <162317276202.653489.13006238543620278716.stgit@locust> User-Agent: StGit/0.19 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: fstests@vger.kernel.org From: Darrick J. Wong Now that we autogenerate group files, get rid of them in the source tree. Signed-off-by: Darrick J. Wong Reviewed-by: Chandan Babu R Reviewed-by: Allison Henderson --- tests/btrfs/group | 245 ------------------- tests/ceph/group | 4 tests/cifs/group | 6 tests/ext4/group | 63 ----- tests/f2fs/group | 7 - tests/generic/group | 643 --------------------------------------------------- tests/nfs/group | 6 tests/ocfs2/group | 1 tests/overlay/group | 100 -------- tests/perf/group | 1 tests/shared/group | 8 - tests/udf/group | 6 tests/xfs/group | 534 ------------------------------------------ 13 files changed, 1624 deletions(-) delete mode 100644 tests/btrfs/group delete mode 100644 tests/ceph/group delete mode 100644 tests/cifs/group delete mode 100644 tests/ext4/group delete mode 100644 tests/f2fs/group delete mode 100644 tests/generic/group delete mode 100644 tests/nfs/group delete mode 100644 tests/ocfs2/group delete mode 100644 tests/overlay/group delete mode 100644 tests/perf/group delete mode 100644 tests/shared/group delete mode 100644 tests/udf/group delete mode 100644 tests/xfs/group diff --git a/tests/btrfs/group b/tests/btrfs/group deleted file mode 100644 index ad59ed3e..00000000 --- a/tests/btrfs/group +++ /dev/null @@ -1,245 +0,0 @@ -# QA groups control file -# Defines test groups and nominal group owners -# - do not start group names with a digit -# - comment line before each group is "new" description -# -001 auto quick subvol snapshot -002 auto snapshot -003 auto replace volume balance -004 auto rw metadata -005 auto defrag -006 auto quick volume -007 auto quick rw metadata send seek -008 auto quick send -009 auto quick subvol -010 auto -011 auto replace volume -012 auto convert -013 auto quick balance -014 auto balance -015 auto quick snapshot -016 auto quick send -017 auto quick qgroup -018 auto quick subvol -019 auto quick send -020 auto quick replace volume -021 auto quick balance defrag -022 auto qgroup limit -023 auto -024 auto quick compress -025 auto quick send clone -026 auto quick compress prealloc -027 auto replace volume -028 auto qgroup balance -029 auto quick clone -030 auto quick send -031 auto quick subvol clone -032 auto quick remount -033 auto quick send snapshot -034 auto quick send -035 auto quick clone -036 auto quick send snapshot -037 auto quick compress -038 auto quick compress send -039 auto quick send -040 auto quick send -041 auto quick compress -042 auto quick qgroup limit -043 auto quick send -044 auto quick send -045 auto quick send -046 auto quick send -047 auto quick snapshot attr -048 auto quick -049 auto quick -050 auto quick send -051 auto quick send -052 auto quick clone -053 auto quick send -054 auto quick send -055 auto quick clone -056 auto quick clone log -057 auto quick -058 auto quick send snapshot -059 auto quick -060 auto balance subvol -061 auto balance scrub -062 auto balance defrag compress -063 auto balance remount compress -064 auto balance replace volume -065 auto subvol replace volume -066 auto subvol scrub -067 auto subvol defrag compress -068 auto subvol remount compress -069 auto replace scrub volume -070 auto replace defrag compress volume -071 auto replace remount compress volume -072 auto scrub defrag compress -073 auto scrub remount compress -074 auto defrag remount compress -075 auto quick subvol -076 auto quick compress -077 auto quick send snapshot -078 auto snapshot -079 auto rw metadata -080 auto snapshot -081 auto quick clone -082 auto quick remount -083 auto quick send -084 auto quick send -085 auto quick metadata subvol -086 auto quick clone -087 auto quick send -088 auto quick metadata -089 auto quick subvol -090 auto quick metadata -091 auto quick qgroup -092 auto quick send -093 auto quick clone -094 auto quick send -095 auto quick metadata log -096 auto quick clone -097 auto quick send clone -098 auto quick metadata clone log -099 auto quick qgroup limit -100 auto replace volume eio -101 auto replace volume eio -102 auto quick metadata enospc balance -103 auto quick clone compress -104 auto qgroup -105 auto quick send -106 auto quick clone compress -107 auto quick prealloc -108 auto quick send clone punch -109 auto quick send clone compress -110 auto quick send -111 auto quick send -112 auto quick clone -113 auto quick compress clone -114 auto qgroup -115 auto qgroup -116 auto quick metadata -117 auto quick send clone -118 auto quick snapshot metadata log -119 auto quick snapshot metadata qgroup log -120 auto quick snapshot metadata log -121 auto quick snapshot qgroup -122 auto quick snapshot qgroup -123 auto quick qgroup balance -124 auto replace volume balance -125 replace volume balance -126 auto quick qgroup limit -127 auto quick send -128 auto quick send -129 auto quick send -130 auto quick clone send -131 auto quick -132 auto enospc -133 auto quick send -134 auto quick send -135 auto quick send -136 auto convert -137 auto quick send -138 auto compress -139 auto qgroup limit -140 auto quick -141 auto quick -142 auto quick -143 auto quick -144 auto quick send -145 auto quick send -146 auto quick eio -147 auto quick send -148 auto quick rw -149 auto quick send compress -150 auto quick dangerous -151 auto quick volume -152 auto quick metadata qgroup send -153 auto quick qgroup limit -154 auto quick -155 auto quick send -156 auto quick trim balance -157 auto quick raid -158 auto quick raid scrub -159 auto quick punch log -160 auto quick eio -161 auto quick volume seed -162 auto quick volume seed -163 auto quick volume seed -164 auto quick volume -165 auto quick subvol -166 auto quick qgroup -167 auto quick replace volume -168 auto quick send -169 auto quick send -170 auto quick snapshot -171 auto quick qgroup -172 auto quick log replay -173 auto quick swap -174 auto quick swap -175 auto quick swap volume -176 auto quick swap volume -177 auto quick swap balance -178 auto quick send -179 auto qgroup dangerous -180 auto quick qgroup limit -181 auto quick balance -182 auto quick balance -183 auto quick clone compress punch -184 auto quick volume -185 volume -186 auto quick send volume -187 auto send dedupe clone balance -188 auto quick send prealloc punch -189 auto quick send clone -190 auto quick replay balance qgroup -191 auto quick send dedupe -192 auto replay snapshot stress -193 auto quick qgroup enospc limit -194 auto volume -195 auto volume balance -196 auto metadata log volume -197 auto quick volume -198 quick volume -199 auto quick trim -200 auto quick send clone -201 auto quick punch log -202 auto quick subvol snapshot -203 auto quick send clone -204 auto quick punch -205 auto quick clone compress -206 auto quick log replay -207 auto rw raid -208 auto quick subvol -209 auto quick log -210 auto quick qgroup snapshot -211 auto quick log prealloc -212 auto balance dangerous -213 auto balance dangerous -214 auto quick send snapshot -215 auto quick -216 auto quick seed -217 auto quick trim dangerous -218 auto quick volume -219 auto quick volume -220 auto quick -221 auto quick send -222 auto quick send -223 auto quick replace trim -224 auto quick qgroup -225 auto quick volume seed -226 auto quick rw snapshot clone prealloc punch -227 auto quick send -228 auto quick volume -229 auto quick send clone -230 auto quick qgroup limit -231 auto quick clone log replay -232 auto quick qgroup limit -233 auto quick subvolume -234 auto quick compress rw -235 auto quick send -236 auto quick log -237 auto quick zone balance -238 auto quick seed trim -239 auto quick log -240 auto quick prealloc log diff --git a/tests/ceph/group b/tests/ceph/group deleted file mode 100644 index 47903d21..00000000 --- a/tests/ceph/group +++ /dev/null @@ -1,4 +0,0 @@ -001 auto quick copy -002 auto quick copy -003 auto quick copy -004 auto quick quota diff --git a/tests/cifs/group b/tests/cifs/group deleted file mode 100644 index 6d07b1c4..00000000 --- a/tests/cifs/group +++ /dev/null @@ -1,6 +0,0 @@ -# QA groups control file -# Defines test groups and nominal group owners -# - do not start group names with a digit -# - comment line before each group is "new" description -# -001 auto quick diff --git a/tests/ext4/group b/tests/ext4/group deleted file mode 100644 index c246feb8..00000000 --- a/tests/ext4/group +++ /dev/null @@ -1,63 +0,0 @@ -# QA groups control file -# Defines test groups and nominal group owners -# - do not start group names with a digit -# - comment line before each group is "new" description -# -001 auto prealloc quick zero -002 shutdown mount auto quick -003 auto quick -004 auto dump -005 auto quick metadata ioctl rw -006 dangerous_fuzzers -007 fuzzers -008 fuzzers -009 fuzzers -010 fuzzers -011 fuzzers -012 fuzzers -013 fuzzers -014 fuzzers -015 fuzzers punch -016 fuzzers -017 fuzzers -018 fuzzers -019 fuzzers -020 auto quick ioctl rw defrag -021 auto quick -022 auto quick attr dangerous -023 auto quick scrub -024 auto quick encrypt dangerous -025 auto quick fuzzers dangerous -026 auto quick attr -027 auto quick fsmap -028 auto quick fsmap -029 auto quick fsmap -030 auto quick dax -031 auto quick dax -032 auto quick ioctl resize -033 auto ioctl resize -034 auto quick quota -035 auto quick resize -036 auto quick -037 auto quick -038 auto quick -039 auto enospc rw -040 dangerous_fuzzers -041 dangerous_fuzzers -042 auto quick -043 auto quick -044 auto quick -045 auto dir -046 auto prealloc quick -047 auto quick dax -048 auto quick dir -049 auto quick -271 auto rw quick -301 aio auto ioctl rw stress defrag -302 aio auto ioctl rw stress defrag -303 aio auto ioctl rw stress defrag -304 aio auto ioctl rw stress defrag -305 auto -306 auto rw resize quick -307 auto ioctl rw defrag -308 auto ioctl rw prealloc quick defrag diff --git a/tests/f2fs/group b/tests/f2fs/group deleted file mode 100644 index 7cd42fe4..00000000 --- a/tests/f2fs/group +++ /dev/null @@ -1,7 +0,0 @@ -# QA groups control file -# Defines test groups and nominal group owners -# - do not start group names with a digit -# - comment line before each group is "new" description -# -001 auto quick rw -002 auto quick rw encrypt compress diff --git a/tests/generic/group b/tests/generic/group deleted file mode 100644 index 9a636b23..00000000 --- a/tests/generic/group +++ /dev/null @@ -1,643 +0,0 @@ -# QA groups control file -# Defines test groups and nominal group owners -# - do not start group names with a digit -# - comment line before each group is "new" description -# -001 rw dir udf auto quick -002 metadata udf auto quick -003 atime auto quick -004 auto quick -005 dir udf auto quick -006 dir udf auto quick -007 dir udf auto quick -008 auto quick prealloc zero -009 auto quick prealloc zero -010 other udf auto -011 dir udf auto quick -012 auto quick prealloc punch collapse -013 other ioctl udf auto quick -014 rw udf auto quick -015 other auto quick enospc -016 auto quick prealloc punch collapse -017 auto prealloc collapse -018 auto fsr quick defrag -019 aio dangerous enospc rw stress -020 metadata attr udf auto quick -021 auto quick prealloc punch collapse -022 auto quick prealloc punch collapse -023 auto quick -024 auto quick -025 auto quick -026 acl quick auto -027 auto enospc -028 auto quick -029 auto quick rw -030 auto quick rw -031 auto quick prealloc rw collapse -032 auto quick rw -033 auto quick rw zero -034 auto quick metadata log -035 auto quick -036 auto aio rw stress -037 auto quick attr metadata -038 auto stress trim -039 metadata auto quick log -040 metadata auto quick log -041 metadata auto quick log -042 shutdown rw punch zero -043 shutdown metadata log auto -044 shutdown metadata log auto -045 shutdown metadata log auto -046 shutdown metadata log auto -047 shutdown metadata rw auto -048 shutdown metadata rw auto -049 shutdown metadata rw auto -050 shutdown mount auto quick -051 shutdown auto stress log metadata repair -052 shutdown log auto quick -053 acl repair auto quick -054 shutdown log v2log auto -055 shutdown log v2log auto quota stress -056 metadata auto quick log -057 metadata auto quick log -058 auto quick prealloc punch insert -059 metadata auto quick punch log -060 auto quick prealloc punch insert -061 auto quick prealloc punch insert -062 attr udf auto quick -063 auto quick prealloc punch insert -064 auto quick prealloc collapse insert -065 metadata auto quick log -066 auto quick attr metadata log -067 auto quick mount -068 other auto freeze stress -069 rw udf auto quick -070 attr udf auto quick stress -071 auto quick prealloc -072 auto metadata stress collapse -073 metadata auto quick log -074 rw udf auto -075 rw udf auto quick -076 metadata rw udf auto quick stress -077 acl attr auto enospc -078 auto quick metadata -079 auto quick ioctl metadata -080 auto quick -081 auto quick -082 auto quick quota -083 rw auto enospc stress -084 auto metadata quick -085 auto freeze mount -086 auto prealloc preallocrw quick -087 perms auto quick -088 perms auto quick -089 metadata auto -090 metadata auto quick log -091 rw auto quick -092 auto quick prealloc -093 attr cap auto -094 auto quick prealloc -095 auto rw stress -096 auto prealloc quick zero -097 attr auto quick -098 auto quick metadata -099 acl auto quick -100 udf auto -101 auto quick metadata log -102 auto rw -103 auto quick attr enospc -104 auto quick metadata log -105 acl auto quick -106 auto quick metadata log -107 auto quick metadata log -108 auto quick rw -109 auto metadata dir -110 auto quick clone -111 auto quick clone -112 rw aio auto quick -113 rw aio auto quick -114 rw aio auto quick -115 auto quick clone -116 auto quick clone -117 attr auto quick -118 auto quick clone -119 auto quick clone -120 other atime auto quick -121 auto quick clone dedupe -122 auto quick clone dedupe -123 perms auto quick -124 pattern auto quick -125 other pnfs -126 perms auto quick -127 rw auto -128 perms auto quick -129 rw auto quick -130 pattern auto quick -131 perms auto quick -132 pattern auto -133 rw auto -134 auto quick clone -135 metadata auto quick -136 auto quick clone dedupe -137 auto clone dedupe -138 auto quick clone -139 auto quick clone -140 auto quick clone -141 rw auto quick -142 auto quick clone -143 auto quick clone -144 auto quick clone -145 auto quick clone collapse -146 auto quick clone punch -147 auto quick clone insert -148 auto quick clone -149 auto quick clone zero -150 auto quick clone -151 auto quick clone -152 auto quick clone punch -153 auto quick clone collapse -154 auto quick clone -155 auto quick clone zero -156 auto quick clone -157 auto quick clone -158 auto quick clone dedupe -159 auto quick clone -160 auto quick clone dedupe -161 auto quick clone -162 auto quick clone dedupe -163 auto quick clone dedupe -164 auto clone -165 auto clone -166 auto clone -167 auto clone -168 auto clone -169 rw metadata auto quick -170 auto clone -171 auto quick clone -172 auto quick clone -173 auto quick clone -174 auto quick clone -175 auto clone -176 auto clone punch -177 auto quick prealloc metadata punch log -178 auto quick clone punch -179 auto quick clone punch -180 auto quick clone zero -181 auto quick clone -182 auto quick clone dedupe -183 auto quick clone -184 metadata auto quick -185 auto quick clone -186 auto clone punch -187 auto clone punch -188 auto quick clone -189 auto quick clone -190 auto quick clone -191 auto quick clone -192 atime auto -193 metadata auto quick -194 auto quick clone -195 auto quick clone -196 auto quick clone -197 auto quick clone -198 auto aio quick -199 auto quick clone punch -200 auto quick clone punch -201 auto quick clone -202 auto quick clone -203 auto quick clone -204 metadata rw auto -205 auto quick clone -206 auto quick clone -207 auto aio quick -208 auto aio -209 auto aio -210 auto aio quick -211 auto aio quick -212 auto aio quick -213 rw auto prealloc quick enospc -214 rw auto prealloc quick -215 auto metadata quick -216 auto quick clone -217 auto quick clone -218 auto quick clone -219 auto quota quick -220 auto quick clone -221 auto metadata quick -222 auto quick clone -223 auto quick -224 auto -225 auto quick -226 auto enospc -227 auto quick clone -228 rw auto prealloc quick -229 auto quick clone -230 auto quota quick -231 auto quota -232 auto quota stress -233 auto quota stress -234 auto quota -235 auto quota quick -236 auto quick metadata -237 auto quick acl -238 auto quick clone -239 auto aio rw -240 auto aio quick rw -241 auto -242 auto clone -243 auto clone -244 auto quick quota -245 auto quick dir -246 auto quick rw -247 auto quick rw -248 auto quick rw -249 auto quick rw -250 auto quick prealloc rw eio -251 ioctl trim -252 auto quick prealloc rw eio -253 auto quick clone -254 auto quick clone punch -255 auto quick prealloc punch -256 auto quick punch -257 dir auto quick -258 auto quick bigtime -259 auto quick clone zero -260 auto quick trim -261 auto quick clone collapse -262 auto quick clone insert -263 rw auto quick -264 auto quick clone -265 auto quick clone eio -266 auto quick clone eio -267 auto quick clone eio -268 auto quick clone eio -269 auto rw prealloc ioctl enospc stress -270 auto quota rw prealloc ioctl enospc stress -271 auto quick clone eio -272 auto quick clone eio -273 auto rw -274 auto rw prealloc enospc -275 auto rw enospc -276 auto quick clone eio -277 auto ioctl quick metadata -278 auto quick clone eio -279 auto quick clone eio -280 auto quota freeze -281 auto quick clone eio -282 auto quick clone eio -283 auto quick clone eio -284 auto quick clone -285 auto rw seek -286 auto quick other seek -287 auto quick clone -288 auto quick ioctl trim -289 auto quick clone -290 auto quick clone -291 auto quick clone -292 auto quick clone -293 auto quick clone -294 auto quick -295 auto quick clone -296 auto quick clone -297 auto clone -298 auto clone -299 auto aio enospc rw stress -300 auto aio enospc preallocrw stress punch -301 auto quick clone -302 auto quick clone -303 auto quick clone -304 auto quick clone dedupe -305 auto quick clone -306 auto quick rw -307 auto quick acl -308 auto quick -309 auto quick -310 auto -311 auto metadata log -312 auto quick prealloc enospc -313 auto quick -314 auto quick -315 auto quick rw prealloc -316 auto quick punch -317 auto metadata quick -318 acl attr auto quick -319 acl auto quick -320 auto rw -321 auto quick metadata log -322 auto quick metadata log -323 auto aio stress -324 auto fsr quick defrag -325 auto quick data log -326 auto quick clone -327 auto quick clone -328 auto quick clone -329 auto quick clone eio -330 auto quick clone -331 auto quick clone eio -332 auto quick clone -333 auto clone -334 auto clone -335 auto quick metadata log -336 auto quick metadata log -337 auto quick attr metadata -338 auto quick rw eio -339 auto dir -340 auto -341 auto quick metadata log -342 auto quick metadata log -343 auto quick metadata log -344 auto -345 auto -346 auto quick rw -347 auto quick rw thin -348 auto quick metadata -349 blockdev rw zero -350 blockdev rw punch -351 blockdev rw punch collapse insert zero -352 auto clone -353 auto quick clone -354 auto -355 auto quick -356 auto quick clone swap -357 auto quick clone swap -358 auto quick clone -359 auto quick clone -360 auto quick metadata -361 auto quick -362 auto quick richacl -363 auto quick richacl -364 auto quick richacl -365 auto quick richacl -366 auto quick richacl -367 auto quick richacl -368 auto quick richacl -369 auto quick richacl -370 auto quick richacl -371 auto quick enospc prealloc -372 auto quick clone -373 auto quick clone -374 auto quick clone dedupe -375 auto quick acl -376 auto quick metadata log -377 attr auto quick metadata -378 auto quick metadata -379 quota auto quick -380 quota auto quick -381 auto quick quota -382 auto quick quota -383 auto quick quota -384 quota auto quick -385 quota auto quick -386 auto quick quota -387 auto clone -388 shutdown auto log metadata -389 auto quick acl -390 auto freeze stress -391 auto quick rw -392 shutdown auto quick metadata punch -393 auto quick rw -394 auto quick -395 auto quick encrypt -396 auto quick encrypt -397 auto quick encrypt -398 auto quick encrypt -399 auto encrypt -400 auto quick quota -401 auto quick -402 auto quick rw bigtime -403 auto quick attr -404 auto quick insert -405 auto mkfs thin -406 auto quick -407 auto quick clone metadata -408 auto quick clone dedupe metadata -409 auto quick mount -410 auto quick mount -411 auto quick mount -412 auto quick metadata -413 auto quick dax -414 auto quick clone -415 auto clone punch -416 auto enospc -417 auto quick shutdown log -418 auto rw -419 auto quick encrypt -420 auto quick punch -421 auto quick encrypt dangerous -422 auto quick -423 auto quick -424 auto quick -425 auto quick attr -426 auto quick exportfs -427 auto quick aio rw -428 auto quick dax -429 auto encrypt -430 auto quick copy_range -431 auto quick copy_range -432 auto quick copy_range -433 auto quick copy_range -434 auto quick copy_range -435 auto encrypt -436 auto quick rw seek prealloc -437 auto quick dax -438 auto -439 auto quick punch -440 auto quick encrypt -441 auto quick eio -442 blockdev eio -443 auto quick rw -444 auto quick acl -445 auto quick rw seek prealloc -446 auto quick rw punch -447 auto clone punch -448 auto quick rw seek -449 auto quick acl attr enospc -450 auto quick rw -451 auto quick rw aio -452 auto quick dax -453 auto quick dir -454 auto quick attr -455 auto log replay -456 auto quick metadata collapse zero prealloc -457 auto log replay clone -458 auto quick clone collapse insert zero -459 auto freeze thin -460 auto quick rw -461 auto shutdown stress -462 auto quick dax -463 auto quick clone -464 auto rw -465 auto rw quick aio -466 auto quick rw -467 auto quick exportfs -468 shutdown auto quick metadata -469 auto quick punch zero -470 auto quick dax -471 auto quick rw -472 auto quick swap -473 broken -474 auto quick shutdown metadata -475 shutdown auto log metadata eio -476 auto rw -477 auto quick exportfs -478 auto quick -479 auto quick metadata log -480 auto quick metadata log -481 auto quick log metadata -482 auto metadata replay thin -483 auto quick log metadata -484 auto quick -485 auto quick insert -486 auto quick attr -487 auto quick eio -488 auto quick -489 auto quick attr log -490 auto quick rw seek -491 auto quick freeze mount -492 auto quick -493 auto quick swap dedupe -494 auto quick swap punch -495 auto quick swap -496 auto quick swap prealloc -497 auto quick swap collapse -498 auto quick log -499 auto quick rw collapse zero -500 auto thin trim -501 auto quick clone log -502 auto quick log -503 auto quick dax punch collapse zero -504 auto quick locks -505 shutdown auto quick metadata -506 shutdown auto quick metadata quota -507 shutdown auto quick metadata -508 shutdown auto quick metadata -509 auto quick log -510 auto quick log -511 auto quick rw zero -512 auto quick log prealloc -513 auto quick clone -514 auto quick clone -515 auto quick clone -516 auto quick dedupe clone -517 auto quick dedupe clone -518 auto quick clone -519 auto quick -520 auto quick log -521 soak long_rw -522 soak long_rw -523 auto quick attr -524 auto quick -525 auto quick rw -526 auto quick log -527 auto quick log -528 auto quick -529 auto quick acl attr -530 auto quick shutdown unlink -531 auto quick unlink -532 auto quick -533 auto quick attr -534 auto quick log -535 auto quick log -536 auto quick rw shutdown -537 auto quick trim -538 auto quick aio -539 auto quick punch seek -540 auto quick clone -541 auto quick clone -542 auto quick clone -543 auto quick clone -544 auto quick clone -545 auto quick cap -546 auto quick clone enospc log -547 auto quick log -548 auto quick encrypt -549 auto quick encrypt -550 auto quick encrypt -551 auto stress aio -552 auto quick log -553 auto quick copy_range -554 auto quick copy_range swap -555 auto quick cap -556 auto quick casefold -557 auto quick log -558 auto enospc -559 auto stress dedupe -560 auto stress dedupe -561 auto stress dedupe -562 auto clone punch -563 auto quick -564 auto quick copy_range -565 auto quick copy_range -566 auto quick quota metadata -567 auto quick rw punch -568 auto quick rw prealloc -569 auto quick rw swap prealloc -570 auto quick rw swap -571 auto quick -572 auto quick verity -573 auto quick verity -574 auto quick verity -575 auto quick verity -576 auto quick verity encrypt -577 auto quick verity -578 auto quick rw clone -579 auto stress verity -580 auto quick encrypt -581 auto quick encrypt -582 auto quick encrypt -583 auto quick encrypt -584 auto quick encrypt -585 auto rename -586 auto quick rw prealloc -587 auto quick rw prealloc quota -588 auto quick log clone -589 auto mount -590 auto prealloc preallocrw -591 auto quick rw pipe splice -592 auto quick encrypt -593 auto quick encrypt -594 auto quick quota -595 auto quick encrypt -596 auto quick -597 auto quick perms -598 auto quick perms -599 auto quick remount shutdown -600 auto quick quota -601 auto quick quota -602 auto quick encrypt -603 auto quick quota -604 auto quick mount -605 auto attr quick dax -606 auto attr quick dax -607 auto attr quick dax -608 auto attr quick dax -609 auto quick rw -610 auto quick prealloc zero -611 auto quick attr -612 auto quick clone -613 auto quick encrypt -614 auto quick rw -615 auto rw -616 auto rw io_uring stress -617 auto rw io_uring stress -618 auto quick attr -619 auto rw enospc -620 auto mount quick -621 auto quick encrypt -622 auto shutdown metadata atime -623 auto quick shutdown -624 auto quick verity -625 auto quick verity -626 auto quick rename enospc -627 auto aio rw stress -628 auto quick rw clone -629 auto quick rw copy_range -630 auto quick rw dedupe clone -631 auto rw overlay rename -632 auto quick mount -633 auto quick atime attr cap idmapped io_uring mount perms rw unlink -634 auto quick atime bigtime -635 auto quick atime bigtime shutdown -636 auto quick swap -637 auto quick dir -638 auto quick rw diff --git a/tests/nfs/group b/tests/nfs/group deleted file mode 100644 index 2619eaee..00000000 --- a/tests/nfs/group +++ /dev/null @@ -1,6 +0,0 @@ -# QA groups control file -# Defines test groups and nominal group owners -# - do not start group names with a digit -# - comment line before each group is "new" description -# -001 auto quick nfs4_acl acl diff --git a/tests/ocfs2/group b/tests/ocfs2/group deleted file mode 100644 index 28e68072..00000000 --- a/tests/ocfs2/group +++ /dev/null @@ -1 +0,0 @@ -001 auto quick clone diff --git a/tests/overlay/group b/tests/overlay/group deleted file mode 100644 index bd014f20..00000000 --- a/tests/overlay/group +++ /dev/null @@ -1,100 +0,0 @@ -# QA groups control file -# Defines test groups and nominal group owners -# - do not start group names with a digit -# - comment line before each group is "new" description -# -001 auto quick copyup -002 auto quick metadata -003 auto quick whiteout -004 attr auto copyup quick -005 auto copyup quick -006 auto quick copyup whiteout -007 auto quick -008 auto quick whiteout -009 auto quick -010 auto quick whiteout -011 auto quick -012 auto quick -013 auto quick copyup -014 auto quick copyup -015 auto quick whiteout -016 auto quick copyup -017 auto quick copyup redirect -018 auto quick copyup hardlink -019 auto stress -020 auto quick copyup perms -021 auto quick copyup -022 auto quick mount nested -023 auto quick attr -024 auto quick mount -025 auto quick attr -026 auto attr quick -027 auto quick perms -028 auto copyup quick -029 auto quick nested -030 auto quick perms -031 auto quick whiteout -032 auto quick copyup hardlink -033 auto quick copyup hardlink -034 auto quick copyup hardlink -035 auto quick mount -036 auto quick mount -037 auto quick mount -038 auto quick copyup -039 auto quick atime -040 auto quick -041 auto quick copyup nonsamefs -042 auto quick copyup hardlink -043 auto quick copyup nonsamefs -044 auto quick copyup hardlink nonsamefs -045 auto quick fsck -046 auto quick fsck -047 auto quick copyup hardlink -048 auto quick copyup hardlink -049 auto quick copyup redirect -050 auto quick copyup hardlink exportfs -051 auto quick copyup hardlink exportfs nonsamefs -052 auto quick copyup redirect exportfs -053 auto quick copyup redirect exportfs nonsamefs -054 auto quick copyup redirect exportfs -055 auto quick copyup redirect exportfs nonsamefs -056 auto quick fsck -057 auto quick redirect -058 auto quick exportfs -059 auto quick copyup -060 auto quick metacopy -061 posix copyup -062 auto quick exportfs -063 auto quick whiteout -064 auto quick copyup -065 auto quick mount -066 auto quick copyup -067 auto quick copyup nonsamefs -068 auto quick copyup hardlink exportfs nested -069 auto quick copyup hardlink exportfs nested nonsamefs -070 auto quick copyup redirect nested -071 auto quick copyup redirect nested nonsamefs -072 auto quick copyup hardlink -073 auto quick whiteout -074 auto quick exportfs dangerous -075 auto quick perms -076 auto quick perms dangerous -077 auto quick dir -100 auto quick union samefs -101 auto quick union nonsamefs -102 auto quick union nonsamefs xino -103 auto union rotate samefs -104 auto union rotate nonsamefs -105 auto union rotate nonsamefs xino -106 auto union rotate nonsamefs -107 auto union rotate nonsamefs xino -108 auto union rotate nonsamefs -109 auto union rotate nonsamefs xino -110 auto quick union nested samefs -111 auto quick union nested samefs xino -112 auto quick union nested nonsamefs -113 auto quick union nested nonsamefs xino -114 auto union rotate nested samefs -115 auto union rotate nested samefs xino -116 auto union rotate nested nonsamefs -117 auto union rotate nested nonsamefs xino diff --git a/tests/perf/group b/tests/perf/group deleted file mode 100644 index d3ed4349..00000000 --- a/tests/perf/group +++ /dev/null @@ -1 +0,0 @@ -001 auto diff --git a/tests/shared/group b/tests/shared/group deleted file mode 100644 index a8b926d8..00000000 --- a/tests/shared/group +++ /dev/null @@ -1,8 +0,0 @@ -# QA groups control file -# Defines test groups and nominal group owners -# - do not start group names with a digit -# - comment line before each group is "new" description -# -002 auto metadata quick log -032 mkfs auto quick -298 auto trim diff --git a/tests/udf/group b/tests/udf/group deleted file mode 100644 index 6680da44..00000000 --- a/tests/udf/group +++ /dev/null @@ -1,6 +0,0 @@ -# QA groups control file -# Defines test groups and nominal group owners -# - do not start group names with a digit -# - comment line before each group is "new" description -# -102 udf diff --git a/tests/xfs/group b/tests/xfs/group deleted file mode 100644 index bed7f7b8..00000000 --- a/tests/xfs/group +++ /dev/null @@ -1,534 +0,0 @@ -001 db auto quick -002 auto quick growfs -003 db auto quick -004 db auto quick -005 auto quick -006 auto quick mount eio -007 auto quota quick -008 rw ioctl auto quick -009 rw ioctl auto prealloc quick -010 auto quick repair -011 auto freeze log metadata quick -012 rw auto quick -013 auto metadata stress -014 auto enospc quick quota -015 auto enospc growfs -016 rw auto quick -017 mount auto quick stress -018 deprecated # log logprint v2log -019 mkfs auto quick -020 auto repair -021 db attr auto quick -022 dump ioctl tape -023 dump ioctl tape -024 dump ioctl tape -025 dump ioctl tape -026 dump ioctl auto quick -027 dump ioctl auto quick -028 dump ioctl auto quick -029 mkfs logprint log auto quick -030 repair auto quick -031 repair mkfs auto quick -032 copy auto quick -033 repair auto quick -034 other auto quick -035 dump ioctl tape auto -036 dump ioctl remote tape -037 dump ioctl remote tape -038 dump ioctl remote tape -039 dump ioctl remote tape -040 other auto -041 growfs ioctl auto -042 fsr ioctl auto -043 dump ioctl tape -044 other auto -045 other auto quick -046 dump ioctl auto quick -047 dump ioctl auto -048 other auto quick -049 rw auto quick -050 quota auto quick -051 shutdown auto log metadata -052 quota db auto quick -053 attr acl repair quick auto -054 auto quick -055 dump ioctl remote tape -056 dump ioctl auto quick -057 auto log -058 auto quick fuzzers -059 dump ioctl auto quick -060 dump ioctl auto quick -061 dump ioctl auto quick -062 auto ioctl quick -063 dump attr auto quick -064 dump auto -065 dump auto -066 dump ioctl auto quick -067 acl attr auto quick -068 auto stress dump -069 ioctl auto quick -070 auto quick repair -071 rw auto -072 rw auto prealloc quick -073 copy auto -074 quick auto prealloc rw -075 auto quick mount -076 auto enospc punch -077 auto quick copy -078 growfs auto quick -079 shutdown auto log quick -080 rw ioctl -081 deprecated # log logprint quota -082 deprecated # log logprint v2log -083 dangerous_fuzzers punch -084 ioctl rw auto -085 fuzzers -086 fuzzers -087 fuzzers -088 fuzzers -089 fuzzers -090 rw auto realtime -091 fuzzers -092 other auto quick -093 fuzzers -094 metadata dir ioctl auto realtime -095 log v2log auto -096 mkfs v2log auto quick -097 fuzzers -098 fuzzers -099 fuzzers -100 fuzzers -101 fuzzers -102 fuzzers -103 metadata dir ioctl auto quick -104 growfs ioctl prealloc auto stress -105 fuzzers -106 auto quick quota -107 quota -108 quota auto quick -109 metadata auto -110 repair auto -111 ioctl -112 fuzzers -113 fuzzers -114 auto quick clone rmap collapse insert -115 auto quick fuzzers -116 quota auto quick -117 fuzzers -118 auto quick fsr -119 log v2log auto freeze -120 fuzzers -121 shutdown log auto quick -122 other auto quick clone realtime -123 fuzzers -124 fuzzers -125 fuzzers -126 fuzzers -127 auto quick clone -128 auto quick clone fsr -129 auto quick clone -130 fuzzers clone -131 auto quick clone realtime -132 auto quick -133 dangerous_fuzzers -134 dangerous_fuzzers -135 auto logprint quick v2log -136 attr2 -137 auto metadata v2log -138 auto quick -139 auto quick clone -140 auto clone -141 auto log metadata -142 auto quick rw attr realtime -143 auto quick realtime mount -144 auto quick quota -145 auto quick quota -146 auto quick rw realtime -147 auto quick rw realtime collapse insert unshare zero prealloc -148 auto quick fuzzers -149 auto quick growfs -150 auto quick db -151 auto quick db -152 auto quick quota idmapped -153 auto quick quota idmapped -154 auto quick repair -155 auto repair -156 auto quick admin -157 auto quick admin -158 auto quick inobtcount -159 auto quick bigtime -160 auto quick bigtime -161 auto quick bigtime quota -162 auto quick attr repair -163 auto quick growfs shrinkfs -164 rw pattern auto prealloc quick -165 rw pattern auto prealloc quick -166 rw metadata auto quick -167 rw metadata auto stress -168 auto growfs shrinkfs ioctl prealloc stress -169 auto clone -170 rw filestreams auto quick -171 rw filestreams -172 rw filestreams -173 rw filestreams -174 rw filestreams auto -178 mkfs other auto -179 auto quick clone -180 auto quick clone -181 shutdown log auto quick -182 auto quick clone -183 rw other auto quick -184 auto quick clone -186 attr auto quick -187 attr auto quick -188 ci dir auto -189 mount auto quick -190 rw auto quick -191-input-validation auto quick mkfs realtime -192 auto quick clone -193 auto quick clone -194 rw auto -195 ioctl dump auto quick -196 auto quick rw -197 dir auto quick -198 auto quick clone -199 mount auto quick -200 auto quick clone -201 metadata auto quick -202 repair auto quick -203 ioctl auto -204 auto quick clone -205 metadata rw auto -206 growfs auto quick -207 auto quick clone -208 auto quick clone -209 auto quick clone -210 auto quick clone -211 clone_stress -212 shutdown auto quick clone -213 auto quick clone -214 auto quick clone -215 auto quick clone -216 log metadata auto quick -217 log metadata auto -218 auto quick clone -219 auto quick clone -220 auto quota quick -221 auto quick clone -222 auto fsr ioctl quick -223 auto quick clone -224 auto quick clone -225 auto quick clone -226 auto quick clone -227 auto fsr -228 auto quick clone punch -229 auto rw -230 auto quick clone punch -231 auto quick clone -232 auto quick clone -233 auto quick rmap -234 auto quick rmap punch -235 fuzzers rmap -236 auto rmap punch -237 auto quick clone eio -238 auto quick metadata ioctl -239 auto quick clone -240 auto quick clone eio -241 auto quick clone -242 auto quick prealloc zero -243 auto quick clone punch -244 auto quota quick -245 auto quick clone -246 auto quick clone -247 auto quick clone -248 auto quick clone -249 auto quick clone -250 auto quick rw prealloc metadata -251 auto quick clone -252 auto quick prealloc punch -253 auto quick -254 auto quick clone -255 auto quick clone -256 auto quick clone -257 auto quick clone -258 auto quick clone -259 auto quick -260 auto quick mkfs -261 auto quick quota -262 dangerous_fuzzers dangerous_scrub dangerous_online_repair -263 auto quick quota -264 auto quick mount eio -265 auto clone -266 dump ioctl auto quick -267 dump ioctl tape -268 dump ioctl tape -269 auto quick ioctl -270 auto quick mount -271 auto quick rmap fsmap -272 auto quick rmap fsmap -273 auto rmap fsmap -274 auto quick rmap fsmap -275 auto quick rmap fsmap -276 auto quick rmap fsmap realtime -277 auto quick rmap fsmap -278 repair auto -279 auto mkfs -280 auto quick clone -281 dump ioctl auto quick -282 dump ioctl auto quick -283 dump ioctl auto quick -284 auto quick dump copy db mkfs repair -285 dangerous_fuzzers dangerous_scrub -286 dangerous_fuzzers dangerous_scrub dangerous_online_repair -287 auto dump quota quick -288 auto quick repair fuzzers -289 growfs auto quick -290 auto rw prealloc quick ioctl zero -291 auto repair -292 auto mkfs quick -293 auto quick -294 auto dir metadata -295 auto logprint quick -296 dump auto quick -297 auto freeze -298 auto attr symlink quick -299 auto quota -300 auto fsr -301 auto dump -302 auto dump -303 auto quick quota -304 auto quick quota -305 auto quota -306 auto quick punch -307 auto quick clone -308 auto quick clone -309 auto clone -310 auto clone rmap -311 auto quick -312 auto quick clone -313 auto quick clone -314 auto quick clone -315 auto quick clone -316 auto quick clone -317 auto quick rmap -318 auto quick rw -319 auto quick clone -320 auto quick clone -321 auto quick clone -322 auto quick clone -323 auto quick clone -324 auto quick clone -325 auto quick clone -326 auto quick clone -327 auto quick clone -328 auto quick clone fsr -329 auto quick clone fsr -330 auto quick clone fsr quota -331 auto quick rmap clone -332 auto quick rmap clone collapse punch insert zero -333 auto quick rmap realtime -334 auto quick rmap realtime -335 auto rmap realtime -336 auto rmap realtime -337 fuzzers rmap realtime -338 auto quick rmap realtime -339 auto quick rmap realtime -340 auto quick rmap realtime -341 auto quick rmap realtime -342 auto quick rmap realtime -343 auto quick rmap collapse punch insert zero realtime -344 auto quick clone -345 auto quick clone -346 auto quick clone -347 auto quick clone -348 auto quick fuzzers repair -349 dangerous_fuzzers scrub -350 dangerous_fuzzers dangerous_scrub dangerous_repair -351 dangerous_fuzzers dangerous_scrub dangerous_online_repair -352 dangerous_fuzzers dangerous_scrub dangerous_repair -353 dangerous_fuzzers dangerous_scrub dangerous_online_repair -354 dangerous_fuzzers dangerous_scrub dangerous_repair -355 dangerous_fuzzers dangerous_scrub dangerous_online_repair -356 dangerous_fuzzers dangerous_scrub dangerous_repair -357 dangerous_fuzzers dangerous_scrub dangerous_online_repair -358 dangerous_fuzzers dangerous_scrub dangerous_repair -359 dangerous_fuzzers dangerous_scrub dangerous_online_repair -360 dangerous_fuzzers dangerous_scrub dangerous_repair -361 dangerous_fuzzers dangerous_scrub dangerous_online_repair -362 dangerous_fuzzers dangerous_scrub dangerous_repair -363 dangerous_fuzzers dangerous_scrub dangerous_online_repair -364 dangerous_fuzzers dangerous_scrub dangerous_repair -365 dangerous_fuzzers dangerous_scrub dangerous_online_repair -366 dangerous_fuzzers dangerous_scrub dangerous_repair -367 dangerous_fuzzers dangerous_scrub dangerous_online_repair -368 dangerous_fuzzers dangerous_scrub dangerous_repair -369 dangerous_fuzzers dangerous_scrub dangerous_online_repair -370 dangerous_fuzzers dangerous_scrub dangerous_repair -371 dangerous_fuzzers dangerous_scrub dangerous_online_repair -372 dangerous_fuzzers dangerous_scrub dangerous_repair -373 dangerous_fuzzers dangerous_scrub dangerous_online_repair -374 dangerous_fuzzers dangerous_scrub dangerous_repair -375 dangerous_fuzzers dangerous_scrub dangerous_online_repair -376 dangerous_fuzzers dangerous_scrub dangerous_repair -377 dangerous_fuzzers dangerous_scrub dangerous_online_repair -378 dangerous_fuzzers dangerous_scrub dangerous_repair -379 dangerous_fuzzers dangerous_scrub dangerous_online_repair -380 dangerous_fuzzers dangerous_scrub dangerous_repair -381 dangerous_fuzzers dangerous_scrub dangerous_online_repair -382 dangerous_fuzzers dangerous_scrub dangerous_repair -383 dangerous_fuzzers dangerous_scrub dangerous_online_repair -384 dangerous_fuzzers dangerous_scrub dangerous_repair -385 dangerous_fuzzers dangerous_scrub dangerous_online_repair -386 dangerous_fuzzers dangerous_scrub dangerous_repair -387 dangerous_fuzzers dangerous_scrub dangerous_online_repair -388 dangerous_fuzzers dangerous_scrub dangerous_repair -389 dangerous_fuzzers dangerous_scrub dangerous_online_repair -390 dangerous_fuzzers dangerous_scrub dangerous_repair -391 dangerous_fuzzers dangerous_scrub dangerous_online_repair -392 dangerous_fuzzers dangerous_scrub dangerous_repair -393 dangerous_fuzzers dangerous_scrub dangerous_online_repair -394 dangerous_fuzzers dangerous_scrub dangerous_repair -395 dangerous_fuzzers dangerous_scrub dangerous_online_repair -396 dangerous_fuzzers dangerous_scrub dangerous_repair -397 dangerous_fuzzers dangerous_scrub dangerous_online_repair -398 dangerous_fuzzers dangerous_scrub dangerous_repair -399 dangerous_fuzzers dangerous_scrub dangerous_online_repair -400 dangerous_fuzzers dangerous_scrub dangerous_repair -401 dangerous_fuzzers dangerous_scrub dangerous_online_repair -402 dangerous_fuzzers dangerous_scrub dangerous_repair -403 dangerous_fuzzers dangerous_scrub dangerous_online_repair -404 dangerous_fuzzers dangerous_scrub dangerous_repair -405 dangerous_fuzzers dangerous_scrub dangerous_online_repair -406 dangerous_fuzzers dangerous_scrub dangerous_repair realtime -407 dangerous_fuzzers dangerous_scrub dangerous_online_repair realtime -408 dangerous_fuzzers dangerous_scrub dangerous_repair realtime -409 dangerous_fuzzers dangerous_scrub dangerous_online_repair realtime -410 dangerous_fuzzers dangerous_scrub dangerous_repair -411 dangerous_fuzzers dangerous_scrub dangerous_online_repair -412 dangerous_fuzzers dangerous_scrub dangerous_repair -413 dangerous_fuzzers dangerous_scrub dangerous_online_repair -414 dangerous_fuzzers dangerous_scrub dangerous_repair -415 dangerous_fuzzers dangerous_scrub dangerous_online_repair -416 dangerous_fuzzers dangerous_scrub dangerous_repair -417 dangerous_fuzzers dangerous_scrub dangerous_online_repair -418 dangerous_fuzzers dangerous_scrub dangerous_repair -420 auto quick clone punch seek -421 auto quick clone punch seek -422 dangerous_scrub dangerous_online_repair -423 dangerous_scrub -424 auto quick db -425 dangerous_fuzzers dangerous_scrub dangerous_repair -426 dangerous_fuzzers dangerous_scrub dangerous_online_repair -427 dangerous_fuzzers dangerous_scrub dangerous_repair -428 dangerous_fuzzers dangerous_scrub dangerous_online_repair -429 dangerous_fuzzers dangerous_scrub dangerous_repair -430 dangerous_fuzzers dangerous_scrub dangerous_online_repair -431 auto quick -432 auto quick dir metadata -433 auto quick attr -434 auto quick clone fsr -435 auto quick clone -436 auto quick clone fsr -437 auto quick other -438 auto quick quota -439 auto quick fuzzers log -440 auto quick clone quota -441 auto quick clone quota -442 auto stress clone quota -443 auto quick ioctl fsr punch -444 auto quick -445 auto quick filestreams -446 auto quick -447 auto mount -448 auto quick fuzzers -449 auto quick -450 auto quick rmap -451 auto quick metadata repair -452 auto db -453 dangerous_fuzzers dangerous_norepair -454 dangerous_fuzzers dangerous_norepair -455 dangerous_fuzzers dangerous_norepair -456 dangerous_fuzzers dangerous_norepair -457 dangerous_fuzzers dangerous_norepair -458 dangerous_fuzzers dangerous_norepair -459 dangerous_fuzzers dangerous_norepair -460 dangerous_fuzzers dangerous_norepair -461 dangerous_fuzzers dangerous_norepair -462 dangerous_fuzzers dangerous_norepair -463 dangerous_fuzzers dangerous_norepair -464 dangerous_fuzzers dangerous_norepair -465 dangerous_fuzzers dangerous_norepair -466 dangerous_fuzzers dangerous_norepair -467 dangerous_fuzzers dangerous_norepair -468 dangerous_fuzzers dangerous_norepair -469 dangerous_fuzzers dangerous_norepair -470 dangerous_fuzzers dangerous_norepair -471 dangerous_fuzzers dangerous_norepair -472 dangerous_fuzzers dangerous_norepair -473 dangerous_fuzzers dangerous_norepair -474 dangerous_fuzzers dangerous_norepair -475 dangerous_fuzzers dangerous_norepair -476 dangerous_fuzzers dangerous_norepair -477 dangerous_fuzzers dangerous_norepair -478 dangerous_fuzzers dangerous_norepair -479 dangerous_fuzzers dangerous_norepair -480 dangerous_fuzzers dangerous_norepair -481 dangerous_fuzzers dangerous_norepair realtime -482 dangerous_fuzzers dangerous_norepair realtime -483 dangerous_fuzzers dangerous_norepair -484 dangerous_fuzzers dangerous_norepair -485 dangerous_fuzzers dangerous_norepair -486 dangerous_fuzzers dangerous_norepair -487 dangerous_fuzzers dangerous_norepair -488 dangerous_fuzzers dangerous_norepair -489 dangerous_fuzzers dangerous_norepair -490 auto quick -491 auto quick fuzz -492 auto quick fuzz -493 auto quick fuzz -494 auto quick -495 auto quick repair -496 dangerous_fuzzers dangerous_scrub dangerous_repair -497 dangerous_fuzzers dangerous_scrub dangerous_online_repair -498 dangerous_fuzzers dangerous_norepair -499 auto quick -500 auto quick mkfs prealloc mkfs -501 auto quick unlink -502 auto quick unlink -503 auto copy metadump -504 auto quick mkfs label -505 auto quick spaceman -506 auto quick health -507 clone -508 auto quick quota -509 auto ioctl -510 auto ioctl quick -511 auto quick quota -512 auto quick acl attr -513 auto mount -514 auto quick db -515 auto quick quota -516 auto quick -517 auto quick fsmap freeze -518 auto quick quota -519 auto quick reflink -520 auto quick reflink -521 auto quick realtime growfs -522 auto quick mkfs -523 auto quick mkfs -524 auto quick mkfs -525 auto quick mkfs -526 auto quick mkfs -527 auto quick quota -528 auto quick rw realtime -529 auto quick quota -530 auto quick realtime growfs -531 auto quick punch zero insert collapse -532 auto quick attr -533 auto quick dir hardlink symlink -534 auto quick -535 auto quick reflink -536 auto quick reflink -537 auto quick -538 auto stress -539 auto quick mount From patchwork Tue Jun 8 17:20:27 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Darrick J. Wong" X-Patchwork-Id: 12307691 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 38C13C47082 for ; Tue, 8 Jun 2021 17:20:29 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 1F34C6135D for ; Tue, 8 Jun 2021 17:20:29 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233600AbhFHRWV (ORCPT ); Tue, 8 Jun 2021 13:22:21 -0400 Received: from mail.kernel.org ([198.145.29.99]:55460 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233595AbhFHRWV (ORCPT ); Tue, 8 Jun 2021 13:22:21 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 0C7A461359; Tue, 8 Jun 2021 17:20:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1623172828; bh=UT8EGZLVdL9lNhwG4AC4EfHEV/SL1FcwJazbsmjlClk=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=kIqdU5I7FKwJBBzSKqJsxkCou8GADd0TmPkdYUT4VdYi2Hs8lr0+yFh+gvb9Wvowa dI4rUE0Ta/QRlC2C/NfHBF8aLps72MVGUR4wuYrLhtLILM00noatuXvsG9iwNlweL/ wUD6JBRzx9OrooWQ2qG2rlRDoF8QbbmPz/MWknkdhk1MldxK3UJFVSjOZmy5rN3f24 Alrp3y/+nhYixvJi+JA4cTdk7O0Sg44BRAbX03d4deAqEJKFSgw1jUrmnlOI0/Kjf4 DqRAGM3T//H2OLwtDt2r2DenRM+Rspowx1ghO+C0piSO+Lzv+jubW06VeNw4XYkDTJ W4j2zd/JuYKkQ== Subject: [PATCH 12/13] fstests: remove test group management code From: "Darrick J. Wong" To: djwong@kernel.org, guaneryu@gmail.com Cc: linux-xfs@vger.kernel.org, fstests@vger.kernel.org, guan@eryu.me, amir73il@gmail.com, ebiggers@kernel.org Date: Tue, 08 Jun 2021 10:20:27 -0700 Message-ID: <162317282778.653489.13112698258806159936.stgit@locust> In-Reply-To: <162317276202.653489.13006238543620278716.stgit@locust> References: <162317276202.653489.13006238543620278716.stgit@locust> User-Agent: StGit/0.19 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: fstests@vger.kernel.org From: Darrick J. Wong Remove all the code that manages group files, since we now generate them at build time. Signed-off-by: Darrick J. Wong Reviewed-by: Chandan Babu R Reviewed-by: Allison Henderson --- tools/mvtest | 12 ------ tools/sort-group | 112 ------------------------------------------------------ 2 files changed, 124 deletions(-) delete mode 100755 tools/sort-group diff --git a/tools/mvtest b/tools/mvtest index 572ae14e..fa967832 100755 --- a/tools/mvtest +++ b/tools/mvtest @@ -32,24 +32,12 @@ did="$(basename "${dest}")" sgroup="$(basename "$(dirname "tests/${src}")")" dgroup="$(basename "$(dirname "tests/${dest}")")" -sgroupfile="tests/${sgroup}/group" -dgroupfile="tests/${dgroup}/group" - git mv "tests/${src}" "tests/${dest}" git mv "tests/${src}.out" "tests/${dest}.out" sed -e "s/^# FS[[:space:]]*QA.*Test.*[0-9]\+$/# FS QA Test No. ${did}/g" -i "tests/${dest}" sed -e "s/^QA output created by ${sid}$/QA output created by ${did}/g" -i "tests/${dest}.out" sed -e "s/test-${sid}/test-${did}/g" -i "tests/${dest}.out" -grpline="$(grep "^${sid} " "${sgroupfile}")" -newgrpline="$(echo "${grpline}" | sed -e "s/^${sid} /${did} /g")" - -sed -e "/^${sid} .*$/d" -i "${sgroupfile}" -cp "${dgroupfile}" "${dgroupfile}.new" -append "${dgroupfile}.new" "${newgrpline}" -"${dir}/sort-group" "${dgroupfile}.new" -mv "${dgroupfile}.new" "${dgroupfile}" - echo "Moved \"${src}\" to \"${dest}\"." exit 0 diff --git a/tools/sort-group b/tools/sort-group deleted file mode 100755 index 6fcaad77..00000000 --- a/tools/sort-group +++ /dev/null @@ -1,112 +0,0 @@ -#!/usr/bin/env python -import sys - -# Sort a group list, carefully preserving comments. - -def xfstest_key(key): - '''Extract the numeric part of a test name if possible.''' - k = 0 - - assert type(key) == str - - # No test number at all... - if not key[0].isdigit(): - return key - - # ...otherwise extract as much number as we can. - for digit in key: - if digit.isdigit(): - k = k * 10 + int(digit) - else: - return k - return k - -def read_group(fd): - '''Read the group list, carefully attaching comments to the next test.''' - tests = {} - comments = None - - for line in fd: - sline = line.strip() - tokens = sline.split() - if len(tokens) == 0 or tokens[0] == '#': - if comments == None: - comments = [] - comments.append(sline) - else: - tests[tokens[0]] = (comments, tokens[1:]) - comments = None - return tests - -def sort_keys(keys): - '''Separate keys into integer and non-integer tests.''' - int_keys = [] - int_xkeys = [] - str_keys = [] - - # Sort keys into integer(ish) tests and other - for key in keys: - xkey = xfstest_key(key) - if type(xkey) == int: - int_keys.append(key) - int_xkeys.append(xkey) - else: - str_keys.append(key) - return (int_keys, int_xkeys, str_keys) - -def write_sorted(tests, fd): - def dump_xkey(xkey): - (comments, tokens) = tests[key] - if comments: - for c in comments: - fd.write('%s\n' % c) - fd.write('%s %s\n' % (key, ' '.join(tokens))) - '''Print tests (and comments) in number order.''' - - (int_keys, ignored, str_keys) = sort_keys(tests.keys()) - for key in sorted(int_keys, key = xfstest_key): - dump_xkey(key) - for key in sorted(str_keys): - dump_xkey(key) - -def sort_main(): - if '--help' in sys.argv[1:]: - print('Usage: %s groupfiles' % sys.argv[0]) - sys.exit(0) - - for arg in sys.argv[1:]: - with open(arg, 'r+') as fd: - x = read_group(fd) - fd.seek(0, 0) - write_sorted(x, fd) - -def nextid_main(): - if '--help' in sys.argv[1:]: - print('Usage: %s group[/startid] ' % sys.argv[0]) - sys.exit(0) - - if len(sys.argv) != 2: - print('Specify exactly one group name.') - sys.exit(1) - - c = sys.argv[1].split('/') - if len(c) > 1: - startid = int(c[1]) - else: - startid = 1 - group = c[0] - - with open('tests/%s/group' % group, 'r') as fd: - x = read_group(fd) - xkeys = {int(x) for x in sort_keys(x.keys())[1]} - - xid = startid - while xid in xkeys: - xid += 1 - print('%s/%03d' % (group, xid)) - -if __name__ == '__main__': - if 'nextid' in sys.argv[0]: - nextid_main() - else: - sort_main() From patchwork Tue Jun 8 17:20:33 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Darrick J. Wong" X-Patchwork-Id: 12307693 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6C22CC47082 for ; Tue, 8 Jun 2021 17:20:35 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 5091B61359 for ; Tue, 8 Jun 2021 17:20:35 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233184AbhFHRW1 (ORCPT ); Tue, 8 Jun 2021 13:22:27 -0400 Received: from mail.kernel.org ([198.145.29.99]:55524 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233149AbhFHRW0 (ORCPT ); Tue, 8 Jun 2021 13:22:26 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 7B1D761351; Tue, 8 Jun 2021 17:20:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1623172833; bh=iKRFafqnyGEZpNjLy/a63WvSEqBjkH1Mx8Nv3TuncEI=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=eZ/FyIvoqsMY3sWAUwJtPdKBYjUEuJ5/po/FrY66ib6yfDHXD92/sxTggLDuZzakx u9HMSraTFxWm00HQwy5/qdBBirkfT8QbBy2e0jFqssa+v6ESEPp7juHD10SX8EGcPQ T0cc/6bRz/qaE7a+lwOiP5P3DgzXDIZxxbsRVzyxhcrgt2TfSYQqXxq/kDHK9REpN3 5gD4cs9oQHD5zSux3g6QmbdBIt6MdNwkIY9X/bQ8wd1D3e2xY0vjsHs1FCQbxZcfK5 nSMfN/Pprjc2f8bbc3wAf5hv7XL+Nvx3z1nH7B/7ELURMJedea6WIKm4WNwvcrY4bl Y3oH3tEBteMfA== Subject: [PATCH 13/13] misc: update documentation to reflect auto-generated group files From: "Darrick J. Wong" To: djwong@kernel.org, guaneryu@gmail.com Cc: linux-xfs@vger.kernel.org, fstests@vger.kernel.org, guan@eryu.me, amir73il@gmail.com, ebiggers@kernel.org Date: Tue, 08 Jun 2021 10:20:33 -0700 Message-ID: <162317283324.653489.9381968524443830077.stgit@locust> In-Reply-To: <162317276202.653489.13006238543620278716.stgit@locust> References: <162317276202.653489.13006238543620278716.stgit@locust> User-Agent: StGit/0.19 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: fstests@vger.kernel.org From: Darrick J. Wong Update the documentation to outline the new requirements for test files so that we can generate group files during build. Signed-off-by: Darrick J. Wong Reviewed-by: Chandan Babu R Reviewed-by: Allison Henderson --- README | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/README b/README index 048491a6..ab298ca9 100644 --- a/README +++ b/README @@ -140,7 +140,8 @@ Running tests: - ./check '*/001' '*/002' '*/003' - ./check '*/06?' - Groups of tests maybe ran by: ./check -g [group(s)] - See the 'group' file for details on groups + See the tests/*/group.list files after building xfstests to learn about + each test's group memberships. - If you want to run all tests regardless of what group they are in (including dangerous tests), use the "all" group: ./check -g all - To randomize test order: ./check -r [test(s)] @@ -174,8 +175,8 @@ Test script environment: When developing a new test script keep the following things in mind. All of the environment variables and shell procedures are - available to the script once the "common/rc" file has been - sourced. + available to the script once the "common/preamble" file has been + sourced and the "_begin_fstest" function has been called. 1. The tests are run from an arbitrary directory. If you want to do operations on an XFS filesystem (good idea, eh?), then do @@ -249,6 +250,18 @@ Test script environment: in the ./new script. It can contain only alphanumeric characters and dash. Note the "NNN-" part is added automatically. + 6. Test group membership: Each test can be associated with any number + of groups for convenient selection of subsets of tests. Test names + can be any sequence of non-whitespace characters. Test authors + associate a test with groups by passing the names of those groups as + arguments to the _begin_fstest function: + + _begin_fstest auto quick subvol snapshot + + The build process scans test files for _begin_fstest invocations and + compiles the group list from that information. In other words, test + files must call _begin_fstest or they will not be run. + Verified output: Each test script has a name, e.g. 007, and an associated