* Re: [SCM] master: Add a test testMemoryBufferCapacity() to TestByteBuffer.java [not found] <20071122090733.7335.qmail@sourceware.org> @ 2007-11-22 17:10 ` Andrew Cagney 2007-11-23 4:10 ` Zhao Shujing 0 siblings, 1 reply; 8+ messages in thread From: Andrew Cagney @ 2007-11-22 17:10 UTC (permalink / raw) To: pearly.zhao; +Cc: frysk 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 > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [SCM] master: Add a test testMemoryBufferCapacity() to TestByteBuffer.java 2007-11-22 17:10 ` [SCM] master: Add a test testMemoryBufferCapacity() to TestByteBuffer.java Andrew Cagney @ 2007-11-23 4:10 ` Zhao Shujing 2007-11-24 0:07 ` Andrew Cagney 0 siblings, 1 reply; 8+ messages in thread From: Zhao Shujing @ 2007-11-23 4:10 UTC (permalink / raw) To: Andrew Cagney; +Cc: frysk 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 > > > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [SCM] master: Add a test testMemoryBufferCapacity() to TestByteBuffer.java 2007-11-23 4:10 ` Zhao Shujing @ 2007-11-24 0:07 ` Andrew Cagney 2007-11-26 2:53 ` Zhao Shujing 0 siblings, 1 reply; 8+ messages in thread From: Andrew Cagney @ 2007-11-24 0:07 UTC (permalink / raw) To: pearly.zhao; +Cc: frysk 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 >>> >>> > > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [SCM] master: Add a test testMemoryBufferCapacity() to TestByteBuffer.java 2007-11-24 0:07 ` Andrew Cagney @ 2007-11-26 2:53 ` Zhao Shujing 2007-11-27 14:45 ` Andrew Cagney 0 siblings, 1 reply; 8+ messages in thread From: Zhao Shujing @ 2007-11-26 2:53 UTC (permalink / raw) To: Andrew Cagney; +Cc: frysk 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 > >>> > >>> > > > > > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [SCM] master: Add a test testMemoryBufferCapacity() to TestByteBuffer.java 2007-11-26 2:53 ` Zhao Shujing @ 2007-11-27 14:45 ` Andrew Cagney 2007-11-28 8:21 ` Zhao Shujing 0 siblings, 1 reply; 8+ messages in thread From: Andrew Cagney @ 2007-11-27 14:45 UTC (permalink / raw) To: pearly.zhao; +Cc: frysk Zhao Shujing wrote: > 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. > True; however did you see: > + = 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? and: > + 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? can we address these? Andrew ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [SCM] master: Add a test testMemoryBufferCapacity() to TestByteBuffer.java 2007-11-27 14:45 ` Andrew Cagney @ 2007-11-28 8:21 ` Zhao Shujing 2007-11-29 10:37 ` Mark Wielaard 0 siblings, 1 reply; 8+ messages in thread From: Zhao Shujing @ 2007-11-28 8:21 UTC (permalink / raw) To: Andrew Cagney; +Cc: frysk It's been updated and the test is passing now. On Tue, 2007-11-27 at 09:45 -0500, Andrew Cagney wrote: > Zhao Shujing wrote: > > 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. > > > True; however did you see: > > > + = 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? > and: > > > + 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? > can we address these? > > Andrew > ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [SCM] master: Add a test testMemoryBufferCapacity() to TestByteBuffer.java 2007-11-28 8:21 ` Zhao Shujing @ 2007-11-29 10:37 ` Mark Wielaard 2007-11-29 10:44 ` Mark Wielaard 0 siblings, 1 reply; 8+ messages in thread From: Mark Wielaard @ 2007-11-29 10:37 UTC (permalink / raw) To: pearly.zhao; +Cc: Andrew Cagney, frysk Hi Pearly, On Wed, 2007-11-28 at 16:24 +0800, Zhao Shujing wrote: > It's been updated and the test is passing now. Congrats, it does PASS on x86 and x86_64. And more congrats, since you seem to have caught a bug on 32bit-on-64bit systems! If you run the test on a x86_64 system with ./TestRunner -arch 32 frysk.proc.live.TestByteBuffer.testMemoryBufferCapacity you get: Caused by this piece of code in frysk-sys/frysk/sys/cni/Ptrace.cxx: jlong frysk::sys::Ptrace$AddressSpace::length () { return -1UL; } Which is correct for 32 bit systems when frysk is compiled on a 32 bit system and correct for 64 bit systems when compiled on 64 bit systems. But not for an 32 bit address space on a 64 bit system. Unfortunately I don't immediately know the correct way to fix this at this point. So I filed it as http://sourceware.org/bugzilla/show_bug.cgi?id=5432 If someone knows how to fix this properly you now have a testcase! Cheers, Mark ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [SCM] master: Add a test testMemoryBufferCapacity() to TestByteBuffer.java 2007-11-29 10:37 ` Mark Wielaard @ 2007-11-29 10:44 ` Mark Wielaard 0 siblings, 0 replies; 8+ messages in thread From: Mark Wielaard @ 2007-11-29 10:44 UTC (permalink / raw) To: pearly.zhao; +Cc: Andrew Cagney, frysk On Thu, 2007-11-29 at 11:36 +0100, Mark Wielaard wrote: > Congrats, it does PASS on x86 and x86_64. And more congrats, since you > seem to have caught a bug on 32bit-on-64bit systems! If you run the test > on a x86_64 system with ./TestRunner -arch 32 > frysk.proc.live.TestByteBuffer.testMemoryBufferCapacity you get: > [... nothing ...] Doh. Of course it helps if I actually paste the output: 1) testMemoryBufferCapacity(frysk.proc.live.TestByteBuffer)junit.framework.AssertionFailedError: Memory Buffer Capacity: expected:<4294967295> but was:<-1> at frysk.proc.live.TestByteBuffer.testMemoryBufferCapacity(TestRunner) at frysk.junit.Runner.runCases(TestRunner) at frysk.junit.Runner.runArch32Cases(TestRunner) at frysk.junit.Runner.runTestCases(TestRunner) at TestRunner.main(TestRunner) > http://sourceware.org/bugzilla/show_bug.cgi?id=5432 > If someone knows how to fix this properly you now have a testcase! ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2007-11-29 10:44 UTC | newest] Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <20071122090733.7335.qmail@sourceware.org> 2007-11-22 17:10 ` [SCM] master: Add a test testMemoryBufferCapacity() to TestByteBuffer.java Andrew Cagney 2007-11-23 4:10 ` Zhao Shujing 2007-11-24 0:07 ` Andrew Cagney 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
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).