hypre/AUTOTEST
2015-07-24 08:52:09 -07:00
..
autotest.sh Adding Ruipeng to the autotest email list. 2015-07-24 08:52:09 -07:00
basictest.sh Changed the default configuration to use the assumed partition and added a new 2015-01-12 13:06:36 -08:00
check-double.filters Added HYPRE_Complex and HYPRE_Real types in place of double. 2013-10-11 19:48:06 +00:00
check-double.sh Fixed some cmake problems and added a cmake autotest script that runs every 2015-01-20 14:54:12 -08:00
check-glob-symb.filters Added scripting to find directory location of symbols and filter. 2011-11-05 00:13:55 +00:00
check-glob-symb.sh Added scripting to find directory location of symbols and filter. 2011-11-05 00:13:55 +00:00
check-int.filters Changed 'long' to either 'hypre_longint' or 'HYPRE_Int'. 2011-01-27 19:46:14 +00:00
check-int.sh Fixed some cmake problems and added a cmake autotest script that runs every 2015-01-20 14:54:12 -08:00
check-mpi.filters Fixed some strict checking errors associated with type hypre_MPI_User_function. 2012-05-25 21:00:52 +00:00
check-mpi.sh Fixed some cmake problems and added a cmake autotest script that runs every 2015-01-20 14:54:12 -08:00
cmaketest.sh Adding the struct_migrate driver to the cmake autotest script 2015-04-28 14:14:50 -07:00
configure.filters Changing filters to work with new Red Hat RHEL6 release on my linux box. 2012-09-19 23:30:17 +00:00
configure.sh Added HYPRE_config.h and babel-runtime/config.log to configure.dir. 2008-08-08 17:31:54 +00:00
cronfile Adding rzmerl and vulcan tests. 2013-10-29 21:24:59 +00:00
docs.sh Fixed to correctly cd into new docs_misc directory 2008-07-23 15:20:44 +00:00
examples.sh Changed the default configuration to use the assumed partition and added a new 2015-01-12 13:06:36 -08:00
klocwork.filters Adding filters 2012-04-30 15:44:23 +00:00
klocwork.sh Added code to delete old builds 2012-07-03 18:34:03 +00:00
link.filters Adding a filter to fix vulcan link++ test. 2013-11-12 15:46:39 +00:00
link.sh Removed the "-j" option of make. Though it speeds-up the build by a 2008-07-23 14:50:59 +00:00
machine-mac.sh Wrote a script to rename tests instead of using unportable 'rename' function. 2015-01-12 17:50:56 -08:00
machine-rzcereal3.sh Wrote a script to rename tests instead of using unportable 'rename' function. 2015-01-12 17:50:56 -08:00
machine-rzmerl.sh Wrote a script to rename tests instead of using unportable 'rename' function. 2015-01-12 17:50:56 -08:00
machine-rzzeus.sh Wrote a script to rename tests instead of using unportable 'rename' function. 2015-01-12 17:50:56 -08:00
machine-tux-compilers.sh Changed the default configuration to use the assumed partition and added a new 2015-01-12 13:06:36 -08:00
machine-tux.sh Changed configure --with-insure option to instrument all of the source files 2015-02-12 16:08:39 -08:00
machine-vulcan.sh Wrote a script to rename tests instead of using unportable 'rename' function. 2015-01-12 17:50:56 -08:00
make.filters Fixed problem with previously added filter 2013-09-30 14:58:47 +00:00
make.sh Removed the "-j" option of make. Though it speeds-up the build by a 2008-07-23 14:50:59 +00:00
README.txt Removed comment about paths in scripts. 2007-12-11 20:30:15 +00:00
renametest.sh Wrote a script to rename tests instead of using unportable 'rename' function. 2015-01-12 17:50:56 -08:00
run.sh Fixed some cmake problems and added a cmake autotest script that runs every 2015-01-20 14:54:12 -08:00
test.sh Changed the default configuration to use the assumed partition and added a new 2015-01-12 13:06:36 -08:00
testdist.sh Adding rzmerl and vulcan tests. 2013-10-29 21:24:59 +00:00
testsrc.sh Explicitly added the remote user name to the rsync command, which seems to 2011-07-29 17:29:49 +00:00

This directory contains scripts for running various tests on the hypre library.
They are run automatically as part of hypre's regression testing, and they are
run manually to test new distributions of hypre before releasing them to the
public.  The scripts augment the 'runtest.sh' runtime tests in 'test/TEST_*'.

Every test in this directory may be run manually by developers without fear of
interfering with the auto-testing, as long as they are not run from within the
auto-testing directory (currently '/usr/casc/hypre/testing').

=====================

Organization:

This directory mainly consists of a number of simple Bourne-shell scripts (the
files with a '.sh' extension).  Except for a few "special scripts" (below), each
represents an individual test written by a hypre developer.  The special scripts
are as follows (note that they are the only scripts with "test" in their names):

1. 'test.sh' - Used to run individual tests locally on a machine.
2. 'testsrc.sh' - Used to run individual tests on a remote machine.
3. 'testdist.sh' - Used to test a new distribution before release.
4. 'autotest.sh' - Usually run in an automatic fashion by 'cron', but may also
                   be run manually by developers (useful for debugging).

Usage information for every script (special or individual test) can be obtained
by running it with the '-h' option (e.g., 'test.sh -h' or 'make.sh -h').

The file 'cronfile' encapsulates the current 'cron' entries for auto-testing.
It is possible (and probable) to have multiple developers running 'cron' jobs as
part of the overall auto-testing.  This needs to be coordinated if the output
files are being written to the global auto-testing directory.

=====================

Writing tests:

The rules for writing tests are given in the 'test.sh -h' usage information.
When writing tests, keep in mind the design goals below, especially with respect
to simplicity, flexibility, and portability.

To write a new test, just use an existing test (e.g., 'default.sh') as a
template and make the appropriate modifications.  Try not to use the word "test"
in the name of the script so that we can keep the convention of only the special
scripts having this in their names.  Try not to use absolute directory paths in
the script.  If in doubt, talk to another developer or send an inquiry to
hypre-support@llnl.gov.

=====================

Design goals:

- Minimal limitations on the types of tests that are possible.
- Developers should be able to run the tests manually.
- Tests should be runable on both the repository and each release.
- Minimal dependence on operating system and software tools (for portability).
- Developers should be able to easily add new tests.
- Simplicity and flexibility.