public inbox for mauve-discuss@sourceware.org
 help / color / mirror / Atom feed
* API Differences
@ 2002-12-26 12:29 Daryl Lee
  2002-12-26 17:45 ` Brian Jones
  0 siblings, 1 reply; 6+ messages in thread
From: Daryl Lee @ 2002-12-26 12:29 UTC (permalink / raw)
  To: Mauve Discuss

Having completed the java.io JDK 1.1 tests, I am now ready to move on to
the 1.2 tests, but I need an efficient means of knowing the differences
between the two versions of the APIs.  Is there a tool I can use that will
identify exactly what needs to be tested?

An associated question has more to do with the mauve 'choose' script, which
looks more and more like Greek everytime I try to figure out how it works.
If I specify JDK1.2 in mauve-classpath, will it cause the selected JDK1.0 and
JKD1.1 tests to be run as well as any JDK1.2 tests I create?  (Please say
yes!)  A corollary question is, "What is the difference between the 'uses:'
declaration in mauve tests and the standard Java 'import' statement?"
-- 
Daryl Lee
Open the present--it's a gift.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: API Differences
  2002-12-26 12:29 API Differences Daryl Lee
@ 2002-12-26 17:45 ` Brian Jones
  2002-12-27  4:37   ` Dalibor Topic
  2002-12-27  7:06   ` Daryl Lee
  0 siblings, 2 replies; 6+ messages in thread
From: Brian Jones @ 2002-12-26 17:45 UTC (permalink / raw)
  To: Daryl Lee; +Cc: Mauve Discuss

Daryl Lee <dlee@altaregos.com> writes:

> Having completed the java.io JDK 1.1 tests, I am now ready to move on to
> the 1.2 tests, but I need an efficient means of knowing the differences
> between the two versions of the APIs.  Is there a tool I can use that will
> identify exactly what needs to be tested?

japicompat/japize can be used for this purpose.  Take the 1.1 and 1.2
files from the japize website and run japicompat to compare them.

> An associated question has more to do with the mauve 'choose' script, which
> looks more and more like Greek everytime I try to figure out how it works.
> If I specify JDK1.2 in mauve-classpath, will it cause the selected JDK1.0 and
> JKD1.1 tests to be run as well as any JDK1.2 tests I create?  (Please say
> yes!)  A corollary question is, "What is the difference between the 'uses:'
> declaration in mauve tests and the standard Java 'import' statement?"

Yes, it will do what you think and select the previous version tests
as well.  Uses is for the choose script... or other scripts, to know
that test foo in foo.java also uses bar in bar.java (must be in same
package currently).  So it would be nice in some cases to avoid code
duplication of utility methods useful to a particular subset of tests.

Brian
-- 
Brian Jones <cbj@gnu.org>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: API Differences
  2002-12-26 17:45 ` Brian Jones
@ 2002-12-27  4:37   ` Dalibor Topic
  2002-12-27  5:28     ` Daryl Lee
  2002-12-27  7:06   ` Daryl Lee
  1 sibling, 1 reply; 6+ messages in thread
From: Dalibor Topic @ 2002-12-27  4:37 UTC (permalink / raw)
  To: Brian Jones, Daryl Lee; +Cc: Mauve Discuss


--- Brian Jones <cbj@gnu.org> wrote:
> Daryl Lee <dlee@altaregos.com> writes:
> 
> > Having completed the java.io JDK 1.1 tests, I am
> now ready to move on to
> > the 1.2 tests, but I need an efficient means of
> knowing the differences
> > between the two versions of the APIs.  Is there a
> tool I can use that will
> > identify exactly what needs to be tested?
> 
> japicompat/japize can be used for this purpose. 
> Take the 1.1 and 1.2
> files from the japize website and run japicompat to
> compare them.

Or you could use http://javadiff.sourceforge.net/
which is written to specifically go after changes in
API docs. japitools are great to see what has changed
on the binary compatibility side, but jdiff looks like
a great way to see how specified semantics have
changed/been clarified.

best regards,

dalibor topic

__________________________________________________
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: API Differences
  2002-12-27  4:37   ` Dalibor Topic
@ 2002-12-27  5:28     ` Daryl Lee
  0 siblings, 0 replies; 6+ messages in thread
From: Daryl Lee @ 2002-12-27  5:28 UTC (permalink / raw)
  To: Mauve Discuss

That will make a great resource when I'm ready to move from 1.2 to 1.3 and
higher, but right now they don't seem to include the 1.1-1.2 differences.

On Fri, Dec 27, 2002 at 04:37:44AM -0800, Dalibor Topic wrote:
> 
> --- Brian Jones <cbj@gnu.org> wrote:
> > Daryl Lee <dlee@altaregos.com> writes:
> > 
> > > Having completed the java.io JDK 1.1 tests, I am
> > now ready to move on to
> > > the 1.2 tests, but I need an efficient means of
> > knowing the differences
> > > between the two versions of the APIs.  Is there a
> > tool I can use that will
> > > identify exactly what needs to be tested?
> > 
> > japicompat/japize can be used for this purpose. 
> > Take the 1.1 and 1.2
> > files from the japize website and run japicompat to
> > compare them.
> 
> Or you could use http://javadiff.sourceforge.net/
> which is written to specifically go after changes in
> API docs. japitools are great to see what has changed
> on the binary compatibility side, but jdiff looks like
> a great way to see how specified semantics have
> changed/been clarified.
> 
> best regards,
> 
> dalibor topic
> 
> __________________________________________________
> Do you Yahoo!?
> Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
> http://mailplus.yahoo.com
> 

-- 
Daryl Lee
Open the present--it's a gift.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: API Differences
  2002-12-26 17:45 ` Brian Jones
  2002-12-27  4:37   ` Dalibor Topic
@ 2002-12-27  7:06   ` Daryl Lee
  2002-12-27 16:50     ` Brian Jones
  1 sibling, 1 reply; 6+ messages in thread
From: Daryl Lee @ 2002-12-27  7:06 UTC (permalink / raw)
  To: Brian Jones; +Cc: Mauve Discuss

This is VERY helpful.  So helpful, in fact, that the very first two lines
of output (in the java.io section) raise a general question on testing.

In the transition from JDK 1.1 to JDK 1.2, Sun redefined the behavior of
the FileOutputStream(String) constructor.  In 1.1, it threw an IOException;
in 1.2 (and through 1.4), it throws a FileNotFoundException.

Since there is only one implementation of the API, and since it is trying
to be as up to date as possible, a specification change such as this will
inevitably cause a failure of a 1.1 test, where a 1.2 (or later) test will
pass.  The general question is "How to handle such changes?"  Or am I
missing something, like the existence of a classpath archived to the JDK
1.1 spec?

On Thu, Dec 26, 2002 at 08:45:34PM -0500, Brian Jones wrote:
> Daryl Lee <dlee@altaregos.com> writes:
> 
> > Having completed the java.io JDK 1.1 tests, I am now ready to move on to
> > the 1.2 tests, but I need an efficient means of knowing the differences
> > between the two versions of the APIs.  Is there a tool I can use that will
> > identify exactly what needs to be tested?
> 
> japicompat/japize can be used for this purpose.  Take the 1.1 and 1.2
> files from the japize website and run japicompat to compare them.
> 
> > An associated question has more to do with the mauve 'choose' script, which
> > looks more and more like Greek everytime I try to figure out how it works.
> > If I specify JDK1.2 in mauve-classpath, will it cause the selected JDK1.0 and
> > JKD1.1 tests to be run as well as any JDK1.2 tests I create?  (Please say
> > yes!)  A corollary question is, "What is the difference between the 'uses:'
> > declaration in mauve tests and the standard Java 'import' statement?"
> 
> Yes, it will do what you think and select the previous version tests
> as well.  Uses is for the choose script... or other scripts, to know
> that test foo in foo.java also uses bar in bar.java (must be in same
> package currently).  So it would be nice in some cases to avoid code
> duplication of utility methods useful to a particular subset of tests.
> 
> Brian
> -- 
> Brian Jones <cbj@gnu.org>
> 

-- 
Daryl Lee
Open the present--it's a gift.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: API Differences
  2002-12-27  7:06   ` Daryl Lee
@ 2002-12-27 16:50     ` Brian Jones
  0 siblings, 0 replies; 6+ messages in thread
From: Brian Jones @ 2002-12-27 16:50 UTC (permalink / raw)
  To: Daryl Lee; +Cc: Mauve Discuss

Daryl Lee <dlee@altaregos.com> writes:

> This is VERY helpful.  So helpful, in fact, that the very first two lines
> of output (in the java.io section) raise a general question on testing.
> 
> In the transition from JDK 1.1 to JDK 1.2, Sun redefined the behavior of
> the FileOutputStream(String) constructor.  In 1.1, it threw an IOException;
> in 1.2 (and through 1.4), it throws a FileNotFoundException.
> 
> Since there is only one implementation of the API, and since it is trying
> to be as up to date as possible, a specification change such as this will
> inevitably cause a failure of a 1.1 test, where a 1.2 (or later) test will
> pass.  The general question is "How to handle such changes?"  Or am I
> missing something, like the existence of a classpath archived to the JDK
> 1.1 spec?

This is similar to deprecation, where a method eventually disappears
from the API altogether.  I don't think it's handled in the current
setup but I may be wrong.

My guess is that the 1.1 test for that method must be separated into a
single file and some flag must be invented or convention taken that
lets one specify versions of the JDK the test is okay for and the
choose script modified to deal with it.

Brian
-- 
Brian Jones <cbj@gnu.org>

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2002-12-28  0:50 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-12-26 12:29 API Differences Daryl Lee
2002-12-26 17:45 ` Brian Jones
2002-12-27  4:37   ` Dalibor Topic
2002-12-27  5:28     ` Daryl Lee
2002-12-27  7:06   ` Daryl Lee
2002-12-27 16:50     ` Brian Jones

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).