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

Better document how to run the tests #1466

Closed
ExplodingCabbage opened this issue Sep 10, 2016 · 7 comments
Closed

Better document how to run the tests #1466

ExplodingCabbage opened this issue Sep 10, 2016 · 7 comments
Labels

Comments

@ExplodingCabbage
Copy link
Contributor

When I run tox on my Ubuntu 14.04 machine, before giving up I get:

  • a bunch of failures
  • a bunch of LookupErrors
  • loads of tracebacks with errors saying NameError: global name 'pyparsing' is not defined
  • a bunch of other NameErrors
  • tracebacks with errors saying OSError: Senna executable expected at /usr/share/senna-v3.0/senna-linux64 but not found
  • multiple screens of nltk_data downloads that still haven't finished after many hours

I've consequently given up ensuring that the tests in my PR can run as part of the tox run, and will just try to run them individually. But shouldn't the process for running the tests be less painful than this? The CONTRIBUTING.md guidelines say

just execute tox

and that's what I'd expect to have to do; the reality is that the tests seem basically unrunnable. Do the core contributors have development setups that let them run the full test suite easily? If so, what're they doing differently to me? And what output should I expect to see when I run tox?

This was referenced Sep 10, 2016
@iliakur
Copy link
Contributor

iliakur commented Sep 11, 2016

I'm sad to say I have the same problem as you. Trying to actually make "just execute tox" run was really frustrating. @alvations at the time told me to only worry about the relevant tests for what I was working on. I guess that makes sense since we don't really have integration or E2E tests, and ideally unit and doctests should be testing isolated components. I say "ideally" because I personally have a couple of essentially integration tests inside my unit tests precisely due to lack of official places to put them :(

At some point when I have time I'd like to bring up the issue of our testing architecture in the mailing list.

@ExplodingCabbage
Copy link
Contributor Author

ExplodingCabbage commented Sep 15, 2016

It seems worth noting that there are really two actionables here, one quick and easy and one long and difficult:

  • 1. amend the contributing guidelines to make clear that tox won't work on (most? all?) contributors' machines, and that they are only expected to run tests relevant to the modules they are modifying - the rest can run in CI
  • 2. make it easy for new contributors to run the full test locally

As well as being easier, just doing 1 immediately provides about 90% of the value of 2. Not being able to run the full test suite on a dev machine really isn't a big deal; that in combination with guidelines indicating that I'm expected to run it is, and led to me wasting hours more time on a fool's errand than I would've done had the docs let me know that I didn't really have to run tox.

@iliakur
Copy link
Contributor

iliakur commented Sep 16, 2016

@ExplodingCabbage do you have time to tackle the docs?

@ExplodingCabbage
Copy link
Contributor Author

@copper-head time, yes, but I feel like it would be better for one of the core contributors who knows the current state of the tests to do it.

@stevenbird
Copy link
Member

I'm sorry that I don't have any resources at my disposal in order to do this...

@fievelk
Copy link
Member

fievelk commented Feb 26, 2017

@ExplodingCabbage We do not have test failures anymore. Do you think this issue can be marked as solved?

@ExplodingCabbage
Copy link
Contributor Author

The tests ran for me this time around, so I guess this is resolved!

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

No branches or pull requests

4 participants