Skip to content
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

Instructions for running tests locally #471

Closed
goerz opened this issue Nov 26, 2020 · 3 comments · Fixed by #474
Closed

Instructions for running tests locally #471

goerz opened this issue Nov 26, 2020 · 3 comments · Fixed by #474
Assignees

Comments

@goerz
Copy link

goerz commented Nov 26, 2020

Can you add instructions to https://openmdao.github.io/dymos/contributing/contributing.html on how to run the automated tests manually?

From a fresh checkout of the dymos repo, what commands to do I have to type in to run the test locally? I had a look at .travis.yml, but the commands there seem surprisingly complex.

Personally, I tend to add a Makefile to my projects so that I can just to make test (on Unix-based systems, at least), but that's totally up to you.

This is a blocker for openjournals/joss-reviews#2809

@project-bot project-bot bot added this to Issue Backlog in Dymos development [Read only] Nov 26, 2020
@robfalck robfalck self-assigned this Nov 30, 2020
@project-bot project-bot bot moved this from Issue Backlog to In progress in Dymos development [Read only] Nov 30, 2020
@project-bot project-bot bot moved this from In progress to Closed Issues in Dymos development [Read only] Dec 2, 2020
@goerz
Copy link
Author

goerz commented Dec 5, 2020

Thanks for the update! I was able to install and run testflow. It does run the testsuite, but warns about some missing (optional) packages mpi4py petsc4py. Most importantly, though, it can't find pyOptsparse, which causes numerous test failures. I would recommend adding pyoptsparse to the the 'test' extra-requirments in setup.py (as well as any other packages that should be installed for running the tests, to the extent that they are missing).

I would recommend uploading pyoptsparse to PyPI, see mdolab/pyoptsparse#191, although in I think in principle it is also possible to put a Github address or link to a tarball in setup.py.

In the newly added "Running Tests" section of the documentation, you may want to list the other testing dependencies and that testflo and these other dependencies can also be installed with pip install .[test] in a dymos checkout directory.

@JustinSGray
Copy link
Member

We can add pyoptsparse to the test-extra requirements, but that won't fundamentally fix all the failing tests. We run some of our tests against a commercial optimizer SNOPT. These test are critical for our internal use, since we rely heavily on SNOPT.
You can certainly run Dymos without SNOPT, and we've made sure to also test many freely available optimizers. I don't want to remove the SNOPT tests but we can make sure to skip them rather than fail the tests when it is not present.

I noted your PR suggest on the pyoptsparse repo. We do collaborate with the pyoptsparse developers, but it is not our project. I think PyPI release of that package is outside the scope for this publication. Also, I will note that pyoptsparse itself was recently accepted to JOSS without having published on PyPI.
Regardless, we can absolutely make sure the git repo is listed as a target for the test requirements.

@goerz
Copy link
Author

goerz commented Dec 5, 2020

Yeah, I can successfully run the test suite, and I wouldn’t put a “no failing tests” criterion on anything, so this is not going to be a blocker for JOSS.

I would recommend keeping this on your radar, though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants