public inbox for frysk@sourceware.org
 help / color / mirror / Atom feed
From: Zhao Shujing <pearly.zhao@oracle.com>
To: Andrew Cagney <cagney@redhat.com>
Cc: frysk@sourceware.org
Subject: Re: [SCM]  master: Add a test testMemoryBufferCapacity() 	to	TestByteBuffer.java
Date: Mon, 26 Nov 2007 02:53:00 -0000	[thread overview]
Message-ID: <1196045768.3728.6.camel@linux-pzhao.site> (raw)
In-Reply-To: <47476AEF.4080900@redhat.com>

Sorry, this test is added for bug 1538. I think .capacity() can use for
test if highWater mark is the top location when map memory to
ByteBuffer.
On Fri, 2007-11-23 at 19:06 -0500, Andrew Cagney wrote:
> Zhao Shujing wrote:
> > This issue is to make sure the hightWater of memory bytebuffer is the
> > top location of the system.
> >   
> I'm still not sure I'm following; what is the problem you encountered 
> with .capacity() or is this a test to wire down an assumption?
> 
> > Yes, it should be ISA dependent. 
> > Fixed patch for it:
> > -------------------------------
> > diff --git a/frysk-core/frysk/proc/live/TestByteBuffer.java
> > b/frysk-core/frysk/proc/live/TestByteBuffer.java
> > index d8d8063..921b477 100644
> > --- a/frysk-core/frysk/proc/live/TestByteBuffer.java
> > +++ b/frysk-core/frysk/proc/live/TestByteBuffer.java
> > @@ -40,9 +40,14 @@
> >  package frysk.proc.live;
> >
> >  import inua.eio.ByteBuffer;
> > +import frysk.isa.ISA;
> >  import frysk.junit.TestCase;
> > +import frysk.proc.Task;
> >  import frysk.testbed.AttachedSelf;
> > +import frysk.testbed.ExecCommand;
> > +import frysk.testbed.ExecOffspring;
> >  import frysk.testbed.LocalMemory;
> > +import frysk.testbed.TearDownFile;
> >  import frysk.sys.Ptrace.RegisterSet;
> >  import frysk.sys.Ptrace.AddressSpace;
> >  import frysk.proc.Manager;
> > @@ -58,13 +63,12 @@ public class TestByteBuffer
> >      private ByteBuffer[] addressBuffers;
> >      private ByteBuffer[] registerBuffers;
> >
> > -    private ByteBuffer memorySpaceByteBuffer;
> > -
> >      public void setUp () throws Exception
> >      {
> >        int pid;
> >        ByteBuffer addressSpaceByteBufferText;
> >        ByteBuffer addressSpaceByteBufferData;
> > +      ByteBuffer memorySpaceByteBuffer;
> >        ByteBuffer usrByteBuffer;
> >        ByteBuffer registerByteBuffer;
> >        ByteBuffer fpregisterByteBuffer;
> > @@ -266,12 +270,22 @@ public class TestByteBuffer
> >           verifyPeeks(registerBuffers[i], addr, origBytes);
> >         }
> >      }
> > -
> >      public void testMemoryBufferCapacity() {
> >         if (unresolved(5394))
> >             return;
> > -       assertEquals("Memory Buffer Capacity: ", -1L,
> > -                    memorySpaceByteBuffer.capacity());
> > +       TearDownFile tmpFile = TearDownFile.create();
> > +       ExecOffspring child
> > +               = new ExecOffspring(new ExecCommand (new String[] {
> > +                                                "/bin/rm",
> > +                                                tmpFile.toString()
> >   
> I'm not sure that ExecOffspring is what you need here as it doesn't put 
> the task into an attached/stopped state; I suspect:
>    Task = new DaemonBlockedAtEntry("funit-slave").getMainTask().getISA();
> be simpler?
> 
> > +                                            }));
> > +       Task task = child.findTaskUsingRefresh(true);
> > +       if (task.getISA() == ISA.IA32)
> > +               assertEquals("Memory Buffer Capacity: ", 0xffffffffL,
> > +                    task.getMemory().capacity());
> > +       if (task.getISA() == ISA.X8664)
> > +               assertEquals("Memory Buffer Capacity: ",
> > 0xffffffffffffffffL,
> > +                     task.getMemory().capacity());
> >      }
> >   
> 
> There is also the PPC;  the attribute is dependent on the ISA's word 
> size, though, is something like:
>   switch (task.getISA().wordSize())
>      case 4: assert ... ; break;
>     case 8: assert ... ; break;
>      default: fail("unknown word size");
>   }
> simplier?
> 
> is the test passing or still being skipped?
> 
> >      private class AsyncPeeks
> > --------------------------------
> > On Thu, 2007-11-22 at 12:09 -0500, Andrew Cagney wrote:
> >   
> >> Pearly,
> >>
> >> This change is 64-bit specific - on a 32-bit system, capacity is much 
> >> smaller vis:
> >>
> >>  testMemoryBufferCapacity(frysk.proc.live.TestByteBuffer)junit.framework.AssertionFailedError: 
> >> Memory Buffer Capacity:  expected:<-1> but was:<4294967295>
> >>    at frysk.proc.live.TestByteBuffer.testMemoryBufferCapacity(TestRunner)
> >>    at frysk.junit.Runner.runCases(TestRunner)
> >>    at frysk.junit.Runner.runArchCases(TestRunner)
> >>    at frysk.junit.Runner.runTestCases(TestRunner)
> >>    at TestRunner.main(TestRunner)
> >>
> >> perhaps if you explain the issue here then we can figure out the 
> >> underlying problem.
> >>
> >> Andrew
> >>
> >> pzhao@sourceware.org wrote:
> >>     
> >>> The branch, master has been updated
> >>>        via  77939fcf72c66c6891797c90a0e4a19ec9e013e4 (commit)
> >>>       from  04406050f6a4910464c1dd4756121123c9a3708b (commit)
> >>>
> >>> Those revisions listed above that are new to this repository have
> >>> not appeared on any other notification email.
> >>>
> >>> - Log -----------------------------------------------------------------
> >>> commit 77939fcf72c66c6891797c90a0e4a19ec9e013e4
> >>> Author: Zhao Shujing <pearly.zhao@oracle.com>
> >>> Date:   Thu Nov 22 16:52:37 2007 +0800
> >>>
> >>>     Add a test testMemoryBufferCapacity() to TestByteBuffer.java
> >>>
> >>> -----------------------------------------------------------------------
> >>>
> >>> Summary of changes:
> >>>  frysk-core/frysk/proc/live/ChangeLog           |    4 ++++
> >>>  frysk-core/frysk/proc/live/TestByteBuffer.java |    8 +++++++-
> >>>  2 files changed, 11 insertions(+), 1 deletions(-)
> >>>
> >>> First 500 lines of diff:
> >>> diff --git a/frysk-core/frysk/proc/live/ChangeLog b/frysk-core/frysk/proc/live/ChangeLog
> >>> index 81d75eb..04e2937 100644
> >>> --- a/frysk-core/frysk/proc/live/ChangeLog
> >>> +++ b/frysk-core/frysk/proc/live/ChangeLog
> >>> @@ -1,3 +1,7 @@
> >>> +2007-11-22  Zhao Shujing  <pearly.zhao@oracle.com>
> >>> +	
> >>> +	* TestByteBuffer.java(testMemoryBufferCapacity()): New test.
> >>> +
> >>>  2007-10-29  Mark Wielaard  <mwielaard@redhat.com>
> >>>  
> >>>  	* LinuxTaskState.java (sendContinue): Add logging.
> >>> diff --git a/frysk-core/frysk/proc/live/TestByteBuffer.java b/frysk-core/frysk/proc/live/TestByteBuffer.java
> >>> index 07625f1..f49bb83 100644
> >>> --- a/frysk-core/frysk/proc/live/TestByteBuffer.java
> >>> +++ b/frysk-core/frysk/proc/live/TestByteBuffer.java
> >>> @@ -58,12 +58,13 @@ public class TestByteBuffer
> >>>      private ByteBuffer[] addressBuffers;
> >>>      private ByteBuffer[] registerBuffers;
> >>>  
> >>> +    private ByteBuffer memorySpaceByteBuffer;
> >>> +
> >>>      public void setUp () throws Exception
> >>>      {
> >>>        int pid;
> >>>        ByteBuffer addressSpaceByteBufferText;
> >>>        ByteBuffer addressSpaceByteBufferData;
> >>> -      ByteBuffer memorySpaceByteBuffer;
> >>>        ByteBuffer usrByteBuffer;
> >>>        ByteBuffer registerByteBuffer;
> >>>        ByteBuffer fpregisterByteBuffer;
> >>> @@ -265,6 +266,11 @@ public class TestByteBuffer
> >>>  	  verifyPeeks(registerBuffers[i], addr, origBytes);
> >>>  	}
> >>>      }
> >>> +
> >>> +    public void testMemoryBufferCapacity()
> >>> +    {
> >>> +	assertEquals("Memory Buffer Capacity: ", -1L, memorySpaceByteBuffer.capacity());
> >>> +    }
> >>>      private class AsyncPeeks
> >>>  	implements Runnable
> >>>      {
> >>>
> >>>
> >>> hooks/post-receive
> >>> --
> >>> frysk system monitor/debugger
> >>>   
> >>>       
> >
> >   
> 

  reply	other threads:[~2007-11-26  2:53 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20071122090733.7335.qmail@sourceware.org>
2007-11-22 17:10 ` Andrew Cagney
2007-11-23  4:10   ` Zhao Shujing
2007-11-24  0:07     ` Andrew Cagney
2007-11-26  2:53       ` Zhao Shujing [this message]
2007-11-27 14:45         ` Andrew Cagney
2007-11-28  8:21           ` Zhao Shujing
2007-11-29 10:37             ` Mark Wielaard
2007-11-29 10:44               ` Mark Wielaard

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1196045768.3728.6.camel@linux-pzhao.site \
    --to=pearly.zhao@oracle.com \
    --cc=cagney@redhat.com \
    --cc=frysk@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).