# tests to run as a port of the regression suite. Leave empty to run # all. TESTS= GENCERT_FLAGS= # host to bind to during regress REGRESS_HOST = localhost DISTFILES = Makefile \ env \ err \ example.mime.types \ fcgi-test.c \ fill-file.c \ hello \ invalid \ iri_test.c \ lib.sh \ max-length-reply \ puny-test.c \ regress \ serve-bigfile \ slow \ tests.sh \ valid.ext include ../config.mk COBJS = ${COMPATS:.c=.o} REG_COMPATS = ${COBJS:%=../%} PUNY_SRCS = puny-test.c ../puny.c ../utf8.c ../utils.c ../log.c PUNY_OBJS = ${PUNY_SRCS:.c=.o} ${REG_COMPATS} IRI_SRCS = iri_test.c ../iri.c ../utf8.c ../log.c IRI_OBJS = ${IRI_SRCS:.c=.o} ${REG_COMPATS} .PHONY: all data clean dist all: data puny-test iri_test fcgi-test env REGRESS_HOST="${REGRESS_HOST}" ./regress ${TESTS} data: testdata localhost.pem testca.pem valid.crt invalid.pem puny-test: ${PUNY_OBJS} ${CC} ${PUNY_OBJS} -o puny-test ${LIBS} ${LDFLAGS} iri_test: ${IRI_OBJS} ${CC} ${IRI_OBJS} -o $@ ${LIBS} ${LDFLAGS} fill-file: fill-file.o ${CC} fill-file.o -o $@ ${LIBS} ${LDFLAGS} fcgi-test: fcgi-test.o ${CC} fcgi-test.o ../log.o ${REG_COMPATS} -o fcgi-test ${LIBS} ${LDFLAGS} localhost.key: localhost.pem localhost.pem: ./../contrib/gencert ${GENCERT_FLAGS} localhost >/dev/null testca.pem: openssl genrsa -out testca.key 2048 openssl req -x509 -new -sha256 \ -key testca.key \ -days 365 -nodes \ -out testca.pem \ -subj "/CN=testca" @echo valid.crt: testca.pem openssl genrsa -out valid.key 2048 openssl req -new -key valid.key \ -out valid.csr \ -subj "/CN=valid" @echo openssl x509 -req -in valid.csr \ -CA testca.pem \ -CAkey testca.key \ -CAcreateserial \ -out valid.crt \ -days 365 \ -sha256 -extfile valid.ext invalid.pem: localhost.pem cp localhost.pem invalid.pem cp localhost.key invalid.key clean: rm -f *.o iri_test localhost.pem localhost.key rm -f localhost.pem localhost.key rm -f testca.* valid.csr valid.key valid.crt invalid.pem invalid.key rm -rf testdata fill-file puny-test fcgi-test rm -f gmid.pid fcgi.sock testdata: fill-file mkdir testdata ./fill-file testdata/bigfile printf "# hello world\n" > testdata/index.gmi cp hello slow err invalid serve-bigfile env testdata/ cp max-length-reply testdata mkdir testdata/dir date > 'testdata/dir/current date' cp hello testdata/dir cp testdata/index.gmi testdata/dir/foo.gmi touch testdata/test.m3u8 testdata/foo.1 dist: ${DISTFILES} mkdir -p ${DESTDIR}/ ${INSTALL} -m 0644 ${DISTFILES} ${DESTDIR}/ cd ${DESTDIR}/ && chmod +x env err hello invalid \ max-length-reply regress slow