Difference between revisions of "UCVM Testing"
Line 5: | Line 5: | ||
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 | 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 | + | Test defined as C lanuage functions in accepttest_suite_grid.c |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
** test_grid_tool_1d() | ** test_grid_tool_1d() | ||
** test_grid_lib_1d() | ** test_grid_lib_1d() | ||
Line 57: | Line 35: | ||
* basin_query | * basin_query | ||
− | Tests for adding Models to UCVM. These also confirm path to UCVM models set correctly | + | 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 |
− | + | ** 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 | Tests for Query by Elevation/Query by Depth | ||
Line 129: | Line 122: | ||
* Test Cases External CVMs | * Test Cases External CVMs | ||
* Test Cases Invalid Points | * Test Cases Invalid Points | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Utilities Tests == | == Utilities Tests == |
Revision as of 03:49, 7 September 2021
Contents
UCVM C-Language Testing Fixtures
- C-Language - unittest - C executable
- 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_bains_query_mpi_cvms5.sh
- cd mesh; ./run_ucvm2mesh_mpi_layer_cvms.sh
Functional tests
Tests for C executables
- ucvm_query
- basin_query
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
- 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
- unittest_suite_lib.c:int test_lib_setparam_querymode_gd_1d()
- unittest_suite_lib.c:int test_lib_setparam_querymode_ge_1d()
Additional Key Core Functionality
- Test case interpolation
- Test Cases Tiling
- Test Cases Invalid Point
Integration Tests
Test utilities including meshing, layer searches, gtls, and and modificaiton to the velocity models.
UCVM 2 Mesh
- ucvm2mesh
- ucvm2mesh_mpi
- ucvm2mesh_mpi_layer
SSH Command
- ssh_generate
- ssh_merge
UCVM Query
- ucvm_query
- test_grid
- test_ucvm
Basic Query
- basin_query
- basin_query_mpi
- basin_query_mpi_complete
Etree Related Commands
- ecompact
- ehelper
- ecoalesce
Patch
- patch_config
Grid
- grd
Grid 2 Etree
- grd2etree
UCVM 2 Etree
- ucvm2etree.c
- ucvm2etree_extract_MPI.c
- ucvm2etree_merge_MPI.c
- ucvm2etree_sort_MPI.c
Vs30 Query Related Commands
- vs30_query
- vs30_query_mpi
- vs30_query_debug
- Adding Elygtl:ifunc
- accepttest_suite_grid.c:int test_grid_tool_1d()
- accepttest_suite_grid.c:int test_grid_lib_1d()
- accept_test.py:def test_vs30_query(dir):
- accept_test.py:def test_ssh_generate(dir):
Model Tests
Each velocity model has tests showing expected results for some points
- Test Cases 1D Models
- Test Cases CVM S4.26
- Test Cases CVM-H
- Test Cases External CVMs
- Test Cases Invalid Points
Utilities Tests
In Utilities Directory:
- run_ucvm.sh
- installed_models.py
- makegrid.sh
- run_ucvm.sh
- run_ucvm_query.sh
- time_mesh_generator.py
- view_png.py
Additional Utility Tests
- /api/run_query_1d_gtl.sh
- programs/basin/run_basin_query_cvmh.sh
- programs/basin/run_basin_query_mpi_complete_cencal_cvms.sh
- programs/basin/run_basin_query_mpi_complete_cencal_cvms5.sh
- programs/basin/run_basin_query_mpi_complete_cencal_cvmsi.sh
- programs/basin/run_basin_query_mpi_cvms5.sh
- programs/etree/run_ucvm2etree_cvmh.sh
- programs/mesh/run_ucvm2mesh_cvmh.sh
- programs/mesh/run_ucvm2mesh_mpi_cvmh.sh
- programs/mesh/run_ucvm2mesh_mpi_cvmsi.sh
- programs/mesh/run_ucvm2mesh_mpi_layer_cvms.sh
- programs/mesh/run_ucvm2mesh_mpi_layer_cvmsi.sh
- programs/ucvm/run_ucvm_query_albacore.sh
- programs/ucvm/run_ucvm_query_cencal_cvms.sh
- programs/ucvm/run_ucvm_query_cencal_cvms5.sh
- programs/ucvm/run_ucvm_query_cvmh.sh
- programs/ucvm/run_ucvm_query_wfcvm.sh
Acceptance tests
Confirm results on users system. Maybe union of funcational, integration, and model tests.