From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29438 invoked by alias); 26 Nov 2007 02:53:22 -0000 Received: (qmail 29429 invoked by uid 22791); 26 Nov 2007 02:53:21 -0000 X-Spam-Status: No, hits=-0.4 required=5.0 tests=AWL,BAYES_00,DK_POLICY_SIGNSOME,WLS_URI_OPT_0 X-Spam-Check-By: sourceware.org Received: from agminet01.oracle.com (HELO agminet01.oracle.com) (141.146.126.228) by sourceware.org (qpsmtpd/0.31) with ESMTP; Mon, 26 Nov 2007 02:53:15 +0000 Received: from rgmgw2.us.oracle.com (rgmgw2.us.oracle.com [138.1.186.111]) by agminet01.oracle.com (Switch-3.2.4/Switch-3.1.7) with ESMTP id lAQ2qZ8H018577; Sun, 25 Nov 2007 20:52:35 -0600 Received: from dhcp-beijing-cdc-10-182-121-96.cn.oracle.com (dhcp-beijing-cdc-10-182-121-96.cn.oracle.com [10.182.121.96]) by rgmgw2.us.oracle.com (Switch-3.2.4/Switch-3.2.4) with ESMTP id lAQ2qWvL030514; Sun, 25 Nov 2007 19:52:33 -0700 Subject: Re: [SCM] master: Add a test testMemoryBufferCapacity() to TestByteBuffer.java From: Zhao Shujing Reply-To: pearly.zhao@oracle.com To: Andrew Cagney Cc: frysk@sourceware.org In-Reply-To: <47476AEF.4080900@redhat.com> References: <20071122090733.7335.qmail@sourceware.org> <4745B7E4.4090408@redhat.com> <1195791150.22218.13.camel@linux-pzhao.site> <47476AEF.4080900@redhat.com> Content-Type: text/plain Organization: Oracle Date: Mon, 26 Nov 2007 02:53:00 -0000 Message-Id: <1196045768.3728.6.camel@linux-pzhao.site> Mime-Version: 1.0 X-Mailer: Evolution 2.6.0 Content-Transfer-Encoding: 7bit X-Brightmail-Tracker: AAAAAQAAAAI= X-Brightmail-Tracker: AAAAAA== X-Whitelist: TRUE X-Whitelist: TRUE X-IsSubscribed: yes Mailing-List: contact frysk-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: frysk-owner@sourceware.org X-SW-Source: 2007-q4/txt/msg00176.txt.bz2 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 > >>> 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 > >>> + > >>> + * TestByteBuffer.java(testMemoryBufferCapacity()): New test. > >>> + > >>> 2007-10-29 Mark Wielaard > >>> > >>> * 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 > >>> > >>> > > > > >