1
0
Fork 0
mirror of https://github.com/warmcat/libwebsockets.git synced 2025-03-16 00:00:07 +01:00
libwebsockets/lib
Andy Green 5b74d7108b gcov: add in cmake and adapt defaults
1) Introduce LWS_WITH_GCOV to build with gcc / clang coverage instrumentation.

$ cd build
$ make clean && rm -f `find . -name "*.gcno" -o -name "*.gcda"` && make -j16 && sudo make install && sudo /usr/local/bin/libwebsockets-test-server -s
...
$ gcov `find . -name *.c.gcno | grep -v test-apps` -b | sed "/\.h.\$/,/^$/d"

The above are available in two helper scripts

 - scripts/build-gcov.sh
 - scripts/gcov.sh

2)

CMake defaults changed:

 - LWS_WITH_ZIP_FOPS: OFF
 - LWS_WITH_RANGES: OFF
 - LWS_WITHOUT_EXTENSIONS: ON
 - LWS_WITH_ZLIB: OFF

New CMake controls that default-OFF:

 - LWS_WITH_GENHASH
 - LWS_WITH_GENRSA

these are implied by LWS_WITH_JWS (which is implied by LWS_WITH_ACME)

3) rename ./lib/tls/XXX/server.c and client.c to XXX-server.c / XXX-client.c.

This is because gcov dumps its results using the .c filename part only,
the copies overwrite each other if there are different .c files in the tree
with the same filename part.

4) Add onetime test-client mode and test to ./test-apps/attack.sh

5) Add gcov howto in READMEs/README.build.md using attack.sh
2017-12-01 11:37:35 +08:00
..
client appveyor: Enable 64-bit build with OpenSSL and HTTP2 2017-11-26 19:16:17 +08:00
event-libs appveyor: Enable 64-bit build with OpenSSL and HTTP2 2017-11-26 19:16:17 +08:00
ext appveyor: Enable 64-bit build with OpenSSL and HTTP2 2017-11-26 19:16:17 +08:00
http2 cleanups 2017-12-01 11:37:35 +08:00
jws RFC7638: JWK thumbprint 2017-11-26 19:07:12 +08:00
misc cleanups 2017-12-01 11:37:35 +08:00
plat esp32-selfsigned 2017-12-01 11:37:35 +08:00
server mbedtls: improve SNI for client certs 2017-12-01 11:37:35 +08:00
tls gcov: add in cmake and adapt defaults 2017-12-01 11:37:35 +08:00
alloc.c cleanups 2017-11-26 19:17:10 +08:00
context.c esp32-selfsigned 2017-12-01 11:37:35 +08:00
handshake.c esp32 fixes 2017-12-01 11:37:35 +08:00
header.c esp32 fixes 2017-12-01 11:37:35 +08:00
lextable-strings.h ACME client plugin 2017-12-01 11:37:35 +08:00
lextable.h ACME client plugin 2017-12-01 11:37:35 +08:00
libwebsockets.c cleanups 2017-12-01 11:37:35 +08:00
libwebsockets.h esp32-selfsigned 2017-12-01 11:37:35 +08:00
minilex.c whitespace trailing mass cleanout 2015-12-14 08:52:03 +08:00
output.c cleanups 2017-12-01 11:37:35 +08:00
pollfd.c esp32 fixes 2017-12-01 11:37:35 +08:00
private-libwebsockets.h mbedtls: improve SNI for client certs 2017-12-01 11:37:35 +08:00
service.c esp32-selfsigned 2017-12-01 11:37:35 +08:00