3 | | The basic design philosophy is as follows. There exist 3 levels of interactivity and completeness when running the tests -- |
4 | | 1. Verification tests, run via verifytests.s (Est. time: ? min) |
5 | | 1. Individual tests, run via their own {{{runtest.s}}} files, located in their respective folders (within modules/tests/). |
6 | | 1. General tests, run via alltests.s (Est. time: ? min). |
7 | | 1. Showcase tests, run via show.s (Est. time: ? min) |
| 3 | The basic design philosophy has been simplified from the old version of the test suite. The test suite is essentially a group of problem modules that are automatically compiled and run in alphabetical order. Each problem tests a different part of the astrobear code. |
9 | | The above scripts are all located in the code's main directory, and are intended to be executed in that location after a successful build of the code. Test result may be different depending on the test. For simple tests the result may consist of "pass" or "fail". For other tests, or in cases where failure is reported, the result may need to include certain figures, such as comparison figures (comparing the result versus the expected result). |
10 | | |
11 | | '''Verification tests''' (verifytests.sh) should be ran by developers after ANY changes to the code, before checking them in. efter every code checkin in order to to ensure that. ''For simplicity, all verification tests will run {{{mpibear}}} on the current machine using 2 processors. More scripting will be needed to run larger showcase simulations if they need to run in parallel with 2+ cores in order to finish in a reasonable amount of time. |
12 | | '' |
13 | | |
14 | | '''General tests''' are meat to be automated periodical (overnight) test with no user interaction which will post results on web. |
15 | | |
16 | | |
17 | | * This will require [TestScripts scripts] which correctly runs the executable on a given platform. |
18 | | * The run should be designed to produce data and exit in a repeatable fashion (i.e., not requiring the user to stop the simulation after a certain time). |
19 | | * Upon completion, the script needs to invoke {{{bear2fix}}} which, via the input-file option, processes the data and produces a result. |
20 | | |
21 | | Old BasicTestingProcedure of verification tests. |
22 | | |
23 | | '''Showcase tests''' are meant to illustrate whether the code functions as expected in a general sense when running well-understood simulations. These tests will produce images which show the endstate of the simulation. Inspection of these images by the user should confirm the simulation run; an indicator, or start point, that something is going wrong. |
24 | | |
25 | | |
26 | | ---- |
27 | | == Current testing (6/30/11, under edition) |
| 5 | == Current testing (6/30/11, under edition) == |
73 | | relative errors (vector): |
74 | | |CHnew('''q''','''x''') - CHref('''q''','''x''')|/|CHref('''q''','''x''')|, |
75 | | |
76 | | where CHnew is the final chombo file that was produced by the new simulations (the one that's been tested), CHref is the reference chombo file (see above), '''q'''=(density, x-momentum, y-momentum, ...) and '''x''' is the cell position vector. |
| 53 | where CHnew is the final chombo file that was produced by the new simulations (the one that's been tested), CHref is the reference chombo file (the one that was verified to be accurate), '''q'''=(density, x-momentum, y-momentum, ...) and '''x''' is the cell position vector. The error vectors are computed by checking all cell positions '''x''' and taking the maximum value of the above expressions, so the error vectors are the same size as '''q'''. |