diff options
author | Austin Clements <amdragon@mit.edu> | 2014-08-25 13:26:01 -0400 |
---|---|---|
committer | David Bremner <david@tethera.net> | 2014-08-30 10:43:46 -0700 |
commit | d06adc52e03cefe6263aeffa01353ad59d13fb54 (patch) | |
tree | c19b129df885664d48af87848953b19e674317aa /test/make-db-version.cc | |
parent | 8363c9053152d349022b821a4a343f0ee2ade318 (diff) |
test: Tool to build DB with specific version and features
This will let us test basic version and feature handling.
Diffstat (limited to 'test/make-db-version.cc')
-rw-r--r-- | test/make-db-version.cc | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/test/make-db-version.cc b/test/make-db-version.cc new file mode 100644 index 00000000..fa80cac9 --- /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); + } +} |