X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=resources%2Flibraries%2Fbash%2Ffunction%2Fcommon.sh;h=70ce91c0b7ec966e65c8bb2cd4f1042c6dc175dc;hb=d867f81c2f6c7fefecd52276ecc4deb330a01cbc;hp=d34035a0031b50841c13749fa812f79cb123ce9c;hpb=de08ebfec25d2d9bb3f3b46c07a5bcb9efd24d1c;p=csit.git diff --git a/resources/libraries/bash/function/common.sh b/resources/libraries/bash/function/common.sh index d34035a003..70ce91c0b7 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 } @@ -710,6 +723,7 @@ function select_tags () { # Variables read: # - WORKING_TOPOLOGY - Path to topology yaml file of the reserved testbed. # - TEST_CODE - String affecting test selection, usually jenkins job name. + # - DUT - CSIT test/ subdirectory, set while processing tags. # - TEST_TAG_STRING - String selecting tags, from gerrit comment. # Can be unset. # - TOPOLOGIES_DIR - Path to existing directory with available tpologies. @@ -769,22 +783,33 @@ function select_tags () { # Select specific performance tests based on jenkins job type variable. *"ndrpdr-weekly"* ) readarray -t test_tag_array <<< $(sed 's/ //g' \ - ${tfd}/mlr-weekly-${NODENESS}-${FLAVOR}.md | + ${tfd}/mlr_weekly/${DUT}-${NODENESS}-${FLAVOR}.md | eval ${sed_nics_sub_cmd}) || die ;; *"mrr-daily"* ) readarray -t test_tag_array <<< $(sed 's/ //g' \ - ${tfd}/mrr-daily-${NODENESS}-${FLAVOR}.md | + ${tfd}/mrr_daily/${DUT}-${NODENESS}-${FLAVOR}.md | eval ${sed_nics_sub_cmd}) || die ;; *"mrr-weekly"* ) readarray -t test_tag_array <<< $(sed 's/ //g' \ - ${tfd}/mrr-weekly-${NODENESS}-${FLAVOR}.md | + ${tfd}/mrr_weekly/${DUT}-${NODENESS}-${FLAVOR}.md | eval ${sed_nics_sub_cmd}) || 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-iter-${NODENESS}-${FLAVOR}.md | + ${tfd}/report_iterative/${NODENESS}-${FLAVOR}/${report_file} | + eval ${sed_nics_sub_cmd}) || die + ;; + *"report-coverage"* ) + 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_coverage/${NODENESS}-${FLAVOR}/${report_file} | eval ${sed_nics_sub_cmd}) || die ;; * ) @@ -886,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.