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

Add the ability to install examples or other directories #19022

Closed
joshuahansel opened this issue Oct 6, 2021 · 2 comments · Fixed by #20585
Closed

Add the ability to install examples or other directories #19022

joshuahansel opened this issue Oct 6, 2021 · 2 comments · Fixed by #20585
Labels
T: task An enhancement to the software.

Comments

@joshuahansel
Copy link
Contributor

joshuahansel commented Oct 6, 2021

Reason

Binary-only users for applications benefit from having access to non-source content other than the contents of test/tests.

Design

This would allow application developers to specify their own directories that can be installed in addition to test/tests. Add a makefile variable that apps can set in their own makefiles that contains a list of zero or more additional directories to be treated like test/tests during the install process - i.e. copied wholesale into [PREFIX]/share/[appname]/[dirname].

Impact

This will add new capability and shouldn't affect existing capability.

@joshuahansel joshuahansel added the T: task An enhancement to the software. label Oct 6, 2021
@joshuahansel
Copy link
Contributor Author

@rwcarlsen Feel free to beef up the issue description - I'm pretty ignorant on this topic.

@lindsayad: @permcody suggested I ask you to tag this issue in the MOOSE TA support task.

@lindsayad lindsayad added this to To do in FY22 NEAMS MP - TA Support via automation Oct 6, 2021
@lindsayad
Copy link
Member

done!

permcody added a commit to permcody/moose that referenced this issue Feb 18, 2022
permcody added a commit to permcody/moose that referenced this issue Feb 21, 2022
permcody added a commit to permcody/moose that referenced this issue Mar 3, 2022
Getting rid of assumptions in tests that rely on the file structure further up than the copy point. This
includes the relative location of the executable.

Also removing the empty executable option. While this isn't an unreasonable test, we don't have a good
capability today to run a test that relies on a relative path outside of the installed tree. We may re-add
this capability at a later date. By switching all the useability tests back to RunApp we can't control the
CLI arguments that are passed to the application, invalidating the need for that test.

refs idaholab#19022
permcody added a commit to permcody/moose that referenced this issue Mar 3, 2022
permcody added a commit to permcody/moose that referenced this issue Mar 3, 2022
Getting rid of assumptions in tests that rely on the file structure further up than the copy point. This
includes the relative location of the executable.

Also removing the empty executable option. While this isn't an unreasonable test, we don't have a good
capability today to run a test that relies on a relative path outside of the installed tree. We may re-add
this capability at a later date. By switching all the useability tests back to RunApp we can't control the
CLI arguments that are passed to the application, invalidating the need for that test.

refs idaholab#19022
permcody added a commit to permcody/moose that referenced this issue Mar 8, 2022
refs idaholab#19022

Apply suggestions from code review

Co-authored-by: Logan Harbour <loganhharbour@gmail.com>
permcody added a commit to permcody/moose that referenced this issue Mar 8, 2022
permcody added a commit to permcody/moose that referenced this issue Mar 8, 2022
Getting rid of assumptions in tests that rely on the file structure further up than the copy point. This
includes the relative location of the executable.

Also removing the empty executable option. While this isn't an unreasonable test, we don't have a good
capability today to run a test that relies on a relative path outside of the installed tree. We may re-add
this capability at a later date. By switching all the useability tests back to RunApp we can't control the
CLI arguments that are passed to the application, invalidating the need for that test.

refs idaholab#19022
permcody added a commit to permcody/moose that referenced this issue Mar 9, 2022
permcody added a commit to permcody/moose that referenced this issue Mar 10, 2022
refs idaholab#19022

Apply suggestions from code review

Co-authored-by: Logan Harbour <loganhharbour@gmail.com>
permcody added a commit to permcody/moose that referenced this issue Mar 10, 2022
permcody added a commit to permcody/moose that referenced this issue Mar 10, 2022
Getting rid of assumptions in tests that rely on the file structure further up than the copy point. This
includes the relative location of the executable.

Also removing the empty executable option. While this isn't an unreasonable test, we don't have a good
capability today to run a test that relies on a relative path outside of the installed tree. We may re-add
this capability at a later date. By switching all the useability tests back to RunApp we can't control the
CLI arguments that are passed to the application, invalidating the need for that test.

refs idaholab#19022
permcody added a commit to permcody/moose that referenced this issue Mar 10, 2022
permcody added a commit to permcody/moose that referenced this issue Mar 10, 2022
permcody added a commit to permcody/moose that referenced this issue Mar 11, 2022
permcody added a commit to permcody/moose that referenced this issue Mar 11, 2022
permcody added a commit to permcody/moose that referenced this issue Mar 12, 2022
permcody added a commit to permcody/moose that referenced this issue Mar 12, 2022
Getting rid of assumptions in tests that rely on the file structure further up than the copy point. This
includes the relative location of the executable.

Also removing the empty executable option. While this isn't an unreasonable test, we don't have a good
capability today to run a test that relies on a relative path outside of the installed tree. We may re-add
this capability at a later date. By switching all the useability tests back to RunApp we can't control the
CLI arguments that are passed to the application, invalidating the need for that test.

refs idaholab#19022
permcody added a commit to permcody/moose that referenced this issue Mar 12, 2022
permcody added a commit to permcody/moose that referenced this issue Mar 12, 2022
permcody added a commit to permcody/moose that referenced this issue Mar 13, 2022
permcody added a commit to permcody/moose that referenced this issue Mar 13, 2022
permcody added a commit to permcody/moose that referenced this issue Mar 13, 2022
FY22 NEAMS MP - TA Support automation moved this from To do to Done Mar 17, 2022
permcody added a commit to permcody/moose that referenced this issue Mar 18, 2022
1) Removing old --copy-tests and --tests options
2) Getting rid of convoluted logic to fun tests in system installed location
3) Introducing the first C++17 filesystem syntax

refs idaholab#19022
permcody added a commit to permcody/moose that referenced this issue Mar 18, 2022
1) Removing old --copy-tests and --tests options
2) Getting rid of convoluted logic to fun tests in system installed location
3) Introducing the first C++17 filesystem syntax

refs idaholab#19022
permcody added a commit to permcody/moose that referenced this issue Mar 21, 2022
permcody added a commit to permcody/moose that referenced this issue Mar 23, 2022
INSTALLABLE_DIRS is not defined in any .mk file. It does not need to be
stored on the Makefile stack. Also the test needs to account fo undefined
variables, not just empty variables.

refs idaholab#19022
permcody added a commit to permcody/moose that referenced this issue Mar 23, 2022
INSTALLABLE_DIRS is not defined in any .mk file. It does not need to be
stored on the Makefile stack. Also the test needs to account fo undefined
variables, not just empty variables.

refs idaholab#19022
permcody added a commit to permcody/moose that referenced this issue Mar 28, 2022
The --show-copyable-inputs flag shows a list of installable directories
to end users in case there are several or the lists are complicated.

Also applied some drive-by const-correctness in a few related methods.

refs idaholab#19022
grmnptr pushed a commit to grmnptr/moose that referenced this issue Mar 29, 2022
refs idaholab#19022

Apply suggestions from code review

Co-authored-by: Logan Harbour <loganhharbour@gmail.com>
grmnptr pushed a commit to grmnptr/moose that referenced this issue Mar 29, 2022
grmnptr pushed a commit to grmnptr/moose that referenced this issue Mar 29, 2022
Getting rid of assumptions in tests that rely on the file structure further up than the copy point. This
includes the relative location of the executable.

Also removing the empty executable option. While this isn't an unreasonable test, we don't have a good
capability today to run a test that relies on a relative path outside of the installed tree. We may re-add
this capability at a later date. By switching all the useability tests back to RunApp we can't control the
CLI arguments that are passed to the application, invalidating the need for that test.

refs idaholab#19022
grmnptr pushed a commit to grmnptr/moose that referenced this issue Mar 29, 2022
grmnptr pushed a commit to grmnptr/moose that referenced this issue Mar 29, 2022
grmnptr pushed a commit to grmnptr/moose that referenced this issue Mar 29, 2022
grmnptr pushed a commit to grmnptr/moose that referenced this issue Mar 29, 2022
grmnptr pushed a commit to grmnptr/moose that referenced this issue Mar 29, 2022
It turns out that there are some baked in assumptions of where the App is located
relative to the testroot. There are some nasty hacks to locate it in a normal
installation location, but this doesn't work if you install elsewhere (like we have
to for the test). In order to get the TestHarness to behave, it's easiest to just
link the executable to the fake test hierarchy. This part isn't a hack ;)

Next Problem, the TestHarness currently checks for the working directory to exist
in the Runnable phase, which occurs asyncronously to the scheduled launch of the
test. This is a no go, since we are trying to copy the directory structure in the test
so it won't exist for latter tests. So... I moved the working directory check to
the place where we actually launch the test. This would be OK, but apparently there
are other assumptions baked into the Job class. I had to start/stop the timer to
avoid an index out of range.

Now the tests are running properly.

refs idaholab#19022
grmnptr pushed a commit to grmnptr/moose that referenced this issue Mar 29, 2022
grmnptr pushed a commit to grmnptr/moose that referenced this issue Mar 29, 2022
1) Moving the copied test structure outside of the main test root. This prevents any side effects
   from an unexpected termination or any other failure of the tear down step followed by a subsequent
   relaunch of the test suite.
2) Removing the method=opt restriction, which triggered the original failure by causing the tear down
   step to be skipped during a normal test run. Instead I'm just going to link all versions of the
   binary into the installed directory and allow this to run in all modes.

closes idaholab#19022
grmnptr pushed a commit to grmnptr/moose that referenced this issue Mar 29, 2022
1) Removing old --copy-tests and --tests options
2) Getting rid of convoluted logic to fun tests in system installed location
3) Introducing the first C++17 filesystem syntax

refs idaholab#19022
grmnptr pushed a commit to grmnptr/moose that referenced this issue Mar 29, 2022
grmnptr pushed a commit to grmnptr/moose that referenced this issue Mar 29, 2022
INSTALLABLE_DIRS is not defined in any .mk file. It does not need to be
stored on the Makefile stack. Also the test needs to account fo undefined
variables, not just empty variables.

refs idaholab#19022
permcody added a commit to permcody/moose that referenced this issue Mar 30, 2022
The --show-copyable-inputs flag shows a list of installable directories
to end users in case there are several or the lists are complicated.

Also applied some drive-by const-correctness in a few related methods.

refs idaholab#19022
permcody added a commit to permcody/moose that referenced this issue Mar 30, 2022
The --show-copyable-inputs flag shows a list of installable directories
to end users in case there are several or the lists are complicated.

Also applied some drive-by const-correctness in a few related methods.

refs idaholab#19022
permcody added a commit to permcody/moose that referenced this issue Mar 31, 2022
The --show-copyable-inputs flag shows a list of installable directories
to end users in case there are several or the lists are complicated.

Also applied some drive-by const-correctness in a few related methods.

refs idaholab#19022
permcody added a commit to permcody/moose that referenced this issue Apr 4, 2022
The --show-copyable-inputs flag shows a list of installable directories
to end users in case there are several or the lists are complicated.

Also applied some drive-by const-correctness in a few related methods.

refs idaholab#19022
permcody added a commit to permcody/moose that referenced this issue Apr 4, 2022
permcody added a commit to permcody/moose that referenced this issue Apr 4, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
T: task An enhancement to the software.
Projects
No open projects
Development

Successfully merging a pull request may close this issue.

2 participants