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