[Python-Dev] assert(blah blah) in the C code base

Eric V. Smith eric at trueblade.com
Sat Dec 28 02:45:29 CET 2013


On 12/27/2013 7:53 PM, Ethan Furman wrote:
> Greetings!
> 
> I'm working on Issue19995, and I'm seeing stuff like this:
> 
>   assert(PyLong_Check(val));
> 
> My question is:  Are these asserts in final production code?
> 
> My possible scenarios are:
> 
>   - the assert isn't in place
>   - the assert isn't working correctly
>   - PyLong_Check isn't working correctly
>   - the non-ints are being converted before the function
>     containing the assert is called
> 
> The fourth possibility is the most likely, but since I don't know how
> assert() works in C I can't be sure.
> 
> Any quick pointers?

http://www.cplusplus.com/reference/cassert/assert/

They should be completely removed in a non-debug build (when NDEBUG is
defined).

Eric.




More information about the Python-Dev mailing list