X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/5579e0dd84f9dcb67c989a191538346ee7ab63e2..4829d096feb337a55e2b866adb19acab9617b071:/Makefile.am diff --git a/Makefile.am b/Makefile.am index ffc4d65b..1c620763 100644 --- a/Makefile.am +++ b/Makefile.am @@ -31,6 +31,7 @@ MHNSEARCHPROG = $(srcdir)/etc/mhn.find.sh ## TESTS_ENVIRONMENT = MH_OBJ_DIR="@abs_builddir@" \ MH_VERSION="$(VERSION)" \ + MAKE=$(MAKE) \ OAUTH_SUPPORT='@OAUTH_SUPPORT@' \ CURL_USER_AGENT='@CURL_USER_AGENT@' \ MH_TEST_DIR=`cd "@abs_builddir@" && pwd -P`/test/testdir \ @@ -53,6 +54,7 @@ TESTS = \ test/burst/test-burst \ test/burst/test-burst-mime \ test/comp/test-comp-format \ + test/comp/test-draft-fcc \ test/dist/test-dist \ test/folder/test-coverage \ test/folder/test-create \ @@ -77,6 +79,9 @@ TESTS = \ test/forw/test-forw-coverage \ test/forw/test-forw-digest \ test/forw/test-forw-format \ + test/imap/test-inc \ + test/imap/test-live \ + test/imap/test-scan \ test/inc/test-deb359167 \ test/inc/test-eom-align \ test/inc/test-inc-scanout \ @@ -86,6 +91,7 @@ TESTS = \ test/install-mh/test-version-check \ test/locking/test-datalocking \ test/locking/test-spoollocking \ + test/managed-folders/test-read-message \ test/manpages/test-manpages \ test/mhbuild/test-attach \ test/mhbuild/test-cte \ @@ -150,6 +156,7 @@ TESTS = \ test/repl/test-trailing-newline \ test/scan/test-header-parsing \ test/scan/test-scan \ + test/scan/test-scan-file \ test/scan/test-scan-multibyte \ test/send/test-sendfrom \ test/sequences/test-flist \ @@ -163,15 +170,19 @@ TESTS = \ test/whom/test-whom \ test/cleanup ## The "cleanup" test should always be last. +check_DATA = fake.pem + check_SCRIPTS = test/common.sh check_PROGRAMS = \ test/fakehttp \ + test/fakeinetd \ test/fakepop \ test/fakesmtp \ test/getcanon \ test/getcwidth \ test/getfullname \ + test/managed-folders/protocol-tester \ test/runpty \ # @@ -335,7 +346,10 @@ noinst_HEADERS = \ h/dropsbr.h \ h/fmt_compile.h \ h/fmt_scan.h \ + h/folder.h \ + h/folder_manager_protocol.h \ h/icalendar.h \ + h/managed_folders.h \ h/mf.h \ h/mh.h \ h/mhparse.h \ @@ -403,6 +417,7 @@ noinst_HEADERS = \ sbr/m_name.h \ sbr/m_popen.h \ sbr/m_rand.h \ + sbr/maildir_read_and_sort.h \ sbr/makedir.h \ sbr/message_id.h \ sbr/mime_type.h \ @@ -978,6 +993,9 @@ test_fakesmtp_LDADD = $(POSTLINK) test_fakehttp_SOURCES = test/fakehttp.c test/server.c test_fakehttp_LDADD = $(LDADD) $(POSTLINK) +test_fakeinetd_SOURCES = test/fakeinetd.c +test_fakeinetd_LDADD = $(LDADD) $(POSTLINK) + test_getcwidth_SOURCES = test/getcwidth.c test_getcwidth_LDADD = $(POSTLINK) @@ -1098,6 +1116,9 @@ sbr_libmh_a_SOURCES = \ sbr/folder_addmsg.c \ sbr/folder_delmsgs.c \ sbr/folder_free.c \ + sbr/folder_manager_client.c \ + sbr/folder_manager_protocol.c \ + sbr/folder_operations.c \ sbr/folder_pack.c \ sbr/folder_read.c \ sbr/folder_realloc.c \ @@ -1120,7 +1141,9 @@ sbr_libmh_a_SOURCES = \ sbr/m_name.c \ sbr/m_popen.c \ sbr/m_rand.c \ + sbr/maildir_read_and_sort.c \ sbr/makedir.c \ + sbr/managed_folders.c \ sbr/message_id.c \ sbr/mf.c \ sbr/mime_type.c \ @@ -1179,6 +1202,7 @@ sbr_libmh_a_LIBADD = $(LIBOBJS) ## Need explicit dependency so that YACC is run before LEX. ## sbr/icalendar.c: sbr/icalparse.c +uip/mhical.c: sbr/icalparse.h ## ## Because these files use the definitions in the libmh rule below, @@ -1304,6 +1328,14 @@ gcov-clean: gcov-mostlyclean .PHONY: gcov gcov-rebuild gcov-run gcov-process gcov-report \ gcov-mostlyclean gcov-clean +# TODO rust coverage +# cargo +nightly install cargo-binutils grcov rustfilt +# RUSTFLAGS=-Zinstrument-coverage make CARGO_FLAGS=+nightly cargo +# make check +# TODO rename .llvmprof to .profdata so grcov will see it +# cargo +nightly profdata -- merge -sparse test/imap/*.llvmprof -o profdata +# cargo +nightly cov -- show target/debug/imap-folder-manager -instr-profile=profdata "-path-equivalence=,${top_srcdir}" +# grcov --branch --llvm -b target/debug -o ~/public_html/cov -t html -s ../.. test/imap/cov ## ## Rules to upload the distribution to savannah @@ -1327,3 +1359,27 @@ upload: dist @echo "Uploading to savannah" scp -p $(DIST_ARCHIVES)* $(SAVANNAH_USERNAME)@dl.sv.nongnu.org:/releases/nmh .PHONY: upload + +# TODO autoconf check for cargo and bindgen +.PHONY: cargo cargo-doc +cargo: $(srcdir)/sbr/rust/src/bindgen.rs $(abs_srcdir)/sbr/rust/build.rs + cd $(srcdir) && CARGO_TARGET_DIR=$(abs_builddir)/target cargo $(CARGO_FLAGS) build +cargo-doc: cargo + cd $(srcdir) && CARGO_TARGET_DIR=$(abs_builddir)/target cargo $(CARGO_FLAGS) doc --no-deps + +# TODO default to release build with optional debug build +# TODO install mhimap to bindir and imap-folder-manager to libexecdir +# TODO proper build rules, including dependency on libmh.a +target/debug/mhimap target/debug/imap-folder-manager: cargo + +# TODO proper out-of-tree build +$(abs_srcdir)/sbr/rust/build.rs: $(abs_builddir)/sbr/rust/build.rs + [ $(abs_srcdir) = $(abs_builddir) ] || cp $(builddir)/sbr/rust/build.rs $(srcdir)/sbr/rust/build.rs + +$(srcdir)/sbr/rust/src/bindgen.rs: $(srcdir)/sbr/rust/bindgen.h + bindgen --no-derive-copy -o $(srcdir)/sbr/rust/src/bindgen.rs.tmp $(srcdir)/sbr/rust/bindgen.h -- -I$(srcdir) \ + && mv $(srcdir)/sbr/rust/src/bindgen.rs.tmp $(srcdir)/sbr/rust/src/bindgen.rs + +# TODO autoconf check for openssl +fake.pem: + yes '' | openssl req -new -x509 -nodes -out fake.pem -keyout fake.pem