discuss-gnustep
[Top][All Lists]
Advanced

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

Re: Failed gui test:NSView_autoresize_and_rounding WAS: gnustep compiled


From: Sebastian Reitenbach
Subject: Re: Failed gui test:NSView_autoresize_and_rounding WAS: gnustep compiled with clang and gworkspace problem
Date: Sun, 30 Oct 2011 14:07:32 +0100
User-agent: SOGoMail 1.3.8

Hi,

since -base tests are fine now for me, I'm back to -gui: The following tests 
are still failing for me on OpenBSD i386 5.0 -current:


Testing lazy_copy.m...
Running gui/NSPasteboard/lazy_copy.m...
which happens to fail randomly.

Testing setDelegate_reload.m...
Running gui/NSSavePanel/setDelegate_reload.m...
Failed test:     browser initially contains all files
Failed test:     browser is reloaded after -setDelegate:
Failed test:     browser contains all files after resetting delegate
Failed test:     browser is reloaded after -setDelegate: (2)
Completed file:  setDelegate_reload.m

Testing NSView_autoresize_and_rounding.m...
Running gui/NSView/NSView_autoresize_and_rounding.m...
Failed test:     NSView autoresizing works
Passed test:     NSView autoresizing corner cases work
Failed test:     NSView autoresize rounding works
(1) expected frame (10 10)+(10 10), got (10 10)+(9 10)
(1) expected frame (10 10)+(10 10), got (9 9)+(9 9)
Completed file:  NSView_autoresize_and_rounding.m

Testing NSView_bounds_scale.m...
Running gui/NSView/NSView_bounds_scale.m...
expected bounds rotation 30 got 30.9153
(2) expected bounds (39.9801 104.211)+(66.2393 85.2544), got (40.372 
105.364)+(66.8473 84.9812)
expected bounds matrix (2.93813 0.614059 -1.69633 1.06358 104.31 -131.062) got 
(2.96586 0.574951 -1.71234 1.07291 104.31 -131.062)
(2) expected bounds (39.9801 104.211)+(66.2393 85.2544), got (40.372 
105.364)+(66.8473 84.9812)
expected bounds rotation 30 got 30.9153
Completed file:  NSView_bounds_scale.m

anything I can do? I.e. run in gdb, set breakpoint (recommendations?) and then 
look for sth. specific?

Sebastian


On Friday, October 7, 2011 10:11 CEST, "Sebastian Reitenbach" 
<sebastia@l00-bugdead-prods.de> wrote: 
 
>  
> On Wednesday, October 5, 2011 11:18 CEST, Fred Kiefer <fredkiefer@gmx.de> 
> wrote: 
>  
> > First off and completely unrelated to the actual issue: GNUstep seems to 
> > use fake main on your system. Why is this the case? As far as I know 
> > this shouldn't be needed on any normal operating system. Could you 
> > please check the configuration output of base to find out what is going 
> > on here?
> > 
> > 
> > On to the matter at hand. The important information that your gdb output 
> > provides is the line number of the failing check. It is line 81 and that 
> > means we already did a few resize steps and we could just have 
> > accumulated some rounding errors.
> > The numbers reported from your stack trace for the passed in frame are 
> > completely wrong. As the numbers reported by the printf() statement are 
> > correct: I think gdb is missing up things here. We clean up our code a 
> > bit, by using an explicit conversion to double in the printf, but that 
> > is irrelevant to the gdb issue. (By the way, what size is CGFloat on 
> > your system?)
> > One information that could help understand what is going on here is to 
> > report _autoresizingFrameError for view1 before and after the resize in 
> > line 80. There we gather the rounding error (See 
> > [NSView-resizeWithOldSuperviewSize]).
> 
> sorry, took me a while, hope that will help you:
> 
> Breakpoint 1, gnustep_base_user_main (argc=1, argv=0xcfbc1a30) at 
> NSView_autoresize_and_rounding.m:79
> 79              passed = CHECK(view1, NSMakeRect(10,10,110,10)) && passed;
> Current language:  auto; currently minimal
> (gdb) print view1
> $1 = (class NSView *) 0x889f1e04
> (gdb) print view1._autoresizingFrameError
> $2 = {origin = {x = 0, y = 0}, size = {width = 0, height = 0}}
> (gdb) c
> Continuing.
> 
> Breakpoint 2, gnustep_base_user_main (argc=1, argv=0xcfbc1a30) at 
> NSView_autoresize_and_rounding.m:81
> 81              passed = CHECK(view1, NSMakeRect(10,10,10,10)) && passed;
> (gdb) print view1._autoresizingFrameError
> $3 = {origin = {x = 0, y = 0}, size = {width = -0.999997139, height = 0}}
> (gdb) 
> 
> Sebastian
> 
> > 
> > On 04.10.2011 19:49, Sebastian Reitenbach wrote:
> > > installing gworkspace now with everything from svn, the initial problem 
> > > seems to be gone.
> > >
> > > I ran the tests with --debug, and examined the test a bit, that Fred 
> > > pointed me to investigate, below is what gdb gives me, I hope it helps. 
> > > Otherwise, where else should I set a breakpoint and examine values?
> > >
> > > Sebastian
> > >
> > > (gdb) bt
> > > #0  CHECK (view=0x7f020904, frame=
> > >          {origin = {x = -6.35119002e+09, y = -6.35128422e+09}, size = 
> > > {width = 1.72846451e+38, height = -6.35128832e+09}})
> > >      at NSView_autoresize_and_rounding.m:26
> > > #1  0x1c0020c2 in gnustep_base_user_main (argc=1, argv=0xcfbd4ff4) at 
> > > NSView_autoresize_and_rounding.m:81
> > > #2  0x08517267 in main (argc=1, argv=0xcfbd4ff4, env=0xcfbd4ffc) at 
> > > NSProcessInfo.m:979
> > > #3  0x1c000c97 in ___start ()
> > > #4  0x1c000c12 in _start ()
> > > (gdb) print view
> > > $1 = (class NSView *) 0x7f020904
> > > (gdb) po view
> > >   h=-&- v=---<NSView: 0x7f020904>  f={x = 10; y = 10; width = 9; height = 
> > > 10} b={x = 0; y = 0; width = 9; height = 10}
> > > (gdb) frame 0
> > > #0  CHECK (view=0x7f020904, frame=
> > >          {origin = {x = -6.35119002e+09, y = -6.35128422e+09}, size = 
> > > {width = 1.72846451e+38, height = -6.35128832e+09}})
> > >      at NSView_autoresize_and_rounding.m:26
> > > 26                      printf("(1) expected frame (%g %g)+(%g %g), got 
> > > (%g %g)+(%g %g)\n",
> > > (gdb) list
> > > 21              if (fabs(r.origin.x - frame.origin.x)>0.001
> > > 22               || fabs(r.origin.y - frame.origin.y)>0.001
> > > 23               || fabs(r.size.width - frame.size.width)>0.001
> > > 24               || fabs(r.size.height - frame.size.height)>0.001)
> > > 25              {
> > > 26                      printf("(1) expected frame (%g %g)+(%g %g), got 
> > > (%g %g)+(%g %g)\n",
> > > 27                              frame.origin.x, frame.origin.y, 
> > > frame.size.width, frame.size.height,
> > > 28                              r.origin.x, r.origin.y, r.size.width, 
> > > r.size.height);
> > > 29
> > > 30                      return 0;
> > > (gdb) print fabs(r.origin.x - frame.origin.x)
> > > $3 = 1006647832
> > > (gdb) print fabs(r.origin.y - frame.origin.y)
> > > $4 = 1006647832
> > > (gdb) print fabs(r.size.width - frame.size.width)
> > > $5 = 1006647832
> > > (gdb) print fabs(r.size.height - frame.size.height)
> > > $6 = 1006647832
> > > (gdb) print r.origin.x
> > > $7 = 10
> > > (gdb) print frame.origin.x
> > > $8 = -6.35119002e+09
> > > (gdb) print r.origin.y
> > > $9 = 10
> > > (gdb) print frame.origin.y
> > > $10 = -6.35128422e+09
> > > (gdb) print r.size.width
> > > $11 = 9
> > > (gdb) print frame.size.width
> > > $12 = 1.72846451e+38
> > > (gdb) print r.size.height
> > > $13 = 10
> > > (gdb) print frame.size.height
> > > $14 = -6.35128832e+09
> > > (gdb)
> > > $15 = -6.35128832e+09
> > > (gdb) print frame
> > > $16 = {origin = {x = -6.35119002e+09, y = -6.35128422e+09}, size = {width 
> > > = 1.72846451e+38, height = -6.35128832e+09}}
> > > (gdb)
> > >
> > > here the other failing test:
> > > Breakpoint 5, CHECK (view=0x7f020904, frame=
> > >          {origin = {x = -6.35119002e+09, y = -6.35128422e+09}, size = 
> > > {width = 1.72846451e+38, height = -6.35128832e+09}})
> > >      at NSView_autoresize_and_rounding.m:26
> > > 26                      printf("(1) expected frame (%g %g)+(%g %g), got 
> > > (%g %g)+(%g %g)\n",
> > > (gdb) bt
> > > #0  CHECK (view=0x7f020904, frame=
> > >          {origin = {x = -6.35119002e+09, y = -6.35128422e+09}, size = 
> > > {width = 1.72846451e+38, height = -6.35128832e+09}})
> > >      at NSView_autoresize_and_rounding.m:26
> > > #1  0x1c003d2e in gnustep_base_user_main (argc=1, argv=0xcfbd4ff4) at 
> > > NSView_autoresize_and_rounding.m:187
> > > #2  0x08517267 in main (argc=1, argv=0xcfbd4ff4, env=0xcfbd4ffc) at 
> > > NSProcessInfo.m:979
> > > #3  0x1c000c97 in ___start ()
> > > #4  0x1c000c12 in _start ()
> > > (gdb) bt
> > > #0  CHECK (view=0x7f020904, frame=
> > >          {origin = {x = -6.35119002e+09, y = -6.35128422e+09}, size = 
> > > {width = 1.72846451e+38, height = -6.35128832e+09}})
> > >      at NSView_autoresize_and_rounding.m:26
> > > #1  0x1c003d2e in gnustep_base_user_main (argc=1, argv=0xcfbd4ff4) at 
> > > NSView_autoresize_and_rounding.m:187
> > > #2  0x08517267 in main (argc=1, argv=0xcfbd4ff4, env=0xcfbd4ffc) at 
> > > NSProcessInfo.m:979
> > > #3  0x1c000c97 in ___start ()
> > > #4  0x1c000c12 in _start ()
> > > (gdb) frame 0
> > > #0  CHECK (view=0x7f020904, frame=
> > >          {origin = {x = -6.35119002e+09, y = -6.35128422e+09}, size = 
> > > {width = 1.72846451e+38, height = -6.35128832e+09}})
> > >      at NSView_autoresize_and_rounding.m:26
> > > 26                      printf("(1) expected frame (%g %g)+(%g %g), got 
> > > (%g %g)+(%g %g)\n",
> > > (gdb) list
> > > 21              if (fabs(r.origin.x - frame.origin.x)>0.001
> > > 22               || fabs(r.origin.y - frame.origin.y)>0.001
> > > 23               || fabs(r.size.width - frame.size.width)>0.001
> > > 24               || fabs(r.size.height - frame.size.height)>0.001)
> > > 25              {
> > > 26                      printf("(1) expected frame (%g %g)+(%g %g), got 
> > > (%g %g)+(%g %g)\n",
> > > 27                              frame.origin.x, frame.origin.y, 
> > > frame.size.width, frame.size.height,
> > > 28                              r.origin.x, r.origin.y, r.size.width, 
> > > r.size.height);
> > > 29
> > > 30                      return 0;
> > > (gdb) print fabs(r.origin.x - frame.origin.x)
> > > $17 = 1006647832
> > > (gdb) print fabs(r.origin.y - frame.origin.y)
> > > $18 = 1006647832
> > > (gdb) print fabs(r.size.width - frame.size.width)
> > > $19 = 1006647832
> > > (gdb) print fabs(r.size.height - frame.size.height)
> > > $20 = 1006647832
> > > (gdb) print r.origin.x
> > > $21 = 9
> > > (gdb) print r.origin.y
> > > $22 = 9
> > > (gdb) print r.size.width
> > > $23 = 9
> > > (gdb) print r.size.height
> > > $24 = 9
> > > (gdb) print frame.origin.x
> > > $25 = -6.35119002e+09
> > > (gdb) print frame.origin.y
> > > $26 = -6.35128422e+09
> > > (gdb) print frame.size.width
> > > $27 = 1.72846451e+38
> > > (gdb) print frame.size.height
> > > $28 = -6.35128832e+09
> > > (gdb) po view
> > >   h=&&&  v=&&&  <NSView: 0x7f020904>  f={x = 9; y = 9; width = 9; height 
> > > = 9} b={x = 0; y = 0; width = 9; height = 9}
> > > (gdb) print frame
> > > $29 = {origin = {x = -6.35119002e+09, y = -6.35128422e+09}, size = {width 
> > > = 1.72846451e+38, height = -6.35128832e+09}}
> > > (gdb) c
> > > Continuing.
> > > (1) expected frame (10 10)+(10 10), got (9 9)+(9 9)
> > > Failed test:     NSView autoresize rounding works
> > 
> > 
> > _______________________________________________
> > Discuss-gnustep mailing list
> > Discuss-gnustep@gnu.org
> > https://lists.gnu.org/mailman/listinfo/discuss-gnustep
>  
>  
>  
>  
> 
> _______________________________________________
> Discuss-gnustep mailing list
> Discuss-gnustep@gnu.org
> https://lists.gnu.org/mailman/listinfo/discuss-gnustep
 
 
 
 



reply via email to

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