UCVM Testing

From SCECpedia
Revision as of 19:50, 6 September 2021 by Maechlin (talk | contribs)
Jump to navigationJump to search

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_add_model_1d()
      • test_lib_query_1d()
      • test_lib_get_model_label_1d()
      • test_lib_setparam_querymode_gd_1d()
      • 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 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