UCVM Testing: Difference between revisions

From SCECpedia
Jump to navigationJump to search
Maechlin (talk | contribs)
Maechlin (talk | contribs)
No edit summary
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 c language functions in unittest_suite_lib.c
Test defined as C lanuage functions in accepttest_suite_grid.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
 
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
* unittest_suite_lib.c:int test_lib_init()
** test_lib_init()
* unittest_suite_lib.c:int test_lib_add_model_1d()
** test_lib_add_model_1d()
* unittest_suite_lib.c:int test_lib_query_1d()
** test_lib_query_1d()
* unittest_suite_lib.c:int test_lib_get_model_label_1d()
** test_lib_get_model_label_1d()
* unittest_suite_lib.c:int test_lib_model_version_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
* 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 ==
== Utilities Tests ==

Revision as of 03:49, 7 September 2021

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.

Related Entries