mirror of
https://github.com/ntop/n2n.git
synced 2024-09-20 00:51:10 +02:00
b735ad6b9e
* Add a simple test framework * Add a code coverage report example oneliner * Move the coverage report into a separate directory * Add a github action to run tests and publish a branch with the coverage report * Fix: Missing job separator * Fix: remember to actually run configure * Fix: Gotta autogen before I configure * Dont try to upload coverage report unless this is a push * Clearly show the git ref tested in the coverage report * Add a test for the various transforms * Add tests for the elliptic curve and pearson hash * Ensure we ignore new generated output * Remove unneeded boilerplate from the compression tests * Add an example of a test of the encoded wire packets * Ensure that correctly testable data is output even when zstd is not compiled * Factor test runner out into its own script and attempt to add it to the cmake file * Tell cmake about a new object file * Stop trying to make Cmake work... * Stop trying to make cmake work, round 2 * In the middle of a thousand lines of cmake output was one important one - windows could not find assert() - try again * Try again to plumb the tests into cmake * Add missing library to our superset install line * Fix build error when libcap-dev is installed * Switch to using artifact uploads instead of pages to store/show the coverage report * Fix artifact upload yaml * Upload coverage report to codecov * Fix codecov - clearly it doesnt do a recursive search for coverage files * Fix codecov - my hopeful use of a list of directories didnt work * Fix codecov - unfortunately, it doesnt just consume the coverage data and needs us to generate the gcov output * Fix codecov - nope, it still doesnt recursively search * Fix codecov - it really helps if I run the gcov data generator * Add a simple matrix build * Fix older ubuntu versions of gcovr that do not support the '--html-title' option * Ensure we use gcover options that are identical on older ubuntu * Improve coverage generation and required build packages
53 lines
1.1 KiB
Makefile
53 lines
1.1 KiB
Makefile
CC=@CC@
|
|
DEBUG?=-g3
|
|
OPTIMIZATION?=-O2 #-march=native
|
|
WARN?=-Wall
|
|
|
|
INSTALL=install
|
|
INSTALL_PROG=$(INSTALL) -m755
|
|
MKDIR=mkdir -p
|
|
|
|
PREFIX?=$(DESTDIR)/usr
|
|
ifeq ($(OS),Darwin)
|
|
SBINDIR=$(PREFIX)/local/sbin
|
|
else
|
|
SBINDIR=$(PREFIX)/sbin
|
|
endif
|
|
|
|
LDLIBS+=-ln2n
|
|
LDLIBS+=@N2N_LIBS@
|
|
HEADERS=$(wildcard include/*.h)
|
|
CFLAGS+=-I../include @CFLAGS@
|
|
LDFLAGS+=-L..
|
|
CFLAGS+=$(DEBUG) $(OPTIMIZATION) $(WARN)
|
|
LDFLAGS+=@LDFLAGS@
|
|
|
|
N2N_LIB=../libn2n.a
|
|
|
|
TOOLS=n2n-benchmark n2n-keygen
|
|
TOOLS+=@ADDITIONAL_TOOLS@
|
|
|
|
TESTS=tests-compress tests-elliptic tests-hashing tests-transform
|
|
TESTS+=tests-wire
|
|
|
|
.PHONY: all clean install
|
|
all: $(TOOLS) $(TESTS)
|
|
|
|
n2n-benchmark.o: $(N2N_LIB) $(HEADERS) ../Makefile Makefile
|
|
n2n-keygen.o: $(N2N_LIB) $(HEADERS) ../Makefile Makefile
|
|
|
|
n2n-decode: n2n-decode.c $(N2N_LIB) $(HEADERS) ../Makefile Makefile
|
|
$(CC) $(CFLAGS) $< $(LDFLAGS) $(LDLIBS) -lpcap -o $@
|
|
|
|
# See comments in the topdir Makefile about how to generate coverage
|
|
# data.
|
|
gcov:
|
|
gcov $(TOOLS) $(TESTS)
|
|
|
|
clean:
|
|
rm -rf $(TOOLS) *.o *.dSYM *~
|
|
rm -f $(TESTS) *.gcno *.gcda
|
|
|
|
install: $(TOOLS)
|
|
$(INSTALL_PROG) $(TOOLS) $(SBINDIR)/
|