Handle all empty JSON file cases
This commit is contained in:
parent
01fb0ba9a2
commit
c831dd0fd3
30
testssl.sh
30
testssl.sh
|
@ -315,6 +315,7 @@ declare -a -i PARALLEL_TESTING_PID=() # process id for each child test (or 0
|
||||||
declare -a PARALLEL_TESTING_CMDLINE=() # command line for each child test
|
declare -a PARALLEL_TESTING_CMDLINE=() # command line for each child test
|
||||||
declare -i NR_PARALLEL_TESTS=0 # number of parallel tests run
|
declare -i NR_PARALLEL_TESTS=0 # number of parallel tests run
|
||||||
declare -i NEXT_PARALLEL_TEST_TO_FINISH=0 # number of parallel tests that have completed and have been processed
|
declare -i NEXT_PARALLEL_TEST_TO_FINISH=0 # number of parallel tests that have completed and have been processed
|
||||||
|
declare FIRST_JSON_OUTPUT=true # true if no output has been added to $JSONFILE yet.
|
||||||
|
|
||||||
#################### SEVERITY ####################
|
#################### SEVERITY ####################
|
||||||
|
|
||||||
|
@ -12193,7 +12194,19 @@ create_mass_testing_cmdline() {
|
||||||
# next is the file itself, as no '=' was supplied
|
# next is the file itself, as no '=' was supplied
|
||||||
[[ "$cmd" == '--file' ]] && skip_next=true
|
[[ "$cmd" == '--file' ]] && skip_next=true
|
||||||
elif [[ "$testing_type" == "serial" ]]; then
|
elif [[ "$testing_type" == "serial" ]]; then
|
||||||
|
if "$JSONHEADER" && [[ "$cmd" == "--jsonfile-pretty"* ]]; then
|
||||||
|
>"$TEMPDIR/jsonfile_child.json"
|
||||||
|
MASS_TESTING_CMDLINE[nr_cmds]="--jsonfile-pretty=$TEMPDIR/jsonfile_child.json"
|
||||||
|
# next is the jsonfile itself, as no '=' was supplied
|
||||||
|
[[ "$cmd" == --jsonfile-pretty ]] && skip_next=true
|
||||||
|
elif "$JSONHEADER" && [[ "$cmd" == "--jsonfile"* ]]; then
|
||||||
|
>"$TEMPDIR/jsonfile_child.json"
|
||||||
|
MASS_TESTING_CMDLINE[nr_cmds]="--jsonfile=$TEMPDIR/jsonfile_child.json"
|
||||||
|
# next is the jsonfile itself, as no '=' was supplied
|
||||||
|
[[ "$cmd" == --jsonfile ]] && skip_next=true
|
||||||
|
else
|
||||||
MASS_TESTING_CMDLINE[nr_cmds]="$cmd"
|
MASS_TESTING_CMDLINE[nr_cmds]="$cmd"
|
||||||
|
fi
|
||||||
nr_cmds+=1
|
nr_cmds+=1
|
||||||
else
|
else
|
||||||
case "$cmd" in
|
case "$cmd" in
|
||||||
|
@ -12270,14 +12283,19 @@ run_mass_testing() {
|
||||||
create_mass_testing_cmdline "serial" $cmdline
|
create_mass_testing_cmdline "serial" $cmdline
|
||||||
draw_line "=" $((TERM_WIDTH / 2)); outln;
|
draw_line "=" $((TERM_WIDTH / 2)); outln;
|
||||||
outln "$(create_cmd_line_string "$0" "${MASS_TESTING_CMDLINE[@]}")"
|
outln "$(create_cmd_line_string "$0" "${MASS_TESTING_CMDLINE[@]}")"
|
||||||
"$first" || fileout_separator # this is needed for appended output, see #687
|
|
||||||
# we call ourselves here. $do_mass_testing is the parent, $CHILD_MASS_TESTING... you figured
|
# we call ourselves here. $do_mass_testing is the parent, $CHILD_MASS_TESTING... you figured
|
||||||
if [[ -z "$(which "$0")" ]]; then
|
if [[ -z "$(which "$0")" ]]; then
|
||||||
CHILD_MASS_TESTING=true "$RUN_DIR/$PROG_NAME" "${MASS_TESTING_CMDLINE[@]}"
|
CHILD_MASS_TESTING=true "$RUN_DIR/$PROG_NAME" "${MASS_TESTING_CMDLINE[@]}"
|
||||||
else
|
else
|
||||||
CHILD_MASS_TESTING=true "$0" "${MASS_TESTING_CMDLINE[@]}"
|
CHILD_MASS_TESTING=true "$0" "${MASS_TESTING_CMDLINE[@]}"
|
||||||
fi
|
fi
|
||||||
|
if "$JSONHEADER" && [[ -s "$TEMPDIR/jsonfile_child.json" ]]; then
|
||||||
|
# Need to ensure that a separator is only added if the test
|
||||||
|
# produced some JSON output.
|
||||||
|
"$first" || fileout_separator # this is needed for appended output, see #687
|
||||||
first=false
|
first=false
|
||||||
|
cat "$TEMPDIR/jsonfile_child.json" >> "$JSONFILE"
|
||||||
|
fi
|
||||||
done < "${FNAME}"
|
done < "${FNAME}"
|
||||||
return $?
|
return $?
|
||||||
}
|
}
|
||||||
|
@ -12293,11 +12311,13 @@ get_next_message_testing_parallel_result() {
|
||||||
outln "${PARALLEL_TESTING_CMDLINE[NEXT_PARALLEL_TEST_TO_FINISH]}"
|
outln "${PARALLEL_TESTING_CMDLINE[NEXT_PARALLEL_TEST_TO_FINISH]}"
|
||||||
if [[ "$1" == "completed" ]]; then
|
if [[ "$1" == "completed" ]]; then
|
||||||
cat "$TEMPDIR/term_output_$(printf "%08d" $NEXT_PARALLEL_TEST_TO_FINISH).log"
|
cat "$TEMPDIR/term_output_$(printf "%08d" $NEXT_PARALLEL_TEST_TO_FINISH).log"
|
||||||
if [[ $NEXT_PARALLEL_TEST_TO_FINISH -gt 0 ]] && "$JSONHEADER" && \
|
if "$JSONHEADER" && [[ -s "$TEMPDIR/jsonfile_$(printf "%08d" $NEXT_PARALLEL_TEST_TO_FINISH).json" ]]; then
|
||||||
[[ -s "$TEMPDIR/jsonfile_$(printf "%08d" $NEXT_PARALLEL_TEST_TO_FINISH).json" ]]; then
|
# Need to ensure that a separator is only added if the test
|
||||||
fileout_separator # this is needed for appended output, see #687
|
# produced some JSON output.
|
||||||
|
"$FIRST_JSON_OUTPUT" || fileout_separator # this is needed for appended output, see #687
|
||||||
|
FIRST_JSON_OUTPUT=false
|
||||||
|
cat "$TEMPDIR/jsonfile_$(printf "%08d" $NEXT_PARALLEL_TEST_TO_FINISH).json" >> "$JSONFILE"
|
||||||
fi
|
fi
|
||||||
"$JSONHEADER" && cat "$TEMPDIR/jsonfile_$(printf "%08d" $NEXT_PARALLEL_TEST_TO_FINISH).json" >> "$JSONFILE"
|
|
||||||
"$CSVHEADER" && cat "$TEMPDIR/csvfile_$(printf "%08d" $NEXT_PARALLEL_TEST_TO_FINISH).csv" >> "$CSVFILE"
|
"$CSVHEADER" && cat "$TEMPDIR/csvfile_$(printf "%08d" $NEXT_PARALLEL_TEST_TO_FINISH).csv" >> "$CSVFILE"
|
||||||
"$HTMLHEADER" && cat "$TEMPDIR/htmlfile_$(printf "%08d" $NEXT_PARALLEL_TEST_TO_FINISH).html" >> "$HTMLFILE"
|
"$HTMLHEADER" && cat "$TEMPDIR/htmlfile_$(printf "%08d" $NEXT_PARALLEL_TEST_TO_FINISH).html" >> "$HTMLFILE"
|
||||||
elif [[ "$1" == "stopped" ]]; then
|
elif [[ "$1" == "stopped" ]]; then
|
||||||
|
|
Loading…
Reference in New Issue