RAVEN is a flexible and multi-purpose probabilistic risk analysis, validation and uncertainty quantification, parameter optimization, model reduction and data knowledge-discovering framework.
What issue does this change request address? (Use "#" before the issue to link it, i.e., #42.)
Closes #2338
What are the significant changes in functionality due to this change request?
This change allows run_tests to forward command line arguments that contain spaces to rook successfully. Instead of saving the entire command for rook in a string variable, then calling the string variable as a command, this update calls the command directly. In the Plugins section, this requires that the command be repeated (copy/pasted), since in the previous version of run_tests the string of the rook command was printed before being called. Functionality should not change for typical run_tests usage with this update.
Admittedly, this solution introduces code with suboptimal style. Nevertheless, of all options, this is likely the stylistically best solution that effectively solves the problem. Various alternative solutions were attempted that would not require modifying run_tests, including placing the multi-word argument to run_tests in single quotes instead of double quotes (e.g. ./run_tests --arg-for-rook='content to be passed to rook'), escaping double quote characters in the argument to run_tests (e.g. ./run_tests --arg-for-rook=\"content to be passed to rook\"), and escaping space characters in the argument to run_tests (e.g. ./run_tests --arg-for-rook="content\ to\ be\ passed\ to\ rook"). None were effective.
For Change Control Board: Change Request Review
The following review must be completed by an authorized member of the Change Control Board.
[x] 1. Review all computer code.
[x] 2. If any changes occur to the input syntax, there must be an accompanying change to the user manual and xsd schema. If the input syntax change deprecates existing input files, a conversion script needs to be added (see Conversion Scripts).
[x] 3. Make sure the Python code and commenting standards are respected (camelBack, etc.) - See on the wiki for details.
[x] 4. Automated Tests should pass, including run_tests, pylint, manual building and xsd tests. If there are changes to Simulation.py or JobHandler.py the qsub tests must pass.
[x] 5. If significant functionality is added, there must be tests added to check this. Tests should cover all possible options. Multiple short tests are preferred over one large test. If new development on the internal JobHandler parallel system is performed, a cluster test must be added setting, in XML block, the node <internalParallel> to True.
[x] 6. If the change modifies or adds a requirement or a requirement based test case, the Change Control Board's Chair or designee also needs to approve the change. The requirements and the requirements test shall be in sync.
[x] 7. The merge request must reference an issue. If the issue is closed, the issue close checklist shall be done.
[x] 8. If an analytic test is changed/added is the the analytic documentation updated/added?
[x] 9. If any test used as a basis for documentation examples (currently found in raven/tests/framework/user_guide and raven/docs/workshop) have been changed, the associated documentation must be reviewed and assured the text matches the example.
Pull Request Description
What issue does this change request address? (Use "#" before the issue to link it, i.e., #42.)
Closes #2338
What are the significant changes in functionality due to this change request?
This change allows
run_tests
to forward command line arguments that contain spaces to rook successfully. Instead of saving the entire command for rook in a string variable, then calling the string variable as a command, this update calls the command directly. In the Plugins section, this requires that the command be repeated (copy/pasted), since in the previous version ofrun_tests
the string of the rook command was printed before being called. Functionality should not change for typicalrun_tests
usage with this update.Admittedly, this solution introduces code with suboptimal style. Nevertheless, of all options, this is likely the stylistically best solution that effectively solves the problem. Various alternative solutions were attempted that would not require modifying
run_tests
, including placing the multi-word argument torun_tests
in single quotes instead of double quotes (e.g../run_tests --arg-for-rook='content to be passed to rook'
), escaping double quote characters in the argument torun_tests
(e.g../run_tests --arg-for-rook=\"content to be passed to rook\"
), and escaping space characters in the argument torun_tests
(e.g../run_tests --arg-for-rook="content\ to\ be\ passed\ to\ rook"
). None were effective.For Change Control Board: Change Request Review
The following review must be completed by an authorized member of the Change Control Board.
<internalParallel>
to True.raven/tests/framework/user_guide
andraven/docs/workshop
) have been changed, the associated documentation must be reviewed and assured the text matches the example.