74 Commits

Author SHA1 Message Date
Marcus Rockwell
b6ff7ec3f1 Added GUI testing to the base Makefile 2024-03-28 17:17:33 -05:00
Jacqueline Deans
25d438a83f
Change 32 bit pipeline to only build part of the test suite (#1536) 2023-07-17 11:34:54 -05:00
Jacqueline Deans
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
Jacqueline Deans
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
Jacqueline Deans
9c356131bc
Add option to specify a C++ standard to ICG for parsing (#1499) 2023-06-01 13:43:23 -05: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
Jacqueline Deans
8be3e30f7a
Fix Mac pipeline (#1454) 2023-02-07 15:35:22 -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
Jacqueline Deans
97cf685b6a
Parser and test for var_binary (#1425) 2023-01-11 09:27:30 -06:00
Jacqueline Deans
d9e7ac250d
Refactored sim tests to run through TrickOps (#1390) 2022-11-17 15:43:29 -06:00
Jacqueline Deans
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
Penn, John M 047828115
0b373d96cf Refactor web server configuration. #1188 2021-09-29 18:00:33 -05:00
Scott Fennell
82c55d405d
Merge master into branch to fix web server tests (#1185)
* suppress warning for detached head during civitweb clone

closes #1180

* disable sigchld handler by default #931 (#1182)

* disable sigchld handler by default #931

* update test to set sigchld trap before testing

closes #931

* Fixed webserver http_alloc test (#1184)

Co-authored-by: cherpin00 <44306236+cherpin00@users.noreply.github.com>
2021-08-28 16:20:34 -05:00
Penn, John M 047828115
e487e5609f Initial excision of DMTCP from Trick. #28 2021-08-27 19:38:56 -05:00
Penn, John M 047828115
4c52ed2753 Merge Caleb Herpins port of Trick webserver from Mongoose to CivetWeb #730. 2021-08-18 13:15:10 -05:00
Scott Fennell
7277b16017
#1063 move sim service xml file (#1069)
Co-authored-by: Fennell, Scott P 263712616 <scott.p.fennell@nasa.gov>
2020-10-23 15:45:32 -05:00
Derek Bankieris
1e8228e344 Use -isystem for Trick and Python headers
Closes #1067
2020-10-23 08:28:01 -05:00
Scott Fennell
b724f502b3
fix 32 bit test (#953)
* fix tests for 32 bit mode

* fix issues with mongoose build

* Update docker.yml
2020-02-14 10:23:19 -06:00
Scott Fennell
499f60417a edit makefile java no longer rebuilds every time trick is build 2020-02-12 12:38:34 -06:00
Scott Fennell
4f5ce7e4a1
Maven, offline mode, and --enable-mongoose (#939)
closes #938 
closes #941 
closes #943
2020-02-05 14:31:58 -06:00
Derek Bankieris
122eb8837b Remove errant line-continuation character 2019-11-21 12:34:46 -06:00
Scott Fennell
64385229a0 check for DPX/test directory when building tests. Directory is excluded from releases 2019-11-20 14:50:10 -06:00
jmpenn
d86a23834c
Fix a race condition between ICG and mongoose install (#891)
* Fix a race condition between ICG and mongoose install

* Update mongoose to version 6.16
2019-10-25 13:21:39 -05:00
jmpenn
95c6659733
Incorporate Webserver into Trick, so one only has to include HttpServ… (#886)
* Incorporate Webserver into Trick, so one only has to include HttpServer.sm

* Tweaks in default index.html file

* Rename HTTPServer.sm to WebServer.sm

* Rename http_server to WebServer

* Add --retry to curl invocations in HttpServer makefile.

* Fix #include in VariableServerVariable.hh

* Include cleanup and curl tweaks in the hopes of making Jenkins happy.

* Doh! problem in makefile masked by preinstalled mongoose in usr/local/lib

* DIE Make Bug DIE

* Fix include in WebServer.sm

* WebServer.sm constructor name

* Don't SWIG mongoose.h

* Compile with -std=c++11

* Attempt to fix race condition in makefile

* makefie tweek

* Fix trick library name problem for Centos and Redhat
2019-10-23 11:58:19 -05:00
sfennell
8ac5cf7a59 changes to support llvm 9.0 closes #869 2019-09-27 16:04:16 -05:00
Derek Bankieris
422ef225f1 Give er7_utils proper Makefiles
Closes #637
2019-06-21 12:59:00 -05:00
Alex Lin
497f11f132
Make TRICK_CXX variable to specify c++ compiler #767 (#815)
Changed all references of TRICK_CPPC to TRICK_CXX.  Added a
warning message that TRICK_CPPC has been deprecated.
2019-06-18 11:00:08 -05:00
John M. Penn
a29045005c Create a suite of unicode utilities. 2018-10-25 15:14:52 -05:00
Alex Lin
4bf35a9c82 Revert "Merge pull request #533 from nasa/MakefileCleanup"
This reverts commit 269ed77cb4c096b39e5de88a97f8011a44405277, reversing
changes made to d97f4822195696f2560705816e2a8ebf8719b6f2.
2018-03-02 08:59:26 -06:00
Alex Lin
9dd302f4b1 Trick makefile output formatting and cleanup. #533
Removed the red from the clean rules.  We'd like to reserve red for
errors.  Ended up removing all color from the clean side.
2018-03-01 08:51:57 -06:00
Christopher LaChance
6a03acfb42 Reformated unit test compilation success message. 2017-12-13 11:09:02 -06:00
Christopher LaChance
fbd9d3237f Cleaned up 'make' target display further. 2017-12-13 11:04:00 -06:00
Christopher LaChance
5e8cb8649f Added formating to the core makefile. Trick compilation is now visually broken into sections. 2017-12-12 12:01:35 -06:00
Christopher LaChance
6e0fcbd947 Updated formating and replaced formating variables. 2017-12-07 15:10:39 -06:00
Christopher LaChance
1bb3ac2a06 Cleaned up 'make clean' output significantly. 2017-12-06 13:12:13 -06:00
Christopher LaChance
f4ef6a7fa4
Removed accidental addition to clean_doxygen. 2017-11-28 09:05:07 -06:00
Christopher LaChance
704bb764b7 Added make as a prerequisite to make install. 2017-11-21 14:55:39 -06:00
Christopher LaChance
954e1aa383 Added warning to 'make install'. 2017-11-17 11:39:17 -06:00
Alex Lin
f1cbacd646 ICG exclude of class member variables now defines incorrect memory offsets in io_src #311
This changes back the default behavior to not use offsetof in io_src code.
Added a flag to ICG, -c or --compat15, to globally generate offsetof statements.
Added an ENV variable that can be used to generate offsetof statements by file or directory.
Added in a warning if classes parsed at ICG time are different in size than at runtime.
2016-10-21 13:13:43 -05:00
Alex Lin
4f0a0bc895 Merge branch '17.0' 2016-09-28 14:59:49 -05:00
Alex Lin
d60601d9b5 Variable Server could not find variable related to trick_sys.sched #315
Added a "-n" argument when calling ICG on Trick core.  I had previously removed
the "friend attr<class>" lines from Trick core classes.  The -n argument
instructs ICG to not create the offsetof calls that require the friend function
and to process protected and private variables by default.
2016-09-28 14:47:42 -05:00
Alex Lin
5903209e00 Create a trick-config script #298
Need to add trick-config to list of executables to remove during uninstall.
2016-09-07 09:40:31 -05:00
Alex Lin
dfde52864f the install command on the Mac does not take the -D argument #283
So I get punished by leaving in a debug statement to hardcode PREFIX for testing. Grrr.
2016-08-18 09:54:35 -05:00
Alex Lin
302f1fe1af the install command on the Mac does not take the -D argument #283
So I get punished by leaving in a debug statement to hardcode PREFIX for testing. Grrr.
2016-08-17 17:14:01 -05:00
Alex Lin
e72036f3be the install command on the Mac does not take the -D argument #283
Instead of having the install command try and create the destination
directory we use a second command to mkdir the directory first.
2016-08-17 17:05:58 -05:00
Alex Lin
34bc467bf9 the install command on the Mac does not take the -D argument #283
Instead of having the install command try and create the destination
directory we use a second command to mkdir the directory first.
2016-08-17 17:03:36 -05:00
Alex Lin
ce1347de74 Remove sim_services/STL #275
Removed the sim object, directory and the entry in the Makefile to compile it.
2016-08-03 14:12:16 -05:00
Alex Lin
bff1967d4d Add a flag to turn off java version check during configure #276
Added an --enable-java=(yes|no) and --disable-java options to the
configure script.  If java is disabled then the java GUIs are
not compiled.
2016-08-03 09:45:22 -05:00
Alex Lin
75fb095960 er7_util header files not being installed
Checked in makefile with debug statement overriding the install prefix. :(

refs #246
2016-06-20 14:05:56 -05:00
Alex Lin
c9e3bc77da er7_util header files not being installed
Added a makefile install rule to copy the header files out of
er7_utils to the install directory.  Adjusted ICG to ignore
Trick header files if they are installed.

refs #246
2016-06-20 13:40:45 -05:00