Commit Graph

2089 Commits

Author SHA1 Message Date
jmpenn
9438bd559b
Add unittests to cover uncovered code in MemoryManager ADEF_ and REF_… (#1483)
* 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.
2023-04-27 14:57:55 -05:00
Jacqueline Deans
6c685d8400
Revise Documentation, Correct a single constant (#1326) (#1489)
* 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>
2023-04-21 17:32:31 -05:00
jmpenn
78bc708f0f
Update README.md 2023-04-18 12:46:02 -05:00
John M. Penn
2e4034d9e6 Merge branch 'master' of https://github.com/nasa/trick 2023-04-18 12:44:20 -05:00
John M. Penn
60097a3931 Fix rendering of conditional equations in SIM_aircraft. 2023-04-18 12:43:54 -05:00
Jacqueline Deans
c4f77b570e
Add developer docs for debugging python environment issues (#1488) 2023-04-18 11:28:14 -05:00
Jacqueline Deans
d76de7e1ee
Allow for read only S_sie.resource (#1420) 2023-04-17 17:23:48 -05:00
Jacqueline Deans
7d2d5d870c
Fix 32 bit build (#1487) 2023-04-17 15:32:59 -05:00
jmpenn
1b38c36d09
Update FAQ.md 2023-04-17 14:28:58 -05:00
jmpenn
bc1be92e84
Update FAQ.md 2023-04-17 14:28:17 -05:00
Jacqueline Deans
ffed03521c
Update Install-Guide.md 2023-04-13 14:26:25 -05:00
Mrockwell2
aed99ab1fd
SIM_aircraft Waypoint Update (#1466)
* Set up a waypoint system that reads waypoints from an input file.

On branch aircraftUpdate
Changes to be committed:
    new file:   trick_sims/SIM_aircraft/Modified_data/default.waypoints
	modified:   trick_sims/SIM_aircraft/RUN_test/input.py
	modified:   trick_sims/SIM_aircraft/models/Aircraft/include/Aircraft.hh
	modified:   trick_sims/SIM_aircraft/models/Aircraft/src/Aircraft.cpp
	modified:   trick_sims/SIM_aircraft/models/graphics/src/trick/AircraftDisplay.java

* Fixed the Segmentation Fault and completed the waypoint configuration.

On branch aircraftUpdate
Changes to be committed:
	modified:   trick_sims/SIM_aircraft/RUN_test/input.py
	modified:   trick_sims/SIM_aircraft/models/Aircraft/include/Aircraft.hh
	modified:   trick_sims/SIM_aircraft/models/Aircraft/src/Aircraft.cpp

* Created README.md to document recent changes

* Adding in ability to set icons for waypoints.
  On branch aircraftUpdate_WaypointIcons
  Changes to be committed:
	modified:   trick_sims/SIM_aircraft/Modified_data/default.waypoints
	new file:   trick_sims/SIM_aircraft/images/CompassRose.png
	new file:   trick_sims/SIM_aircraft/images/Figure1.png
	new file:   trick_sims/SIM_aircraft/images/Figure2.png
	new file:   trick_sims/SIM_aircraft/images/cheese_64x64.png
	new file:   trick_sims/SIM_aircraft/images/mouse_128x128.png
	new file:   trick_sims/SIM_aircraft/images/strawberry_64x64.png
	new file:   trick_sims/SIM_aircraft/images/twoWheelRover.png
	new file:   trick_sims/SIM_aircraft/images/wp0.png
	new file:   trick_sims/SIM_aircraft/images/wp1.png
	new file:   trick_sims/SIM_aircraft/images/wp10.png
	new file:   trick_sims/SIM_aircraft/images/wp11.png
	new file:   trick_sims/SIM_aircraft/images/wp2.png
	new file:   trick_sims/SIM_aircraft/images/wp3.png
	new file:   trick_sims/SIM_aircraft/images/wp4.png
	new file:   trick_sims/SIM_aircraft/images/wp5.png
	new file:   trick_sims/SIM_aircraft/images/wp6.png
	new file:   trick_sims/SIM_aircraft/images/wp7.png
	new file:   trick_sims/SIM_aircraft/images/wp8.png
	new file:   trick_sims/SIM_aircraft/images/wp9.png
	modified:   trick_sims/SIM_aircraft/models/graphics/src/trick/AircraftDisplay.java

* Reformatted the README file

* Updating the build process to use Maven

* Updating the README file

* Finalized the implementation for adding icons for each waypoint.

* Removed commented code that will not be used.

* Updated the SIM_aircraft documentation to include the waypoint icon implementation.

* Created a menu bar for the GUI

* Minor README fix and file cleanup

* Implemented a view menu to hide and show the info on the map

* Cleared out commented code.

* Last minute code cleanup and update of the documentation.

* Updated the View menu with more options and updated documentation.

* Testing basic Variable Server Client usage.

* Waypoints shared from sim to graphics client.
Need to use list and fix some formatting.

* Refactored and simplified Waypoint implementation

* Documentation and comment updates

* Simplified waypoint structure
Implemented file support in graphics client

* Updated Documentation

* Created a default waypoint icon when unspecified

* Fixed privacy issues in the WaypointList class

* Cleaned up unnecessary file and added comments
2023-04-13 10:50:36 -05:00
Jacqueline Deans
6118171c01
Update swig interface to work python 3.11 (#1486) 2023-04-11 13:14:30 -05:00
John M. Penn
d3a26b5698 Deleting parameter_types.c. #1482 2023-04-10 12:46:58 -05:00
jmpenn
1b0def8886
Add unit test suite for trickTypeCharString(). (#1467)
* Add unit test suite for trickTypeCharString().

* Rewrite MM test Makefile, Address type warnings in tests.

* Fix test target in Makefile
2023-04-05 15:28:14 -05:00
Jacqueline Deans
fc8eb338f1
Add test for a multicast variable server session (#1480) 2023-04-04 11:02:32 -05:00
ddj116
0a1a092afa
Fix typos and clarify content in TrickOps markdown file (#1475)
Co-authored-by: Dan Jordan <daniel.d.jordan@nasa.gov>
2023-03-22 14:33:14 -05:00
Jacqueline Deans
02a1f95121
Allow integ_loop, logging, data_record to be reordered (#1472) 2023-03-10 10:20:33 -06:00
Jacqueline Deans
1f1c2484d1
Fix SIM_job_class_order (#1470) 2023-03-07 11:56:19 -06:00
Jacqueline Deans
19016b4817
job_class_order no longer accidentally disables some system job classes (#1465) 2023-03-07 08:43:39 -06:00
ddj116
9099792947
Integrate MonteCarloGenerate capability from EG CML and associated TrickOps enhancements (#1415)
* 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>
2023-03-06 09:25:50 -06:00
jmpenn
9b3e6aac51
Update README.md
Fix title of Trick::flt_is_near
2023-03-03 13:30:52 -06:00
John M. Penn
3b630c33dc markdown render fix. 2023-03-01 17:16:29 -06:00
John M. Penn
4999b076f4 Typos. 2023-03-01 16:58:35 -06:00
John M. Penn
0573bcfaea Merge branch 'master' of https://github.com/nasa/trick 2023-03-01 16:11:03 -06:00
jmpenn
6e272c4b9e
Add a HOWTO: How-To-Containerize-Trick-with-Docker. (#1462)
* Add a HOWTO: How-To-Containerize-Trick-with-Docker.

* describe operating the cannon graohics client.

* Fix review issues.
2023-03-01 15:44:46 -06:00
John M. Penn
539989469c Fix sprintf problem in SIM_sun. #1464 2023-03-01 14:45:23 -06:00
Jacqueline Deans
5f6a5de070
Expand SIM_test_varserver (#1459)
* 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
2023-02-24 14:44:55 -06:00
Mrockwell2
29fb20c2eb
SIM_aircraft Graphics Client View Menu (#1457)
* Set up a waypoint system that reads waypoints from an input file.

On branch aircraftUpdate
Changes to be committed:
    new file:   trick_sims/SIM_aircraft/Modified_data/default.waypoints
	modified:   trick_sims/SIM_aircraft/RUN_test/input.py
	modified:   trick_sims/SIM_aircraft/models/Aircraft/include/Aircraft.hh
	modified:   trick_sims/SIM_aircraft/models/Aircraft/src/Aircraft.cpp
	modified:   trick_sims/SIM_aircraft/models/graphics/src/trick/AircraftDisplay.java

* Fixed the Segmentation Fault and completed the waypoint configuration.

On branch aircraftUpdate
Changes to be committed:
	modified:   trick_sims/SIM_aircraft/RUN_test/input.py
	modified:   trick_sims/SIM_aircraft/models/Aircraft/include/Aircraft.hh
	modified:   trick_sims/SIM_aircraft/models/Aircraft/src/Aircraft.cpp

* Created README.md to document recent changes

* Adding in ability to set icons for waypoints.
  On branch aircraftUpdate_WaypointIcons
  Changes to be committed:
	modified:   trick_sims/SIM_aircraft/Modified_data/default.waypoints
	new file:   trick_sims/SIM_aircraft/images/CompassRose.png
	new file:   trick_sims/SIM_aircraft/images/Figure1.png
	new file:   trick_sims/SIM_aircraft/images/Figure2.png
	new file:   trick_sims/SIM_aircraft/images/cheese_64x64.png
	new file:   trick_sims/SIM_aircraft/images/mouse_128x128.png
	new file:   trick_sims/SIM_aircraft/images/strawberry_64x64.png
	new file:   trick_sims/SIM_aircraft/images/twoWheelRover.png
	new file:   trick_sims/SIM_aircraft/images/wp0.png
	new file:   trick_sims/SIM_aircraft/images/wp1.png
	new file:   trick_sims/SIM_aircraft/images/wp10.png
	new file:   trick_sims/SIM_aircraft/images/wp11.png
	new file:   trick_sims/SIM_aircraft/images/wp2.png
	new file:   trick_sims/SIM_aircraft/images/wp3.png
	new file:   trick_sims/SIM_aircraft/images/wp4.png
	new file:   trick_sims/SIM_aircraft/images/wp5.png
	new file:   trick_sims/SIM_aircraft/images/wp6.png
	new file:   trick_sims/SIM_aircraft/images/wp7.png
	new file:   trick_sims/SIM_aircraft/images/wp8.png
	new file:   trick_sims/SIM_aircraft/images/wp9.png
	modified:   trick_sims/SIM_aircraft/models/graphics/src/trick/AircraftDisplay.java

* Reformatted the README file

* Updating the build process to use Maven

* Updating the README file

* Finalized the implementation for adding icons for each waypoint.

* Removed commented code that will not be used.

* Updated the SIM_aircraft documentation to include the waypoint icon implementation.

* Created a menu bar for the GUI

* Minor README fix and file cleanup

* Implemented a view menu to hide and show the info on the map

* Cleared out commented code.

* Last minute code cleanup and update of the documentation.

* Updated the View menu with more options and updated documentation.
2023-02-21 10:49:00 -06:00
Jacqueline Deans
a8c9572186
Correct check for unsupported types in data recording (#1458) 2023-02-16 16:27:47 -06:00
Jacqueline Deans
2fa5cdfc77
Fix checkpointing of empty string array - 1399 patch (#1456) 2023-02-14 09:33:42 -06:00
Mrockwell2
28d5ecfa84
SIM_aircraft Waypoint Update (#1453)
* Set up a waypoint system that reads waypoints from an input file.

On branch aircraftUpdate
Changes to be committed:
    new file:   trick_sims/SIM_aircraft/Modified_data/default.waypoints
	modified:   trick_sims/SIM_aircraft/RUN_test/input.py
	modified:   trick_sims/SIM_aircraft/models/Aircraft/include/Aircraft.hh
	modified:   trick_sims/SIM_aircraft/models/Aircraft/src/Aircraft.cpp
	modified:   trick_sims/SIM_aircraft/models/graphics/src/trick/AircraftDisplay.java

* Fixed the Segmentation Fault and completed the waypoint configuration.

On branch aircraftUpdate
Changes to be committed:
	modified:   trick_sims/SIM_aircraft/RUN_test/input.py
	modified:   trick_sims/SIM_aircraft/models/Aircraft/include/Aircraft.hh
	modified:   trick_sims/SIM_aircraft/models/Aircraft/src/Aircraft.cpp

* Created README.md to document recent changes

* Adding in ability to set icons for waypoints.
  On branch aircraftUpdate_WaypointIcons
  Changes to be committed:
	modified:   trick_sims/SIM_aircraft/Modified_data/default.waypoints
	new file:   trick_sims/SIM_aircraft/images/CompassRose.png
	new file:   trick_sims/SIM_aircraft/images/Figure1.png
	new file:   trick_sims/SIM_aircraft/images/Figure2.png
	new file:   trick_sims/SIM_aircraft/images/cheese_64x64.png
	new file:   trick_sims/SIM_aircraft/images/mouse_128x128.png
	new file:   trick_sims/SIM_aircraft/images/strawberry_64x64.png
	new file:   trick_sims/SIM_aircraft/images/twoWheelRover.png
	new file:   trick_sims/SIM_aircraft/images/wp0.png
	new file:   trick_sims/SIM_aircraft/images/wp1.png
	new file:   trick_sims/SIM_aircraft/images/wp10.png
	new file:   trick_sims/SIM_aircraft/images/wp11.png
	new file:   trick_sims/SIM_aircraft/images/wp2.png
	new file:   trick_sims/SIM_aircraft/images/wp3.png
	new file:   trick_sims/SIM_aircraft/images/wp4.png
	new file:   trick_sims/SIM_aircraft/images/wp5.png
	new file:   trick_sims/SIM_aircraft/images/wp6.png
	new file:   trick_sims/SIM_aircraft/images/wp7.png
	new file:   trick_sims/SIM_aircraft/images/wp8.png
	new file:   trick_sims/SIM_aircraft/images/wp9.png
	modified:   trick_sims/SIM_aircraft/models/graphics/src/trick/AircraftDisplay.java

* Reformatted the README file

* Updating the build process to use Maven

* Updating the README file

* Finalized the implementation for adding icons for each waypoint.

* Removed commented code that will not be used.

* Updated the SIM_aircraft documentation to include the waypoint icon implementation.

* Minor README fix and file cleanup
2023-02-13 16:45:15 -06:00
Deans
407ba1f308 Sit out SIM_checkpoint_data_record tests until fixed 2023-02-13 09:37:13 -06:00
jmpenn
9478b6a442
Fix mm_mutex locking and unlocking fiasco in clear_all_vars. #1452 (#1455) 2023-02-10 14:06:27 -06:00
John M. Penn
b2aa92ae81 Rename Trick17_Tutorial_Review to Trick_Tutorial_Review. 2023-02-09 15:06:00 -06:00
John M. Penn
096881a6be Remove old Trick 13 Tutorial Review. 2023-02-09 14:59:06 -06:00
Jacqueline Deans
9c7becb4ff
Handle thread shutdown gracefully and test (#1448)
---------

Co-authored-by: Dan Jordan <daniel.d.jordan@nasa.gov>
2023-02-08 17:58:59 -06:00
Jacqueline Deans
930dfbc683
Add check and warning for unsupported types in data recording (#1441) 2023-02-07 16:41:53 -06:00
Jacqueline Deans
8be3e30f7a
Fix Mac pipeline (#1454) 2023-02-07 15:35:22 -06:00
Jacqueline Deans
fb25ea70d2
Fix undefined behavior in vs_format_ascii (#1446) 2023-02-07 13:11:51 -06:00
Alex Lin
a48b39bfc1
Make ICG compatible with clang/llvm 15 #1449 (#1450)
Made a couple of changes in ICG source code to handle clang API differences.  Encapsulated
differences in ifdefs.  Added libclangSupport to ICG link line.
2023-02-07 12:46:34 -06:00
jmpenn
afbc78c5e7
Initial commit of compareFloatingPoint utils. (#1443)
* Initial commit of compareFloatingPoint utils.

* Update .gitignore to properly ignore unittest executables.
2023-02-01 15:54:31 -06:00
John M. Penn
917cd84dfc Merge branch 'master' of https://github.com/nasa/trick 2023-02-01 14:46:42 -06:00
John M. Penn
2b308bd89c Add README to SIM_aircraft. 2023-02-01 14:46:14 -06:00
Jacqueline Deans
7131204e09
Add workflow_dispatch option for code_coverage 2023-01-25 14:49:47 -06:00
jmpenn
4879bcfc51
Use Maven to build AircraftDisplay.jar instead of directly from Makefile. (#1435) 2023-01-24 17:19:19 -06:00
Jacqueline Deans
26baac2088
Fix broken link in docs 2023-01-23 15:46:55 -06:00
Jacqueline Deans
8821bac18a
Handle empty PYTHON_MODULE in header comment (#1432) 2023-01-23 08:50:13 -06:00
Jacqueline Deans
e11ff83051 Add documentation on running Trick with sanitizers 2023-01-20 17:33:35 -06:00
Jacqueline Deans
5ff52a01c5
Add option to terminate sim on python event error (#1434) 2023-01-20 15:46:10 -06:00