RE: [nant-dev] Unit test faliures

2003-06-26 Thread John Barstow
 After some investigation, it looks like the unit tests are failing ONLY
 when run by the NAnt build file.  Running the tests with nunit-console
 or nunit-gui results in the unit tests passing.
 To reproduce, do a clean checkout of the source, change to the newly
 created nant directory, and run bin\NAnt.exe. I'll do some more
 hacking on this over the weekend.
It appears to be related to the whole multiple framework issue.
Specifically, I don't have 1.0 installed on my debugging machine, so the
newly compiled nant.exe was unable to run anything.  Since I was compiling
with 1.1, this behavior is not really compliant with the side-by-side
behavior dictated by MS.  Odd that only the DotNet tests failed, though.

There are four potential scenarios under Windows.
 1) Only 1.0 installed.  I cannot currently test this; may have something
set up next week.
 2) 1.0 and 1.1 side-by-side.  I can snag a machine for this.
 3) Only 1.1 installed.  Our current default situation where I work.
 4) Mono for Windows installed.  I may be able to test this over the
weekend; no promises.

Thanks to side-by-side architecture, we're looking at the following
interactions.
  a) Scenario 1, testing an assembly built using 1.1.  This should work if
the supportedRuntime is configured for the target assembly.
  b) Scenario 1, testing an assembly built using 1.0.  Should be no problem
at all.
  c) Scenario 1, testing an assembly built using Mono.  Don't know what to
expect.

  d) Scenario 3, testing an assembly built using 1.1.  Should be no problem
at all.
  e) Scenario 3, testing an assembly built using 1.0.  This should work
unless assembly specifically binds only to 1.0 framework.
  f) Scenario 3, testing an assembly built using Mono.  Don't know what to
expect.

  g) Scenario 2, testing an assembly built using 1.1.  Should be no problem
at all.
  h) Scenario 2, testing an assembly built using 1.0.  Should be no problem
at all.
  i) Scenario 2, testing an assembly built using Mono.  Don't know what to
expect.
For g-i, behavior depends on supportedRuntime configuration for target
assembly.

  j) Scenario 4, testing an assembly built using 1.1.  Should be no problem
at all, except for Mono bugs.
  k) Scenario 4, testing an assembly built using 1.0.  Should be no problem
at all, except for Mono bugs.
  l) Scenario 4, testing an assembly built using Mono.  Should be no problem
at all.

Currently, there are issues with (d), (e), (g), and (h).  This is because
the default framework does not necessarily match what is installed on the
machine, and because there are at least two versions of nant.exe that may be
configured differently.  Specifically, the bootstrap bin\nant.exe and the
output nant.exe that is used for self-tests. I also don't know if (a) is
tested.

After reading through the MS notes, here's what I *think* should be
happening.  I'm still trying to locate the documentation for the nant config
file so I understand all the issues.
 - We should default to the 1.1 framework if installed.
 - If not installed, we should default to the 1.0 framework.
 - We need to swap the order of the supportedRuntime tags so that the 1.1
framework is listed first.
 - If possible, we should examine the supportedRuntime of the target
assembly.

I think that having cases a,b,d,e,g,h working out of the box is a
prerequisite for release. It'll take some testing, of course, but is
necessary. (d) and(e) are especially key as service packs start forcing
upgrades.

Remember, if the target is compiled with the 1.1 framework it will run on
1.0 with the right config file.
Finally, I would think it reasonable to require 1.1 to compile NAnt(the SDK
is free, remember) as long as the resulting binary runs correctly under 1.0.

I will be testing as many of these configurations over the weekend as
possible.  Worst case scenario I can fall back to testing and releasing only
for scenarios (a) and (b).

John C Barstow


---
This SF.Net email is sponsored by: INetU
Attention Web Developers  Consultants: Become An INetU Hosting Partner.
Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission!
INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php
___
nant-developers mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-developers


Re: [nant-dev] Unit test faliures

2003-06-26 Thread Ian MacLean
John Barstow wrote:

After reading through the MS notes, here's what I *think* should be
happening.  I'm still trying to locate the documentation for the nant config
file so I understand all the issues.
- We should default to the 1.1 framework if installed.
- If not installed, we should default to the 1.0 framework.
- We need to swap the order of the supportedRuntime tags so that the 1.1
framework is listed first.
- If possible, we should examine the supportedRuntime of the target
assembly.
We should default to the 1.1 framework if its installed however its not 
the supportedRuntime tag thats causing the tests to fail.
The defaultframework attribute in nant.config is set to 1.0 in cvs. You 
need to change to to 1.1 to make the tests pass. Up till now we've been 
relying on the end user to change this setting. Probably a better idea 
is to iterate over the list of frameworks in nantsettings and choose 
the first available one and then write that back to the defaultframework 
attribute.

Ian



---
This SF.Net email is sponsored by: INetU
Attention Web Developers  Consultants: Become An INetU Hosting Partner.
Refer Dedicated Servers. We Manage Them. You Get 10% Monthly Commission!
INetU Dedicated Managed Hosting http://www.inetu.net/partner/index.php
___
nant-developers mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-developers