[Mono-list] SPAM-LOW: Re: NUnit Version - Upgrade soon?

Charlie Poole charlie at nunit.com
Mon Dec 1 22:53:49 EST 2008


Hi Miguel, 

> > 1. NUnit is used as both a build tool for Mono itself and 
> as an tool 
> > for developers creating applications under Mono. Up to now, 
> I think we 
> > have failed to treat these two uses as distinct problems, possibly 
> > calling for distinct solutions.
> 
> Well, in the meantime it seems like Atsushi has upgraded 
> NUnit to 2.4 on the tree, so this will improve things 
> slightly, but I agree that they need to be treated as 
> separate problems.
> 
> For instance, the new code will debut in Mono 2.4, but users 
> of Mono 2.0 should be able to get NUnit packaged for 2.0 today.  

Not to mention my own desire to see folks try the 2.5 beta...
at least once I resolve some problems I'm having on Mono.

> > 2. The NUnit team doesn't provide a decent install for 
> NUnit on Linux.
> 
> I think there are two parts to this:
> 
> 	* You must provide an easy-to-build setup for Unix systems,
> 	  this should probably be makefile based, and it is not
> 	  very hard.   It might even be there.

Yes. That's a target for the next beta of NUnit 2.5. What I 
plan is to create such a build for one of my simpler open source
programs - nunit-summary probably - as a way to ramp up on this.
Then I'll target 2.5. Finally, I'll backport the build to 2.4,
probably releasing a few bug fixes at the same time.

> 	* You should write build instructions that can be used
> 	  to automate builds for multiple distributions.
>
> The first case will allow people to get sources from your site and
> install it on their own.   The second one will be used to provide
> out-of-the-box packages for the latest NUnit version across 
> multiple Linux distributions.
> 
> You can use the OpenSUSE build service which has support for 
> pretty much every Red Hat, Debian, Ubuntu and SUSE 
> distribution to make packages for you.

I posted asking this a week or so ago: what ever happened with
the guy who was creating a package for NUnit on that service?
I met him in Madrid last year, but I never heard what happened.

> So when you release a new version of the code, you would 
> update/tweak the build instructions and let the build system 
> package it for multiple systems for you.

Yes, I do want to have packages for the latest versions as 
they come out. I think a makefile-based install has to come
first though.

What do you think about "pure" makefile-based setups versus
makefile+NAnt? It seems like the latter would be a plus for
building on Windows as well as Linux.
 
>  
> > 3. The expectations of developers about how multiple versions of
> >     NUnit should co-exist on Linux and Windows are somewhat
> >     different. In Windows, it's all xcopy deployment without use
> >     of the GAC. In Linux, Mono apps seem to be placed in the
> >     GAC quite freely - my observation, anyway - and placed
> >     there in a way that makes side-by-side installation difficult.
> >     [I don't think the last is a technical issue, but rather one
> >     of different communities expecting different things to work.]
> 
> I do not think that applications go into the GAC.
> 
> I assume that NUnit goes into the GAC?   

Nope, not presently.

> The GAC would allow for
> side-by-side installation, if you want to provide different 
> "developer"
> experiences for each version, all you have to do is:
> 
> 	* Pass a version to gacutil using the /package flag, for
> 	  example:
> 
> 		gacutil /package nunit-2.4 NUnit.dll
> 
> 	  This will put a new compiler directory
> 	  in mono/lib/nunit-2.4 and put symlinks in there to
> 	  the gac.
> 
> 	* Provide a pkg-config file for each version, so that 
> 	  you can do:
> 
> 		mcs -pkg:nunit-2.4 file.cs

Yes, pkg-config is something I need to learn about.

To be clear, most parts of NUNit currently don't need to 
be in the GAC. Only one little piece of it (nunit.framework)
is referenced by users in writing tests and that might
benefit from being in the GAC.

However, the *next* version of NUnit will contain a test-
execution engine that is intended to be used by multiple
apps - not just those in the nunit-2.5 directory. It does
seem as if such an engine should be in the GAC, so that
apps depending on it can find it. Does that make sense?

Thanks for your comments. As I mentioned in an earlier
note, I'll be switching to a Linux box as my primary
development machine over the next few weeks. I think
this will lead to correcting some of the problems,
hopefully without causing trouble for Windows users. :-)

Charlie

> Miguel
> 
> >         From: mono-list-bounces at lists.ximian.com
> >         [mailto:mono-list-bounces at lists.ximian.com] On Behalf Of
> >         Miguel De Icaza
> >         Sent: Tuesday, November 25, 2008 10:12 AM
> >         To: Michael Franz
> >         Cc: mono-list at lists.ximian.com
> >         Subject: SPAM-LOW: Re: [Mono-list] NUnit Version - Upgrade
> >         soon?
> >         
> >         
> >         
> >         Hello, 
> >         > Is it ok to submit patches to mono that depend on 
> the latest
> >         > version of NUnit?
> >         
> >         
> >         As long as the resulting code *builds* you can.  
> >         
> >         
> >         So I think this means "no".
> >         
> >         
> >         Miguel.
> >         
> >         > 
> >         > Michael
> >         > 
> >         > On Tue, Nov 18, 2008 at 3:25 PM, Miguel de Icaza
> >         > <miguel at novell.com> wrote:
> >         >         Hello,
> >         >         
> >         >         > What changes to NUnit were specific to Mono?
> >         >         >
> >         >         > Is there a list of these features?
> >         >         
> >         >         
> >         >         You are confused;   There are no changes, 
> you should
> >         >         just not depend on
> >         >         Mono's built-in and private copy of NUnit to write
> >         >         your NUnit test
> >         >         cases.
> >         >         
> >         >         You should get the latest NUnit.
> >         >         
> >         >         
> >         >         > On Sun, Nov 16, 2008 at 10:54 PM, 
> Miguel de Icaza
> >         >         <miguel at novell.com>
> >         >         > wrote:
> >         >         >         Hello,
> >         >         >
> >         >         >
> >         >         >         > I use NUnit for work and have 
> been using
> >         >         the latest version
> >         >         >         for
> >         >         >         > months.  I wrote some test 
> for Mono and
> >         >         found out that the
> >         >         >         version
> >         >         >         > that Mono is using does not 
> support some
> >         >         of the asserts I am
> >         >         >         using
> >         >         >         > (IsEmpty).  Is there any plan 
> to upgrade
> >         >         the version of
> >         >         >         NUnit that is
> >         >         >         > used with the Mono build/test?
> >         >         >
> >         >         >
> >         >         >         The NUnit that ships with Mono should be
> >         >         considered Mono's own
> >         >         >         copy of
> >         >         >         NUnit and not a public version of it.
> >         >         >
> >         >         >         We should probably make packages of the
> >         >         latest version of
> >         >         >         NUnit,
> >         >         >         encourage the NUnit developer 
> to maintain
> >         >         those and encourage
> >         >         >         developers
> >         >         >         to use the public NUnit as 
> opposed to the
> >         >         private copy that
> >         >         >         Mono ships.
> >         >         >
> >         >         >
> >         >         
> >         >         
> >         >
> >         
> >         
> 
> 





More information about the Mono-list mailing list