This is the mail archive of the
frysk@sourceware.org
mailing list for the frysk project.
Re: [SCM] master: Add a test testMemoryBufferCapacity() to TestByteBuffer.java
- From: Zhao Shujing <pearly dot zhao at oracle dot com>
- To: Andrew Cagney <cagney at redhat dot com>
- Cc: frysk at sourceware dot org
- Date: Fri, 23 Nov 2007 12:12:30 +0800
- Subject: Re: [SCM] master: Add a test testMemoryBufferCapacity() to TestByteBuffer.java
- Organization: Oracle
- References: <20071122090733.7335.qmail@sourceware.org> <4745B7E4.4090408@redhat.com>
- Reply-to: pearly dot zhao at oracle dot com
This issue is to make sure the hightWater of memory bytebuffer is the
top location of the system.
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()
+ }));
+ 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());
}
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
> >
>