The number of GridPACK unit tests has grown quite large. Running all the tests takes quite a while. Some tests may or may not fail. CI may not need to run the entire suite, or just run part of the suite and ignore the results, or just provide more granularity in CI testing results.
I think we need a facility whereby only certain test subsets can be run easily and this might best be done by having a test naming convention. We already have the _serial and _parallel suffixes. Consider adding a prefix to each name like
base_ would identify tests of general GridPACK facilities, e.g.,
base_greetings_serial
base_hash_serial
math_ would identify math library tests, e.g.
math_real_vector_parallel,
math_complex_nonlinear_solver_parallel,
network_ to identify network, bus/branch component, and partitioning unit tests
app_ for application smoke tests, delineated by a short app indicator, e.g.
app_pf_ for power flow
app_dsfy_ for dynamic simulation (full y)
app_wind_ for wind DSA
- and so on
This should be enforced by defining a set of allowable prefixes and requiring one of those be specified at test creation, e.g.,
gridpack_add_unit_test(GRIDPACK_MATH_TEST real_dae_solver real_dae_solver_test)
gridpack_add_run_test(GRIDPACK_APP_DSFY_TEST "145_bus" dsf.x input_145.xml)
The number of GridPACK unit tests has grown quite large. Running all the tests takes quite a while. Some tests may or may not fail. CI may not need to run the entire suite, or just run part of the suite and ignore the results, or just provide more granularity in CI testing results.
I think we need a facility whereby only certain test subsets can be run easily and this might best be done by having a test naming convention. We already have the
_serialand_parallelsuffixes. Consider adding a prefix to each name likebase_would identify tests of general GridPACK facilities, e.g.,base_greetings_serialbase_hash_serialmath_would identify math library tests, e.g.math_real_vector_parallel,math_complex_nonlinear_solver_parallel,network_to identify network, bus/branch component, and partitioning unit testsapp_for application smoke tests, delineated by a short app indicator, e.g.app_pf_for power flowapp_dsfy_for dynamic simulation (full y)app_wind_for wind DSAThis should be enforced by defining a set of allowable prefixes and requiring one of those be specified at test creation, e.g.,