diff options
| author | Mikhail <mp39590@gmail.com> | 2017-03-09 09:32:43 -0400 |
|---|---|---|
| committer | David Bremner <david@tethera.net> | 2017-03-25 07:56:52 -0300 |
| commit | 9b7dbed58ebd3aeee16b044fdffda6b39e90643e (patch) | |
| tree | 25f919a885e83e43954ef085ececbd849463f447 /test | |
| parent | e1ddd27968673e6785300e739f5257b83841fb97 (diff) | |
tests: add compatibility layer
Make test-lib-common.sh load test-lib-<$PLATFORM>.sh to create
additional shim for platform specifics.
Use test-lib-FREEBSD.sh to call GNU utilities instead of native ones.
- amended by db following Tomi's suggestions
Diffstat (limited to 'test')
| -rw-r--r-- | test/README | 11 | ||||
| -rw-r--r-- | test/test-lib-FREEBSD.sh | 9 | ||||
| -rw-r--r-- | test/test-lib-common.sh | 5 |
3 files changed, 25 insertions, 0 deletions
diff --git a/test/README b/test/README index dcd05237..f2499bce 100644 --- a/test/README +++ b/test/README @@ -33,6 +33,17 @@ chosen directory to your PATH before running the tests. 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 diff --git a/test/test-lib-FREEBSD.sh b/test/test-lib-FREEBSD.sh new file mode 100644 index 00000000..d1840b56 --- /dev/null +++ b/test/test-lib-FREEBSD.sh @@ -0,0 +1,9 @@ +# 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 diff --git a/test/test-lib-common.sh b/test/test-lib-common.sh index a96cfbeb..ef409171 100644 --- a/test/test-lib-common.sh +++ b/test/test-lib-common.sh @@ -66,6 +66,11 @@ export LD_LIBRARY_PATH # 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 () { |
