UCVM Testing: Difference between revisions

From SCECpedia
Jump to navigationJump to search
Maechlin (talk | contribs)
Maechlin (talk | contribs)
No edit summary
 
(7 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
 
Tests for C executables of basic query interface
* ucvm_query
* basin_query
 
== Programs Requiring Integration Tests ==
Meshing Commands and scripts - Referenced but not found
* run_grd.sh
* test_grid
* test_ucvm
* ehelper
* grd
* vs30_query_debug
* work/make_manifest.py
 
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):
 
== 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
 
== Locate and Describe These Utilities Tests ==
* programs/ucvm/run_ucvm_query_albacore.sh
* programs/ucvm/run_ucvm_query_cvmh.sh
* programs/ucvm/run_ucvm_query_wfcvm.sh


== 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]

Latest revision as of 23:16, 3 May 2022

UCVM Testing descriptions have been moved to the UCVM GitHub wiki

Related Entries