harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stepan Mishura" <stepan.mish...@gmail.com>
Subject local test server (Was: Re: [jira] Commented: (HARMONY-71) java.net.URLConnection.setUseCaches throws unspecified IllegalAccessError)
Date Tue, 21 Feb 2006 04:27:01 GMT
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
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.

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?). Can we avoid adding
a code that is specific for some test case to a local server?

Thanks,
Stepan Mishura
Intel Middleware Products Division

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