automated: linux: cyclicdeadline: add iterations
This will make it possible to run multiple iterations to gather multiple
min/max/avg values.
Signed-off-by: Anders Roxell <anders.roxell@linaro.org>
diff --git a/automated/linux/cyclicdeadline/cyclicdeadline.sh b/automated/linux/cyclicdeadline/cyclicdeadline.sh
index c98db30..0d8c12c 100755
--- a/automated/linux/cyclicdeadline/cyclicdeadline.sh
+++ b/automated/linux/cyclicdeadline/cyclicdeadline.sh
@@ -7,7 +7,7 @@
. ../../lib/sh-test-lib
OUTPUT="$(pwd)/output"
-LOGFILE="${OUTPUT}/cyclicdeadline.json"
+LOGFILE="${OUTPUT}/cyclicdeadline"
RESULT_FILE="${OUTPUT}/result.txt"
INTERVAL="1000"
@@ -15,19 +15,21 @@
THREADS="1"
DURATION="1m"
BACKGROUND_CMD=""
+ITERATIONS=1
usage() {
- echo "Usage: $0 [-i interval] [-s step] [-t threads] [-D duration ] [-w background_cmd]" 1>&2
+ echo "Usage: $0 [-i interval] [-s step] [-t threads] [-D duration ] [-w background_cmd] [-I iterations]" 1>&2
exit 1
}
-while getopts ":i:s:t:D:w:" opt; do
+while getopts ":i:s:t:D:w:I:" opt; do
case "${opt}" in
i) INTERVAL="${OPTARG}" ;;
s) STEP="${OPTARG}" ;;
t) THREADS="${OPTARG}" ;;
D) DURATION="${OPTARG}" ;;
w) BACKGROUND_CMD="${OPTARG}" ;;
+ I) ITERATIONS="${OPTARG}" ;;
*) usage ;;
esac
done
@@ -48,11 +50,19 @@
background_process_start bgcmd --cmd "${BACKGROUND_CMD}"
-"${binary}" -q -i "${INTERVAL}" -s "${STEP}" -t "${THREADS}" \
- -D "${DURATION}" --json="${LOGFILE}"
+for i in $(seq ${ITERATIONS}); do
+ "${binary}" -q -i "${INTERVAL}" -s "${STEP}" -t "${THREADS}" \
+ -D "${DURATION}" --json="${LOGFILE}-${i}.json"
+done
background_process_stop bgcmd
# Parse test log.
-../../lib/parse_rt_tests_results.py cyclicdeadline "${LOGFILE}" \
- | tee -a "${RESULT_FILE}"
+for i in $(seq ${ITERATIONS}); do
+ ../../lib/parse_rt_tests_results.py cyclicdeadline "${LOGFILE}-${i}.json" \
+ | tee "${RESULT_FILE}"
+
+ if [ ${ITERATIONS} -ne 1 ]; then
+ sed -i "s|^|iteration-${i}-|g" "${RESULT_FILE}"
+ fi
+done
diff --git a/automated/linux/cyclicdeadline/cyclicdeadline.yaml b/automated/linux/cyclicdeadline/cyclicdeadline.yaml
index 6767399..7405ee6 100644
--- a/automated/linux/cyclicdeadline/cyclicdeadline.yaml
+++ b/automated/linux/cyclicdeadline/cyclicdeadline.yaml
@@ -45,10 +45,11 @@
# Refer to https://validation.linaro.org/static/docs/v2/publishing-artifacts.html
ARTIFACTORIAL_URL: "https://archive.validation.linaro.org/artifacts/team/qa/"
ARTIFACTORIAL_TOKEN: ""
+ ITERATIONS: 1
run:
steps:
- cd ./automated/linux/cyclicdeadline/
- - ./cyclicdeadline.sh -i "${INTERVAL}" -s "${STEP}" -t "${THREADS}" -D "${DURATION}" -w "${BACKGROUND_CMD}"
+ - ./cyclicdeadline.sh -i "${INTERVAL}" -s "${STEP}" -t "${THREADS}" -D "${DURATION}" -I "${ITERATIONS}" -w "${BACKGROUND_CMD}"
- ../../utils/upload-to-artifactorial.sh -a "output/cyclicdeadline.json" -u "${ARTIFACTORIAL_URL}" -t "${ARTIFACTORIAL_TOKEN}"
- ../../utils/send-to-lava.sh ./output/result.txt