mirror of
https://gitlab.torproject.org/tpo/core/tor.git
synced 2024-12-06 19:41:15 +01:00
Merge branch 'tor-github/pr/695'
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
o Minor bugfixes (testing):
|
||||
- Fix our gcov wrapper script to look for object files at the
|
||||
correct locations. Fixes bug 29435; bugfix on 0.3.5.1-alpha.
|
||||
@@ -0,0 +1,4 @@
|
||||
o Minor features (testing):
|
||||
- We now have a script, cov-test-determinism.sh, to identify places
|
||||
where our unit test coverage has become nondeterministic.
|
||||
Closes ticket 29436.
|
||||
@@ -16,6 +16,5 @@ for B in "$DIRB"/*; do
|
||||
fi
|
||||
perl -pe 's/^\s*\!*\d+(\*?):/ 1$1:/; s/^([^:]+:)[\d\s]+:/$1/; s/^ *-:(Runs|Programs):.*//;' "$B" > "$B.tmp"
|
||||
diff -u "$A.tmp" "$B.tmp" |perl -pe 's/^((?:\+\+\+|---)(?:.*tmp))\s+.*/$1/;'
|
||||
rm "$A.tmp" "$B.tmp"
|
||||
rm -f "$A.tmp" "$B.tmp"
|
||||
done
|
||||
|
||||
|
||||
Executable
+48
@@ -0,0 +1,48 @@
|
||||
#!/bin/sh
|
||||
|
||||
# To use this script, build Tor with coverage enabled, and then say:
|
||||
# ./scripts/test/cov-test-determinism.sh run
|
||||
#
|
||||
# Let it run for a long time so it can run the tests over and over. It
|
||||
# will put their coverage outputs in coverage-raw/coverage-*/.
|
||||
#
|
||||
# Then say:
|
||||
# ./scripts/test/cov-test-determinism.sh check
|
||||
#
|
||||
# It will diff the other coverage outputs to the first one, and put their
|
||||
# diffs in coverage-raw/diff-coverage-*.
|
||||
|
||||
run=0
|
||||
check=0
|
||||
|
||||
if test "$1" = run; then
|
||||
run=1
|
||||
elif test "$1" = check; then
|
||||
check=1
|
||||
else
|
||||
echo "First use 'run' with this script, then use 'check'."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if test "$run" = 1; then
|
||||
while true; do
|
||||
make reset-gcov
|
||||
CD=coverage-raw/coverage-$(date +%s)
|
||||
make -j5 check
|
||||
mkdir -p "$CD"
|
||||
./scripts/test/coverage "$CD"
|
||||
done
|
||||
fi
|
||||
|
||||
if test "$check" = 1; then
|
||||
cd coverage-raw || exit 1
|
||||
|
||||
FIRST="$(find . -name "coverage-*" -type d | head -1)"
|
||||
rm -f A
|
||||
ln -sf "$FIRST" A
|
||||
for dir in coverage-*; do
|
||||
rm -f B
|
||||
ln -sf "$dir" B
|
||||
../scripts/test/cov-diff A B > "diff-$dir"
|
||||
done
|
||||
fi
|
||||
@@ -13,8 +13,8 @@ for fn in src/core/*/*.c src/feature/*/*.c src/app/*/*.c src/lib/*/*.c; do
|
||||
F=$(echo "$BN" | sed -e 's/\.c$//;')
|
||||
GC="${BN}.gcov"
|
||||
# Figure out the object file names
|
||||
ONS=$(echo "${DN}"/src_*-"${F}".o)
|
||||
ONS_WILDCARD_LITERAL="${DN}/src_*-${F}.o"
|
||||
ONS=$(echo "${DN}"/*testing_a-"${F}".o)
|
||||
ONS_WILDCARD_LITERAL="${DN}/*testing_a-${F}.o"
|
||||
# If the wildcard didn't expand, no files
|
||||
if [ "$ONS" != "${ONS_WILDCARD_LITERAL}" ]
|
||||
then
|
||||
|
||||
Reference in New Issue
Block a user