* Updated not to add "friend class" to embedded private list so it can be accessed.
* Added a list to hold all friends class decl so able to specifically make sure not to remove them from io source but not to allow is source for others.
* Added namespaces to class names for comparison as class name only needs to be unique within the same namespace.
* Added if NULL check before getting friend decl type string.
* 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>
* Added system CPU time and initialization system CPU time and added user wording for existing CPU time to distinguish it from system CPU time used for trick run summary.
* Updated the order of a couple of times of shutdown messages printed on screen and sim/cpu time ratio to both user and system cpu time.
* Minor change for lining up the shutdown message.
* Updated to use std::string instead for cases that ruturn const char* by referencing to a local variable.
* Updated c_str invovled check as it is never NULL and always return a null-terminated ('\0') string and also removed unnecessary conversion using c_str.
* Updated a data_products file missed last time to replace c_str check with string check.
* Updated missed parts to replace c_str check with string check.
* Updated to use C++ string comparison for std::string variables.
* Fix a variety of bugs found in dllist.c while addressing Issue #1559.
* Added More descriptive error messages.
* Wrote google-test based unit tests for the DLL List library.
* Deleted old, incomplete test program.
* Added new function DLL_ListContainsPos which determines whether the given list contains the node at the given pos.
* DLLFind bug: Added check to determine whether a compare function has been specified, and emit an error message if it hasn’t.
* DLL_FindIndex bug: Corrected bounds checking.
* DLL_GetAt bug: Added check to ensure that the specified pos is actually in the given list.
* DLL_SetAt bug: Added check to ensure that the specified pos is actually in the given list.
* DLL_RemoveAt: corrected logic mistake in NULL ptr check. Added check to ensure that the specified pos is actually in the given list.
* DLL_InsertBefore bug: element count not correctly updated.
* DLL_InsertAfter: next and prev ptrs not correctly updated, which corrupted the list.
* DLL_GetNext bug: logic error in NULL ptr checks. Added check to ensure that the specified pos is actually in the given list.
* DLL_GetPrev bug: logic error in NULL ptr checks. Added check to ensure that the specified pos is actually in the given list.
* DLL_AddHead: Fixed NULL check logic error.
* DLL_AddTail: Fixed NULL check logic error.
* Address review comments, remove extraneous make target.
* Change false to 0 in dllist.c
* Added input file SHA1 info being printed on screen when running a trick sim with -d option (basically verifying the input)
* Added additional checks to exclude trace info printout for file in /opt or .trick/ or not a real file such as <xxx> as the filename.
* In DPV_textbuffer.cpp, close the opened file on read failure, so we don't have a resource leak. #1561
* Disable 2 tests in VariableServerSessionThread_test.cc: exit_if_handle_message_fails, and exit_if_write_fails.
* Possible speedup for requesting sie file #1555
When creating the sie file there is a marker string that Trick searches
for where it writes the run time allocated memory. The loop that was
searching for the string was iterating one character at a time and reading
from file each time. This was slow. Changed the loop to read 1Mb into
memory at a time and search for the string. Handled the case where the
marker string could straddle the 1Mb boundary by copying a small portion
of the previous part of the file for the next search. For my one test
point sie file generation dropped from 90+ seconds to 3.5 seconds.
* Possible speedup for requesting sie file #1555
Math was wrong on some offset values. Fixed them now.
* Possible speedup for requesting sie file #1555
The mac won't allow me to declare a "char buff[1000001];". It compiles
but throws an exception when run. Changed it to "char *buff = new char[1000001];"
* Added SIM RAM usage info to trick run summary.
* Fixed to use #if for determing which OS.
* Removed the system print out statement when MonitorHealthStatusTask is finished.
* Changed "M" to "MB" for RAM usage info on run summery.
* 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.
* Add unittests to cover uncovered code in MemoryManager ADEF_ and REF_ parsers.
* Remove the second production of the 'user_defined_type' target
because it is superfluous, and impossible to reach. This is
because the NAME token is defined as pattern : '[_a-zA-Z][_a-zA-Z0-9:]*'.
This pattern will always match a string of colon separated names.
Note that the NAME itoken is used for colon separated type-name as well as
colon separated variable names.
* Add a test to MM_declare_var_unittest that covers the HEX token in adef_parser.l.
* Add a unittest for MemoryManager_JSON_Intf.cpp.
* Tweak MM_JSON_Intf.cc to get better code-coverage.
* Fix formatting, grammar, and syntax
Additionally, a sentence that referenced something that isn't used anywhere was removed.
* Promote headers, Format stuff
Many headers were far too deep. In some cases, the highest header was h4. To correct this, the offending headers were promoted once or twice as appropriate. Minor formatting changes were made, too.
* Fixed an incorrect conversion constant.
* Update library dependency explanation
The old explanation was confusing and seemingly self contradicting in places. This new explanation aims to fix that.
Co-authored-by: Matthew Elmer <m.elmer@mailbox.org>