Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #70719

Re: where to put global testing value

From Ned Batchelder <ned@nedbatchelder.com>
Subject Re: where to put global testing value
Date 2014-04-29 12:32 -0400
References <535FD086.7000003@chamonix.reportlab.co.uk>
Newsgroups comp.lang.python
Message-ID <mailman.9576.1398789168.18130.python-list@python.org> (permalink)

Show all headers | View raw


On 4/29/14 12:17 PM, Robin Becker wrote:
> A user complains that under AppEngine I'm not allowed to import __main__.
>
> I can fix this issue merely by putting a try block around the offending
> import which is only used like this
>
>
> import __main__
> testing = getattr(__main__,'_rl_testing',False)
> del __main__
>
> this is only used as a hack way, during testing, to modify the behaviour
> of the importing module (a proxy for a C extension). During testing we
> keep both the C version and the supposed replacement of various
> functions so they can be tested against each other
>
> https://bitbucket.org/rptlab/reportlab/src/default/src/reportlab/lib/rl_accel.py
>
>
> Is there a more reasonable way to allow changes to module level globals
> before the import takes place? I guess since this module is supposed
> only to be imported by reportlab we can put this sort of thing onto the
> reportlab module itself, but that could possibly lead to import loops.
>
> Any ideas?

In coverage.py, I used environment variables to control that kind of 
behavior.

-- 
Ned Batchelder, http://nedbatchelder.com

Back to comp.lang.python | Previous | Next | Find similar | Unroll thread


Thread

Re: where to put global testing value Ned Batchelder <ned@nedbatchelder.com> - 2014-04-29 12:32 -0400

csiph-web