harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Richard Liang <richard.lian...@gmail.com>
Subject Re: local test server (Was: Re: [jira] Commented: (HARMONY-71) java.net.URLConnection.setUseCaches throws unspecified IllegalAccessError)
Date Wed, 22 Feb 2006 03:01:36 GMT
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.net development
>> 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.IllegalAccessError instead,
>>> 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.
>>>
>>>       
>
>   

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message