| 
									
										
										
										
											2022-04-06 07:19:51 +08:00
										 |  |  | # Copyright (c) 1998 Lawrence Livermore National Security, LLC and other | 
					
						
							| 
									
										
										
										
											2019-07-08 10:26:24 +08:00
										 |  |  | # HYPRE Project Developers. See the top-level COPYRIGHT file for details. | 
					
						
							|  |  |  | # | 
					
						
							|  |  |  | # SPDX-License-Identifier: (Apache-2.0 OR MIT) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-11-17 04:54:15 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-11-30 07:40:58 +08:00
										 |  |  | This directory contains scripts for running various tests on the hypre library. | 
					
						
							| 
									
										
										
										
											2017-06-17 04:48:44 +08:00
										 |  |  | The scripts augment the 'runtest.sh' runtime tests in 'test/TEST_*'. | 
					
						
							| 
									
										
										
										
											2007-11-17 04:54:15 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-06-17 04:48:44 +08:00
										 |  |  | Every test in this directory may be run manually by developers.  Many of the | 
					
						
							|  |  |  | scripts are also run as part of the nightly regression testing, currently | 
					
						
							|  |  |  | developed and maintained in a separate git repository called 'hypre/autotest'. | 
					
						
							| 
									
										
										
										
											2007-11-17 04:54:15 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | ===================== | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-11-30 07:40:58 +08:00
										 |  |  | Organization: | 
					
						
							| 
									
										
										
										
											2007-11-17 04:54:15 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-11-30 07:40:58 +08:00
										 |  |  | 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): | 
					
						
							| 
									
										
										
										
											2007-11-17 04:54:15 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-06-17 04:48:44 +08:00
										 |  |  | 1. 'test.sh'       - Used to run individual tests. | 
					
						
							|  |  |  | 2. 'cleantest.sh'  - Used to clean up the output from a test (or tests). | 
					
						
							|  |  |  | 3. 'renametest.sh' - Used to rename the output from a test. | 
					
						
							| 
									
										
										
										
											2007-11-17 04:54:15 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-11-30 07:40:58 +08:00
										 |  |  | 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'). | 
					
						
							| 
									
										
										
										
											2007-11-17 04:54:15 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | ===================== | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-11-30 07:40:58 +08:00
										 |  |  | Writing tests: | 
					
						
							| 
									
										
										
										
											2007-11-17 04:54:15 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-11-30 07:40:58 +08:00
										 |  |  | 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. | 
					
						
							| 
									
										
										
										
											2007-11-17 04:54:15 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-11-30 07:40:58 +08:00
										 |  |  | 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 | 
					
						
							| 
									
										
										
										
											2017-06-17 04:48:44 +08:00
										 |  |  | the script. | 
					
						
							| 
									
										
										
										
											2007-11-17 04:54:15 +08:00
										 |  |  | 
 | 
					
						
							|  |  |  | ===================== | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-11-30 07:40:58 +08:00
										 |  |  | Design goals: | 
					
						
							| 
									
										
										
										
											2007-11-17 04:54:15 +08:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-11-30 07:40:58 +08:00
										 |  |  | - Minimal limitations on the types of tests that are possible. | 
					
						
							|  |  |  | - Developers should be able to run the tests manually. | 
					
						
							|  |  |  | - Minimal dependence on operating system and software tools (for portability). | 
					
						
							|  |  |  | - Developers should be able to easily add new tests. | 
					
						
							|  |  |  | - Simplicity and flexibility. |