Page MenuHomeClusterLabs Projects

No OneTemporary

diff --git a/libnozzle/tests/api-test-coverage b/libnozzle/tests/api-test-coverage
index 06a61439..6320ac87 100755
--- a/libnozzle/tests/api-test-coverage
+++ b/libnozzle/tests/api-test-coverage
@@ -1,52 +1,91 @@
#!/bin/sh
#
# Copyright (C) 2016-2018 Red Hat, Inc. All rights reserved.
#
# Author: Fabio M. Di Nitto <fabbione@kronosnet.org>
#
# This software licensed under GPL-2.0+, LGPL-2.0+
#
srcdir="$1"/libnozzle
builddir="$2"/libnozzle
headerapicalls="$(grep nozzle_ "$srcdir"/libnozzle.h | grep -v "^ \*" | grep -v ^struct | grep -v "^[[:space:]]" | grep -v typedef | sed -e 's/(.*//g' -e 's/^const //g' -e 's/\*//g' | awk '{print $2}')"
# The PowerPC64 ELFv1 ABI defines the address of a function as that of a
# function descriptor defined in .opd, a data (D) section. Other ABIs
# use the entry address of the function itself in the text (T) section.
exportedapicalls="$(nm -B -D "$builddir"/.libs/libnozzle.so | grep ' [DT] ' | awk '{print $3}')"
echo "Checking for exported symbols NOT available in header file"
for i in $exportedapicalls; do
found=0
for x in $headerapicalls; do
if [ "$x" = "$i" ]; then
found=1
break;
fi
done
if [ "$found" = 0 ]; then
echo "Symbol $i not found in header file"
exit 1
fi
done
echo "Checking for symbols in header file NOT exported by binary lib"
for i in $headerapicalls; do
found=0
for x in $exportedapicalls; do
if [ "$x" = "$i" ]; then
found=1
break;
fi
done
if [ "$found" = 0 ]; then
echo "Symbol $i not found in binary lib"
exit 1
fi
done
+echo "Checking for tests with memcheck exceptions"
+
+for i in $(grep -l is_memcheck "$srcdir"/*.c | grep -v test-common); do
+ echo "WARNING: $(basename $i) - has memcheck exception enabled"
+done
+
+echo "Checking for tests with helgrind exceptions"
+
+for i in $(grep -l is_helgrind "$srcdir"/*.c | grep -v test-common); do
+ echo "WARNING: $(basename $i) has helgrind exception enabled"
+done
+
+echo "Checking for api test coverage"
+
+numapicalls=0
+found=0
+missing=0
+
+for i in $headerapicalls; do
+ numapicalls=$((numapicalls + 1))
+ if [ -f $srcdir/api_${i}.c ]; then
+ found=$((found + 1))
+ else
+ missing=$((missing + 1))
+ echo "MISSING: $i"
+ fi
+done
+
+echo "Summary"
+echo "-------"
+echo "Found : $found"
+echo "Missing : $missing"
+echo "Total : $numapicalls"
+which bc > /dev/null 2>&1 && {
+ coverage=$(echo "scale=3; $found / $numapicalls * 100" | bc -l)
+ echo "Coverage: $coverage%"
+}
+exit 0
+
exit 0

File Metadata

Mime Type
text/x-diff
Expires
Tue, Feb 25, 12:00 AM (18 h, 34 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
1464544
Default Alt Text
(2 KB)

Event Timeline