summaryrefslogtreecommitdiff
path: root/tools/test-renamer
diff options
context:
space:
mode:
Diffstat (limited to 'tools/test-renamer')
-rwxr-xr-xtools/test-renamer82
1 files changed, 82 insertions, 0 deletions
diff --git a/tools/test-renamer b/tools/test-renamer
new file mode 100755
index 0000000000..5a7fc3d78c
--- /dev/null
+++ b/tools/test-renamer
@@ -0,0 +1,82 @@
+#!/usr/bin/env bash
+#
+# Despite its shameful hackiness, checked in for posterity.
+# It'll live on forever in the git history; then I can remove it.
+
+# set -e
+shopt -s nullglob
+
+cd $(dirname $0)/../test
+
+rename_pattern='^.*/bug[0-9]+.*?(\.scala)?$'
+
+targets ()
+{
+ ls -d pending/*/* disabled/*/* | egrep "$rename_pattern"
+}
+
+showRun ()
+{
+ echo "$@"
+ "$@"
+}
+
+for path in $(targets); do
+ if [[ -f "$path" ]]; then
+ # echo "$path"
+ dir=$(dirname "$path")
+ file=$(basename "$path")
+ base=${file%%.scala}
+ num=${base##bug}
+
+ (cd "$dir" &&
+ for file in ${base}.*; do
+ ext=${file##*.}
+ newname="t${num}.${ext}"
+
+ if [[ -e "$newname" ]]; then
+ echo "Hey, $newname already exists."
+ else
+ showRun perl -pi -e "'s/bug$num\b/t$num/g;'" "$file"
+ showRun mv "$file" "$newname"
+ fi
+ done
+ )
+ fi
+
+ if [[ -d "$path" ]]; then
+ dir=$(dirname "$path")
+ file=$(basename "$path")
+ base="$file"
+ num=${base##bug}
+
+ (cd "$dir" &&
+ for file in $file ${file}.*; do
+ ext=${file##*.}
+ if [[ "$ext" != "$file" ]]; then
+ newname="t${num}.${ext}"
+ else
+ newname="t${num}"
+ for file0 in ${file}/*; do
+ showRun perl -pi -e "'s/bug$num\b/t$num/g;'" "$file0"
+ done
+ fi
+
+ if [[ -e "$newname" ]]; then
+ echo "Hey, $newname already exists."
+ else
+ if [[ -f "$file" ]]; then
+ showRun perl -pi -e "'s/bug$num\b/t$num/g;'" "$file"
+ fi
+ showRun mv "$file" "$newname"
+ fi
+ done
+ )
+
+ fi
+
+done
+#
+# for d in files/*/*; do
+# [[ -d "$d" ]] && do_dir "$d"
+# done