-
-
Notifications
You must be signed in to change notification settings - Fork 372
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] Add expression testing framework #2933
Conversation
This is in motion. Currently waiting for #2761 which just needs a review. Then I will open a PR that will download stanc3 instead of compiling stanc2 and use that to compile models. Then you can proceed here as far as that is concerned. There will be other PRs that will reorganize some of the testing but that does not conflict with these efforts. |
@serban-nicusor-toptal Why are all Jenkins changes on this PR ignored? Is it because @t4c1 does not have write rights to this repo? Thanks. |
You are right @rok-cesnovar see this thread. |
Is it possible to give @t4c1 the same permissions he has on Math? EDIT: |
You're welcome! |
Still unable to change Jenkinsfile here on this branch. Any ideas Nic? EDIT: I can change it but the changes are not respected. But I know I could change it on your branch last time. |
Can you please push a small change now to test ? Thanks |
This reverts commit 672ed98.
Jenkins still sees it as untrusted.
Give me a moment to understand why, if all fails we can try to re-do the PR in a minute, |
Is it maybe because the change is coming from a fork? |
It should only require |
Submission Checklist
./runTests.py src/test/unit
make cpplint
Summary
Addes a testing framework that checks that functions from stan math that are exposed to stan language work when given Eigen expressions as inputs. The tests are generated from the list of signatures stanc3 supports. For now we have a list of signatures that are skipped. As more functions support working with expressions we will remove them from the llist and eventually remove the list itself.
For every signature prim, rev and fwd instantinations are tested (with all scalars of type
double
/var
/fvar<double>
). Tests check the following:TODO:
Intended Effect
How to Verify
Side Effects
If a new function is exposed to stan language it will need to work with eigen expressions. Specifically every argument that can be of Eigen type (matrix, vector and row_vector in stan language) need to also be able to accept expressions. That is unless we add it to the list of exceptions, which should not be allowed - the list should only be getting shorter.
Documentation
None for now. I'll add doc where requested by reviewer.
Copyright and Licensing
Please list the copyright holder for the work you are submitting (this will be you or your assignee, such as a university or company): Tadej Ciglarič
By submitting this pull request, the copyright holder is agreeing to license the submitted work under the following licenses: