-
Notifications
You must be signed in to change notification settings - Fork 8
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
RF+add nose support #29
base: master
Are you sure you want to change the base?
Conversation
yarikoptic
commented
Oct 17, 2020
•
edited
Loading
edited
- RF code to avoid code duplication etc across multiple plugins (since no CI, add some CI to run pycrunch tests #28; ran locally to get "81 passed, 3 skipped, 10 warnings")
- there is more code in pytest plugin directory which seems to be generic and should be moved out
- actually add nose support (Closes Q: no nose(tests) support is planned, correct? #27)
Also declare @abc.abstractmethod _run_test for specific implementations, implemented by pytest plugin
* origin/nose_proto: Nose test runner prototype Conflicts: pycrunch/plugins/nose_support/nose_runner_engine.py -- took the main nose specific body of NoseRunnerEngine, discarded the rest which now should be in the parent class logic
Merged #30 into this PR. Yet to see if works for primary target use case (datalad) probably primarily due to datalad's issue datalad/datalad#5100 . I guess I might need to try it on some simpler project first |
I did some digging and tried to implement AST discovery. Everything was fine until I had to find a class inheritance tree; So I started wondering how pytest (and nose) works, and it is a combination of Module import and AST rewrite So, as a surprise for me, they actually run all the code (such as The problem you are facing can be masked with
I put a 2-liner patch in both engine Not sure where to go from here, but I thought it might be interesting, cc @yarikoptic |
yeah, |