George Harley wrote:
Mark Hindess wrote:
Why must we testing the hostname?  Why not test the actual address,
127.0.0.1?  That should be much more reliable and less platform
dependent.

Regards,
 Mark.

Sounds good to me.

Paulex, in your view would it compromise the worth of this test if instead of doing :

--> InetSocketAddress returnAddr = (InetSocketAddress) this.channel1.receive(buf);
--> assertEquals(returnAddr.getHostName(), LOCALHOST_NAME);

..the test did *something* like below ?

--> InetSocketAddress returnAddr = (InetSocketAddress) this.channel1.receive(buf);
--> InetAddress addr = returnAddr.getAddress();
--> assertEquals("127.0.0.1", addr.getHostAddress());
This is good idea. I've raised JIRA Harmony-339 to improve these unstable/platform dependent tests, I'll attach patch soon.


Best regards,
George



On 4/12/06, LvJimmy,Jing <[EMAIL PROTECTED]> wrote:
Hi:

2006/4/12, Stepan Mishura <[EMAIL PROTECTED]>:
On 4/11/06, Paulex Yang wrote:
[SNIP]
I've run tests on Linux. They fail on the same assertion:
    [junit] Testcase: testReceiveSend_Block_Normal(
org.apache.harmony.tests.java.nio.channels.DatagramChannelTest ):
FAILED
    [junit] expected:<...> but was:<....localdomain>
    [junit] junit.framework.ComparisonFailure: expected:<...> but
was:<....localdomain>
    [junit]     at

org.apache.harmony.tests.java.nio.channels.DatagramChannelTest.receiveByChannel
(DatagramChannelTest.java:1681)
    [junit]     at

org.apache.harmony.tests.java.nio.channels.DatagramChannelTest.testReceiveSend_Block_Normal
(DatagramChannelTest.java:1419)
    [junit]     at java.lang.reflect.AccessibleObject.invokeV(
AccessibleObject.java:205)

Stepan,

Thank you for the information.
As far as JUnit didn't print what result was expected to get I
inserted
printing to the test and got the following:
Expected host: localhost.localdomain
Recieved host:  localhost

Why do you expect that on Linux "localhost.localdomain" should be
returned?
Well, that is because both RI/Harmony return this value on my test machines(Redhat ES 3, Redhat 9 and latest stable Debian), and I didn't expect this value is dependent on configuration(or Linux distribution? ), but as your test result shows, it probably does! So would you tell me your linux distro version and configuration( for example, what it looks
like of the item on localhost in /etc/hosts)? so that I can check if
this constant value(localhost.localdomain) is platform dependent.
Hi Paulex,

I run tests on SUSE LINUX ES 9, file /etc/hosts contains the next entry:
127.0.0.1       localhost

    Currently I have a linux workstation, file /porc/version show it is
"Linux version 2.4.21-15.ELsmp ([EMAIL PROTECTED]) (gcc
version 3.2.3 20030502 (Red Hat Linux 3.2.3-34)) #1 SMP Thu Apr 22 00:18:24
EDT 2004", and its /etc/hosts tells:
  127.0.0.1       localhost.localdomain           localhost
google tells me that Debian3.1 and redhat 8.0 also contain this field
defaultly.
Shall we call it as platform-release-dependency problems? :)

The are no entries with " localhost.localdomain". Today also I run these
tests on WinXP - all DatagramChannelTest passed but SocketChannelTest
(testReadByteBuffer_NonBlocking_ReadWriteRealTooLargeData) failed with the
following diagnostics:

expected:<24820> but was:<65536>
junit.framework.AssertionFailedError: expected:<24820> but was:<65536> at
org.apache.harmony.tests.java.nio.channels.SocketChannelTest.testReadByteBuffer_NonBlocking_ReadWriteRealTooLargeData
(SocketChannelTest.java :2579) at
java.lang.reflect.AccessibleObject.invokeV(
AccessibleObject.java:205)

Is this enough for you to identify a problem? Please let me know if you
need
more info.

Thanks,
Stepan.

And I'll also look more inside to see if there can be other cause except
for the possible platform difference.
Thanks,
Stepan.



And before everything's OK, I'm fine if you choose to add
DatagramChannelTest into exclude list, by adding it to Ln.94 of
modules/nio/make/common/build.xml, just as ServerSocketChannelTest.

Sorry for the inconvenience caused.

And there are new 15 test failures.  So now if I'll make a code
update
or a

bug fix how I can be 100% sure that I don't do any regression?

Currently if a commit breaks the Harmony classlib build a
notification
with

subject: "[continuum] BUILD FAILURE: Classlib/linux.ia32" will be
send
to

harmony-commits mailing list. Is it possible to have the same for
tests?
I

mean that after completing automatic build the existing classlib
tests
suite

should be run. If there are failing tests then a report notification

with

corresponding subject will be send.

Thanks,
Stepan Mishura
Intel Middleware Products Division

---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail:
[EMAIL PROTECTED]
---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Thanks,
Stepan Mishura
Intel Middleware Products Division


--

Best Regards!

Jimmy, Jing Lv
China Software Development Lab, IBM




--
Mark Hindess <[EMAIL PROTECTED]>
IBM Java Technology Centre, UK.

---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




--
Paulex Yang
China Software Development Lab
IBM



---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to