Cleared issues 11,12,13 (Clang integrated assembler), 58 (RC rollup), 66 (Coverity rollup)

pull/75/head
Jeffrey Walton 2015-11-18 15:45:32 -05:00
parent 628f40755a
commit c15be9178a
4 changed files with 827 additions and 634 deletions

View File

@ -1,4 +1,4 @@
# Doxyfile 1.8.9.1 # Doxyfile 1.8.9
# This file describes the settings to be used by the documentation system # This file describes the settings to be used by the documentation system
# doxygen (www.doxygen.org) for a project. # doxygen (www.doxygen.org) for a project.
@ -47,14 +47,16 @@ PROJECT_NUMBER = 5.6.3
# for a project that appears at the top of each page and should give viewer a # for a project that appears at the top of each page and should give viewer a
# quick idea about the purpose of the project. Keep the description short. # quick idea about the purpose of the project. Keep the description short.
PROJECT_BRIEF = # Without the HTML escape characters, Doxygen concatenates the string below...
PROJECT_BRIEF = Free C++ class library of cryptographic schemes
# With the PROJECT_LOGO tag one can specify a logo or an icon that is included # With the PROJECT_LOGO tag one can specify a logo or an icon that is included
# in the documentation. The maximum height of the logo should not exceed 55 # in the documentation. The maximum height of the logo should not exceed 55
# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy # pixels and the maximum width should not exceed 200 pixels. Doxygen will copy
# the logo to the output directory. # the logo to the output directory.
PROJECT_LOGO = # The logo looks really bad here. Don't use it.
# PROJECT_LOGO = Logo-Steel.png
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path
# into which the generated documentation will be written. If a relative path is # into which the generated documentation will be written. If a relative path is
@ -219,7 +221,7 @@ SEPARATE_MEMBER_PAGES = NO
# uses this value to replace tabs by spaces in code fragments. # uses this value to replace tabs by spaces in code fragments.
# Minimum value: 1, maximum value: 16, default value: 4. # Minimum value: 1, maximum value: 16, default value: 4.
TAB_SIZE = 8 TAB_SIZE = 4
# This tag can be used to specify a number of aliases that act as commands in # This tag can be used to specify a number of aliases that act as commands in
# the documentation. An alias has the form: # the documentation. An alias has the form:
@ -294,7 +296,7 @@ EXTENSION_MAPPING =
# case of backward compatibilities issues. # case of backward compatibilities issues.
# The default value is: YES. # The default value is: YES.
MARKDOWN_SUPPORT = YES MARKDOWN_SUPPORT = NO
# When enabled doxygen tries to link words that correspond to documented # When enabled doxygen tries to link words that correspond to documented
# classes, or namespaces to their corresponding documentation. Such a link can # classes, or namespaces to their corresponding documentation. Such a link can
@ -312,7 +314,7 @@ AUTOLINK_SUPPORT = YES
# diagrams that involve STL classes more complete and accurate. # diagrams that involve STL classes more complete and accurate.
# The default value is: NO. # The default value is: NO.
BUILTIN_STL_SUPPORT = NO BUILTIN_STL_SUPPORT = YES
# If you use Microsoft's C++/CLI language, you should set this option to YES to # If you use Microsoft's C++/CLI language, you should set this option to YES to
# enable parsing support. # enable parsing support.
@ -336,7 +338,7 @@ SIP_SUPPORT = NO
# should set this option to NO. # should set this option to NO.
# The default value is: YES. # The default value is: YES.
IDL_PROPERTY_SUPPORT = YES IDL_PROPERTY_SUPPORT = NO
# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
# tag is set to YES then doxygen will reuse the documentation of the first # tag is set to YES then doxygen will reuse the documentation of the first
@ -625,7 +627,7 @@ GENERATE_DEPRECATEDLIST= YES
# sections, marked by \if <section_label> ... \endif and \cond <section_label> # sections, marked by \if <section_label> ... \endif and \cond <section_label>
# ... \endcond blocks. # ... \endcond blocks.
ENABLED_SECTIONS = ENABLED_SECTIONS = NO
# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the # The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the
# initial value of a variable or macro / define can have for it to appear in the # initial value of a variable or macro / define can have for it to appear in the

File diff suppressed because it is too large Load Diff

View File

@ -13,6 +13,7 @@
# Set to suite your taste # Set to suite your taste
TEST_RESULTS=cryptest-result.txt TEST_RESULTS=cryptest-result.txt
BENCHMARK_RESULTS=cryptest-bench.txt
WARN_TEST_RESULTS=cryptest-warn-result.txt WARN_TEST_RESULTS=cryptest-warn-result.txt
# Respect user's preferred flags, but filter the stuff we expliclty test # Respect user's preferred flags, but filter the stuff we expliclty test
@ -58,6 +59,10 @@ else
MAKE=make MAKE=make
fi fi
if [ -z "$TMP" ]; then
TMP=/tmp
fi
# Use the compiler driver, and not cpp, to tell us if the flag is consumed. # Use the compiler driver, and not cpp, to tell us if the flag is consumed.
$CXX -x c++ -dM -E -std=c++11 - < /dev/null > /dev/null 2>&1 $CXX -x c++ -dM -E -std=c++11 - < /dev/null > /dev/null 2>&1
if [ "$?" -eq "0" ]; then if [ "$?" -eq "0" ]; then
@ -75,7 +80,7 @@ else
fi fi
# Set to 0 if you don't have UBsan # Set to 0 if you don't have UBsan
$CXX -x c++ -dM -E -fsanitize=undefined -std=c++11 - < /dev/null > /dev/null 2>&1 $CXX -x c++ -fsanitize=undefined adhoc.cpp.proto -o $TMP/adhoc > /dev/null 2>&1
if [ "$?" -eq "0" ]; then if [ "$?" -eq "0" ]; then
HAVE_UBSAN=1 HAVE_UBSAN=1
else else
@ -88,7 +93,7 @@ if [ "$IS_CYGWIN" -ne "0" ] || [ "$IS_MINGW" -ne "0" ]; then
fi fi
# Set to 0 if you don't have Asan # Set to 0 if you don't have Asan
$CXX -x c++ -dM -E -fsanitize=address -std=c++11 - < /dev/null > /dev/null 2>&1 $CXX -x c++ -fsanitize=undefined adhoc.cpp.proto -o $TMP/adhoc > /dev/null 2>&1
if [ "$?" -eq "0" ]; then if [ "$?" -eq "0" ]; then
HAVE_ASAN=1 HAVE_ASAN=1
else else
@ -100,6 +105,12 @@ if [ "$IS_CYGWIN" -ne "0" ] || [ "$IS_MINGW" -ne "0" ]; then
HAVE_ASAN=0 HAVE_ASAN=0
fi fi
#Final fixups for compilers liek GCC on ARM64
if [ "$HAVE_UBSAN" -eq "0" ] || [ "$HAVE_ASAN" -eq "0" ]; then
HAVE_UBAN=0
HAVE_ASAN=0
fi
# Set to 0 if you don't have Valgrind. Valgrind tests take a long time... # Set to 0 if you don't have Valgrind. Valgrind tests take a long time...
HAVE_VALGRIND=$(which valgrind 2>&1 | grep -v "no valgrind" | grep -i -c valgrind) HAVE_VALGRIND=$(which valgrind 2>&1 | grep -v "no valgrind" | grep -i -c valgrind)
@ -115,6 +126,7 @@ if [ "$HAVE_VALGRIND" -ne "0" ]; then
fi fi
if [ "$IS_DARWIN" -ne "0" ]; then if [ "$IS_DARWIN" -ne "0" ]; then
echo "IS_DARWIN: $IS_DARWIN" echo "IS_DARWIN: $IS_DARWIN"
unset MallocScribble MallocPreScribble MallocGuardEdges
fi fi
if [ "$IS_LINUX" -ne "0" ]; then if [ "$IS_LINUX" -ne "0" ]; then
echo "IS_LINUX: $IS_LINUX" echo "IS_LINUX: $IS_LINUX"
@ -593,6 +605,98 @@ if [ "$IS_DARWIN" -ne "0" ] && [ "$HAVE_CXX11" -ne "0" ]; then
./cryptest.exe tv all 2>&1 | tee -a "$TEST_RESULTS" ./cryptest.exe tv all 2>&1 | tee -a "$TEST_RESULTS"
fi fi
############################################
# Darwin, c++03, Malloc Guards
if [ "$IS_DARWIN" -ne "0" ] && [ "$HAVE_CXX03" -ne "0" ]; then
echo
echo "************************************" | tee -a "$TEST_RESULTS"
echo "Testing: Darwin, c++03, Malloc Guards" | tee -a "$TEST_RESULTS"
echo
unset CXXFLAGS
"$MAKE" clean > /dev/null 2>&1
export CXXFLAGS="-DNDEBUG -g2 -O2 -std=c++03 $ADD_CXXFLAGS"
"$MAKE" static cryptest.exe 2>&1 | tee -a "$TEST_RESULTS"
export MallocScribble=1
export MallocPreScribble=1
export MallocGuardEdges=1
./cryptest.exe v 2>&1 | tee -a "$TEST_RESULTS"
./cryptest.exe tv all 2>&1 | tee -a "$TEST_RESULTS"
unset MallocScribble MallocPreScribble MallocGuardEdges
fi
############################################
# Darwin, c++11, Malloc Guards
if [ "$IS_DARWIN" -ne "0" ] && [ "$HAVE_CXX11" -ne "0" ]; then
echo
echo "************************************" | tee -a "$TEST_RESULTS"
echo "Testing: Darwin, c++11, Malloc Guards" | tee -a "$TEST_RESULTS"
echo
unset CXXFLAGS
"$MAKE" clean > /dev/null 2>&1
export CXXFLAGS="-DNDEBUG -g2 -O2 -std=c++11 $ADD_CXXFLAGS"
"$MAKE" static cryptest.exe 2>&1 | tee -a "$TEST_RESULTS"
export MallocScribble=1
export MallocPreScribble=1
export MallocGuardEdges=1
./cryptest.exe v 2>&1 | tee -a "$TEST_RESULTS"
./cryptest.exe tv all 2>&1 | tee -a "$TEST_RESULTS"
unset MallocScribble MallocPreScribble MallocGuardEdges
fi
# Try to locate a Xcode compiler for testing under Darwin
XCODE_COMPILER=$(find /Applications/Xcode*.app/Contents/Developer -name clang++ | head -1)
############################################
# Xcode compiler
if [ "$IS_DARWIN" -ne "0" ] && [ -z "$XCODE_COMPILER" ]; then
echo
echo "************************************" | tee -a "$TEST_RESULTS"
echo "Testing: Xcode Clang compiler" | tee -a "$TEST_RESULTS"
echo
unset CXXFLAGS
"$MAKE" clean > /dev/null 2>&1
expot CXX="$XCODE_COMPILER"
export CXXFLAGS="-DNDEBUG -g2 -O2 -std=c++11 $ADD_CXXFLAGS"
"$MAKE" static cryptest.exe 2>&1 | tee -a "$TEST_RESULTS"
./cryptest.exe v 2>&1 | tee -a "$TEST_RESULTS"
./cryptest.exe tv all 2>&1 | tee -a "$TEST_RESULTS"
fi
############################################
# Benchmarks, c++03
if [ "$HAVE_CXX03" -ne "0" ]; then
echo
echo "************************************" | tee -a "$TEST_RESULTS"
echo "Testing: Benchmarks, c++03" | tee -a "$TEST_RESULTS"
echo
unset CXXFLAGS
"$MAKE" clean > /dev/null 2>&1
export CXXFLAGS="-DNDEBUG -O3 -std=c++03 $ADD_CXXFLAGS"
"$MAKE" static cryptest.exe 2>&1 | tee -a "$TEST_RESULTS"
./cryptest.exe b 3 2.4+1e9 2>&1 | tee -a "$BENCHMARK_RESULTS"
fi
############################################
# Benchmarks, c++11
if [ "$HAVE_CXX11" -ne "0" ]; then
echo
echo "************************************" | tee -a "$TEST_RESULTS"
echo "Testing: Benchmarks, c++11" | tee -a "$TEST_RESULTS"
echo
unset CXXFLAGS
"$MAKE" clean > /dev/null 2>&1
export CXXFLAGS="-DNDEBUG -O3 -std=c++11 $ADD_CXXFLAGS"
"$MAKE" static cryptest.exe 2>&1 | tee -a "$TEST_RESULTS"
./cryptest.exe b 3 2.4+1e9 2>&1 | tee -a "$BENCHMARK_RESULTS"
fi
# For Cygwin, we need to test both PREFER_BERKELEY_STYLE_SOCKETS # For Cygwin, we need to test both PREFER_BERKELEY_STYLE_SOCKETS
# and PREFER_WINDOWS_STYLE_SOCKETS # and PREFER_WINDOWS_STYLE_SOCKETS
@ -712,15 +816,16 @@ fi
echo | tee -a "$TEST_RESULTS" echo | tee -a "$TEST_RESULTS"
# "FAILED" is from Crypto++ # "FAILED" is from Crypto++
# "Error" is from the GNU assembler
# "error" is from the sanitizers # "error" is from the sanitizers
# "Illegal", "0 errors" and "suppressed errors" are from Valgrind. # "Illegal", "0 errors" and "suppressed errors" are from Valgrind.
COUNT=$(egrep -a '(error|FAILED|Illegal)' cryptest-result.txt | egrep -v "( 0 errors|suppressed errors|memory error detector)" | wc -l) COUNT=$(egrep -a '(Error|error|FAILED|Illegal)' cryptest-result.txt | egrep -v "( 0 errors|suppressed errors|memory error detector)" | wc -l)
if [ "$COUNT" -eq "0" ]; then if [ "$COUNT" -eq "0" ]; then
echo "No failures detected" | tee -a "$TEST_RESULTS" echo "No failures detected" | tee -a "$TEST_RESULTS"
else else
echo "$COUNT errors detected" | tee -a "$TEST_RESULTS" echo "$COUNT errors detected" | tee -a "$TEST_RESULTS"
echo echo
egrep -an "(error|FAILED|Illegal)" cryptest-result.txt egrep -an "(Error|error|FAILED|Illegal)" cryptest-result.txt
fi fi
echo | tee -a "$TEST_RESULTS" echo | tee -a "$TEST_RESULTS"

Binary file not shown.