X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=resources%2Flibraries%2Fbash%2Ffunction%2Fcommon.sh;h=e89def757a9c44226dbc1619bdaef5df0fde848b;hb=8cb114f77a1250808150d5959ed3a3dce05723af;hp=3d59506e5043d04764df8402dccaa8e3b8126267;hpb=ae81c6c8ea54cd0ceee739fbce5d7e2445689ecb;p=csit.git diff --git a/resources/libraries/bash/function/common.sh b/resources/libraries/bash/function/common.sh index 3d59506e50..e89def757a 100644 --- a/resources/libraries/bash/function/common.sh +++ b/resources/libraries/bash/function/common.sh @@ -524,6 +524,19 @@ function get_test_tag_string () { cmd=("grep" "-oP" '\S*'"${trigger}"'\S*\s\K.+$') || die "Unset trigger?" # On parsing error, TEST_TAG_STRING probably stays empty. TEST_TAG_STRING=$("${cmd[@]}" <<< "${comment}") || true + if [[ -n "${TEST_TAG_STRING-}" ]]; then + test_tag_array=(${TEST_TAG_STRING}) + if [[ "${test_tag_array[0]}" == "icl" ]]; then + export GRAPH_NODE_VARIANT="icl" + TEST_TAG_STRING="${test_tag_array[@]:1}" || true + elif [[ "${test_tag_array[0]}" == "skx" ]]; then + export GRAPH_NODE_VARIANT="skx" + TEST_TAG_STRING="${test_tag_array[@]:1}" || true + elif [[ "${test_tag_array[0]}" == "hsw" ]]; then + export GRAPH_NODE_VARIANT="hsw" + TEST_TAG_STRING="${test_tag_array[@]:1}" || true + fi + fi fi } @@ -771,22 +784,25 @@ function select_tags () { *"ndrpdr-weekly"* ) readarray -t test_tag_array <<< $(sed 's/ //g' \ ${tfd}/mlr_weekly/${DUT}-${NODENESS}-${FLAVOR}.md | - eval ${sed_nics_sub_cmd}) || die + eval ${sed_nics_sub_cmd} || echo "perftest") || die ;; *"mrr-daily"* ) readarray -t test_tag_array <<< $(sed 's/ //g' \ ${tfd}/mrr_daily/${DUT}-${NODENESS}-${FLAVOR}.md | - eval ${sed_nics_sub_cmd}) || die + eval ${sed_nics_sub_cmd} || echo "perftest") || die ;; *"mrr-weekly"* ) readarray -t test_tag_array <<< $(sed 's/ //g' \ ${tfd}/mrr_weekly/${DUT}-${NODENESS}-${FLAVOR}.md | - eval ${sed_nics_sub_cmd}) || die + eval ${sed_nics_sub_cmd} || echo "perftest") || die ;; *"report-iterative"* ) + test_sets=(${TEST_TAG_STRING//:/ }) + # Run only one test set per run + report_file=${test_sets[0]}.md readarray -t test_tag_array <<< $(sed 's/ //g' \ - ${tfd}/report_iterative/${DUT}-${NODENESS}-${FLAVOR}.md | - eval ${sed_nics_sub_cmd}) || die + ${tfd}/report_iterative/${NODENESS}-${FLAVOR}/${report_file} | + eval ${sed_nics_sub_cmd} || echo "perftest") || die ;; *"report-coverage"* ) test_sets=(${TEST_TAG_STRING//:/ }) @@ -794,7 +810,7 @@ function select_tags () { report_file=${test_sets[0]}.md readarray -t test_tag_array <<< $(sed 's/ //g' \ ${tfd}/report_coverage/${NODENESS}-${FLAVOR}/${report_file} | - eval ${sed_nics_sub_cmd}) || die + eval ${sed_nics_sub_cmd} || echo "perftest") || die ;; * ) if [[ -z "${TEST_TAG_STRING-}" ]]; then @@ -895,6 +911,13 @@ function select_tags () { warn "The following tag expression hints at bad trigger: ${tag}" warn "Possible cause: Multiple triggers in a single comment." die "Aborting to avoid triggering too many tests." + elif [[ "${tag}" == *"OR"* ]]; then + # If OR had higher precedence than AND, it would be useful here. + # Some people think it does, thus triggering way too much tests. + set -x + warn "The following tag expression hints at bad trigger: ${tag}" + warn "Operator OR has lower precedence than AND. Use space instead." + die "Aborting to avoid triggering too many tests." elif [[ "${tag}" != "" && "${tag}" != "#"* ]]; then # Empty and comment lines are skipped. # Other lines are normal tags, they are to be prefixed.