Commit Graph

256 Commits

Author SHA1 Message Date
Fennell, Scott P 263712616
15534f7f56 Trick Release 19.3.0 2021-06-23 11:39:47 -05:00
Derek Bankieris
9b7e18af15 Create link_list files for Trickification
ICG and make_makefile_swig create py_link_list and io_link_list files
listing the files to be linked during sim builds. Trickified projects
require slightly altered lists.

Fixes #1155
2021-06-02 13:56:21 -05:00
Keith Vetter
832fc4e8a7
Fix compiler shadow warning for issue #1141 (#1150)
closes #1141 

If you use the -Wshadow flag, there are few compiler warnings
for shadowing. You can recreate with the Ball L1 sim:

    % vi S_overrides.mk
    TRICK_CFLAGS += -Wshadow -I../models
    TRICK_CXXFLAGS += -Wshadow -I../models
    % trick-CP
    ...

    In file included from build/S_source.cpp:3:0:
    build/../S_source.hh: In member function ‘void EventManagerSimObject::create_thread_process_event()’:
    build/../S_source.hh:425:23: warning: declaration of ‘name’ shadows a member of 'this' [-Wshadow]
    char* name = strdup(oss.str().c_str()) ;

To fix the S_source* generated code, it is just a
matter of changing default_trick_sys.sm.
2021-05-26 22:13:31 -05:00
Derek Bankieris
2c06ae6eaf Rename SIM_*/trick to SIM_*/.trick
Hide the non-zipped Python modules to indicate to users that changing
them will have no effect on the sim.

Refs #1144
2021-05-19 17:33:13 -05:00
Derek Bankieris
8d314fa1b1 Zip SWIG-generated python modules
Closes #1144
2021-05-19 17:23:33 -05:00
ddj116
1d9ea79107
Introducing TrickOps - An Extensible Sim Testing Framework (#1130)
* Introducing TrickOps - An Extensible Sim Testing Framework

Features:

* Multiple simultaneous sim builds, runs, file vs. file comparisons,
  arbitrary post-run analyses, valgrind of runs
* Real-time progress bars for sim builds and runs
* Exit code management lets users easily define success & failure
* Failed comparisons can optionally generate koviz error reports

See share/trick/trickops/README.md for details

* Add GitHub Actions Workflow for TrickOps for Ubuntu:20.04 & CentOS latest

* Adds python unit and doc tests to github actions for push / pull requests
  for Ubuntu:20.04 and CentOS 8:latest. MacOS still forthcoming.
* Also updates documentation with TrickOps information
* Remove duplicate / overwriting SIM_ definitions in ExampleWorkflow.py

* Address Code Review / Discussion

* Reduce set of sims tested in ExampleWorkflow.py to stable set
* Add ExampleWorkflow.py to GitHub Actions
* Clarify documentation and add image of TrickOps in action
* Error/Ignore valgrind entries in YAML file if platform == darwin

* Fix run.compare() logic error and add unit test to cover it

Co-authored-by: Dan Jordan <daniel.d.jordan@nasa.gov>
2021-05-03 14:39:20 -05:00
Fennell, Scott P 263712616
92ad2a8063 reapply prerelease version numbers to master branch 2021-03-12 13:49:27 -06:00
Fennell, Scott P 263712616
7b933255aa Trick Release 19.2.3 2021-03-12 13:42:49 -06:00
Scott Fennell
6691b14e9e
1093 c str (#1119)
* update checkpoint_map.hh #1093

* #1093 update checkpoint_pair.hh

* #1093 update checkpoint_queue.hh

* #1093 update MM_write_checkpoint.cc

* #1093 update units_attach.i

* #1093 update checkpoint_sequence_stl.hh

* #1093 update checkpoint_stack.hh

* #1093 update swig_extend_str.i

* #1093 update swig_int_templates.hh

* #1093 update checkpoint_stack.hh and swig_int_typemap.i

* #1093 fix c_str issue without adding memory leaks

* #1093 fix c_str issue without adding memory leaks

* #1093 remove dangling pointers in injector sim object (without causing memory leaks)

* #1093 remove dangling pointers in injector sim object (without causing memory leaks)

* #1093 remove dangling pointers in Event Manaager sim object (without causing memory leaks)

* #1093 fix MonteCarlo_c_intf dangling pointers

Co-authored-by: Fennell, Scott P 263712616 <scott.p.fennell@nasa.gov>

closes #1093
2021-03-12 13:23:35 -06:00
Fennell, Scott P 263712616
be407eaf13 Update version numbers to pre-release for 19.3.0 2021-01-11 13:59:31 -06:00
Fennell, Scott P 263712616
e0be091c7e Trick Release 19.2.2 2021-01-11 13:57:14 -06:00
Scott Fennell
939b3002d1
tv dynamic allocations post initialization and test update (#1090)
* #1086 append runtime allocations when sie is requested instead of initialization

* #1088 change sie error to warning and improve warning message

* #1089 lowercase powertools in centOS 8 config


closes #1086
closes #1088
closes #1089
2020-12-15 12:48:21 -06:00
Fennell, Scott P 263712616
a84ac0e856 Update version numbers to pre-release for 19.3.0 2020-10-27 13:08:01 -05:00
Fennell, Scott P 263712616
8f36f91b55 Trick Release 19.2.1 2020-10-27 12:57:18 -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
Fennell, Scott P 263712616
3f7ebd38e3 Update version numbers to pre-release for 19.3.0 2020-09-13 19:36:34 -05:00
Fennell, Scott P 263712616
424c2b60bd Trick release 19.2.0 2020-09-13 18:43:17 -05:00
Scott Fennell
f825dc00fc
Merge test branch into master (#1047)
* #1041 filter -W workaround for ICG linking to LLVM 10 libclang-cpp.so (#1044)

* 1043 drg checkpoint memory leak (#1045)

* #1043 drg fix drg checkpoint memory leak

* 947 sie generation rework (#1046)

generate  S_sie.resource at during build instead of runtime
2020-09-01 15:55:19 -05:00
Scott Fennell
3b89cbfdb2
iss #1009 (#1040)
Link correct clang libs based on availability. ICG clang lib link flags are determined by trick/configure
2020-08-28 14:52:23 -05:00
Derek Bankieris
ab2cfe1a34 Silence SWIG warning 315
Nothing known about identifier

Closes #1025
2020-08-11 14:34:54 -05:00
Penn, John M 047828115
a58378063f Update Compiling and Linking Overview 2020-04-01 14:55:27 -05:00
Penn, John M 047828115
1cc06c46bf Update Basics_of_Program_Memory_and_Variables in preparation for interns. Ref #974 2020-03-30 20:04:50 -05:00
Scott Fennell
3c0f40f1bb
Update version nmuber 2020-02-18 16:12:27 -06:00
Scott Fennell
05acf0d92f
19.1.0 2020-02-18 10:13:02 -06: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
4f5ce7e4a1
Maven, offline mode, and --enable-mongoose (#939)
closes #938 
closes #941 
closes #943
2020-02-05 14:31:58 -06:00
Scott Fennell
d93f503b91 version 19.0.1 2020-01-15 14:59:50 -06:00
Penn, John M 047828115
1bc245b1ad Explicitly link with the mongoose library that we built. Ref #915 2019-12-02 16:45:28 -06:00
Scott Fennell
086c5c84c3 change version number for release 2019-11-22 08:45:43 -06:00
Alex Lin
ce0cdc9636
Cmake merge (#901)
* Merging changes from cmake branch to master

* Fixing includes for renamed header files

* still need build rule

* Adding warning for swig code for gcc8+

* Adding CMakeLists.txt for data products

* Cmake merge #901

Making adjustments to get cmake working on the Mac (Mojave)

* Cmake merge #901

Changing string append to list append
2019-11-19 09:01:16 -06:00
Derek Bankieris
213964afba Fix typos 2019-11-05 16:03:47 -06:00
Derek Bankieris
9501bd9a5e Fix typo 2019-11-05 16:02:12 -06:00
Derek Bankieris
2d89023031 Generalize from_pid to find_simulation
This allows searching for a sim by any of its parameters over the
multicate channel.
2019-11-04 11:22:48 -06:00
Derek Bankieris
c35ca93830 Add checkpoint functionality to variable_server.py 2019-11-01 15:30:26 -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
Scott Fennell
82bae3b0d0 #836 remove all S_default.dat stuff 2019-07-09 15:58:26 -05:00
Alex Lin
d1c08ade7a
Make switching to 32bit compile better #829 (#830)
Added a new configure arugument "--enable-32bit".  If enabled,
TRICK_FORCE_32BIT is automatically set for building Trick and for
all sims built.  Changed the ARCH and added -m32 in the configure
script if 32bit is enabled.  This changes the configure script to
test for 32bit libraries.
2019-06-27 07:58:49 -05:00
Scott Fennell
b23b19195b
Merge pull request #818 from nasa/786-clock-stuff
Add C call to clock_tics_per_sec and also log init job elapsed time
2019-06-18 13:38:18 -05:00
Alex Lin
453a03a809
Get configure with no java and no X to work #735 (#817)
Found if --without-x was specified, that automatically caused an
error condition in the configure script.  Fixed that and only
tested for X windows headers and libs if X is included.  Excluded
a couple of directories from compiling if X is not included.

Didn't seem to be a problem with java.
2019-06-18 11:00:42 -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
Scott Fennell
97941ac073 move init_log_stream to Executive.hh, move Executive::process_sim_args from "default data" to Executive::init 2019-06-18 10:34:56 -05:00
dbankieris
053b42512b
Merge pull request #809 from nasa/703
Separate stdout and stderr during CP
2019-06-12 09:15:50 -05:00
Alex Lin
a420418443 TPROCTE_HOME Being Used In Place Of TPRO_HOME #778
Changed the Tsync routing from using the old TPro API to the
new Tsync API.
2019-06-11 15:50:49 -05:00
Alex Lin
a78fcf1bc9 TPROCTE_HOME Being Used In Place Of TPRO_HOME #778
Need to exclude the tsync directory from Trick operations.
2019-06-11 11:22:06 -05:00
Alex Lin
a394f0d187 TPROCTE_HOME Being Used In Place Of TPRO_HOME #778
Needed to make some more fixes to work with modern tsync driver
code.
2019-06-11 09:48:29 -05:00
Derek Bankieris
b3c9e75c1b Separate stdout and stderr during CP
Closes #703
2019-06-07 09:34:53 -05:00
dbankieris
35c2dacac5
Merge pull request #785 from nasa/746
Clean up duplication in makefiles
2019-05-30 16:27:51 -05:00
dbankieris
ae09b2b243
Merge pull request #780 from nasa/505
Autogenerate SWIG dependencies
2019-05-30 16:04:27 -05:00
Derek Bankieris
7b0e84e58e Clean up duplication in makefiles
Normalize behavior of TRICK_VERBOSE_BUILD

Closes #746
2019-05-30 15:47:07 -05:00
Derek Bankieris
cf5c087ef0 Autogenerate SWIG dependencies
Add flags to SWIG invocation for PYTHON MODULE files
Make dependency files order-only prerequisites

Refs #505
2019-05-30 09:52:06 -05:00
Scott Fennell
aed4c94e56 version number to 19.1.dev 2019-05-29 15:29:41 -05:00
Scott Fennell
51c9d69ac8 Trick 19 is here (╯°□°)╯︵ ┻━┻ 2019-05-29 15:23:52 -05:00
Scott Fennell
24e1ec6d46 update version number 2019-05-29 15:13:13 -05:00
dbankieris
a3c7b57a0a
Merge pull request #778 from esduran/fix/with-tpro-path-bug
Consistently use TPRO_HOME over TPROCTE_HOME
2019-05-29 14:54:03 -05:00
Derek Bankieris
36c19e1589 Change TPROCTE_HOME to TPRO_HOME in config_user.mk.in 2019-05-29 14:50:58 -05:00
Derek Bankieris
7b7ecaa0c4 Trickification: autogenerate SWIG dependencies
Refs #505
2019-05-29 10:45:26 -05:00
Derek Bankieris
881ee69757 Improve Python 3 support in variable_server.py
Correct send_on_copy's variable server string

Closes #777
2019-05-22 11:38:35 -05:00
Derek Bankieris
3e3bc02cd2 Correct TRICK_CONVERT_SWIG_FLAGS in Makefile_swig
Fixes #770
2019-05-10 15:30:17 -05:00
nmerlene
38bfdf2a54
Convert string to bytes in variable_server.py for Python 3
* Method socket.sendall() expects bytes to be sent, rather than a string
* Python 3 stores text strings as unicode (not ASCII) by default
* Therefore, strings must be explicitly converted to bytes for Python 3 compatibility
* This works for both Python 2 and Python 3 (tested on Python 2.7, Python 3.6, and Python 3.7)
2019-04-24 15:45:06 -05:00
Scott Fennell
49e243b54a
Merge branch 'master' into VERBOSE-synonym 2019-04-02 13:34:52 -05:00
Aaron Brogley
e52449309c Create the shortcut trick.mc_add_variable.
This is shorter than the existing trick_mc.mc.add_variable and is
accessible through the trick namespace with 'import trick'.
2019-03-26 16:58:27 -05:00
Derek Bankieris
951bee52c0 Use existing variables for LD and c++
This is why we have code reviews!
2019-03-25 11:33:50 -05:00
Derek Bankieris
4146834f10 Support static/dynamic libraries in Trickification
Update documentation
Change TRICK_LIB_BUILD_TYPE to TRICKIFY_BUILD_TYPE
Remove support for linking in arbitrary objects
Conform logging to existing pattern
2019-03-25 10:49:34 -05:00
Scott Fennell
644a9a0e00 #741 add VERBOSE synonym everywhere 2019-03-21 09:28:52 -05:00
Jose Perez
787f2c7dc2 Support Shared and Static library. Optionally package trickified generated code and source code in to one library. 2019-03-20 15:32:11 -05:00
dbankieris
348bbb3798
Add ExecutiveException.hh to sim_services.i (#691)
* Add ExecutiveException.hh to sim_services.i and files_to_ICG.hh
* Update version number

Fixes #690
2018-10-30 13:49:55 -05:00
Scott Fennell
437ee149b5 release 17.4.0 2018-10-25 15:45:40 -05:00
Derek Bankieris
f6872aa12c Add missing dependency to Trickification makefile
Fixes #679
2018-10-18 11:37:59 -05:00
Derek Bankieris
d38c30ad02 SWIG all of S_library_swig during Trickification
Fixes #681
2018-10-18 10:45:13 -05:00
Scott Fennell
8044c03176 #618 update trickify.mk flag name 2018-07-09 09:41:34 -05:00
Scott Fennell
bf7ce2db3c #618 revert/remove TRICK_SYSTEM_SWIG_FLAGS. Wiki and trickify.mk update still required 2018-06-29 11:06:50 -05:00
anon
ef634c9f48 #618 add TRICK_SWIG_FLAGS, TRICK_SYSTEM_SWIG_FLAGS, TRICK_SWIG_CFLAGS, TRICK_SYSTEM_SWIG_CFLAGS. *_FLAGS are swig options, *_CFLAGS are g++ compiler options for swig objects. TRICK_SYSTEM_* options should not be changed by trick users 2018-06-27 13:58:44 -05:00
anon
23fef115c8 #603 #623 2018-05-22 14:55:47 -05:00
anon
9a2bab0df2 #603 #623 2018-05-22 14:53:10 -05:00
anon
bd0cfec731 #603 #623 2018-05-22 14:36:46 -05:00
anon
d764a67709 #603 restored 'make print-%' in sim directory 2018-05-22 14:01:32 -05:00
Derek Bankieris
2ce53dadd2 Move pymods into share/trick
Fixes #574
2018-03-05 15:17:22 -06:00
Alex Lin
4bf35a9c82 Revert "Merge pull request #533 from nasa/MakefileCleanup"
This reverts commit 269ed77cb4, reversing
changes made to d97f482219.
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
Alex Lin
9643311f4c Merge branch 'master' into MakefileCleanup 2018-03-01 08:32:08 -06:00
Alex Lin
d97f482219 Allow the FrameLog class to use a different clock #571
Added a clock reference that to the FrameLog class that defaults
to the GetTimeOfDay clock.  This clock has fast access and is
non intrusive to real-time operations using a different clock.

Added a function to set the clock to something else if desired.
2018-02-28 17:33:09 -06:00
John M. Penn
64d44d6fa8 Updates to Trick 17 Tutorial slides. Ref #554 2018-02-22 15:47:40 -06:00
John M. Penn
907cd2c481 Created Trick17 Tutorial Review Slides. Ref #554 2018-02-20 18:25:26 -06:00
Alex Lin
8f76605f3b Create Message client that writes to screen on a separate thread #553
Created a new message class that will copy incoming messages to a
buffer area.  The buffer area is pre allocated during simulation
initialization.  On a separate thread the buffer area is written
to std::cout.
2018-01-25 15:59:19 -06:00
Derek Bankieris
5db74dc804 Prefer simply-expanded variables in makefiles
Closes #538
2018-01-09 12:19:16 -06:00
Alex Lin
c694700148 Add environment variable to ignore types from ICG processing #535
Added a new environment variable TRICK_ICG_IGNORE_TYPES.  Class/struct/enum
types found in this semicolon delimited list will not have attributes written
out.
2017-12-19 10:02:41 -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
Derek Bankieris
380ab024a4 Add --with-udunits path to TRICK_EXCLUDE
Fixes #524
2017-12-04 11:02:03 -06:00
Alex Lin
de012dde71 Feature request: Support checkpointing and logging of std::array #480
Added std::array as an STL type Trick recognizes.  We can now create io code
that can save and restore std::arrays like std::vectors and other similar
types. Like other STL types, an std::array cannot be logged or viewed in
trick-tv.
2017-09-27 16:01:52 -05:00
Alex Lin
e2693de992 Many Trick sims SEGFAULT when built in 32-bit mode #440
Added a switch to trick-ICG to handle the -m32 flag.  When the
flag is present we tell clang to use a 32bit layout when calculating
member offsets.
2017-06-19 14:18:37 -05:00
Derek Bankieris
bb9b136a66 Remove CURDIR in trickify.mk
Reverts the important parts of c909669. Trying to include another
project's build dependencies as part of a sim build doesn't work that
well.

Refs #309
2017-05-30 08:56:06 -05:00
Alex Lin
34c62c5aab Sim build doesn't stop on error #421
PIPESTATUS is only available in bash.  For many of the systems
we use /bin/sh and /bin/bash are the same, but noooo, not on
Ubuntu where it is linked to dash.  I set SHELL := /bin/bash
in our makefile now.
2017-05-18 14:34:32 -05:00
Alex Lin
b2ebe157ed Lost the MAKE_out file when we updated simulation makefiles #412
Added echos to all compile commands to append to MAKE_out.  tee'd
the output of the compile command so that it will go to both the MAKE_out
file and the screen.
2017-04-18 10:26:58 -05:00
Derek Bankieris
2db341cff8 Revert (almost all of) 2e4c3286
Sadly, we cannot yet require SWIG 2.0.

Refs #400
2017-03-28 15:59:08 -05:00
Derek Bankieris
b53c52ac33 Separate ICG & SWIG exclusion constructs
Refs #392
2017-03-27 15:19:43 -05:00
Derek Bankieris
2e4c3286a3 Automatically generate dependencies with SWIG
Like gcc, swig supports all those -M options. Use them to automatically
manage *_py.cpp dependencies.
Add dependency generation to trickify.mk as well.
2017-03-14 13:38:09 -05:00
Alex Lin
7c78187abf Using ccache seems to work but prints warnings #390
Found a place in the makefile where TRICK_CC was not being set correctly.
Also found a case in gte.pm where we are not handling ccache properly.
2017-03-13 15:11:57 -05:00
Derek Bankieris
dd2a17e034 Separate convert_swig rule in trickify.mk
Refs #309
2017-02-27 08:56:09 -06:00