From ed94f31a25de86ef768d98fd3e4a27e0aedc5cca Mon Sep 17 00:00:00 2001 From: Joe McDonnell Date: Sat, 3 Aug 2024 13:20:30 -0700 Subject: [PATCH] IMPALA-13279: Upgrade gcovr to 7.2 In some environments, the code coverage report is empty even though the tests ran successfully and gcno/gcda files are written properly. This upgrades to gcovr 7.2, which does not show the same problem. gcovr 7.2 requires Python 3.8, so this switches to use Python 3.8 from the toolchain and installs gcovr in the Python 3 virtualenv. gcovr 7.2 outputs logging to stderr, so this also modifies bin/coverage_helper.sh to redirect stderr to stdout. Testing: - Verified that this can generate a report locally and on the affected environment Change-Id: I5b1aaa92c65f54149a3e7230cbe56d5286f1051a Reviewed-on: http://gerrit.cloudera.org:8080/21647 Reviewed-by: Michael Smith Tested-by: Impala Public Jenkins --- bin/coverage_helper.sh | 3 ++- bin/impala-config.sh | 2 +- bin/impala-gcovr | 2 +- infra/python/deps/py3-requirements.txt | 10 ++++++++++ infra/python/deps/requirements.txt | 4 ---- 5 files changed, 14 insertions(+), 7 deletions(-) diff --git a/bin/coverage_helper.sh b/bin/coverage_helper.sh index 408c28989..2a50e3bbc 100755 --- a/bin/coverage_helper.sh +++ b/bin/coverage_helper.sh @@ -79,7 +79,8 @@ if [ ${REPORT_ACTION} -eq 1 ]; then --exclude=".*src/benchmarks.*" \ --exclude=".*generated-sources/gen-cpp.*" \ --exclude=".*src/util/bit-packing.inline.h.*" \ - --html --html-details -o "${REPORT_DIRECTORY}/index.html" > "${REPORT_DIRECTORY}/gcovr.out" + --html --html-details -o "${REPORT_DIRECTORY}/index.html" \ + > "${REPORT_DIRECTORY}/gcovr.out" 2>&1 fi if [ ${ZERO_COUNTERS_ACTION} -eq 1 ]; then diff --git a/bin/impala-config.sh b/bin/impala-config.sh index 7c23c8006..68ae68c6d 100755 --- a/bin/impala-config.sh +++ b/bin/impala-config.sh @@ -183,7 +183,7 @@ export IMPALA_POSTGRES_JDBC_DRIVER_VERSION=42.5.6 unset IMPALA_POSTGRES_JDBC_DRIVER_URL export IMPALA_PYTHON_VERSION=2.7.16 unset IMPALA_PYTHON_URL -export IMPALA_PYTHON3_VERSION=3.7.16 +export IMPALA_PYTHON3_VERSION=3.8.18 export IMPALA_RAPIDJSON_VERSION=1.1.0 unset IMPALA_RAPIDJSON_URL export IMPALA_RE2_VERSION=20190301 diff --git a/bin/impala-gcovr b/bin/impala-gcovr index 57b86c32e..7619723ed 100755 --- a/bin/impala-gcovr +++ b/bin/impala-gcovr @@ -17,5 +17,5 @@ # specific language governing permissions and limitations # under the License. -source "$(dirname "$0")/impala-python-common.sh" +source "$(dirname "$0")/impala-python3-common.sh" exec "$PY_ENV_DIR/bin/gcovr" "$@" diff --git a/infra/python/deps/py3-requirements.txt b/infra/python/deps/py3-requirements.txt index b61bc461c..902304489 100644 --- a/infra/python/deps/py3-requirements.txt +++ b/infra/python/deps/py3-requirements.txt @@ -30,3 +30,13 @@ pylint == 2.10.2 platformdirs == 2.4.1 typing-extensions == 3.10.0.2 k5test==0.10.3 +gcovr == 7.2 + Jinja2 == 3.1.4 + flit-core == 3.9.0 + lxml == 5.2.2 + Cython == 3.0.10 + colorlog == 6.8.2 + Pygments == 2.13.0 + MarkupSafe == 2.1.5 + tomli == 2.0.1 + packaging == 24.1 diff --git a/infra/python/deps/requirements.txt b/infra/python/deps/requirements.txt index c73adcfcc..e70ef69e4 100644 --- a/infra/python/deps/requirements.txt +++ b/infra/python/deps/requirements.txt @@ -23,10 +23,6 @@ allpairspy == 2.5.0 argparse == 1.4.0 future == 0.18.3 -gcovr == 4.2 - Jinja2 == 2.11.3 - MarkupSafe == 1.1.1 - lxml == 4.9.1 hdfs == 2.0.2 docopt == 0.6.2 execnet == 1.4.0