> 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

Reply via email to