On Tue, Sep 8, 2009 at 11:46 AM, Andrew Straw<straw...@astraw.com> wrote:
> Michael Droettboom wrote:
>> On 09/08/2009 10:24 AM, John Hunter wrote:
>>
>>> On Tue, Sep 8, 2009 at 8:54 AM, Michael Droettboom<md...@stsci.edu>  wrote:
>>>
>>>
>>>> I've been only skimming the surface of the discussion about the new test
>>>> framework up until now.
>>>>
>>>> Just got around to trying it, and every comparison failed because it was
>>>> selecting a different font than that used in the baseline images.  (My
>>>> matplotlibrc customizes the fonts).
>>>>
>>>> It seems we should probably force "font.family" to "Bitstream Vera Sans"
>>>> when running the tests.  Adding "rcParam['font.family'] = 'Bitstream Vera
>>>> Sans'" to the "test" function seems to do the trick, but I'll let Andrew
>>>> make the final call about whether that's the right change.  Perhaps we
>>>> should (as with the documentation build) provide a stock matplotlibrc
>>>> specifically for testing, since there will be other things like this?  Of
>>>> course, all of these options cause matplotlib.test() to have rcParam
>>>> side-effects.  Probably not worth addressing now, but perhaps worth noting.
>>>>
>>>>
>>> We do have a matplotlibrc file in the "test" dir (the dir that lives
>>> next to setup.py, not lib/matplotlib/tests.  This is where we run the
>>> buildbot tests from.  It might be a good idea to set the font
>>> explicitly in the test code itself so people can run the tests from
>>> any dir, but I'll leave it to Andrew to weigh in on that.
>>>
>>>
>> Sure.  If we *don't* decide to set it in the code, we should perhaps add
>> a line suggesting to "run the tests from lib/matplotlib/tests" in the
>> documentation.  An even better solution might be to forcibly load the
>> matplotlibrc in that directory (even if it's an install directory) when
>> the tests are run.
>>
> While the default test usage should probably set as much as possible to
> ensure things are identical, we also want to be able to test other code
> paths, so I think I'll add some kind of kwarg to matplotlib.test() to
> handle non-testing-default rcParams. I think setting lots of things,
> including the font, explicitly in the default case is a good idea.

I think the defaults should be used and any non-standard settings
should explicitly define the rcSettings. Perhaps a decorator is needed
that lets you pass the rc values, runs the test, and then calls
rcdefaults on the way out? I haven't been following your progress
closely (sorry about that, I am very grateful for all the work you are
doing.)

> Question for the rcParams experts: Can we save a copy of it so that we
> can restore its state after matplotlib.test() is done? (It's just a
> dictionary, right?)

rcdefaults() should reset all the values for you.

Darren

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Reply via email to