On Fri, 01 Aug 2014, Austin Clements <amdra...@mit.edu> wrote: > This will let us test basic version and feature handling.
LGTM. > --- > test/.gitignore | 1 + > test/Makefile.local | 4 ++++ > test/make-db-version.cc | 35 +++++++++++++++++++++++++++++++++++ > 3 files changed, 40 insertions(+) > create mode 100644 test/make-db-version.cc > > diff --git a/test/.gitignore b/test/.gitignore > index b3b706d..0f7d5bf 100644 > --- a/test/.gitignore > +++ b/test/.gitignore > @@ -5,5 +5,6 @@ parse-time > random-corpus > smtp-dummy > symbol-test > +make-db-version > test-results > tmp.* > diff --git a/test/Makefile.local b/test/Makefile.local > index 916dd0b..a2d58fc 100644 > --- a/test/Makefile.local > +++ b/test/Makefile.local > @@ -35,6 +35,9 @@ $(dir)/symbol-test: $(dir)/symbol-test.o lib/$(LINKER_NAME) > $(dir)/parse-time: $(dir)/parse-time.o parse-time-string/parse-time-string.o > $(call quiet,CC) $^ -o $@ > > +$(dir)/make-db-version: $(dir)/make-db-version.o > + $(call quiet,CXX) $^ -o $@ $(XAPIAN_LDFLAGS) > + > .PHONY: test check > > test_main_srcs=$(dir)/arg-test.c \ > @@ -43,6 +46,7 @@ test_main_srcs=$(dir)/arg-test.c \ > $(dir)/parse-time.c \ > $(dir)/smtp-dummy.c \ > $(dir)/symbol-test.cc \ > + $(dir)/make-db-version.cc \ > > test_srcs=$(test_main_srcs) $(dir)/database-test.c > > diff --git a/test/make-db-version.cc b/test/make-db-version.cc > new file mode 100644 > index 0000000..fa80cac > --- /dev/null > +++ b/test/make-db-version.cc > @@ -0,0 +1,35 @@ > +/* Create an empty notmuch database with a specific version and > + * features. */ > + > +#include <stdio.h> > +#include <stdlib.h> > +#include <sys/stat.h> > +#include <sys/types.h> > + > +#include <xapian.h> > + > +int main(int argc, char **argv) > +{ > + if (argc != 4) { > + fprintf (stderr, "Usage: %s mailpath version features\n", argv[0]); > + exit (2); > + } > + > + std::string nmpath (argv[1]); > + nmpath += "/.notmuch"; > + if (mkdir (nmpath.c_str (), 0777) < 0) { > + perror (("failed to create " + nmpath).c_str ()); > + exit (1); > + } > + > + try { > + Xapian::WritableDatabase db ( > + nmpath + "/xapian", Xapian::DB_CREATE_OR_OPEN); > + db.set_metadata ("version", argv[2]); > + db.set_metadata ("features", argv[3]); > + db.commit (); > + } catch (const Xapian::Error &e) { > + fprintf (stderr, "%s\n", e.get_description ().c_str ()); > + exit (1); > + } > +} > -- > 2.0.0 > > _______________________________________________ > notmuch mailing list > notmuch@notmuchmail.org > http://notmuchmail.org/mailman/listinfo/notmuch _______________________________________________ notmuch mailing list notmuch@notmuchmail.org http://notmuchmail.org/mailman/listinfo/notmuch