-
Notifications
You must be signed in to change notification settings - Fork 572
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
ATDM: Switch to true keyword matching for utils/set_build_options.sh and add strong unit tests (#4063, #5939, CDOFA-27) #7202
Conversation
Origin repo remote tracking branch: 'origin/master' Origin repo remote repo URL: 'origin = git@github.com:kward/shunit2.git' At commit: commit ebc4baa08f045b7ef0f45c4b7d6f34f08d732f3d Author: Kate Ward <kate.ward@forestent.com> Date: Sun Apr 12 13:57:52 2020 +0200 Summary: Updated.
…ptions.sh (trilinos#4063, trilinos#5939) This uses the new bash functions atdm_match[_any][_buildname]_keyword to do solid solid keyword matching that removes any case sensitivity in the build name or keywords themselves. As part of this, I also addressed allowing the KOKKOS_ARCH keyword used in the build name to be any keyword and allow it to appear anywhere in build name. This allows matching to what SPARC uses for its build names. (This addresses I also added strong unit tests for this using the newly snapshotted shunit2 unit testing framework for scripting code. (These unit tests are pretty solid.) NOTE: This will technically break backward compatiblity because it would match keywords in names were it should not have before. For example, before, the build name 'gnu-7.2.0-openmpi-4.0.2-opt' wouild match the keyword 'openmp' but now it will not. This may break some user's builds but hopefully they will see the problem and fix their build names.
9c4fb0d
to
13adbd8
Compare
I also tested this on the RHEL6 machine 'crf450' with:
which submitted to:
The local log file showed:
|
I also tested this on 'stria' with:
Notice how 'farm' did not match 'arm'. |
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 InformationTest Name: Trilinos_pullrequest_gcc_4.8.4
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_intel_17.0.1
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_4.9.3_SERIAL
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_7.2.0
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_8.3.0
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_cuda_9.2
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_clang_9.0.0
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_python_2
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_python_3
Jenkins Parameters
Using Repos:
Pull Request Author: bartlettroscoe |
Status Flag 'Pull Request AutoTester' - Jenkins Testing: 1 or more Jobs FAILED Note: Testing will normally be attempted again in approx. 2 Hrs 30 Mins. If a change to the PR source branch occurs, the testing will be attempted again on next available autotester run. Pull Request Auto Testing has FAILED (click to expand)Build InformationTest Name: Trilinos_pullrequest_gcc_4.8.4
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_intel_17.0.1
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_4.9.3_SERIAL
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_7.2.0
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_8.3.0
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_cuda_9.2
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_clang_9.0.0
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_python_2
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_python_3
Jenkins Parameters
Console Output (last 100 lines) : Trilinos_pullrequest_gcc_4.8.4 # 6356 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_intel_17.0.1 # 6180 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_gcc_4.9.3_SERIAL # 4608 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_gcc_7.2.0 # 4455 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_gcc_8.3.0 # 644 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_cuda_9.2 # 3973 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_clang_9.0.0 # 346 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_python_2 # 2147 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_python_3 # 2158 (click to expand)
|
Status Flag 'Pull Request AutoTester' - Testing Jenkins Projects: Pull Request Auto Testing STARTING (click to expand)Build InformationTest Name: Trilinos_pullrequest_gcc_4.8.4
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_intel_17.0.1
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_4.9.3_SERIAL
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_7.2.0
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_8.3.0
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_cuda_9.2
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_clang_9.0.0
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_python_2
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_python_3
Jenkins Parameters
Using Repos:
Pull Request Author: bartlettroscoe |
Status Flag 'Pull Request AutoTester' - Jenkins Testing: 1 or more Jobs FAILED Note: Testing will normally be attempted again in approx. 2 Hrs 30 Mins. If a change to the PR source branch occurs, the testing will be attempted again on next available autotester run. Pull Request Auto Testing has FAILED (click to expand)Build InformationTest Name: Trilinos_pullrequest_gcc_4.8.4
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_intel_17.0.1
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_4.9.3_SERIAL
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_7.2.0
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_8.3.0
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_cuda_9.2
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_clang_9.0.0
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_python_2
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_python_3
Jenkins Parameters
Console Output (last 100 lines) : Trilinos_pullrequest_gcc_4.8.4 # 6359 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_intel_17.0.1 # 6183 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_gcc_4.9.3_SERIAL # 4611 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_gcc_7.2.0 # 4458 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_gcc_8.3.0 # 647 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_cuda_9.2 # 3976 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_clang_9.0.0 # 349 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_python_2 # 2150 (click to expand)
Console Output (last 100 lines) : Trilinos_pullrequest_python_3 # 2161 (click to expand)
|
The ATDM Trilinos Configuration scripts have become complex enough and important enough that they need to be under automated testing.
…5939, CDOFA-27) Now 'arm' will not match non-keywords. I also added this to the ATDMTrilinosConfigTests package tests.
…package (trilinos#5939) Now when there are changes in the directory cmake/std/atdm/, this will trigger the enable of the package TrilinosATDMConfigTests instead of enabling nothing.
13adbd8
to
0df2273
Compare
Status Flag 'Pre-Test Inspection' - Auto Inspected - Inspection Is Not Necessary for this Pull Request. |
@e10harvey and @jmgate, Thanks for your careful reviews! I think I addressed all of issues in the commit cb572c7 that I just pushed or in the above comments. If it looks good, please approve. Thanks! |
@bartlettroscoe: Which diff addressed the errors shown on cdash? |
The TrilinosFrameworkTest failures were addressed in the commit 0df2273 I pushed last night. The last two PR testing iterations failed due to unrelated (random) test failures STKUnit_tests_util_UnitTest_MPI_1 and ShyLU_NodeTacho_Tacho_TestOpenMPDoubleTaskScheduler_MPI_1. It is impossible that the changes in this PR branch could have caused those test failures. (I am going to have to go research if these tests are failing in other PRs and report it in #3276. |
You want to set AUTOMERGE? |
@jmgate, yes, I just did. @e10harvey, we can address any further issues with this in a follow-up PR. Actually, we need to add unit testing for many other parts of the ATDM Trilinos config scripts as well as part of #5939. (I will add a set of concrete tasks in that issue.) |
Status Flag 'Pull Request AutoTester' - User Requested Retest - Label AT: RETEST will be reset after testing. |
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 InformationTest Name: Trilinos_pullrequest_gcc_4.8.4
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_intel_17.0.1
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_4.9.3_SERIAL
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_7.2.0
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_8.3.0
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_cuda_9.2
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_clang_9.0.0
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_python_2
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_python_3
Jenkins Parameters
Using Repos:
Pull Request Author: bartlettroscoe |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks like there are some failing tests on cdash related to these changes. If those pass in the next auto-tester iteration, then everything looks great! 👍
It looks like they were not -- see #7202 (comment). I think we have |
The PR iteration #7202 (comment) failed due to a unrelated random test failure. See above. I know the PR system is a bit confusing to follow. |
|
Status Flag 'Pull Request AutoTester' - Jenkins Testing: all Jobs PASSED Pull Request Auto Testing has PASSED (click to expand)Build InformationTest Name: Trilinos_pullrequest_gcc_4.8.4
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_intel_17.0.1
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_4.9.3_SERIAL
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_7.2.0
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_gcc_8.3.0
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_cuda_9.2
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_clang_9.0.0
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_python_2
Jenkins Parameters
Build InformationTest Name: Trilinos_pullrequest_python_3
Jenkins Parameters
|
Status Flag 'Pre-Merge Inspection' - SUCCESS: The last commit to this Pull Request has been INSPECTED AND APPROVED by [ e10harvey jmgate ]! |
Status Flag 'Pull Request AutoTester' - Pull Request will be Automerged |
Merge on Pull Request# 7202: IS A SUCCESS - Pull Request successfully merged |
This also adds a new testing package called 'TrilinosATDMConfigTests'.
This also snapshots in the 'shunit2' unit test framework from:
(I just grabbed the current 'master')
This framework was very easy to get set up and use and it seems to be pretty solid (but might be a bit slow). This only added an extra 330K of disk space so that is not so bad. Also, this has a very open Apache-2 license so it should not pose a problem for any customers. (And real external customers should use a tarball which will exclude the cmake/std/atdm directory if not enabling the TrilinosATDMConfigTests package.)
How was this tested?
With real unit tests! The PR tester should also run these tests!