André wrote: > Paddy wrote: > > notanotheridiot wrote: > > > Hi, > > > I have two strings - a docstring containing doctests and a code string > > > containing code to be tested with those doctests. I've been trying for > > > a day now to run the test without concatenating the two strings, > > > adding: > > > > > > import doctest > > > doctest.testmod > > > > > > to the bottom, writing it all to a file and executing it using popen(). > > > > > > There must be some way of doing this without writing to a temporary > > > file, any ideas? > > > > > > thanks in advance, > > > > > > johannes Woolard > > Create the concatenated string then exec it? > > I know from experience that this approach does not work. When you do > that, the entire module from which it is run turns out to be scanned > for doctests - not only the string being executed by exec. However, I > understand that Johannes found a solution. > > André > > > > > - Pad.
Got it, I've blogged about it here: http://pytute.blogspot.com/2006/06/say-no-to-temporary-files.html Basically the trick is to pass the docstring ino the exec environment as a variable and use the advanced doctest api to get a doctest. Johannes -- http://mail.python.org/mailman/listinfo/python-list