I was a little bit too fast with saying that everything works without
installing nunit assemblies into 2.0 install dir. The symlinks from
/install_path/lib/mono/2.0/nunit.core.dll -> /GAC are missing (it
worked for me, because I had some old ones from previous
installation).
So it seems only my original patch actuall works, but as Sebastien
pointed out it is not perfect - overwriting dll from one profile with
other dlls during install is not a good idea, even though the result
is satisfactionary...

I don't know what might be the solution for this... My last patch
allows using nunit-console2 out of the box (that is without MONO_PATH
hack), but requires referencing /path/lib/mono/1.0/nunit.core.dll
explicitly when compiling testcases.

2005/9/9, Kamil Skalski <[EMAIL PROTECTED]>:
> 2005/9/9, Sebastien Pouliot <[EMAIL PROTECTED]>:
> > Hello,
> >
> > On Thu, 2005-08-09 at 23:22 +0200, Kamil Skalski wrote:
> > > Currently nunit distributed with mono is rather unusable with 2.0
> >
> > there are, at least, 14236 tests saying otherwise
> 
> I said rather unusable, not completely unusable ;-)
> Moreover, it IS completely unusable after make install (see notes below)
> 
> > http://mono.ximian.com/tests/displayTestResults.php?&profile=1&distro=0
> >
> > but I agree it may not be perfect for 2.0 ;-)
> 
> In fact, it runs only because of two special hacks in mono build system
> 1) the MONO_PATH=to_corlib_from_1.1_or_2.0_profile is specified to
> override settings specified in nunit-console.exe.config
> 
> 2) when compiling the testcases, the nunit dlls with 2.0 version are
> referenced from explicitly specified build directory. Unfortunately
> they are not installed, thus it is not possible to compile 2.0
> testcase with what resides in system after make install
> 
> > >
> > > - the nunit dlls from 2.0 are now installed
> >
> > you mean installed in the GAC ?
> 
> Well, I didn't notice that... yes, they are installed into the gac.
> After some futher testing it seems that this part of patch is not
> necessary. NUnit can handle running 2.0 tests without its 2.0 dlls in
> the path.
> 
> >
> > if so what happens when 2.0 compiled assemblies overwrites the
> > assemblies compiled with 1.1 (same name, version# and public key) ?
> >
> > does the 1.1 (default) profile still works ?
> 
> Yes, it seems that 2.0 assemblies, which overwritten their 1.1
> couterparts did not cause 1.1 profile to stop working. Anyways, I
> guess the shorter patch (attached) is better.
> 
> >
> > > Optionally we could leave the
> > >   <appSettings>
> > >       <!--    Specify the location to be used by .NET for the cache -->
> > >     <add key="shadowfiles.path" value="%temp%\nunit20\ShadowCopyCache" />
> > >   </appSettings>
> > >
> > > section in nunit-console.exe.config and remove any other contents.
> > >
> > > Should I commit?
> >
> > I think the real question is "is it working ?", i.e. have you tested
> > this on the mcs tree and ensure every test target are still working ?
> 
> Yes, it is working (I wouldn't post a question about commit if I
> didn't test it),
> however make check shows some failures, but I think the errors are not
> related - nunit framework works just fine.
> 
> Like this:
> 
> OS Version: Unix 2.6.11.6    Mono Version: 2.0.50215.16
> 
> Tests run: 5909, Failures: 1, Not run: 35, Time: 107,604149 seconds
> 
> 
> Failures:
> 1) MonoTests.System.TimeZoneTest.TestCtors : A03
>         String lengths are both 19.
>         Strings differ at index 12.
> 
>         expected:<"03/31/2002 01:00:00">
>          but was:<"03/31/2002 02:00:00">
>         -----------------------^
> 
> in [0x00054] (at
> /home/nazgul/projects/monosvn/mcs/class/corlib/Test/System/TimeZoneTest.cs:41)
> MonoTests.System.TimeZoneTest:CET (System.TimeZone t1)
> in [0x00028] (at
> /home/nazgul/projects/monosvn/mcs/class/corlib/Test/System/TimeZoneTest.cs:143)
> MonoTests.System.TimeZoneTest:TestCtors ()
> in <0x00000> <unknown method>
> in (wrapper managed-to-native)
> System.Reflection.MonoMethod:InternalInvoke (object,object[])
> in [0x00044] (at
> /home/nazgul/projects/monosvn/mcs/class/corlib/System.Reflection/MonoMethod.cs:127)
> System.Reflection.MonoMethod:Invoke (System.Object obj, BindingFlags
> invokeAttr, System.Reflection.Binder binder, System.Object[]
> parameters, System.Globalization.CultureInfo culture)
> 
> 
> --
> Kamil Skalski
> http://nazgul.omega.pl
> 
> 
> 


-- 
Kamil Skalski
http://nazgul.omega.pl
Index: mono/scripts/Makefile.am
===================================================================
--- mono/scripts/Makefile.am	(wersja 49806)
+++ mono/scripts/Makefile.am	(kopia robocza)
@@ -35,7 +35,8 @@
 
 scripts_2_0 = \
 	monop2 			\
-	wsdl2
+	wsdl2			\
+	nunit-console2
 
 scripts_rpmhelpers = mono-find-provides mono-find-requires
 
Index: mcs/nunit20/nunit-console/nunit-console.exe.config
===================================================================
--- mcs/nunit20/nunit-console/nunit-console.exe.config	(wersja 49806)
+++ mcs/nunit20/nunit-console/nunit-console.exe.config	(kopia robocza)
@@ -1,92 +0,0 @@
-<?xml version="1.0" encoding="Windows-1252"?>
-<configuration>
-    <!--
-     Application settings for NUnit-console.exe. Do NOT put settings
-	 for use by your tests here.
-	-->
-  <appSettings>
-
-	<!--	Specify the location to be used by .NET for the cache -->
-    <add key="shadowfiles.path" value="%temp%\nunit20\ShadowCopyCache" />
-  
-  </appSettings>
-  
-    <!-- 
-     These statements specify the runtime versions supported
-     in the order that they will be used if more than one
-     is present. You can change the order of these if you like
-     or remove any that do not apply.
-	 
-	 Since .NET 1.0 does not recognize the <supportedRuntime> elements,
-	 a <requiredRuntime> element is used in case it is the only version
-	 of the framework that is installed.
-    -->
-  <startup>
-
-	  <supportedRuntime version="v1.1.4322" />
-	  <supportedRuntime version="v2.0.50215" />
-	  <supportedRuntime version="v1.0.3705" />
-	
-	  <requiredRuntime version="v1.0.3705" />
-
-  </startup>
-
-   <!--
-    The following <runtime> section allows running nunit under 
-    .NET 1.0 by redirecting assemblies. The appliesTo attribute
-    causes the section to be ignored except under .NET 1.0version 1
-    on a machine with only the .NET version 1.0 runtime installed.
-    If application and its tests were built for .NET 1.1 you will
-    also need to redirect system assemblies in the test config file.
-   -->
-  
- <runtime>
-    
-    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"
-			appliesTo="v1.0.3705">
-
-      <dependentAssembly> 
-        <assemblyIdentity name="System" 
-                          publicKeyToken="b77a5c561934e089" 
-                          culture=""/>
-        <bindingRedirect  oldVersion="1.0.5000.0" 
-                          newVersion="1.0.3300.0"/>
-      </dependentAssembly>
-
-      <dependentAssembly> 
-        <assemblyIdentity name="System.Data" 
-                          publicKeyToken="b77a5c561934e089" 
-                          culture=""/>
-        <bindingRedirect  oldVersion="1.0.5000.0" 
-                          newVersion="1.0.3300.0"/>
-      </dependentAssembly>
-
-      <dependentAssembly> 
-        <assemblyIdentity name="System.Drawing" 
-                          publicKeyToken="b03f5f7f11d50a3a" 
-                          culture=""/>
-        <bindingRedirect  oldVersion="1.0.5000.0" 
-                          newVersion="1.0.3300.0"/>
-      </dependentAssembly>
-
-      <dependentAssembly> 
-        <assemblyIdentity name="System.Windows.Forms" 
-                          publicKeyToken="b77a5c561934e089" 
-                          culture=""/>
-        <bindingRedirect  oldVersion="1.0.5000.0" 
-                          newVersion="1.0.3300.0"/>
-      </dependentAssembly>
-
-      <dependentAssembly> 
-        <assemblyIdentity name="System.Xml" 
-                          publicKeyToken="b77a5c561934e089" 
-                          culture=""/>
-        <bindingRedirect  oldVersion="1.0.5000.0" 
-                          newVersion="1.0.3300.0"/>
-      </dependentAssembly>
-
-    </assemblyBinding>
-
-  </runtime>
-  
-</configuration>
\ No newline at end of file
_______________________________________________
Mono-devel-list mailing list
Mono-devel-list@lists.ximian.com
http://lists.ximian.com/mailman/listinfo/mono-devel-list

Reply via email to