Difference between revisions of "UCVM Testing"

From SCECpedia
Jump to navigationJump to search
Line 4: Line 4:
 
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_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_init
+
*** test_lib_setparam_querymode_ge_1d
test_lib_add_model_1d
+
*** test_lib_model_version_1d
test_lib_query_1d
+
 
test_lib_get_model_label_1d
+
Following Tests have conditional compile statements
test_lib_setparam_querymode_gd_1d
+
***test_lib_add_model_cencal
test_lib_setparam_querymode_ge_1d
+
***test_lib_add_model_cvmh
test_lib_model_version_1d
+
***test_lib_add_model_cvms
test_lib_add_model_cencal
+
***test_lib_add_model_cvmsi
test_lib_add_model_cvmh
+
***test_lib_add_model_ivlsu
test_lib_add_model_cvms
+
***test_lib_add_model_cvlsu
test_lib_add_model_cvmsi
+
***test_lib_add_model_albacore
test_lib_add_model_ivlsu
+
***test_lib_add_model_cvms5
test_lib_add_model_cvlsu
+
***test_lib_add_model_cca
test_lib_add_model_albacore
+
***test_lib_add_model_cs173
test_lib_add_model_cvms5
+
***test_lib_add_model_cs173h
test_lib_add_model_cca
 
test_lib_add_model_cs173
 
test_lib_add_model_cs173h
 
  
  

Revision as of 20:03, 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