Commit Graph

264 Commits

Author SHA1 Message Date
3467a4dfd5 Updated to only compute offset for virtual inherited public fields. (#1881)
* Updated to only compute offset for virtual inherited public fields.

* Manually deleting ref_attributes obj after each usage instead of letting python handle it to avoid swig/python memory leak warning message if the same obj name is used multiple time.
2025-04-29 14:25:42 -05:00
16108b8382 Integrated MultiDtInteg classes into Trick build. (#1844)
Some checks failed
Linux Python 2 / build (clang-devel gcc gcc-c++ java-11-openjdk-devel libxml2-devel llvm-devel llvm-static ncurses-devel openmotif openmotif-devel perl perl-Digest-MD5 udunits2 udunits2-devel which zlib-devel python2-devel python3-devel, map[arch:rhel]) (push) Has been cancelled
Linux Python 2 / build (map[], echo package manager already configured, bison clang flex git llvm make maven cmake zip, install -y, echo gtest already installed) (push) Has been cancelled
Linux Python 2 / build (map[arch:debian arch_ver:12 os:ubuntu tag:22.04], 2) (push) Has been cancelled
Linux Python 2 / build (map[arch:rhel arch_ver:7], yum -y install epel-release yum -y update , libX11-devel libXt-devel swig3 gtest-devel, yum) (push) Has been cancelled
Linux Python 2 / build (map[arch:rhel arch_ver:8 os:oraclelinux tag:8], 2) (push) Has been cancelled
Linux Python 2 / build (map[arch:rhel arch_ver:8 os:rockylinux tag:8], 2) (push) Has been cancelled
Linux Python 2 / build (map[arch:rhel arch_ver:8], dnf -y install epel-release dnf -y update dnf install -y 'dnf-command(config-manager)' , dnf config-manager --enable powertools dnf install -y gtest-devel , dnf, swig diffutils) (push) Has been cancelled
Linux Python 2 / build (map[os:oraclelinux], dnf config-manager --enable ol8_codeready_builder dnf install -y gtest-devel ) (push) Has been cancelled
Linux Python 2 / build (swig curl g++ libx11-dev libxml2-dev libxt-dev libmotif-common libmotif-dev zlib1g-dev llvm-dev libclang-dev libudunits2-dev libgtest-dev default-jdk python2.7-dev python3-dev python3-pip python3-venv, map[arch:debian], apt-get update, apt-get i… (push) Has been cancelled
32-bit Oracle / trick_32bit_oracle (push) Has been cancelled
Test Docker Hub Images / latest (trick_ubuntu1804) (push) Has been cancelled
More Linux / build (clang-devel gcc gcc-c++ java-11-openjdk-devel libxml2-devel llvm-devel llvm-static ncurses-devel openmotif openmotif-devel perl perl-Digest-MD5 udunits2 udunits2-devel which zlib-devel python2-devel python3-devel, map[arch:rhel]) (push) Has been cancelled
More Linux / build (map[], echo package manager already configured, bison clang flex git llvm make maven cmake zip, install -y, echo gtest already installed) (push) Has been cancelled
More Linux / build (map[arch:debian arch_ver:10 os:debian tag:10], 2) (push) Has been cancelled
More Linux / build (map[arch:debian arch_ver:10 os:debian tag:10], 3) (push) Has been cancelled
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 os:debian tag:11], 2) (push) Has been cancelled
More Linux / build (map[arch:debian arch_ver:11 os:debian tag:11], 3) (push) Has been cancelled
More Linux / build (map[arch:debian arch_ver:11 os:ubuntu tag:20.04], 2) (push) Has been cancelled
More Linux / build (map[arch:debian arch_ver:11 os:ubuntu tag:20.04], 3) (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
More Linux / build (map[arch:debian arch_ver:12 os:debian tag:bookworm], 2) (push) Has been cancelled
More Linux / build (map[arch:debian arch_ver:12 os:debian tag:bookworm], 3) (push) Has been cancelled
More Linux / build (map[arch:debian], 2, python2.7-dev) (push) Has been cancelled
More Linux / build (map[arch:rhel arch_ver:8 os:almalinux tag:8], 2) (push) Has been cancelled
More Linux / build (map[arch:rhel arch_ver:8 os:almalinux tag:8], 3) (push) Has been cancelled
More Linux / build (map[arch:rhel arch_ver:8], dnf -y install epel-release dnf -y update dnf install -y 'dnf-command(config-manager)' , dnf config-manager --enable powertools dnf install -y gtest-devel , dnf, swig diffutils) (push) Has been cancelled
More Linux / build (swig curl g++ libx11-dev libxml2-dev libxt-dev libmotif-common libmotif-dev zlib1g-dev llvm-dev libclang-dev libudunits2-dev libgtest-dev default-jdk python3-dev python3-pip python3-venv, map[arch:debian], apt-get update, apt-get install -y libg… (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
2025-04-22 14:49:28 -05:00
4781cfe45f To support ubuntu24, clang 18+, and gcc13. (#1804)
Some checks failed
Linux Python 2 / build (clang-devel gcc gcc-c++ java-11-openjdk-devel libxml2-devel llvm-devel llvm-static ncurses-devel openmotif openmotif-devel perl perl-Digest-MD5 udunits2 udunits2-devel which zlib-devel python2-devel python3-devel, map[arch:rhel]) (push) Has been cancelled
Linux Python 2 / build (map[], echo package manager already configured, bison clang flex git llvm make maven cmake zip, install -y, echo gtest already installed) (push) Has been cancelled
Linux Python 2 / build (map[arch:debian arch_ver:12 os:ubuntu tag:22.04], 2) (push) Has been cancelled
Linux Python 2 / build (map[arch:rhel arch_ver:7], yum -y install epel-release yum -y update , libX11-devel libXt-devel swig3 gtest-devel, yum) (push) Has been cancelled
Linux Python 2 / build (map[arch:rhel arch_ver:8 os:oraclelinux tag:8], 2) (push) Has been cancelled
Linux Python 2 / build (map[arch:rhel arch_ver:8 os:rockylinux tag:8], 2) (push) Has been cancelled
Linux Python 2 / build (map[arch:rhel arch_ver:8], dnf -y install epel-release dnf -y update dnf install -y 'dnf-command(config-manager)' , dnf config-manager --enable powertools dnf install -y gtest-devel , dnf, swig diffutils) (push) Has been cancelled
Linux Python 2 / build (map[os:oraclelinux], dnf config-manager --enable ol8_codeready_builder dnf install -y gtest-devel ) (push) Has been cancelled
Linux Python 2 / build (swig curl g++ libx11-dev libxml2-dev libxt-dev libmotif-common libmotif-dev zlib1g-dev llvm-dev libclang-dev libudunits2-dev libgtest-dev default-jdk python2.7-dev python3-dev python3-pip python3-venv, map[arch:debian], apt-get update, apt-get i… (push) Has been cancelled
32-bit Oracle / trick_32bit_oracle (push) Has been cancelled
Test Docker Hub Images / latest (trick_ubuntu1804) (push) Has been cancelled
More Linux / build (clang-devel gcc gcc-c++ java-11-openjdk-devel libxml2-devel llvm-devel llvm-static ncurses-devel openmotif openmotif-devel perl perl-Digest-MD5 udunits2 udunits2-devel which zlib-devel python2-devel python3-devel, map[arch:rhel]) (push) Has been cancelled
More Linux / build (map[], echo package manager already configured, bison clang flex git llvm make maven cmake zip, install -y, echo gtest already installed) (push) Has been cancelled
More Linux / build (map[arch:debian arch_ver:10 os:debian tag:10], 2) (push) Has been cancelled
More Linux / build (map[arch:debian arch_ver:10 os:debian tag:10], 3) (push) Has been cancelled
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 os:debian tag:11], 2) (push) Has been cancelled
More Linux / build (map[arch:debian arch_ver:11 os:debian tag:11], 3) (push) Has been cancelled
More Linux / build (map[arch:debian arch_ver:11 os:ubuntu tag:20.04], 2) (push) Has been cancelled
More Linux / build (map[arch:debian arch_ver:11 os:ubuntu tag:20.04], 3) (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
More Linux / build (map[arch:debian arch_ver:12 os:debian tag:bookworm], 2) (push) Has been cancelled
More Linux / build (map[arch:debian arch_ver:12 os:debian tag:bookworm], 3) (push) Has been cancelled
More Linux / build (map[arch:debian], 2, python2.7-dev) (push) Has been cancelled
More Linux / build (map[arch:rhel arch_ver:8 os:almalinux tag:8], 2) (push) Has been cancelled
More Linux / build (map[arch:rhel arch_ver:8 os:almalinux tag:8], 3) (push) Has been cancelled
More Linux / build (map[arch:rhel arch_ver:8], dnf -y install epel-release dnf -y update dnf install -y 'dnf-command(config-manager)' , dnf config-manager --enable powertools dnf install -y gtest-devel , dnf, swig diffutils) (push) Has been cancelled
More Linux / build (swig curl g++ libx11-dev libxml2-dev libxt-dev libmotif-common libmotif-dev zlib1g-dev llvm-dev libclang-dev libudunits2-dev libgtest-dev default-jdk python3-dev python3-pip python3-venv, map[arch:debian], apt-get update, apt-get install -y libg… (push) Has been cancelled
* To support ubuntu24, clang 18+, and gcc13.

* Remove print statements that are no longer needed.
2025-02-11 11:06:42 -06:00
16828a9000 TrickOps: Update send_hs.py to work with latest Trick output (#1810)
* Update send_hs.py to work with the new fields Trick's output produces
* Add unit tests and doctests for send_hs module
* Update TrickOps documentation to include info on send_hs usage
* Remove MonteCarloGenerationhelper.py's unecessary dependency on send_hs

Unrelated:

* Update pip when testing TrickOps per pip best practices

Closes #1807

Co-authored-by: Dan Jordan <daniel.d.jordan@nasa.gov>
2024-12-12 10:55:18 -06:00
f9d9d6ea00 Change version numbers back to betas 2024-11-20 11:13:16 -06:00
03bb17b7e6 Update version numbers for Trick Simulation Environment 19.7.3 2024-11-20 11:09:16 -06:00
419b204c90 Added TRICKIFY_EXT_LIB_DIRS env variable (#1756) 2024-10-22 10:36:01 -05:00
de1cb6740b Fixed the warning and error messages when toggling monte carlo (#1761) 2024-08-20 10:47:05 -05:00
c6e44c6e04 Revert changes to trickops test yml file from Sept 2023 to fix trickops unit tests (#1681)
* TrickOps: Revert changes to trickops test yml file from Sept 2023

* trick_sims.yml was "accidentally changed" to remove unstable sims
  in Sept 2023, breaking the TrickOps unit tests. This reverts that change.
* Adjust new hashlib md5 comparison approach to work on systems where
  'usedforsecurity' isn't supported

* Move TrickOps Unit tests back into pull requests

* Adjust TrickOps actions artifacts to use v3.0.0

Per suggestion on workaround as described here:
  https://github.com/actions/upload-artifact/issues/478

---------

Co-authored-by: Dan Jordan <daniel.d.jordan@nasa.gov>
2024-04-01 09:43:12 -05:00
0db42a1012 Use usedforsecurity=False when calling hashlib.md5 (#1662)
This clears "ValueError: ...  disabled for FIPS" for systems with FIPS
mechanisms enabled.

Co-authored-by: Dan Jordan <daniel.d.jordan@nasa.gov>
2024-03-08 10:20:19 -06:00
e184db0eb8 Protect TrickOps progres bar from divide by zero (#1664)
Closes #1663

Co-authored-by: Dan Jordan <daniel.d.jordan@nasa.gov>
2024-03-08 10:10:55 -06:00
dafddff0a1 update version numbers to prerelease 19.8.0-beta 2023-12-18 14:25:50 -06:00
ba38260690 Update version numbers for Trick Simulation Environment 19.7.1 2023-12-18 12:33:32 -06:00
867736a1b1 update version numbers to prerelease 19.8.0-beta 2023-12-01 13:15:31 -06:00
d711b47170 update version numbers for Trick Simulation Environment 19.7.0 2023-12-01 11:43:08 -06:00
a22829c1ed Update trick_sims.yml 2023-09-27 14:31:16 -05:00
bbe9768a30 Added separate_thread_set_enabled(bool) function to MessageSimObject class (#1523)
* Added separate_thread_set_enabled(bool) function to MessageSimObject class for user to use the feature of letting trick to write the messages out on a separate thread in a more intuitive way (hopefully ;-).

* Updated Status-Message-System.md for the newly added separate_thread_set_enabled(bool on_off) function in MessageSimObject class of default_trick_sys.sm

* Fixed the bullets

* Put missing update in due to merge.
2023-06-29 13:31:03 -05:00
a4d49850f3 Add per-session variable server logs 2023-06-26 12:23:58 -05:00
99ee88a686 Add more Variable Server unit and integration tests, clean up and clarify naming 2023-06-26 12:23:58 -05:00
0788dcfa9b Replace TrickComm with new connection_handler library 2023-06-26 12:23:58 -05:00
c2e42f4ef4 Refactor and test Variable Server.
- Split VariableServerThread into VariableServerSession and VariableReference classes
- Use C++ streams for data handling
- Unit tests
2023-06-26 12:23:58 -05:00
e89bf083b2 update version numbers to prerelease 19.7.0-beta 2023-06-23 12:08:39 -05:00
7e183656e1 update version numbers for Trick Simulation Environment 19.6.0 2023-06-23 12:05:28 -05:00
2e0e580c98 Add make spotless target to get rid of config info, patch together various other spots missed by clean (#1515) 2023-06-13 09:50:19 -05:00
d76de7e1ee Allow for read only S_sie.resource (#1420) 2023-04-17 17:23:48 -05:00
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
b2aa92ae81 Rename Trick17_Tutorial_Review to Trick_Tutorial_Review. 2023-02-09 15:06:00 -06:00
096881a6be Remove old Trick 13 Tutorial Review. 2023-02-09 14:59:06 -06:00
8be3e30f7a Fix Mac pipeline (#1454) 2023-02-07 15:35:22 -06:00
5ff52a01c5 Add option to terminate sim on python event error (#1434) 2023-01-20 15:46:10 -06:00
48f6f76ef3 Fix various issues in scheduled CI jobs (#1419)
- 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
2022-12-14 17:04:09 -06:00
cb89e4dd7e Update version numbers to prerelease 19.6.0-beta 2022-11-29 16:58:30 -06:00
0f4ca88da6 Update version numbers for Trick Simulation Environment 19.5.1 2022-11-29 16:56:55 -06:00
d0f679b31a update version numbers to prerelease 19.6.0-beta 2022-11-17 16:00:00 -06:00
e86e7fd968 update version numbers for Trick Simulation Environment 19.5.0 2022-11-17 15:54:02 -06:00
d9e7ac250d Refactored sim tests to run through TrickOps (#1390) 2022-11-17 15:43:29 -06:00
900f7b18be Generate test coverage and use Coveralls for tracking and visualization (#1366)
* Add code-coverage make target and github actions workflow
* Upload coverage to coveralls
* Add coverage badge to readme
* Fix some test makefiles to correctly propagate flags
2022-10-13 14:23:16 -05:00
61a378553d update version numbers to prerelease 19.5.0-beta 2022-07-20 16:53:18 -05:00
9363603f0f update version numbers for Trick Simulation Environment 19.4.0 2022-07-20 16:47:07 -05:00
3cd2a1606f 1308 gcc ver (#1309)
* add correct GCC verno to ICG for llvm >= 10

Co-authored-by: Jacqueline Deans <jndeans@jslal0520121056.jsc.nasa.gov>
Co-authored-by: Deans <jdeans289@gmail.com>
2022-07-20 11:38:42 -05:00
7b85aa6632 Trick Simulation Environment 23.0.0-beta 2022-02-08 15:07:01 -06:00
a317c22274 Trick Simulation Environment 19.3.1 2022-02-08 10:46:10 -06:00
826b220e77 restrict checkpointing on char* vectors in default_trick_sys
related to #1209
2021-12-13 12:59:15 -06:00
e696521aa0 fix comment typo in trick_default_sys
closes #1209
2021-12-13 11:28:57 -06:00
a691ae0d6d Fix message in share/trick/swig/unit_test.py #1208 2021-12-07 14:16:56 -06:00
4b2dc2f8ec Replace deprecated yaml.load() with yaml.safe_load() (#1199)
Closes #1198

Co-authored-by: Dan Jordan <daniel.d.jordan@nasa.gov>
2021-11-02 09:47:55 -05:00
5b3770d15a Fix civetweb header inclusion problem. #1188 2021-10-18 11:32:33 -05:00
1179703b6d Refactor civitweb linkage #1188 2021-10-14 18:17:04 -05:00
4a9d9482ef 1194 trick system icg exclude (#1195)
* Fix ICG errors while processing system header files closes #1189

Found an InitPreprocessor call and am using it.  Not sure which version
of clang it was added, just using for the version I'm on (10) and above.
Also found some GCC defines that are used during normal compilation.
Added these to our list of defines during ICG.  This clears up all of
the errors I've been seeing.

* Fix ICG errors while processing system header files #1189

OK, found the flag that activates the ATOMIC defines I was previously
hardcoding.

* #1194 add trick-system-icg-exclude

Co-authored-by: Alex Lin <alexander.s.lin@nasa.gov>
2021-10-12 12:02:03 -05:00
0b373d96cf Refactor web server configuration. #1188 2021-09-29 18:00:33 -05:00