Tim Ellison wrote:
George Harley wrote:
Geir Magnusson Jr wrote:
George Harley wrote:
Geir Magnusson Jr wrote:
So, does this summarize to :

1) We need a new server or we should enahnce the current one?

2) We need instructions on how to do this.

?

(I hope we don't need httpd to test Harmony...)
Could you remind me what the "current one" is ?
The one in the pending JIRA
There is no server in the pending JIRA.

(psst) take a look at
<HARMONY-57>\Harmony\Harmony_Tests\src\test\java\tests\support\Support_HttpServer.java

Regards,
Tim

Hi Tim,

Funny. That's a test support class that is used to mock up an HTTP server for one, admittedly large, test case method (test_getInputStream in tests.api.java.net.URLConnectionTest).

It is not "the server".

There are a significantly larger number of test case methods that rely on using the configured external HTTP/FTP/SOCKS servers to test out their functionality.

Best regards,
George
IBM UK


As briefly mentioned somewhere
else in this thread, the submitted zip for that JIRA contains
configuration code and properties files that permits the tester to use
any server in any location (including localhost) and test resources for
deploying on those servers.

What is the problem with using httpd to test Harmony ?
It's a rather large external dependency.  Reminds me of the time we
got the TCK for JavaMail (a story in itself) and the only practical
way to use it was to get Sun's IMAP server which only ran on Solaris.

So what I was getting at is can we use something smaller/lighter that
we can include in the project for this?  What is it required to do?
The tests require an HTTP server, an FTP server and a SOCKS server to be
listening on certain (configurable) ports. The respective servers need
to have certain resources - text files, jars etc - deployed on them as a
number of the java.net.* tests try and access them from the configured
locations. The tests check that the expected content is available, that
it is the expected size, contains the expected data etc etc.

There are a number of mature, stable, freely available HTTP/FTP/SOCKS
servers out there that will do just great for satisfying the demands of
these tests so I don't propose to recommend anything in particular
(although I have had no problems running Apache HTTPD on my local
Windows machine). I don't see any justification for someone to spend
time developing a "new server" to run these tests. But, hey, it's not my
time that will be wasted...

geir


Stepan Mishura wrote:
Hi Richard,

Yes, I'm always for simplifying testing routine. And creating a
detail guide
for configuring some testing server is a possible way to do it.
However I'd
prefer to try to develop a simple local test server that is easy to
configure. I believe that it will cover most of cases.

And I assume that there may be a number of sophisticated test cases
that
requires a special server set up. But I'd place them separately
this was
discussed in '[testing] code for exotic configurations' topic.

Otherwise there is a chance to get the following detailed
instructions:
1) Download http server from http://www.apache.org
...
50) Do this and that
...
100) Now you can run net tests

Thanks,
Stepan


On 2/22/06, Richard Liang <[EMAIL PROTECTED]> wrote:
Dears,
Agree that server (maybe not local) is required for some
sophisticated
test cases. To make thing simply, we may provide more detail guide
(step-by-step) on how to setup/configure a typical testing server. Or
shall we setup a test server and allow user to share our testing
server?

Richard Liang
China Software Development Lab, IBM



Tim Ellison wrote:
Stepan Mishura wrote:

I glanced through a local server code from HARMONY-57 contribution
without
looking into implementation details and ... this made me think.
I catch
hold
of the following:
1) The server contains some testing code that looks not good for me

Care to explain?


2) It is not as simple as I expected - my impression was that a
local
server
implementation should be very simple because we are not going to
test
whether it corresponds to http spec. or not. IMHO, it should only
provide a
test case with:
- a port number to open communication
- access to a server's input/output streams to verify a request
to a
server
or to form a server's response.
Naive? Well, I'm aware that I'm not so experienced in
java.netdevelopment
and testing and may be I'm wrong.

The local server I referenced can be used for a number of the
java.net
tests, some of which do require more sophisticated behavior, like
basic
authentication, eTags, etc.

I agree that the tests in HARMONY-71 only need something to
accept their
connection, but I was simply pointing out that there will be a local
server we can use if that contribution is accepted into the
project, so
probably not worth writing another.


I'd like to start with the first issue (BTW, is it ok to discuss
details of
contribution implementation if it is not accepted yet?).

Sure -- I would expect people to be evaluating it thoroughly so that
they can vote the code in/out.  The PPMC will shout early if the
paperwork implies a contribution is unacceptable.


Can we avoid adding
a code that is specific for some test case to a local server?

Does it interfere with what you want to do?
In some cases, the test case needs to know what is on the server a
priori, so that it can test the client behavior correctly.

Regards,
Tim


On 2/16/06, Tim Ellison wrote:

I would rather that you just opened a new JIRA issue for that
as it
doesn't relate to the original problem.

FYI there is a local server incoming in the HARMONY-57
contribution,
so
don't spend any time on it, see:


<HARMONY-57>\Harmony\Harmony_Tests\src\test\java\tests\support\Support_HttpServer.java

Regards,
Tim

Stepan Mishura (JIRA) wrote:

    [

http://issues.apache.org/jira/browse/HARMONY-71?page=comments#action_12366637

]
Stepan Mishura commented on HARMONY-71:
---------------------------------------

Tim,

Added test case (test_setUseCachesZ) depends on network and it
fails
if
it can not create connection with apache.org. The same for
HARMONY-72.
I'm
going to attach a patch file with a local server in it. Could you
reopen
this JIRA?

Thanks,
Stepan.


 java.net.URLConnection.setUseCaches throws unspecified

IllegalAccessError

--------------------------------------------------------------------------

         Key: HARMONY-71
         URL: http://issues.apache.org/jira/browse/HARMONY-71
     Project: Harmony
        Type: Bug
  Components: Classlib
    Reporter: Svetlana Samoilenko
    Assignee: Tim Ellison
According to j2se 1.4.2 specification method

java.net.URLConnection.setUseCaches(boolean) throws
IllegalStateException,
if already connected. Harmony throws
java.lang.IllegalAccessErrorinstead,
that contradicts the specification.

Code to reproduce:
import java.io.IOException;
import java.net.*;
public class test2 {
    public static void main(String[] args) {
        HttpURLConnection u=null;
        try {
            u=(HttpURLConnection)(new URL("http://intel.com

").openConnection());

            u.connect();
        } catch (MalformedURLException e) {
            System.out.println("unexpected
MalformedURLException"+e);
        } catch (IOException f) {
            System.out.println("unexpected IOException"+f);
        }
        try {
           u.setUseCaches(true);
        } catch (IllegalStateException e) {
           System.out.println("OK. Expected
IllegalStateException");
           e.printStackTrace();
        };
    }
}
Steps to Reproduce:
1. Build Harmony (check-out on 2006-01-30) j2se subset as
described
in
README.txt.

2. Compile test2.java using BEA 1.4 javac

javac -d . test2.java

3. Run java using compatible VM (J9)

java -showversion test2

Output:
C:\tmp>C:\jrockit-j2sdk1.4.2_04\bin\java.exe -showversion test2
java version "1.4.2_04"
Java(TM) 2 Runtime Environment, Standard Edition (build
1.4.2_04-b05
)
BEA WebLogic JRockit(TM) 1.4.2_04 JVM (build

ari-31788-20040616-1132-win-ia32, Native Threads, GC strategy:
parallel)
OK. Expected IllegalStateException
java.lang.IllegalStateException: Already connected
        at java.net.URLConnection.setUseCaches(Z)V(
URLConnection.java
:828)

        at test2.main([Ljava.lang.String;)V(test2.java:17)
C:\tmp>C:\harmony\trunk\deploy\jre\bin\java -showversion test2
(c) Copyright 1991, 2005 The Apache Software Foundation or its

licensors, as applicable.

java.lang.IllegalAccessError: Connection already established
        at
java.net.URLConnection.setUseCaches(URLConnection.java
:923)
        at test2.main(test2.java:17)
Suggested junit test case:
------------------------
URLConnectionTest.java-------------------------------------------------

import java.io.IOException;
import java.net.*;
import junit.framework.*;
public class URLConnectionTest extends TestCase {
    public static void main(String[] args) {
        junit.textui.TestRunner.run(URLConnectionTest.class);
    }
    public void test_setUseCaches () {
        HttpURLConnection u=null;
        try {
            u=(HttpURLConnection)(new URL("http://intel.com

").openConnection());

            u.connect();
        } catch (MalformedURLException e) {
            fail("unexpected MalformedURLException"+e);
        } catch (IOException f) {
            fail("unexpected IOException"+f);
        }
        try {
           u.setUseCaches(true);
        } catch (IllegalStateException e) { //expected
        };
   }
}

--

Tim Ellison ([EMAIL PROTECTED])
IBM Java technology centre, UK.


--
Thanks,
Stepan Mishura
Intel Middleware Products Division



Reply via email to