aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/dump-restore
Commit message (Collapse)AuthorAge
* dump/restore: Use Xapian queries for batch-tag formatGravatar Austin Clements2013-01-06
| | | | | | | | | | | | | | This switches the new batch-tag format away from using a home-grown hex-encoding scheme for message IDs in the dump to simply using Xapian queries with Xapian quoting syntax. This has a variety of advantages beyond presenting a cleaner and more consistent interface. Foremost is that it will dramatically simplify the quoting for batch tagging, which shares the same input format. While the hex-encoding is no better or worse for the simple ID queries used by dump/restore, it becomes onerous for general-purpose queries used in batch tagging. It also better handles strange cases like "id:foo and bar", since this is no longer syntactically valid.
* notmuch-restore: handle empty input file, leading blank lines and comments.Gravatar David Bremner2013-01-06
| | | | | | | | | | This patch corrects several undesirable behaviours: 1) Empty files were not detected, leading to buffer read overrun. 2) An initial blank line cause restore to silently abort 3) Initial comment line caused format detection to fail
* test/dump-restore: new tests for empty files and leading comments/whitespace.Gravatar David Bremner2013-01-06
| | | | | Three of these are marked broken; the third is a regression test, since it passes by virtue of batch-tag being the default input format.
* test/dump-restore: add test for warning/error messagesGravatar David Bremner2012-12-09
| | | | | | We want to test both that error/warning messages are generated when they should be, and not generated when they should not be. This varies between restore and batch tagging.
* test: second set of dump/restore --format=batch-tag testsGravatar David Bremner2012-12-09
| | | | | | | | These one need the completed functionality in notmuch-restore. Fairly exotic tags are tested, but no weird message id's. We test each possible input to autodetection, both explicit (with --format=auto) and implicit (without --format).
* test: update dump-restore roundtripping test for batch-tag formatGravatar David Bremner2012-12-09
| | | | | Now we can actually round trip these crazy tags and and message ids. hex-xcode is no longer needed as it's built in.
* test: add sanity check for dump --format=batch-tag.Gravatar David Bremner2012-12-08
| | | | | It's important this does not rely on restore, since it hasn't been written yet.
* test: add broken roundtrip testGravatar David Bremner2012-12-02
| | | | | | | | | | We demonstrate the current notmuch restore parser being confused by message-id's and tags containing non alpha numeric characters (particularly space and parentheses are problematic because they are not escaped by notmuch dump). We save the files as hex escaped on disk so that terminal emulators will not get confused if the test fails (as we mostly expect it to do).
* test: add nontrivial test for restore --accumulate.Gravatar David Bremner2012-11-17
| | | | | | | | | | It seems we have never tested the case that restore --accumulate actually adds tags. I noticed this when I started optimizing and no tests failed. The bracketing with "restore --input=dump.expected" are to make sure we start in a known state, and we leave the database in a known state for the next test.
* test: add more informative titles to restore --accumulate testsGravatar David Bremner2012-11-17
| | | | Thanks to Ethan for the suggestion.
* notmuch-restore: replace positional argument for input with optionGravatar David Bremner2012-08-06
| | | | | Since notmuch dump doesn't use positional arguments anymore, it seems better to be consistent.
* notmuch-dump: remove deprecated positional argument for output fileGravatar David Bremner2012-08-06
| | | | | | The syntax --output=filename is a smaller change than deleting the output argument completely, and conceivably useful e.g. when running notmuch under a debugger.
* notmuch-restore: check for extra arguments.Gravatar David Bremner2011-10-23
| | | | | We consider it an error to pass more than one file to restore, since extra ones are ignored.
* notmuch-restore: implement --accumulate optionGravatar David Bremner2011-10-23
| | | | | | | | | | | | | Modify command line argument handling to take a --accumulate flag. Test for extra arguments beyond the input file. The --accumulate switch causes the union of the existing and new tags to be applied, instead of replacing each message's tags as they are read in from the dump file. Based on a patch by Thomas Schwinge: id:"1317317857-29636-1-git-send-email-thomas@schwinge.name"
* test/dump-restore: add tests for restore --accumulateGravatar David Bremner2011-10-23
| | | | | | | | | | Flesh out what ``notmuch restore --accumulate'' is supposed to do. Its tests are currently XFAILed; the functionality will be added in future patch(es). Based on a patch by Thomas Schwinge: id:"1317317811-29540-1-git-send-email-thomas@schwinge.name"
* test/dump-restore: Fix quoting on grepGravatar David Bremner2011-10-23
| | | | | | | | Thanks to Thomas Schwinge for noticing yet another place where quoting matters. Since the shell translates \. to ., the regex passed to grep is too generous without the quotes. The use of [.] is the suggestion of Tomi Ollila.
* test/dump-restore: expand test suite for dump-restore, make more robustGravatar David Bremner2011-10-22
| | | | | | | | | | Several new tests are added, and existing use of test_begin_subtest is replaced by test_expect_success to catch failing commands in cases where we execute more than one command. Based on changes in id:"1317317811-29540-1-git-send-email-thomas@schwinge.name"
* notmuch-dump: deprecate use of output file argument.Gravatar David Bremner2011-10-16
| | | | | | | | | We print an intentionally non-specific message on stderr, since it isn't clear if there will be some global output file argument to replace. We update the test suite atomically, since it relies on having the same text in two files.
* notmuch-dump: treat any remaining arguments after the filename as search termsGravatar David Bremner2011-10-16
| | | | | | | | | The main motivation here is allow the fast dumping of tag data for messages having certain tags. In practice it seems too slow to pipe dump to grep. All dump-restore tests should be working now, so we update test/dump-restore accordingly
* test: add tests for command line arguments to notmuch-dumpGravatar David Bremner2011-10-16
| | | | | The plan is to add the possibility of search terms after the file name, and the use of -- to stop looking for an output file name.
* test: update dump-restore to use redirection instead of filename argsGravatar David Bremner2011-10-12
| | | | | | The idea here is that we want to deprecate the use of arguments to dump and restore to specify paths, since in particular we want to use the non-option arguments to dump to form a query.
* test: change "#!/bin/bash" to "#!/usr/bin/env bash" enhances portabilityGravatar Joel Borggrén-Franck2011-05-27
| | | | | | Change #!/bin/bash at start of tests to "#!/usr/bin/env bash". That way systems running on bash < 4 can prepend bash >= 4 to path before running the tests.
* test: Fix the search and dump-restore tests to operator on non-empty mail store.Gravatar Carl Worth2010-09-20
| | | | | We do this with a new add_email_corpus function that establishes a mail store with 50 messages from the notmuch mailing list.
* test: Remove useless NOTMUCH variable (in favor of simply "notmuch")Gravatar Carl Worth2010-09-20
| | | | | | | | | | When the NOTMUCH variable was originally invented it was used as an explicit path to the notmuch binary being tested. Today, the test suite sets the PATH variable instead, so the NOTMUCH variable always has a value of simply "notmuch". We simplifying that by using the constant value rather than the continual variable reference.
* test: Rename all tests to get rid of the ugly numbers in file names.Gravatar Carl Worth2010-09-17
The numbers were meaningless, and they made it hard to find a file of interest. Instead, we get the ordering we want by adding an explicit list of tests to run to the notmuch-test script.