|
|
(4 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
− | == UCVM C-Language Testing Fixtures ==
| + | UCVM Testing descriptions have been moved to the UCVM GitHub wiki |
− | * C-Language - unittest - C executable
| + | *[https://github.com/SCECcode/ucvm/wiki/Testing UCVM Testing Documentation] |
− | * accepttest - C executable
| |
− | | |
− | UCVM uses two C language programs called unittest.c and accepttest.c framework. These C program framework provides methods like "test_assert_string()". There are references to an xmldir with list of tests, but that is not used. These C language tests enable us to test the C-API for UCVM
| |
− | | |
− | Test defined as C lanuage functions in accepttest_suite_grid.c
| |
− | ** test_grid_tool_1d() | |
− | ** test_grid_lib_1d()
| |
− | ** then suite_xxx() where test_grid_tool_1d is tested with its own script
| |
− |
| |
− | == UCVM Python Language Testing ==
| |
− | UCVM uses a custom script accept_test.py. Contains two tests:
| |
− | ** def test_vs30_query(dir)
| |
− | ** def test_ssh_generate(dir):
| |
− | | |
− | == UCVM Test Scripts ==
| |
− | * make check - defined in ucvm_bin/tests
| |
− | ** runs unittest
| |
− | ** runs accepttest
| |
− | ** runs accept_test.py
| |
− | | |
− | * Makefile.am creates script > run-testing
| |
− | ** unittest
| |
− | ** accepttest
| |
− | ** accept_test.py
| |
− | ** cd api; ./run_query_1d_gtl.sh
| |
− | ** cd basin; ./run_basin_query_mpi_cvms5.sh
| |
− | ** cd mesh; ./run_ucvm2mesh_mpi_layer_cvms.sh
| |
− | | |
− | == Manifest of UCVM Programs and Scripts Requiring Tests ==
| |
− | Programs in UCVM bin directory:
| |
− | # ssh_generate
| |
− | # ssh_merge
| |
− | # vs30_query
| |
− | # vs30_query_mpi
| |
− | # basin_query
| |
− | # basin_query_mpi
| |
− | # basin_query_mpi_complete
| |
− | # ecoalesce
| |
− | # ecompact
| |
− | # grd2etree
| |
− | # grd_query
| |
− | # mesh_check
| |
− | # mesh_op
| |
− | # mesh_strip_ijk
| |
− | # patchmodel
| |
− | # ucvm2mesh
| |
− | # ucvm2mesh_mpi
| |
− | # ucvm2mesh_mpi_layer
| |
− | # ucvm2etree
| |
− | # ucvm2etree_extract_MPI
| |
− | # ucvm2etree_merge_MPI
| |
− | # ucvm2etree_sort_MPI
| |
− | # ucvm_query
| |
− | | |
− | Programs in Utilities Directory:
| |
− | # installed_models.py
| |
− | # makegrid.sh
| |
− | # run_ucvm_query.sh
| |
− | # run_ucvm.sh
| |
− | # time_mesh_generation.py
| |
− | # view_png.py
| |
− | | |
− | Test programs:
| |
− | # unittest
| |
− | # accepttest
| |
− | # accept_test.py
| |
− | # api/query_1d_gtl
| |
− | # api/run_query_1d_gtl.sh
| |
− | # basin/run_basin_query_mpi_cvms5.sh -> tests basin_query_mpi
| |
− | # mesh/ucvm2mesh_mpi_layer
| |
− | # mesh/run_ucvm2mesh_mpi_layer_cvms.sh
| |
− | | |
− | == Programs in UCVM Source Distribution ==
| |
− | The programs listed above are found in the ucvm_bin/ installation directory. The UCVM installation process includes a source code directory with numerous example programs not included in the bin installation. A list of programs in the UCVM Source directory is given here:
| |
− | *[[UCVM Examples]]
| |
− | | |
− | UCVM Plotting routines have been moved into a separate repo. Information on the plotting routines.
| |
− | *[[UCVM Plotting]]
| |
− | | |
− | == Core UCVM C-language tests - Unittests ==
| |
− | Tests for adding Models to UCVM. These also confirm path to UCVM models set correctly. Test defined as c language functions in unittest_suite_lib.c. This c-language program imports ucvm.h and then calls the UCVM API from C language program. The inputs and expected results for several of the tests are hard-coded in the C source code files.
| |
− | ** test_lib_init()
| |
− | ** test_lib_add_model_1d()
| |
− | ** test_lib_query_1d()
| |
− | ** test_lib_get_model_label_1d()
| |
− | ** test_lib_setparam_querymode_gd_1d()
| |
− | ** test_lib_setparam_querymode_ge_1d
| |
− | ** test_lib_model_version_1d
| |
− | | |
− | Following Tests have conditional compile statements in unittest.c
| |
− | ** test_lib_add_model_cencal
| |
− | ** test_lib_add_model_cvmh
| |
− | ** test_lib_add_model_cvms
| |
− | ** test_lib_add_model_cvmsi
| |
− | ** test_lib_add_model_ivlsu
| |
− | ** test_lib_add_model_cvlsu
| |
− | ** test_lib_add_model_albacore
| |
− | ** test_lib_add_model_cvms5
| |
− | ** test_lib_add_model_cca
| |
− | ** test_lib_add_model_cs173
| |
− | ** test_lib_add_model_cs173h
| |
− | | |
− | Tests for Query by Elevation/Query by Depth
| |
− | * int test_lib_setparam_querymode_gd_1d()
| |
− | * int test_lib_setparam_querymode_ge_1d()
| |
− | | |
− | == Core Capabilities Requiring Tests ==
| |
− | Additional Key Core Functionality
| |
− | * Test case interpolation
| |
− | * Test Cases Tiling
| |
− | * Test Cases Invalid Point
| |
− | * ucvm_query
| |
− | * basin_query
| |
− | | |
− | == Test Changes ==
| |
− | These tests need to be migrated to unittest_suite_lib.c
| |
− | * Adding Elygtl:ifunc
| |
− | * accepttest_suite_grid.c:int test_grid_tool_1d()
| |
− | * accepttest_suite_grid.c:int test_grid_lib_1d()
| |
− | | |
− | These tests need to be migrated to standard python test framework
| |
− | * accept_test.py:def test_vs30_query(dir):
| |
− | * accept_test.py:def test_ssh_generate(dir):
| |
| | | |
| == Related Entries == | | == Related Entries == |
− | *[[UCVM]] | + | *[https://github.com/SCECcode/ucvm/wiki UCVM core wiki] |
− | *[[UCVM Release Planning]] | + | *[https://github.com/SCECcode/ucvm.git UCVM core source code] |