#!/bin/bash
set -x

TEST_FILE=$1
OUT_FILE=$2
NUM_CYCLES=7
# TESTS_PER_CYCLE=9

# COUNTER=0
# (( NUM_TESTS=$NUM_CYCLES * $TESTS_PER_CYCLE))

# function next() {
# 	echo "Done $COUNTER tests from $NUM_TESTS"
# 	(( COUNTER=$COUNTER + 1 ))
# }

function super_sync() {
	sync
	echo 3 > /proc/sys/vm/drop_caches
}

function run_tests(){

	super_sync ; dd if=/dev/zero of=$TEST_FILE bs=1048576 count=10240

	OPTS="--test-file $TEST_FILE --type fio --iodepth 1 --iosize 10G --timeout 15"
	for cycle in $(seq 50) ; do
		super_sync ; python io.py $OPTS -a randwrite --blocksize 4k -d --concurrency 1
	done

	echo "--------------------------------------------------------------------------------"

	OPTS="--test-file $TEST_FILE --type fio --iodepth 1 --iosize 10G  --timeout 30"
	OPERS="read write randread randwrite"
	CONCS="1 4 8 64"
	SIZES="4k 16k 64k 256k 1m 2m"


	for cycle in $(seq $NUM_CYCLES) ; do
		for conc in $CONCS ; do
			for bsize in $SIZES ; do
				for operation in $OPERS ; do
					super_sync ; python io.py $OPTS -a $operation --blocksize $bsize -d --concurrency $conc
				done
			done
		done
	done

	for cycle in $(seq $NUM_CYCLES) ; do
		for conc in $CONCS ; do
			for operation in $OPERS ; do
				super_sync ; python io.py $OPTS -a $operation --blocksize 4k -s --concurrency $conc
			done
		done
	done

	super_sync ; python io.py $OPTS -a write --blocksize 2m --concurrency 1
	super_sync ; python io.py $OPTS -a write --blocksize 2m --concurrency 1
	super_sync ; python io.py $OPTS -a write --blocksize 2m --concurrency 1

	OPTS="--test-file $TEST_FILE --type fio --iodepth 1 --iosize 1G"
	for cycle in $(seq $NUM_CYCLES) ; do
		super_sync ; python io.py $OPTS -a randwrite --blocksize 4k -d --concurrency 1
	done

	OPTS="--test-file $TEST_FILE --type fio --iodepth 1 --iosize 10G"
	# need to test different file sizes
	# need to test different timeouts - maybe we can decrease test time
}

run_tests "$FILE_1" 2>&1 | tee "$OUT_FILE"


