harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Geir Magnusson Jr <g...@pobox.com>
Subject Re: local test server (Was: Re: [jira] Commented: (HARMONY-71) java.net.URLConnection.setUseCaches throws unspecified IllegalAccessError)
Date Wed, 22 Feb 2006 05:18:41 GMT


Richard Liang 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?

I think that instructions for local setup is best.  Or better, an ant 
script :)

> 
> 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
View raw message