On 3/16/2019 3:10 AM, Ivan Pozdeev via Python-Dev wrote:
In https://github.com/python/cpython/pull/6541 , I was requested to add tests for an internal C function.

As I wrote in https://github.com/python/cpython/pull/6541#issuecomment-445514807 , it's not clear from the codebase

1) where tests for internal (as opposed to public) functionality should be located

In the same file where they would be if public, which is what you seemed to find. Label somehow, such as 'class InternalsTest(TestCase):' or 'test__private' (with double __ indicating test of _private).

    * I only ran across very few tests for private functionality and they were located alongside the public tests. See e.g. https://github.com/python/cpython/pull/12140 -- site._getuserbase is a private function.

2) what spec one should test against since there's no official docs for internal functionality

Is there an informal spec in the form of docstring or comments? Besides that, test against current behavior. The main purpose of retro-testing is to detect *unintended* changes of behavior (regressions).

That time, they let it slide, but of course this is not something to make a habit of. It still bothers me that I left unfinished business there.
Any thoughts?

--
Terry Jan Reedy


_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to