harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From George Harley <george.c.har...@googlemail.com>
Subject Re: local test server (Was: Re: [jira] Commented: (HARMONY-71) java.net.URLConnection.setUseCaches throws unspecified IllegalAccessError)
Date Wed, 22 Feb 2006 12:58:33 GMT
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 ?

What is the problem with using httpd to test Harmony ?


>
>
> 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 <richard.liangyx@gmail.com> 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 (t.p.ellison@gmail.com)
>>>>>> IBM Java technology centre, UK.
>>>>>>
>>>>>>
>>>>
>>>
>>
>>
>> -- 
>> Thanks,
>> Stepan Mishura
>> Intel Middleware Products Division
>>
>


Mime
View raw message