From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27737 invoked by alias); 24 Nov 2007 00:07:11 -0000 Received: (qmail 26911 invoked by uid 22791); 24 Nov 2007 00:07:09 -0000 X-Spam-Status: No, hits=-1.5 required=5.0 tests=AWL,BAYES_00,DK_POLICY_SIGNSOME,SPF_HELO_PASS,SPF_PASS,WLS_URI_OPT_0 X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (66.187.233.31) by sourceware.org (qpsmtpd/0.31) with ESMTP; Sat, 24 Nov 2007 00:07:02 +0000 Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.13.8/8.13.1) with ESMTP id lAO065wU001696; Fri, 23 Nov 2007 19:06:05 -0500 Received: from pobox.corp.redhat.com (pobox.corp.redhat.com [10.11.255.20]) by int-mx1.corp.redhat.com (8.13.1/8.13.1) with ESMTP id lAO0651c022705; Fri, 23 Nov 2007 19:06:05 -0500 Received: from [127.0.0.1] (sebastian-int.corp.redhat.com [172.16.52.221]) by pobox.corp.redhat.com (8.13.1/8.13.1) with ESMTP id lAO064iS016540; Fri, 23 Nov 2007 19:06:04 -0500 Message-ID: <47476AEF.4080900@redhat.com> Date: Sat, 24 Nov 2007 00:07:00 -0000 From: Andrew Cagney User-Agent: Thunderbird 1.5.0.12 (X11/20070530) MIME-Version: 1.0 To: pearly.zhao@oracle.com CC: frysk@sourceware.org Subject: Re: [SCM] master: Add a test testMemoryBufferCapacity() to TestByteBuffer.java References: <20071122090733.7335.qmail@sourceware.org> <4745B7E4.4090408@redhat.com> <1195791150.22218.13.camel@linux-pzhao.site> In-Reply-To: <1195791150.22218.13.camel@linux-pzhao.site> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit 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/msg00175.txt.bz2 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 >>> >>> > >