* [PATCH] blktests: Add '--outdir' to store results in a different directory
@ 2018-07-17 13:27 Hannes Reinecke
2018-07-25 21:23 ` Omar Sandoval
0 siblings, 1 reply; 3+ messages in thread
From: Hannes Reinecke @ 2018-07-17 13:27 UTC (permalink / raw)
To: Omar Sandoval; +Cc: Jens Axboe, linux-block, Hannes Reinecke, Hannes Reinecke
Adding an option '--outdir' to store results in a different
director so as not to clutter the git repository itself.
Signed-off-by: Hannes Reinecke <hare@suse.com>
---
check | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/check b/check
index a635531..42d07f8 100755
--- a/check
+++ b/check
@@ -334,7 +334,7 @@ _call_test() {
fi
trap _cleanup EXIT
- if ! TMPDIR="$(mktemp --tmpdir -p "$PWD/results" -d "tmpdir.${TEST_NAME//\//.}.XXX")"; then
+ if ! TMPDIR="$(mktemp --tmpdir -p "$RESULTS_DIR" -d "tmpdir.${TEST_NAME//\//.}.XXX")"; then
return
fi
@@ -415,7 +415,7 @@ _run_test() {
return 0
fi
- RESULTS_DIR="results/nodev"
+ RESULTS_DIR="${OUT_DIR}/results/nodev"
_call_test test
else
if [[ ${#TEST_DEVS[@]} -eq 0 ]]; then
@@ -434,7 +434,7 @@ _run_test() {
_output_notrun "$TEST_NAME => $(basename "$TEST_DEV")"
continue
fi
- RESULTS_DIR="results/$(basename "$TEST_DEV")"
+ RESULTS_DIR="${OUT_DIR}/results/$(basename "$TEST_DEV")"
if ! _call_test test_device; then
ret=1
fi
@@ -567,6 +567,7 @@ Test runs:
tests to run
Miscellaneous:
+ -o, --outdir=OUTDIR write results into the specified directory
-h, --help display this help message and exit"
case "$1" in
@@ -581,12 +582,13 @@ Miscellaneous:
esac
}
-if ! TEMP=$(getopt -o 'dq::x:h' --long 'quick::,exclude:,help' -n "$0" -- "$@"); then
+if ! TEMP=$(getopt -o 'dq::o:x:h' --long 'quick::,exclude:,outdir:,help' -n "$0" -- "$@"); then
exit 1
fi
eval set -- "$TEMP"
unset TEMP
+OUT_DIR="."
if [[ -r config ]]; then
# shellcheck disable=SC1091
@@ -629,6 +631,10 @@ while true; do
EXCLUDE+=("$2")
shift 2
;;
+ '-o'|'--outdir')
+ OUT_DIR="${2:-${OUT_DIR:-.}}"
+ shift 2
+ ;;
'-h'|'--help')
usage out
;;
--
2.12.3
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] blktests: Add '--outdir' to store results in a different directory
2018-07-17 13:27 [PATCH] blktests: Add '--outdir' to store results in a different directory Hannes Reinecke
@ 2018-07-25 21:23 ` Omar Sandoval
2018-07-26 13:56 ` Hannes Reinecke
0 siblings, 1 reply; 3+ messages in thread
From: Omar Sandoval @ 2018-07-25 21:23 UTC (permalink / raw)
To: Hannes Reinecke; +Cc: Omar Sandoval, Jens Axboe, linux-block, Hannes Reinecke
On Tue, Jul 17, 2018 at 03:27:50PM +0200, Hannes Reinecke wrote:
> Adding an option '--outdir' to store results in a different
> director so as not to clutter the git repository itself.
>
> Signed-off-by: Hannes Reinecke <hare@suse.com>
> ---
> check | 14 ++++++++++----
> 1 file changed, 10 insertions(+), 4 deletions(-)
>
> diff --git a/check b/check
> index a635531..42d07f8 100755
> --- a/check
> +++ b/check
> @@ -334,7 +334,7 @@ _call_test() {
> fi
>
> trap _cleanup EXIT
> - if ! TMPDIR="$(mktemp --tmpdir -p "$PWD/results" -d "tmpdir.${TEST_NAME//\//.}.XXX")"; then
> + if ! TMPDIR="$(mktemp --tmpdir -p "$RESULTS_DIR" -d "tmpdir.${TEST_NAME//\//.}.XXX")"; then
> return
> fi
>
> @@ -415,7 +415,7 @@ _run_test() {
> return 0
> fi
>
> - RESULTS_DIR="results/nodev"
> + RESULTS_DIR="${OUT_DIR}/results/nodev"
> _call_test test
> else
> if [[ ${#TEST_DEVS[@]} -eq 0 ]]; then
> @@ -434,7 +434,7 @@ _run_test() {
> _output_notrun "$TEST_NAME => $(basename "$TEST_DEV")"
> continue
> fi
> - RESULTS_DIR="results/$(basename "$TEST_DEV")"
> + RESULTS_DIR="${OUT_DIR}/results/$(basename "$TEST_DEV")"
> if ! _call_test test_device; then
> ret=1
> fi
> @@ -567,6 +567,7 @@ Test runs:
> tests to run
>
> Miscellaneous:
> + -o, --outdir=OUTDIR write results into the specified directory
> -h, --help display this help message and exit"
>
> case "$1" in
> @@ -581,12 +582,13 @@ Miscellaneous:
> esac
> }
>
> -if ! TEMP=$(getopt -o 'dq::x:h' --long 'quick::,exclude:,help' -n "$0" -- "$@"); then
> +if ! TEMP=$(getopt -o 'dq::o:x:h' --long 'quick::,exclude:,outdir:,help' -n "$0" -- "$@"); then
> exit 1
> fi
>
> eval set -- "$TEMP"
> unset TEMP
> +OUT_DIR="."
This doesn't allow setting it from the config file. How about this?
diff --git a/check b/check
index 5f4461f..5e99415 100755
--- a/check
+++ b/check
@@ -313,7 +313,7 @@ _call_test() {
local test_func="$1"
local seqres="${RESULTS_DIR}/${TEST_NAME}"
# shellcheck disable=SC2034
- FULL="$PWD/${seqres}.full"
+ FULL="${seqres}.full"
declare -A TEST_DEV_QUEUE_SAVED
_read_last_test_run
@@ -334,7 +334,7 @@ _call_test() {
fi
trap _cleanup EXIT
- if ! TMPDIR="$(mktemp --tmpdir -p "$PWD/results" -d "tmpdir.${TEST_NAME//\//.}.XXX")"; then
+ if ! TMPDIR="$(mktemp --tmpdir -p "$OUTPUT" -d "tmpdir.${TEST_NAME//\//.}.XXX")"; then
return
fi
@@ -415,7 +415,7 @@ _run_test() {
return 0
fi
- RESULTS_DIR="results/nodev"
+ RESULTS_DIR="$OUTPUT/nodev"
_call_test test
else
if [[ ${#TEST_DEVS[@]} -eq 0 ]]; then
@@ -434,7 +434,7 @@ _run_test() {
_output_notrun "$TEST_NAME => $(basename "$TEST_DEV")"
continue
fi
- RESULTS_DIR="results/$(basename "$TEST_DEV")"
+ RESULTS_DIR="$OUTPUT/$(basename "$TEST_DEV")"
if ! _call_test test_device; then
ret=1
fi
@@ -559,6 +559,9 @@ Test runs:
-d, --device-only only run tests which use a test device from the
TEST_DEVS config setting
+ -o, --output=DIR output results to the given directory (the default is
+ ./results)
+
-q, --quick=SECONDS do a quick run (only run quick tests and limit the
runtime of longer tests to the given timeout,
defaulting to 30 seconds)
@@ -581,7 +584,7 @@ Miscellaneous:
esac
}
-if ! TEMP=$(getopt -o 'dq::x:h' --long 'quick::,exclude:,help' -n "$0" -- "$@"); then
+if ! TEMP=$(getopt -o 'do:q::x:h' --long 'quick::,exclude:,output:,help' -n "$0" -- "$@"); then
exit 1
fi
@@ -596,6 +599,7 @@ fi
# Default configuration.
: "${DEVICE_ONLY:=0}"
: "${QUICK_RUN:=0}"
+: "${OUTPUT:=results}"
if [[ -v EXCLUDE ]] && ! declare -p EXCLUDE | grep -q '^declare -a'; then
# If EXCLUDE was not defined as an array, convert it to one.
# shellcheck disable=SC2190,SC2206
@@ -617,6 +621,10 @@ while true; do
DEVICE_ONLY=1
shift
;;
+ '-o'|'--output')
+ OUTPUT="$2"
+ shift 2
+ ;;
'-q'|'--quick')
QUICK_RUN=1
# Use the timeout specified on the command line, from
@@ -659,4 +667,7 @@ for filter in "${TEMP_EXCLUDE[@]}"; do
done
unset TEMP_EXCLUDE
+mkdir -p "$OUTPUT"
+OUTPUT="$(realpath "$OUTPUT")"
+
_check "$@"
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] blktests: Add '--outdir' to store results in a different directory
2018-07-25 21:23 ` Omar Sandoval
@ 2018-07-26 13:56 ` Hannes Reinecke
0 siblings, 0 replies; 3+ messages in thread
From: Hannes Reinecke @ 2018-07-26 13:56 UTC (permalink / raw)
To: Omar Sandoval; +Cc: Omar Sandoval, Jens Axboe, linux-block, Hannes Reinecke
On 07/25/2018 11:23 PM, Omar Sandoval wrote:
> On Tue, Jul 17, 2018 at 03:27:50PM +0200, Hannes Reinecke wrote:
>> Adding an option '--outdir' to store results in a different
>> director so as not to clutter the git repository itself.
>>
>> Signed-off-by: Hannes Reinecke <hare@suse.com>
>> ---
>> check | 14 ++++++++++----
>> 1 file changed, 10 insertions(+), 4 deletions(-)
>>
>> diff --git a/check b/check
>> index a635531..42d07f8 100755
>> --- a/check
>> +++ b/check
>> @@ -334,7 +334,7 @@ _call_test() {
>> fi
>>
>> trap _cleanup EXIT
>> - if ! TMPDIR="$(mktemp --tmpdir -p "$PWD/results" -d "tmpdir.${TEST_NAME//\//.}.XXX")"; then
>> + if ! TMPDIR="$(mktemp --tmpdir -p "$RESULTS_DIR" -d "tmpdir.${TEST_NAME//\//.}.XXX")"; then
>> return
>> fi
>>
>> @@ -415,7 +415,7 @@ _run_test() {
>> return 0
>> fi
>>
>> - RESULTS_DIR="results/nodev"
>> + RESULTS_DIR="${OUT_DIR}/results/nodev"
>> _call_test test
>> else
>> if [[ ${#TEST_DEVS[@]} -eq 0 ]]; then
>> @@ -434,7 +434,7 @@ _run_test() {
>> _output_notrun "$TEST_NAME => $(basename "$TEST_DEV")"
>> continue
>> fi
>> - RESULTS_DIR="results/$(basename "$TEST_DEV")"
>> + RESULTS_DIR="${OUT_DIR}/results/$(basename "$TEST_DEV")"
>> if ! _call_test test_device; then
>> ret=1
>> fi
>> @@ -567,6 +567,7 @@ Test runs:
>> tests to run
>>
>> Miscellaneous:
>> + -o, --outdir=OUTDIR write results into the specified directory
>> -h, --help display this help message and exit"
>>
>> case "$1" in
>> @@ -581,12 +582,13 @@ Miscellaneous:
>> esac
>> }
>>
>> -if ! TEMP=$(getopt -o 'dq::x:h' --long 'quick::,exclude:,help' -n "$0" -- "$@"); then
>> +if ! TEMP=$(getopt -o 'dq::o:x:h' --long 'quick::,exclude:,outdir:,help' -n "$0" -- "$@"); then
>> exit 1
>> fi
>>
>> eval set -- "$TEMP"
>> unset TEMP
>> +OUT_DIR="."
>
> This doesn't allow setting it from the config file. How about this?
>
> diff --git a/check b/check
> index 5f4461f..5e99415 100755
> --- a/check
> +++ b/check
> @@ -313,7 +313,7 @@ _call_test() {
> local test_func="$1"
> local seqres="${RESULTS_DIR}/${TEST_NAME}"
> # shellcheck disable=SC2034
> - FULL="$PWD/${seqres}.full"
> + FULL="${seqres}.full"
> declare -A TEST_DEV_QUEUE_SAVED
>
> _read_last_test_run
> @@ -334,7 +334,7 @@ _call_test() {
> fi
>
> trap _cleanup EXIT
> - if ! TMPDIR="$(mktemp --tmpdir -p "$PWD/results" -d "tmpdir.${TEST_NAME//\//.}.XXX")"; then
> + if ! TMPDIR="$(mktemp --tmpdir -p "$OUTPUT" -d "tmpdir.${TEST_NAME//\//.}.XXX")"; then
> return
> fi
>
> @@ -415,7 +415,7 @@ _run_test() {
> return 0
> fi
>
> - RESULTS_DIR="results/nodev"
> + RESULTS_DIR="$OUTPUT/nodev"
> _call_test test
> else
> if [[ ${#TEST_DEVS[@]} -eq 0 ]]; then
> @@ -434,7 +434,7 @@ _run_test() {
> _output_notrun "$TEST_NAME => $(basename "$TEST_DEV")"
> continue
> fi
> - RESULTS_DIR="results/$(basename "$TEST_DEV")"
> + RESULTS_DIR="$OUTPUT/$(basename "$TEST_DEV")"
> if ! _call_test test_device; then
> ret=1
> fi
> @@ -559,6 +559,9 @@ Test runs:
> -d, --device-only only run tests which use a test device from the
> TEST_DEVS config setting
>
> + -o, --output=DIR output results to the given directory (the default is
> + ./results)
> +
> -q, --quick=SECONDS do a quick run (only run quick tests and limit the
> runtime of longer tests to the given timeout,
> defaulting to 30 seconds)
> @@ -581,7 +584,7 @@ Miscellaneous:
> esac
> }
>
> -if ! TEMP=$(getopt -o 'dq::x:h' --long 'quick::,exclude:,help' -n "$0" -- "$@"); then
> +if ! TEMP=$(getopt -o 'do:q::x:h' --long 'quick::,exclude:,output:,help' -n "$0" -- "$@"); then
> exit 1
> fi
>
> @@ -596,6 +599,7 @@ fi
> # Default configuration.
> : "${DEVICE_ONLY:=0}"
> : "${QUICK_RUN:=0}"
> +: "${OUTPUT:=results}"
> if [[ -v EXCLUDE ]] && ! declare -p EXCLUDE | grep -q '^declare -a'; then
> # If EXCLUDE was not defined as an array, convert it to one.
> # shellcheck disable=SC2190,SC2206
> @@ -617,6 +621,10 @@ while true; do
> DEVICE_ONLY=1
> shift
> ;;
> + '-o'|'--output')
> + OUTPUT="$2"
> + shift 2
> + ;;
> '-q'|'--quick')
> QUICK_RUN=1
> # Use the timeout specified on the command line, from
> @@ -659,4 +667,7 @@ for filter in "${TEMP_EXCLUDE[@]}"; do
> done
> unset TEMP_EXCLUDE
>
> +mkdir -p "$OUTPUT"
> +OUTPUT="$(realpath "$OUTPUT")"
> +
> _check "$@"
>
Yep, should work as well.
Cheers,
Hannes
--
Dr. Hannes Reinecke Teamlead Storage & Networking
hare@suse.de +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG Nürnberg)
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2018-07-26 13:56 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-07-17 13:27 [PATCH] blktests: Add '--outdir' to store results in a different directory Hannes Reinecke
2018-07-25 21:23 ` Omar Sandoval
2018-07-26 13:56 ` Hannes Reinecke
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).