[Python-Dev] Tests for internal functionality (original) (raw)
Terry Reedy tjreedy at udel.edu
Sat Mar 16 17:23:30 EDT 2019
- Previous message (by thread): [Python-Dev] Tests for internal functionality
- Next message (by thread): [Python-Dev] Tests for internal functionality
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
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
- Previous message (by thread): [Python-Dev] Tests for internal functionality
- Next message (by thread): [Python-Dev] Tests for internal functionality
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]