Next: , Previous: Installation Basics, Up: Installation


5.2 Test-Suites

Elephant is moderately mature. Hopefully, it will work out-of-the-box for you.

However, if you are using an LISP implementation different than the ones on which it is developed and maintained (currently OpenMCL, SBCL, and ACL), or as the repositories evolve, or just because of mistakes, you may need to run the test suites. If you report a bug, we will ask you to run these tests and report the output. Running them when you first install things may give you a sense of confidence and understanding that makes it worth the trouble.

There are three files that execute the tests. You should choose one as a starting point based on what backend(s) you are using. If using BerekleyDB, use

     BerkeleyDB-tests.lisp

If using both, use both of the above and also use:

     MigrationTests.lisp

The text of this file is included here to give the casual reader an idea of how elepant test can be run in general:

     ;; This file is an example of how to perform the
     ;; migration tests.  You will have to modify it
     ;; slightly depending on the systems that want to test...
     ;; You can test migration even between two BDB respositories if you wish
     (asdf:operate 'asdf:load-op :elephant)
     (asdf:operate 'asdf:load-op :ele-clsql)
     (asdf:operate 'asdf:load-op :clsql-postgresql-socket)
     (asdf:operate 'asdf:load-op :ele-bdb)
     (asdf:operate 'asdf:load-op :elephant-tests)
     ;; For sqlite-3..
     ;; (asdf:operate 'asdf:load-op :ele-sqlite3)
     
     (in-package "ELEPHANT-TESTS")
     
     ;; The primary and secondary test-paths are
     ;; use for the migration tests.
     
     ;; This this configuration for testing between BDB and SQL....
     (setq *test-path-primary* *testpg-path*)
     ;; (setq *test-path-primary* *testsqlite3-path*)
     (setq *test-path-secondary* *testdb-path*)
     
     ;; This this configuration for testing from one BDB repository to another...
     (setq *test-path-primary* *testdb-path*)
     ;; (setq *test-path-primary* *testsqlite3-path*)
     (setq *test-path-secondary* *testdb-path2*)
     
     (do-migrate-test-spec *test-path-primary*)

The appropriate test should execute for you with no errors. If you get errors, you may wish to report it the elephant-devel at common-lisp.net email list.