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
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.
* 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>
* #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#1086closes#1088closes#1089
* 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
* 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
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.
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.
* 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)
Update documentation
Change TRICK_LIB_BUILD_TYPE to TRICKIFY_BUILD_TYPE
Remove support for linking in arbitrary objects
Conform logging to existing pattern
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.
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.
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.
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.
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
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.
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.
Like gcc, swig supports all those -M options. Use them to automatically
manage *_py.cpp dependencies.
Add dependency generation to trickify.mk as well.