aboutsummaryrefslogtreecommitdiffhomepage
path: root/test
Commit message (Collapse)AuthorAge
* test: remove ".sh" extension from the recently added Emacs testsGravatar Dmitry Kurochkin2012-02-03
| | | | | All test files, except for the recently added Emacs tests, do not have ".sh" extension. So remove it from the new test files for consistency.
* emacs: Another special case for `notmuch-show-clean-address'.Gravatar David Edmondson2012-01-27
| | | | Remove backslashes.
* test: Updated expected output for new `notmuch-show-clean-address'.Gravatar David Edmondson2012-01-27
|
* emacs: Avoid `mail-header-parse-address' in `notmuch-show-clean-address'.Gravatar David Edmondson2012-01-27
| | | | | | | | | | `mail-header-parse-address' expects un-decoded mailbox parts, which is not what we have at this point. Replace it with simple string deconstruction. Mark the corresponding test as no longer broken. Minor whitespace cleanup.
* test: `notmuch-test-run' should protect against buffer switching.Gravatar David Edmondson2012-01-26
| | | | | | The body of the test may cause the current buffer to change. Ensure that the output goes to the correct buffer by switching back before inserting it.
* test: `visible-buffer-substring' should not return text properties.Gravatar David Edmondson2012-01-26
| | | | | When using `visible-buffer-substring' to examine a buffer, the text properties are not useful, so don't include them.
* emacs: polish notmuch-hello help textGravatar Dmitry Kurochkin2012-01-26
| | | | Make `=' binding description consistent with others.
* emacs: bind "s" to `notmuch-search' in notmuch-hello bufferGravatar Dmitry Kurochkin2012-01-25
| | | | | | Before the change, "s" in notmuch-hello buffer would jump to the search box. The patch changes the binding to `notmuch-search' which is consistent with all other notmuch buffers.
* test: Add address cleaning tests.Gravatar David Edmondson2012-01-25
|
* test: Add more helpers for emacs tests.Gravatar David Edmondson2012-01-25
|
* test: Add `test_emacs_expect_t'.Gravatar David Edmondson2012-01-25
| | | | | | | | | Add a new test function to allow simpler testing of emacs functionality. `test_emacs_expect_t' takes one argument - a lisp expression to evaluate. The test passes if the expression returns `t', otherwise it fails and the output is reported to the tester.
* test: Don't return the result of checking for running emacs to the tester.Gravatar David Edmondson2012-01-25
| | | | | | | | When checking for a running emacs, test_emacs evaluates the empty list '()'. This returns 'nil' when emacs is running, which is then prepended to the actual test result. Given that it is not part of the actual test output the test harness can incorrectly report test failure (or success).
* config: only exclude messages if 'search.exclude_tags' is explicitly setGravatar Pieter Praet2012-01-23
| | | | | | | | | | | | Currently, the 'search.exclude_tags' option is automatically set to "deleted;spam;" if it's missing from the config file. This violates the Principle of Least Surprise, so *only* set 'search.exclude_tags' to "deleted;spam;" if we didn't find a configuration file at all. This patch is actually Austin Clements' work: id:"20120117203211.GQ16740@mit.edu"
* test: only exclude "deleted" messages from search if explicitly configuredGravatar Pieter Praet2012-01-23
| | | | | | | | | Currently, the 'search.exclude_tags' option is automatically set to "deleted;spam;" if it's missing from the config file. This violates the Principle of Least Surprise, so update the tests to *only* expect the exclusion of messages which are tagged "deleted" if the 'search.exclude_tags' option is explicitly set *and* contains that tag.
* show: Use consistent header ordering in the text formatGravatar Austin Clements2012-01-23
| | | | | | | | | | Previously, top-level message headers were printed as Subject, From, To, Date, while embedded message headers were printed From, To, Subject, Date. This makes both cases use the former order and updates the tests accordingly. Strangely, the raw format also uses this function, so this also fixes the two raw format tests affected by this change.
* test/emacs-large-search-buffer: correct typo (EXPEXTED -> EXPECTED)Gravatar Pieter Praet2012-01-23
| | | | introduced in commit 3b24b396
* test: make (kill-emacs) from emacsclient work with emacs 23.(1|2)Gravatar Tomi Ollila2012-01-22
| | | | | | | emacsclient --eval '(kill-emacs)' makes emacs versions 23.1 and 23.2 ask user input from running emacs. Redefining yes-or-no-p function when kill-emacs is executed for these emacs versions in test-lib.el avoids this test problem.
* test: whitespace-cleanup for most test/* filesGravatar Tomi Ollila2012-01-22
| | | | | | Used emacs (whitespace-cleanup) function to "cleanup blank problems" in test files where that could be done without breaking tests; test/emacs was partially, and test/multipart was fully reverted.
* Add compatibility with gmime 2.6Gravatar Thomas Jost2012-01-21
| | | | | | | | | | | | | | There are lots of API changes in gmime 2.6 crypto handling. By adding preprocessor directives, it is however possible to add gmime 2.6 compatibility while preserving compatibility with gmime 2.4 too. This is mostly based on id:"8762i8hrb9.fsf@bookbinder.fernseed.info". This was tested against both gmime 2.6.4 and 2.4.31. With gmime 2.4.31, the crypto tests all work fine (as expected). With gmime 2.6.4, one crypto test is currently broken (signature verification with signer key unavailable), most likely because of a bug in gmime which will hopefully be fixed in a future version.
* emacs: add invisible dot instead of space at the end of notmuch-hello search boxGravatar Dmitry Kurochkin2012-01-21
| | | | | | | | | | This makes `show-trailing-whitespace' happy, i.e. it does not mark the whole search box line as trailing spaces. Since the dot is invisible, this change makes no visible difference for `notmuch-hello'. Edited-by: Pieter Praet <pieter@praet.org> to fix the tests.
* Document external dependencies in the test suiteGravatar Ethan Glasser-Camp2012-01-21
| | | | | | | | Add an explicit note to the README explaining what programs are necessary and the perhaps-surprising behavior of skipping tests if they aren't present. Signed-off-by: Ethan Glasser-Camp <ethan@betacantrips.com>
* Fix dependency generation for compat, test, and utilGravatar Austin Clements2012-01-19
| | | | | This adds source files in compat, test, and util to SRCS so that the top-level Makefile.local will generate dependency files for them.
* search: Support automatic tag exclusionsGravatar Austin Clements2012-01-16
| | | | | | This adds a "search" section to the config file and an "auto_tag_exclusions" setting in that section. The search and count commands pass tag tags from the configuration to the library.
* cli: pick the user's address in a group list as from addressGravatar Jani Nikula2012-01-16
| | | | | | | Messages received to a group list were not replied to using the from address in the list. Fix it. Signed-off-by: Jani Nikula <jani@nikula.org>
* test: add known broken test for reply from address in named group listGravatar Jani Nikula2012-01-16
| | | | | | | | | | If a message was received to the user's address that was in a named group list, notmuch reply does not use that address for picking the from address. Groups lists are of the form: foo:bar@example.com,baz@example.com; Signed-off-by: Jani Nikula <jani@nikula.org>
* test: don't bail out of `run_emacs' too early when missing prereqsGravatar Pieter Praet2012-01-15
| | | | | | | | | | | | | | | | | | | | | | | | | | When running the Emacs tests in verbose mode, only the first missing prereq is reported because the `run_emacs' function is short-circuited early: #+begin_example emacs: Testing emacs interface missing prerequisites: [0] emacs(1) skipping test: [0] Basic notmuch-hello view in emacs SKIP [0] Basic notmuch-hello view in emacs #+end_example This can lead to situations reminiscent of "dependency hell", so instead of returning based on each individual `test_require_external_prereq's exit status, we now do so only after checking all the prereqs: #+begin_example emacs: Testing emacs interface missing prerequisites: [0] dtach(1) emacs(1) emacsclient(1) skipping test: [0] Basic notmuch-hello view in emacs SKIP [0] Basic notmuch-hello view in emacs #+end_example Also added missing prereq for dtach(1).
* test: add tests for "notmuch reply" --reply-to=senderGravatar Mark Walters2012-01-14
|
* Merge branch 'release'Gravatar David Bremner2012-01-13
|\ | | | | | | | | | | Conflicts: notmuch-reply.c notmuch.1
* | python test "compare message ids"Gravatar Patrick Totzke2012-01-08
| | | | | | | | | | | | Introduces a second (trivial) test for the python bindings that searches for message ids and compares the output with that of `notmuch search`.
* | clean up "compare thread ids" python testGravatar Patrick Totzke2012-01-08
| | | | | | | | | | This makes the test script open the database in READ_ONLY mode and use the libraries own sorting methods instead of "sort".
| * emacs: fix notmuch-show-indent-messages-width customization variable nameGravatar Jameson Graef Rollins2012-01-05
| | | | | | | | | | The name was originally notmuch-indent-messages-width, which is inconsistent with our variable naming convention.
* | lib: call g_mime_init() from notmuch_database_open()Gravatar Kazuo Teramoto2011-12-31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | As reported in id:"CAEbOPGyuHnz4BPtDutnTPUHcP3eYcRCRkXhYoJR43RUMw671+g@mail.gmail.com" sometimes gmime tries to access a NULL pointer, e.g. g_mime_iconv_open() tries to access iconv_cache that is NULL if g_mime_init() is not called. This causes notmuch to segfault when calling gmime functions. Calling g_mime_init() initializes iconv_cache and others variables needed by gmime, making sure they are initialized when notmuch calls gmime functions. Test marked fix by db.
* | test: add two new messages to corpus with iso-8859-1 encodingGravatar David Bremner2011-12-31
| | | | | | | | | | | | One is quoted printable, the other users 8 bit encoding. The latter triggers a bug in the python bindings due to missing call to g_mime_init. The corresponding test is marked broken in this commit.
* | test: use file based comparison for search '*' testGravatar David Bremner2011-12-31
| | | | | | | | | | This seems a bit easier to maintain, and is more accurate since lines are not joined together.
* | test/symbol-hiding: prepend new directory to LD_LIBRARY_PATHGravatar Tomi Ollila2011-12-31
| | | | | | | | | | | | | | Tester may have set LD_LIBRARY_PATH to find libraries required by notmuch. Therefore add $TEST_DIRECTORY/../lib to the beginning of current list of library paths in $LD_LIBRARY_PATH before running symbol-test.
* | test: Remove #! line from test-lib.shGravatar Austin Clements2011-12-29
| | | | | | | | | | | | | | | | It makes no sense to run test-lib.sh, so it makes no sense to give it an interpreter. This is particularly annoying for Emacs users who have executable-insert set, since the presence of the #! line will cause Emacs to mark test-lib.sh executable when saving it, which will in turn case the 'basic' test to fail.
* | test: Make generated message date a real dateGravatar Austin Clements2011-12-29
| | | | | | | | | | | | | | | | | | January 5, 2001 was a Tuesday, not a Friday. Jameson fixed this exact problem for the multipart test in ec2b0a98cc, but not for generate_message itself. As Jameson pointed out in ec2b0a98cc, if we want to test date parsing, we should do it separately.
* | test: allow user to choose which emacs to run tests with.Gravatar David Bremner2011-12-28
| | | | | | | | | | | | | | | | | | | | | | | | As we start to pay more attention to emacs24, it helps to be able to select a different version of emacs to run the tests with to verify version specific bugs. A separate variable TEST_EMACS is needed to avoid being overwritten by the make variable EMACS in Makefile.config For what it's worth, the value of emacs is chosen at the time tmp.emacs/run_emacs is created, so is fixed for all subtests.
* | test: Updated the expected output to match the newly enabled text/plain hooks.Gravatar David Edmondson2011-12-28
| |
* | test: emacs: test notmuch-wash-subject-to-* functionsGravatar Jani Nikula2011-12-28
|/ | | | Signed-off-by: Jani Nikula <jani@nikula.org>
* test: add test for `notmuch-hello-refresh-hook'Gravatar Dmitry Kurochkin2011-12-22
| | | | | | | | Test that `notmuch-hello-refresh-hook' is called once when `notmuch-hello' is called and twice when calling `notmuch-hello-update' after that. The tests are very similar to tests for `notmuch-hello-mode-hook'.
* test: add general Emacs hook counterGravatar Dmitry Kurochkin2011-12-22
| | | | | Replace `notmuch-hello-mode-hook-counter' with general `hook-counter' and `add-hook-counter' functions to allow counting calls for any hook.
* emacs: do not call `notmuch-hello-mode' on updateGravatar Dmitry Kurochkin2011-12-20
| | | | | | | | | | | `notmuch-hello' should call `notmuch-hello-mode' function only when run for the first time. But before the change, `notmuch-hello' used `kill-all-local-variables' to remove editable widgets fields. This caused the major mode to be reset, and `notmuch-hello-mode' to be called every time. The patch manually deletes all editable widget fields and removes `kill-all-local-variables' call.
* test: add broken test for `notmuch-hello-mode-hook' called during updateGravatar Dmitry Kurochkin2011-12-20
| | | | | Test that `notmuch-hello-mode-hook' is not called during `notmuch-hello' buffer updates. The test is currently broken.
* test: add test for `notmuch-hello-mode-hook'Gravatar Dmitry Kurochkin2011-12-20
| | | | | Test that `notmuch-hello-mode-hook' is called once when `notmuch-hello' function is called.
* test: add `notmuch-hello-mode-hook-counter'Gravatar Dmitry Kurochkin2011-12-20
| | | | | | | Add `notmuch-hello-mode-hook-counter' hook to count how many times `notmuch-hello-mode-hook' was called. The counter function increments `notmuch-hello-mode-hook-counter' variable value if it is bount, otherwise it does nothing.
* test: optionally print subtest numberGravatar David Bremner2011-12-18
| | | | | | | The idea is that $test_count could be used in tests to label intermediate files. The output enabled by this patch (and --debug) helps figure out which OUTPUT.nn file belongs to which test in case several subtests write to OUTPUT.$test_count
* Fix build with binutils-2.22Gravatar Thomas Jost2011-12-17
| | | | | | | | | | | | | | | | | | | binutils-2.22 changes the behaviour of ld by defaulting to --no-copy-dt-needed-entries, which means that required objects/libs are not "indirectly" linked through intermediate objects/libs anymore. As a consequence, when using binutils-2.22, building symbol-test fails with the following error: /usr/bin/ld: test/symbol-test.o: undefined reference to symbol 'std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()@@GLIBCXX_3.4' /usr/bin/ld: note: 'std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string()@@GLIBCXX_3.4' is defined in DSO /usr/lib/libstdc++.so.6 so try adding it to the linker command line /usr/lib/libstdc++.so.6: could not read symbols: Invalid operation An easy fix is to link using CXX instead of CC.
* Revert "test: add emacs test for hiding a message following an HTML part"Gravatar David Bremner2011-12-15
| | | | | | | | | | | This reverts commit c6a3a768fef9f59f483af04f4418d350efc27968. This test is unreliable, showing BROKEN in some environments and FIXED in others. The confusion seems to outweigh the benefits, for now. Conflicts: test/emacs
* test: add arg-test to .gitignoreGravatar David Bremner2011-12-12
| | | | This should have been done when the binary was added, oops.