[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20151113213650.31124.16817.stgit@birch.djwong.org>
Date: Fri, 13 Nov 2015 13:36:50 -0800
From: "Darrick J. Wong" <darrick.wong@...cle.com>
To: david@...morbit.com, darrick.wong@...cle.com
Cc: fstests@...r.kernel.org, xfs@....sgi.com, hch@...radead.org,
tao.peng@...marydata.com, linux-ext4@...r.kernel.org,
Anna.Schumaker@...app.com, linux-btrfs@...r.kernel.org
Subject: [PATCH 01/12] test-scripts: test migration scripts
Add two scripts: "nextid" finds the next available test ID number in a
group, and "mvtest" relocates a test, fixes the golden output, and
moves the group entry for that test.
Signed-off-by: Darrick J. Wong <darrick.wong@...cle.com>
---
mvtest | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
nextid | 35 +++++++++++++++++++++++++++++++++++
2 files changed, 93 insertions(+)
create mode 100755 mvtest
create mode 100755 nextid
diff --git a/mvtest b/mvtest
new file mode 100755
index 0000000..b5406d1
--- /dev/null
+++ b/mvtest
@@ -0,0 +1,58 @@
+#!/bin/sh
+
+# Renumber a test
+
+if [ -z "$1" ] || [ "$1" = "--help" ]; then
+ echo "Usage: $0 path_to_test new_path_to_test"
+ exit 1
+fi
+
+src="$1"
+dest="$2"
+
+die() {
+ echo "$@"
+ exit 1
+}
+
+nsort() {
+ sort -g < "$1" > "$2"
+}
+
+append() {
+ out="$1"
+ shift
+ echo "$@" >> "${out}"
+}
+
+test "${src}" != "${dest}" || die "Test \"${src}\" is the same as dest."
+test -e "tests/${src}" || die "Test \"${src}\" does not exist."
+test ! -e "tests/${dest}" || die "Test \"${src}\" already exists."
+
+sid="$(basename "${src}")"
+did="$(basename "${dest}")"
+
+sgroup="$(basename "$(dirname "tests/${src}")")"
+dgroup="$(basename "$(dirname "tests/${dest}")")"
+
+sgroupfile="tests/${sgroup}/group"
+dgroupfile="tests/${sgroup}/group"
+
+$DBG git mv "tests/${src}" "tests/${dest}"
+$DBG git mv "tests/${src}.out" "tests/${dest}.out"
+$DBG sed -e "s/^# FS QA Test No. ${sid}$/# FS QA Test No. ${did}/g" -i "tests/${dest}"
+$DBG sed -e "s/^QA output created by ${sid}$/QA output created by ${did}/g" -i "tests/${dest}.out"
+$DBG 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")"
+
+$DBG sed -e "/^${sid}.*$/d" -i "${sgroupfile}"
+$DBG cp "${dgroupfile}" "${dgroupfile}.new"
+$DBG append "${dgroupfile}.new" "${newgrpline}"
+$DBG nsort "${dgroupfile}.new" "${dgroupfile}"
+$DBG rm "${dgroupfile}.new"
+
+echo "Moved \"${src}\" to \"${dest}\"."
+
+exit 0
diff --git a/nextid b/nextid
new file mode 100755
index 0000000..285b549
--- /dev/null
+++ b/nextid
@@ -0,0 +1,35 @@
+#!/bin/sh
+
+# Given a group name, find the next available test number.
+
+if [ -z "$1" ] || [ "$1" = "--help" ]; then
+ echo "Usage: $0 groupname[/start_looking_at_this_number]"
+ exit 1
+fi
+
+die() {
+ echo "$@"
+ exit 1
+}
+
+if [ "$(basename "$1")" != "$1" ]; then
+ group="$(dirname "$1")"
+ id="$(basename "$1")"
+else
+ group="$1"
+ id=1
+fi
+test -e "tests/${group}/group" || die "Unknown group \"${group}\"."
+
+while test "${id}" -lt 1000; do
+ name="$(printf "%.03d" "${id}")"
+ if [ ! -e "tests/${group}/${name}" ]; then
+ echo "${group}/${name}"
+ exit 0
+ fi
+ id=$((id + 1))
+done
+
+echo "No free IDs less than ${id} in group \"${group}\"."
+
+exit 1
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists