aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xtest/generate_test_data.sh52
1 files changed, 52 insertions, 0 deletions
diff --git a/test/generate_test_data.sh b/test/generate_test_data.sh
new file mode 100755
index 0000000..b71eb30
--- /dev/null
+++ b/test/generate_test_data.sh
@@ -0,0 +1,52 @@
+#!/bin/sh
+# Note generating test data
+# may take a while
+
+# using 'printf' instead of 'echo'
+# due to performance issues
+random_file() {
+{
+ for ((i=1; i<=$2; i++)); do
+ printf "%d\t%d\n" $((RANDOM)) $((RANDOM))
+ done
+} > "$1"
+}
+
+sorted_file() {
+{
+ for ((i=1; i<=$2; i++)); do
+ printf "%d\t%d\n" $i $i
+ done
+} > "$1"
+}
+
+reverse_file() {
+{
+ for ((i=$2; i>=1; i--)); do
+ printf "%d\t%d\n" $i $i
+ done
+} > "$1"
+}
+
+mkdir -p data
+sizes=(10000 50000 100000) # 500000 1000000 5000000)
+types=("random" "sorted" "reverse")
+
+for data_type in "${types[@]}"; do
+ for size in "${sizes[@]}"; do
+ for run in {1..3}; do
+ outfile="data/${data_type}_${size}_${run}.tsv" # '.tsv' stands for
+ echo "Generating $outfile ..." # tab seperated values
+
+ if [ "$data_type" = "sorted" ]; then
+ sorted_file $outfile $size
+ elif [ "$data_type" = "reverse" ]; then
+ reverse_file $outfile $size
+ else
+ random_file $outfile $size
+ fi
+ done
+ done
+done
+
+echo "All random data files gernated in ./data/"