-
Notifications
You must be signed in to change notification settings - Fork 65
Testing refactor #612
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Testing refactor #612
Changes from all commits
Commits
Show all changes
123 commits
Select commit
Hold shift + click to select a range
bcf4097
Re-adding pylint test.
mwaxmonsky 340c2f9
Simplifying arg parser.
mwaxmonsky 1285ea9
First pass refactor of tests into integrated stack.
mwaxmonsky c707b20
Updating MPI cmake find with components.
mwaxmonsky fd66d0f
Adding mpi library.
mwaxmonsky 278b2bd
Updating mpi library.
mwaxmonsky 9ce27bf
Adding missing cmake.
mwaxmonsky 68f2575
Actually building.
mwaxmonsky c256bed
Adding pytest dependency.
mwaxmonsky e7f84f4
Updating pytest binary name.
mwaxmonsky c886348
Updating pytest install.
mwaxmonsky 20feac2
Updating pytest binary name.
mwaxmonsky efff984
Updating test binary name in ctest to distinguish between other tests…
mwaxmonsky 84cdd96
Minor CMake cleanup and temporarily removing MPI dependency.
mwaxmonsky cc43fda
Re-adding MPI for testing.
mwaxmonsky 890ea0e
Resolving merge conflicts merging develop into testing-refactor branch.
mwaxmonsky cfe3921
Re-adding MPI linking and minor CMake cleanup.
mwaxmonsky 9b66008
Fixing CI job failure.
mwaxmonsky df44e3a
Removing pylint workflow for different PR.
mwaxmonsky 585405f
Resolving merge conflict merging 'develop' into 'testing-refactor'
mwaxmonsky afee04c
Removing pfunit fetch content call and only setting additional compil…
mwaxmonsky 8270b07
Fixing whitespace.
mwaxmonsky 96dd11a
Converting MATCHES to STREQUAL for compiler ID checks as not using re…
mwaxmonsky d4c4fb8
Adding back pfunit find_package.
mwaxmonsky ad60987
Adding pfunit into workflow instead of cmake.
mwaxmonsky 5346e6a
Converting advection_test to new test setup and associated changes to…
mwaxmonsky d536aa7
Attempt consolidating of cmake.
mwaxmonsky eee0f1d
Fix cmake issues.
mwaxmonsky 9f90b8e
Making advection test name unique for ctest.
mwaxmonsky c0ccfaf
Fix CMake casing.
mwaxmonsky 84a2e3e
Adding advection tests to pytest workflow.
mwaxmonsky b447039
Removing un-needed gitignore.
mwaxmonsky d6218a3
CMake cleanup and support for building multiple tests.
mwaxmonsky 6959e43
Make unique pytest targets.
mwaxmonsky 2fe885b
Remove unused set statement.
mwaxmonsky 4b15859
Adding ddt_host tests to cmake build workflow.
mwaxmonsky cfb1fdb
Adding var_compatibility_test to cmake workflow.
mwaxmonsky 4006597
Remove unused .gitignore
mwaxmonsky fc79f04
Renaming pytest files to avoid collision.
mwaxmonsky e802031
adding advection pytests to workflow.
mwaxmonsky 082c332
Adding missing imports.
mwaxmonsky dfc0ec1
Updating advection pytest.
mwaxmonsky c0e01f1
Fixing ddthost datatable build file location not being put in ddthost…
mwaxmonsky b4d3ae1
Re-add pytest version of ddthost tests.
mwaxmonsky d8a5731
Fixing ddthost missing python test and adding to github workflow.
mwaxmonsky 9f82c57
Adding var_compatibility tests to pytest.
mwaxmonsky 8b5ead1
Moving var_compatibility test filename to avoid collision and adding …
mwaxmonsky cfe8c54
Fix ddt test name.
mwaxmonsky a801b9a
Adding missing dependencies check.
mwaxmonsky ce104f9
Adding missing dependencies test.
mwaxmonsky a5c6884
Initial pfunit integration.
mwaxmonsky a9a21c6
Fixing missing newline at end of files.
mwaxmonsky a1bbde0
Additional conversion of test programs to pfunit tests.
mwaxmonsky af03ea5
Adding missing CMakeLists.txt update from previous commit.
mwaxmonsky 15646da
Resolve merge conflicts merging 'develop' into 'testing-refactor'.
mwaxmonsky 8155f81
Initial test_utils integration.
mwaxmonsky f5b4af2
Creating re-usable test stub and removing commented out previous styl…
mwaxmonsky 1e38c9f
Resolving merge conflicts merging 'develop' into 'testing-refactor'.
mwaxmonsky 675dec7
Convert DDT python tests to shared test harness.
mwaxmonsky 4deed39
Fixing whitespace.
mwaxmonsky 9603f77
Remove unused imports and fix spacing.
mwaxmonsky 48e2f2a
Consolidate host tests to use shared test backend.
mwaxmonsky f4fab29
Replace semicolon seperator with standard seperator.
mwaxmonsky 7e8ea47
Use dataclass to represent command line options.
mwaxmonsky 8c5ee10
Resolving merge conflicts.
mwaxmonsky 6fb121e
Use workspace path instead of hardcoded file path.
mwaxmonsky a175756
Resolving merge conflicts merging 'development' into 'testing-refactor'.
mwaxmonsky 017da94
Fixing CMakeLists.txt find_package convention and adding Fortran to p…
mwaxmonsky f11f92d
Initial removal of scheme text file parsing.
mwaxmonsky 142381e
Moving appending host meta file.
mwaxmonsky 1d0d0db
Removing .txt files from advection test build.
mwaxmonsky a3fd180
Remove .txt files from DDT test build.
mwaxmonsky 2ba46ea
Removing un-needed message.
mwaxmonsky 74bde66
Removing .txt file from var_compatability test.
mwaxmonsky 40ecc20
Fixing warning message.
mwaxmonsky d1e5195
Revert OpenMP flag rename.
mwaxmonsky 6b6a410
Adding missing variables missed during merge.
mwaxmonsky bd52ac5
Fixing ordering missed during merge.
mwaxmonsky 32b75e6
Fixing array dimension update.
mwaxmonsky f45f3fd
Revert datafile changes.
mwaxmonsky 29b657d
Minor comment and new line cleanup.
mwaxmonsky d0e1095
Removing un-needed enable_languages call.
mwaxmonsky c8b3568
Reducing test_host hard coded name with cmake variable.
mwaxmonsky 3c896c4
Resolving merge conflicts merging 'develop' into 'testing-refactor'
mwaxmonsky 7b96750
Formatting updates.
mwaxmonsky 1f30515
Fixing default build type to match documentation.
mwaxmonsky cf398b5
Remove most ifort deprecation warnings from cmake build log.
mwaxmonsky dfa3bf0
Re-adding deleted file.
mwaxmonsky 2071507
Removing redundant error message for Doxygen.
mwaxmonsky 23f6ce7
Removing dead code.
mwaxmonsky eda7676
Fixing typo.
mwaxmonsky fd9d58e
Fixing typo.
mwaxmonsky fe9da6e
Resolving merge conflicts merging 'develop' into 'testing-refactor'.
mwaxmonsky 00fc8a9
Fixing build errors missed in previous merge conflict resolution.
mwaxmonsky 6ff1205
Removing pfunit dependency.
mwaxmonsky 4b7f00e
Adding explicit test flags to allow building singular regression test…
mwaxmonsky 6f87d73
Updating CMake variables to be project prefixed and removing unused p…
mwaxmonsky 1df0d8a
Making comment more explicit.
mwaxmonsky 9533fca
Add error message for missing file.
mwaxmonsky 850a295
Minor documentation update.
mwaxmonsky d3a2eb2
CMake cleanup and simplifcation.
mwaxmonsky c5a615d
Fixing test directive check.
mwaxmonsky 20956e6
Fixing grouping.
mwaxmonsky b52536a
Initial test README.md
mwaxmonsky ab128aa
Removing unneeded override of CMAKE_MODULE_PATH.
mwaxmonsky 0cb54ce
Added documentation for building docs.
mwaxmonsky 5a4b60b
Documentation update/cleanup.
mwaxmonsky 996c108
Add individual test run instructions.
mwaxmonsky fd910da
Updating unit-test README
mwaxmonsky 8b33cb8
Adding docs to run doctests.
mwaxmonsky 674de31
Minor formatting update.
mwaxmonsky ebff27f
Merge branch 'develop' into testing-refactor
mwaxmonsky e10df98
Adding missing newlines.
mwaxmonsky 6cfd499
Addressing formatting and BUILD_SHARED_LIBS comment from PR review.
mwaxmonsky b8f5334
Removing un-needed flags.
mwaxmonsky 461f42e
Suggestions to clean up OpenMP cmake integration and cmake diagnostic…
climbfuji 9e8498e
Adding ignore line for build directory.
mwaxmonsky cda0028
Revert "Adding ignore line for build directory."
mwaxmonsky 3013128
Merge pull request #1 from climbfuji/feature/refactor_feedback_dom
mwaxmonsky da2d9d2
Adding missing newline.
mwaxmonsky d2577a2
Adding demo cmake command.
mwaxmonsky 75cbe98
Minor comment cleanup.
mwaxmonsky ca34e38
Adding case specific documentation for regression tests.
mwaxmonsky File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,3 +1,5 @@ | ||
| # All compiled Python modules | ||
| *.pyc | ||
|
|
||
| # CMake build directory | ||
| build/ |
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,129 @@ | ||
| # CMake wrapper for ccpp_capgen.py | ||
| # Currently meant to be a CMake API needed for generating caps for regression tests. | ||
| # | ||
| # CAPGEN_DEBUG - ON/OFF (Default: OFF) - Enables debug capability through ccpp_capgen.py | ||
| # CAPGEN_EXPECT_THROW_ERROR - ON/OFF (Default: OFF) - Scans ccpp_capgen.py log for error string and errors if not found. | ||
| # HOST_NAME - String name of host | ||
| # OUTPUT_ROOT - String path to put generated caps | ||
| # VERBOSITY - Number of --verbose flags to pass to capgen | ||
| # HOSTFILES - CMake list of host metadata filenames | ||
| # SCHEMEFILES - CMake list of scheme metadata files | ||
| # SUITES - CMake list of suite xml files | ||
| function(ccpp_capgen) | ||
| set(optionalArgs CAPGEN_DEBUG CAPGEN_EXPECT_THROW_ERROR) | ||
| set(oneValueArgs HOST_NAME OUTPUT_ROOT VERBOSITY) | ||
| set(multi_value_keywords HOSTFILES SCHEMEFILES SUITES) | ||
|
|
||
| cmake_parse_arguments(arg "${optionalArgs}" "${oneValueArgs}" "${multi_value_keywords}" ${ARGN}) | ||
|
|
||
| # Error if script file not found. | ||
| set(CCPP_CAPGEN_CMD_LIST "${CMAKE_SOURCE_DIR}/scripts/ccpp_capgen.py") | ||
| if(NOT EXISTS ${CCPP_CAPGEN_CMD_LIST}) | ||
| message(FATAL_ERROR "function(ccpp_capgen): Could not find ccpp_capgen.py. Looked for ${CCPP_CAPGEN_CMD_LIST}.") | ||
| endif() | ||
|
|
||
| # Interpret parsed arguments | ||
| if(DEFINED arg_CAPGEN_DEBUG) | ||
| list(APPEND CCPP_CAPGEN_CMD_LIST "--debug") | ||
| endif() | ||
| if(DEFINED arg_HOSTFILES) | ||
| list(JOIN arg_HOSTFILES "," HOSTFILES_SEPARATED) | ||
| list(APPEND CCPP_CAPGEN_CMD_LIST "--host-files" "${HOSTFILES_SEPARATED}") | ||
| endif() | ||
| if(DEFINED arg_SCHEMEFILES) | ||
| list(JOIN arg_SCHEMEFILES "," SCHEMEFILES_SEPARATED) | ||
| list(APPEND CCPP_CAPGEN_CMD_LIST "--scheme-files" "${SCHEMEFILES_SEPARATED}") | ||
| endif() | ||
| if(DEFINED arg_SUITES) | ||
| list(JOIN arg_SUITES "," SUITES_SEPARATED) | ||
| list(APPEND CCPP_CAPGEN_CMD_LIST "--suites" "${SUITES_SEPARATED}") | ||
| endif() | ||
| if(DEFINED arg_HOST_NAME) | ||
| list(APPEND CCPP_CAPGEN_CMD_LIST "--host-name" "${arg_HOST_NAME}") | ||
| endif() | ||
| if(DEFINED arg_OUTPUT_ROOT) | ||
| message(STATUS "Creating output directory: ${arg_OUTPUT_ROOT}") | ||
| file(MAKE_DIRECTORY "${arg_OUTPUT_ROOT}") | ||
| list(APPEND CCPP_CAPGEN_CMD_LIST "--output-root" "${arg_OUTPUT_ROOT}") | ||
| endif() | ||
| if(DEFINED arg_VERBOSITY) | ||
| string(REPEAT "--verbose" ${arg_VERBOSITY} VERBOSE_PARAMS_SEPERATED) | ||
| separate_arguments(VERBOSE_PARAMS UNIX_COMMAND "${VERBOSE_PARAMS_SEPERATED}") | ||
| list(APPEND CCPP_CAPGEN_CMD_LIST ${VERBOSE_PARAMS}) | ||
| endif() | ||
|
|
||
| message(STATUS "Running ccpp_capgen.py from ${CMAKE_CURRENT_SOURCE_DIR}") | ||
|
|
||
| unset(CAPGEN_OUT) # Unset CAPGEN_OUT to prevent incorrect output on subsequent ccpp_capgen(...) calls. | ||
| execute_process(COMMAND ${CCPP_CAPGEN_CMD_LIST} | ||
| WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" | ||
| OUTPUT_VARIABLE CAPGEN_OUT | ||
| ERROR_VARIABLE CAPGEN_OUT | ||
| RESULT_VARIABLE RES | ||
| COMMAND_ECHO STDOUT) | ||
|
|
||
| message(STATUS "ccpp-capgen stdout: ${CAPGEN_OUT}") | ||
|
|
||
| if(arg_CAPGEN_EXPECT_THROW_ERROR) | ||
| # Determine if the process succeeded but had an expected string in the process log. | ||
| string(FIND "${CAPGEN_OUT}" "Variables of type ccpp_constituent_properties_t only allowed in register phase" ERROR_INDEX) | ||
|
|
||
| if (ERROR_INDEX GREATER -1) | ||
| message(STATUS "Capgen build produces expected error message.") | ||
| else() | ||
| message(FATAL_ERROR "CCPP cap generation did not generate expected error. Expected 'Variables of type constituent_properties_t only allowed in register phase.") | ||
| endif() | ||
| else() | ||
| if(RES EQUAL 0) | ||
| message(STATUS "ccpp-capgen completed successfully") | ||
| else() | ||
| message(FATAL_ERROR "CCPP cap generation FAILED: result = ${RES}") | ||
| endif() | ||
| endif() | ||
| endfunction() | ||
|
|
||
| # CMake wrapper for ccpp_datafile.py | ||
| # Currently meant to be a CMake API needed for generating caps for regression tests. | ||
| # | ||
| # DATATABLE - Path to generated datatable.xml file | ||
| # REPORT_NAME - String report name to get list of generated files form capgen (typically --ccpp-files) | ||
| function(ccpp_datafile) | ||
| set(oneValueArgs DATATABLE REPORT_NAME) | ||
| cmake_parse_arguments(arg "" "${oneValueArgs}" "" ${ARGN}) | ||
|
|
||
| set(CCPP_DATAFILE_CMD "${CMAKE_SOURCE_DIR}/scripts/ccpp_datafile.py") | ||
|
|
||
| if(NOT EXISTS ${CCPP_DATAFILE_CMD}) | ||
| message(FATAL_ERROR "function(ccpp_datafile): Could not find ccpp_datafile.py. Looked for ${CCPP_DATAFILE_CMD}.") | ||
| endif() | ||
|
|
||
| if(NOT DEFINED arg_REPORT_NAME) | ||
| message(FATAL_ERROR "function(ccpp_datafile): REPORT_NAME not set. Must specify the report to generate to run cpp_datafile.py") | ||
| endif() | ||
| list(APPEND CCPP_DATAFILE_CMD "${arg_REPORT_NAME}") | ||
|
|
||
| if(NOT DEFINED arg_DATATABLE) | ||
| message(FATAL_ERROR "function(ccpp_datafile): DATATABLE not set. A datatable file must be configured to call ccpp_datafile.") | ||
| endif() | ||
| list(APPEND CCPP_DATAFILE_CMD "${arg_DATATABLE}") | ||
|
|
||
| message(STATUS "Running ccpp_datafile from ${CMAKE_CURRENT_SOURCE_DIR}") | ||
|
|
||
| unset(CCPP_CAPS) # Unset CCPP_CAPS to prevent incorrect output on subsequent ccpp_datafile(...) calls. | ||
| execute_process(COMMAND ${CCPP_DATAFILE_CMD} | ||
| WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" | ||
| OUTPUT_VARIABLE CCPP_CAPS | ||
| RESULT_VARIABLE RES | ||
| OUTPUT_STRIP_TRAILING_WHITESPACE | ||
| ERROR_STRIP_TRAILING_WHITESPACE | ||
| COMMAND_ECHO STDOUT) | ||
| message(STATUS "CCPP_CAPS = ${CCPP_CAPS}") | ||
| if(RES EQUAL 0) | ||
| message(STATUS "CCPP cap files retrieved") | ||
| else() | ||
| message(FATAL_ERROR "CCPP cap file retrieval FAILED: result = ${RES}") | ||
| endif() | ||
| string(REPLACE "," ";" CCPP_CAPS_LIST ${CCPP_CAPS}) # Convert "," separated list from python back to ";" separated list for CMake. | ||
| set(CCPP_CAPS_LIST "${CCPP_CAPS_LIST}" PARENT_SCOPE) | ||
| endfunction() | ||
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| # Building the documentation | ||
|
|
||
| Similar to building the source code, building the documentation can be done by: | ||
|
|
||
| ```bash | ||
| $ cmake -S<project_root_source_directory> -B<build_directory> -DCCPP_FRAMEWORK_BUILD_DOCUMENTATION=ON | ||
| cd build_directory | ||
| make doc | ||
| ``` | ||
|
|
||
| and the compiled documentation should be in `<build_directory>/doc/html`. |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.