Restructure test makefile to be called from main makefile
This changes the make test to be executed from the main netsurf makefile instead of being standalone. It also fixes up the urldbtest to run.
This commit is contained in:
parent
ccfc2aeefa
commit
bd802e763e
58
Makefile
58
Makefile
|
@ -22,6 +22,8 @@
|
|||
# make docs
|
||||
#
|
||||
|
||||
.PHONY: all
|
||||
|
||||
all: all-program
|
||||
|
||||
# Determine host type
|
||||
|
@ -778,7 +780,7 @@ $(eval $(foreach SOURCE,$(filter %.m,$(SOURCES)), \
|
|||
#$(eval $(foreach SOURCE,$(filter %.s,$(SOURCES)), \
|
||||
# $(call dependency_generate_s,$(SOURCE),$(subst /,_,$(SOURCE:.s=.d)),$(subst /,_,$(SOURCE:.s=.o)))))
|
||||
|
||||
ifneq ($(MAKECMDGOALS),clean)
|
||||
ifeq ($(filter $(MAKECMDGOALS),clean test),)
|
||||
-include $(sort $(addprefix $(DEPROOT)/,$(DEPFILES)))
|
||||
-include $(D_JSAPI_BINDING)
|
||||
endif
|
||||
|
@ -797,14 +799,54 @@ $(eval $(foreach SOURCE,$(filter %.m,$(SOURCES)), \
|
|||
$(eval $(foreach SOURCE,$(filter %.s,$(SOURCES)), \
|
||||
$(call compile_target_s,$(SOURCE),$(subst /,_,$(SOURCE:.s=.o)),$(subst /,_,$(SOURCE:.s=.d)))))
|
||||
|
||||
.PHONY: all clean docs install package-$(TARGET) package install-$(TARGET)
|
||||
# ----------------------------------------------------------------------------
|
||||
# Test setup
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
include test/Makefile
|
||||
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# Clean setup
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
.PHONY: clean
|
||||
|
||||
clean: $(CLEANS)
|
||||
|
||||
# Target builds a distribution package
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# build distribution package
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
.PHONY: package-$(TARGET) package
|
||||
|
||||
package: all-program package-$(TARGET)
|
||||
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# local install on the host system
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
.PHONY: install install-$(TARGET)
|
||||
|
||||
install: all-program install-$(TARGET)
|
||||
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# Documentation build
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
.PHONY: docs
|
||||
|
||||
docs:
|
||||
doxygen Docs/Doxyfile
|
||||
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# Transifex message processing
|
||||
# ----------------------------------------------------------------------------
|
||||
|
||||
.PHONY: messages-split-tfx messages-fetch-tfx messages-import-tfx
|
||||
|
||||
# split fat messages into properties files suitable for uploading to transifex
|
||||
|
@ -819,13 +861,3 @@ messages-fetch-tfx:
|
|||
messages-import-tfx: messages-fetch-tfx
|
||||
for tfxlang in $(FAT_LANGUAGES);do perl ./utils/import-messages.pl -l $${tfxlang} -p any -f transifex -o resources/FatMessages -i resources/FatMessages -I Messages.any.$${tfxlang}.tfx ; $(RM) Messages.any.$${tfxlang}.tfx; done
|
||||
|
||||
# Target installs executable on the host system
|
||||
install: all-program install-$(TARGET)
|
||||
|
||||
docs:
|
||||
doxygen Docs/Doxyfile
|
||||
|
||||
.PHONY:test
|
||||
|
||||
test:
|
||||
make -C test
|
|
@ -1,55 +1,78 @@
|
|||
#
|
||||
# NetSurf unit tests
|
||||
|
||||
CFLAGS := -std=c99 -g -O0 -D_BSD_SOURCE -D_POSIX_C_SOURCE -I. -I.. \
|
||||
|
||||
test_CFLAGS := -std=c99 -g -Wall \
|
||||
-D_BSD_SOURCE \
|
||||
-D_POSIX_C_SOURCE=200809L \
|
||||
-D_XOPEN_SOURCE=600 \
|
||||
-Itest -I. -I.. \
|
||||
$(shell pkg-config --cflags libcurl)
|
||||
LDFLAGS := $(shell pkg-config --libs libcurl) -lz
|
||||
test_LDFLAGS := $(shell pkg-config --libs libcurl) -lz
|
||||
|
||||
llcache_CFLAGS := $(shell pkg-config --cflags libparserutils libwapcaplet libdom) -O2
|
||||
llcache_LDFLAGS := $(shell pkg-config --libs libparserutils libwapcaplet libdom)
|
||||
# nsurl sources and flags
|
||||
nsurl_SRCS := utils/corestrings.c utils/nsurl.c utils/idna.c test/log.c test/nsurl.c
|
||||
nsurl_CFLAGS := $(shell pkg-config --cflags libwapcaplet libdom libutf8proc) -O0
|
||||
nsurl_LDFLAGS := $(shell pkg-config --libs libwapcaplet libdom libutf8proc)
|
||||
|
||||
# low level cache sources and flags
|
||||
llcache_SRCS := content/fetch.c content/fetchers/curl.c \
|
||||
content/fetchers/about.c content/fetchers/data.c \
|
||||
content/fetchers/resource.c content/llcache.c \
|
||||
content/urldb.c desktop/version.c \
|
||||
image/image_cache.c \
|
||||
utils/base64.c utils/corestrings.c utils/hashtable.c \
|
||||
utils/log.c utils/nsurl.c utils/messages.c utils/url.c \
|
||||
utils/nsurl.c utils/messages.c utils/url.c \
|
||||
utils/useragent.c utils/utils.c test/llcache.c
|
||||
llcache_CFLAGS := $(shell pkg-config --cflags libparserutils libwapcaplet libdom) -O2
|
||||
llcache_LDFLAGS := $(shell pkg-config --libs libparserutils libwapcaplet libdom)
|
||||
|
||||
urldbtest_SRCS := content/urldb.c utils/url.c utils/utils.c utils/log.c \
|
||||
utils/messages.c utils/hashtable.c \
|
||||
# url database test sources and flags
|
||||
urldbtest_SRCS := content/urldb.c utils/url.c utils/utils.c utils/idna.c \
|
||||
utils/messages.c utils/hashtable.c utils/bloom.c utils/nsoption.c \
|
||||
utils/filename.c utils/nsurl.c utils/corestrings.c \
|
||||
test/urldbtest.c
|
||||
test/log.c test/urldbtest.c
|
||||
urldbtest_CFLAGS := $(shell pkg-config --cflags libwapcaplet libdom libnsutils libutf8proc) -O2
|
||||
urldbtest_LDFLAGS := $(shell pkg-config --libs libwapcaplet libdom libnsutils libutf8proc)
|
||||
|
||||
urldbtest_CFLAGS := $(shell pkg-config --cflags libwapcaplet libdom libnsutils) -O2
|
||||
urldbtest_LDFLAGS := $(shell pkg-config --libs libwapcaplet libdom libnsutils)
|
||||
|
||||
nsurl_SRCS := utils/corestrings.c utils/log.c utils/nsurl.c utils/idna.c desktop/version.c test/nsurl.c
|
||||
nsurl_CFLAGS := $(shell pkg-config --cflags libwapcaplet libdom libutf8proc)
|
||||
nsurl_LDFLAGS := $(shell pkg-config --libs libwapcaplet libdom libutf8proc)
|
||||
|
||||
nsoption_SRCS := utils/log.c utils/nsoption.c test/nsoption.c
|
||||
nsoption_CFLAGS := -Dnsgtk
|
||||
|
||||
.PHONY: all
|
||||
CLEANS += test-clean
|
||||
|
||||
all: nsurl
|
||||
./nsurl
|
||||
TESTS := nsurl urldbtest
|
||||
|
||||
llcache: $(addprefix ../,$(llcache_SRCS))
|
||||
$(CC) $(CFLAGS) $(llcache_CFLAGS) $^ -o $@ $(LDFLAGS) $(llcache_LDFLAGS)
|
||||
TESTROOT := build-$(HOST)-test
|
||||
|
||||
urldbtest: $(addprefix ../,$(urldbtest_SRCS))
|
||||
$(CC) $(CFLAGS) $(urldbtest_CFLAGS) $^ -o $@ $(LDFLAGS) $(urldbtest_LDFLAGS)
|
||||
|
||||
nsurl: $(addprefix ../,$(nsurl_SRCS))
|
||||
$(CC) $(CFLAGS) $(nsurl_CFLAGS) $^ -o $@ $(LDFLAGS) $(nsurl_LDFLAGS)
|
||||
.PHONY:test
|
||||
|
||||
nsoption: $(addprefix ../,$(nsoption_SRCS))
|
||||
$(CC) $(CFLAGS) $(nsoption_CFLAGS) $^ -o $@ $(LDFLAGS) $(nsoption_LDFLAGS)
|
||||
test: $(TESTROOT)/created $(addprefix $(TESTROOT)/,$(TESTS))
|
||||
$(TESTROOT)/nsurl
|
||||
$(TESTROOT)/urldbtest
|
||||
|
||||
.PHONY: clean
|
||||
$(TESTROOT)/created:
|
||||
$(VQ)echo " MKDIR: $(TESTROOT)"
|
||||
$(Q)$(MKDIR) $(TESTROOT)
|
||||
$(Q)$(TOUCH) $@
|
||||
|
||||
clean:
|
||||
$(RM) llcache urldbtest nsurl nsoption
|
||||
$(TESTROOT)/nsurl: $(nsurl_SRCS)
|
||||
$(CC) $(test_CFLAGS) $(nsurl_CFLAGS) $^ -o $@ $(test_LDFLAGS) $(nsurl_LDFLAGS)
|
||||
|
||||
|
||||
$(TESTROOT)/urldbtest: $(urldbtest_SRCS)
|
||||
$(CC) $(test_CFLAGS) $(urldbtest_CFLAGS) $^ -o $@ $(test_LDFLAGS) $(urldbtest_LDFLAGS)
|
||||
|
||||
$(TESTROOT)/llcache: $(llcache_SRCS)
|
||||
$(CC) $(test_CFLAGS) $(llcache_CFLAGS) $^ -o $@ $(test_LDFLAGS) $(llcache_LDFLAGS)
|
||||
|
||||
|
||||
|
||||
$(TESTROOT)/nsoption: $(addprefix ../,$(nsoption_SRCS))
|
||||
$(CC) $(test_CFLAGS) $(nsoption_CFLAGS) $^ -o $@ $(test_LDFLAGS) $(nsoption_LDFLAGS)
|
||||
|
||||
.PHONY: test-clean
|
||||
|
||||
test-clean:
|
||||
$(RM) $(addprefix $(TESTROOT)/,$(TESTS))
|
||||
|
|
|
@ -0,0 +1,54 @@
|
|||
/*
|
||||
* Copyright 2015 Vincent Sanders <vince@netsurf-browser.org>
|
||||
*
|
||||
* This file is part of NetSurf, http://www.netsurf-browser.org/
|
||||
*
|
||||
* NetSurf is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; version 2 of the License.
|
||||
*
|
||||
* NetSurf is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/**
|
||||
* \file
|
||||
* Minimal unit test log implementation.
|
||||
*
|
||||
* It is necessary to have a logging implementation for the unit tests
|
||||
* so other netsurf modules that assume this functionality work.
|
||||
*/
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include "utils/log.h"
|
||||
|
||||
/** flag to enable verbose logging */
|
||||
bool verbose_log = false;
|
||||
|
||||
nserror nslog_init(nslog_ensure_t *ensure, int *pargc, char **argv)
|
||||
{
|
||||
return NSERROR_OK;
|
||||
}
|
||||
|
||||
|
||||
void nslog_log(const char *file, const char *func, int ln, const char *format, ...)
|
||||
{
|
||||
va_list ap;
|
||||
|
||||
fprintf(stderr, "%s:%i %s: ", file, ln, func);
|
||||
|
||||
va_start(ap, format);
|
||||
|
||||
vfprintf(stderr, format, ap);
|
||||
|
||||
va_end(ap);
|
||||
|
||||
fputc('\n', stderr);
|
||||
}
|
|
@ -46,7 +46,7 @@
|
|||
#include "utils/utils.h"
|
||||
|
||||
int option_expire_url = 0;
|
||||
bool verbose_log = true;
|
||||
struct netsurf_table *guit = NULL;
|
||||
|
||||
static void netsurf_lwc_iterator(lwc_string *str, void *pw)
|
||||
{
|
||||
|
@ -163,6 +163,8 @@ int main(void)
|
|||
nsurl *urlr;
|
||||
char *path_query;
|
||||
|
||||
verbose_log = true;
|
||||
|
||||
corestrings_init();
|
||||
|
||||
h = urldb_add_host("127.0.0.1");
|
||||
|
|
Loading…
Reference in New Issue