Difference between revisions of "UCVM Testing"

From SCECpedia
Jump to navigationJump to search
Line 1: Line 1:
 
== UCVM Testing Fixtures ==
 
== UCVM Testing Fixtures ==
* C-Language
+
* C-Language - unittest - C executable
** unittest - C executable
+
 
 
C language programs can be tested using the simple unittest.c framework. This framework provides methods like "test_assert_string()". There are references to an xmldir with list of tests, but that is not used.
 
C language programs can be tested using the simple unittest.c framework. This framework provides methods like "test_assert_string()". There are references to an xmldir with list of tests, but that is not used.
 
Test defined as c language functions in unittest_suite_lib.c
 
Test defined as c language functions in unittest_suite_lib.c
*** test_lib_init()
+
** test_lib_init()
*** test_lib_add_model_1d()
+
** test_lib_add_model_1d()
*** test_lib_query_1d()
+
** test_lib_query_1d()
*** test_lib_get_model_label_1d()
+
** test_lib_get_model_label_1d()
*** test_lib_setparam_querymode_gd_1d()
+
** test_lib_setparam_querymode_gd_1d()
*** test_lib_setparam_querymode_ge_1d
+
** test_lib_setparam_querymode_ge_1d
*** test_lib_model_version_1d
+
** test_lib_model_version_1d
  
 
Following Tests have conditional compile statements
 
Following Tests have conditional compile statements
***test_lib_add_model_cencal
+
**test_lib_add_model_cencal
***test_lib_add_model_cvmh
+
**test_lib_add_model_cvmh
***test_lib_add_model_cvms
+
**test_lib_add_model_cvms
***test_lib_add_model_cvmsi
+
**test_lib_add_model_cvmsi
***test_lib_add_model_ivlsu
+
**test_lib_add_model_ivlsu
***test_lib_add_model_cvlsu
+
**test_lib_add_model_cvlsu
***test_lib_add_model_albacore
+
**test_lib_add_model_albacore
***test_lib_add_model_cvms5
+
**test_lib_add_model_cvms5
***test_lib_add_model_cca
+
**test_lib_add_model_cca
***test_lib_add_model_cs173
+
**test_lib_add_model_cs173
***test_lib_add_model_cs173h
+
**test_lib_add_model_cs173h
  
  
** accepttest - C executable
+
* accepttest - C executable
 +
 
 
Test defined as c lanuage functions in accepttest_suite_grid.c
 
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()
*** then suite_xxx() where test_grid_tool_1d is tested with its own script
+
** then suite_xxx() where test_grid_tool_1d is tested with its own script
 
   
 
   
 
 
* Python Language
 
* Python Language
  

Revision as of 20:05, 6 September 2021

UCVM Testing Fixtures

  • C-Language - unittest - C executable

C language programs can be tested using the simple unittest.c framework. This framework provides methods like "test_assert_string()". There are references to an xmldir with list of tests, but that is not used. 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

    • 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


  • accepttest - C executable

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
  • Python Language

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
  • Test case interpolation
  • Test Cases Tiling
  • Test Cases Invalid Points
  • unittest_suite_lib.c:int test_lib_init()
  • unittest_suite_lib.c:int test_lib_add_model_1d()
  • unittest_suite_lib.c:int test_lib_query_1d()
  • unittest_suite_lib.c:int test_lib_get_model_label_1d()
  • unittest_suite_lib.c:int test_lib_setparam_querymode_gd_1d()
  • unittest_suite_lib.c:int test_lib_setparam_querymode_ge_1d()
  • unittest_suite_lib.c:int test_lib_model_version_1d()

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
  • unittest_suite_lib.c:int test_lib_add_model_cencal()
  • unittest_suite_lib.c:int test_lib_add_model_cvmh()
  • unittest_suite_lib.c:int test_lib_add_model_cvms()
  • unittest_suite_lib.c:int test_lib_add_model_cvmsi()
  • unittest_suite_lib.c:int test_lib_add_model_cvms5()
  • unittest_suite_lib.c:int test_lib_add_model_ivlsu()
  • unittest_suite_lib.c:int test_lib_add_model_cvlsu()
  • unittest_suite_lib.c:int test_lib_add_model_wfcvm()
  • unittest_suite_lib.c:int test_lib_add_model_albacore()
  • unittest_suite_lib.c:int test_lib_add_model_cca()
  • unittest_suite_lib.c:int test_lib_add_model_cs173()
  • unittest_suite_lib.c:int test_lib_add_model_cs173h()

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.

Related Entries