VsTests » History » Version 1
Ted Sume, 11/11/2019 01:59 PM
1 | 1 | Ted Sume | # VsTests |
---|---|---|---|
2 | |||
3 | # How to Regression-Test the Vs Plugin |
||
4 | VsTests is the regression test suite for the Vs database reader plugin for VisIt. When making any changes to the Vs source code, it is absolutely required to run vstests on at least one system prior to committing the changes. There are many subtleties and odd cases in the Vs plugin! |
||
5 | |||
6 | **Repositories** |
||
7 | |||
8 | In order to run vsTests, one must check out two separate repositories. |
||
9 | The first is the vsTests repository itself, which contains the scripts, data files, and VisIt session files necessary to run the tests. It is located at |
||
10 | ``` |
||
11 | https://ice.txcorp.com/svnrepos/code/vstests/trunk |
||
12 | ``` |
||
13 | The other is the set of accepted results. Results vary from machine to machine, so the correct results repository to check out depends on which machine one is using to run the tests. Our "standard" test machine is iter, so that is a good place to start if the development machine does not have a specific results directory. The iter test results are located at |
||
14 | ``` |
||
15 | https://ice.txcorp.com/svnrepos/results/vsresults/trunk/iter |
||
16 | ``` |
||
17 | |||
18 | **Other Software** |
||
19 | VsTests depends on a third-party utility named "compare" in order to compare the generated images with the known-good results images. If you are working on iter, you should not worry. But if not, you better prepare your machine for bilder as described at the [Bilder Page](https://ice.txcorp.com/projects/bilder/wiki) |
||
20 | |||
21 | "Compare" is a part of the ImageMagick software suite, which is an open-source project. In order for vsTests to run properly, the "compare" utility must be in your path. In addition, "compare" requires that the LD_LIBRARY_PATH environment variable be set and include the "lib" directory of ImageMagick. On Mac, the DYLD_LIBRARY_PATH variable should be set as well. As an example: |
||
22 | ``` |
||
23 | export PATH=$PATH:/Applications/ImageMagick/bin |
||
24 | export LD_LIBRARY_PATH=/Applications/ImageMagick/lib |
||
25 | export DYLD_LIBRARY_PATH=/Applications/ImageMagick/lib |
||
26 | ``` |
||
27 | In some cases, it may be required to set in addition |
||
28 | ``` |
||
29 | export LD_LIBRARY_PATH=/home/pletzer/software/hdf5-1.8.7-ser/lib:$LD_LIBRARY_PATH |
||
30 | ``` |
||
31 | (adapt to your location and platform) in order to resolve a dlopen error associated with the libMNETCDFDatabase library. |
||
32 | |||
33 | **Configuring VsTests** |
||
34 | VsTests relies on autoconf for configuration. To start from a clean checkout, first run "./config/cleanconf.sh". This will generate the "configure" script for the next step. |
||
35 | The configure script requires four arguments, of which only two are actually used. The other two are required, but not used. The two required & used arguments are --with-visit-dir and --with-results-dir. The two required but ignored arguments are --with-source-dir and --with-serial-dir. |
||
36 | --with-visit-dir must give the path to the root directory of the VisIt install. |
||
37 | --with-results-dir must give the path to the vsresults directory |
||
38 | --with-serial-dir and --with-source-dir must be given paths to existing directories, but nothing will be done with them. |
||
39 | For example, On iter, you might want to run |
||
40 | ``` |
||
41 | config/cleanconf.sh |
||
42 | ./configure --with-source-dir=/scr_iter/sveta/projects/vizschema --with-serial-dir=/scr_iter/sveta/projects/vizschema --with-results-dir=/scr_iter/sveta/projects/vsresults/iter --with-visit-dir=/sfbilder/volatile/visit_trunk |
||
43 | ``` |
||
44 | |||
45 | **Running VsTests** |
||
46 | The command to run the tests is "make check". This will produce a huge amount of output to the command line, so it is recommended to pipe it to a file like so: |
||
47 | ``` |
||
48 | make check > check.txt |
||
49 | ``` |
||
50 | When the tests complete, a file will be created with the name check.log and check.failures. If any tests failed, check.failures will contain the names of the failed tests, one to a line. You can run and study individual tests by: |
||
51 | ``` |
||
52 | cd tests |
||
53 | cd rectilinear |
||
54 | make check |
||
55 | vi nodal3d.out |
||
56 | ``` |