# Are the ruby development files (and ruby) available? If not skip
# building/testing ruby bindings.
NOTMUCH_HAVE_RUBY_DEV=${have_ruby_dev}
+
+# Platform we are run on
+PLATFORM=${platform}
EOF
# Finally, after everything configured, inform the user how to continue.
e.g. env PATH=/opt/gnu/bin:$PATH make test
+For FreeBSD you need to install latest gdb from ports or packages and
+provide path to it in TEST_GDB environment variable before executing
+the tests, native FreeBSD gdb does not not work. If you install
+coreutils, which provides GNU versions of basic utils like 'date' and
+'base64' on FreeBSD, the test suite will use these instead of the
+native ones. This provides robustness against portability issues with
+these system tools. Most often the tests are written, reviewed and
+tested on Linux system so such portability issues arise from time to
+time.
+
+
Running Tests
-------------
The easiest way to run tests is to say "make test", (or simply run the
--- /dev/null
+# If present, use GNU Coreutils instead of a native BSD utils
+if command -v gdate >/dev/null
+ then
+ date () { gdate "$@"; }
+ base64 () { gbase64 "$@"; }
+ wc () { gwc "$@"; }
+ sed () { gsed "$@"; }
+ sha256sum () { gsha256sum "$@"; }
+ fi
# configure output
. $notmuch_path/sh.config || exit 1
+# load OS specifics
+if [ -e ./test-lib-$PLATFORM.sh ]; then
+ . ./test-lib-$PLATFORM.sh || exit 1
+fi
+
if test -n "$valgrind"
then
make_symlink () {