octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Aw: Re: changes to graphics.cc and subplot.m


From: Stefan Mahr
Subject: Aw: Re: changes to graphics.cc and subplot.m
Date: Thu, 25 Jul 2013 10:54:45 +0200 (CEST)

>>>>>> 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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]