Hi Nathan,

Thank you for the suggestions! I agree with all of them. I didn't realize the PR would get so large when I first started it, so I agree that breaking it up will make the integration process much smoother overall. I'll get started on a YTEP today and let you know if I have any questions. Thanks!


From: Nathan <nathan.goldbaum@gmail.com>
Sent: Monday, September 30, 2019 11:07 AM
To: yt-dev@python.org <yt-dev@python.org>
Subject: [yt-dev] Re: Switching from Nose to Pytest
Hi Jared,

I think one thing that might help guide this discussion and make reviewing your pull request easier is for you to write up a YTEP document that goes a little bit into the technical and social details behind this change. Things that would be good to hear about:

* What do future contributors need to do to add answer tests in the new framework?
* What are differences between nose and pytest and developers need to be aware of?
* Are there any downsides to making this change?
* Any technical details that might be helpful for reviewers of your pull request to read in a more narrative fashion than is possible in a pull request.

Writing up a YTEP is a great way to both document the change in a format that will be preserved long-term and a way for you to explain what's happening without others needing to read over all the code changes. It's also a good thing for your personal resume to be able to point to a design document for a major development push along with the code and pull request(s).

Separately from the YTEP, I'd like to encourage you to think about breaking up your pull request into multiple chunks that can be upstreamed one at a time. This might mean running both pytest and nose for a while as things get converted. I could imagine this going like, first pull request sets up the pytest infrastructure and gets pytest running but with no actual tests running under pytest. Second pull request converts some subsection of the code to run under pytest. Third pull request does another subsection and so on until the entire codebase is converted. That will probably make it much easier for reviewers to understand your changes and make it easier for reviewers to spot bugs and possible issues.

I understand the desire to upstream something like this all at once but I think there's a big concern about making big changes to the codebase that are difficult to review all at once.

Hope that's helpful, please feel free to ping me on github if you want my help with anything.


On Mon, Sep 30, 2019 at 9:29 AM Matthew Turk <matthewturk@gmail.com> wrote:
Hi Jared,

Thanks for doing all of this.

One of the big things in this, that I think everybody should know
about, is that it also changes our answer testing to use flat hashes
of array values, instead of *full* array values that are stored in
some remote location.  This means that the results of the answer tests
are co-located with the code, and much easier for folks to set up and


On Sat, Sep 28, 2019 at 10:31 AM Coughlin, Jared W
<jcoughl3@illinois.edu> wrote:
> Hello!
> I've been working on a PR (https://github.com/yt-project/yt/pull/2286) that converts yt's testing framework from nose to pytest. I believe that it's mostly ready to go, so I was writing to see what everyone's thoughts on this change are, if there is any feedback on my implementation, and if anyone would be willing to help review it, since there are quite a few changes. Thanks, and have a good weekend!
> -Jared
> _______________________________________________
> yt-dev mailing list -- yt-dev@python.org
> To unsubscribe send an email to yt-dev-leave@python.org
yt-dev mailing list -- yt-dev@python.org
To unsubscribe send an email to yt-dev-leave@python.org