sst-core
sst-core copied to clipboard
Improve SST test frameworks
sst_unittest.py:
- [x] Deprecate initializeClass() – it’s not needed and redundant (DONE)
- [ ] run_sst(): Remove parameters num_ranks, num_threads, and global_args since those are supposed to be determined by arguments to sst-test-* not by tests themselves. Probably any test suite using these is doing so incorrectly.
- [ ] Get_test_runtime_sec() is used internally. It’s not strictly a “get”, it modifies the run time variable so should ONLY be called by run_sst and never externally. Change to internal?
sst_unittest_support.py:
- [ ] Move away from lightweight wrappers and implementing minor function variants in place of adding function arguments
- [x] testing_is_PIN2_used() : Deprecate – I will remove from the memH test suites that currently call it
- [x] host_os_get_*() : Eliminate the ones that are just wrapping a Python function in favor of the Python function. Most tests at most have to make a distinction between osx & linux. Occasionally Ubuntu vs RHEL needs to be treated differently but only w.r.t. Pin in my experience.
- [ ] testing_check_is_scenario_filtering_enabled() : should be internal?
- [ ] sst_core_config_include_file_get_value_*() : these functions only differ in the return type. Remove the wrapper and make the underlying function public.
- [ ] sst_elements_config_include_file_get_value_*(): Same as above
- [ ] sstsimulator_conf_get_value_*(): Same as above
- [ ] log*(): Mostly used/useful. No distinction exists afaik between VERBOSE_NORMAL and VERBOSE_LOUD in the framework despite there being separate verbosity levels. Should we eliminate unused levels or leave them?
- [ ] Combining MPI files is complicated but useful to keep this in the framework since different OpenMPI versions do it differently. We have two badly named functions – probably rename so their names are intuitive.
- [ ] combine_per_rank_files() - For files like stat files that are named basename_X.ext where X is the rank ID)
- [ ] testing_merge_mpi_files() – For stdout/stderr redirects where the filename & directory structure depends entirely on the OpenMPI version
- [ ] testing_compare_* : There are four of these functions where we could have one that takes output file, reference file, filter list, and type of diff to do (exact, sorted, subset)
- [ ] testing_stat_output_diff() : Is there a way (or should we even try) to unify this with the testing_compare*() functions?
- [ ] OS commands (os_*) should probably take a timeout parameter since they mostly call OSCommand under the hood which has a timeout.
- [ ] Os_awk_print() : Can we get rid of this?
- [ ] Os_wc() : It would be more intuitive to return (line count, word count, char count) instead of the roundabout index shenanigans it is doing right now.
- [ ] Os_simple_command() : should we replace this with OSCommand from test_engine_support? Or just tell ppl to create their own subprocess runners if they need to execute something? Or leave as is?
CMAKE-FORMAT TEST - PASSED
CLANG-FORMAT TEST - PASSED
Status Flag 'Pre-Test Inspection' - Auto Inspected - Inspection is Not Necessary for this Pull Request.
Status Flag 'Pull Request AutoTester' - Testing Jenkins Projects:
Pull Request Auto Testing STARTING (click to expand)
Build Information
Test Name: SST__AutotestGen2_NewFW_sst-test_OMPI-4.1.4_PY3.6_sst-elements
- Build Num: 1558
- Status: STARTED
Build Information
Test Name: SST__AutotestGen2_NewFW_sst-test_OMPI-4.1.4_PY3.6_sst-elements_MR-2
- Build Num: 1540
- Status: STARTED
Build Information
Test Name: SST__AutotestGen2_NewFW_sst-test_OMPI-4.1.4_PY3.6_sst-elements_MT-2
- Build Num: 1540
- Status: STARTED
Build Information
Test Name: SST__AutotestGen2_NewFW_sst-test_OMPI-4.1.4_PY3.6_sst-macro_withsstcore
- Build Num: 651
- Status: STARTED
Build Information
Test Name: SST__AutotestGen2_NewFW_sst-test_OMPI-4.1.4_PY3.6_sst-core_Make-Dist
- Build Num: 508
- Status: STARTED
Build Information
Test Name: SST__AutotestGen2_NewFW_sst-test_Clang-Format_sst-core
- Build Num: 462
- Status: STARTED
Build Information
Test Name: SST__AutotestGen2_NewFW_OSX-14-XC15-ARM2_OMPI-4.1.6_PY3.10_sst-elements
- Build Num: 120
- Status: STARTED
Build Information
Test Name: SST__AutotestGen2_NewFW_OSX-14-XC15-ARM2_OMPI-4.1.6_PY3.10_sst-macro_withsstcore
- Build Num: 82
- Status: STARTED
Using Repos:
- Repo: CORE (jmlapre/sst-core)
- Branch: 1-improve-sst-test-frameworks
- SHA: 8799b8c40fd39b37c7bca49b1764fa52d87ea725
- Mode: TEST_REPO
- Repo: SQE (sstsimulator/sst-sqe)
- Branch: devel
- SHA: 40ef31399c0ef1473f23626bd5e3aa75d18d234e
- Mode: SUPPORT_REPO
- Repo: ELEMENTS (sstsimulator/sst-elements)
- Branch: devel
- SHA: 2664955f14ed0ce7d9b0c77d3a18436df5a2c72b
- Mode: SUPPORT_REPO
- Repo: MACRO (sstsimulator/sst-macro)
- Branch: devel
- SHA: 50a62170b3681ea20cc2f56abd2eb3911053f1fc
- Mode: SUPPORT_REPO
Pull Request Author: jmlapre
Status Flag 'Pull Request AutoTester' - Jenkins Testing: all Jobs PASSED
Pull Request Auto Testing has PASSED (click to expand)
Build Information
Test Name: SST__AutotestGen2_NewFW_sst-test_OMPI-4.1.4_PY3.6_sst-elements
- Build Num: 1558
- Status: PASSED
Build Information
Test Name: SST__AutotestGen2_NewFW_sst-test_OMPI-4.1.4_PY3.6_sst-elements_MR-2
- Build Num: 1540
- Status: PASSED
Build Information
Test Name: SST__AutotestGen2_NewFW_sst-test_OMPI-4.1.4_PY3.6_sst-elements_MT-2
- Build Num: 1540
- Status: PASSED
Build Information
Test Name: SST__AutotestGen2_NewFW_sst-test_OMPI-4.1.4_PY3.6_sst-macro_withsstcore
- Build Num: 651
- Status: PASSED
Build Information
Test Name: SST__AutotestGen2_NewFW_sst-test_OMPI-4.1.4_PY3.6_sst-core_Make-Dist
- Build Num: 508
- Status: PASSED
Build Information
Test Name: SST__AutotestGen2_NewFW_sst-test_Clang-Format_sst-core
- Build Num: 462
- Status: PASSED
Build Information
Test Name: SST__AutotestGen2_NewFW_OSX-14-XC15-ARM2_OMPI-4.1.6_PY3.10_sst-elements
- Build Num: 120
- Status: PASSED
Build Information
Test Name: SST__AutotestGen2_NewFW_OSX-14-XC15-ARM2_OMPI-4.1.6_PY3.10_sst-macro_withsstcore
- Build Num: 82
- Status: PASSED
Status Flag 'Pre-Merge Inspection' - - This Pull Request Requires Inspection... The code must be inspected by a member of the Team before Testing/Merging WARNING: NO REVIEWERS HAVE BEEN REQUESTED FOR THIS PULL REQUEST!
All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur...
CMAKE-FORMAT TEST - PASSED
CLANG-FORMAT TEST - PASSED
CLANG-FORMAT TEST - PASSED
CMAKE-FORMAT TEST - PASSED
Status Flag 'Pre-Test Inspection' - Auto Inspected - Inspection is Not Necessary for this Pull Request.
Status Flag 'Pull Request AutoTester' - Testing Jenkins Projects:
Pull Request Auto Testing STARTING (click to expand)
Build Information
Test Name: SST__AutotestGen2_NewFW_sst-test_OMPI-4.1.4_PY3.6_sst-elements
- Build Num: 1559
- Status: STARTED
Build Information
Test Name: SST__AutotestGen2_NewFW_sst-test_OMPI-4.1.4_PY3.6_sst-elements_MR-2
- Build Num: 1541
- Status: STARTED
Build Information
Test Name: SST__AutotestGen2_NewFW_sst-test_OMPI-4.1.4_PY3.6_sst-elements_MT-2
- Build Num: 1541
- Status: STARTED
Build Information
Test Name: SST__AutotestGen2_NewFW_sst-test_OMPI-4.1.4_PY3.6_sst-macro_withsstcore
- Build Num: 652
- Status: STARTED
Build Information
Test Name: SST__AutotestGen2_NewFW_sst-test_OMPI-4.1.4_PY3.6_sst-core_Make-Dist
- Build Num: 509
- Status: STARTED
Build Information
Test Name: SST__AutotestGen2_NewFW_sst-test_Clang-Format_sst-core
- Build Num: 463
- Status: STARTED
Build Information
Test Name: SST__AutotestGen2_NewFW_OSX-14-XC15-ARM2_OMPI-4.1.6_PY3.10_sst-elements
- Build Num: 121
- Status: STARTED
Build Information
Test Name: SST__AutotestGen2_NewFW_OSX-14-XC15-ARM2_OMPI-4.1.6_PY3.10_sst-macro_withsstcore
- Build Num: 83
- Status: STARTED
Using Repos:
- Repo: CORE (jmlapre/sst-core)
- Branch: 1-improve-sst-test-frameworks
- SHA: 8a4b4d917472818590d0c28f0270ae2a965d65d0
- Mode: TEST_REPO
- Repo: SQE (sstsimulator/sst-sqe)
- Branch: devel
- SHA: 2574c98896598820227190149834172b962dc3fc
- Mode: SUPPORT_REPO
- Repo: ELEMENTS (sstsimulator/sst-elements)
- Branch: devel
- SHA: 2664955f14ed0ce7d9b0c77d3a18436df5a2c72b
- Mode: SUPPORT_REPO
- Repo: MACRO (sstsimulator/sst-macro)
- Branch: devel
- SHA: 50a62170b3681ea20cc2f56abd2eb3911053f1fc
- Mode: SUPPORT_REPO
Pull Request Author: jmlapre
Status Flag 'Pull Request AutoTester' - Jenkins Testing: all Jobs PASSED
Pull Request Auto Testing has PASSED (click to expand)
Build Information
Test Name: SST__AutotestGen2_NewFW_sst-test_OMPI-4.1.4_PY3.6_sst-elements
- Build Num: 1559
- Status: PASSED
Build Information
Test Name: SST__AutotestGen2_NewFW_sst-test_OMPI-4.1.4_PY3.6_sst-elements_MR-2
- Build Num: 1541
- Status: PASSED
Build Information
Test Name: SST__AutotestGen2_NewFW_sst-test_OMPI-4.1.4_PY3.6_sst-elements_MT-2
- Build Num: 1541
- Status: PASSED
Build Information
Test Name: SST__AutotestGen2_NewFW_sst-test_OMPI-4.1.4_PY3.6_sst-macro_withsstcore
- Build Num: 652
- Status: PASSED
Build Information
Test Name: SST__AutotestGen2_NewFW_sst-test_OMPI-4.1.4_PY3.6_sst-core_Make-Dist
- Build Num: 509
- Status: PASSED
Build Information
Test Name: SST__AutotestGen2_NewFW_sst-test_Clang-Format_sst-core
- Build Num: 463
- Status: PASSED
Build Information
Test Name: SST__AutotestGen2_NewFW_OSX-14-XC15-ARM2_OMPI-4.1.6_PY3.10_sst-elements
- Build Num: 121
- Status: PASSED
Build Information
Test Name: SST__AutotestGen2_NewFW_OSX-14-XC15-ARM2_OMPI-4.1.6_PY3.10_sst-macro_withsstcore
- Build Num: 83
- Status: PASSED
Status Flag 'Pre-Merge Inspection' - - This Pull Request Requires Inspection... The code must be inspected by a member of the Team before Testing/Merging WARNING: NO REVIEWERS HAVE BEEN REQUESTED FOR THIS PULL REQUEST!
All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur...
All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur...
All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur...
All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur...
All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur...
All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur...
All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur...
All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur...
All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur...
All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur...
All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur...
All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur...
All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur...
All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur...
All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur...