gmid/regress/Makefile

115 lines
2.7 KiB
Makefile
Raw Normal View History

# tests to run as a port of the regression suite. Leave empty to run
# all.
TESTS=
2022-10-31 23:53:16 +01:00
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 \
sha \
slow \
tests.sh \
valid.ext
2021-01-22 17:48:04 +01:00
include ../Makefile.local
COMPAT= ${COBJS:%=../%}
2022-10-31 23:53:16 +01:00
.PHONY: all data clean dist
2021-01-22 17:48:04 +01:00
2021-12-29 19:18:41 +01:00
all: data puny-test iri_test fcgi-test
./regress ${TESTS}
data: testdata cert.pem testca.pem valid.crt invalid.cert.pem
2021-01-22 17:48:04 +01:00
puny-test: puny-test.o ../puny.o ../utf8.o ../utils.o ../log.o ${COMPAT}
${CC} puny-test.o ../puny.o ../utf8.o ../utils.o ../log.o ${COMPAT} \
-o puny-test ${LDFLAGS}
2021-01-27 11:47:49 +01:00
iri_test: iri_test.o ../iri.o ../utf8.o ${COMPAT}
2021-07-08 16:05:04 +02:00
${CC} iri_test.o ../iri.o ../utf8.o ${COMPAT} -o $@ ${LDFLAGS}
2021-01-22 17:48:04 +01:00
fill-file: fill-file.o
2021-07-08 16:05:04 +02:00
${CC} fill-file.o -o $@ ${LDFLAGS}
fcgi-test: fcgi-test.o
${CC} fcgi-test.o ${COMPAT} -o fcgi-test ${LDFLAGS}
2021-01-22 17:48:04 +01:00
key.pem: cert.pem
# XXX: key size is NOT GOOD. This is only for testing. Smaller keys
# are quicker to generate. DON'T DO THIS AT HOME.
cert.pem:
openssl req -x509 -newkey rsa:2048 \
-keyout key.pem \
-out cert.pem \
-days 365 -nodes \
-subj "/CN=localhost"
2021-07-19 13:37:01 +02:00
ln -s cert.pem localhost.cert.pem
ln -s key.pem localhost.key.pem
2021-01-22 17:48:04 +01:00
@echo
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.cert.pem: cert.pem
cp cert.pem invalid.cert.pem
cp key.pem invalid.key.pem
2021-01-22 17:48:04 +01:00
clean:
rm -f *.o iri_test cert.pem key.pem
2021-07-19 13:37:01 +02:00
rm -f localhost.cert.pem localhost.key.pem
2021-10-02 21:35:30 +02:00
rm -f testca.* valid.csr valid.key valid.crt invalid.*pem
2021-12-29 19:18:41 +01:00
rm -rf testdata fill-file puny-test fcgi-test
rm -f gmid.pid
2021-01-22 17:48:04 +01:00
testdata: fill-file
2021-01-22 17:48:04 +01:00
mkdir testdata
./fill-file testdata/bigfile
2021-01-22 17:48:04 +01:00
./sha testdata/bigfile testdata/bigfile.sha
printf "# hello world\n" > testdata/index.gmi
./sha testdata/index.gmi testdata/index.gmi.sha
2021-02-06 19:28:43 +01:00
cp hello slow err invalid serve-bigfile env testdata/
cp max-length-reply testdata
2021-01-22 17:48:04 +01:00
mkdir testdata/dir
date > 'testdata/dir/current date'
2021-01-24 15:11:40 +01:00
cp hello testdata/dir
2021-01-22 17:48:04 +01:00
cp testdata/index.gmi testdata/dir/foo.gmi
2022-02-26 15:02:45 +01:00
touch testdata/test.m3u8 testdata/foo.1
2022-10-31 23:53:16 +01:00
dist: ${DISTFILES}
mkdir -p ${DESTDIR}/
${INSTALL} -m 0644 ${DISTFILES} ${DESTDIR}/
cd ${DESTDIR}/ && chmod +x env err hello invalid \
max-length-reply regress sha slow