summaryrefslogtreecommitdiffstats
path: root/src/boost/libs/static_string/tools
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 18:45:59 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-07 18:45:59 +0000
commit19fcec84d8d7d21e796c7624e521b60d28ee21ed (patch)
tree42d26aa27d1e3f7c0b8bd3fd14e7d7082f5008dc /src/boost/libs/static_string/tools
parentInitial commit. (diff)
downloadceph-upstream/16.2.11+ds.tar.xz
ceph-upstream/16.2.11+ds.zip
Adding upstream version 16.2.11+ds.upstream/16.2.11+dsupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/boost/libs/static_string/tools')
-rwxr-xr-xsrc/boost/libs/static_string/tools/codecov.sh65
1 files changed, 65 insertions, 0 deletions
diff --git a/src/boost/libs/static_string/tools/codecov.sh b/src/boost/libs/static_string/tools/codecov.sh
new file mode 100755
index 000000000..b12e09a66
--- /dev/null
+++ b/src/boost/libs/static_string/tools/codecov.sh
@@ -0,0 +1,65 @@
+#! /bin/bash
+#
+# Copyright 2017 - 2019 James E. King III
+# Distributed under the Boost Software License, Version 1.0.
+# (See accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+#
+# Bash script to run in travis to perform codecov.io integration
+#
+
+# assumes cwd is the top level directory of the boost project
+# assumes an environment variable $SELF is the boost project name
+
+set -ex
+
+. ci/enforce.sh
+
+if [ -z "$GCOV" ]; then
+ if [ "${B2_TOOLSET%%-*}" == "gcc" ]; then
+ ver="${B2_TOOLSET#*-}"
+ GCOV=gcov-${ver}
+ else
+ GCOV=gcov-7 # default
+ fi
+fi
+
+# lcov after 1.14 needs this
+# sudo apt install --no-install-recommends -y libperlio-gzip-perl libjson-perl
+
+# install the latest lcov we know works
+# some older .travis.yml files install the tip which may be unstable
+rm -rf /tmp/lcov
+pushd /tmp
+git clone -b v1.14 https://github.com/linux-test-project/lcov.git
+export PATH=/tmp/lcov/bin:$PATH
+which lcov
+lcov --version
+popd
+
+B2_VARIANT=variant=debug
+ci/travis/build.sh cxxflags=--coverage linkflags=--coverage
+#cxxflags=-fprofile-arcs cxxflags=-ftest-coverage linkflags=-fprofile-arcs linkflags=-ftest-coverage
+
+# switch back to the original source code directory
+cd $TRAVIS_BUILD_DIR
+
+# coverage files are in ../../b2 from this location
+lcov --gcov-tool=$GCOV --rc lcov_branch_coverage=0 --base-directory "$BOOST_ROOT/libs/$SELF" --directory "$BOOST_ROOT" --capture --output-file all.info
+
+# all.info contains all the coverage info for all projects - limit to ours
+# first we extract the interesting headers for our project then we use that list to extract the right things
+for f in `for f in include/boost/*; do echo $f; done | cut -f2- -d/`; do echo "*/$f*"; done > /tmp/interesting
+echo headers that matter:
+cat /tmp/interesting
+xargs -L 999999 -a /tmp/interesting lcov --gcov-tool=$GCOV --rc lcov_branch_coverage=1 --extract all.info {} "*/libs/$SELF/src/*" --output-file coverage.info
+
+# dump a summary on the console - helps us identify problems in pathing
+lcov --gcov-tool=$GCOV --rc lcov_branch_coverage=1 --list coverage.info
+
+#
+# upload to codecov.io
+#
+curl -s https://codecov.io/bash > .codecov
+chmod +x .codecov
+./.codecov -f coverage.info -X gcov -x "$GCOV" \ No newline at end of file