Repository navigation
Conversation
Nothing in the test suite ever ran a generated study, every binding was only tested on its own. tests/test_e2e_studies.py builds testZ (python/python) and testZC (python controller, C++ plant) from testsou with mkconcore, runs them and checks both nodes reach the end of their loop. It skips on Windows since the posix scripts need bash, and skips testZC when g++ isn't installed. This caught that C++ nodes don't compile from a generated study at all. concore.hpp and concoredocker.hpp include concore_base.hpp since the header dedupe, but mkconcore only ever copied concore.hpp. It now copies concore_base.hpp too, in the posix, windows and docker build scripts.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Right now nothing in the tests actually runs a study that mkconcore generates, each binding is only tested on its own. This adds
tests/test_e2e_studies.py, which buildstestZ(python/python) andtestZC(python controller, C++ plant) fromtestsouwith mkconcore in posix mode, runs them, and checks both nodes get to the end of their loop. It runs in the existing test job since g++ is already on the ubuntu runners, and skips on Windows.Writing it turned up a real bug: C++ nodes don't compile from a generated study at all. Since the header dedupe,
concore.hppandconcoredocker.hppincludeconcore_base.hpp, but mkconcore only ever copiedconcore.hpp. So mkconcore now copiesconcore_base.hppas well, in the posix, windows and docker build scripts, same as it already does forconcore_base.py.I also tried
testVZ(verilog/python) but under load the verilog controller sometimes hangs right before the end of the run, so I left it out for now and will look into that separately.Before
On dev the C++ node of testZC fails to compile:
After