[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: changes to graphics.cc and subplot.m
From: |
Ben Abbott |
Subject: |
Re: changes to graphics.cc and subplot.m |
Date: |
Thu, 25 Jul 2013 11:22:29 +0200 |
On Jul 25, 2013, at 10:54 AM, Stefan Mahr wrote:
>>>>>>> oops! The test only fails for me the 1st time it is run, and only
>>>>>>> because the axes handles are in the wrong order.
>>>>>>>
>>>>>>> Ben
>>>>>>
>>>>>> It's weird. With your test script I get the same results as you.
>>>>>> However, the resulting output still has different y-axis size for both
>>>>>> plots.
>>>>>>
>>>>>> If I copy-paste your example block-wise in interactive mode, I get more
>>>>>> errors. Could it be some kind of timing problem?
>>>>>
>>>>> The extra errors are because the test aborts after the first error.
>>>>>
>>>>>> -----------
>>>>>>
>>>>>> graphics_toolkit fltk
>>>>>> close all
>>>>>> hf = figure (gcf (), "__graphics_toolkit__", "fltk", "visible", "on");
>>>>>>
>>>>>>
>>>>>> subplot(2,1,1); plot(rand(10,1)); subplot(2,1,2); plot(rand(10,1))
>>>>>> hax = findall (gcf (), "type", "axes");
>>>>>> positions = cell2mat (get (hax, "position"));
>>>>>> outerpositions = cell2mat (get (hax, "outerposition"));
>>>>>> looseinsets = cell2mat (get (hax, "looseinset"));
>>>>>> tightinsets = cell2mat (get (hax, "tightinset"));
>>>>>> close all
>>>>>>
>>>>>>
>>>>>> subplot(2,1,1); plot(rand(10,1)); subplot(2,1,2); plot(rand(10,1))
>>>>>> hax = findall (gcf (), "type", "axes");
>>>>>> assert (cell2mat (get (hax, "position")), positions, 0.001)
>>>>>> assert (cell2mat (get (hax, "outerposition")), outerpositions, 0.001)
>>>>>> assert (cell2mat (get (hax, "looseinset")), looseinsets, 0.001)
>>>>>> assert (cell2mat (get (hax, "tightinset")), tightinsets, 0.001)
>>>>>>
>>>>>> ------------------------
>>>>>>
>>>>>>> assert (cell2mat (get (hax, "position")), positions, 0.001)
>>>>>> error: assert (cell2mat (get (hax, "position")),positions,0.001) expected
>>>>>> 0.13000 0.58384 0.77500 0.32733
>>>>>> 0.13000 0.12384 0.77500 0.32733
>>>>>> but got
>>>>>> 0.13000 0.60122 0.77500 0.30994
>>>>>> 0.13000 0.18964 0.77500 0.26152
>>>>>> maximum absolute error 0.0658047 exceeds tolerance 0.001
>>>>>> error: called from:
>>>>>> error: /usr/share/octave/3.7.5/m/testfun/assert.m at line 235, column 5
>>>>>>> assert (cell2mat (get (hax, "outerposition")), outerpositions, 0.001)
>>>>>>> assert (cell2mat (get (hax, "looseinset")), looseinsets, 0.001)
>>>>>>> assert (cell2mat (get (hax, "tightinset")), tightinsets, 0.001)
>>>>>> error: assert (cell2mat (get (hax, "tightinset")),tightinsets,0.001)
>>>>>> expected
>>>>>> 0.042857 0.013122 0.000000 0.026316
>>>>>> 0.042857 0.013199 0.000000 0.026316
>>>>>> but got
>>>>>> 0.04286 0.09122 0.00000 0.01696
>>>>>> 0.04286 0.13964 0.00000 0.00000
>>>>>> maximum absolute error 0.126443 exceeds tolerance 0.001
>>>>>> error: called from:
>>>>>> error: /usr/share/octave/3.7.5/m/testfun/assert.m at line 235, column 5
>>>>>
>>>>> The second error is the one I hoped to catch. I'll work in fixing the
>>>>> test.
>>>>>
>>>>> Ben
>>>>
>>>> Does the attached version isolate the second error?
>>>>
>>>> Ben
>>>
>>> It's not related to the test itself, but line
>>> hf = figure (gcf (), "__graphics_toolkit__", "fltk", "visible", "on");
>>> fails for me. I need to add 'graphics_toolkit fltk' in the first line to
>>> make it work.
>>>
>>>
>>> If the test in run in script mode, it always pass. While testing Rik's plot
>>> issue I realized, that subplot is not neccessary for catching the y-axis
>>> bug. The optical difference is not as big as with subplot, so I overlooked
>>> it in the past. With attached patch the bug is reproducable in script mode.
>>> Please note the 'sleep(2)' after the plot command. Without this sleep, the
>>> test pass without error.
>>>
>>>
>>> Stefan
>>
>> Stefan / Dimitri / others,
>>
>> I'm still hoping to add some tests that demonstrate the problem.
>>
>> Does running this script produce one expected failure and 1 passing test?
>>
>> Ben
>>
>
> No, since it's inverted. The first test passes, the second fails.
>
> However, it's still not 100% sure:
>
> octave-cli:44> test stefan; test stefan
> [...]
> PASSES 2 out of 2 tests (1 expected failure)
> PASSES 2 out of 2 tests
>
> When calling 'test stefan' twice in one command line, the second run passes
> both tests. It also happens when you copy&paste
>
> test stefan
> test stefan
>
> to command line:
>
> octave-cli:68> test stefan
> [...]
> PASSES 2 out of 2 tests (1 expected failure)
> octave-cli:69> test stefan
> PASSES 2 out of 2 tests
> octave-cli:70> test stefan
> PASSES 2 out of 2 tests
>
> If you wait until the plot window is closed before starting new test, you get
> the expected failure.
>
> Stefan
Stefan, can I impose on you to modify the tests so that they give the result we
desire (i.e. one failure and then a passing test)?
Ben
- Aw: Re: changes to graphics.cc and subplot.m, (continued)
- Aw: Re: changes to graphics.cc and subplot.m, Stefan Mahr, 2013/07/22
- Aw: Re: changes to graphics.cc and subplot.m, Stefan Mahr, 2013/07/22
- Re: changes to graphics.cc and subplot.m, Ben Abbott, 2013/07/22
- Aw: Re: changes to graphics.cc and subplot.m, Stefan Mahr, 2013/07/22
- Re: Re: changes to graphics.cc and subplot.m, Dmitri A. Sergatskov, 2013/07/22
- Re: changes to graphics.cc and subplot.m, John W. Eaton, 2013/07/22
- Re: __plt_get_axis_arg__, Rik, 2013/07/22
- Re: __plt_get_axis_arg__, Michael D. Godfrey, 2013/07/22
- Re: changes to graphics.cc and subplot.m, Ben Abbott, 2013/07/25
- Aw: Re: changes to graphics.cc and subplot.m, Stefan Mahr, 2013/07/25
- Re: changes to graphics.cc and subplot.m,
Ben Abbott <=
- Aw: Re: changes to graphics.cc and subplot.m, Stefan Mahr, 2013/07/25
Re: changes to graphics.cc and subplot.m, Rik, 2013/07/21