Skip to content
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

Various updates to TriBITS while getting to run on CEE RHEL8 machine #614

Merged

Conversation

bartlettroscoe
Copy link
Member

These are misc commits that I added to get TriBITS tests to run on a CEE RHEL8 machine that only has python3. I used the AUE modules to create a dev env (super easy except for GNU-12.3.0 openmpi not working).

It seems that the test suite is running very slow on my old RHEL7 machine 'crf450' and that machine will be taken offline soon inside of SNL (because RHEL7 is being retired). This test suite runs in about 5.5 minutes with ctest -j16 on my hpws workstation (with 16 cores). That is slow (because it is using a mounted filesystem for everything) but not the end of the world.

This was missed on the upgrade of CMake 3.17 to 3.23.  See commit:

  45b514c "Update CMake min version from 3.17 to 3.23 (TriBITSPub#411)"
  Author: Roscoe A. Bartlett <[email protected]>
  Date:   Sat Feb 25 07:01:29 2023 -0700 (1 year, 5 months ago)

CMake 3.23 was already required by TriBITS so this just makes it consistent.
This allows all of these Python scripts to run on more modern systems where
'python3' is the name of the Python interpreter executable.
For some reason, tests are taking longer on crf450 now and some are timing
out.  My memory was that ctest -j16 was taking about 2.5 minutes but now it is
taking over 6 minutes.

Therefore, I needed to increase the timeout to get them to pass.
There are many other tests that are disabled for non-GNU compilers but it
least this gets us started on porting the TriBITS tests to work with the Clang
compiler.
We don't want to be spell checking these temp files
I tried to use the AUE GNU 12.3.0 env but there was a problem with one of the
installed openmpi files.  There must be some corruption with one of those
files.
This was not having any impact on enabling tests.  Now this will enable the
tests that depend on this var.

Now we will see if those tests pass!
For some reason, a different path is put before the RPATHS being grepped for
in the binary lib.  These tests should allow that.  We just need to see the
desired RPATHS in those binaries.
… pass

This test was not being run because the var HAS_PYTHON3 was not set in the
correct place so it was always disabled and printed:

  -- TriBITS_sphinx_rst_generator_UnitTests: NOT added test because EXCLUDE_IF_NOT_TRUE HAS_PYTHON3=''!

A previous commit on this branch set HAS_PYTHON3 correctly, but this test was
broken at a structural level.  The right arguments were not even being passed
into the function being unit tested (which is fixed in this commit).  It is
not clear when this test got broken because it was not being run.

The test is currently failing with the error:

  Traceback (most recent call last):
    File "/gpfs/rabartl/Trilinos.base/Trilinos/TriBITS/test/doc/sphinx_rst_generator_UnitTests.py", line 95, in test_1
      copy_file=True)
    File "/gpfs/rabartl/Trilinos.base/Trilinos/TriBITS/tribits/doc/sphinx/sphinx_rst_generator.py", line 55, in change_paths_and_get_includes
      copyfile(src=abs_path, dst=new_path, follow_symlinks=True)
    File "/usr/lib64/python3.6/shutil.py", line 120, in copyfile
      with open(src, 'rb') as fsrc:
  FileNotFoundError: [Errno 2] No such file or directory: '/gpfs/rabartl/Trilinos.base/Trilinos/TriBITS/test/examples/TribitsExampleProject/ProjectName.cmake'

I don't have time to figure this code out and fix it right now.
This way, we will see that the test is disabled when you first configure and
it will submit the disabled test to CDash.
I added mention of needing to install sphinx and sphinx-rd-theme in order to
run the sphinx-based tests.
Just being careful to not remove more files than is needed.
@bartlettroscoe bartlettroscoe added component: testing Dealing with automated testing not specific to any other component type: bug type: enhancement labels Aug 1, 2024
Copy link
Collaborator

@rabartlett1972 rabartlett1972 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The only changes under tribits/ are changing from 'python' to 'python3' for the *.py drivers.

@bartlettroscoe bartlettroscoe merged commit 6c9a725 into TriBITSPub:master Aug 1, 2024
6 checks passed
bartlettroscoe added a commit to trilinos/Trilinos that referenced this pull request Oct 10, 2024
Origin repo remote tracking branch: 'github/master'
Origin repo remote repo URL: 'github = [email protected]:TriBITSPub/TriBITS.git'
Git describe: tribits_start-3502-g28a36351

At commit:

commit 3dca096437acbb7a16b88bee7d9569bccd8e6317
Author:  Samuel E. Browne <[email protected]>
Date:    Thu Jun 6 15:26:15 2024 -0600
Summary: Add Python3 requirement to user guide (#610)

Mostly, this was done to brings in the changes for transitioning to
find_package(Python3) (see TriBITSPub/TriBITS#610).

But the full set of TriBITS PRs merged in were:

* TriBITSPub/TriBITS#608 sebrowne/python3
* TriBITSPub/TriBITS#617 TriBITSPub/610-python3-2
* TriBITSPub/TriBITS#616 bartlettroscoe/610-python3
* TriBITSPub/TriBITS#615 bartlettroscoe/enable-disable-doc-update-2024-08-29
* TriBITSPub/TriBITS#611 bartlettroscoe/tril-13133-TriBITS-Update-License-and-Copyright-2
* TriBITSPub/TriBITS#614 bartlettroscoe/tribits-updates-2024-08-01
* TriBITSPub/TriBITS#613 TriBITSPub/612-improve-tribits-version-error
* TriBITSPub/TriBITS#609 bartlettroscoe/tril-13133-TriBITS-Update-License-and-Copyright
bartlettroscoe added a commit to bartlettroscoe/Trilinos that referenced this pull request Oct 11, 2024
Origin repo remote tracking branch: 'github/master'
Origin repo remote repo URL: 'github = [email protected]:TriBITSPub/TriBITS.git'
Git describe: tribits_start-3502-g28a36351

At commit:

commit 3dca096437acbb7a16b88bee7d9569bccd8e6317
Author:  Samuel E. Browne <[email protected]>
Date:    Thu Jun 6 15:26:15 2024 -0600
Summary: Add Python3 requirement to user guide (trilinos#610)

Mostly, this was done to brings in the changes for transitioning to
find_package(Python3) (see TriBITSPub/TriBITS#610).

But the full set of TriBITS PRs merged in were:

* TriBITSPub/TriBITS#608 sebrowne/python3
* TriBITSPub/TriBITS#617 TriBITSPub/610-python3-2
* TriBITSPub/TriBITS#616 bartlettroscoe/610-python3
* TriBITSPub/TriBITS#615 bartlettroscoe/enable-disable-doc-update-2024-08-29
* TriBITSPub/TriBITS#611 bartlettroscoe/tril-13133-TriBITS-Update-License-and-Copyright-2
* TriBITSPub/TriBITS#614 bartlettroscoe/tribits-updates-2024-08-01
* TriBITSPub/TriBITS#613 TriBITSPub/612-improve-tribits-version-error
* TriBITSPub/TriBITS#609 bartlettroscoe/tril-13133-TriBITS-Update-License-and-Copyright

Signed-off-by: Roscoe A. Bartlett <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component: testing Dealing with automated testing not specific to any other component type: bug type: enhancement
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants