aboutsummaryrefslogtreecommitdiffhomepage
Commit message (Collapse)AuthorAge
...
| * lib: call g_type_init from notmuch_database_openGravatar David Bremner2011-12-04
| | | | | | | | | | We want to make sure g_type_init is called before any GObject functionality is used.
* | notmuch-dump.c: whitespace cleanupGravatar David Bremner2011-12-04
| |
* | python: annotate all calls into libnotmuch with typesGravatar Justus Winter2011-12-01
| | | | | | | | | | | | | | | | | | | | | | Add type information to the ctypes._FuncPtr wrappers and use the wrapper classes instead of c_void_p for pointers to notmuch_*_t. This enables the ctypes library to type check parameters being handed to functions from the notmuch library. Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>
* | python: add classes to wrap all notmuch_*_t typesGravatar Justus Winter2011-12-01
| | | | | | | | Signed-off-by: Justus Winter <4winter@informatik.uni-hamburg.de>
* | test: fix error messages for missing binary dependenciesGravatar Dmitry Kurochkin2011-11-30
| | | | | | | | | | | | | | The fake missing binary functions check if the binary has already be added to the diagnostic message to avoid duplicates. Unfortunately, this check was buggy because the message string does not have the trailing space.
* | test: fix spurious output from missing external binaries functionsGravatar Dmitry Kurochkin2011-11-30
| | | | | | | | | | The grep(1) command used in the fake binary functions was missing the quiet option.
* | test: add missing escape backslash in test_declare_external_prereq()Gravatar Dmitry Kurochkin2011-11-30
| |
* | test: fix test_require_external_prereq()Gravatar Dmitry Kurochkin2011-11-30
| | | | | | | | | | | | test_missing_external_prereq_${binary}_ variable indicates that the binary is missing. It must be set in test_declare_external_prereq() outside of the fake $binary() function.
* | emacs: Use notmuch-command variable in process-lines.Gravatar Chris Gray2011-11-30
| | | | | | | | | | | | | | The process-lines function calls the notmuch binary. The location of the binary may have been customized by the user, so it is better to use the customized location rather than allowing the process-lines function to search the user's PATH for the binary.
* | dump: Don't sort the output by message id.Gravatar Thomas Schwinge2011-11-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Asking xapian to sort the messages for us causes suboptimal IO patterns. This would be useful, if we only wanted the first few results, but since we want everything anyway, this is pessimization. On 2011-10-29, a measurement on a 372981 messages instance showed that wall time can be reduced from 28 minutes (sorted by Message-ID) to 15 minutes (unsorted). Timings on 189605 messages: $ time notmuch.old dump 19.48user 5.83system 12:10.42elapsed 3%CPU (0avgtext+0avgdata 110656maxresident)k 3629584inputs+22720outputs (33major+7073minor)pagefaults 0swaps $ echo 3 > /proc/sys/vm/drop_caches $ time notmuch.new 14.89user 1.20system 3:23.58elapsed 7%CPU (0avgtext+0avgdata 46032maxresident)k 1256264inputs+22464outputs (43major+1990minor)pagefaults 0swaps
* | tag: Automatically limit to messages whose tags will actually change.Gravatar Austin Clements2011-11-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This optimizes the user's tagging query to exclude messages that won't be affected by the tagging operation, saving computation and IO for redundant tagging operations. For example, notmuch tag +notmuch to:notmuch@notmuchmail.org will now use the query ( to:notmuch@notmuchmail.org ) and (not tag:"notmuch") In the past, we've often suggested that people do this exact transformation by hand for slow tagging operations. This makes that unnecessary.
* | test: fix "Stashing in notmuch-search" test when emacs is not availableGravatar Dmitry Kurochkin2011-11-27
| | | | | | | | | | | | If emacs is not available, test_expect_equal would be called with only one argument. The patch fixes this by quoting the (possibly empty) $(cat OUTPUT) argument.
* | test: check if emacs is available in the beginning of test_emacsGravatar Dmitry Kurochkin2011-11-27
| | | | | | | | Unfortunately, this is needed to avoid the emacs waiting loop.
* | test: add function to explicitly check for external dependenciesGravatar Dmitry Kurochkin2011-11-27
| | | | | | | | Useful when binary is called indirectly (e.g. from emacs).
* | test: declare external dependencies for the testsGravatar Dmitry Kurochkin2011-11-27
| | | | | | | | That are: dtach(1), emacs(1), emacsclient(1), gdb(1) and gpg(1).
* | test: skip all subtests if external dependencies are missing during initGravatar Dmitry Kurochkin2011-11-27
| | | | | | | | | | | | | | | | | | | | Some tests (e.g. crypto) do a common initialization required for all subtests. The patch adds a check for missing external dependencies during this initialization. If any prerequisites are missing, all subtests are skipped. The check is run on the first call of test_reset_state_ function, so no changes for the tests are needed.
* | test: fix "skipping test" verbose outputGravatar Dmitry Kurochkin2011-11-27
| |
* | test: add support for external executable dependenciesGravatar Dmitry Kurochkin2011-11-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is existing support for general prerequisites in the test suite. But it is not very convenient to use: every test case has to keep track for it's dependencies and they have to be explicitly listed. The patch aims to add better support for a particular type of external dependencies: external executables. The main idea is to replace missing external binaries with shell functions that have the same name. These functions always fail and keep track of missing dependencies for a subtest. The result reporting functions later can check that an external binaries are missing and correctly report SKIP result instead of FAIL. The primary benefit is that the test cases do not need to declare their dependencies or be changed in any way.
* | test: add test state reset to test_expect_* functions that did not have itGravatar Dmitry Kurochkin2011-11-27
| |
* | test: set EMACS_SERVER variable only after dtach(1) was successfully startedGravatar Dmitry Kurochkin2011-11-27
| | | | | | | | | | Otherwise, we can set the EMACS_SERVER and return with an error. And subsequent calls to test_emacs would assume that emacs server is running.
* | test: move subtest variables reset into a dedicated functionGravatar Dmitry Kurochkin2011-11-27
| | | | | | | | | | Currently, there is only one such variable test_subtest_known_broken_. But more will be added in the future.
* | Build symbol-test with make instead of hardcoding in symbol-hiding.Gravatar Amadeusz Żołnowski2011-11-27
| | | | | | | | | | | | If symbol-test is built in symbol-hiding with hardcoded g++ invokation, it's not so easy to pass $(srcdir) which is required to find notmuch.h when srcdir and builddir are separate directories.
* | Merge branch 'release'Gravatar David Bremner2011-11-26
|\|
* | build system: clean up object files in ./test and ./utilGravatar David Bremner2011-11-26
| |
* | Whitespaces cleanup.Gravatar Amadeusz Żołnowski2011-11-26
| |
* | Fix warnings for test/symbol-test.cc.Gravatar Amadeusz Żołnowski2011-11-26
| |
* | test: cleanup basic testsGravatar Dmitry Kurochkin2011-11-26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Basic test 'Ensure that all available tests will be run by notmuch-test' compares all tests that are run with listing of test/ directory. There is a growing list of exceptions for files and directories which located in the test/ directory but are not tests. Moreover some (probably buggy) tests do create files in the the test/ directory which may be left behind in case of failure. This makes the basic test fail. The patch changes the test to look only for regular executable files. This makes the exception list much smaller. And since no tests should create executables in the test/ directory (if there are, they should be fixed), the basic test should not be affected by failed or interrupted tests.
* | test: fix sed error in basic testsGravatar Dmitry Kurochkin2011-11-26
| | | | | | | | | | | | | | | | | | | | | | | | | | The error is easy to miss, because the test passes and stderr is not printed. But if you run basic tests in verbose mode (./basic --verbose), you get: sed: can't read notmuch-test: No such file or directory The issue is that sed command is given two files: notmuch-test and $TEST_DIRECTORY/notmuch-test. And there is no notmuch-test file in the current directory (test/tmp.basic/). The patch just removes the non-existing file from the sed command.
* | test: remove executable permissions from test-lib.shGravatar Dmitry Kurochkin2011-11-26
| | | | | | | | It is not supposed to be run, only sourced.
* | emacs: test notmuch show with fourfold message indentationGravatar Gregor Zattler2011-11-25
| | | | | | | | | | | | | | Previous behaviour was to indent messages in a thread according to depth by one space per level. This commit tests if setting notmuch-indent-messages-width to `4' provides a message thread with four spaces of indentation thread depth.
* | emacs: test: notmuch show without indentationGravatar Gregor Zattler2011-11-25
| | | | | | | | | | | | | | | | | | Previous behaviour was to indent messages in a thread according to depth by one space per level. In id:1311028119-50637-1-git-send-email-fgeller@gmail.com Felix Geller proposed a patch in order to turn indentation off. This commit tests if instead setting notmuch-indent-messages-width to `0' does turn off indentation.
* | emacs: test notmuch-indent-messages-width defaultGravatar Gregor Zattler2011-11-25
| | | | | | | | | | | | | | | | Previous behaviour was to indent messages in a thread according to depth by one space per level. This is still the case with notmuch-indent-messages-width default value `1'. This test succeeds if output with default value is same as in "Basic notmuch-show view in emacs".
* | emacs: make message indentation width customisableGravatar Gregor Zattler2011-11-25
| | | | | | | | | | | | | | | | | | | | | | Till now Emacs UI indents messages according to their respecive depth of neting in the thread. The actual width of indentation per level is hardcoded to `1' space. This patch makes message indentation customisable by introducing a variable `notmuch-indent-messages-width' which defaults to `1', which is the same as before. Felix could set this variable to `0' in order to disable indentation, I tested it with a value of `4' for a clearer separation of messages in a thread.
| * test: add simple tests for online helpGravatar David Bremner2011-11-25
| | | | | | | | Nothing fancy, but we can at least detect segmentation faults.
| * NEWS: add NEWS stanza for 0.10.1Gravatar David Bremner2011-11-25
| | | | | | | | | | Explain the bug fix in slightly less technical language than in the Debian changelog.
| * debian: changelog stanza for 0.10.1Gravatar David Bremner2011-11-25
| |
| * version: update to 0.10.1Gravatar David Bremner2011-11-25
| |
| * CLI: update call to notmuch_help_command for new calling conventions.Gravatar David Bremner2011-11-25
| | | | | | | | | | | | | | | | | | When I changed the calling convention to pass in all but the zero-th argument to subcommands, I missed this one call, resulting in a segmentation fault. As a bonus, the syntax "notmuch --help foo" is now equivalent to "notmuch help foo".
* | make release: use sed to check debian versionGravatar Tomi Ollila2011-11-24
| | | | | | | | | | | | Use common sed tool instead of dpkg-parsechangelog (which is usually available on debian systems only) to verify that debian version information is consistent with version file.
* | make release: added goal verify-version-manpageGravatar Tomi Ollila2011-11-24
| | | | | | | | | | Check that the version mentioned in notmuch manual page is consistent with the version file.
* | make release: verify-version-*: change comparison logicGravatar Tomi Ollila2011-11-24
| | | | | | | | | | | | | | | | | | | | | | | | | | verfy-version-debian, verify-version-python and verify-version-components checked noneqality of the comparison strings and if got "positive" answer then made that goal fail. But in case of the test ([ ]) execution failed it never got to the 'then' part of the line (and the 'if [ ... ] then ... fi ' construct doesn't make the script line fail in case of problems inside [ ]. This commit inverses the "logic", so that only if the comparison for equality succeeds the script line will exit with 0 and execution can continue past the failure case to the next line (executed by another shell) with '@echo done'
* | emacs: Avoid unnecessary markers.Gravatar Austin Clements2011-11-24
| | | | | | | | | | This is just cleanup. These markers are all immediately resolved to points by Emacs, so using markers here is just unncessary overhead.
* | emacs: Don't record undo information for search or show buffers.Gravatar Austin Clements2011-11-24
| | | | | | | | | | | | There's no reason to record undo information for read-only, programmatically-constructed buffers. The undo list just chews up memory keeping track of our calls to insert.
* | debian/control: require dtach version >= 0.8 in Build-DependsGravatar Tomi Ollila2011-11-24
| | | | | | | | | | | | Since version 0.8 of dtach -n does no longer require controlling tty to be present when executed. Currently controlling tty is not always (if ever) present when tests are executed.
* | Merge branch 'release'Gravatar David Bremner2011-11-23
|\|
| * debian: changelog stanza for 0.10Gravatar David Bremner2011-11-23
| | | | | | | | Give a brief summary of (and pointer to) NEWS
| * NEWS: set (approximate) date for 0.10 releaseGravatar David Bremner2011-11-23
| | | | | | | | It doesn't really matter if we are off by a day.
| * version: update to 0.10Gravatar David Bremner2011-11-23
| |
| * NEWS: item for silent killing of search buffers.Gravatar David Bremner2011-11-23
| | | | | | | | | | This is maybe borderline for inclusion in NEWS, but maybe the NEWS item helps someone who thinks there is a bug.
| * contrib/notmuch-deliver: don't export from gitGravatar David Bremner2011-11-23
| | | | | | | | | | | | This prevents it from being part of the release tarballs. Hopefully this is only temporary while we sort out the GPL2 versus GPL3 question.