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

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-24  0:07 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 [this message]
2007-11-26  2:53       ` Zhao Shujing
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=47476AEF.4080900@redhat.com \
    --to=cagney@redhat.com \
    --cc=frysk@sourceware.org \
    --cc=pearly.zhao@oracle.com \
    /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).