forked from premiere/premiere-libtorrent
68 lines
2.0 KiB
Bash
Executable File
68 lines
2.0 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
OBJECT_PATH=bin/gcc-4.8/debug/asserts-off/boost-source/deprecated-functions-off/export-extra-on/invariant-checks-off/link-static/test-coverage-on/threading-multi/src
|
|
|
|
# $1 = test_name
|
|
# $2 = filename pattern for tested source files
|
|
# $3 = optional bjam arguments
|
|
function run_test {
|
|
set +e
|
|
rm $OBJECT_PATH/*.gcda
|
|
set -e
|
|
|
|
cd test
|
|
|
|
set +e
|
|
bjam asserts=off invariant-checks=off link=static boost=source deprecated-functions=off debug-iterators=off test-coverage=on picker-debugging=off -j4 $1
|
|
set -e
|
|
cd ..
|
|
|
|
lcov -d $OBJECT_PATH/ -c -o coverage_$1_full
|
|
lcov --extract coverage_$1_full "$2" -o test-coverage/coverage_$1
|
|
if [ ! -f test-coverage/coverage_all ]; then
|
|
cp test-coverage/coverage_$1 test-coverage/coverage_all
|
|
else
|
|
lcov --add-tracefile test-coverage/coverage_$1 --add-tracefile test-coverage/coverage_all -o test-coverage/coverage_all
|
|
fi
|
|
rm coverage_$1_full
|
|
}
|
|
|
|
# force rebuilding and rerunning the unit tests
|
|
cd test
|
|
set +e
|
|
rm -rf bin
|
|
set -e
|
|
cd ..
|
|
|
|
set +e
|
|
mkdir test-coverage
|
|
rm test-coverage/coverage_all
|
|
set -e
|
|
|
|
run_test test_bloom_filter "*/bloom_filter.*" -a
|
|
run_test test_sha1_hash "*/sha1_hash.*"
|
|
run_test test_identify_client "*/identify_client.*"
|
|
run_test test_packet_buffer "*/packet_buffer.*"
|
|
run_test test_ip_voter "*/ip_voter.*"
|
|
run_test test_bitfield "*/bitfield.*"
|
|
run_test test_alert_manager "*/alert_manager.*"
|
|
run_test test_dht "*/kademlia/*"
|
|
run_test test_bdecode "*/bdecode.*"
|
|
run_test test_piece_picker "*/piece_picker.*"
|
|
run_test test_torrent_info "*/torrent_info.*"
|
|
run_test test_part_file "*/part_file.*"
|
|
run_test test_http_parser "*/http_parser.*"
|
|
run_test test_ip_filter "*/ip_filter.*"
|
|
run_test test_utp "*/utp_stream.*"
|
|
run_test test_peer_list "*/peer_list.*"
|
|
run_test test_gzip "*/gzip.cpp"
|
|
run_test test_file_storage "*/file_storage.*"
|
|
run_test test_storage "*/storage.*"
|
|
run_test test_xml "*/xml_parse.*"
|
|
run_test test_sliding_average "*/sliding_average.*"
|
|
run_test test_string "*/escape_string.*"
|
|
run_test test_utf8 "*/ConvertUTF.*"
|
|
|
|
genhtml -o test-coverage/ -t $1 --num-spaces=4 test-coverage/coverage_all
|
|
|