* Fixed run path/too/deep duplication logic
* Add more unit testing to cover edge cases in the YAML file
* Unify type checking to reduce code duplication
* Empty sections like run: are still ignored but now produce an error
to remind the user to clean them up.
* Make get_sims() work with labels=None
* Test SIMs within deep directory structures to exercise pathing logic
* Add test for invalid sim path: syntax
Refs #1159
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>
* #608 add implementation of FileSkipped callback to FindTrickICG to add include chains for headers that have already been preprocessed
* #608 add test SIM for FindTrickICG offsets SIM_test_icg_file_skipped