More Linux / build (map[arch:debian arch_ver:10], apt-get install -y libgtest-dev
cd /usr/src/gtest
cmake .
make
cp libgtest* /usr/lib/
) (push) Has been cancelled
More Linux / build (map[arch:debian arch_ver:11], export DEBIAN_FRONTEND=noninteractive
apt-get update
apt-get install -y tzdata
) (push) Has been cancelled
* Added interface file includes for C++ types supported by swig
* Testing swig interface includes
* Inital pass at testing STL access via input file for swig interface file update
* Updated test comparison for keys() return function that swig generates for std::map. Added SIM_test_ip_stl to the trickops yml file
* Updated trick_swig.i to remove redundant includes
* Renamed input file for SIM_test_ip_stL
* Added typemap so swig can convert from C++ std::string pointer to python string
* Commented out some %include .i files. Also commented out %import for unordered_map as not supported by swig3 in the test code.
* Removed duplicated includes and added checking swig version for some .i files.
* Moved std_sstream.i to the right place as the order matters.
* Moved all work in progress .i files in swig 3 to swig 4 block.
* Removed unused files and added proper purposes for header files.
* Updated vector of char16_t and char32_t tests.
---------
Co-authored-by: Hong Chen <hchen99@users.noreply.github.com>
Co-authored-by: mherr <mherr@pop-os.lan>
* Fix several bugs with processing templates in ICG
- Fixed an issue where io_src code for some templates was being placed in the
wrong file.
- Fixed an issue with templates being instantiated with templates as parameters.
- Fixed an issue with templates that instantiate templates.
Added additional tests to cover these cases.
* Moved the list of template argument header dependencies from ClassValues to PrintFileContents10 so they can be printed to the io_ file regardless of the order in which class info is printed.
* Moved the list of template argument header dependencies from ClassValues to PrintFileContents10 so they can be printed to the io_ file regardless of the order in which class info is printed.
Moved the list of template argument header dependencies from ClassValues to PrintFileContents10 so they can be printed to the io_ file regardless of the order in which class info is printed.
* Added support to handle template enum class type argument and removed some commented code.
Added support to handle template enum class type argument and removed some commented code.
---------
Co-authored-by: Hong Chen <hchen99@users.noreply.github.com>
More Linux / build (map[arch:debian arch_ver:10], apt-get install -y libgtest-dev
cd /usr/src/gtest
cmake .
make
cp libgtest* /usr/lib/
) (push) Has been cancelled
More Linux / build (map[arch:debian arch_ver:11], export DEBIAN_FRONTEND=noninteractive
apt-get update
apt-get install -y tzdata
) (push) Has been cancelled
* Integrated MultiDtInteg classes into Trick build.
* Corrected some comments
* Cleaned up version and added test
* Small fixes and more interesting test case
* Added MultiDt integration User's Guide section.
* Correct numbered solutions
* Newline fix
* Added check that an integration rate can be represented in trick tics
* Fixed doc comment and added baseline sat2d_multidt sim. Need to add specific rates.
* Fixed some tics vs doubles issues. Added testing and comparison vs single rate. exact match
* cleaned up unit test input files and prevent both realtime and any guis if unit tests are enabled
* Fix input file syntax error
* Resolved the segmentation fault issue when loading a checkpoint with HDF5 data recording enabled.
Resolved the segmentation fault issue when loading a checkpoint with HDF5 data recording enabled.
* Fixed bitfield for hdf5
Fixed bitfield for hdf5 recording.
More Linux / build (map[arch:debian arch_ver:10], apt-get install -y libgtest-dev
cd /usr/src/gtest
cmake .
make
cp libgtest* /usr/lib/
) (push) Has been cancelled
More Linux / build (map[arch:debian arch_ver:11], export DEBIAN_FRONTEND=noninteractive
apt-get update
apt-get install -y tzdata
) (push) Has been cancelled
* Added new function calls to data_record_utilities for getting the total number of data recording groups and the data recording group pointer by its id number per customer request.
* Deleted unnecessary variable.
* Added a couple of more unit tests and fixed the return number to 0 instead of NULL for getting total number of drgs.
* Rework swig template declarations to be written before used in the containing class so that private methods are honored
* Fix SIM_test_ip for swig 4.2.0 and implemented review suggestions
* Additional review comment fixes
---------
Co-authored-by: Thomas Brain <thomas.a.brain@nasa.gov>
* Add type, dispersion, min_value, max_value and other relevant internal
members of MonteCarloVariable* classes to the output of
MonteCarlo_Meta_data_output. Motivation is for users wanting to post-process
dispersion parameters used during generation of runs
* Protect against invalid memory access when length of values is zero in
MonteCarloVariableRandomStringSet::generate_assignment(). Add a new
verif sim warning case to cover these new lines
* Update new verif data for SIM_mc_generation to support these changes
Closes#1574
Co-authored-by: Dan Jordan <daniel.d.jordan@nasa.gov>
* Fixed SIGABRT for checkpointing change variables
* Expanded the Data Recording Checkpoint test sim
- Added a case for checkpointing change variables
* Updated the test case for checkpointing change vars
- Changed the header, input, and log files to get better data representation
* Expanded the Checkpoint test sim
- Added a test case covering when the only tracked variable is the change var.
* Variable Server byteswapping crashes the sim #1513
The code to byteswap a variable server buffer has a comment saying there is a bug. The comment is
correct. The original code would swap the parameter and anything else that followed that parameter
in the structure. Crashes everywhere. Created a new routine that byteswaps a single parameter.
Strangely we didn't have such a routine until now. Did some testing of doubles, floats, ints,
shorts, and chars and all were swapped correctly.
* Variable Server byteswapping crashes the sim #1513
enabling binary byteswap test.
* Provide MonteCarloGenerate capability
Intermediate commit, this squash represents all of Isaac Reaves' work
during his Fall 2022 Pathways internship tour
[skip ci]
* TrickOps: Add phase, [min-max] range, and overhaul YAML verification
* Add new "phase:" mechanism to TrickOps Runs and Builds to support
project-specific constraints on build and run ordering
- phase defaults to zero if not specified and must be between -1000
and 1000 if given.
- jobs can now optionally be requested by their phase or phase range
- See trickops/README.md for details
* Add [min-max] notation capability to run: entries and compare: entries
- [min-max] ranges provide definition of a set of runs using a common
numbering scheme in the YAML file, greatly reducing YAML file size
for monte-carlo and other zero-padded run numbering use cases
- See trickops/README.md for details
* YAML parsing changes
- Overhaul the logic which verifies YAML files for the expected
TrickOps format. This is now done in TrickWorkflowYamlVerifier and
provides much more robust error checking than previous approach
- .yaml_requirements.yml now provides the required types, ranges, and
default values as applicable to expected entries in YAML files
- valgrind: is now an sub-option to run: entries, not its own section
Users should now list their runs normallly and define their flags in
in that run's valgrind: subsection
- parallel_safety is now a per-sim parameter and not global. Users
should move their global config to the sim layer
- self.config_errors is now a list of errors. Users should now
check for empty list when using instead of True/False
* Robustify the get_koviz_report_jobs unit test to work whether koviz
exists on PATH or not
* Adjust trickops.py to use the new phase and range features
- Make it more configurable on the command-line via argparse
- Move SIM_mc_generation tests into test_sims.yml
[skip ci]
* Code review and cleanup from PR #1389
Documentation:
* Adjust documentation to fit suggested symlinked approach. Also
cleaned up duplicate images and old documentation.
* Moved the verification section out of markdown and into a PDF since it
heavily leverages formatting not available in markdown.
* Clarify a couple points on the Darwin Trick install guide
* Update wiki to clarify that data recording strings is not supported
MCG Code:
* Replace MonteCarloVariableRandomNormal::is_near_equal with new
Trick::dbl_is_near from trick team
MCG Testing:
* Reduce the set of SIM_mc_generation comparisons. After discussion
the trick team, we are choosing to remove all comparisons to
verif_data/ which contain random-generated numbers since
these tests cannot pass across all supported trick platforms.
* Fix the wrong rule on exlcuding -Werror for Darwin builds
of SIM_mc_generation
* Remove data recording of strings in SIM_mc_generation
Trickops:
* Replace build_command with build_args per discussion w/ Trick team
Since we only support arguments to trick-CP, replace the build_command
yaml entry with build_args
* Disable var server connection by default in SingleRun if TrickWorkflow.quiet
is True
* Guard against multiple Job starts
* Remove SimulationJob inheritance layer since old monte-carlo wasn't
and never will be supported by TrickOps
* Ignore IOError raise from variable_server that looks like "The remote
endpoint has closed the connection". This appears to occur when
SingleRun jobs attempt to connect to the var server for a sim that
terminates very early
[skip ci]
* Adjust phasing of old/new MCG initialize functions
* Clarify failure message in generate_dispersions if new/old MC are both
used.
* Adjust the phasing order of MCG intialize method to be before
legacy MC initialized. Without this, monte-carlo dry run completes with
success before the check in generate_dispersions() can run
* Add -Wno-stringop-truncation to S_override.mk for SIM_mc_generation
since gcc 8+ warns about SWIG generated content in top.cpp
* Introduce MonteCarloGenerationHelper python class
This new class provides an easy-to-use interface for MCG sim-module
users:
1. Run generation
2. Getting an sbatch array job suitable for SLURM
3. Getting a list of SingleRun() instances for generated runs, to be
executed locally if desired
---------
Co-authored-by: Dan Jordan <daniel.d.jordan@nasa.gov>
* Add tests for alternate ways to open VS port
* Don't connect to varserv when quiet=true in trickops
* Add print to try to help debug hanging trickops test
* Handle multicast connect failures gracefully
* Multicast is disabled by default on mac
* Forgot an important return value
* Take away retries
* Fix issue with restart test
* Revert trickops debugging changes
* Remove debugging accidentally left in [no ci]
* whoops
* Allow retries
* Update trickops.py
* sim test adjustments
* Add docs [no ci]
* wording [no ci]
* Cleanup
* Remove large messages, test that one in unit tests
- Update S_overrides.mk for SIM_test_varserv so it links correctly in 32 bit (why did only that one have a problem? the world will never know)
- Stop testing Debian Bookworm on python2.7 since support was removed
- Fix some TrickOps unit tests
* Replace sprintf with snprintf in all of Trick source. #1384
* Don't add -Werror for MacOS because of deprecated sprintf warnings which we cant get rid of because SWIG. #1384
* Fixed an unbalanced parenthesis in S_overrides.mk. #1384
* add integration test sim SIM_exec_set_time_tic_value
* use temporary job pointer instead of modifying curr_job in exec_set_time_tic_value
closes#1372
* Updates SIM_stl to include checkpoint writing and checkpoint restore, as well as adding more data structures to test
* Thoroughly tests supported STL types with MM_stl_checkpoint and MM_stl_restore
* Adds an option to enable or disable STL restore in accessible interfaces and changes default to true
* Updates documentation on STL checkpointing to clearly state limitations and known bugs
* Adds the send_once command and message type, which allows a user to request a variable to be sent immediately and only once (intended to replace the var_add, var_send, var_clear idiom that is commonly used for this purpose)
* Minor refactoring of variable server internals to reduce repeated code
* Adds SIM_test_varserv to integration test to test basic variable server functionality
* Changes graphics client for SIM_billiards to use var_send_once as an example of intended use
* Add documentation for var_send_once in docs and tutorial
* Set exit_code_enabled in trick unit tests to be true by default
* Patch for failing bookworm build